From 6ec384f00d738bb82319e234758e158c126dfb18 Mon Sep 17 00:00:00 2001 From: lesniak43 Date: Tue, 8 Nov 2022 09:53:07 +0100 Subject: [PATCH 001/212] A0-1472 Validator Network log addresses (#701) --- finality-aleph/src/tcp_network.rs | 29 +++++++- .../src/testing/mocks/validator_network.rs | 67 ++++++++++++++----- .../src/validator_network/incoming.rs | 3 +- finality-aleph/src/validator_network/mock.rs | 17 ++++- finality-aleph/src/validator_network/mod.rs | 14 +++- .../src/validator_network/outgoing.rs | 48 ++++++------- .../src/validator_network/service.rs | 6 +- 7 files changed, 136 insertions(+), 48 deletions(-) diff --git a/finality-aleph/src/tcp_network.rs b/finality-aleph/src/tcp_network.rs index d04bd4da6d..dd2ee8ef5b 100644 --- a/finality-aleph/src/tcp_network.rs +++ b/finality-aleph/src/tcp_network.rs @@ -10,9 +10,36 @@ use tokio::net::{ use crate::{ network::{Multiaddress, NetworkIdentity, PeerId}, - validator_network::{Dialer, Listener, Splittable}, + validator_network::{ConnectionInfo, Dialer, Listener, Splittable}, }; +impl ConnectionInfo for TcpStream { + fn peer_address_info(&self) -> String { + match self.peer_addr() { + Ok(addr) => addr.to_string(), + Err(e) => format!("unknown address: {}", e), + } + } +} + +impl ConnectionInfo for OwnedWriteHalf { + fn peer_address_info(&self) -> String { + match self.peer_addr() { + Ok(addr) => addr.to_string(), + Err(e) => e.to_string(), + } + } +} + +impl ConnectionInfo for OwnedReadHalf { + fn peer_address_info(&self) -> String { + match self.peer_addr() { + Ok(addr) => addr.to_string(), + Err(e) => e.to_string(), + } + } +} + impl Splittable for TcpStream { type Sender = OwnedWriteHalf; type Receiver = OwnedReadHalf; diff --git a/finality-aleph/src/testing/mocks/validator_network.rs b/finality-aleph/src/testing/mocks/validator_network.rs index 17bc72cbd0..de78b23ec5 100644 --- a/finality-aleph/src/testing/mocks/validator_network.rs +++ b/finality-aleph/src/testing/mocks/validator_network.rs @@ -26,7 +26,8 @@ use crate::{ crypto::AuthorityPen, network::{mock::Channel, Data, Multiaddress, NetworkIdentity}, validator_network::{ - mock::random_keys, Dialer as DialerT, Listener as ListenerT, Network, Service, Splittable, + mock::random_keys, ConnectionInfo, Dialer as DialerT, Listener as ListenerT, Network, + PeerAddressInfo, Service, Splittable, }, }; @@ -119,6 +120,7 @@ impl MockNetwork { pub struct UnreliableDuplexStream { stream: DuplexStream, counter: Option, + peer_address: Address, } impl AsyncWrite for UnreliableDuplexStream { @@ -160,33 +162,45 @@ impl AsyncRead for UnreliableDuplexStream { pub struct UnreliableSplittable { incoming_data: UnreliableDuplexStream, outgoing_data: UnreliableDuplexStream, + peer_address: Address, } impl UnreliableSplittable { /// Create a pair of mock splittables connected to each other. - pub fn new(max_buf_size: usize, ends_after: Option) -> (Self, Self) { - let (in_a, out_b) = duplex(max_buf_size); - let (in_b, out_a) = duplex(max_buf_size); + pub fn new( + max_buf_size: usize, + ends_after: Option, + l_address: Address, + r_address: Address, + ) -> (Self, Self) { + let (l_in, r_out) = duplex(max_buf_size); + let (r_in, l_out) = duplex(max_buf_size); ( UnreliableSplittable { incoming_data: UnreliableDuplexStream { - stream: in_a, + stream: l_in, counter: ends_after, + peer_address: r_address, }, outgoing_data: UnreliableDuplexStream { - stream: out_a, + stream: l_out, counter: ends_after, + peer_address: r_address, }, + peer_address: r_address, }, UnreliableSplittable { incoming_data: UnreliableDuplexStream { - stream: in_b, + stream: r_in, counter: ends_after, + peer_address: l_address, }, outgoing_data: UnreliableDuplexStream { - stream: out_b, + stream: r_out, counter: ends_after, + peer_address: l_address, }, + peer_address: l_address, }, ) } @@ -216,6 +230,18 @@ impl AsyncWrite for UnreliableSplittable { } } +impl ConnectionInfo for UnreliableSplittable { + fn peer_address_info(&self) -> PeerAddressInfo { + self.peer_address.to_string() + } +} + +impl ConnectionInfo for UnreliableDuplexStream { + fn peer_address_info(&self) -> PeerAddressInfo { + self.peer_address.to_string() + } +} + impl Splittable for UnreliableSplittable { type Sender = UnreliableDuplexStream; type Receiver = UnreliableDuplexStream; @@ -234,7 +260,9 @@ const TWICE_MAX_DATA_SIZE: usize = 32 * 1024 * 1024; #[derive(Clone)] pub struct MockDialer { - channel_connect: mpsc::UnboundedSender<(Address, oneshot::Sender)>, + // used for logging + own_address: Address, + channel_connect: mpsc::UnboundedSender<(Address, Address, oneshot::Sender)>, } #[async_trait::async_trait] @@ -245,7 +273,7 @@ impl DialerT
for MockDialer { async fn connect(&mut self, addresses: Vec
) -> Result { let (tx, rx) = oneshot::channel(); self.channel_connect - .unbounded_send((addresses[0], tx)) + .unbounded_send((self.own_address, addresses[0], tx)) .expect("should send"); Ok(rx.await.expect("should receive")) } @@ -266,7 +294,7 @@ impl ListenerT for MockListener { } pub struct UnreliableConnectionMaker { - dialers: mpsc::UnboundedReceiver<(Address, oneshot::Sender)>, + dialers: mpsc::UnboundedReceiver<(Address, Address, oneshot::Sender)>, listeners: Vec>, } @@ -288,6 +316,7 @@ impl UnreliableConnectionMaker { for id in ids.into_iter() { let (tx_listener, rx_listener) = mpsc::unbounded(); let dialer = MockDialer { + own_address: addr.get(&id).expect("should be there")[0], channel_connect: tx_dialer.clone(), }; let listener = MockListener { @@ -306,13 +335,19 @@ impl UnreliableConnectionMaker { pub async fn run(&mut self, connections_end_after: Option) { loop { info!(target: "validator-network", "UnreliableConnectionMaker: waiting for new request..."); - let (addr, c) = self.dialers.next().await.expect("should receive"); + let (dialer_address, listener_address, c) = + self.dialers.next().await.expect("should receive"); info!(target: "validator-network", "UnreliableConnectionMaker: received request"); - let (l_stream, r_stream) = Connection::new(4096, connections_end_after); + let (dialer_stream, listener_stream) = Connection::new( + 4096, + connections_end_after, + dialer_address, + listener_address, + ); info!(target: "validator-network", "UnreliableConnectionMaker: sending stream"); - c.send(l_stream).expect("should send"); - self.listeners[addr as usize] - .unbounded_send(r_stream) + c.send(dialer_stream).expect("should send"); + self.listeners[listener_address as usize] + .unbounded_send(listener_stream) .expect("should send"); } } diff --git a/finality-aleph/src/validator_network/incoming.rs b/finality-aleph/src/validator_network/incoming.rs index 2200c41b8b..b45bd7135a 100644 --- a/finality-aleph/src/validator_network/incoming.rs +++ b/finality-aleph/src/validator_network/incoming.rs @@ -65,7 +65,8 @@ pub async fn incoming( result_for_parent: mpsc::UnboundedSender<(AuthorityId, oneshot::Sender<()>)>, data_for_user: mpsc::UnboundedSender, ) { + let addr = stream.peer_address_info(); if let Err(e) = manage_incoming(authority_pen, stream, result_for_parent, data_for_user).await { - info!(target: "validator-network", "Incoming connection failed: {}", e); + info!(target: "validator-network", "Incoming connection from {} failed: {}.", addr, e); } } diff --git a/finality-aleph/src/validator_network/mock.rs b/finality-aleph/src/validator_network/mock.rs index 81b1269e24..383a365501 100644 --- a/finality-aleph/src/validator_network/mock.rs +++ b/finality-aleph/src/validator_network/mock.rs @@ -11,7 +11,10 @@ use aleph_primitives::{AuthorityId, KEY_TYPE}; use sp_keystore::{testing::KeyStore, CryptoStore}; use tokio::io::{duplex, AsyncRead, AsyncWrite, DuplexStream, ReadBuf}; -use crate::{crypto::AuthorityPen, validator_network::Splittable}; +use crate::{ + crypto::AuthorityPen, + validator_network::{ConnectionInfo, PeerAddressInfo, Splittable}, +}; /// Create a random authority id and pen pair. pub async fn key() -> (AuthorityId, AuthorityPen) { @@ -86,6 +89,18 @@ impl AsyncWrite for MockSplittable { } } +impl ConnectionInfo for MockSplittable { + fn peer_address_info(&self) -> PeerAddressInfo { + String::from("MOCK_ADDRESS") + } +} + +impl ConnectionInfo for DuplexStream { + fn peer_address_info(&self) -> PeerAddressInfo { + String::from("MOCK_ADDRESS") + } +} + impl Splittable for MockSplittable { type Sender = DuplexStream; type Receiver = DuplexStream; diff --git a/finality-aleph/src/validator_network/mod.rs b/finality-aleph/src/validator_network/mod.rs index a797b7e44a..1afa9a8d56 100644 --- a/finality-aleph/src/validator_network/mod.rs +++ b/finality-aleph/src/validator_network/mod.rs @@ -49,10 +49,18 @@ pub trait Network: Send + 'static { async fn next(&mut self) -> Option; } +pub type PeerAddressInfo = String; + +/// Reports address of the peer that we are connected to. +pub trait ConnectionInfo { + /// Return the address of the peer that we are connected to. + fn peer_address_info(&self) -> PeerAddressInfo; +} + /// A stream that can be split into a sending and receiving part. -pub trait Splittable: AsyncWrite + AsyncRead + Unpin + Send { - type Sender: AsyncWrite + Unpin + Send; - type Receiver: AsyncRead + Unpin + Send; +pub trait Splittable: AsyncWrite + AsyncRead + ConnectionInfo + Unpin + Send { + type Sender: AsyncWrite + ConnectionInfo + Unpin + Send; + type Receiver: AsyncRead + ConnectionInfo + Unpin + Send; /// Split into the sending and receiving part. fn split(self) -> (Self::Sender, Self::Receiver); diff --git a/finality-aleph/src/validator_network/outgoing.rs b/finality-aleph/src/validator_network/outgoing.rs index 36115181ab..344155b4b0 100644 --- a/finality-aleph/src/validator_network/outgoing.rs +++ b/finality-aleph/src/validator_network/outgoing.rs @@ -1,4 +1,4 @@ -use std::fmt::{Display, Error as FmtError, Formatter}; +use std::fmt::{Debug, Display, Error as FmtError, Formatter}; use aleph_primitives::AuthorityId; use futures::channel::mpsc; @@ -10,14 +10,14 @@ use crate::{ validator_network::{ protocol_negotiation::{protocol, ProtocolNegotiationError}, protocols::ProtocolError, - Data, Dialer, + ConnectionInfo, Data, Dialer, PeerAddressInfo, }, }; enum OutgoingError> { Dial(ND::Error), - ProtocolNegotiation(ProtocolNegotiationError), - Protocol(ProtocolError), + ProtocolNegotiation(PeerAddressInfo, ProtocolNegotiationError), + Protocol(PeerAddressInfo, ProtocolError), } impl> Display for OutgoingError { @@ -25,24 +25,20 @@ impl> Display for OutgoingError { use OutgoingError::*; match self { Dial(e) => write!(f, "dial error: {}", e), - ProtocolNegotiation(e) => write!(f, "protocol negotiation error: {}", e), - Protocol(e) => write!(f, "protocol error: {}", e), + ProtocolNegotiation(addr, e) => write!( + f, + "communication with {} failed, protocol negotiation error: {}", + addr, e + ), + Protocol(addr, e) => write!( + f, + "communication with {} failed, protocol error: {}", + addr, e + ), } } } -impl> From for OutgoingError { - fn from(e: ProtocolNegotiationError) -> Self { - OutgoingError::ProtocolNegotiation(e) - } -} - -impl> From for OutgoingError { - fn from(e: ProtocolError) -> Self { - OutgoingError::Protocol(e) - } -} - async fn manage_outgoing>( authority_pen: AuthorityPen, peer_id: AuthorityId, @@ -55,12 +51,16 @@ async fn manage_outgoing>( .connect(addresses) .await .map_err(OutgoingError::Dial)?; + let peer_address_info = stream.peer_address_info(); debug!(target: "validator-network", "Performing outgoing protocol negotiation."); - let (stream, protocol) = protocol(stream).await?; + let (stream, protocol) = protocol(stream) + .await + .map_err(|e| OutgoingError::ProtocolNegotiation(peer_address_info.clone(), e))?; debug!(target: "validator-network", "Negotiated protocol, running."); - Ok(protocol + protocol .manage_outgoing(stream, authority_pen, peer_id, result_for_parent) - .await?) + .await + .map_err(|e| OutgoingError::Protocol(peer_address_info.clone(), e)) } const RETRY_DELAY: Duration = Duration::from_secs(10); @@ -68,7 +68,7 @@ const RETRY_DELAY: Duration = Duration::from_secs(10); /// Establish an outgoing connection to the provided peer using the dialer and then manage it. /// While this works it will send any data from the user to the peer. Any failures will be reported /// to the parent, so that connections can be reestablished if necessary. -pub async fn outgoing>( +pub async fn outgoing>( authority_pen: AuthorityPen, peer_id: AuthorityId, dialer: ND, @@ -79,12 +79,12 @@ pub async fn outgoing>( authority_pen, peer_id.clone(), dialer, - addresses, + addresses.clone(), result_for_parent.clone(), ) .await { - info!(target: "validator-network", "Outgoing connection to {} failed: {}, will retry after {}s.", peer_id, e, RETRY_DELAY.as_secs()); + info!(target: "validator-network", "Outgoing connection to {} {:?} failed: {}, will retry after {}s.", peer_id, addresses, e, RETRY_DELAY.as_secs()); sleep(RETRY_DELAY).await; if result_for_parent.unbounded_send((peer_id, None)).is_err() { debug!(target: "validator-network", "Could not send the closing message, we've probably been terminated by the parent service."); diff --git a/finality-aleph/src/validator_network/service.rs b/finality-aleph/src/validator_network/service.rs index ead09e5256..298d8d8158 100644 --- a/finality-aleph/src/validator_network/service.rs +++ b/finality-aleph/src/validator_network/service.rs @@ -1,3 +1,5 @@ +use std::fmt::Debug; + use aleph_primitives::AuthorityId; use futures::{ channel::{mpsc, oneshot}, @@ -71,7 +73,7 @@ impl Network for ServiceInterface { } /// A service that has to be run for the validator network to work. -pub struct Service, NL: Listener> { +pub struct Service, NL: Listener> { commands_from_interface: mpsc::UnboundedReceiver>, next_to_interface: mpsc::UnboundedSender, manager: Manager, @@ -81,7 +83,7 @@ pub struct Service, NL: Listener> { authority_pen: AuthorityPen, } -impl, NL: Listener> Service { +impl, NL: Listener> Service { /// Create a new validator network service plus an interface for interacting with it. pub fn new( dialer: ND, From 94039f2083e842034053dc33e9b420b1ecf10be5 Mon Sep 17 00:00:00 2001 From: timorl Date: Tue, 8 Nov 2022 12:30:17 +0100 Subject: [PATCH 002/212] A0-1455: Refactor for incoming protocol upgrade (#711) * Refactor for incoming protocol upgrade * The type should be what is sent, not the sending mechanism --- .../src/validator_network/incoming.rs | 10 +- .../{manager.rs => manager/mod.rs} | 69 ++++---- finality-aleph/src/validator_network/mod.rs | 3 - .../src/validator_network/outgoing.rs | 25 ++- .../{ => protocols}/handshake.rs | 0 .../src/validator_network/protocols/mod.rs | 143 ++++++++++++++++ .../negotiation.rs} | 28 ++- .../{ => protocols/v0}/heartbeat.rs | 0 .../{protocols.rs => protocols/v0/mod.rs} | 161 +++++------------- .../src/validator_network/service.rs | 21 ++- 10 files changed, 273 insertions(+), 187 deletions(-) rename finality-aleph/src/validator_network/{manager.rs => manager/mod.rs} (93%) rename finality-aleph/src/validator_network/{ => protocols}/handshake.rs (100%) create mode 100644 finality-aleph/src/validator_network/protocols/mod.rs rename finality-aleph/src/validator_network/{protocol_negotiation.rs => protocols/negotiation.rs} (91%) rename finality-aleph/src/validator_network/{ => protocols/v0}/heartbeat.rs (100%) rename finality-aleph/src/validator_network/{protocols.rs => protocols/v0/mod.rs} (77%) diff --git a/finality-aleph/src/validator_network/incoming.rs b/finality-aleph/src/validator_network/incoming.rs index b45bd7135a..a8ec06bad4 100644 --- a/finality-aleph/src/validator_network/incoming.rs +++ b/finality-aleph/src/validator_network/incoming.rs @@ -1,14 +1,12 @@ use std::fmt::{Display, Error as FmtError, Formatter}; -use aleph_primitives::AuthorityId; -use futures::channel::{mpsc, oneshot}; +use futures::channel::mpsc; use log::{debug, info}; use crate::{ crypto::AuthorityPen, validator_network::{ - protocol_negotiation::{protocol, ProtocolNegotiationError}, - protocols::ProtocolError, + protocols::{protocol, ProtocolError, ProtocolNegotiationError, ResultForService}, Data, Splittable, }, }; @@ -43,7 +41,7 @@ impl From for IncomingError { async fn manage_incoming( authority_pen: AuthorityPen, stream: S, - result_for_parent: mpsc::UnboundedSender<(AuthorityId, oneshot::Sender<()>)>, + result_for_parent: mpsc::UnboundedSender>, data_for_user: mpsc::UnboundedSender, ) -> Result<(), IncomingError> { debug!(target: "validator-network", "Performing incoming protocol negotiation."); @@ -62,7 +60,7 @@ async fn manage_incoming( pub async fn incoming( authority_pen: AuthorityPen, stream: S, - result_for_parent: mpsc::UnboundedSender<(AuthorityId, oneshot::Sender<()>)>, + result_for_parent: mpsc::UnboundedSender>, data_for_user: mpsc::UnboundedSender, ) { let addr = stream.peer_address_info(); diff --git a/finality-aleph/src/validator_network/manager.rs b/finality-aleph/src/validator_network/manager/mod.rs similarity index 93% rename from finality-aleph/src/validator_network/manager.rs rename to finality-aleph/src/validator_network/manager/mod.rs index c765c33a78..d890cd16c8 100644 --- a/finality-aleph/src/validator_network/manager.rs +++ b/finality-aleph/src/validator_network/manager/mod.rs @@ -4,18 +4,10 @@ use std::{ }; use aleph_primitives::AuthorityId; -use futures::channel::{mpsc, oneshot}; +use futures::channel::mpsc; use crate::{network::PeerId, validator_network::Data}; -/// Network component responsible for holding the list of peers that we -/// want to connect to, and managing the established connections. -pub struct Manager { - addresses: HashMap>, - outgoing: HashMap>, - incoming: HashMap>, -} - /// Error during sending data through the Manager #[derive(Debug, PartialEq, Eq)] pub enum SendError { @@ -35,6 +27,25 @@ impl Display for SendError { } } +/// Possible results of adding connections. +#[derive(Debug, PartialEq, Eq)] +pub enum AddResult { + /// We do not want to maintain a connection with this peer. + Uninterested, + /// Connection added. + Added, + /// Old connection replaced with new one. + Replaced, +} + +/// Network component responsible for holding the list of peers that we +/// want to connect to, and managing the established connections. +pub struct Manager { + addresses: HashMap>, + outgoing: HashMap>, + incoming: HashMap>, +} + struct ManagerStatus { wanted_peers: usize, both_ways_peers: HashSet, @@ -48,7 +59,7 @@ impl ManagerStatus { let incoming: HashSet<_> = manager .incoming .iter() - .filter(|(_, exit)| !exit.is_canceled()) + .filter(|(_, exit)| !exit.is_closed()) .map(|(k, _)| k.clone()) .collect(); let outgoing: HashSet<_> = manager @@ -149,17 +160,6 @@ impl Display for ManagerStatus { } } -/// Possible results of adding connections. -#[derive(Debug, PartialEq, Eq)] -pub enum AddResult { - /// We do not want to maintain a connection with this peer. - Uninterested, - /// Connection added. - Added, - /// Old connection replaced with new one. - Replaced, -} - impl Manager { /// Create a new Manager with empty list of peers. pub fn new() -> Self { @@ -202,7 +202,11 @@ impl Manager { /// Add an established incoming connection with a known peer, /// but only if the peer is on the list of peers that we want to stay connected with. - pub fn add_incoming(&mut self, peer_id: AuthorityId, exit: oneshot::Sender<()>) -> AddResult { + pub fn add_incoming( + &mut self, + peer_id: AuthorityId, + exit: mpsc::UnboundedSender, + ) -> AddResult { use AddResult::*; if !self.addresses.contains_key(&peer_id) { return Uninterested; @@ -240,10 +244,7 @@ impl Manager { #[cfg(test)] mod tests { - use futures::{ - channel::{mpsc, oneshot}, - StreamExt, - }; + use futures::{channel::mpsc, StreamExt}; use super::{AddResult::*, Manager, SendError}; use crate::validator_network::mock::key; @@ -319,27 +320,27 @@ mod tests { String::from("a/b/c"), String::from("43.43.43.43:43000"), ]; - let (tx, rx) = oneshot::channel(); + let (tx, mut rx) = mpsc::unbounded(); // try add unknown peer assert_eq!(manager.add_incoming(peer_id.clone(), tx), Uninterested); // rx should fail - assert!(rx.await.is_err()); + assert!(rx.try_next().expect("channel should be closed").is_none()); // add peer, this time for real assert!(manager.add_peer(peer_id.clone(), addresses.clone())); - let (tx, mut rx) = oneshot::channel(); + let (tx, mut rx) = mpsc::unbounded(); // should just add assert_eq!(manager.add_incoming(peer_id.clone(), tx), Added); // the exit channel should be open - assert!(rx.try_recv().is_ok()); - let (tx, mut rx2) = oneshot::channel(); + assert!(rx.try_next().is_err()); + let (tx, mut rx2) = mpsc::unbounded(); // should replace now assert_eq!(manager.add_incoming(peer_id.clone(), tx), Replaced); // receiving should fail on old, but work on new channel - assert!(rx.try_recv().is_err()); - assert!(rx2.try_recv().is_ok()); + assert!(rx.try_next().expect("channel should be closed").is_none()); + assert!(rx2.try_next().is_err()); // remove peer manager.remove_peer(&peer_id); // receiving should fail - assert!(rx2.try_recv().is_err()); + assert!(rx2.try_next().expect("channel should be closed").is_none()); } } diff --git a/finality-aleph/src/validator_network/mod.rs b/finality-aleph/src/validator_network/mod.rs index 1afa9a8d56..b9f3d2524b 100644 --- a/finality-aleph/src/validator_network/mod.rs +++ b/finality-aleph/src/validator_network/mod.rs @@ -5,15 +5,12 @@ use codec::Codec; use sp_core::crypto::KeyTypeId; use tokio::io::{AsyncRead, AsyncWrite}; -mod handshake; -mod heartbeat; mod incoming; mod io; mod manager; #[cfg(test)] pub mod mock; mod outgoing; -mod protocol_negotiation; mod protocols; mod service; diff --git a/finality-aleph/src/validator_network/outgoing.rs b/finality-aleph/src/validator_network/outgoing.rs index 344155b4b0..37ea94b668 100644 --- a/finality-aleph/src/validator_network/outgoing.rs +++ b/finality-aleph/src/validator_network/outgoing.rs @@ -8,8 +8,9 @@ use tokio::time::{sleep, Duration}; use crate::{ crypto::AuthorityPen, validator_network::{ - protocol_negotiation::{protocol, ProtocolNegotiationError}, - protocols::ProtocolError, + protocols::{ + protocol, ConnectionType, ProtocolError, ProtocolNegotiationError, ResultForService, + }, ConnectionInfo, Data, Dialer, PeerAddressInfo, }, }; @@ -44,7 +45,8 @@ async fn manage_outgoing>( peer_id: AuthorityId, mut dialer: ND, addresses: Vec, - result_for_parent: mpsc::UnboundedSender<(AuthorityId, Option>)>, + result_for_parent: mpsc::UnboundedSender>, + data_for_user: mpsc::UnboundedSender, ) -> Result<(), OutgoingError> { debug!(target: "validator-network", "Trying to connect to {}.", peer_id); let stream = dialer @@ -58,7 +60,13 @@ async fn manage_outgoing>( .map_err(|e| OutgoingError::ProtocolNegotiation(peer_address_info.clone(), e))?; debug!(target: "validator-network", "Negotiated protocol, running."); protocol - .manage_outgoing(stream, authority_pen, peer_id, result_for_parent) + .manage_outgoing( + stream, + authority_pen, + peer_id, + result_for_parent, + data_for_user, + ) .await .map_err(|e| OutgoingError::Protocol(peer_address_info.clone(), e)) } @@ -73,7 +81,8 @@ pub async fn outgoing>( peer_id: AuthorityId, dialer: ND, addresses: Vec, - result_for_parent: mpsc::UnboundedSender<(AuthorityId, Option>)>, + result_for_parent: mpsc::UnboundedSender>, + data_for_user: mpsc::UnboundedSender, ) { if let Err(e) = manage_outgoing( authority_pen, @@ -81,12 +90,16 @@ pub async fn outgoing>( dialer, addresses.clone(), result_for_parent.clone(), + data_for_user, ) .await { info!(target: "validator-network", "Outgoing connection to {} {:?} failed: {}, will retry after {}s.", peer_id, addresses, e, RETRY_DELAY.as_secs()); sleep(RETRY_DELAY).await; - if result_for_parent.unbounded_send((peer_id, None)).is_err() { + if result_for_parent + .unbounded_send((peer_id, None, ConnectionType::LegacyOutgoing)) + .is_err() + { debug!(target: "validator-network", "Could not send the closing message, we've probably been terminated by the parent service."); } } diff --git a/finality-aleph/src/validator_network/handshake.rs b/finality-aleph/src/validator_network/protocols/handshake.rs similarity index 100% rename from finality-aleph/src/validator_network/handshake.rs rename to finality-aleph/src/validator_network/protocols/handshake.rs diff --git a/finality-aleph/src/validator_network/protocols/mod.rs b/finality-aleph/src/validator_network/protocols/mod.rs new file mode 100644 index 0000000000..97f2ad4ed3 --- /dev/null +++ b/finality-aleph/src/validator_network/protocols/mod.rs @@ -0,0 +1,143 @@ +use std::fmt::{Display, Error as FmtError, Formatter}; + +use aleph_primitives::AuthorityId; +use futures::channel::mpsc; + +use crate::{ + crypto::AuthorityPen, + validator_network::{ + io::{ReceiveError, SendError}, + Data, Splittable, + }, +}; + +mod handshake; +mod negotiation; +mod v0; + +use handshake::HandshakeError; +pub use negotiation::{protocol, ProtocolNegotiationError}; + +pub type Version = u32; + +/// The types of connections needed for backwards compatibility with the legacy two connections +/// protocol. Remove after it's no longer needed. +#[derive(PartialEq, Debug, Eq, Clone, Copy)] +pub enum ConnectionType { + LegacyIncoming, + LegacyOutgoing, +} + +/// What connections send back to the service after they become established. Starts with a peer id +/// of the remote node, followed by a channel for sending data to that node, with None if the +/// connection was unsuccessful and should be reestablished. Finally a marker for legacy +/// compatibility. +pub type ResultForService = ( + AuthorityId, + Option>, + ConnectionType, +); + +/// Defines the protocol for communication. +#[derive(Debug, PartialEq, Eq)] +pub enum Protocol { + /// The first version of the protocol, with unidirectional connections. + V0, +} + +/// Protocol error. +#[derive(Debug)] +pub enum ProtocolError { + /// Error during performing a handshake. + HandshakeError(HandshakeError), + /// Sending failed. + SendError(SendError), + /// Receiving failed. + ReceiveError(ReceiveError), + /// Heartbeat stopped. + CardiacArrest, + /// Channel to the parent service closed. + NoParentConnection, + /// Data channel closed. + NoUserConnection, +} + +impl Display for ProtocolError { + fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), FmtError> { + use ProtocolError::*; + match self { + HandshakeError(e) => write!(f, "handshake error: {}", e), + SendError(e) => write!(f, "send error: {}", e), + ReceiveError(e) => write!(f, "receive error: {}", e), + CardiacArrest => write!(f, "heartbeat stopped"), + NoParentConnection => write!(f, "cannot send result to service"), + NoUserConnection => write!(f, "cannot send data to user"), + } + } +} + +impl From for ProtocolError { + fn from(e: HandshakeError) -> Self { + ProtocolError::HandshakeError(e) + } +} + +impl From for ProtocolError { + fn from(e: SendError) -> Self { + ProtocolError::SendError(e) + } +} + +impl From for ProtocolError { + fn from(e: ReceiveError) -> Self { + ProtocolError::ReceiveError(e) + } +} + +impl Protocol { + /// Minimal supported protocol version. + const MIN_VERSION: Version = 0; + + /// Maximal supported protocol version. + const MAX_VERSION: Version = 0; + + /// Launches the proper variant of the protocol (receiver half). + pub async fn manage_incoming( + &self, + stream: S, + authority_pen: AuthorityPen, + result_for_service: mpsc::UnboundedSender>, + data_for_user: mpsc::UnboundedSender, + ) -> Result<(), ProtocolError> { + use Protocol::*; + match self { + V0 => v0::incoming(stream, authority_pen, result_for_service, data_for_user).await, + } + } + + /// Launches the proper variant of the protocol (sender half). + pub async fn manage_outgoing( + &self, + stream: S, + authority_pen: AuthorityPen, + peer_id: AuthorityId, + result_for_service: mpsc::UnboundedSender>, + _data_for_user: mpsc::UnboundedSender, + ) -> Result<(), ProtocolError> { + use Protocol::*; + match self { + V0 => v0::outgoing(stream, authority_pen, peer_id, result_for_service).await, + } + } +} + +impl TryFrom for Protocol { + type Error = Version; + + fn try_from(version: Version) -> Result { + match version { + 0 => Ok(Protocol::V0), + unknown_version => Err(unknown_version), + } + } +} diff --git a/finality-aleph/src/validator_network/protocol_negotiation.rs b/finality-aleph/src/validator_network/protocols/negotiation.rs similarity index 91% rename from finality-aleph/src/validator_network/protocol_negotiation.rs rename to finality-aleph/src/validator_network/protocols/negotiation.rs index 6413dfc63b..aa6ff97f89 100644 --- a/finality-aleph/src/validator_network/protocol_negotiation.rs +++ b/finality-aleph/src/validator_network/protocols/negotiation.rs @@ -8,17 +8,13 @@ use tokio::{ time::{timeout, Duration}, }; -use crate::validator_network::protocols::Protocol; +use crate::validator_network::protocols::{Protocol, Version}; -pub type ProtocolVersion = u32; - -const MIN_SUPPORTED_PROTOCOL: ProtocolVersion = 0; -const MAX_SUPPORTED_PROTOCOL: ProtocolVersion = 0; const PROTOCOL_NEGOTIATION_TIMEOUT: Duration = Duration::from_secs(5); /// A range of supported protocols, will fail to decode if the range is empty. #[derive(Clone, Debug, PartialEq, Eq)] -pub struct ProtocolsRange(ProtocolVersion, ProtocolVersion); +pub struct ProtocolsRange(Version, Version); impl Display for ProtocolsRange { fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), FmtError> { @@ -27,7 +23,7 @@ impl Display for ProtocolsRange { } const fn supported_protocol_range() -> ProtocolsRange { - ProtocolsRange(MIN_SUPPORTED_PROTOCOL, MAX_SUPPORTED_PROTOCOL) + ProtocolsRange(Protocol::MIN_VERSION, Protocol::MAX_VERSION) } /// What went wrong when negotiating a protocol. @@ -36,7 +32,7 @@ pub enum ProtocolNegotiationError { ConnectionClosed, InvalidRange(ProtocolsRange), ProtocolMismatch(ProtocolsRange, ProtocolsRange), - BadChoice(ProtocolVersion), + BadChoice(Version), TimedOut, } @@ -74,12 +70,8 @@ impl ProtocolsRange { fn decode(encoded: &[u8; 8]) -> Result { let result = ProtocolsRange( - ProtocolVersion::from_le_bytes( - encoded[0..4].try_into().expect("this is literally 4 bytes"), - ), - ProtocolVersion::from_le_bytes( - encoded[4..8].try_into().expect("this is literally 4 bytes"), - ), + Version::from_le_bytes(encoded[0..4].try_into().expect("this is literally 4 bytes")), + Version::from_le_bytes(encoded[4..8].try_into().expect("this is literally 4 bytes")), ); match result.valid() { true => Ok(result), @@ -103,9 +95,11 @@ fn maximum_of_intersection( range1: ProtocolsRange, range2: ProtocolsRange, ) -> Result { - intersection(range1, range2).map(|intersection| match intersection.1 { - 0 => Ok(Protocol::V0), - unknown_version => Err(ProtocolNegotiationError::BadChoice(unknown_version)), + intersection(range1, range2).map(|intersection| { + intersection + .1 + .try_into() + .map_err(ProtocolNegotiationError::BadChoice) })? } diff --git a/finality-aleph/src/validator_network/heartbeat.rs b/finality-aleph/src/validator_network/protocols/v0/heartbeat.rs similarity index 100% rename from finality-aleph/src/validator_network/heartbeat.rs rename to finality-aleph/src/validator_network/protocols/v0/heartbeat.rs diff --git a/finality-aleph/src/validator_network/protocols.rs b/finality-aleph/src/validator_network/protocols/v0/mod.rs similarity index 77% rename from finality-aleph/src/validator_network/protocols.rs rename to finality-aleph/src/validator_network/protocols/v0/mod.rs index 54581c20bb..1f80de2baf 100644 --- a/finality-aleph/src/validator_network/protocols.rs +++ b/finality-aleph/src/validator_network/protocols/v0/mod.rs @@ -1,78 +1,23 @@ -use std::fmt::{Display, Error as FmtError, Formatter}; - use aleph_primitives::AuthorityId; -use futures::{ - channel::{mpsc, oneshot}, - StreamExt, -}; +use futures::{channel::mpsc, StreamExt}; use log::{debug, info, trace}; use tokio::io::{AsyncRead, AsyncWrite}; use crate::{ crypto::AuthorityPen, validator_network::{ - handshake::{v0_handshake_incoming, v0_handshake_outgoing, HandshakeError}, - heartbeat::{heartbeat_receiver, heartbeat_sender}, - io::{receive_data, send_data, ReceiveError, SendError}, + io::{receive_data, send_data}, + protocols::{ + handshake::{v0_handshake_incoming, v0_handshake_outgoing}, + ConnectionType, ProtocolError, ResultForService, + }, Data, Splittable, }, }; -/// Defines the protocol for communication. -#[derive(Debug, PartialEq, Eq)] -pub enum Protocol { - /// The current version of the protocol. - V0, -} +mod heartbeat; -/// Protocol error. -#[derive(Debug)] -pub enum ProtocolError { - /// Error during performing a handshake. - HandshakeError(HandshakeError), - /// Sending failed. - SendError(SendError), - /// Receiving failed. - ReceiveError(ReceiveError), - /// Heartbeat stopped. - CardiacArrest, - /// Channel to the parent service closed. - NoParentConnection, - /// Data channel closed. - NoUserConnection, -} - -impl Display for ProtocolError { - fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), FmtError> { - use ProtocolError::*; - match self { - HandshakeError(e) => write!(f, "handshake error: {}", e), - SendError(e) => write!(f, "send error: {}", e), - ReceiveError(e) => write!(f, "receive error: {}", e), - CardiacArrest => write!(f, "heartbeat stopped"), - NoParentConnection => write!(f, "cannot send result to service"), - NoUserConnection => write!(f, "cannot send data to user"), - } - } -} - -impl From for ProtocolError { - fn from(e: HandshakeError) -> Self { - ProtocolError::HandshakeError(e) - } -} - -impl From for ProtocolError { - fn from(e: SendError) -> Self { - ProtocolError::SendError(e) - } -} - -impl From for ProtocolError { - fn from(e: ReceiveError) -> Self { - ProtocolError::ReceiveError(e) - } -} +use heartbeat::{heartbeat_receiver, heartbeat_sender}; /// Receives data from the parent service and sends it over the network. /// Exits when the parent channel is closed, or if the network connection is broken. @@ -91,18 +36,22 @@ async fn sending( /// Performs the handshake, and then keeps sending data received from the parent service. /// Exits on parent request, or in case of broken or dead network connection. -async fn v0_outgoing( +pub async fn outgoing( stream: S, authority_pen: AuthorityPen, peer_id: AuthorityId, - result_for_parent: mpsc::UnboundedSender<(AuthorityId, Option>)>, + result_for_parent: mpsc::UnboundedSender>, ) -> Result<(), ProtocolError> { trace!(target: "validator-network", "Extending hand to {}.", peer_id); let (sender, receiver) = v0_handshake_outgoing(stream, authority_pen, peer_id.clone()).await?; info!(target: "validator-network", "Outgoing handshake with {} finished successfully.", peer_id); - let (data_for_network, data_from_user) = mpsc::unbounded::(); + let (data_for_network, data_from_user) = mpsc::unbounded(); result_for_parent - .unbounded_send((peer_id.clone(), Some(data_for_network))) + .unbounded_send(( + peer_id.clone(), + Some(data_for_network), + ConnectionType::LegacyOutgoing, + )) .map_err(|_| ProtocolError::NoParentConnection)?; let sending = sending(sender, data_from_user); @@ -134,19 +83,23 @@ async fn receiving( /// Performs the handshake, and then keeps sending data received from the network to the parent service. /// Exits on parent request, or in case of broken or dead network connection. -async fn v0_incoming( +pub async fn incoming( stream: S, authority_pen: AuthorityPen, - result_for_parent: mpsc::UnboundedSender<(AuthorityId, oneshot::Sender<()>)>, + result_for_parent: mpsc::UnboundedSender>, data_for_user: mpsc::UnboundedSender, ) -> Result<(), ProtocolError> { trace!(target: "validator-network", "Waiting for extended hand..."); let (sender, receiver, peer_id) = v0_handshake_incoming(stream, authority_pen).await?; info!(target: "validator-network", "Incoming handshake with {} finished successfully.", peer_id); - let (tx_exit, exit) = oneshot::channel(); + let (tx_exit, mut exit) = mpsc::unbounded(); result_for_parent - .unbounded_send((peer_id.clone(), tx_exit)) + .unbounded_send(( + peer_id.clone(), + Some(tx_exit), + ConnectionType::LegacyIncoming, + )) .map_err(|_| ProtocolError::NoParentConnection)?; let receiving = receiving(receiver, data_for_user); @@ -157,37 +110,7 @@ async fn v0_incoming( tokio::select! { _ = heartbeat => return Err(ProtocolError::CardiacArrest), result = receiving => return result, - _ = exit => return Ok(()), - } - } -} - -impl Protocol { - /// Launches the proper variant of the protocol (receiver half). - pub async fn manage_incoming( - &self, - stream: S, - authority_pen: AuthorityPen, - result_for_service: mpsc::UnboundedSender<(AuthorityId, oneshot::Sender<()>)>, - data_for_user: mpsc::UnboundedSender, - ) -> Result<(), ProtocolError> { - use Protocol::*; - match self { - V0 => v0_incoming(stream, authority_pen, result_for_service, data_for_user).await, - } - } - - /// Launches the proper variant of the protocol (sender half). - pub async fn manage_outgoing( - &self, - stream: S, - authority_pen: AuthorityPen, - peer_id: AuthorityId, - result_for_service: mpsc::UnboundedSender<(AuthorityId, Option>)>, - ) -> Result<(), ProtocolError> { - use Protocol::*; - match self { - V0 => v0_outgoing(stream, authority_pen, peer_id, result_for_service).await, + _ = exit.next() => return Ok(()), } } } @@ -196,15 +119,16 @@ impl Protocol { mod tests { use aleph_primitives::AuthorityId; use futures::{ - channel::{mpsc, mpsc::UnboundedReceiver, oneshot}, + channel::{mpsc, mpsc::UnboundedReceiver}, pin_mut, FutureExt, StreamExt, }; - use super::{Protocol, ProtocolError}; + use super::{incoming, outgoing, ProtocolError}; use crate::{ crypto::AuthorityPen, validator_network::{ mock::{key, MockSplittable}, + protocols::{ConnectionType, ResultForService}, Data, }, }; @@ -217,24 +141,23 @@ mod tests { impl futures::Future>, impl futures::Future>, UnboundedReceiver, - UnboundedReceiver<(AuthorityId, oneshot::Sender<()>)>, - UnboundedReceiver<(AuthorityId, Option>)>, + UnboundedReceiver>, + UnboundedReceiver>, ) { let (stream_incoming, stream_outgoing) = MockSplittable::new(4096); let (id_incoming, pen_incoming) = key().await; let (id_outgoing, pen_outgoing) = key().await; assert_ne!(id_incoming, id_outgoing); - let (incoming_result_for_service, result_from_incoming) = - mpsc::unbounded::<(AuthorityId, oneshot::Sender<()>)>(); + let (incoming_result_for_service, result_from_incoming) = mpsc::unbounded(); let (outgoing_result_for_service, result_from_outgoing) = mpsc::unbounded(); let (data_for_user, data_from_incoming) = mpsc::unbounded::(); - let incoming_handle = Protocol::V0.manage_incoming( + let incoming_handle = incoming( stream_incoming, pen_incoming.clone(), incoming_result_for_service, data_for_user, ); - let outgoing_handle = Protocol::V0.manage_outgoing( + let outgoing_handle = outgoing( stream_outgoing, pen_outgoing.clone(), id_incoming.clone(), @@ -274,7 +197,8 @@ mod tests { _ = &mut incoming_handle => panic!("incoming process unexpectedly finished"), _ = &mut outgoing_handle => panic!("outgoing process unexpectedly finished"), result = result_from_outgoing.next() => { - let (_, maybe_data_for_outgoing) = result.expect("outgoing should have resturned Some"); + let (_, maybe_data_for_outgoing, connection_type) = result.expect("the chennel shouldn't be dropped"); + assert_eq!(connection_type, ConnectionType::LegacyOutgoing); let data_for_outgoing = maybe_data_for_outgoing.expect("successfully connected"); data_for_outgoing .unbounded_send(vec![4, 3, 43]) @@ -323,7 +247,8 @@ mod tests { _ = &mut outgoing_handle => panic!("outgoing process unexpectedly finished"), received = result_from_incoming.next() => { // we drop the exit oneshot channel, thus finishing incoming_handle - let (received_id, _) = received.expect("should receive"); + let (received_id, _, connection_type) = received.expect("the chennel shouldn't be dropped"); + assert_eq!(connection_type, ConnectionType::LegacyIncoming); assert_eq!(received_id, id_outgoing); }, }; @@ -382,7 +307,8 @@ mod tests { _ = &mut incoming_handle => panic!("incoming process unexpectedly finished"), _ = &mut outgoing_handle => panic!("outgoing process unexpectedly finished"), result = result_from_outgoing.next() => { - let (_, maybe_data_for_outgoing) = result.expect("outgoing should have resturned Some"); + let (_, maybe_data_for_outgoing, connection_type) = result.expect("the chennel shouldn't be dropped"); + assert_eq!(connection_type, ConnectionType::LegacyOutgoing); let data_for_outgoing = maybe_data_for_outgoing.expect("successfully connected"); data_for_outgoing .unbounded_send(vec![2, 1, 3, 7]) @@ -436,11 +362,12 @@ mod tests { ) = prepare::>().await; let incoming_handle = incoming_handle.fuse(); pin_mut!(incoming_handle); - let (_, _exit) = tokio::select! { + let (_, _exit, connection_type) = tokio::select! { _ = &mut incoming_handle => panic!("incoming process unexpectedly finished"), _ = outgoing_handle => panic!("outgoing process unexpectedly finished"), out = result_from_incoming.next() => out.expect("should receive"), }; + assert_eq!(connection_type, ConnectionType::LegacyIncoming); // outgoing_handle got consumed by tokio::select!, the sender is dead match incoming_handle.await { Err(ProtocolError::ReceiveError(_)) => (), @@ -485,11 +412,12 @@ mod tests { ) = prepare::>().await; let outgoing_handle = outgoing_handle.fuse(); pin_mut!(outgoing_handle); - let (_, _exit) = tokio::select! { + let (_, _exit, connection_type) = tokio::select! { _ = incoming_handle => panic!("incoming process unexpectedly finished"), _ = &mut outgoing_handle => panic!("outgoing process unexpectedly finished"), out = result_from_incoming.next() => out.expect("should receive"), }; + assert_eq!(connection_type, ConnectionType::LegacyIncoming); // incoming_handle got consumed by tokio::select!, the receiver is dead match outgoing_handle.await { // We never get the SendError variant here, because we did not send anything @@ -515,11 +443,12 @@ mod tests { ) = prepare::>().await; let outgoing_handle = outgoing_handle.fuse(); pin_mut!(outgoing_handle); - let (_, _exit) = tokio::select! { + let (_, _exit, connection_type) = tokio::select! { _ = incoming_handle => panic!("incoming process unexpectedly finished"), _ = &mut outgoing_handle => panic!("outgoing process unexpectedly finished"), out = result_from_incoming.next() => out.expect("should receive"), }; + assert_eq!(connection_type, ConnectionType::LegacyIncoming); match outgoing_handle.await { Err(ProtocolError::CardiacArrest) => (), Err(e) => panic!("unexpected error: {}", e), diff --git a/finality-aleph/src/validator_network/service.rs b/finality-aleph/src/validator_network/service.rs index 298d8d8158..75b9198e98 100644 --- a/finality-aleph/src/validator_network/service.rs +++ b/finality-aleph/src/validator_network/service.rs @@ -14,6 +14,7 @@ use crate::{ incoming::incoming, manager::{AddResult, Manager}, outgoing::outgoing, + protocols::ResultForService, Data, Dialer, Listener, Network, }, SpawnTaskHandle, STATUS_REPORT_INTERVAL, @@ -116,20 +117,30 @@ impl, NL: Listener> Service, - result_for_parent: mpsc::UnboundedSender<(AuthorityId, Option>)>, + result_for_parent: mpsc::UnboundedSender>, ) { let authority_pen = self.authority_pen.clone(); let dialer = self.dialer.clone(); + // This isn't really currently used, but soon will be. + let next_to_interface = self.next_to_interface.clone(); self.spawn_handle .spawn("aleph/validator_network_outgoing", None, async move { - outgoing(authority_pen, peer_id, dialer, addresses, result_for_parent).await; + outgoing( + authority_pen, + peer_id, + dialer, + addresses, + result_for_parent, + next_to_interface, + ) + .await; }); } fn spawn_new_incoming( &self, stream: NL::Connection, - result_for_parent: mpsc::UnboundedSender<(AuthorityId, oneshot::Sender<()>)>, + result_for_parent: mpsc::UnboundedSender>, ) { let authority_pen = self.authority_pen.clone(); let next_to_interface = self.next_to_interface.clone(); @@ -183,7 +194,7 @@ impl, NL: Listener> Service { + Some((peer_id, Some(exit), _)) = incoming_workers.next() => { use AddResult::*; match self.manager.add_incoming(peer_id.clone(), exit) { Uninterested => info!(target: "validator-network", "Peer {} connected to us despite out lack of interest.", peer_id), @@ -193,7 +204,7 @@ impl, NL: Listener> Service { + Some((peer_id, maybe_data_for_network, _)) = outgoing_workers.next() => { use AddResult::*; if let Some(addresses) = self.manager.peer_addresses(&peer_id) { match maybe_data_for_network { From a71306daa346fb32101ced668cedf76425ade02e Mon Sep 17 00:00:00 2001 From: fixxxedpoint Date: Tue, 8 Nov 2022 13:25:31 +0100 Subject: [PATCH 003/212] version upgrade catchup test (#706) * support in cliain for version_upgrade * support of our docker-compose to run using bridged docker's network * catchup_version_upgrade_test.sh * added the catchup version upgrade test to github pipelines * review changes * chmod +x catchup_version_upgrade_test.sh * review changes: using `matrix` for catch-up version upgrade test * review changes: bumped version of aleph-client; added schedule_version_upgrade_with_state * review changes: comment about key derivation in docker-compose `//1` etc. * fix: e2e...yml: wrong `uses` * bumped e2e-tests/Cargo.lock * fix: version_upgrade after api refactor * review changes: added cache cleanup to build-cliain-image job * fix: typo in e2e...yml s/NODE2/Node2 * fix for e2e...yml: fixed matrix-include for catch-up version upgrade test * review changes: renamed local variable in catchup_version_upgrade.sh * more review changes for catchup_version_upgrade_test.sh --- .github/scripts/check_finalization.sh | 12 +- .github/scripts/run_consensus.sh | 10 +- .github/workflows/e2e-tests-main-devnet.yml | 101 ++++++++++ aleph-client/Cargo.toml | 2 +- aleph-client/src/lib.rs | 2 +- aleph-client/src/version_upgrade.rs | 13 +- bin/cliain/src/commands.rs | 35 +++- bin/cliain/src/lib.rs | 2 + bin/cliain/src/main.rs | 14 +- bin/cliain/src/version_upgrade.rs | 20 ++ docker/common.yml | 1 - docker/docker-compose.base.yml | 79 ++++++++ docker/docker-compose.bridged.yml | 62 ++++++ docker/docker-compose.yml | 73 ++----- e2e-tests/Cargo.lock | 2 +- scripts/catchup_version_upgrade_test.sh | 205 ++++++++++++++++++++ 16 files changed, 553 insertions(+), 80 deletions(-) create mode 100644 bin/cliain/src/version_upgrade.rs create mode 100644 docker/docker-compose.base.yml create mode 100644 docker/docker-compose.bridged.yml create mode 100755 scripts/catchup_version_upgrade_test.sh diff --git a/.github/scripts/check_finalization.sh b/.github/scripts/check_finalization.sh index 36d21ad191..1611056317 100755 --- a/.github/scripts/check_finalization.sh +++ b/.github/scripts/check_finalization.sh @@ -1,12 +1,12 @@ #!/bin/bash -RPC_HOST=127.0.0.1 -RPC_PORT=9933 +RPC_HOST=${RPC_HOST:-127.0.0.1} +RPC_PORT=${RPC_PORT:-9933} LAST_FINALIZED="" -VALIDATOR=damian +VALIDATOR=${VALIDATOR:-damian} while [[ "$LAST_FINALIZED" =~ "0x0" ]] || [[ -z "$LAST_FINALIZED" ]]; do - block_hash=$(docker run --network container:$VALIDATOR appropriate/curl:latest \ + block_hash=$(docker run --rm --network container:$VALIDATOR appropriate/curl:latest \ -H "Content-Type: application/json" \ -d '{"id":1, "jsonrpc":"2.0", "method": "chain_getFinalizedHead"}' http://$RPC_HOST:$RPC_PORT | jq '.result') ret_val=$? @@ -15,7 +15,7 @@ while [[ "$LAST_FINALIZED" =~ "0x0" ]] || [[ -z "$LAST_FINALIZED" ]]; do continue fi - finalized_block=$(docker run --network container:$VALIDATOR appropriate/curl:latest \ + finalized_block=$(docker run --rm --network container:$VALIDATOR appropriate/curl:latest \ -H "Content-Type: application/json" \ -d '{"id":1, "jsonrpc":"2.0", "method": "chain_getBlock", "params": ['$block_hash']}' http://$RPC_HOST:$RPC_PORT | jq '.result.block.header.number') @@ -25,9 +25,9 @@ while [[ "$LAST_FINALIZED" =~ "0x0" ]] || [[ -z "$LAST_FINALIZED" ]]; do continue else LAST_FINALIZED=$finalized_block - echo "Last finalized block number: $LAST_FINALIZED" fi done +echo "Last finalized block number: $LAST_FINALIZED" exit $? diff --git a/.github/scripts/run_consensus.sh b/.github/scripts/run_consensus.sh index e8ebae3372..ca40484618 100755 --- a/.github/scripts/run_consensus.sh +++ b/.github/scripts/run_consensus.sh @@ -6,6 +6,7 @@ set -euo pipefail # change when increasing the number of node containers NODE_COUNT=5 MIN_VALIDATOR_COUNT=4 +DOCKER_COMPOSE=${DOCKER_COMPOSE:-"docker/docker-compose.yml"} OVERRIDE_DOCKER_COMPOSE=${OVERRIDE_DOCKER_COMPOSE:-""} # default minimum validator count @@ -83,19 +84,20 @@ function generate_bootnode_peer_id { function run_containers { local authorities_count="$1" - local override_file="$2" + local docker_compose_file="$2" + local override_file="$3" echo "Running ${authorities_count} containers..." if [[ -z ${override_file} ]]; then - docker-compose -f docker/docker-compose.yml up -d + docker-compose -f "${docker_compose_file}" up -d else - docker-compose -f docker/docker-compose.yml -f "${override_file}" up -d + docker-compose -f "${docker_compose_file}" -f "${override_file}" up -d fi } authorities=$(generate_authorities ${NODE_COUNT}) generate_chainspec "${authorities[@]}" "${MIN_VALIDATOR_COUNT}" generate_bootnode_peer_id ${authorities[0]} -run_containers ${NODE_COUNT} "${OVERRIDE_DOCKER_COMPOSE}" +run_containers ${NODE_COUNT} "${DOCKER_COMPOSE}" "${OVERRIDE_DOCKER_COMPOSE}" exit $? diff --git a/.github/workflows/e2e-tests-main-devnet.yml b/.github/workflows/e2e-tests-main-devnet.yml index 94299ca870..a1859c6839 100644 --- a/.github/workflows/e2e-tests-main-devnet.yml +++ b/.github/workflows/e2e-tests-main-devnet.yml @@ -54,6 +54,45 @@ jobs: retention-days: 7 + build-cliain-image: + name: Build docker image for cliain + runs-on: ubuntu-20.04 + steps: + - name: GIT | Checkout source code + uses: actions/checkout@v2 + + - name: Install Rust toolchain + uses: actions-rs/toolchain@v1 + + - name: Restore cache + uses: ./.github/actions/restore-cache + with: + target-key: cliain + cache-version: v2 + cargo-targets: bin/cliain/target/ + + - name: Cargo | Build release binary + run: | + cd bin/cliain && cargo build --release + + - name: Build docker image + run: | + cd bin/cliain + docker build --tag cliain:latest -f ./Dockerfile . + docker save -o cliain.tar cliain:latest + + - name: Upload test docker image + uses: actions/upload-artifact@v2 + with: + name: cliain-docker + path: ./bin/cliain/cliain.tar + if-no-files-found: error + retention-days: 7 + + - name: Cleanup cache + uses: ./.github/actions/post-cache + + check-determinism: needs: [build-new-node] name: Verify runtime build determinism @@ -279,6 +318,7 @@ jobs: test-case: fee_calculation timeout-minutes: 2 + run-e2e-validators-rotate: needs: [build-test-docker, build-test-client] name: Run validators rotation test @@ -485,6 +525,66 @@ jobs: follow-up-finalization-check: true timeout-minutes: 15 + run-e2e-version-upgrade-catchup: + needs: [build-test-docker, build-cliain-image] + name: Run series of tests where some of the nodes need to do version-upgrade during catch-up + runs-on: ubuntu-20.04 + strategy: + matrix: + include: + - nodes: "Node1" + ports: "9934" + ext_status: "finalized" + upgrade_before_disable: "true" + + - nodes: "Node1" + ports: "9934" + ext_status: "finalized" + upgrade_before_disable: "false" + + - nodes: "Node1:Node2" + ports: "9934:9935" + ext_status: "in-block" + upgrade_before_disable: "true" + + - nodes: "Node1:Node2" + ports: "9934:9935" + ext_status: "in-block" + upgrade_before_disable: "false" + steps: + - name: Checkout source code + uses: actions/checkout@v2 + + - name: Download artifact with docker image for aleph-node + uses: actions/download-artifact@v2 + with: + name: aleph-test-docker + + - name: Load node docker image + shell: bash + run: docker load -i aleph-node.tar + + - name: Download artifact with docker image for cliain + uses: actions/download-artifact@v2 + with: + name: cliain-docker + + - name: Load cliain docker image + shell: bash + run: docker load -i cliain.tar + + - name: Call catchup_test.sh + env: + UPGRADE_BLOCK: 31 + NODES: ${{ matrix.nodes }} + PORTS: ${{ matrix.ports }} + EXT_STATUS: ${{ matrix.ext_status }} + UPGRADE_BEFORE_DISABLE: ${{ matrix.upgrade_before_disable }} + DOCKER_COMPOSE: docker/docker-compose.bridged.yml + + run: | + ./scripts/catchup_version_upgrade_test.sh + check-e2e-test-suite-completion: needs: [ run-e2e-finalization-test, @@ -510,6 +610,7 @@ jobs: run-e2e-ban-manual, run-e2e-version-upgrade, run-e2e-failing-version-upgrade, + run-e2e-version-upgrade-catchup, ] name: Check e2e test suite completion runs-on: ubuntu-20.04 diff --git a/aleph-client/Cargo.toml b/aleph-client/Cargo.toml index 7f71b82ebe..9439f1960a 100644 --- a/aleph-client/Cargo.toml +++ b/aleph-client/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "aleph_client" -version = "1.11.0" +version = "1.12.0" edition = "2021" license = "Apache 2.0" diff --git a/aleph-client/src/lib.rs b/aleph-client/src/lib.rs index cca7702d24..6b327c5350 100644 --- a/aleph-client/src/lib.rs +++ b/aleph-client/src/lib.rs @@ -57,7 +57,7 @@ pub use treasury::{ propose as make_treasury_proposal, reject as reject_treasury_proposal, staking_treasury_payout, treasury_account, }; -pub use version_upgrade::{schedule_upgrade, Version}; +pub use version_upgrade::{schedule_upgrade, schedule_upgrade_with_state, Version}; pub use vesting::{ get_schedules, merge_schedules, vest, vest_other, vested_transfer, VestingError, VestingSchedule, diff --git a/aleph-client/src/version_upgrade.rs b/aleph-client/src/version_upgrade.rs index 5265aaf6d3..f180d5437d 100644 --- a/aleph-client/src/version_upgrade.rs +++ b/aleph-client/src/version_upgrade.rs @@ -6,10 +6,11 @@ use crate::{try_send_xt, AnyConnection, RootConnection}; pub type Version = u32; -pub fn schedule_upgrade( +pub fn schedule_upgrade_with_state( connection: &RootConnection, version: Version, session: SessionIndex, + state: XtStatus, ) -> Result<(), ApiClientError> { let connection = connection.as_connection(); let upgrade_call = compose_call!( @@ -30,7 +31,15 @@ pub fn schedule_upgrade( &connection, xt, Some("schedule finality version change"), - XtStatus::Finalized, + state, ) .map(|_| ()) } + +pub fn schedule_upgrade( + connection: &RootConnection, + version: Version, + session: SessionIndex, +) -> Result<(), ApiClientError> { + schedule_upgrade_with_state(connection, version, session, XtStatus::Finalized) +} diff --git a/bin/cliain/src/commands.rs b/bin/cliain/src/commands.rs index adeea04533..ab49ce095b 100644 --- a/bin/cliain/src/commands.rs +++ b/bin/cliain/src/commands.rs @@ -3,9 +3,9 @@ use std::{ path::{Path, PathBuf}, }; -use aleph_client::BlockNumber; -use clap::{Args, Subcommand}; -use primitives::{Balance, CommitteeSeats}; +use aleph_client::{BlockNumber, XtStatus}; +use clap::{clap_derive::ValueEnum, Args, Subcommand}; +use primitives::{Balance, CommitteeSeats, SessionIndex}; use serde::{Deserialize, Serialize}; use sp_core::H256; use substrate_api_client::AccountId; @@ -111,6 +111,8 @@ pub struct ChangeValidatorArgs { pub committee_size: Option, } +pub type Version = u32; + impl std::str::FromStr for ChangeValidatorArgs { type Err = serde_json::Error; @@ -124,6 +126,21 @@ impl std::str::FromStr for ChangeValidatorArgs { } } +#[derive(Debug, Clone, ValueEnum)] +pub enum ExtrinsicState { + InBlock, + Finalized, +} + +impl From for XtStatus { + fn from(state: ExtrinsicState) -> Self { + match state { + ExtrinsicState::InBlock => XtStatus::InBlock, + ExtrinsicState::Finalized => XtStatus::Finalized, + } + } +} + #[derive(Debug, Clone, Subcommand)] pub enum Command { /// Staking call to bond stash with controller @@ -336,4 +353,16 @@ pub enum Command { /// Code can only be removed by its original uploader (its owner) and only if it is not used by any contract. /// API signature: https://polkadot.js.org/docs/substrate/extrinsics/#removecodecode_hash-h256 ContractRemoveCode(ContractRemoveCode), + + /// Schedules a version upgrade of the network. + VersionUpgradeSchedule { + #[clap(long)] + version: Version, + + #[clap(long)] + session: SessionIndex, + + #[clap(long, value_enum, default_value_t=ExtrinsicState::Finalized)] + expected_state: ExtrinsicState, + }, } diff --git a/bin/cliain/src/lib.rs b/bin/cliain/src/lib.rs index b69fea25fd..6a50a9b4ad 100644 --- a/bin/cliain/src/lib.rs +++ b/bin/cliain/src/lib.rs @@ -8,6 +8,7 @@ mod staking; mod transfer; mod treasury; mod validators; +mod version_upgrade; mod vesting; use aleph_client::{ @@ -27,6 +28,7 @@ pub use treasury::{ approve as treasury_approve, propose as treasury_propose, reject as treasury_reject, }; pub use validators::change_validators; +pub use version_upgrade::schedule_upgrade; pub use vesting::{vest, vest_other, vested_transfer}; pub struct ConnectionConfig { diff --git a/bin/cliain/src/main.rs b/bin/cliain/src/main.rs index 74338c9384..0e2bea0f39 100644 --- a/bin/cliain/src/main.rs +++ b/bin/cliain/src/main.rs @@ -8,9 +8,9 @@ use clap::Parser; use cliain::{ bond, call, change_validators, finalize, force_new_era, instantiate, instantiate_with_code, next_session_keys, nominate, owner_info, prepare_keys, prompt_password_hidden, remove_code, - rotate_keys, set_emergency_finalizer, set_keys, set_staking_limits, transfer, treasury_approve, - treasury_propose, treasury_reject, update_runtime, upload_code, validate, vest, vest_other, - vested_transfer, Command, ConnectionConfig, + rotate_keys, schedule_upgrade, set_emergency_finalizer, set_keys, set_staking_limits, transfer, + treasury_approve, treasury_propose, treasury_reject, update_runtime, upload_code, validate, + vest, vest_other, vested_transfer, Command, ConnectionConfig, }; use log::{error, info}; use sp_core::Pair; @@ -182,6 +182,14 @@ fn main() { Ok(result) => println!("{:?}", result), Err(why) => error!("Contract remove code failed {:?}", why), }, + Command::VersionUpgradeSchedule { + version, + session: session_for_upgrade, + expected_state, + } => match schedule_upgrade(cfg.into(), version, session_for_upgrade, expected_state) { + Ok(_) => {} + Err(why) => error!("Unable to schedule an upgrade {:?}", why), + }, } } diff --git a/bin/cliain/src/version_upgrade.rs b/bin/cliain/src/version_upgrade.rs new file mode 100644 index 0000000000..9f8b07f868 --- /dev/null +++ b/bin/cliain/src/version_upgrade.rs @@ -0,0 +1,20 @@ +use aleph_client::{schedule_upgrade_with_state, RootConnection}; +use anyhow::Error; +use primitives::SessionIndex; + +use crate::commands::{ExtrinsicState, Version}; + +pub fn schedule_upgrade( + connection: RootConnection, + version: Version, + session_for_upgrade: SessionIndex, + expected_state: ExtrinsicState, +) -> anyhow::Result<()> { + schedule_upgrade_with_state( + &connection, + version, + session_for_upgrade, + expected_state.into(), + ) + .map_err(Error::new) +} diff --git a/docker/common.yml b/docker/common.yml index d41d7f41b2..59a04adf45 100644 --- a/docker/common.yml +++ b/docker/common.yml @@ -1,7 +1,6 @@ services: AlephNodeService: image: aleph-node:latest - network_mode: host environment: - PURGE_BEFORE_START=true - RUST_LOG=info diff --git a/docker/docker-compose.base.yml b/docker/docker-compose.base.yml new file mode 100644 index 0000000000..6a159a6f19 --- /dev/null +++ b/docker/docker-compose.base.yml @@ -0,0 +1,79 @@ +# When increasing number of nodes in this file, change default value of --validators-count param in e2e-tests/src/config.rs + +services: + Node0: + extends: + file: common.yml + service: AlephBootNode + container_name: Node0 + environment: + - RPC_PORT=9933 + - WS_PORT=9943 + - PORT=30333 + - VALIDATOR_PORT=30343 + - PUBLIC_VALIDATOR_ADDRESS=127.0.0.1:30343 + - NAME=Node0 + + Node1: + extends: + file: common.yml + service: AlephNonBootNode + container_name: Node1 + environment: + - RPC_PORT=9934 + - WS_PORT=9944 + - PORT=30334 + - VALIDATOR_PORT=30344 + - PUBLIC_VALIDATOR_ADDRESS=127.0.0.1:30344 + - NAME=Node1 + # key derived from "//1" + - BASE_PATH=/data/5GBNeWRhZc2jXu7D55rBimKYDk8PGk8itRYFTPfC8RJLKG5o + - NODE_KEY_PATH=/data/5GBNeWRhZc2jXu7D55rBimKYDk8PGk8itRYFTPfC8RJLKG5o/p2p_secret + + Node2: + extends: + file: common.yml + service: AlephNonBootNode + container_name: Node2 + environment: + - RPC_PORT=9935 + - WS_PORT=9945 + - PORT=30335 + - VALIDATOR_PORT=30345 + - PUBLIC_VALIDATOR_ADDRESS=127.0.0.1:30345 + - NAME=Node2 + # key derived from "//2" + - BASE_PATH=/data/5Dfis6XL8J2P6JHUnUtArnFWndn62SydeP8ee8sG2ky9nfm9 + - NODE_KEY_PATH=/data/5Dfis6XL8J2P6JHUnUtArnFWndn62SydeP8ee8sG2ky9nfm9/p2p_secret + + Node3: + extends: + file: common.yml + service: AlephNonBootNode + container_name: Node3 + environment: + - RPC_PORT=9936 + - WS_PORT=9946 + - PORT=30336 + - VALIDATOR_PORT=30346 + - PUBLIC_VALIDATOR_ADDRESS=127.0.0.1:30346 + - NAME=Node3 + # key derived from "//3" + - BASE_PATH=/data/5F4H97f7nQovyrbiq4ZetaaviNwThSVcFobcA5aGab6167dK + - NODE_KEY_PATH=/data/5F4H97f7nQovyrbiq4ZetaaviNwThSVcFobcA5aGab6167dK/p2p_secret + + Node4: + extends: + file: common.yml + service: AlephNonBootNode + container_name: Node4 + environment: + - RPC_PORT=9937 + - WS_PORT=9947 + - PORT=30337 + - VALIDATOR_PORT=30347 + - PUBLIC_VALIDATOR_ADDRESS=127.0.0.1:30347 + - NAME=Node4 + # key derived from "//4" + - BASE_PATH=/data/5DiDShBWa1fQx6gLzpf3SFBhMinCoyvHM1BWjPNsmXS8hkrW + - NODE_KEY_PATH=/data/5DiDShBWa1fQx6gLzpf3SFBhMinCoyvHM1BWjPNsmXS8hkrW/p2p_secret diff --git a/docker/docker-compose.bridged.yml b/docker/docker-compose.bridged.yml new file mode 100644 index 0000000000..2ee3ddc132 --- /dev/null +++ b/docker/docker-compose.bridged.yml @@ -0,0 +1,62 @@ +services: + Node0: + extends: + file: docker-compose.base.yml + service: Node0 + networks: + - main + - Node0 + + Node1: + extends: + file: docker-compose.base.yml + service: Node1 + networks: + - main + - Node1 + environment: + - BOOT_NODES=/dns4/Node0/tcp/30333/p2p/$BOOTNODE_PEER_ID + + Node2: + extends: + file: docker-compose.base.yml + service: Node2 + networks: + - main + - Node2 + environment: + - BOOT_NODES=/dns4/Node0/tcp/30333/p2p/$BOOTNODE_PEER_ID + + Node3: + extends: + file: docker-compose.base.yml + service: Node3 + networks: + - main + - Node3 + environment: + - BOOT_NODES=/dns4/Node0/tcp/30333/p2p/$BOOTNODE_PEER_ID + + Node4: + extends: + file: docker-compose.base.yml + service: Node4 + networks: + - main + - Node4 + environment: + - BOOT_NODES=/dns4/Node0/tcp/30333/p2p/$BOOTNODE_PEER_ID + +networks: + main: + name: main-network + Node0: + name: Node0-network + Node1: + name: Node1-network + Node2: + name: Node2-network + Node3: + name: Node3-network + Node4: + name: Node4-network diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml index c2957f7be7..154031e825 100644 --- a/docker/docker-compose.yml +++ b/docker/docker-compose.yml @@ -3,73 +3,30 @@ services: Node0: extends: - file: common.yml - service: AlephBootNode - container_name: Node0 - environment: - - RPC_PORT=9933 - - WS_PORT=9943 - - PORT=30333 - - VALIDATOR_PORT=30343 - - PUBLIC_VALIDATOR_ADDRESS=127.0.0.1:30343 - - NAME=Node0 + file: docker-compose.base.yml + service: Node0 + network_mode: host Node1: extends: - file: common.yml - service: AlephNonBootNode - container_name: Node1 - environment: - - RPC_PORT=9934 - - WS_PORT=9944 - - PORT=30334 - - VALIDATOR_PORT=30344 - - PUBLIC_VALIDATOR_ADDRESS=127.0.0.1:30344 - - NAME=Node1 - - BASE_PATH=/data/5GBNeWRhZc2jXu7D55rBimKYDk8PGk8itRYFTPfC8RJLKG5o - - NODE_KEY_PATH=/data/5GBNeWRhZc2jXu7D55rBimKYDk8PGk8itRYFTPfC8RJLKG5o/p2p_secret + file: docker-compose.base.yml + service: Node1 + network_mode: host Node2: extends: - file: common.yml - service: AlephNonBootNode - container_name: Node2 - environment: - - RPC_PORT=9935 - - WS_PORT=9945 - - PORT=30335 - - VALIDATOR_PORT=30345 - - PUBLIC_VALIDATOR_ADDRESS=127.0.0.1:30345 - - NAME=Node2 - - BASE_PATH=/data/5Dfis6XL8J2P6JHUnUtArnFWndn62SydeP8ee8sG2ky9nfm9 - - NODE_KEY_PATH=/data/5Dfis6XL8J2P6JHUnUtArnFWndn62SydeP8ee8sG2ky9nfm9/p2p_secret + file: docker-compose.base.yml + service: Node2 + network_mode: host Node3: extends: - file: common.yml - service: AlephNonBootNode - container_name: Node3 - environment: - - RPC_PORT=9936 - - WS_PORT=9946 - - PORT=30336 - - VALIDATOR_PORT=30346 - - PUBLIC_VALIDATOR_ADDRESS=127.0.0.1:30346 - - NAME=Node3 - - BASE_PATH=/data/5F4H97f7nQovyrbiq4ZetaaviNwThSVcFobcA5aGab6167dK - - NODE_KEY_PATH=/data/5F4H97f7nQovyrbiq4ZetaaviNwThSVcFobcA5aGab6167dK/p2p_secret + file: docker-compose.base.yml + service: Node3 + network_mode: host Node4: extends: - file: common.yml - service: AlephNonBootNode - container_name: Node4 - environment: - - RPC_PORT=9937 - - WS_PORT=9947 - - PORT=30337 - - VALIDATOR_PORT=30347 - - PUBLIC_VALIDATOR_ADDRESS=127.0.0.1:30347 - - NAME=Node4 - - BASE_PATH=/data/5DiDShBWa1fQx6gLzpf3SFBhMinCoyvHM1BWjPNsmXS8hkrW - - NODE_KEY_PATH=/data/5DiDShBWa1fQx6gLzpf3SFBhMinCoyvHM1BWjPNsmXS8hkrW/p2p_secret + file: docker-compose.base.yml + service: Node4 + network_mode: host diff --git a/e2e-tests/Cargo.lock b/e2e-tests/Cargo.lock index a5f686c588..30eb393cb1 100644 --- a/e2e-tests/Cargo.lock +++ b/e2e-tests/Cargo.lock @@ -121,7 +121,7 @@ dependencies = [ [[package]] name = "aleph_client" -version = "1.11.0" +version = "1.12.0" dependencies = [ "ac-node-api", "ac-primitives", diff --git a/scripts/catchup_version_upgrade_test.sh b/scripts/catchup_version_upgrade_test.sh new file mode 100755 index 0000000000..baeb1a3c5b --- /dev/null +++ b/scripts/catchup_version_upgrade_test.sh @@ -0,0 +1,205 @@ +#!/bin/bash + +set -euo pipefail + +INIT_BLOCK=${INIT_BLOCK:-3} +UPGRADE_BLOCK=${UPGRADE_BLOCK:-31} +UPGRADE_VERSION=${UPGRADE_VERSION:-1} +NODES=${NODES:-"Node1:Node2"} +PORTS=${PORTS:-9934:9935} +UPGRADE_BEFORE_DISABLE=${UPGRADE_BEFORE_DISABLE:-false} +SEED=${SEED:-"//0"} +ALL_NODES=${ALL_NODES:-"Node0:Node1:Node2:Node3:Node4"} +ALL_NODES_PORTS=${ALL_NODES_PORTS:-"9933:9934:9935:9936:9937"} +WAIT_BLOCKS=${WAIT_BLOCKS:-30} +EXT_STATUS=${EXT_STATUS:-"in-block"} + +function log() { + echo $1 1>&2 +} + +function into_array() { + result=() + local tmp=$IFS + IFS=: + for e in $1; do + result+=($e) + done + IFS=$tmp +} + +function initialize { + wait_for_finalized_block $1 $2 $3 +} + +function wait_for_finalized_block() { + local block_to_be_finalized=$1 + local node=$2 + local port=$3 + + while [[ $(get_best_finalized $node $port) -le $block_to_be_finalized ]]; do + sleep 3 + done +} + +function get_best_finalized { + local validator=$1 + local rpc_port=$2 + + local best_finalized=$(VALIDATOR=$validator RPC_HOST="127.0.0.1" RPC_PORT=$rpc_port ./.github/scripts/check_finalization.sh | sed 's/Last finalized block number: "\(.*\)"/\1/') + printf "%d" $best_finalized +} + +function set_upgrade_session { + local session=$1 + local version=$2 + local validator=$3 + local port=$4 + local seed=$5 + local status=$6 + + docker run --rm --network container:$validator cliain:latest --node 127.0.0.1:$port --seed $seed version-upgrade-schedule --version $version --session $session --expected-state $status +} + +function check_if_disconnected() { + local -n nodes=$1 + local -n ports=$2 + + log "checking if nodes are disconnected" + + for i in "${!nodes[@]}"; do + local node=${nodes[$i]} + local port=${ports[$i]} + + log "checking if node $node is disconnected" + + last_finalized=$(get_best_finalized $node $port) + log "last finalized block at node $node is $last_finalized" + + last_block=$(get_last_block $node $port) + log "last block at node $node is $last_block" + + # what else we can do? + log "sleeping for 20 seconds" + sleep 20 + + new_finalized=$(get_best_finalized $node $port) + log "newest finalized block at node $node after waiting is $new_finalized" + + if [[ $(($new_finalized - $last_finalized)) -ge 1 ]]; then + log "somehow a disconnected node $node was able to finalize new blocks" + exit -1 + fi + done +} + +function connect_nodes { + local -n nodes=$1 + for node in ${nodes[@]}; do + docker network connect main-network $node + done +} + +function disconnect_nodes { + local -n nodes=$1 + + for node in ${nodes[@]}; do + log "disconnecting node $node..." + docker network disconnect main-network $node + log "node $node disconnected" + done +} + +function wait_for_block { + local block=$1 + local validator=$2 + local rpc_port=$3 + + local last_block="" + while [[ -z "$last_block" ]]; do + last_block=$(docker run --rm --network container:$validator appropriate/curl:latest \ + -H "Content-Type: application/json" \ + -d '{"id":1, "jsonrpc":"2.0", "method": "chain_getBlockHash", "params": '$block'}' http://127.0.0.1:$rpc_port | jq '.result') + done +} + +function get_last_block { + local validator=$1 + local rpc_port=$2 + + local last_block_number=$(docker run --rm --network container:$validator appropriate/curl:latest \ + -H "Content-Type: application/json" \ + -d '{"id":1, "jsonrpc":"2.0", "method": "chain_getBlock"}' http://127.0.0.1:$rpc_port | jq '.result.block.header.number') + printf "%d" $last_block_number +} + +function check_finalization { + local block_to_check=$1 + local -n nodes=$2 + local -n ports=$3 + + log "checking finalization for block $block_to_check" + + for i in "${!nodes[@]}"; do + local node=${nodes[$i]} + local rpc_port=${ports[$i]} + + log "checking finalization at node $node" + wait_for_finalized_block $block_to_check $node $rpc_port + done +} + +into_array $NODES +NODES=(${result[@]}) + +into_array $PORTS +PORTS=(${result[@]}) + +into_array $ALL_NODES +ALL_NODES=(${result[@]}) + +into_array "$ALL_NODES_PORTS" +ALL_NODES_PORTS=(${result[@]}) + +log "initializing nodes..." +DOCKER_COMPOSE=./docker/docker-compose.bridged.yml ./.github/scripts/run_consensus.sh 1>&2 +log "awaiting finalization of $INIT_BLOCK blocks..." +initialize $INIT_BLOCK "Node0" 9933 +log "nodes initialized" + +last_block=$(get_last_block "Node0" 9933) +block_for_upgrade=$(($UPGRADE_BLOCK + $last_block)) +if [[ $UPGRADE_BEFORE_DISABLE = true ]]; then + log "setting upgrade at $block_for_upgrade block for version $UPGRADE_VERSION before disconnecting" + set_upgrade_session $block_for_upgrade $UPGRADE_VERSION "Node0" 9943 $SEED $EXT_STATUS +fi + +log "disconnecting nodes..." +disconnect_nodes NODES +log "verifying if nodes are properly disconnected..." +check_if_disconnected NODES PORTS +log "nodes disconnected" + +last_block=$(get_last_block "Node0" 9933) +block_for_upgrade=$(($UPGRADE_BLOCK + $last_block)) +if [[ $UPGRADE_BEFORE_DISABLE = false ]]; then + log "setting upgrade at $block_for_upgrade block for version $UPGRADE_VERSION" + set_upgrade_session $block_for_upgrade $UPGRADE_VERSION "Node0" 9943 $SEED $EXT_STATUS +fi + +last_block=$(get_last_block "Node0" 9933) +awaited_block=$(($WAIT_BLOCKS+$block_for_upgrade)) +log "awaiting block $awaited_block" +wait_for_block $awaited_block "Node0" 9933 +log "awaiting finished" + +log "connecting nodes..." +connect_nodes NODES +log "nodes connected" + +last_block=$(get_last_block "Node0" 9933) +log "checking finalization..." +check_finalization $(($awaited_block+1)) ALL_NODES ALL_NODES_PORTS +log "finalization checked" + +exit $? From 28e3a041fcd4ae732e78b330448dab4ecb1478a2 Mon Sep 17 00:00:00 2001 From: maciejzelaszczyk <48910177+maciejzelaszczyk@users.noreply.github.com> Date: Tue, 8 Nov 2022 15:13:43 +0100 Subject: [PATCH 004/212] A0-1499: E2e ban test threshold (#704) * Checkpoint * Partial attempt * Fixed index * Touch up * Reworked automatic test for greater modularity * Partial manual kick-out * Modularity; bumped crate versions * GH workflow * Test case reordering * Initial modules work * Manual kickout case * Consts * Modules * Checkpoint * Removed next era validators check * Checkpoint * Semver consistent versioning * Removed superfluous function and imports * Checkpoint * Explicit params for bounded vec * Merge fixes * Changed bounded vec creation * Linter, version * Fixed reason passed to extrinsic * Session count tracking * Welcome to the ban world! * GH workflow * Changed params to refs; cases reorder * Housekeeping * Version bumps * Changed option unwrapping * Removed needless borrow * Added ban event call * Removed borrows * Removed ban event call from initial place * Changed test logic to post factum * Changed logic to test only sessions after ban config change comes in * Test logic fix * Typo fix in rewards test * Removed unnecessary reference * Rolled back pallet change * aleph-client version bump --- .github/workflows/e2e-tests-main-devnet.yml | 48 +++++--- aleph-client/Cargo.lock | 2 +- aleph-client/Cargo.toml | 2 +- aleph-client/src/elections.rs | 15 ++- aleph-client/src/lib.rs | 2 +- benches/payout-stakers/Cargo.lock | 2 +- bin/cliain/Cargo.lock | 2 +- e2e-tests/Cargo.lock | 2 +- e2e-tests/Cargo.toml | 2 +- e2e-tests/src/ban.rs | 125 ++++++++++++++++++-- e2e-tests/src/cases.rs | 3 +- e2e-tests/src/rewards.rs | 10 +- e2e-tests/src/test/ban.rs | 79 +++++++++++-- e2e-tests/src/test/mod.rs | 2 +- flooder/Cargo.lock | 2 +- 15 files changed, 242 insertions(+), 56 deletions(-) diff --git a/.github/workflows/e2e-tests-main-devnet.yml b/.github/workflows/e2e-tests-main-devnet.yml index a1859c6839..a61e5a6aa0 100644 --- a/.github/workflows/e2e-tests-main-devnet.yml +++ b/.github/workflows/e2e-tests-main-devnet.yml @@ -457,6 +457,21 @@ jobs: follow-up-finalization-check: true timeout-minutes: 15 + run-e2e-ban-manual: + needs: [build-test-docker, build-test-client] + name: Run ban manual test + runs-on: ubuntu-20.04 + steps: + - name: Checkout source code + uses: actions/checkout@v2 + + - name: Run e2e test + uses: ./.github/actions/run-e2e-test + with: + test-case: ban_manual + follow-up-finalization-check: true + timeout-minutes: 15 + run-e2e-ban-counter-clearing: needs: [build-test-docker, build-test-client] name: Run ban counter clearing test @@ -472,6 +487,21 @@ jobs: follow-up-finalization-check: true timeout-minutes: 15 + run-e2e-ban-threshold: + needs: [build-test-docker, build-test-client] + name: Run ban threshold test + runs-on: ubuntu-20.04 + steps: + - name: Checkout source code + uses: actions/checkout@v2 + + - name: Run e2e test + uses: ./.github/actions/run-e2e-test + with: + test-case: ban_threshold + follow-up-finalization-check: true + timeout-minutes: 15 + run-e2e-version-upgrade: needs: [build-test-docker, build-test-client] name: Run basic (positive) version-upgrade test @@ -510,21 +540,6 @@ jobs: ONLY_LEGACY: true timeout-minutes: 10 - run-e2e-ban-manual: - needs: [build-test-docker, build-test-client] - name: Run ban manual test - runs-on: ubuntu-20.04 - steps: - - name: Checkout source code - uses: actions/checkout@v2 - - - name: Run e2e test - uses: ./.github/actions/run-e2e-test - with: - test-case: ban_manual - follow-up-finalization-check: true - timeout-minutes: 15 - run-e2e-version-upgrade-catchup: needs: [build-test-docker, build-cliain-image] name: Run series of tests where some of the nodes need to do version-upgrade during catch-up @@ -606,8 +621,9 @@ jobs: run-e2e-rewards-points-basic, run-e2e-authorities-are-staking, run-e2e-ban-automatic, - run-e2e-ban-counter-clearing, run-e2e-ban-manual, + run-e2e-ban-counter-clearing, + run-e2e-ban-threshold, run-e2e-version-upgrade, run-e2e-failing-version-upgrade, run-e2e-version-upgrade-catchup, diff --git a/aleph-client/Cargo.lock b/aleph-client/Cargo.lock index e290c25710..b1d80b1dd6 100644 --- a/aleph-client/Cargo.lock +++ b/aleph-client/Cargo.lock @@ -98,7 +98,7 @@ dependencies = [ [[package]] name = "aleph_client" -version = "1.11.0" +version = "1.12.0" dependencies = [ "ac-node-api", "ac-primitives", diff --git a/aleph-client/Cargo.toml b/aleph-client/Cargo.toml index 9439f1960a..b066ee4c15 100644 --- a/aleph-client/Cargo.toml +++ b/aleph-client/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "aleph_client" -version = "1.12.0" +version = "1.13.0" edition = "2021" license = "Apache 2.0" diff --git a/aleph-client/src/elections.rs b/aleph-client/src/elections.rs index 94961c7162..1a98a9cca9 100644 --- a/aleph-client/src/elections.rs +++ b/aleph-client/src/elections.rs @@ -1,3 +1,4 @@ +use log::info; use primitives::{ BanConfig, BanInfo, CommitteeSeats, EraIndex, EraValidators, SessionCount, SessionIndex, }; @@ -76,18 +77,19 @@ pub fn get_ban_config(connection: &C) -> BanConfig { pub fn get_underperformed_validator_session_count( connection: &C, account_id: &AccountId, + block_hash: Option, ) -> SessionCount { connection .read_storage_map( PALLET, "UnderperformedValidatorSessionCount", account_id, - None, + block_hash, ) .unwrap_or(0) } -pub fn get_ban_reason_for_validator( +pub fn get_ban_info_for_validator( connection: &C, account_id: &AccountId, ) -> Option { @@ -129,15 +131,19 @@ pub fn change_ban_config( ban_period: Option, status: XtStatus, ) { + info!(target: "aleph-client", "Changing ban config"); + let call_name = "set_ban_config"; + let call = compose_call!( sudo_connection.as_connection().metadata, PALLET, - "set_ban_config", + call_name, minimal_expected_performance, underperformed_session_count_threshold, clean_session_counter_delay, ban_period ); + let xt = compose_extrinsic!( sudo_connection.as_connection(), "Sudo", @@ -145,5 +151,6 @@ pub fn change_ban_config( call, 0_u64 ); - send_xt(sudo_connection, xt, Some("set_ban_config"), status); + + send_xt(sudo_connection, xt, Some(call_name), status); } diff --git a/aleph-client/src/lib.rs b/aleph-client/src/lib.rs index 6b327c5350..145367e0e5 100644 --- a/aleph-client/src/lib.rs +++ b/aleph-client/src/lib.rs @@ -6,7 +6,7 @@ pub use balances::total_issuance; use codec::{Decode, Encode}; pub use debug::print_storages; pub use elections::{ - ban_from_committee, change_ban_config, get_ban_config, get_ban_reason_for_validator, + ban_from_committee, change_ban_config, get_ban_config, get_ban_info_for_validator, get_committee_seats, get_current_era_non_reserved_validators, get_current_era_reserved_validators, get_current_era_validators, get_era_validators, get_next_era_committee_seats, get_next_era_non_reserved_validators, diff --git a/benches/payout-stakers/Cargo.lock b/benches/payout-stakers/Cargo.lock index 8d216c22b4..6f5ea1f226 100644 --- a/benches/payout-stakers/Cargo.lock +++ b/benches/payout-stakers/Cargo.lock @@ -98,7 +98,7 @@ dependencies = [ [[package]] name = "aleph_client" -version = "1.11.0" +version = "1.12.0" dependencies = [ "ac-node-api", "ac-primitives", diff --git a/bin/cliain/Cargo.lock b/bin/cliain/Cargo.lock index a32dca162d..9b6ec5cad9 100644 --- a/bin/cliain/Cargo.lock +++ b/bin/cliain/Cargo.lock @@ -98,7 +98,7 @@ dependencies = [ [[package]] name = "aleph_client" -version = "1.11.0" +version = "1.12.0" dependencies = [ "ac-node-api", "ac-primitives", diff --git a/e2e-tests/Cargo.lock b/e2e-tests/Cargo.lock index 30eb393cb1..e2cb7f60ad 100644 --- a/e2e-tests/Cargo.lock +++ b/e2e-tests/Cargo.lock @@ -98,7 +98,7 @@ dependencies = [ [[package]] name = "aleph-e2e-client" -version = "0.7.0" +version = "0.8.0" dependencies = [ "aleph_client", "anyhow", diff --git a/e2e-tests/Cargo.toml b/e2e-tests/Cargo.toml index 0a14771af6..64e3bb1d6d 100644 --- a/e2e-tests/Cargo.toml +++ b/e2e-tests/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "aleph-e2e-client" -version = "0.7.0" +version = "0.8.0" edition = "2021" license = "Apache 2.0" diff --git a/e2e-tests/src/ban.rs b/e2e-tests/src/ban.rs index b8b45ba2e0..227a252e53 100644 --- a/e2e-tests/src/ban.rs +++ b/e2e-tests/src/ban.rs @@ -1,18 +1,30 @@ use aleph_client::{ - change_validators, get_ban_config, get_ban_reason_for_validator, - get_underperformed_validator_session_count, wait_for_event, wait_for_full_era_completion, - AccountId, AnyConnection, RootConnection, XtStatus, + change_validators, get_ban_config, get_ban_info_for_validator, get_block_hash, + get_session_period, get_underperformed_validator_session_count, wait_for_event, + wait_for_full_era_completion, AccountId, AnyConnection, RootConnection, XtStatus, }; use codec::Decode; use log::info; -use primitives::{BanConfig, BanInfo, CommitteeSeats, EraValidators, SessionCount}; +use primitives::{BanConfig, BanInfo, CommitteeSeats, EraValidators, SessionCount, SessionIndex}; +use sp_core::H256; use sp_runtime::Perbill; -use crate::{accounts::account_ids_from_keys, validators::get_test_validators, Config}; +use crate::{ + accounts::account_ids_from_keys, elections::get_members_subset_for_session, + validators::get_test_validators, Config, +}; + +const RESERVED_SEATS: u32 = 2; +const NON_RESERVED_SEATS: u32 = 2; -pub fn setup_test( - config: &Config, -) -> anyhow::Result<(RootConnection, Vec, Vec)> { +type BanTestSetup = ( + RootConnection, + Vec, + Vec, + CommitteeSeats, +); + +pub fn setup_test(config: &Config) -> anyhow::Result { let root_connection = config.create_root_connection(); let validator_keys = get_test_validators(config); @@ -20,8 +32,8 @@ pub fn setup_test( let non_reserved_validators = account_ids_from_keys(&validator_keys.non_reserved); let seats = CommitteeSeats { - reserved_seats: 2, - non_reserved_seats: 2, + reserved_seats: RESERVED_SEATS, + non_reserved_seats: NON_RESERVED_SEATS, }; change_validators( @@ -38,6 +50,7 @@ pub fn setup_test( root_connection, reserved_validators, non_reserved_validators, + seats, )) } @@ -83,9 +96,10 @@ pub fn check_underperformed_validator_session_count( connection: &C, validator: &AccountId, expected_session_count: &SessionCount, + block_hash: Option, ) -> SessionCount { let underperformed_validator_session_count = - get_underperformed_validator_session_count(connection, validator); + get_underperformed_validator_session_count(connection, validator, block_hash); assert_eq!( &underperformed_validator_session_count, @@ -100,7 +114,7 @@ pub fn check_ban_info_for_validator( validator: &AccountId, expected_info: Option<&BanInfo>, ) -> Option { - let validator_ban_info = get_ban_reason_for_validator(connection, validator); + let validator_ban_info = get_ban_info_for_validator(connection, validator); assert_eq!(validator_ban_info.as_ref(), expected_info); @@ -124,3 +138,90 @@ pub fn check_ban_event( Ok(event) } + +pub fn get_members_for_session( + reserved_validators: &[AccountId], + non_reserved_validators: &[AccountId], + seats: &CommitteeSeats, + session: SessionIndex, +) -> Vec { + let reserved_members = + get_members_subset_for_session(seats.reserved_seats, reserved_validators, session); + let non_reserved_members = + get_members_subset_for_session(seats.non_reserved_seats, non_reserved_validators, session); + reserved_members + .into_iter() + .chain(non_reserved_members.into_iter()) + .collect() +} + +/// Checks whether underperformed counts for validators change predictably. Assumes: (a) that the +/// sessions checked are in the past, (b) that all the checked validators are underperforming in +/// those sessions (e.g. due to a prohibitively high performance threshold). +pub fn check_underperformed_count_for_sessions( + connection: &C, + reserved_validators: &[AccountId], + non_reserved_validators: &[AccountId], + seats: &CommitteeSeats, + start_session: SessionIndex, + end_session: SessionIndex, + ban_session_threshold: SessionCount, +) -> anyhow::Result<()> { + let session_period = get_session_period(connection); + + let validators: Vec<_> = reserved_validators + .iter() + .chain(non_reserved_validators.iter()) + .collect(); + + for session in start_session..end_session { + let session_end_block = (session + 1) * session_period; + let session_end_block_hash = get_block_hash(connection, session_end_block); + + let previous_session_end_block = session_end_block - session_period; + let previous_session_end_block_hash = + get_block_hash(connection, previous_session_end_block); + + let members = + get_members_for_session(reserved_validators, non_reserved_validators, seats, session); + + validators.iter().for_each(|&val| { + info!( + "Checking session count | session {} | validator {}", + session, val + ); + let session_underperformed_count = get_underperformed_validator_session_count( + connection, + val, + Some(session_end_block_hash), + ); + let previous_session_underperformed_count = get_underperformed_validator_session_count( + connection, + val, + Some(previous_session_end_block_hash), + ); + + let underperformed_diff = + session_underperformed_count.abs_diff(previous_session_underperformed_count); + + if members.contains(val) { + // Counter for committee members legally incremented by 1 or reset to 0 (decremented + // by ban_session_threshold - 1). + if underperformed_diff != 1 && underperformed_diff != (ban_session_threshold - 1) { + panic!( + "Underperformed session count for committee validator {} for session {} changed from {} to {}.", + val, session, previous_session_underperformed_count, session_underperformed_count + ); + } + } else if underperformed_diff != 0 { + // Counter for validators on the bench should stay the same. + panic!( + "Underperformed session count for non-committee validator {} for session {} changed from {} to {}.", + val, session, previous_session_underperformed_count, session_underperformed_count + ); + } + }); + } + + Ok(()) +} diff --git a/e2e-tests/src/cases.rs b/e2e-tests/src/cases.rs index 586f481442..dd0b626eab 100644 --- a/e2e-tests/src/cases.rs +++ b/e2e-tests/src/cases.rs @@ -3,7 +3,7 @@ use crate::{ test::{ authorities_are_staking as test_authorities_are_staking, ban_automatic as test_ban_automatic, ban_manual as test_ban_manual, - batch_transactions as test_batch_transactions, + ban_threshold as test_ban_threshold, batch_transactions as test_batch_transactions, change_stake_and_force_new_era as test_change_stake_and_force_new_era, change_validators as test_change_validators, channeling_fee_and_tip as test_channeling_fee_and_tip, @@ -70,5 +70,6 @@ pub fn possible_test_cases() -> PossibleTestCases { "clearing_session_count", test_clearing_session_count as TestCase, ), + ("ban_threshold", test_ban_threshold as TestCase), ] } diff --git a/e2e-tests/src/rewards.rs b/e2e-tests/src/rewards.rs index 132175b169..ea87a52ced 100644 --- a/e2e-tests/src/rewards.rs +++ b/e2e-tests/src/rewards.rs @@ -163,12 +163,12 @@ pub fn check_points( info!("Era: {} | session: {}.", era, session); - let beggining_of_session_block = session * session_period; - let end_of_session_block = beggining_of_session_block + session_period; + let beginning_of_session_block = session * session_period; + let end_of_session_block = beginning_of_session_block + session_period; info!("Waiting for block: {}.", end_of_session_block); wait_for_finalized_block(connection, end_of_session_block)?; - let beggining_of_session_block_hash = get_block_hash(connection, beggining_of_session_block); + let beginning_of_session_block_hash = get_block_hash(connection, beginning_of_session_block); let end_of_session_block_hash = get_block_hash(connection, end_of_session_block); let before_end_of_session_block_hash = get_block_hash(connection, end_of_session_block - 1); info!("End-of-session block hash: {}.", end_of_session_block_hash); @@ -188,7 +188,7 @@ pub fn check_points( .individual; let validator_reward_points_previous_session = - get_era_reward_points(connection, era, Some(beggining_of_session_block_hash)) + get_era_reward_points(connection, era, Some(beginning_of_session_block_hash)) .unwrap_or_default() .individual; @@ -229,7 +229,7 @@ pub fn check_points( let members_count = reward_points.len() as f64; for (account_id, reward_points) in reward_points.iter_mut() { let exposure = - download_exposure(connection, era, account_id, beggining_of_session_block_hash); + download_exposure(connection, era, account_id, beginning_of_session_block_hash); *reward_points *= exposure as f64 / members_count; } diff --git a/e2e-tests/src/test/ban.rs b/e2e-tests/src/test/ban.rs index 51ff27fbe5..ea206ca7a8 100644 --- a/e2e-tests/src/test/ban.rs +++ b/e2e-tests/src/test/ban.rs @@ -14,12 +14,15 @@ use crate::{ accounts::{get_validator_seed, NodeKeys}, ban::{ check_ban_config, check_ban_event, check_ban_info_for_validator, - check_underperformed_validator_session_count, check_validators, setup_test, + check_underperformed_count_for_sessions, check_underperformed_validator_session_count, + check_validators, setup_test, }, rewards::set_invalid_keys_for_validator, Config, }; +const SESSIONS_TO_CHECK: SessionCount = 5; + const VALIDATOR_TO_DISABLE_NON_RESERVED_INDEX: u32 = 0; const VALIDATOR_TO_DISABLE_OVERALL_INDEX: u32 = 2; // Address for //2 (Node2). Depends on the infrastructure setup. @@ -29,6 +32,8 @@ const SESSIONS_TO_MEET_BAN_THRESHOLD: SessionCount = 4; const VALIDATOR_TO_MANUALLY_BAN_NON_RESERVED_INDEX: u32 = 1; const MANUAL_BAN_REASON: &str = "Manual ban reason"; +const MIN_EXPECTED_PERFORMANCE: u8 = 100; + fn disable_validator(validator_address: &str, validator_seed: u32) -> anyhow::Result<()> { let validator_seed = get_validator_seed(validator_seed); let stash_controller = NodeKeys::from(validator_seed); @@ -45,7 +50,7 @@ fn disable_validator(validator_address: &str, validator_seed: u32) -> anyhow::Re /// producing blocks. Verifies that the offending validator has in fact been banned out for the /// appropriate reason. pub fn ban_automatic(config: &Config) -> anyhow::Result<()> { - let (root_connection, reserved_validators, non_reserved_validators) = setup_test(config)?; + let (root_connection, reserved_validators, non_reserved_validators, _) = setup_test(config)?; // Check current era validators. check_validators( @@ -67,7 +72,7 @@ pub fn ban_automatic(config: &Config) -> anyhow::Result<()> { info!("Validator to disable: {}", validator_to_disable); - check_underperformed_validator_session_count(&root_connection, validator_to_disable, &0); + check_underperformed_validator_session_count(&root_connection, validator_to_disable, &0, None); check_ban_info_for_validator(&root_connection, validator_to_disable, None); disable_validator(NODE_TO_DISABLE_ADDRESS, VALIDATOR_TO_DISABLE_OVERALL_INDEX)?; @@ -81,7 +86,7 @@ pub fn ban_automatic(config: &Config) -> anyhow::Result<()> { // The session count for underperforming validators is reset to 0 immediately on reaching the // threshold. - check_underperformed_validator_session_count(&root_connection, validator_to_disable, &0); + check_underperformed_validator_session_count(&root_connection, validator_to_disable, &0, None); let reason = BanReason::InsufficientUptime(DEFAULT_BAN_SESSION_COUNT_THRESHOLD); let start = get_current_era(&root_connection) + 1; @@ -114,7 +119,7 @@ pub fn ban_automatic(config: &Config) -> anyhow::Result<()> { /// from the committee with a specific reason. Verifies that validator marked for ban has in /// fact been banned for the given reason. pub fn ban_manual(config: &Config) -> anyhow::Result<()> { - let (root_connection, reserved_validators, non_reserved_validators) = setup_test(config)?; + let (root_connection, reserved_validators, non_reserved_validators, _) = setup_test(config)?; // Check current era validators. check_validators( @@ -136,7 +141,12 @@ pub fn ban_manual(config: &Config) -> anyhow::Result<()> { info!("Validator to manually ban: {}", validator_to_manually_ban); - check_underperformed_validator_session_count(&root_connection, validator_to_manually_ban, &0); + check_underperformed_validator_session_count( + &root_connection, + validator_to_manually_ban, + &0, + None, + ); check_ban_info_for_validator(&root_connection, validator_to_manually_ban, None); let bounded_reason: BoundedVec<_, _> = MANUAL_BAN_REASON @@ -187,9 +197,8 @@ pub fn ban_manual(config: &Config) -> anyhow::Result<()> { /// Disable one non_reserved validator. Check if the disabled validator is still in the committee /// and his underperformed session count is less or equal to 2. pub fn clearing_session_count(config: &Config) -> anyhow::Result<()> { - let (root_connection, reserved_validators, non_reserved_validators) = setup_test(config)?; + let (root_connection, reserved_validators, non_reserved_validators, _) = setup_test(config)?; - info!("changing ban config"); change_ban_config( &root_connection, None, @@ -209,7 +218,7 @@ pub fn clearing_session_count(config: &Config) -> anyhow::Result<()> { wait_for_at_least_session(&root_connection, current_session + 5)?; let underperformed_validator_session_count = - get_underperformed_validator_session_count(&root_connection, validator_to_disable); + get_underperformed_validator_session_count(&root_connection, validator_to_disable, None); // it only has to be ge than 0 and should be cleared before reaching values larger than 3. assert!(underperformed_validator_session_count <= 2); @@ -223,3 +232,55 @@ pub fn clearing_session_count(config: &Config) -> anyhow::Result<()> { Ok(()) } + +/// Runs a chain, sets up a committee and validators. Changes the ban config to require 100% +/// performance. Checks that each validator has all the sessions in which they were chosen for the +/// committee marked as ones in which they underperformed. +pub fn ban_threshold(config: &Config) -> anyhow::Result<()> { + let (root_connection, reserved_validators, non_reserved_validators, seats) = + setup_test(config)?; + + // Check current era validators. + check_validators( + &root_connection, + &reserved_validators, + &non_reserved_validators, + get_current_era_validators, + ); + + check_ban_config( + &root_connection, + DEFAULT_BAN_MINIMAL_EXPECTED_PERFORMANCE, + DEFAULT_BAN_SESSION_COUNT_THRESHOLD, + DEFAULT_CLEAN_SESSION_COUNTER_DELAY, + ); + + // Change ban config to require prohibitively high performance from all validators. + change_ban_config( + &root_connection, + Some(MIN_EXPECTED_PERFORMANCE), + None, + None, + None, + XtStatus::InBlock, + ); + + let ban_config_change_session = get_current_session(&root_connection); + let check_start_session = ban_config_change_session + 1; + let check_end_session = check_start_session + SESSIONS_TO_CHECK - 1; + + // Wait until all the sessions to be checked are in the past. + wait_for_at_least_session(&root_connection, check_end_session + 1)?; + + check_underperformed_count_for_sessions( + &root_connection, + &reserved_validators, + &non_reserved_validators, + &seats, + check_start_session, + check_end_session, + DEFAULT_BAN_SESSION_COUNT_THRESHOLD, + )?; + + Ok(()) +} diff --git a/e2e-tests/src/test/mod.rs b/e2e-tests/src/test/mod.rs index 6946aae617..79e4d51b3b 100644 --- a/e2e-tests/src/test/mod.rs +++ b/e2e-tests/src/test/mod.rs @@ -1,4 +1,4 @@ -pub use ban::{ban_automatic, ban_manual, clearing_session_count}; +pub use ban::{ban_automatic, ban_manual, ban_threshold, clearing_session_count}; pub use electing_validators::authorities_are_staking; pub use era_payout::era_payouts_calculated_correctly; pub use era_validators::era_validators; diff --git a/flooder/Cargo.lock b/flooder/Cargo.lock index 39ec0dda25..d71dccc95b 100644 --- a/flooder/Cargo.lock +++ b/flooder/Cargo.lock @@ -98,7 +98,7 @@ dependencies = [ [[package]] name = "aleph_client" -version = "1.11.0" +version = "1.12.0" dependencies = [ "ac-node-api", "ac-primitives", From 8228b54f42c32e90a5922b299fb38528e9377755 Mon Sep 17 00:00:00 2001 From: timorl Date: Wed, 9 Nov 2022 16:20:40 +0100 Subject: [PATCH 005/212] A0-1455: Add future protocol and decision process for connection direction (#716) * Add future protocol and decision process for connection direction Not used for now, that'll be in the next PR. * Small review comments * Massively improve xor computation * Naming in tests --- .../validator_network/manager/direction.rs | 206 ++++++++ .../src/validator_network/manager/mod.rs | 3 + .../src/validator_network/protocols/mod.rs | 3 + .../src/validator_network/protocols/v1/mod.rs | 447 ++++++++++++++++++ 4 files changed, 659 insertions(+) create mode 100644 finality-aleph/src/validator_network/manager/direction.rs create mode 100644 finality-aleph/src/validator_network/protocols/v1/mod.rs diff --git a/finality-aleph/src/validator_network/manager/direction.rs b/finality-aleph/src/validator_network/manager/direction.rs new file mode 100644 index 0000000000..042a57c607 --- /dev/null +++ b/finality-aleph/src/validator_network/manager/direction.rs @@ -0,0 +1,206 @@ +use std::{ + collections::{HashMap, HashSet}, + ops::BitXor, +}; + +use aleph_primitives::AuthorityId; + +use crate::validator_network::Data; + +/// Data about peers we know and whether we should connect to them or they to us. For the former +/// case also keeps the peers' addresses. +pub struct DirectedPeers { + own_id: AuthorityId, + outgoing: HashMap>, + incoming: HashSet, +} + +/// Whether we should call the remote or the other way around. We xor the peer ids and based on the +/// parity of the sum of bits of the result decide whether the caller should be the smaller or +/// greated lexicographically. They are never equal, because cryptography. +fn should_we_call(own_id: &[u8], remote_id: &[u8]) -> bool { + let xor_sum_parity = (own_id.iter().fold(0u8, BitXor::bitxor) + ^ remote_id.iter().fold(0u8, BitXor::bitxor)) + .count_ones() + % 2; + match xor_sum_parity == 0 { + true => own_id < remote_id, + false => own_id > remote_id, + } +} + +impl DirectedPeers { + /// Create a new set of peers directed using our own peer id. + pub fn new(own_id: AuthorityId) -> Self { + DirectedPeers { + own_id, + outgoing: HashMap::new(), + incoming: HashSet::new(), + } + } + + /// Add a peer to the list of peers we want to stay connected to, or + /// update the list of addresses if the peer was already added. + /// Returns whether we should start attempts at connecting with the peer, which is the case + /// exactly when the peer is one with which we should attempt connections AND it was added for + /// the first time. + pub fn add_peer(&mut self, peer_id: AuthorityId, addresses: Vec) -> bool { + match should_we_call(self.own_id.as_ref(), peer_id.as_ref()) { + true => self.outgoing.insert(peer_id, addresses).is_none(), + false => { + // We discard the addresses here, as we will never want to call this peer anyway, + // so we don't need them. + self.incoming.insert(peer_id); + false + } + } + } + + /// Return the addresses of the given peer, or None if we shouldn't attempt connecting with the peer. + pub fn peer_addresses(&self, peer_id: &AuthorityId) -> Option> { + self.outgoing.get(peer_id).cloned() + } + + /// Whether we should be maintaining a connection with this peer. + pub fn interested(&self, peer_id: &AuthorityId) -> bool { + self.incoming.contains(peer_id) || self.outgoing.contains_key(peer_id) + } + + /// Iterator over the peers we want connections from. + pub fn incoming_peers(&self) -> impl Iterator { + self.incoming.iter() + } + + /// Iterator over the peers we want to connect to. + pub fn outgoing_peers(&self) -> impl Iterator { + self.outgoing.keys() + } + + /// Remove a peer from the list of peers that we want to stay connected with, whether the + /// connection was supposed to be incoming or outgoing. + pub fn remove_peer(&mut self, peer_id: &AuthorityId) { + self.incoming.remove(peer_id); + self.outgoing.remove(peer_id); + } +} + +#[cfg(test)] +mod tests { + use aleph_primitives::AuthorityId; + + use super::DirectedPeers; + use crate::validator_network::mock::key; + + type Address = String; + + async fn container_with_id() -> (DirectedPeers
, AuthorityId) { + let (id, _) = key().await; + let container = DirectedPeers::new(id.clone()); + (container, id) + } + + fn some_addresses() -> Vec
{ + vec![ + String::from(""), + String::from("a/b/c"), + String::from("43.43.43.43:43000"), + ] + } + + #[tokio::test] + async fn exactly_one_direction_attempts_connections() { + let (mut container0, id0) = container_with_id().await; + let (mut container1, id1) = container_with_id().await; + let addresses = some_addresses(); + assert!( + container0.add_peer(id1, addresses.clone()) + != container1.add_peer(id0, addresses.clone()) + ); + } + + async fn container_with_added_connecting_peer() -> (DirectedPeers
, AuthorityId) { + let (mut container0, id0) = container_with_id().await; + let (mut container1, id1) = container_with_id().await; + let addresses = some_addresses(); + match container0.add_peer(id1.clone(), addresses.clone()) { + true => (container0, id1), + false => { + container1.add_peer(id0.clone(), addresses); + (container1, id0) + } + } + } + + async fn container_with_added_nonconnecting_peer() -> (DirectedPeers
, AuthorityId) { + let (mut container0, id0) = container_with_id().await; + let (mut container1, id1) = container_with_id().await; + let addresses = some_addresses(); + match container0.add_peer(id1.clone(), addresses.clone()) { + false => (container0, id1), + true => { + container1.add_peer(id0.clone(), addresses); + (container1, id0) + } + } + } + + #[tokio::test] + async fn no_connecting_on_subsequent_add() { + let (mut container0, id1) = container_with_added_connecting_peer().await; + let addresses = some_addresses(); + assert!(!container0.add_peer(id1, addresses)); + } + + #[tokio::test] + async fn peer_addresses_when_connecting() { + let (container0, id1) = container_with_added_connecting_peer().await; + assert!(container0.peer_addresses(&id1).is_some()); + } + + #[tokio::test] + async fn no_peer_addresses_when_nonconnecting() { + let (container0, id1) = container_with_added_nonconnecting_peer().await; + assert!(container0.peer_addresses(&id1).is_none()); + } + + #[tokio::test] + async fn interested_in_connecting() { + let (container0, id1) = container_with_added_connecting_peer().await; + assert!(container0.interested(&id1)); + } + + #[tokio::test] + async fn interested_in_nonconnecting() { + let (container0, id1) = container_with_added_nonconnecting_peer().await; + assert!(container0.interested(&id1)); + } + + #[tokio::test] + async fn uninterested_in_unknown() { + let (container0, _) = container_with_id().await; + let (_, id1) = container_with_id().await; + assert!(!container0.interested(&id1)); + } + + #[tokio::test] + async fn connecting_are_outgoing() { + let (container0, id1) = container_with_added_connecting_peer().await; + assert_eq!(container0.outgoing_peers().collect::>(), vec![&id1]); + assert_eq!(container0.incoming_peers().next(), None); + } + + #[tokio::test] + async fn nonconnecting_are_incoming() { + let (container0, id1) = container_with_added_nonconnecting_peer().await; + assert_eq!(container0.incoming_peers().collect::>(), vec![&id1]); + assert_eq!(container0.outgoing_peers().next(), None); + } + + #[tokio::test] + async fn uninterested_in_removed() { + let (mut container0, id1) = container_with_added_connecting_peer().await; + assert!(container0.interested(&id1)); + container0.remove_peer(&id1); + assert!(!container0.interested(&id1)); + } +} diff --git a/finality-aleph/src/validator_network/manager/mod.rs b/finality-aleph/src/validator_network/manager/mod.rs index d890cd16c8..e773104e78 100644 --- a/finality-aleph/src/validator_network/manager/mod.rs +++ b/finality-aleph/src/validator_network/manager/mod.rs @@ -8,6 +8,9 @@ use futures::channel::mpsc; use crate::{network::PeerId, validator_network::Data}; +#[allow(dead_code)] +mod direction; + /// Error during sending data through the Manager #[derive(Debug, PartialEq, Eq)] pub enum SendError { diff --git a/finality-aleph/src/validator_network/protocols/mod.rs b/finality-aleph/src/validator_network/protocols/mod.rs index 97f2ad4ed3..c1a6c998a9 100644 --- a/finality-aleph/src/validator_network/protocols/mod.rs +++ b/finality-aleph/src/validator_network/protocols/mod.rs @@ -14,6 +14,8 @@ use crate::{ mod handshake; mod negotiation; mod v0; +#[allow(dead_code)] +mod v1; use handshake::HandshakeError; pub use negotiation::{protocol, ProtocolNegotiationError}; @@ -24,6 +26,7 @@ pub type Version = u32; /// protocol. Remove after it's no longer needed. #[derive(PartialEq, Debug, Eq, Clone, Copy)] pub enum ConnectionType { + New, LegacyIncoming, LegacyOutgoing, } diff --git a/finality-aleph/src/validator_network/protocols/v1/mod.rs b/finality-aleph/src/validator_network/protocols/v1/mod.rs new file mode 100644 index 0000000000..b1599f243e --- /dev/null +++ b/finality-aleph/src/validator_network/protocols/v1/mod.rs @@ -0,0 +1,447 @@ +use aleph_primitives::AuthorityId; +use codec::{Decode, Encode}; +use futures::{channel::mpsc, StreamExt}; +use log::{debug, info, trace}; +use tokio::{ + io::{AsyncRead, AsyncWrite}, + time::{timeout, Duration}, +}; + +use crate::{ + crypto::AuthorityPen, + validator_network::{ + io::{receive_data, send_data}, + protocols::{ + handshake::{v0_handshake_incoming, v0_handshake_outgoing}, + ConnectionType, ProtocolError, ResultForService, + }, + Data, Splittable, + }, +}; + +const HEARTBEAT_TIMEOUT: Duration = Duration::from_secs(5); +const MAX_MISSED_HEARTBEATS: u32 = 4; + +#[derive(Debug, Clone, Encode, Decode)] +enum Message { + Data(D), + Heartbeat, +} + +async fn sending( + mut sender: S, + mut data_from_user: mpsc::UnboundedReceiver, +) -> Result<(), ProtocolError> { + use Message::*; + loop { + let to_send = match timeout(HEARTBEAT_TIMEOUT, data_from_user.next()).await { + Ok(maybe_data) => match maybe_data { + Some(data) => Data(data), + // We have been closed by the parent service, all good. + None => return Ok(()), + }, + _ => Heartbeat, + }; + sender = send_data(sender, to_send).await?; + } +} + +async fn receiving( + mut stream: S, + data_for_user: mpsc::UnboundedSender, +) -> Result<(), ProtocolError> { + use Message::*; + loop { + let (old_stream, message) = timeout( + MAX_MISSED_HEARTBEATS * HEARTBEAT_TIMEOUT, + receive_data(stream), + ) + .await + .map_err(|_| ProtocolError::CardiacArrest)??; + stream = old_stream; + match message { + Data(data) => data_for_user + .unbounded_send(data) + .map_err(|_| ProtocolError::NoUserConnection)?, + Heartbeat => (), + } + } +} + +async fn manage_connection( + sender: S, + receiver: R, + data_from_user: mpsc::UnboundedReceiver, + data_for_user: mpsc::UnboundedSender, +) -> Result<(), ProtocolError> { + let sending = sending(sender, data_from_user); + let receiving = receiving(receiver, data_for_user); + tokio::select! { + result = receiving => result, + result = sending => result, + } +} + +/// Performs the outgoing handshake, and then manages a connection sending and receiving data. +/// Exits on parent request, or in case of broken or dead network connection. +pub async fn outgoing( + stream: S, + authority_pen: AuthorityPen, + peer_id: AuthorityId, + result_for_parent: mpsc::UnboundedSender>, + data_for_user: mpsc::UnboundedSender, +) -> Result<(), ProtocolError> { + trace!(target: "validator-network", "Extending hand to {}.", peer_id); + let (sender, receiver) = v0_handshake_outgoing(stream, authority_pen, peer_id.clone()).await?; + info!(target: "validator-network", "Outgoing handshake with {} finished successfully.", peer_id); + let (data_for_network, data_from_user) = mpsc::unbounded(); + result_for_parent + .unbounded_send((peer_id.clone(), Some(data_for_network), ConnectionType::New)) + .map_err(|_| ProtocolError::NoParentConnection)?; + debug!(target: "validator-network", "Starting worker for communicating with {}.", peer_id); + manage_connection(sender, receiver, data_from_user, data_for_user).await +} + +/// Performs the incoming handshake, and then manages a connection sending and receiving data. +/// Exits on parent request (when the data source is dropped), or in case of broken or dead +/// network connection. +pub async fn incoming( + stream: S, + authority_pen: AuthorityPen, + result_for_parent: mpsc::UnboundedSender>, + data_for_user: mpsc::UnboundedSender, +) -> Result<(), ProtocolError> { + trace!(target: "validator-network", "Waiting for extended hand..."); + let (sender, receiver, peer_id) = v0_handshake_incoming(stream, authority_pen).await?; + info!(target: "validator-network", "Incoming handshake with {} finished successfully.", peer_id); + let (data_for_network, data_from_user) = mpsc::unbounded(); + result_for_parent + .unbounded_send((peer_id.clone(), Some(data_for_network), ConnectionType::New)) + .map_err(|_| ProtocolError::NoParentConnection)?; + debug!(target: "validator-network", "Starting worker for communicating with {}.", peer_id); + manage_connection(sender, receiver, data_from_user, data_for_user).await +} + +#[cfg(test)] +mod tests { + use aleph_primitives::AuthorityId; + use futures::{ + channel::{mpsc, mpsc::UnboundedReceiver}, + pin_mut, FutureExt, StreamExt, + }; + + use super::{incoming, outgoing, ProtocolError}; + use crate::{ + crypto::AuthorityPen, + validator_network::{ + mock::{key, MockSplittable}, + protocols::{ConnectionType, ResultForService}, + Data, + }, + }; + + async fn prepare() -> ( + AuthorityId, + AuthorityPen, + AuthorityId, + AuthorityPen, + impl futures::Future>, + impl futures::Future>, + UnboundedReceiver, + UnboundedReceiver, + UnboundedReceiver>, + UnboundedReceiver>, + ) { + let (stream_incoming, stream_outgoing) = MockSplittable::new(4096); + let (id_incoming, pen_incoming) = key().await; + let (id_outgoing, pen_outgoing) = key().await; + assert_ne!(id_incoming, id_outgoing); + let (incoming_result_for_service, result_from_incoming) = mpsc::unbounded(); + let (outgoing_result_for_service, result_from_outgoing) = mpsc::unbounded(); + let (incoming_data_for_user, data_from_incoming) = mpsc::unbounded::(); + let (outgoing_data_for_user, data_from_outgoing) = mpsc::unbounded::(); + let incoming_handle = incoming( + stream_incoming, + pen_incoming.clone(), + incoming_result_for_service, + incoming_data_for_user, + ); + let outgoing_handle = outgoing( + stream_outgoing, + pen_outgoing.clone(), + id_incoming.clone(), + outgoing_result_for_service, + outgoing_data_for_user, + ); + ( + id_incoming, + pen_incoming, + id_outgoing, + pen_outgoing, + incoming_handle, + outgoing_handle, + data_from_incoming, + data_from_outgoing, + result_from_incoming, + result_from_outgoing, + ) + } + + #[tokio::test] + async fn send_data() { + let ( + _id_incoming, + _pen_incoming, + _id_outgoing, + _pen_outgoing, + incoming_handle, + outgoing_handle, + mut data_from_incoming, + mut data_from_outgoing, + mut result_from_incoming, + mut result_from_outgoing, + ) = prepare::>().await; + let incoming_handle = incoming_handle.fuse(); + let outgoing_handle = outgoing_handle.fuse(); + pin_mut!(incoming_handle); + pin_mut!(outgoing_handle); + let _data_for_outgoing = tokio::select! { + _ = &mut incoming_handle => panic!("incoming process unexpectedly finished"), + _ = &mut outgoing_handle => panic!("outgoing process unexpectedly finished"), + result = result_from_outgoing.next() => { + let (_, maybe_data_for_outgoing, connection_type) = result.expect("the chennel shouldn't be dropped"); + assert_eq!(connection_type, ConnectionType::New); + let data_for_outgoing = maybe_data_for_outgoing.expect("successfully connected"); + data_for_outgoing + .unbounded_send(vec![4, 3, 43]) + .expect("should send"); + data_for_outgoing + .unbounded_send(vec![2, 1, 3, 7]) + .expect("should send"); + data_for_outgoing + }, + }; + let _data_for_incoming = tokio::select! { + _ = &mut incoming_handle => panic!("incoming process unexpectedly finished"), + _ = &mut outgoing_handle => panic!("outgoing process unexpectedly finished"), + result = result_from_incoming.next() => { + let (_, maybe_data_for_incoming, connection_type) = result.expect("the chennel shouldn't be dropped"); + assert_eq!(connection_type, ConnectionType::New); + let data_for_incoming = maybe_data_for_incoming.expect("successfully connected"); + data_for_incoming + .unbounded_send(vec![5, 4, 44]) + .expect("should send"); + data_for_incoming + .unbounded_send(vec![3, 2, 4, 8]) + .expect("should send"); + data_for_incoming + }, + }; + tokio::select! { + _ = &mut incoming_handle => panic!("incoming process unexpectedly finished"), + _ = &mut outgoing_handle => panic!("outgoing process unexpectedly finished"), + v = data_from_incoming.next() => { + assert_eq!(v, Some(vec![4, 3, 43])); + }, + }; + tokio::select! { + _ = &mut incoming_handle => panic!("incoming process unexpectedly finished"), + _ = &mut outgoing_handle => panic!("outgoing process unexpectedly finished"), + v = data_from_incoming.next() => { + assert_eq!(v, Some(vec![2, 1, 3, 7])); + }, + }; + tokio::select! { + _ = &mut incoming_handle => panic!("incoming process unexpectedly finished"), + _ = &mut outgoing_handle => panic!("outgoing process unexpectedly finished"), + v = data_from_outgoing.next() => { + assert_eq!(v, Some(vec![5, 4, 44])); + }, + }; + tokio::select! { + _ = &mut incoming_handle => panic!("incoming process unexpectedly finished"), + _ = &mut outgoing_handle => panic!("outgoing process unexpectedly finished"), + v = data_from_outgoing.next() => { + assert_eq!(v, Some(vec![3, 2, 4, 8])); + }, + }; + } + + #[tokio::test] + async fn closed_by_parent_service() { + let ( + _id_incoming, + _pen_incoming, + id_outgoing, + _pen_outgoing, + incoming_handle, + outgoing_handle, + _data_from_incoming, + _data_from_outgoing, + mut result_from_incoming, + _result_from_outgoing, + ) = prepare::>().await; + let incoming_handle = incoming_handle.fuse(); + let outgoing_handle = outgoing_handle.fuse(); + pin_mut!(incoming_handle); + pin_mut!(outgoing_handle); + tokio::select! { + _ = &mut incoming_handle => panic!("incoming process unexpectedly finished"), + _ = &mut outgoing_handle => panic!("outgoing process unexpectedly finished"), + received = result_from_incoming.next() => { + // we drop the data sending channel, thus finishing incoming_handle + let (received_id, _, connection_type) = received.expect("the chennel shouldn't be dropped"); + assert_eq!(connection_type, ConnectionType::New); + assert_eq!(received_id, id_outgoing); + }, + }; + incoming_handle + .await + .expect("closed manually, should finish with no error"); + } + + #[tokio::test] + async fn parent_service_dead() { + let ( + _id_incoming, + _pen_incoming, + _id_outgoing, + _pen_outgoing, + incoming_handle, + outgoing_handle, + _data_from_incoming, + _data_from_outgoing, + result_from_incoming, + _result_from_outgoing, + ) = prepare::>().await; + std::mem::drop(result_from_incoming); + let incoming_handle = incoming_handle.fuse(); + let outgoing_handle = outgoing_handle.fuse(); + pin_mut!(incoming_handle); + pin_mut!(outgoing_handle); + tokio::select! { + e = &mut incoming_handle => match e { + Err(ProtocolError::NoParentConnection) => (), + Err(e) => panic!("unexpected error: {}", e), + Ok(_) => panic!("successfully finished when parent dead"), + }, + _ = &mut outgoing_handle => panic!("outgoing process unexpectedly finished"), + }; + } + + #[tokio::test] + async fn parent_user_dead() { + let ( + _id_incoming, + _pen_incoming, + _id_outgoing, + _pen_outgoing, + incoming_handle, + outgoing_handle, + data_from_incoming, + _data_from_outgoing, + _result_from_incoming, + mut result_from_outgoing, + ) = prepare::>().await; + std::mem::drop(data_from_incoming); + let incoming_handle = incoming_handle.fuse(); + let outgoing_handle = outgoing_handle.fuse(); + pin_mut!(incoming_handle); + pin_mut!(outgoing_handle); + let _data_for_outgoing = tokio::select! { + _ = &mut incoming_handle => panic!("incoming process unexpectedly finished"), + _ = &mut outgoing_handle => panic!("outgoing process unexpectedly finished"), + result = result_from_outgoing.next() => { + let (_, maybe_data_for_outgoing, connection_type) = result.expect("the chennel shouldn't be dropped"); + assert_eq!(connection_type, ConnectionType::New); + let data_for_outgoing = maybe_data_for_outgoing.expect("successfully connected"); + data_for_outgoing + .unbounded_send(vec![2, 1, 3, 7]) + .expect("should send"); + data_for_outgoing + }, + }; + tokio::select! { + e = &mut incoming_handle => match e { + Err(ProtocolError::NoUserConnection) => (), + Err(e) => panic!("unexpected error: {}", e), + Ok(_) => panic!("successfully finished when user dead"), + }, + _ = &mut outgoing_handle => panic!("outgoing process unexpectedly finished"), + }; + } + + #[tokio::test] + async fn sender_dead_before_handshake() { + let ( + _id_incoming, + _pen_incoming, + _id_outgoing, + _pen_outgoing, + incoming_handle, + outgoing_handle, + _data_from_incoming, + _data_from_outgoing, + _result_from_incoming, + _result_from_outgoing, + ) = prepare::>().await; + std::mem::drop(outgoing_handle); + match incoming_handle.await { + Err(ProtocolError::HandshakeError(_)) => (), + Err(e) => panic!("unexpected error: {}", e), + Ok(_) => panic!("successfully finished when connection dead"), + }; + } + + #[tokio::test] + async fn sender_dead_after_handshake() { + let ( + _id_incoming, + _pen_incoming, + _id_outgoing, + _pen_outgoing, + incoming_handle, + outgoing_handle, + _data_from_incoming, + _data_from_outgoing, + mut result_from_incoming, + _result_from_outgoing, + ) = prepare::>().await; + let incoming_handle = incoming_handle.fuse(); + pin_mut!(incoming_handle); + let (_, _exit, connection_type) = tokio::select! { + _ = &mut incoming_handle => panic!("incoming process unexpectedly finished"), + _ = outgoing_handle => panic!("outgoing process unexpectedly finished"), + out = result_from_incoming.next() => out.expect("should receive"), + }; + assert_eq!(connection_type, ConnectionType::New); + // outgoing_handle got consumed by tokio::select!, the sender is dead + match incoming_handle.await { + Err(ProtocolError::ReceiveError(_)) => (), + Err(e) => panic!("unexpected error: {}", e), + Ok(_) => panic!("successfully finished when connection dead"), + }; + } + + #[tokio::test] + async fn receiver_dead_before_handshake() { + let ( + _id_incoming, + _pen_incoming, + _id_outgoing, + _pen_outgoing, + incoming_handle, + outgoing_handle, + _data_from_incoming, + _data_from_outgoing, + _result_from_incoming, + _result_from_outgoing, + ) = prepare::>().await; + std::mem::drop(incoming_handle); + match outgoing_handle.await { + Err(ProtocolError::HandshakeError(_)) => (), + Err(e) => panic!("unexpected error: {}", e), + Ok(_) => panic!("successfully finished when connection dead"), + }; + } +} From 83b21d937340f60de0f787cdd26fb9b2179b3e86 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maciej=20Nem=C5=9B?= Date: Thu, 10 Nov 2022 12:29:13 +0100 Subject: [PATCH 006/212] A0-1413: remove legacy network (#719) * remove legacy network * fix tests * remove unnecessary comment * fix test names --- bin/node/src/service.rs | 10 +- docker/docker-compose.bridged.yml | 6 + finality-aleph/src/lib.rs | 8 - .../src/network/manager/discovery.rs | 63 +- finality-aleph/src/network/manager/mod.rs | 2 +- finality-aleph/src/network/manager/service.rs | 28 +- finality-aleph/src/network/mock.rs | 38 +- finality-aleph/src/network/mod.rs | 8 +- finality-aleph/src/network/service.rs | 804 ++++-------------- finality-aleph/src/network/session.rs | 71 +- finality-aleph/src/nodes/validator_node.rs | 22 +- finality-aleph/src/substrate_network.rs | 13 - .../src/testing/mocks/validator_network.rs | 34 +- finality-aleph/src/testing/network.rs | 438 +++------- 14 files changed, 335 insertions(+), 1210 deletions(-) diff --git a/bin/node/src/service.rs b/bin/node/src/service.rs index 4d0ad4ed2f..48549f4df0 100644 --- a/bin/node/src/service.rs +++ b/bin/node/src/service.rs @@ -192,10 +192,6 @@ fn setup( ), ServiceError, > { - config - .network - .extra_sets - .push(finality_aleph::peers_set_config(Protocol::Generic)); config .network .extra_sets @@ -246,7 +242,7 @@ fn setup( /// Builds a new service for a full client. pub fn new_authority( - mut config: Configuration, + config: Configuration, aleph_config: AlephCli, ) -> Result { let sc_service::PartialComponents { @@ -259,10 +255,6 @@ pub fn new_authority( transaction_pool, other: (block_import, justification_tx, justification_rx, mut telemetry, metrics), } = new_partial(&config)?; - config - .network - .extra_sets - .push(finality_aleph::peers_set_config(Protocol::Validator)); let backup_path = get_backup_path( &aleph_config, diff --git a/docker/docker-compose.bridged.yml b/docker/docker-compose.bridged.yml index 2ee3ddc132..b1303e4ca4 100644 --- a/docker/docker-compose.bridged.yml +++ b/docker/docker-compose.bridged.yml @@ -6,6 +6,8 @@ services: networks: - main - Node0 + environment: + - PUBLIC_VALIDATOR_ADDRESS=Node0:30343 Node1: extends: @@ -15,6 +17,7 @@ services: - main - Node1 environment: + - PUBLIC_VALIDATOR_ADDRESS=Node1:30344 - BOOT_NODES=/dns4/Node0/tcp/30333/p2p/$BOOTNODE_PEER_ID Node2: @@ -25,6 +28,7 @@ services: - main - Node2 environment: + - PUBLIC_VALIDATOR_ADDRESS=Node2:30345 - BOOT_NODES=/dns4/Node0/tcp/30333/p2p/$BOOTNODE_PEER_ID Node3: @@ -35,6 +39,7 @@ services: - main - Node3 environment: + - PUBLIC_VALIDATOR_ADDRESS=Node3:30346 - BOOT_NODES=/dns4/Node0/tcp/30333/p2p/$BOOTNODE_PEER_ID Node4: @@ -45,6 +50,7 @@ services: - main - Node4 environment: + - PUBLIC_VALIDATOR_ADDRESS=Node4:30347 - BOOT_NODES=/dns4/Node0/tcp/30333/p2p/$BOOTNODE_PEER_ID networks: diff --git a/finality-aleph/src/lib.rs b/finality-aleph/src/lib.rs index 8326fa7bc6..dab38bbbe9 100644 --- a/finality-aleph/src/lib.rs +++ b/finality-aleph/src/lib.rs @@ -83,14 +83,6 @@ pub fn peers_set_config(protocol: Protocol) -> sc_network::config::NonDefaultSet ); config.set_config = match protocol { - // No spontaneous connections, only reserved nodes added by the network logic. - Protocol::Validator => sc_network::config::SetConfig { - in_peers: 0, - out_peers: 0, - reserved_nodes: Vec::new(), - non_reserved_mode: sc_network::config::NonReservedPeerMode::Deny, - }, - Protocol::Generic => sc_network::config::SetConfig::default(), Protocol::Authentication => sc_network::config::SetConfig::default(), }; config diff --git a/finality-aleph/src/network/manager/discovery.rs b/finality-aleph/src/network/manager/discovery.rs index 93bab16160..02b1a22f86 100644 --- a/finality-aleph/src/network/manager/discovery.rs +++ b/finality-aleph/src/network/manager/discovery.rs @@ -5,12 +5,12 @@ use std::{ }; use codec::{Decode, Encode}; -use log::{debug, info, trace, warn}; +use log::{debug, info, trace}; use crate::{ network::{ manager::{Authentication, SessionHandler}, - DataCommand, Multiaddress, Protocol, + DataCommand, Multiaddress, }, NodeIndex, SessionId, }; @@ -33,7 +33,7 @@ impl DiscoveryMessage { } } -/// Handles creating and responding to discovery messages. +/// Handles creating and rebroadcasting discovery messages. pub struct Discovery { cooldown: Duration, last_broadcast: HashMap, @@ -54,16 +54,6 @@ fn authentication_broadcast( ) } -fn response( - authentication: Authentication, - peer_id: M::PeerId, -) -> DiscoveryCommand { - ( - DiscoveryMessage::Authentication(authentication), - DataCommand::SendTo(peer_id, Protocol::Generic), - ) -} - impl Discovery { /// Create a new discovery handler with the given response/broadcast cooldown. pub fn new(cooldown: Duration) -> Self { @@ -122,16 +112,6 @@ impl Discovery { } let node_id = authentication.0.creator(); let mut messages = Vec::new(); - match handler.peer_id(&node_id) { - Some(peer_id) => { - if let Some(handler_authentication) = handler.authentication() { - messages.push(response(handler_authentication, peer_id)); - } - } - None => { - warn!(target: "aleph-network", "Id of correctly authenticated peer not present.") - } - } if self.should_rebroadcast(&node_id) { trace!(target: "aleph-network", "Rebroadcasting {:?}.", authentication); self.last_broadcast.insert(node_id, Instant::now()); @@ -256,7 +236,7 @@ mod tests { } #[tokio::test] - async fn rebroadcasts_responds_and_accepts_addresses() { + async fn rebroadcasts_and_accepts_addresses() { let (mut discovery, mut handlers, _) = build().await; let authentication = handlers[1].authentication().unwrap(); let handler = &mut handlers[0]; @@ -265,19 +245,15 @@ mod tests { handler, ); assert_eq!(addresses, authentication.0.addresses()); - assert_eq!(commands.len(), 2); + assert_eq!(commands.len(), 1); assert!(commands.iter().any(|command| matches!(command, ( DiscoveryMessage::AuthenticationBroadcast(rebroadcast_authentication), DataCommand::Broadcast, ) if rebroadcast_authentication == &authentication))); - assert!(commands.iter().any(|command| matches!(command, ( - DiscoveryMessage::Authentication(authentication), - DataCommand::SendTo(_, _), - ) if *authentication == handler.authentication().unwrap()))); } #[tokio::test] - async fn non_validators_rebroadcasts_responds() { + async fn non_validators_rebroadcasts() { let (mut discovery, handlers, mut non_validator) = build().await; let authentication = handlers[1].authentication().unwrap(); let (addresses, commands) = discovery.handle_message( @@ -293,7 +269,7 @@ mod tests { } #[tokio::test] - async fn does_not_rebroadcast_nor_respond_to_wrong_authentications() { + async fn does_not_rebroadcast_wrong_authentications() { let (mut discovery, mut handlers, _) = build().await; let (auth_data, _) = handlers[1].authentication().unwrap(); let (_, signature) = handlers[2].authentication().unwrap(); @@ -307,31 +283,6 @@ mod tests { assert!(commands.is_empty()); } - #[tokio::test] - async fn does_not_rebroadcast_quickly_but_still_responds() { - let (mut discovery, mut handlers, _) = build().await; - let authentication = handlers[1].authentication().unwrap(); - let handler = &mut handlers[0]; - discovery.handle_message( - DiscoveryMessage::AuthenticationBroadcast(authentication.clone()), - handler, - ); - let (addresses, commands) = discovery.handle_message( - DiscoveryMessage::AuthenticationBroadcast(authentication.clone()), - handler, - ); - assert_eq!(addresses.len(), authentication.0.addresses().len()); - assert_eq!( - addresses[0].encode(), - authentication.0.addresses()[0].encode() - ); - assert_eq!(commands.len(), 1); - assert!(matches!(&commands[0], ( - DiscoveryMessage::Authentication(authentication), - DataCommand::SendTo(_, _), - ) if *authentication == handler.authentication().unwrap())); - } - #[tokio::test] async fn rebroadcasts_after_cooldown() { let (mut discovery, mut handlers, _) = build().await; diff --git a/finality-aleph/src/network/manager/mod.rs b/finality-aleph/src/network/manager/mod.rs index e2c7b3a83c..d7ff87df50 100644 --- a/finality-aleph/src/network/manager/mod.rs +++ b/finality-aleph/src/network/manager/mod.rs @@ -52,7 +52,7 @@ pub type Authentication = (AuthData, Signature); /// The order of the data and session_id is fixed in encode and the decode expects it to be data, session_id. /// Since data is versioned, i.e. it's encoding starts with a version number in the standardized way, /// this will allow us to retrofit versioning here if we ever need to change this structure. -#[derive(Clone)] +#[derive(Clone, Debug, PartialEq, Eq)] pub struct DataInSession { pub data: D, pub session_id: SessionId, diff --git a/finality-aleph/src/network/manager/service.rs b/finality-aleph/src/network/manager/service.rs index da1bdb597b..ea8bdadd8f 100644 --- a/finality-aleph/src/network/manager/service.rs +++ b/finality-aleph/src/network/manager/service.rs @@ -19,7 +19,7 @@ use crate::{ Connections, Discovery, DiscoveryMessage, NetworkData, SessionHandler, SessionHandlerError, }, - ConnectionCommand, Data, DataCommand, Multiaddress, NetworkIdentity, PeerId, Protocol, + ConnectionCommand, Data, DataCommand, Multiaddress, NetworkIdentity, PeerId, }, MillisecsPerBlock, NodeIndex, SessionId, SessionPeriod, STATUS_REPORT_INTERVAL, }; @@ -448,22 +448,12 @@ impl Service { Recipient::Everyone => (0..handler.node_count().0) .map(NodeIndex) .flat_map(|node_id| handler.peer_id(&node_id)) - .map(|peer_id| { - ( - to_send.clone(), - DataCommand::SendTo(peer_id, Protocol::Validator), - ) - }) + .map(|peer_id| (to_send.clone(), DataCommand::SendTo(peer_id))) .collect(), Recipient::Node(node_id) => handler .peer_id(&node_id) .into_iter() - .map(|peer_id| { - ( - to_send.clone(), - DataCommand::SendTo(peer_id, Protocol::Validator), - ) - }) + .map(|peer_id| (to_send.clone(), DataCommand::SendTo(peer_id))) .collect(), } } else { @@ -782,7 +772,7 @@ mod tests { network::{ manager::{DiscoveryMessage, NetworkData}, mock::{crypto_basics, MockNetworkIdentity}, - ConnectionCommand, DataCommand, Protocol, + ConnectionCommand, DataCommand, }, Recipient, SessionId, }; @@ -934,13 +924,10 @@ mod tests { addresses.into_iter().collect() )) ); - assert_eq!(data.len(), 2); + assert_eq!(data.len(), 1); assert!(data .iter() .any(|(_, command)| command == &DataCommand::Broadcast)); - assert!(data - .iter() - .any(|(_, command)| matches!(command, &DataCommand::SendTo(_, _)))); } #[tokio::test] @@ -975,10 +962,7 @@ mod tests { let messages = service.on_user_message(2137, session_id, Recipient::Everyone); assert_eq!(messages.len(), 1); let (network_data, data_command) = &messages[0]; - assert!(matches!( - data_command, - DataCommand::SendTo(_, Protocol::Validator) - )); + assert!(matches!(data_command, DataCommand::SendTo(_))); assert_eq!(network_data, &NetworkData::Data(2137, session_id)); } } diff --git a/finality-aleph/src/network/mock.rs b/finality-aleph/src/network/mock.rs index 6817de8251..2ac4283397 100644 --- a/finality-aleph/src/network/mock.rs +++ b/finality-aleph/src/network/mock.rs @@ -2,6 +2,7 @@ use std::{ collections::{HashSet, VecDeque}, fmt, sync::Arc, + time::Duration, }; use aleph_primitives::KEY_TYPE; @@ -14,6 +15,7 @@ use futures::{ use parking_lot::Mutex; use rand::random; use sp_keystore::{testing::KeyStore, CryptoStore}; +use tokio::time::timeout; use crate::{ crypto::{AuthorityPen, AuthorityVerifier}, @@ -106,6 +108,8 @@ pub struct Channel( pub Arc>>, ); +const TIMEOUT_FAIL: Duration = Duration::from_secs(10); + impl Channel { pub fn new() -> Self { let (tx, rx) = mpsc::unbounded(); @@ -117,7 +121,19 @@ impl Channel { } pub async fn next(&mut self) -> Option { - self.1.lock().await.next().await + timeout(TIMEOUT_FAIL, self.1.lock().await.next()) + .await + .ok() + .flatten() + } + + pub async fn take(&mut self, n: usize) -> Vec { + timeout( + TIMEOUT_FAIL, + self.1.lock().await.by_ref().take(n).collect::>(), + ) + .await + .unwrap_or(Vec::new()) } pub async fn try_next(&self) -> Option { @@ -142,38 +158,24 @@ pub type MockData = Vec; type MessageForUser = (NetworkData, DataCommand<::PeerId>); type NetworkServiceIO = NetworkIO, M>; -pub struct MockIO { +pub struct MockIO { pub messages_for_user: mpsc::UnboundedSender>, pub messages_from_user: mpsc::UnboundedReceiver>, pub commands_for_manager: mpsc::UnboundedSender>, - pub legacy_messages_for_user: mpsc::UnboundedSender>, - pub legacy_messages_from_user: mpsc::UnboundedReceiver>, - pub legacy_commands_for_manager: mpsc::UnboundedSender>, } -impl MockIO { - pub fn new() -> (MockIO, NetworkServiceIO, NetworkServiceIO) { +impl MockIO { + pub fn new() -> (MockIO, NetworkServiceIO) { let (mock_messages_for_user, messages_from_user) = mpsc::unbounded(); let (messages_for_user, mock_messages_from_user) = mpsc::unbounded(); let (mock_commands_for_manager, commands_from_manager) = mpsc::unbounded(); - let (legacy_mock_messages_for_user, legacy_messages_from_user) = mpsc::unbounded(); - let (legacy_messages_for_user, legacy_mock_messages_from_user) = mpsc::unbounded(); - let (legacy_mock_commands_for_manager, legacy_commands_from_manager) = mpsc::unbounded(); ( MockIO { messages_for_user: mock_messages_for_user, messages_from_user: mock_messages_from_user, commands_for_manager: mock_commands_for_manager, - legacy_messages_for_user: legacy_mock_messages_for_user, - legacy_messages_from_user: legacy_mock_messages_from_user, - legacy_commands_for_manager: legacy_mock_commands_for_manager, }, NetworkServiceIO::new(messages_from_user, messages_for_user, commands_from_manager), - NetworkServiceIO::new( - legacy_messages_from_user, - legacy_messages_for_user, - legacy_commands_from_manager, - ), ) } } diff --git a/finality-aleph/src/network/mod.rs b/finality-aleph/src/network/mod.rs index 91dc680378..5862a55341 100644 --- a/finality-aleph/src/network/mod.rs +++ b/finality-aleph/src/network/mod.rs @@ -70,13 +70,9 @@ pub trait Multiaddress: Debug + Hash + Codec + Clone + Eq + Send + Sync { fn add_matching_peer_id(self, peer_id: Self::PeerId) -> Option; } -/// The Generic protocol is used for validator discovery. -/// The Validator protocol is used for validator-specific messages, i.e. ones needed for -/// finalization. +/// The Authentication protocol is used for validator discovery. #[derive(Debug, PartialEq, Eq, Copy, Clone, Hash)] pub enum Protocol { - Generic, - Validator, Authentication, } @@ -165,7 +161,7 @@ pub trait RequestBlocks: Clone + Send + Sync + 'static { #[derive(Debug, PartialEq, Eq, Clone)] pub enum DataCommand { Broadcast, - SendTo(PID, Protocol), + SendTo(PID), } /// Commands for manipulating the reserved peers set. diff --git a/finality-aleph/src/network/service.rs b/finality-aleph/src/network/service.rs index ca7bf71e10..6028945cbd 100644 --- a/finality-aleph/src/network/service.rs +++ b/finality-aleph/src/network/service.rs @@ -17,7 +17,7 @@ use crate::{ network::{ manager::{NetworkData, VersionedAuthentication}, ConnectionCommand, Data, DataCommand, Event, EventStream, Multiaddress, Network, - NetworkSender, PeerId, Protocol, + NetworkSender, Protocol, }, validator_network::Network as ValidatorNetwork, STATUS_REPORT_INTERVAL, @@ -37,7 +37,6 @@ type MessageFromUser = (NetworkData, DataCommand< pub struct Service< N: Network, D: Data, - LD: Data, A: Data + Multiaddress, VN: ValidatorNetwork>, > { @@ -46,20 +45,9 @@ pub struct Service< messages_from_user: mpsc::UnboundedReceiver>, messages_for_user: mpsc::UnboundedSender>, commands_from_manager: mpsc::UnboundedReceiver>, - // In future these legacy senders and receiver will be removed - legacy_messages_from_user: mpsc::UnboundedReceiver<(LD, DataCommand)>, - legacy_messages_for_user: mpsc::UnboundedSender, - legacy_commands_from_manager: mpsc::UnboundedReceiver>, - legacy_generic_connected_peers: HashSet, - legacy_validator_connected_peers: HashSet, authentication_connected_peers: HashSet, - // For now we need to use `Vec` here. - // This is needed for backward compatibility with old network. - // This can be changed back to `Data` once Legacy Network is removed. - // In future this will be changed to somethig like `AuthenticationData`. - legacy_generic_peer_senders: HashMap>>, - legacy_validator_peer_senders: HashMap>>, - authentication_peer_senders: HashMap>>, + authentication_peer_senders: + HashMap>>, spawn_handle: SpawnTaskHandle, } @@ -90,42 +78,27 @@ enum SendError { SendingFailed, } -#[derive(Debug)] -enum SendToUserError { - LegacySender, - LatestSender, -} - impl< N: Network, D: Data, - LD: Data, A: Data + Multiaddress, VN: ValidatorNetwork>, - > Service + > Service { pub fn new( network: N, validator_network: VN, spawn_handle: SpawnTaskHandle, io: IO, A>, - legacy_io: IO, - ) -> Service { + ) -> Service { Service { network, validator_network, messages_from_user: io.messages_from_user, messages_for_user: io.messages_for_user, commands_from_manager: io.commands_from_manager, - legacy_messages_from_user: legacy_io.messages_from_user, - legacy_messages_for_user: legacy_io.messages_for_user, - legacy_commands_from_manager: legacy_io.commands_from_manager, spawn_handle, - legacy_generic_connected_peers: HashSet::new(), - legacy_validator_connected_peers: HashSet::new(), authentication_connected_peers: HashSet::new(), - legacy_generic_peer_senders: HashMap::new(), - legacy_validator_peer_senders: HashMap::new(), authentication_peer_senders: HashMap::new(), } } @@ -134,10 +107,8 @@ impl< &mut self, peer: &N::PeerId, protocol: Protocol, - ) -> Option<&mut TracingUnboundedSender>> { + ) -> Option<&mut TracingUnboundedSender>> { match protocol { - Protocol::Generic => self.legacy_generic_peer_senders.get_mut(peer), - Protocol::Validator => self.legacy_validator_peer_senders.get_mut(peer), Protocol::Authentication => self.authentication_peer_senders.get_mut(peer), } } @@ -145,7 +116,7 @@ impl< fn peer_sender( &self, peer_id: N::PeerId, - mut receiver: TracingUnboundedReceiver>, + mut receiver: TracingUnboundedReceiver>, protocol: Protocol, ) -> impl Future + Send + 'static { let network = self.network.clone(); @@ -164,7 +135,7 @@ impl< } } }; - if let Err(e) = s.send(data).await { + if let Err(e) = s.send(data.encode()).await { debug!(target: "aleph-network", "Failed sending data to peer. Dropping sender and message: {}", e); sender = None; } @@ -178,7 +149,7 @@ impl< fn send_to_peer( &mut self, - data: Vec, + data: VersionedAuthentication, peer: N::PeerId, protocol: Protocol, ) -> Result<(), SendError> { @@ -200,11 +171,9 @@ impl< } } - fn broadcast(&mut self, data: Vec, protocol: Protocol) { + fn broadcast(&mut self, data: VersionedAuthentication, protocol: Protocol) { let peers = match protocol { // Validator protocol will never broadcast. - Protocol::Validator => HashSet::new(), - Protocol::Generic => self.legacy_generic_connected_peers.clone(), Protocol::Authentication => self.authentication_connected_peers.clone(), }; for peer in peers { @@ -219,41 +188,22 @@ impl< fn handle_network_event( &mut self, event: Event, - ) -> Result<(), SendToUserError> { + ) -> Result<(), mpsc::TrySendError>> { use Event::*; match event { Connected(multiaddress) => { trace!(target: "aleph-network", "Connected event from address {:?}", multiaddress); - self.network.add_reserved( - iter::once(multiaddress.clone()).collect(), - Protocol::Generic, - ); self.network .add_reserved(iter::once(multiaddress).collect(), Protocol::Authentication); } Disconnected(peer) => { trace!(target: "aleph-network", "Disconnected event for peer {:?}", peer); - self.network - .remove_reserved(iter::once(peer.clone()).collect(), Protocol::Generic); self.network .remove_reserved(iter::once(peer).collect(), Protocol::Authentication); } StreamOpened(peer, protocol) => { trace!(target: "aleph-network", "StreamOpened event for peer {:?} and the protocol {:?}.", peer, protocol); let rx = match &protocol { - Protocol::Generic => { - let (tx, rx) = tracing_unbounded("mpsc_notification_stream_legacy_generic"); - self.legacy_generic_connected_peers.insert(peer.clone()); - self.legacy_generic_peer_senders.insert(peer.clone(), tx); - rx - } - Protocol::Validator => { - let (tx, rx) = - tracing_unbounded("mpsc_notification_stream_legacy_validator"); - self.legacy_validator_connected_peers.insert(peer.clone()); - self.legacy_validator_peer_senders.insert(peer.clone(), tx); - rx - } Protocol::Authentication => { let (tx, rx) = tracing_unbounded("mpsc_notification_stream_authentication"); self.authentication_connected_peers.insert(peer.clone()); @@ -270,14 +220,6 @@ impl< StreamClosed(peer, protocol) => { trace!(target: "aleph-network", "StreamClosed event for peer {:?} and protocol {:?}", peer, protocol); match protocol { - Protocol::Generic => { - self.legacy_generic_connected_peers.remove(&peer); - self.legacy_generic_peer_senders.remove(&peer); - } - Protocol::Validator => { - self.legacy_validator_connected_peers.remove(&peer); - self.legacy_validator_peer_senders.remove(&peer); - } Protocol::Authentication => { self.authentication_connected_peers.remove(&peer); self.authentication_peer_senders.remove(&peer); @@ -287,32 +229,11 @@ impl< Messages(messages) => { for (protocol, data) in messages.into_iter() { match protocol { - Protocol::Generic => match LD::decode(&mut &data[..]) { - Ok(data) => self - .legacy_messages_for_user - .unbounded_send(data) - .map_err(|_| SendToUserError::LegacySender)?, - Err(e) => { - warn!(target: "aleph-network", "Error decoding legacy generic protocol message: {}", e) - } - }, - Protocol::Validator => match LD::decode(&mut &data[..]) { - Ok(data) => self - .legacy_messages_for_user - .unbounded_send(data) - .map_err(|_| SendToUserError::LegacySender)?, - Err(e) => { - warn!(target: "aleph-network", "Error decoding legacy validator protocol message: {}", e) - } - }, Protocol::Authentication => { match VersionedAuthentication::::decode(&mut &data[..]) .map(|a| a.try_into()) { - Ok(Ok(data)) => self - .messages_for_user - .unbounded_send(data) - .map_err(|_| SendToUserError::LatestSender)?, + Ok(Ok(data)) => self.messages_for_user.unbounded_send(data)?, Ok(Err(e)) => { warn!(target: "aleph-network", "Error decoding authentication protocol message: {}", e) } @@ -353,17 +274,6 @@ impl< } } - /// This will be removed in the future - fn legacy_on_manager_command(&mut self, command: ConnectionCommand) { - use ConnectionCommand::*; - match command { - AddReserved(addresses) => { - self.network.add_reserved(addresses, Protocol::Validator); - } - DelReserved(peers) => self.network.remove_reserved(peers, Protocol::Validator), - } - } - fn on_user_message(&mut self, data: NetworkData, command: DataCommand) { use DataCommand::*; @@ -371,8 +281,8 @@ impl< NetworkData::Meta(discovery_message) => { let data: VersionedAuthentication = discovery_message.into(); match command { - Broadcast => self.broadcast(data.encode(), Protocol::Authentication), - SendTo(_, _) => { + Broadcast => self.broadcast(data, Protocol::Authentication), + SendTo(_) => { // We ignore this for now. Sending Meta messages to peer is an optimization done for the sake of tests. } } @@ -382,7 +292,7 @@ impl< Broadcast => { // We ignore this for now. AlephBFT does not broadcast data. } - SendTo(peer, _) => self + SendTo(peer) => self .validator_network .send(DataInSession { data, session_id }, peer), } @@ -390,19 +300,6 @@ impl< } } - /// This will be removed in the future - fn legacy_on_user_message(&mut self, data: LD, command: DataCommand) { - use DataCommand::*; - match command { - Broadcast => self.broadcast(data.encode(), Protocol::Generic), - SendTo(peer, protocol) => { - if let Err(e) = self.send_to_peer(data.encode(), peer.clone(), protocol) { - trace!(target: "aleph-network", "Failed to send data to peer{:?} via protocol {:?}, {:?}", peer, protocol, e); - } - } - } - } - fn status_report(&self) { let mut status = String::from("Network status report: "); @@ -411,23 +308,6 @@ impl< self.authentication_connected_peers.len() )); - status.push_str(&format!( - "generic connected peers - {:?}; ", - self.legacy_generic_connected_peers.len() - )); - - let peer_ids = self - .legacy_validator_connected_peers - .iter() - .map(|peer_id| peer_id.to_short_string()) - .collect::>() - .join(", "); - status.push_str(&format!( - "validator connected peers - {:?} [{}]; ", - self.legacy_validator_connected_peers.len(), - peer_ids, - )); - info!(target: "aleph-network", "{}", status); } @@ -439,10 +319,7 @@ impl< tokio::select! { maybe_event = events_from_network.next_event() => match maybe_event { Some(event) => if let Err(e) = self.handle_network_event(event) { - match e { - SendToUserError::LegacySender => error!(target: "aleph-network", "Cannot forward messages to user through legacy sender: {:?}", e), - SendToUserError::LatestSender => error!(target: "aleph-network", "Cannot forward messages to user: {:?}", e), - }; + error!(target: "aleph-network", "Cannot forward messages to user: {:?}", e); return; }, None => { @@ -473,20 +350,6 @@ impl< return; } }, - maybe_message = self.legacy_messages_from_user.next() => match maybe_message { - Some((data, command)) => self.legacy_on_user_message(data, command), - None => { - error!(target: "aleph-network", "Legacy user message stream ended."); - return; - } - }, - maybe_command = self.legacy_commands_from_manager.next() => match maybe_command { - Some(command) => self.legacy_on_manager_command(command), - None => { - error!(target: "aleph-network", "Legacy manager command stream ended."); - return; - } - }, _ = status_ticker.tick() => { self.status_report(); }, @@ -507,18 +370,20 @@ mod tests { use super::{ConnectionCommand, DataCommand, Service}; use crate::{ network::{ - manager::DataInSession, + manager::{DataInSession, SessionHandler, VersionedAuthentication}, mock::{ - MockData, MockEvent, MockIO, MockMultiaddress as LegacyMockMultiaddress, - MockNetwork, MockNetworkIdentity, MockPeerId, MockSenderError, + crypto_basics, MockData, MockEvent, MockIO, + MockMultiaddress as MockAuthMultiaddress, MockNetwork, + MockPeerId as MockAuthPeerId, MockSenderError, }, - testing::NetworkData, + testing::{DiscoveryMessage, NetworkData}, NetworkIdentity, Protocol, }, - session::SessionId, + // session::SessionId, testing::mocks::validator_network::{ - MockMultiaddress, MockNetwork as MockValidatorNetwork, + random_authority_id, MockMultiaddress, MockNetwork as MockValidatorNetwork, }, + SessionId, }; pub struct TestData { @@ -526,7 +391,7 @@ mod tests { pub exit_tx: oneshot::Sender<()>, pub network: MockNetwork, pub validator_network: MockValidatorNetwork>, - pub mock_io: MockIO, + pub mock_io: MockIO, // `TaskManager` can't be dropped for `SpawnTaskHandle` to work _task_manager: TaskManager, } @@ -536,7 +401,7 @@ mod tests { let task_manager = TaskManager::new(Handle::current(), None).unwrap(); // Prepare communication with service - let (mock_io, io, legacy_io) = MockIO::new(); + let (mock_io, io) = MockIO::new(); // Prepare service let (event_stream_oneshot_tx, event_stream_oneshot_rx) = oneshot::channel(); let network = MockNetwork::new(event_stream_oneshot_tx); @@ -546,7 +411,6 @@ mod tests { validator_network.clone(), task_manager.spawn_handle(), io, - legacy_io, ); let (exit_tx, exit_rx) = oneshot::channel(); let task_handle = async move { @@ -574,11 +438,12 @@ mod tests { self.exit_tx.send(()).unwrap(); self.service_handle.await.unwrap(); self.network.close_channels().await; + self.validator_network.close_channels().await; } // We do this only to make sure that NotificationStreamOpened/NotificationStreamClosed events are handled async fn wait_for_events_handled(&mut self) { - let address = LegacyMockMultiaddress::random_with_id(MockPeerId::random()); + let address = MockAuthMultiaddress::random_with_id(MockAuthPeerId::random()); self.network .emit_event(MockEvent::Connected(address.clone())); assert_eq!( @@ -587,25 +452,43 @@ mod tests { .next() .await .expect("Should receive message"), - (iter::once(address).collect(), Protocol::Generic,) + (iter::once(address).collect(), Protocol::Authentication,) ); } } - fn message(i: u8) -> NetworkData { - NetworkData::Data(vec![i, i + 1, i + 2], SessionId(1)) + fn message(i: u8) -> DataInSession { + DataInSession { + data: vec![i, i + 1, i + 2], + session_id: SessionId(1), + } + } + + async fn authentication( + multiaddresses: Vec, + ) -> DiscoveryMessage { + let crypto_basics = crypto_basics(1).await; + let handler = SessionHandler::new( + Some(crypto_basics.0[0].clone()), + crypto_basics.1.clone(), + SessionId(43), + multiaddresses, + ) + .await + .unwrap(); + DiscoveryMessage::AuthenticationBroadcast(handler.authentication().unwrap()) } #[tokio::test] async fn test_sync_connected() { let mut test_data = TestData::prepare().await; - let address = LegacyMockMultiaddress::random_with_id(MockPeerId::random()); + let address = MockAuthMultiaddress::random_with_id(MockAuthPeerId::random()); test_data .network .emit_event(MockEvent::Connected(address.clone())); - let expected = (iter::once(address).collect(), Protocol::Generic); + let expected = (iter::once(address).collect(), Protocol::Authentication); assert_eq!( test_data @@ -624,13 +507,13 @@ mod tests { async fn test_sync_disconnected() { let mut test_data = TestData::prepare().await; - let peer_id = MockPeerId::random(); + let peer_id = MockAuthPeerId::random(); test_data .network .emit_event(MockEvent::Disconnected(peer_id)); - let expected = (iter::once(peer_id).collect(), Protocol::Generic); + let expected = (iter::once(peer_id).collect(), Protocol::Authentication); assert_eq!( test_data @@ -649,43 +532,40 @@ mod tests { async fn test_notification_stream_opened() { let mut test_data = TestData::prepare().await; - let peer_ids: Vec<_> = (0..3).map(|_| MockPeerId::random()).collect(); + let peer_ids: Vec<_> = (0..3).map(|_| MockAuthPeerId::random()).collect(); peer_ids.iter().for_each(|peer_id| { test_data .network - .emit_event(MockEvent::StreamOpened(*peer_id, Protocol::Generic)); + .emit_event(MockEvent::StreamOpened(*peer_id, Protocol::Authentication)); }); // We do this only to make sure that NotificationStreamOpened events are handled test_data.wait_for_events_handled().await; - let message = message(1); + let message = authentication(test_data.validator_network.identity().0).await; test_data .mock_io - .legacy_messages_for_user - .unbounded_send((message.clone(), DataCommand::Broadcast)) + .messages_for_user + .unbounded_send((NetworkData::Meta(message.clone()), DataCommand::Broadcast)) .unwrap(); let broadcasted_messages = HashSet::<_>::from_iter( test_data .network .send_message - .1 - .lock() - .await - .by_ref() .take(peer_ids.len()) - .collect::>() .await .into_iter(), ); - let expected_messages = HashSet::from_iter( - peer_ids - .into_iter() - .map(|peer_id| (message.encode(), peer_id, Protocol::Generic)), - ); + let expected_messages = HashSet::from_iter(peer_ids.into_iter().map(|peer_id| { + ( + VersionedAuthentication::V1(message.clone()).encode(), + peer_id, + Protocol::Authentication, + ) + })); assert_eq!(broadcasted_messages, expected_messages); @@ -696,13 +576,13 @@ mod tests { async fn test_notification_stream_closed() { let mut test_data = TestData::prepare().await; - let peer_ids: Vec<_> = (0..4).map(|_| MockPeerId::random()).collect(); + let peer_ids: Vec<_> = (0..3).map(|_| MockAuthPeerId::random()).collect(); let opened_authorities_n = 2; peer_ids.iter().for_each(|peer_id| { test_data .network - .emit_event(MockEvent::StreamOpened(*peer_id, Protocol::Generic)); + .emit_event(MockEvent::StreamOpened(*peer_id, Protocol::Authentication)); }); peer_ids @@ -711,190 +591,24 @@ mod tests { .for_each(|peer_id| { test_data .network - .emit_event(MockEvent::StreamClosed(*peer_id, Protocol::Generic)); + .emit_event(MockEvent::StreamClosed(*peer_id, Protocol::Authentication)); }); // We do this only to make sure that NotificationStreamClosed events are handled test_data.wait_for_events_handled().await; - let messages: Vec<_> = vec![message(1), message(2)]; - messages.iter().for_each(|m| { - test_data - .mock_io - .legacy_messages_for_user - .unbounded_send((m.clone(), DataCommand::Broadcast)) - .unwrap(); - }); - - let broadcasted_messages = HashSet::<_>::from_iter( - test_data - .network - .send_message - .1 - .lock() - .await - .by_ref() - .take(opened_authorities_n * messages.len()) - .collect::>() - .await - .into_iter(), - ); - - let expected_messages = - HashSet::from_iter(peer_ids.into_iter().take(opened_authorities_n).flat_map( - |peer_id| { - messages - .iter() - .map(move |m| (m.encode(), peer_id, Protocol::Generic)) - }, - )); - - assert_eq!(broadcasted_messages, expected_messages); - - test_data.cleanup().await - } - - #[tokio::test] - async fn test_validator_data_command_send_to() { - let mut test_data = TestData::prepare().await; - - let peer_id = MockPeerId::random(); - - let message = message(1); - - test_data - .network - .emit_event(MockEvent::StreamOpened(peer_id, Protocol::Validator)); - - // We do this only to make sure that NotificationStreamOpened events are handled - test_data.wait_for_events_handled().await; - + let message = authentication(test_data.validator_network.identity().0).await; test_data .mock_io - .legacy_messages_for_user - .unbounded_send(( - message.clone(), - DataCommand::SendTo(peer_id, Protocol::Validator), - )) + .messages_for_user + .unbounded_send((NetworkData::Meta(message.clone()), DataCommand::Broadcast)) .unwrap(); - let expected = (message.encode(), peer_id, Protocol::Validator); - - assert_eq!( - test_data - .network - .send_message - .next() - .await - .expect("Should receive message"), - expected, - ); - - test_data.cleanup().await - } - - #[tokio::test] - async fn test_validator_create_sender_error_one_peer() { - let mut test_data = TestData::prepare().await; - - test_data - .network - .create_sender_errors - .lock() - .push_back(MockSenderError::SomeError); - - let peer_id = MockPeerId::random(); - - let message_1 = message(1); - let message_2 = message(2); - - test_data - .network - .emit_event(MockEvent::StreamOpened(peer_id, Protocol::Validator)); - - // We do this only to make sure that NotificationStreamOpened events are handled - test_data.wait_for_events_handled().await; - - test_data - .mock_io - .legacy_messages_for_user - .unbounded_send(( - message_1.clone(), - DataCommand::SendTo(peer_id, Protocol::Validator), - )) - .unwrap(); - - test_data - .mock_io - .legacy_messages_for_user - .unbounded_send(( - message_2.clone(), - DataCommand::SendTo(peer_id, Protocol::Validator), - )) - .unwrap(); - - let expected = (message_2.encode(), peer_id, Protocol::Validator); - - assert_eq!( - test_data - .network - .send_message - .next() - .await - .expect("Should receive message"), - expected, - ); - - test_data.cleanup().await - } - - #[tokio::test] - async fn test_validator_create_sender_error_many_peers() { - let mut test_data = TestData::prepare().await; - - let all_authorities_n = 4; - let closed_authorities_n = 2; - for _ in 0..closed_authorities_n { - test_data - .network - .create_sender_errors - .lock() - .push_back(MockSenderError::SomeError); - } - - let peer_ids: Vec<_> = (0..4).map(|_| MockPeerId::random()).collect(); - let message = message(1); - - peer_ids.iter().for_each(|peer_id| { - test_data - .network - .emit_event(MockEvent::StreamOpened(*peer_id, Protocol::Validator)); - }); - - // We do this only to make sure that NotificationStreamOpened events are handled - test_data.wait_for_events_handled().await; - - peer_ids.iter().for_each(|peer_id| { - test_data - .mock_io - .legacy_messages_for_user - .unbounded_send(( - message.clone(), - DataCommand::SendTo(*peer_id, Protocol::Validator), - )) - .unwrap(); - }); - let broadcasted_messages = HashSet::<_>::from_iter( test_data .network .send_message - .1 - .lock() - .await - .by_ref() - .take(all_authorities_n - closed_authorities_n) - .collect::>() + .take(opened_authorities_n) .await .into_iter(), ); @@ -902,8 +616,14 @@ mod tests { let expected_messages = HashSet::from_iter( peer_ids .into_iter() - .skip(closed_authorities_n) - .map(|peer_id| (message.encode(), peer_id, Protocol::Validator)), + .take(opened_authorities_n) + .map(|peer_id| { + ( + VersionedAuthentication::V1(message.clone()).encode(), + peer_id, + Protocol::Authentication, + ) + }), ); assert_eq!(broadcasted_messages, expected_messages); @@ -912,51 +632,25 @@ mod tests { } #[tokio::test] - async fn test_validator_data_command_send_to_error_one_peer() { + async fn test_validator_data_command_send_to() { let mut test_data = TestData::prepare().await; - test_data - .network - .send_errors - .lock() - .push_back(MockSenderError::SomeError); - - let peer_id = MockPeerId::random(); + let peer_id = random_authority_id().await; - let message_1 = message(1); - let message_2 = message(2); - - test_data - .network - .emit_event(MockEvent::StreamOpened(peer_id, Protocol::Validator)); - - // We do this only to make sure that NotificationStreamOpened events are handled - test_data.wait_for_events_handled().await; - - test_data - .mock_io - .legacy_messages_for_user - .unbounded_send(( - message_1.clone(), - DataCommand::SendTo(peer_id, Protocol::Validator), - )) - .unwrap(); + let message = message(1); test_data .mock_io - .legacy_messages_for_user - .unbounded_send(( - message_2.clone(), - DataCommand::SendTo(peer_id, Protocol::Validator), - )) + .messages_for_user + .unbounded_send((message.clone().into(), DataCommand::SendTo(peer_id.clone()))) .unwrap(); - let expected = (message_2.encode(), peer_id, Protocol::Validator); + let expected = (message, peer_id); assert_eq!( test_data - .network - .send_message + .validator_network + .send .next() .await .expect("Should receive message"), @@ -967,98 +661,19 @@ mod tests { } #[tokio::test] - async fn test_validator_data_command_send_to_error_many_peers() { + async fn test_receives_validator_data() { let mut test_data = TestData::prepare().await; - let all_authorities_n = 4; - let closed_authorities_n = 2; - for _ in 0..closed_authorities_n { - test_data - .network - .send_errors - .lock() - .push_back(MockSenderError::SomeError); - } - - let peer_ids: Vec<_> = (0..4).map(|_| MockPeerId::random()).collect(); let message = message(1); - peer_ids.iter().for_each(|peer_id| { - test_data - .network - .emit_event(MockEvent::StreamOpened(*peer_id, Protocol::Validator)); - }); + test_data.validator_network.next.send(message.clone()); - // We do this only to make sure that NotificationStreamOpened events are handled - test_data.wait_for_events_handled().await; - - peer_ids.iter().for_each(|peer_id| { - test_data - .mock_io - .legacy_messages_for_user - .unbounded_send(( - message.clone(), - DataCommand::SendTo(*peer_id, Protocol::Validator), - )) - .unwrap(); - }); - - let broadcasted_messages = HashSet::<_>::from_iter( - test_data - .network - .send_message - .1 - .lock() - .await - .by_ref() - .take(all_authorities_n - closed_authorities_n) - .collect::>() - .await - .into_iter(), - ); - - let expected_messages = HashSet::from_iter( - peer_ids - .into_iter() - .skip(closed_authorities_n) - .map(|peer_id| (message.encode(), peer_id, Protocol::Validator)), - ); - - assert_eq!(broadcasted_messages, expected_messages); - - test_data.cleanup().await - } - - #[tokio::test] - async fn test_generic_data_command_send_to() { - let mut test_data = TestData::prepare().await; - - let peer_id = MockPeerId::random(); - - let message = message(1); - - test_data - .network - .emit_event(MockEvent::StreamOpened(peer_id, Protocol::Generic)); - - // We do this only to make sure that NotificationStreamOpened events are handled - test_data.wait_for_events_handled().await; - - test_data - .mock_io - .legacy_messages_for_user - .unbounded_send(( - message.clone(), - DataCommand::SendTo(peer_id, Protocol::Generic), - )) - .unwrap(); - - let expected = (message.encode(), peer_id, Protocol::Generic); + let expected: NetworkData<_, _> = message.into(); assert_eq!( test_data - .network - .send_message + .mock_io + .messages_from_user .next() .await .expect("Should receive message"), @@ -1069,7 +684,7 @@ mod tests { } #[tokio::test] - async fn test_generic_create_sender_error_one_peer() { + async fn test_create_sender_error() { let mut test_data = TestData::prepare().await; test_data @@ -1078,37 +693,37 @@ mod tests { .lock() .push_back(MockSenderError::SomeError); - let peer_id = MockPeerId::random(); + let peer_id = MockAuthPeerId::random(); - let message_1 = message(1); - let message_2 = message(2); + let message_1 = + authentication(vec![(random_authority_id().await, String::from("other_1"))]).await; + let message_2 = + authentication(vec![(random_authority_id().await, String::from("other_2"))]).await; test_data .network - .emit_event(MockEvent::StreamOpened(peer_id, Protocol::Generic)); + .emit_event(MockEvent::StreamOpened(peer_id, Protocol::Authentication)); // We do this only to make sure that NotificationStreamOpened events are handled test_data.wait_for_events_handled().await; test_data .mock_io - .legacy_messages_for_user - .unbounded_send(( - message_1.clone(), - DataCommand::SendTo(peer_id, Protocol::Generic), - )) + .messages_for_user + .unbounded_send((NetworkData::Meta(message_1), DataCommand::Broadcast)) .unwrap(); test_data .mock_io - .legacy_messages_for_user - .unbounded_send(( - message_2.clone(), - DataCommand::SendTo(peer_id, Protocol::Generic), - )) + .messages_for_user + .unbounded_send((NetworkData::Meta(message_2.clone()), DataCommand::Broadcast)) .unwrap(); - let expected = (message_2.encode(), peer_id, Protocol::Generic); + let expected = ( + VersionedAuthentication::V1(message_2).encode(), + peer_id, + Protocol::Authentication, + ); assert_eq!( test_data @@ -1124,70 +739,7 @@ mod tests { } #[tokio::test] - async fn test_generic_create_sender_error_many_peers() { - let mut test_data = TestData::prepare().await; - - let all_authorities_n = 4; - let closed_authorities_n = 2; - for _ in 0..closed_authorities_n { - test_data - .network - .create_sender_errors - .lock() - .push_back(MockSenderError::SomeError); - } - - let peer_ids: Vec<_> = (0..4).map(|_| MockPeerId::random()).collect(); - let message = message(1); - - peer_ids.iter().for_each(|peer_id| { - test_data - .network - .emit_event(MockEvent::StreamOpened(*peer_id, Protocol::Generic)); - }); - - // We do this only to make sure that NotificationStreamOpened events are handled - test_data.wait_for_events_handled().await; - - peer_ids.iter().for_each(|peer_id| { - test_data - .mock_io - .legacy_messages_for_user - .unbounded_send(( - message.clone(), - DataCommand::SendTo(*peer_id, Protocol::Generic), - )) - .unwrap(); - }); - - let broadcasted_messages = HashSet::<_>::from_iter( - test_data - .network - .send_message - .1 - .lock() - .await - .by_ref() - .take(all_authorities_n - closed_authorities_n) - .collect::>() - .await - .into_iter(), - ); - - let expected_messages = HashSet::from_iter( - peer_ids - .into_iter() - .skip(closed_authorities_n) - .map(|peer_id| (message.encode(), peer_id, Protocol::Generic)), - ); - - assert_eq!(broadcasted_messages, expected_messages); - - test_data.cleanup().await - } - - #[tokio::test] - async fn test_generic_data_command_send_to_error_one_peer() { + async fn test_send_error() { let mut test_data = TestData::prepare().await; test_data @@ -1196,37 +748,37 @@ mod tests { .lock() .push_back(MockSenderError::SomeError); - let peer_id = MockPeerId::random(); + let peer_id = MockAuthPeerId::random(); - let message_1 = message(1); - let message_2 = message(2); + let message_1 = + authentication(vec![(random_authority_id().await, String::from("other_1"))]).await; + let message_2 = + authentication(vec![(random_authority_id().await, String::from("other_2"))]).await; test_data .network - .emit_event(MockEvent::StreamOpened(peer_id, Protocol::Generic)); + .emit_event(MockEvent::StreamOpened(peer_id, Protocol::Authentication)); // We do this only to make sure that NotificationStreamOpened events are handled test_data.wait_for_events_handled().await; test_data .mock_io - .legacy_messages_for_user - .unbounded_send(( - message_1.clone(), - DataCommand::SendTo(peer_id, Protocol::Generic), - )) + .messages_for_user + .unbounded_send((NetworkData::Meta(message_1), DataCommand::Broadcast)) .unwrap(); test_data .mock_io - .legacy_messages_for_user - .unbounded_send(( - message_2.clone(), - DataCommand::SendTo(peer_id, Protocol::Generic), - )) + .messages_for_user + .unbounded_send((NetworkData::Meta(message_2.clone()), DataCommand::Broadcast)) .unwrap(); - let expected = (message_2.encode(), peer_id, Protocol::Generic); + let expected = ( + VersionedAuthentication::V1(message_2).encode(), + peer_id, + Protocol::Authentication, + ); assert_eq!( test_data @@ -1241,88 +793,31 @@ mod tests { test_data.cleanup().await } - #[tokio::test] - async fn test_generic_data_command_send_to_error_many_peers() { - let mut test_data = TestData::prepare().await; - - let all_authorities_n = 4; - let closed_authorities_n = 2; - for _ in 0..closed_authorities_n { - test_data - .network - .send_errors - .lock() - .push_back(MockSenderError::SomeError); - } - - let peer_ids: Vec<_> = (0..4).map(|_| MockPeerId::random()).collect(); - let message = message(1); - - peer_ids.iter().for_each(|peer_id| { - test_data - .network - .emit_event(MockEvent::StreamOpened(*peer_id, Protocol::Generic)); - }); - - // We do this only to make sure that NotificationStreamOpened events are handled - test_data.wait_for_events_handled().await; - - peer_ids.iter().for_each(|peer_id| { - test_data - .mock_io - .legacy_messages_for_user - .unbounded_send(( - message.clone(), - DataCommand::SendTo(*peer_id, Protocol::Generic), - )) - .unwrap(); - }); - - let broadcasted_messages = HashSet::<_>::from_iter( - test_data - .network - .send_message - .1 - .lock() - .await - .by_ref() - .take(all_authorities_n - closed_authorities_n) - .collect::>() - .await - .into_iter(), - ); - - let expected_messages = HashSet::from_iter( - peer_ids - .into_iter() - .skip(closed_authorities_n) - .map(|peer_id| (message.encode(), peer_id, Protocol::Generic)), - ); - - assert_eq!(broadcasted_messages, expected_messages); - - test_data.cleanup().await - } - #[tokio::test] async fn test_notification_received() { let mut test_data = TestData::prepare().await; - let message = message(1); + let message = authentication(vec![( + random_authority_id().await, + String::from("other_addr"), + )]) + .await; test_data.network.emit_event(MockEvent::Messages(vec![( - Protocol::Validator, - NetworkData::encode(&message).into(), + Protocol::Authentication, + VersionedAuthentication::V1(message.clone()).encode().into(), )])); + let expected = NetworkData::Meta(message); + assert_eq!( test_data .mock_io - .legacy_messages_from_user + .messages_from_user .next() .await .expect("Should receive message"), - message + expected ); test_data.cleanup().await @@ -1332,22 +827,23 @@ mod tests { async fn test_command_add_reserved() { let mut test_data = TestData::prepare().await; - let (addresses, _) = MockNetworkIdentity::new().identity(); + let multiaddress: MockMultiaddress = + (random_authority_id().await, String::from("other_addr")); test_data .mock_io - .legacy_commands_for_manager + .commands_for_manager .unbounded_send(ConnectionCommand::AddReserved( - addresses.clone().into_iter().collect(), + iter::once(multiaddress.clone()).collect(), )) .unwrap(); - let expected = (addresses.into_iter().collect(), Protocol::Validator); + let expected = (multiaddress.0.clone(), vec![multiaddress]); assert_eq!( test_data - .network - .add_reserved + .validator_network + .add_connection .next() .await .expect("Should receive message"), @@ -1361,26 +857,24 @@ mod tests { async fn test_command_remove_reserved() { let mut test_data = TestData::prepare().await; - let peer_id = MockPeerId::random(); + let peer_id = random_authority_id().await; test_data .mock_io - .legacy_commands_for_manager + .commands_for_manager .unbounded_send(ConnectionCommand::DelReserved( - iter::once(peer_id).collect(), + iter::once(peer_id.clone()).collect(), )) .unwrap(); - let expected = (iter::once(peer_id).collect(), Protocol::Validator); - assert_eq!( test_data - .network - .remove_reserved + .validator_network + .remove_connection .next() .await .expect("Should receive message"), - expected + peer_id ); test_data.cleanup().await diff --git a/finality-aleph/src/network/session.rs b/finality-aleph/src/network/session.rs index 5d7fedb648..4b835e1bc4 100644 --- a/finality-aleph/src/network/session.rs +++ b/finality-aleph/src/network/session.rs @@ -4,7 +4,7 @@ use super::SimpleNetwork; use crate::{ abft::Recipient, crypto::{AuthorityPen, AuthorityVerifier}, - network::{Data, ReceiverComponent, SendError, SenderComponent, SessionCommand}, + network::{Data, SendError, SenderComponent, SessionCommand}, NodeIndex, SessionId, }; @@ -13,44 +13,23 @@ use crate::{ pub struct Sender { session_id: SessionId, messages_for_network: mpsc::UnboundedSender<(D, SessionId, Recipient)>, - legacy_messages_for_network: mpsc::UnboundedSender<(D, SessionId, Recipient)>, } impl SenderComponent for Sender { fn send(&self, data: D, recipient: Recipient) -> Result<(), SendError> { self.messages_for_network - .unbounded_send((data.clone(), self.session_id, recipient.clone())) - .map_err(|_| SendError::SendFailed)?; - self.legacy_messages_for_network .unbounded_send((data, self.session_id, recipient)) .map_err(|_| SendError::SendFailed) } } -pub struct Receiver { - data_from_network: mpsc::UnboundedReceiver, - legacy_data_from_network: mpsc::UnboundedReceiver, -} - -#[async_trait::async_trait] -impl ReceiverComponent for Receiver { - async fn next(&mut self) -> Option { - tokio::select! { - maybe_next = self.data_from_network.next() => maybe_next, - maybe_next = self.legacy_data_from_network.next() => maybe_next, - } - } -} - /// Sends and receives data within a single session. -type Network = SimpleNetwork, Sender>; +type Network = SimpleNetwork, Sender>; /// Manages sessions for which the network should be active. pub struct Manager { commands_for_service: mpsc::UnboundedSender>, messages_for_service: mpsc::UnboundedSender<(D, SessionId, Recipient)>, - legacy_commands_for_service: mpsc::UnboundedSender>, - legacy_messages_for_service: mpsc::UnboundedSender<(D, SessionId, Recipient)>, } /// What went wrong during a session management operation. @@ -79,12 +58,10 @@ impl IO { impl Manager { /// Create a new manager with the given channels to the service. - pub fn new(io: IO, legacy_io: IO) -> Self { + pub fn new(io: IO) -> Self { Manager { commands_for_service: io.commands_for_service, messages_for_service: io.messages_for_service, - legacy_commands_for_service: legacy_io.commands_for_service, - legacy_messages_for_service: legacy_io.messages_for_service, } } @@ -96,12 +73,6 @@ impl Manager { verifier: AuthorityVerifier, ) -> Result<(), ManagerError> { self.commands_for_service - .unbounded_send(SessionCommand::StartNonvalidator( - session_id, - verifier.clone(), - )) - .map_err(|_| ManagerError::CommandSendFailed)?; - self.legacy_commands_for_service .unbounded_send(SessionCommand::StartNonvalidator(session_id, verifier)) .map_err(|_| ManagerError::CommandSendFailed) } @@ -118,23 +89,12 @@ impl Manager { ) -> Result, ManagerError> { let (result_for_us, result_from_service) = oneshot::channel(); self.commands_for_service - .unbounded_send(SessionCommand::StartValidator( - session_id, - verifier.clone(), - node_id, - pen.clone(), - Some(result_for_us), - )) - .map_err(|_| ManagerError::CommandSendFailed)?; - - let (legacy_result_for_us, legacy_result_from_service) = oneshot::channel(); - self.legacy_commands_for_service .unbounded_send(SessionCommand::StartValidator( session_id, verifier, node_id, pen, - Some(legacy_result_for_us), + Some(result_for_us), )) .map_err(|_| ManagerError::CommandSendFailed)?; @@ -143,20 +103,11 @@ impl Manager { .map_err(|_| ManagerError::NetworkReceiveFailed)?; let messages_for_network = self.messages_for_service.clone(); - let legacy_data_from_network = legacy_result_from_service - .await - .map_err(|_| ManagerError::NetworkReceiveFailed)?; - let legacy_messages_for_network = self.legacy_messages_for_service.clone(); - Ok(Network::new( - Receiver { - data_from_network, - legacy_data_from_network, - }, + data_from_network, Sender { session_id, messages_for_network, - legacy_messages_for_network, }, )) } @@ -172,15 +123,6 @@ impl Manager { pen: AuthorityPen, ) -> Result<(), ManagerError> { self.commands_for_service - .unbounded_send(SessionCommand::StartValidator( - session_id, - verifier.clone(), - node_id, - pen.clone(), - None, - )) - .map_err(|_| ManagerError::CommandSendFailed)?; - self.legacy_commands_for_service .unbounded_send(SessionCommand::StartValidator( session_id, verifier, node_id, pen, None, )) @@ -190,9 +132,6 @@ impl Manager { /// Stop participating in the given session. pub fn stop_session(&self, session_id: SessionId) -> Result<(), ManagerError> { self.commands_for_service - .unbounded_send(SessionCommand::Stop(session_id)) - .map_err(|_| ManagerError::CommandSendFailed)?; - self.legacy_commands_for_service .unbounded_send(SessionCommand::Stop(session_id)) .map_err(|_| ManagerError::CommandSendFailed) } diff --git a/finality-aleph/src/nodes/validator_node.rs b/finality-aleph/src/nodes/validator_node.rs index 53697bbccf..b6ed7b619b 100644 --- a/finality-aleph/src/nodes/validator_node.rs +++ b/finality-aleph/src/nodes/validator_node.rs @@ -121,27 +121,12 @@ where .expect("Failed to run connection manager") }; - let (legacy_connection_io, legacy_network_io, legacy_session_io) = setup_io(); - - let legacy_connection_manager = ConnectionManager::new( - network.clone(), - ConnectionManagerConfig::with_session_period(&session_period, &millisecs_per_block), - ); - - let legacy_connection_manager_task = async move { - legacy_connection_io - .run(legacy_connection_manager) - .await - .expect("Failed to legacy connection manager") - }; - - let session_manager = SessionManager::new(session_io, legacy_session_io); + let session_manager = SessionManager::new(session_io); let network = NetworkService::new( network.clone(), validator_network, spawn_handle.clone(), network_io, - legacy_network_io, ); let network_task = async move { network.run().await }; @@ -149,11 +134,6 @@ where debug!(target: "aleph-party", "JustificationHandler has started."); spawn_handle.spawn("aleph/connection_manager", None, connection_manager_task); - spawn_handle.spawn( - "aleph/legacy_connection_manager", - None, - legacy_connection_manager_task, - ); spawn_handle.spawn("aleph/network", None, network_task); debug!(target: "aleph-party", "Network has started."); diff --git a/finality-aleph/src/substrate_network.rs b/finality-aleph/src/substrate_network.rs index fc8d3a5aef..9638520b29 100644 --- a/finality-aleph/src/substrate_network.rs +++ b/finality-aleph/src/substrate_network.rs @@ -184,27 +184,16 @@ impl MultiaddressT for Multiaddress { } } -/// Name of the network protocol used by Aleph Zero. This is how messages -/// are subscribed to ensure that we are gossiping and communicating with our -/// own network. -const LEGACY_ALEPH_PROTOCOL_NAME: &str = "/cardinals/aleph/2"; - /// Name of the network protocol used by Aleph Zero. This is how messages /// are subscribed to ensure that we are gossiping and communicating with our /// own network. const AUTHENTICATION_PROTOCOL_NAME: &str = "/aleph/1"; -/// Name of the network protocol used by Aleph Zero validators. Similar to -/// ALEPH_PROTOCOL_NAME, but only used by validators that authenticated to each other. -const LEGACY_ALEPH_VALIDATOR_PROTOCOL_NAME: &str = "/cardinals/aleph_validator/1"; - /// Returns the canonical name of the protocol. pub fn protocol_name(protocol: &Protocol) -> Cow<'static, str> { use Protocol::*; match protocol { Authentication => Cow::Borrowed(AUTHENTICATION_PROTOCOL_NAME), - Generic => Cow::Borrowed(LEGACY_ALEPH_PROTOCOL_NAME), - Validator => Cow::Borrowed(LEGACY_ALEPH_VALIDATOR_PROTOCOL_NAME), } } @@ -212,8 +201,6 @@ pub fn protocol_name(protocol: &Protocol) -> Cow<'static, str> { fn to_protocol(protocol_name: &str) -> Result { match protocol_name { AUTHENTICATION_PROTOCOL_NAME => Ok(Protocol::Authentication), - LEGACY_ALEPH_PROTOCOL_NAME => Ok(Protocol::Generic), - LEGACY_ALEPH_VALIDATOR_PROTOCOL_NAME => Ok(Protocol::Validator), _ => Err(()), } } diff --git a/finality-aleph/src/testing/mocks/validator_network.rs b/finality-aleph/src/testing/mocks/validator_network.rs index de78b23ec5..b9efbbbf1a 100644 --- a/finality-aleph/src/testing/mocks/validator_network.rs +++ b/finality-aleph/src/testing/mocks/validator_network.rs @@ -86,14 +86,23 @@ impl NetworkIdentity for MockNetwork { } } +pub async fn random_authority_id() -> AuthorityId { + let key_store = Arc::new(KeyStore::new()); + key_store + .ed25519_generate_new(KEY_TYPE, None) + .await + .unwrap() + .into() +} + +pub async fn random_identity(address: String) -> (Vec, AuthorityId) { + let id = random_authority_id().await; + (vec![(id.clone(), address)], id) +} + impl MockNetwork { pub async fn new(address: &str) -> Self { - let key_store = Arc::new(KeyStore::new()); - let id: AuthorityId = key_store - .ed25519_generate_new(KEY_TYPE, None) - .await - .unwrap() - .into(); + let id = random_authority_id().await; let addresses = vec![(id.clone(), String::from(address))]; MockNetwork { add_connection: Channel::new(), @@ -105,8 +114,19 @@ impl MockNetwork { } } + pub fn from(addresses: Vec, id: AuthorityId) -> Self { + MockNetwork { + add_connection: Channel::new(), + remove_connection: Channel::new(), + send: Channel::new(), + next: Channel::new(), + addresses, + id, + } + } + // Consumes the network asserting there are no unreceived messages in the channels. - pub async fn _close_channels(self) { + pub async fn close_channels(self) { assert!(self.add_connection.close().await.is_none()); assert!(self.remove_connection.close().await.is_none()); assert!(self.send.close().await.is_none()); diff --git a/finality-aleph/src/testing/network.rs b/finality-aleph/src/testing/network.rs index c1672ad2b7..d1f6b36648 100644 --- a/finality-aleph/src/testing/network.rs +++ b/finality-aleph/src/testing/network.rs @@ -4,6 +4,7 @@ use std::{ time::Duration, }; +use aleph_primitives::AuthorityId as MockPeerId; use codec::{Decode, Encode}; use futures::channel::oneshot; use sc_service::TaskManager; @@ -12,16 +13,15 @@ use tokio::{runtime::Handle, task::JoinHandle, time::timeout}; use crate::{ crypto::{AuthorityPen, AuthorityVerifier}, network::{ - mock::{ - crypto_basics, MockData, MockEvent, MockMultiaddress, MockNetwork, MockNetworkIdentity, - MockPeerId, - }, + mock::{crypto_basics, MockData, MockEvent, MockNetwork, MockPeerId as MockAuthPeerId}, setup_io, - testing::{Authentication, DataInSession, DiscoveryMessage, NetworkData, SessionHandler}, + testing::{DataInSession, DiscoveryMessage, SessionHandler, VersionedAuthentication}, ConnectionManager, ConnectionManagerConfig, DataNetwork, NetworkIdentity, Protocol, Service as NetworkService, SessionManager, }, - testing::mocks::validator_network::MockNetwork as MockValidatorNetwork, + testing::mocks::validator_network::{ + random_identity, MockMultiaddress, MockNetwork as MockValidatorNetwork, + }, MillisecsPerBlock, NodeIndex, Recipient, SessionId, SessionPeriod, }; @@ -35,6 +35,7 @@ struct Authority { pen: AuthorityPen, addresses: Vec, peer_id: MockPeerId, + auth_peer_id: MockAuthPeerId, } impl Authority { @@ -47,7 +48,11 @@ impl Authority { } fn peer_id(&self) -> MockPeerId { - self.peer_id + self.peer_id.clone() + } + + fn auth_peer_id(&self) -> MockAuthPeerId { + self.auth_peer_id } } @@ -56,23 +61,19 @@ impl NetworkIdentity for Authority { type Multiaddress = MockMultiaddress; fn identity(&self) -> (Vec, Self::PeerId) { - (self.addresses.clone(), self.peer_id) + (self.addresses.clone(), self.peer_id.clone()) } } -type MockNetworkData = NetworkData; - struct TestData { pub authorities: Vec, pub authority_verifier: AuthorityVerifier, pub session_manager: SessionManager, pub network: MockNetwork, - pub _validator_network: MockValidatorNetwork>, + pub validator_network: MockValidatorNetwork>, network_manager_exit_tx: oneshot::Sender<()>, - legacy_network_manager_exit_tx: oneshot::Sender<()>, network_service_exit_tx: oneshot::Sender<()>, network_manager_handle: JoinHandle<()>, - legacy_network_manager_handle: JoinHandle<()>, network_service_handle: JoinHandle<()>, // `TaskManager` can't be dropped for `SpawnTaskHandle` to work _task_manager: TaskManager, @@ -81,47 +82,40 @@ struct TestData { async fn prepare_one_session_test_data() -> TestData { let task_manager = TaskManager::new(Handle::current(), None).unwrap(); let (authority_pens, authority_verifier) = crypto_basics(NODES_N).await; - let authorities: Vec<_> = authority_pens - .into_iter() - .map(|(_, p)| { - let identity = MockNetworkIdentity::new().identity(); - Authority { - pen: p, - addresses: identity.0, - peer_id: identity.1, - } - }) - .collect(); + let mut authorities = Vec::new(); + for (index, p) in authority_pens { + let identity = random_identity(index.0.to_string()).await; + let auth_peer_id = MockAuthPeerId::random(); + authorities.push(Authority { + pen: p, + addresses: identity.0, + peer_id: identity.1, + auth_peer_id, + }); + } // Prepare Network let (event_stream_tx, event_stream_rx) = oneshot::channel(); let (network_manager_exit_tx, network_manager_exit_rx) = oneshot::channel(); - let (legacy_network_manager_exit_tx, legacy_network_manager_exit_rx) = oneshot::channel(); let (network_service_exit_tx, network_service_exit_rx) = oneshot::channel(); let network = MockNetwork::new(event_stream_tx); - let validator_network = MockValidatorNetwork::new("address").await; + let validator_network = + MockValidatorNetwork::from(authorities[0].addresses(), authorities[0].peer_id()); let (connection_io, network_io, session_io) = setup_io(); - let (legacy_connection_io, legacy_network_io, legacy_session_io) = setup_io(); let connection_manager = ConnectionManager::new( validator_network.clone(), ConnectionManagerConfig::with_session_period(&SESSION_PERIOD, &MILLISECS_PER_BLOCK), ); - let legacy_connection_manager = ConnectionManager::::new( - authorities[0].clone(), - ConnectionManagerConfig::with_session_period(&SESSION_PERIOD, &MILLISECS_PER_BLOCK), - ); - - let session_manager = SessionManager::new(session_io, legacy_session_io); + let session_manager = SessionManager::new(session_io); let network_service = NetworkService::new( network.clone(), validator_network.clone(), task_manager.spawn_handle(), network_io, - legacy_network_io, ); let network_manager_task = async move { @@ -132,14 +126,6 @@ async fn prepare_one_session_test_data() -> TestData { }; }; - let legacy_network_manager_task = async move { - tokio::select! { - _ = legacy_connection_io - .run(legacy_connection_manager) => { }, - _ = legacy_network_manager_exit_rx => { }, - }; - }; - let network_service_task = async move { tokio::select! { _ = network_service.run() => { }, @@ -147,7 +133,6 @@ async fn prepare_one_session_test_data() -> TestData { }; }; let network_manager_handle = tokio::spawn(network_manager_task); - let legacy_network_manager_handle = tokio::spawn(legacy_network_manager_task); let network_service_handle = tokio::spawn(network_service_task); event_stream_rx.await.unwrap(); @@ -157,19 +142,17 @@ async fn prepare_one_session_test_data() -> TestData { authority_verifier, session_manager, network, - _validator_network: validator_network, + validator_network, network_manager_exit_tx, - legacy_network_manager_exit_tx, network_service_exit_tx, network_manager_handle, - legacy_network_manager_handle, network_service_handle, _task_manager: task_manager, } } impl TestData { - fn connect_identity_to_network(&mut self, peer_id: MockPeerId, protocol: Protocol) { + fn connect_identity_to_network(&mut self, peer_id: MockAuthPeerId, protocol: Protocol) { self.network .emit_event(MockEvent::StreamOpened(peer_id, protocol)); } @@ -216,15 +199,15 @@ impl TestData { .unwrap() } - async fn check_sends_add_reserved_node(&mut self) { + async fn check_add_connection(&mut self) { let mut reserved_addresses = HashSet::new(); for _ in self.authorities.iter().skip(1) { - let (addresses, protocol) = timeout(DEFAULT_TIMEOUT, self.network.add_reserved.next()) + let (_, addresses) = self + .validator_network + .add_connection + .next() .await - .ok() - .flatten() .expect("Should add reserved nodes"); - assert_eq!(protocol, Protocol::Validator); reserved_addresses.extend(addresses.into_iter()); } @@ -236,45 +219,15 @@ impl TestData { assert_eq!(reserved_addresses, expected_addresses); } - async fn check_sends_authentication( - &mut self, - authentication: Authentication, - ) { - let mut sent_auth = HashMap::new(); - while sent_auth.len() < NODES_N - 1 { - if let Some(( - MockNetworkData::Meta(DiscoveryMessage::Authentication(auth_data)), - peer_id, - _, - )) = timeout( - DEFAULT_TIMEOUT, - self.next_sent_authentication(Protocol::Generic), - ) - .await - .expect("Should send authentication") - { - sent_auth.insert(peer_id, auth_data); - } - } - - let mut expected_auth = HashMap::new(); - for authority in self.authorities.iter().skip(1) { - expected_auth.insert(authority.peer_id(), authentication.clone()); - } - - assert_eq!(sent_auth, expected_auth); - } - async fn connect_session_authorities(&mut self, session_id: u32) { for (index, authority) in self.authorities.clone().into_iter().enumerate().skip(1) { let handler = self.get_session_handler(index, session_id).await; - self.connect_identity_to_network(authority.peer_id(), Protocol::Generic); - self.connect_identity_to_network(authority.peer_id(), Protocol::Validator); + self.connect_identity_to_network(authority.auth_peer_id(), Protocol::Authentication); self.network.emit_event(MockEvent::Messages(vec![( - Protocol::Generic, - MockNetworkData::Meta(DiscoveryMessage::AuthenticationBroadcast( + Protocol::Authentication, + VersionedAuthentication::V1(DiscoveryMessage::AuthenticationBroadcast( handler.authentication().unwrap(), )) .encode() @@ -286,42 +239,27 @@ impl TestData { async fn start_session(&mut self, session_id: u32) -> impl DataNetwork { let data_network = self.start_validator_session(0, session_id).await; self.connect_session_authorities(session_id).await; - self.check_sends_add_reserved_node().await; - self.check_sends_authentication( - self.get_session_handler(0, session_id) - .await - .authentication() - .unwrap(), - ) - .await; + self.check_add_connection().await; data_network } - fn emit_notifications_received(&mut self, messages: Vec) { - self.network.emit_event(MockEvent::Messages( - messages - .iter() - .map(|m| (Protocol::Generic, m.encode().into())) - .collect(), - )); - } - - async fn next_sent( + async fn next_sent_auth( &mut self, - p: Protocol, ) -> Option<( - NetworkData, - MockPeerId, + VersionedAuthentication, + MockAuthPeerId, Protocol, )> { loop { match self.network.send_message.next().await { Some((data, peer_id, protocol)) => { - if protocol == p { + if protocol == Protocol::Authentication { return Some(( - NetworkData::::decode(&mut data.as_slice()) - .expect("should decode"), + VersionedAuthentication::::decode( + &mut data.as_slice(), + ) + .expect("should decode"), peer_id, protocol, )); @@ -332,97 +270,14 @@ impl TestData { } } - async fn next_sent_authentication_broadcast( - &mut self, - p: Protocol, - ) -> Option<( - NetworkData, - MockPeerId, - Protocol, - )> { - loop { - match self.next_sent(p).await { - Some(( - MockNetworkData::Meta(DiscoveryMessage::AuthenticationBroadcast(auth_data)), - peer_id, - protocol, - )) => { - return Some(( - MockNetworkData::Meta(DiscoveryMessage::AuthenticationBroadcast(auth_data)), - peer_id, - protocol, - )); - } - None => return None, - _ => {} - } - } - } - - async fn next_sent_authentication( - &mut self, - p: Protocol, - ) -> Option<( - NetworkData, - MockPeerId, - Protocol, - )> { - loop { - match self.next_sent(p).await { - Some(( - MockNetworkData::Meta(DiscoveryMessage::Authentication(auth_data)), - peer_id, - protocol, - )) => { - return Some(( - MockNetworkData::Meta(DiscoveryMessage::Authentication(auth_data)), - peer_id, - protocol, - )); - } - None => return None, - _ => {} - } - } - } - - async fn next_sent_data_message( - &mut self, - p: Protocol, - ) -> Option<( - NetworkData, - MockPeerId, - Protocol, - )> { - loop { - match self.next_sent(p).await { - Some((MockNetworkData::Data(data, session_id), peer_id, protocol)) => { - return Some((MockNetworkData::Data(data, session_id), peer_id, protocol)) - } - None => return None, - _ => {} - } - } - } - async fn cleanup(self) { self.network_manager_exit_tx.send(()).unwrap(); - self.legacy_network_manager_exit_tx.send(()).unwrap(); self.network_service_exit_tx.send(()).unwrap(); self.network_manager_handle.await.unwrap(); - self.legacy_network_manager_handle.await.unwrap(); self.network_service_handle.await.unwrap(); - while let Some((data, peer_id, protocol)) = self.network.send_message.try_next().await { - if protocol == Protocol::Validator { - if let Ok(MockNetworkData::Data(data, session_id)) = - MockNetworkData::decode(&mut data.as_slice()) - { - panic!("No Data messages to validators should be sent during cleanup. All data messages should be handled before.\ - Got: {:?} in {:?} to {:?} with protocol {:?}", data, session_id, peer_id, protocol); - } - } - } + while let Some(_) = self.network.send_message.try_next().await {} self.network.close_channels().await; + self.validator_network.close_channels().await; } } @@ -430,88 +285,26 @@ impl TestData { async fn test_sends_discovery_message() { let session_id = 43; let mut test_data = prepare_one_session_test_data().await; - let connected_peer_id = test_data.authorities[1].peer_id(); - test_data.connect_identity_to_network(connected_peer_id, Protocol::Generic); + let connected_peer_id = test_data.authorities[1].auth_peer_id(); + test_data.connect_identity_to_network(connected_peer_id, Protocol::Authentication); let mut data_network = test_data.start_validator_session(0, session_id).await; let handler = test_data.get_session_handler(0, session_id).await; - let mut sent_legacy_authentications = 0; - for _ in 0..10 { - match timeout( - DEFAULT_TIMEOUT, - test_data.next_sent_authentication_broadcast(Protocol::Generic), - ) - .await - .ok() - .flatten() - { + for _ in 0..4 { + match test_data.next_sent_auth().await { Some(( - MockNetworkData::Meta(DiscoveryMessage::AuthenticationBroadcast(auth_data)), + VersionedAuthentication::V1(DiscoveryMessage::AuthenticationBroadcast(auth_data)), peer_id, _, )) => { assert_eq!(peer_id, connected_peer_id); assert_eq!(auth_data, handler.authentication().unwrap()); - sent_legacy_authentications += 1; } - Some(_) => {} - None => panic!("Should broadcast authentication"), + None => panic!("Not sending authentications"), + _ => panic!("Should broadcast own authentication, nothing else"), } } - if sent_legacy_authentications < 3 { - panic!("Should broadcast legacy authentications") - } - test_data.cleanup().await; - assert_eq!( - timeout(DEFAULT_TIMEOUT, data_network.next()).await, - Ok(None) - ); -} - -#[tokio::test] -async fn test_sends_authentication_on_receiving_broadcast() { - let session_id = 43; - let mut test_data = prepare_one_session_test_data().await; - let mut data_network = test_data.start_validator_session(0, session_id).await; - let handler = test_data.get_session_handler(0, session_id).await; - let sending_peer_handler = test_data.get_session_handler(1, session_id).await; - let sending_peer = test_data.authorities[1].clone(); - test_data.connect_identity_to_network(sending_peer.peer_id(), Protocol::Generic); - - test_data.network.emit_event(MockEvent::Messages(vec![( - Protocol::Generic, - MockNetworkData::Meta(DiscoveryMessage::AuthenticationBroadcast( - sending_peer_handler.authentication().unwrap(), - )) - .encode() - .into(), - )])); - - assert_eq!( - timeout(DEFAULT_TIMEOUT, test_data.network.add_reserved.next()) - .await - .ok() - .flatten() - .expect("Should add reserved nodes"), - ( - sending_peer.addresses().into_iter().collect(), - Protocol::Validator - ), - ); - - if let Some((MockNetworkData::Meta(DiscoveryMessage::Authentication(auth_data)), peer_id, _)) = - timeout( - DEFAULT_TIMEOUT, - test_data.next_sent_authentication(Protocol::Generic), - ) - .await - .expect("Should send authentication") - { - assert_eq!(peer_id, sending_peer.peer_id()); - assert_eq!(auth_data, handler.authentication().unwrap()); - } - test_data.cleanup().await; assert_eq!( timeout(DEFAULT_TIMEOUT, data_network.next()).await, @@ -529,12 +322,12 @@ async fn test_forwards_authentication_broadcast() { let sending_peer_handler = test_data.get_session_handler(1, session_id).await; for authority in test_data.authorities.clone().iter().skip(1) { - test_data.connect_identity_to_network(authority.peer_id(), Protocol::Generic); + test_data.connect_identity_to_network(authority.auth_peer_id(), Protocol::Authentication); } test_data.network.emit_event(MockEvent::Messages(vec![( - Protocol::Generic, - MockNetworkData::Meta(DiscoveryMessage::AuthenticationBroadcast( + Protocol::Authentication, + VersionedAuthentication::V1(DiscoveryMessage::AuthenticationBroadcast( sending_peer_handler.authentication().unwrap(), )) .encode() @@ -542,21 +335,19 @@ async fn test_forwards_authentication_broadcast() { )])); assert_eq!( - timeout(DEFAULT_TIMEOUT, test_data.network.add_reserved.next()) + test_data + .validator_network + .add_connection + .next() .await - .ok() - .flatten() .expect("Should add reserved nodes"), - ( - sending_peer.addresses().into_iter().collect(), - Protocol::Validator - ), + (sending_peer.peer_id(), sending_peer.addresses()), ); let mut expected_authentication = HashMap::new(); for authority in test_data.authorities.iter().skip(1) { expected_authentication.insert( - authority.peer_id(), + authority.auth_peer_id(), sending_peer_handler.authentication().unwrap(), ); } @@ -564,15 +355,10 @@ async fn test_forwards_authentication_broadcast() { let mut sent_authentication = HashMap::new(); while sent_authentication.len() < NODES_N - 1 { if let Some(( - MockNetworkData::Meta(DiscoveryMessage::AuthenticationBroadcast(auth_data)), + VersionedAuthentication::V1(DiscoveryMessage::AuthenticationBroadcast(auth_data)), peer_id, _, - )) = timeout( - DEFAULT_TIMEOUT, - test_data.next_sent_authentication_broadcast(Protocol::Generic), - ) - .await - .expect("Should send Authentication Broadcast") + )) = test_data.next_sent_auth().await { if auth_data != handler.authentication().unwrap() { sent_authentication.insert(peer_id, auth_data); @@ -596,10 +382,11 @@ async fn test_connects_to_others() { let mut data_network = test_data.start_session(session_id).await; let data = vec![1, 2, 3]; - test_data.emit_notifications_received(vec![MockNetworkData::Data( - data.clone(), - SessionId(session_id), - )]); + test_data.validator_network.next.send(DataInSession { + data: data.clone(), + session_id: SessionId(session_id), + }); + assert_eq!( timeout(DEFAULT_TIMEOUT, data_network.next()).await, Ok(Some(data)) @@ -615,23 +402,15 @@ async fn test_connects_to_others_early_validator() { let mut test_data = prepare_one_session_test_data().await; test_data.early_start_validator_session(0, session_id); test_data.connect_session_authorities(session_id).await; - test_data.check_sends_add_reserved_node().await; - test_data - .check_sends_authentication( - test_data - .get_session_handler(0, session_id) - .await - .authentication() - .unwrap(), - ) - .await; + test_data.check_add_connection().await; + let mut data_network = test_data.start_validator_session(0, session_id).await; let data = vec![1, 2, 3]; - test_data.emit_notifications_received(vec![MockNetworkData::Data( - data.clone(), - SessionId(session_id), - )]); + test_data.validator_network.next.send(DataInSession { + data: data.clone(), + session_id: SessionId(session_id), + }); assert_eq!( timeout(DEFAULT_TIMEOUT, data_network.next()).await, Ok(Some(data.clone())) @@ -651,15 +430,18 @@ async fn test_stops_session() { .session_manager .stop_session(SessionId(session_id)) .unwrap(); - assert_eq!( - timeout(DEFAULT_TIMEOUT, test_data.network.remove_reserved.next()) + + let removed = HashSet::<_>::from_iter( + test_data + .validator_network + .remove_connection + .take(NODES_N - 1) .await - .ok() - .flatten(), - Some(( - HashSet::from_iter(test_data.authorities.iter().skip(1).map(|a| a.peer_id())), - Protocol::Validator - )) + .into_iter(), + ); + assert_eq!( + removed, + HashSet::from_iter(test_data.authorities.iter().skip(1).map(|a| a.peer_id())), ); // This assert should be before cleanup. We want to check whether `session_manager.stop_session(...)` @@ -686,14 +468,23 @@ async fn test_receives_data_in_correct_session() { let data_1_2 = vec![4, 5, 6]; let data_2_1 = vec![7, 8, 9]; let data_2_2 = vec![10, 11, 12]; - test_data.emit_notifications_received(vec![ - MockNetworkData::Data(data_1_1.clone(), SessionId(session_id_1)), - MockNetworkData::Data(data_2_1.clone(), SessionId(session_id_2)), - ]); - test_data.emit_notifications_received(vec![ - MockNetworkData::Data(data_2_2.clone(), SessionId(session_id_2)), - MockNetworkData::Data(data_1_2.clone(), SessionId(session_id_1)), - ]); + test_data.validator_network.next.send(DataInSession { + data: data_1_1.clone(), + session_id: SessionId(session_id_1), + }); + test_data.validator_network.next.send(DataInSession { + data: data_2_1.clone(), + session_id: SessionId(session_id_2), + }); + + test_data.validator_network.next.send(DataInSession { + data: data_2_2.clone(), + session_id: SessionId(session_id_2), + }); + test_data.validator_network.next.send(DataInSession { + data: data_1_2.clone(), + session_id: SessionId(session_id_1), + }); assert_eq!( timeout(DEFAULT_TIMEOUT, data_network_1.next()).await, @@ -758,14 +549,9 @@ async fn test_sends_data_to_correct_session() { let mut sent_data = HashSet::new(); while sent_data.len() < 2 * (NODES_N - 1) { - if let Some((MockNetworkData::Data(data, session_id), peer_id, _)) = timeout( - DEFAULT_TIMEOUT, - test_data.next_sent_data_message(Protocol::Validator), - ) - .await - .expect("Should send data") + if let Some((DataInSession { data, session_id }, peer_id)) = + test_data.validator_network.send.next().await { - println!("{:?} {:?}", data, peer_id); sent_data.insert((data, session_id, peer_id)); } } @@ -808,12 +594,8 @@ async fn test_broadcasts_data_to_correct_session() { let mut sent_data = HashSet::new(); while sent_data.len() < 2 * (NODES_N - 1) { - if let Some((MockNetworkData::Data(data, session_id), peer_id, _)) = timeout( - DEFAULT_TIMEOUT, - test_data.next_sent_data_message(Protocol::Validator), - ) - .await - .expect("Should send data") + if let Some((DataInSession { data, session_id }, peer_id)) = + test_data.validator_network.send.next().await { sent_data.insert((data, session_id, peer_id)); } From 62fb1fcdcbda35f3b58a71dbb36a6623cf88b966 Mon Sep 17 00:00:00 2001 From: timorl Date: Thu, 10 Nov 2022 17:03:42 +0100 Subject: [PATCH 007/212] A0-1455: Enable two-way connections (#721) * Enable two-way connections * Add comments, remove typos * Clarify legacy marking logic * Linter --- .../src/validator_network/manager/legacy.rs | 318 ++++++++++++++++ .../src/validator_network/manager/mod.rs | 357 +++++++++--------- .../src/validator_network/outgoing.rs | 4 +- .../src/validator_network/protocols/mod.rs | 20 +- .../protocols/negotiation.rs | 2 +- .../src/validator_network/service.rs | 158 +++++--- 6 files changed, 629 insertions(+), 230 deletions(-) create mode 100644 finality-aleph/src/validator_network/manager/legacy.rs diff --git a/finality-aleph/src/validator_network/manager/legacy.rs b/finality-aleph/src/validator_network/manager/legacy.rs new file mode 100644 index 0000000000..f305c716f8 --- /dev/null +++ b/finality-aleph/src/validator_network/manager/legacy.rs @@ -0,0 +1,318 @@ +use std::{ + collections::{HashMap, HashSet}, + fmt::{Display, Error as FmtError, Formatter}, +}; + +use aleph_primitives::AuthorityId; +use futures::channel::mpsc; + +use crate::{ + network::PeerId, + validator_network::{ + manager::{AddResult, SendError}, + Data, + }, +}; + +/// Network component responsible for holding the list of peers that we +/// want to connect to, and managing the established connections. +pub struct Manager { + addresses: HashMap>, + outgoing: HashMap>, + incoming: HashMap>, +} + +struct ManagerStatus { + wanted_peers: usize, + both_ways_peers: HashSet, + outgoing_peers: HashSet, + incoming_peers: HashSet, + missing_peers: HashSet, +} + +impl ManagerStatus { + fn new(manager: &Manager) -> Self { + let incoming: HashSet<_> = manager + .incoming + .iter() + .filter(|(_, exit)| !exit.is_closed()) + .map(|(k, _)| k.clone()) + .collect(); + let outgoing: HashSet<_> = manager + .outgoing + .iter() + .filter(|(_, exit)| !exit.is_closed()) + .map(|(k, _)| k.clone()) + .collect(); + + let both_ways = incoming.intersection(&outgoing).cloned().collect(); + let incoming: HashSet<_> = incoming.difference(&both_ways).cloned().collect(); + let outgoing: HashSet<_> = outgoing.difference(&both_ways).cloned().collect(); + let missing = manager + .addresses + .keys() + .filter(|a| !both_ways.contains(a) && !incoming.contains(a) && !outgoing.contains(a)) + .cloned() + .collect(); + + ManagerStatus { + wanted_peers: manager.addresses.len(), + both_ways_peers: both_ways, + incoming_peers: incoming, + outgoing_peers: outgoing, + missing_peers: missing, + } + } +} + +impl Display for ManagerStatus { + fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), FmtError> { + if self.wanted_peers == 0 { + return write!(f, "not maintaining any connections; "); + } + + write!(f, "target - {:?} connections; ", self.wanted_peers)?; + + if self.both_ways_peers.is_empty() && self.incoming_peers.is_empty() { + write!(f, "WARNING! No incoming peers even though we expected tham, maybe connecting to us is impossible; ")?; + } + + if !self.both_ways_peers.is_empty() { + let peers = self + .both_ways_peers + .iter() + .map(|authority_id| authority_id.to_short_string()) + .collect::>() + .join(", "); + write!( + f, + "both ways - {:?} [{}]; ", + self.both_ways_peers.len(), + peers, + )?; + } + + if !self.incoming_peers.is_empty() { + let peers = self + .incoming_peers + .iter() + .map(|authority_id| authority_id.to_short_string()) + .collect::>() + .join(", "); + write!( + f, + "incoming only - {:?} [{}]; ", + self.incoming_peers.len(), + peers + )?; + } + + if !self.outgoing_peers.is_empty() { + let peers = self + .outgoing_peers + .iter() + .map(|authority_id| authority_id.to_short_string()) + .collect::>() + .join(", "); + write!( + f, + "outgoing only - {:?} [{}];", + self.outgoing_peers.len(), + peers + )?; + } + + if !self.missing_peers.is_empty() { + let peers = self + .missing_peers + .iter() + .map(|authority_id| authority_id.to_short_string()) + .collect::>() + .join(", "); + write!(f, "missing - {:?} [{}];", self.missing_peers.len(), peers)?; + } + + Ok(()) + } +} + +impl Manager { + /// Create a new Manager with empty list of peers. + pub fn new() -> Self { + Manager { + addresses: HashMap::new(), + outgoing: HashMap::new(), + incoming: HashMap::new(), + } + } + + /// Add a peer to the list of peers we want to stay connected to, or + /// update the list of addresses if the peer was already added. + /// Returns whether this peer is a new peer. + pub fn add_peer(&mut self, peer_id: AuthorityId, addresses: Vec) -> bool { + self.addresses.insert(peer_id, addresses).is_none() + } + + /// Return Option containing addresses of the given peer, or None if + /// the peer is unknown. + pub fn peer_addresses(&self, peer_id: &AuthorityId) -> Option> { + self.addresses.get(peer_id).cloned() + } + + /// Add an established outgoing connection with a known peer, + /// but only if the peer is on the list of peers that we want to stay connected with. + pub fn add_outgoing( + &mut self, + peer_id: AuthorityId, + data_for_network: mpsc::UnboundedSender, + ) -> AddResult { + use AddResult::*; + if !self.addresses.contains_key(&peer_id) { + return Uninterested; + } + match self.outgoing.insert(peer_id, data_for_network) { + Some(_) => Replaced, + None => Added, + } + } + + /// Add an established incoming connection with a known peer, + /// but only if the peer is on the list of peers that we want to stay connected with. + pub fn add_incoming( + &mut self, + peer_id: AuthorityId, + exit: mpsc::UnboundedSender, + ) -> AddResult { + use AddResult::*; + if !self.addresses.contains_key(&peer_id) { + return Uninterested; + }; + match self.incoming.insert(peer_id, exit) { + Some(_) => Replaced, + None => Added, + } + } + + /// Remove a peer from the list of peers that we want to stay connected with. + /// Close any incoming and outgoing connections that were established. + pub fn remove_peer(&mut self, peer_id: &AuthorityId) { + self.addresses.remove(peer_id); + self.incoming.remove(peer_id); + self.outgoing.remove(peer_id); + } + + /// Send data to a peer. + /// Returns error if there is no outgoing connection to the peer, + /// or if the connection is dead. + pub fn send_to(&mut self, peer_id: &AuthorityId, data: D) -> Result<(), SendError> { + self.outgoing + .get(peer_id) + .ok_or(SendError::PeerNotFound)? + .unbounded_send(data) + .map_err(|_| SendError::ConnectionClosed) + } + + /// A status of the manager, to be displayed somewhere. + pub fn status_report(&self) -> impl Display { + ManagerStatus::new(self) + } +} + +#[cfg(test)] +mod tests { + use futures::{channel::mpsc, StreamExt}; + + use super::{AddResult::*, Manager, SendError}; + use crate::validator_network::mock::key; + + type Data = String; + type Address = String; + + #[tokio::test] + async fn add_remove() { + let mut manager = Manager::::new(); + let (peer_id, _) = key().await; + let (peer_id_b, _) = key().await; + let addresses = vec![ + String::from(""), + String::from("a/b/c"), + String::from("43.43.43.43:43000"), + ]; + // add new peer - returns true + assert!(manager.add_peer(peer_id.clone(), addresses.clone())); + // add known peer - returns false + assert!(!manager.add_peer(peer_id.clone(), addresses.clone())); + // get address + assert_eq!(manager.peer_addresses(&peer_id), Some(addresses)); + // try to get address of an unknown peer + assert_eq!(manager.peer_addresses(&peer_id_b), None); + // remove peer + manager.remove_peer(&peer_id); + // try to get address of removed peer + assert_eq!(manager.peer_addresses(&peer_id), None); + } + + #[tokio::test] + async fn outgoing() { + let mut manager = Manager::::new(); + let data = String::from("DATA"); + let (peer_id, _) = key().await; + let addresses = vec![ + String::from(""), + String::from("a/b/c"), + String::from("43.43.43.43:43000"), + ]; + let (tx, _rx) = mpsc::unbounded(); + // try add unknown peer + manager.add_outgoing(peer_id.clone(), tx); + // sending should fail + assert_eq!( + manager.send_to(&peer_id, data.clone()), + Err(SendError::PeerNotFound) + ); + // add peer, this time for real + assert!(manager.add_peer(peer_id.clone(), addresses.clone())); + let (tx, mut rx) = mpsc::unbounded(); + assert_eq!(manager.add_outgoing(peer_id.clone(), tx), Added); + // send and receive + assert!(manager.send_to(&peer_id, data.clone()).is_ok()); + assert_eq!(data, rx.next().await.expect("should receive")); + // remove peer + manager.remove_peer(&peer_id); + // receiving should fail + assert!(rx.next().await.is_none()); + } + + #[tokio::test] + async fn incoming() { + let mut manager = Manager::::new(); + let (peer_id, _) = key().await; + let addresses = vec![ + String::from(""), + String::from("a/b/c"), + String::from("43.43.43.43:43000"), + ]; + let (tx, mut rx) = mpsc::unbounded(); + // try add unknown peer + assert_eq!(manager.add_incoming(peer_id.clone(), tx), Uninterested); + // rx should fail + assert!(rx.try_next().expect("channel should be closed").is_none()); + // add peer, this time for real + assert!(manager.add_peer(peer_id.clone(), addresses.clone())); + let (tx, mut rx) = mpsc::unbounded(); + // should just add + assert_eq!(manager.add_incoming(peer_id.clone(), tx), Added); + // the exit channel should be open + assert!(rx.try_next().is_err()); + let (tx, mut rx2) = mpsc::unbounded(); + // should replace now + assert_eq!(manager.add_incoming(peer_id.clone(), tx), Replaced); + // receiving should fail on old, but work on new channel + assert!(rx.try_next().expect("channel should be closed").is_none()); + assert!(rx2.try_next().is_err()); + // remove peer + manager.remove_peer(&peer_id); + // receiving should fail + assert!(rx2.try_next().expect("channel should be closed").is_none()); + } +} diff --git a/finality-aleph/src/validator_network/manager/mod.rs b/finality-aleph/src/validator_network/manager/mod.rs index e773104e78..bbfe0641b5 100644 --- a/finality-aleph/src/validator_network/manager/mod.rs +++ b/finality-aleph/src/validator_network/manager/mod.rs @@ -8,8 +8,11 @@ use futures::channel::mpsc; use crate::{network::PeerId, validator_network::Data}; -#[allow(dead_code)] mod direction; +mod legacy; + +use direction::DirectedPeers; +pub use legacy::Manager as LegacyManager; /// Error during sending data through the Manager #[derive(Debug, PartialEq, Eq)] @@ -41,180 +44,168 @@ pub enum AddResult { Replaced, } -/// Network component responsible for holding the list of peers that we -/// want to connect to, and managing the established connections. -pub struct Manager { - addresses: HashMap>, - outgoing: HashMap>, - incoming: HashMap>, -} - struct ManagerStatus { - wanted_peers: usize, - both_ways_peers: HashSet, outgoing_peers: HashSet, + missing_outgoing: HashSet, incoming_peers: HashSet, - missing_peers: HashSet, + missing_incoming: HashSet, } impl ManagerStatus { fn new(manager: &Manager) -> Self { - let incoming: HashSet<_> = manager - .incoming - .iter() - .filter(|(_, exit)| !exit.is_closed()) - .map(|(k, _)| k.clone()) - .collect(); - let outgoing: HashSet<_> = manager - .outgoing - .iter() - .filter(|(_, exit)| !exit.is_closed()) - .map(|(k, _)| k.clone()) - .collect(); - - let both_ways = incoming.intersection(&outgoing).cloned().collect(); - let incoming: HashSet<_> = incoming.difference(&both_ways).cloned().collect(); - let outgoing: HashSet<_> = outgoing.difference(&both_ways).cloned().collect(); - let missing = manager - .addresses - .keys() - .filter(|a| !both_ways.contains(a) && !incoming.contains(a) && !outgoing.contains(a)) - .cloned() - .collect(); - + let mut incoming_peers = HashSet::new(); + let mut missing_incoming = HashSet::new(); + let mut outgoing_peers = HashSet::new(); + let mut missing_outgoing = HashSet::new(); + + for peer in manager.wanted.incoming_peers() { + match manager.active_connection(peer) { + true => incoming_peers.insert(peer.clone()), + false => missing_incoming.insert(peer.clone()), + }; + } + for peer in manager.wanted.outgoing_peers() { + match manager.active_connection(peer) { + true => outgoing_peers.insert(peer.clone()), + false => missing_outgoing.insert(peer.clone()), + }; + } ManagerStatus { - wanted_peers: manager.addresses.len(), - both_ways_peers: both_ways, - incoming_peers: incoming, - outgoing_peers: outgoing, - missing_peers: missing, + incoming_peers, + missing_incoming, + outgoing_peers, + missing_outgoing, } } + + fn wanted_incoming(&self) -> usize { + self.incoming_peers.len() + self.missing_incoming.len() + } + + fn wanted_outgoing(&self) -> usize { + self.outgoing_peers.len() + self.missing_outgoing.len() + } +} + +fn pretty_authority_id_set(set: &HashSet) -> String { + set.iter() + .map(|authority_id| authority_id.to_short_string()) + .collect::>() + .join(", ") } impl Display for ManagerStatus { fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), FmtError> { - if self.wanted_peers == 0 { + let wanted_incoming = self.wanted_incoming(); + let wanted_outgoing = self.wanted_outgoing(); + if wanted_incoming + wanted_outgoing == 0 { return write!(f, "not maintaining any connections; "); } - write!(f, "target - {:?} connections; ", self.wanted_peers)?; - - if self.both_ways_peers.is_empty() && self.incoming_peers.is_empty() { - write!(f, "WARNING! No incoming peers even though we expected tham, maybe connecting to us is impossible; ")?; - } - - if !self.both_ways_peers.is_empty() { - let peers = self - .both_ways_peers - .iter() - .map(|authority_id| authority_id.to_short_string()) - .collect::>() - .join(", "); - write!( - f, - "both ways - {:?} [{}]; ", - self.both_ways_peers.len(), - peers, - )?; - } - - if !self.incoming_peers.is_empty() { - let peers = self - .incoming_peers - .iter() - .map(|authority_id| authority_id.to_short_string()) - .collect::>() - .join(", "); - write!( - f, - "incoming only - {:?} [{}]; ", - self.incoming_peers.len(), - peers - )?; - } - - if !self.outgoing_peers.is_empty() { - let peers = self - .outgoing_peers - .iter() - .map(|authority_id| authority_id.to_short_string()) - .collect::>() - .join(", "); - write!( - f, - "outgoing only - {:?} [{}];", - self.outgoing_peers.len(), - peers - )?; + match wanted_incoming { + 0 => write!(f, "not expecting any incoming connections; ")?, + _ => { + write!(f, "expecting {:?} incoming connections; ", wanted_incoming)?; + match self.incoming_peers.is_empty() { + // We warn about the lack of incoming connections, because this is relatively + // likely to be a common misconfiguration; much less the case for outgoing. + true => write!(f, "WARNING! No incoming peers even though we expected them, maybe connecting to us is impossible; ")?, + false => write!( + f, + "have - {:?} [{}]; ", + self.incoming_peers.len(), + pretty_authority_id_set(&self.incoming_peers), + )?, + } + if !self.missing_incoming.is_empty() { + write!( + f, + "missing - {:?} [{}]; ", + self.missing_incoming.len(), + pretty_authority_id_set(&self.missing_incoming), + )?; + } + } } - if !self.missing_peers.is_empty() { - let peers = self - .missing_peers - .iter() - .map(|authority_id| authority_id.to_short_string()) - .collect::>() - .join(", "); - write!(f, "missing - {:?} [{}];", self.missing_peers.len(), peers)?; + match wanted_outgoing { + 0 => write!(f, "not attempting any outgoing connections; ")?, + _ => { + write!(f, "attempting {:?} outgoing connections; ", wanted_outgoing)?; + if !self.outgoing_peers.is_empty() { + write!( + f, + "have - {:?} [{}]; ", + self.incoming_peers.len(), + pretty_authority_id_set(&self.outgoing_peers), + )?; + } + if !self.missing_outgoing.is_empty() { + write!( + f, + "missing - {:?} [{}]; ", + self.missing_incoming.len(), + pretty_authority_id_set(&self.missing_outgoing), + )?; + } + } } Ok(()) } } +/// Network component responsible for holding the list of peers that we +/// want to connect to or let them connect to us, and managing the established +/// connections. +pub struct Manager { + // Which peers we want to be connected with, and which way. + wanted: DirectedPeers, + // This peers we are connected with. We ensure that this is always a subset of what we want. + have: HashMap>, +} + impl Manager { /// Create a new Manager with empty list of peers. - pub fn new() -> Self { + pub fn new(own_id: AuthorityId) -> Self { Manager { - addresses: HashMap::new(), - outgoing: HashMap::new(), - incoming: HashMap::new(), + wanted: DirectedPeers::new(own_id), + have: HashMap::new(), } } + fn active_connection(&self, peer_id: &AuthorityId) -> bool { + self.have + .get(peer_id) + .map(|sender| !sender.is_closed()) + .unwrap_or(false) + } + /// Add a peer to the list of peers we want to stay connected to, or /// update the list of addresses if the peer was already added. - /// Returns whether this peer is a new peer. + /// Returns whether we should start attempts at connecting with the peer, which depends on the + /// coorddinated pseudorandom decision on the direction of the connection and whether this was + /// added for the first time. pub fn add_peer(&mut self, peer_id: AuthorityId, addresses: Vec) -> bool { - self.addresses.insert(peer_id, addresses).is_none() + self.wanted.add_peer(peer_id, addresses) } - /// Return Option containing addresses of the given peer, or None if - /// the peer is unknown. + /// Return the addresses of the given peer, or None if we shouldn't attempt connecting with the peer. pub fn peer_addresses(&self, peer_id: &AuthorityId) -> Option> { - self.addresses.get(peer_id).cloned() + self.wanted.peer_addresses(peer_id) } - /// Add an established outgoing connection with a known peer, - /// but only if the peer is on the list of peers that we want to stay connected with. - pub fn add_outgoing( + /// Add an established connection with a known peer, but only if the peer is among the peers we want to be connected to. + pub fn add_connection( &mut self, peer_id: AuthorityId, data_for_network: mpsc::UnboundedSender, ) -> AddResult { use AddResult::*; - if !self.addresses.contains_key(&peer_id) { + if !self.wanted.interested(&peer_id) { return Uninterested; } - match self.outgoing.insert(peer_id, data_for_network) { - Some(_) => Replaced, - None => Added, - } - } - - /// Add an established incoming connection with a known peer, - /// but only if the peer is on the list of peers that we want to stay connected with. - pub fn add_incoming( - &mut self, - peer_id: AuthorityId, - exit: mpsc::UnboundedSender, - ) -> AddResult { - use AddResult::*; - if !self.addresses.contains_key(&peer_id) { - return Uninterested; - }; - match self.incoming.insert(peer_id, exit) { + match self.have.insert(peer_id, data_for_network) { Some(_) => Replaced, None => Added, } @@ -223,16 +214,15 @@ impl Manager { /// Remove a peer from the list of peers that we want to stay connected with. /// Close any incoming and outgoing connections that were established. pub fn remove_peer(&mut self, peer_id: &AuthorityId) { - self.addresses.remove(peer_id); - self.incoming.remove(peer_id); - self.outgoing.remove(peer_id); + self.wanted.remove_peer(peer_id); + self.have.remove(peer_id); } /// Send data to a peer. /// Returns error if there is no outgoing connection to the peer, /// or if the connection is dead. pub fn send_to(&mut self, peer_id: &AuthorityId, data: D) -> Result<(), SendError> { - self.outgoing + self.have .get(peer_id) .ok_or(SendError::PeerNotFound)? .unbounded_send(data) @@ -257,7 +247,8 @@ mod tests { #[tokio::test] async fn add_remove() { - let mut manager = Manager::::new(); + let (own_id, _) = key().await; + let mut manager = Manager::::new(own_id); let (peer_id, _) = key().await; let (peer_id_b, _) = key().await; let addresses = vec![ @@ -265,12 +256,15 @@ mod tests { String::from("a/b/c"), String::from("43.43.43.43:43000"), ]; - // add new peer - returns true - assert!(manager.add_peer(peer_id.clone(), addresses.clone())); - // add known peer - returns false + // add new peer - might return either true or false, depending on the ids + let attempting_connections = manager.add_peer(peer_id.clone(), addresses.clone()); + // add known peer - always returns false assert!(!manager.add_peer(peer_id.clone(), addresses.clone())); // get address - assert_eq!(manager.peer_addresses(&peer_id), Some(addresses)); + match attempting_connections { + true => assert_eq!(manager.peer_addresses(&peer_id), Some(addresses)), + false => assert_eq!(manager.peer_addresses(&peer_id), None), + } // try to get address of an unknown peer assert_eq!(manager.peer_addresses(&peer_id_b), None); // remove peer @@ -284,10 +278,12 @@ mod tests { } #[tokio::test] - async fn outgoing() { - let mut manager = Manager::::new(); + async fn send_receive() { + let (mut connecting_id, _) = key().await; + let mut connecting_manager = Manager::::new(connecting_id.clone()); + let (mut listening_id, _) = key().await; + let mut listening_manager = Manager::::new(listening_id.clone()); let data = String::from("DATA"); - let (peer_id, _) = key().await; let addresses = vec![ String::from(""), String::from("a/b/c"), @@ -295,55 +291,54 @@ mod tests { ]; let (tx, _rx) = mpsc::unbounded(); // try add unknown peer - manager.add_outgoing(peer_id.clone(), tx); + assert_eq!( + connecting_manager.add_connection(listening_id.clone(), tx), + Uninterested + ); // sending should fail assert_eq!( - manager.send_to(&peer_id, data.clone()), + connecting_manager.send_to(&listening_id, data.clone()), Err(SendError::PeerNotFound) ); // add peer, this time for real - assert!(manager.add_peer(peer_id.clone(), addresses.clone())); + if connecting_manager.add_peer(listening_id.clone(), addresses.clone()) { + assert!(!listening_manager.add_peer(connecting_id.clone(), addresses.clone())) + } else { + // We need to switch the names around, because the connection was randomly the + // other way around. + let temp_id = connecting_id; + connecting_id = listening_id; + listening_id = temp_id; + let temp_manager = connecting_manager; + connecting_manager = listening_manager; + listening_manager = temp_manager; + assert!(connecting_manager.add_peer(listening_id.clone(), addresses.clone())); + } + // add outgoing to connecting let (tx, mut rx) = mpsc::unbounded(); - assert_eq!(manager.add_outgoing(peer_id.clone(), tx), Added); - // send and receive - assert!(manager.send_to(&peer_id, data.clone()).is_ok()); + assert_eq!( + connecting_manager.add_connection(listening_id.clone(), tx), + Added + ); + // send and receive connecting + assert!(connecting_manager + .send_to(&listening_id, data.clone()) + .is_ok()); assert_eq!(data, rx.next().await.expect("should receive")); - // remove peer - manager.remove_peer(&peer_id); - // receiving should fail - assert!(rx.next().await.is_none()); - } - - #[tokio::test] - async fn incoming() { - let mut manager = Manager::::new(); - let (peer_id, _) = key().await; - let addresses = vec![ - String::from(""), - String::from("a/b/c"), - String::from("43.43.43.43:43000"), - ]; + // add incoming to listening let (tx, mut rx) = mpsc::unbounded(); - // try add unknown peer - assert_eq!(manager.add_incoming(peer_id.clone(), tx), Uninterested); - // rx should fail - assert!(rx.try_next().expect("channel should be closed").is_none()); - // add peer, this time for real - assert!(manager.add_peer(peer_id.clone(), addresses.clone())); - let (tx, mut rx) = mpsc::unbounded(); - // should just add - assert_eq!(manager.add_incoming(peer_id.clone(), tx), Added); - // the exit channel should be open - assert!(rx.try_next().is_err()); - let (tx, mut rx2) = mpsc::unbounded(); - // should replace now - assert_eq!(manager.add_incoming(peer_id.clone(), tx), Replaced); - // receiving should fail on old, but work on new channel - assert!(rx.try_next().expect("channel should be closed").is_none()); - assert!(rx2.try_next().is_err()); + assert_eq!( + listening_manager.add_connection(connecting_id.clone(), tx), + Added + ); + // send and receive listening + assert!(listening_manager + .send_to(&connecting_id, data.clone()) + .is_ok()); + assert_eq!(data, rx.next().await.expect("should receive")); // remove peer - manager.remove_peer(&peer_id); + listening_manager.remove_peer(&connecting_id); // receiving should fail - assert!(rx2.try_next().expect("channel should be closed").is_none()); + assert!(rx.next().await.is_none()); } } diff --git a/finality-aleph/src/validator_network/outgoing.rs b/finality-aleph/src/validator_network/outgoing.rs index 37ea94b668..d22858497b 100644 --- a/finality-aleph/src/validator_network/outgoing.rs +++ b/finality-aleph/src/validator_network/outgoing.rs @@ -96,8 +96,10 @@ pub async fn outgoing>( { info!(target: "validator-network", "Outgoing connection to {} {:?} failed: {}, will retry after {}s.", peer_id, addresses, e, RETRY_DELAY.as_secs()); sleep(RETRY_DELAY).await; + // we send the "new" connection type, because we always assume it's new until proven + // otherwise, and here we did not even get the chance to attempt negotiating a protocol if result_for_parent - .unbounded_send((peer_id, None, ConnectionType::LegacyOutgoing)) + .unbounded_send((peer_id, None, ConnectionType::New)) .is_err() { debug!(target: "validator-network", "Could not send the closing message, we've probably been terminated by the parent service."); diff --git a/finality-aleph/src/validator_network/protocols/mod.rs b/finality-aleph/src/validator_network/protocols/mod.rs index c1a6c998a9..d16430d205 100644 --- a/finality-aleph/src/validator_network/protocols/mod.rs +++ b/finality-aleph/src/validator_network/protocols/mod.rs @@ -14,7 +14,6 @@ use crate::{ mod handshake; mod negotiation; mod v0; -#[allow(dead_code)] mod v1; use handshake::HandshakeError; @@ -46,6 +45,9 @@ pub type ResultForService = ( pub enum Protocol { /// The first version of the protocol, with unidirectional connections. V0, + /// The current version of the protocol, with pseudorandom connection direction and + /// multiplexing. + V1, } /// Protocol error. @@ -102,7 +104,7 @@ impl Protocol { const MIN_VERSION: Version = 0; /// Maximal supported protocol version. - const MAX_VERSION: Version = 0; + const MAX_VERSION: Version = 1; /// Launches the proper variant of the protocol (receiver half). pub async fn manage_incoming( @@ -115,6 +117,7 @@ impl Protocol { use Protocol::*; match self { V0 => v0::incoming(stream, authority_pen, result_for_service, data_for_user).await, + V1 => v1::incoming(stream, authority_pen, result_for_service, data_for_user).await, } } @@ -125,11 +128,21 @@ impl Protocol { authority_pen: AuthorityPen, peer_id: AuthorityId, result_for_service: mpsc::UnboundedSender>, - _data_for_user: mpsc::UnboundedSender, + data_for_user: mpsc::UnboundedSender, ) -> Result<(), ProtocolError> { use Protocol::*; match self { V0 => v0::outgoing(stream, authority_pen, peer_id, result_for_service).await, + V1 => { + v1::outgoing( + stream, + authority_pen, + peer_id, + result_for_service, + data_for_user, + ) + .await + } } } } @@ -140,6 +153,7 @@ impl TryFrom for Protocol { fn try_from(version: Version) -> Result { match version { 0 => Ok(Protocol::V0), + 1 => Ok(Protocol::V1), unknown_version => Err(unknown_version), } } diff --git a/finality-aleph/src/validator_network/protocols/negotiation.rs b/finality-aleph/src/validator_network/protocols/negotiation.rs index aa6ff97f89..52f0f1203a 100644 --- a/finality-aleph/src/validator_network/protocols/negotiation.rs +++ b/finality-aleph/src/validator_network/protocols/negotiation.rs @@ -145,7 +145,7 @@ mod tests { fn correct_negotiation(result: Result<(S, Protocol), ProtocolNegotiationError>) { match result { - Ok((_stream, protocol)) => assert_eq!(Protocol::V0, protocol), + Ok((_stream, protocol)) => assert_eq!(Protocol::V1, protocol), Err(e) => panic!("Unexpected error: {:?}", e), } } diff --git a/finality-aleph/src/validator_network/service.rs b/finality-aleph/src/validator_network/service.rs index 75b9198e98..86a2aca44c 100644 --- a/finality-aleph/src/validator_network/service.rs +++ b/finality-aleph/src/validator_network/service.rs @@ -1,20 +1,20 @@ -use std::fmt::Debug; +use std::{collections::HashSet, fmt::Debug}; use aleph_primitives::AuthorityId; use futures::{ channel::{mpsc, oneshot}, StreamExt, }; -use log::{info, trace, warn}; +use log::{debug, info, trace, warn}; use tokio::time; use crate::{ crypto::AuthorityPen, validator_network::{ incoming::incoming, - manager::{AddResult, Manager}, + manager::{AddResult, LegacyManager, Manager}, outgoing::outgoing, - protocols::ResultForService, + protocols::{ConnectionType, ResultForService}, Data, Dialer, Listener, Network, }, SpawnTaskHandle, STATUS_REPORT_INTERVAL, @@ -74,7 +74,7 @@ impl Network for ServiceInterface { } /// A service that has to be run for the validator network to work. -pub struct Service, NL: Listener> { +pub struct Service, NL: Listener> { commands_from_interface: mpsc::UnboundedReceiver>, next_to_interface: mpsc::UnboundedSender, manager: Manager, @@ -82,6 +82,9 @@ pub struct Service, NL: Listener> { listener: NL, spawn_handle: SpawnTaskHandle, authority_pen: AuthorityPen, + // Backwards compatibility with the one-sided connections, remove when no longer needed. + legacy_connected: HashSet, + legacy_manager: LegacyManager, } impl, NL: Listener> Service { @@ -100,11 +103,13 @@ impl, NL: Listener> Service, NL: Listener> Service, NL: Listener> Service Option> { + match self.legacy_connected.contains(peer_id) { + true => self.legacy_manager.peer_addresses(peer_id), + false => self.manager.peer_addresses(peer_id), + } + } + + fn add_connection( + &mut self, + peer_id: AuthorityId, + data_for_network: mpsc::UnboundedSender, + connection_type: ConnectionType, + ) -> AddResult { + use ConnectionType::*; + match connection_type { + New => { + // If we are adding a non-legacy connection we want to ensure it's not marked as + // such. This should only matter if a peer initially used the legacy protocol but + // now upgraded, otherwise this is unnecessary busywork, but what can you do. + self.unmark_legacy(&peer_id); + self.manager.add_connection(peer_id, data_for_network) + } + LegacyIncoming => self.legacy_manager.add_incoming(peer_id, data_for_network), + LegacyOutgoing => self.legacy_manager.add_outgoing(peer_id, data_for_network), + } + } + + // Mark a peer as legacy and return whether it is the first time we do so. + fn mark_legacy(&mut self, peer_id: &AuthorityId) -> bool { + self.manager.remove_peer(peer_id); + self.legacy_connected.insert(peer_id.clone()) + } + + // Unmark a peer as legacy, putting it back in the normal set. + fn unmark_legacy(&mut self, peer_id: &AuthorityId) { + self.legacy_connected.remove(peer_id); + // Put it back if we still want to be connected. + if let Some(addresses) = self.legacy_manager.peer_addresses(peer_id) { + self.manager.add_peer(peer_id.clone(), addresses); + } + } + + // Checks whether this peer should now be marked as one using the legacy protocol and handled + // accordingly. Returns whether we should spawn a new connection worker because of that. + fn check_for_legacy(&mut self, peer_id: &AuthorityId, connection_type: ConnectionType) -> bool { + use ConnectionType::*; + match connection_type { + LegacyIncoming => self.mark_legacy(peer_id), + LegacyOutgoing => { + self.mark_legacy(peer_id); + false + } + // We don't unmark here, because we always return New when a connection + // fails early, and in such cases we want to keep the previous guess as to + // how we want to connect. We unmark once we successfully negotiate and add + // a connection. + New => false, + } + } + /// Run the service until a signal from exit. pub async fn run(mut self, mut exit: oneshot::Receiver<()>) { let mut status_ticker = time::interval(STATUS_REPORT_INTERVAL); - // channel used to receive tuple (peer_id, exit_handle) from a spawned worker - // that has just established an incoming connection - // exit_handle may be used to kill the worker later - let (incoming_result_for_parent, mut incoming_workers) = mpsc::unbounded(); - // channel used to receive information about failure from a spawned worker - // that managed an outgoing connection - // the received peer_id can be used to spawn another worker - let (outgoing_result_for_parent, mut outgoing_workers) = mpsc::unbounded(); + let (result_for_parent, mut worker_results) = mpsc::unbounded(); use ServiceCommand::*; loop { tokio::select! { // got new incoming connection from the listener - spawn an incoming worker maybe_stream = self.listener.accept() => match maybe_stream { - Ok(stream) => self.spawn_new_incoming(stream, incoming_result_for_parent.clone()), + Ok(stream) => self.spawn_new_incoming(stream, result_for_parent.clone()), Err(e) => warn!(target: "validator-network", "Listener failed to accept connection: {}", e), }, // got a new command from the interface @@ -174,52 +231,65 @@ impl, NL: Listener> Service { + // we add all the peers to the legacy manager so we don't lose the + // addresses, but only care about its opinion when it turns out we have to + // in particular the first time we add a peer we never know whether it + // requires legacy connecting, so we only attempt to connect to it if the + // new criterion is satisfied, otherwise we wait for it to connect to us + self.legacy_manager.add_peer(peer_id.clone(), addresses.clone()); if self.manager.add_peer(peer_id.clone(), addresses.clone()) { - self.spawn_new_outgoing(peer_id, addresses, outgoing_result_for_parent.clone()); + self.spawn_new_outgoing(peer_id, addresses, result_for_parent.clone()); }; }, // remove the peer from the manager all workers will be killed automatically, due to closed channels DelConnection(peer_id) => { self.manager.remove_peer(&peer_id); + self.legacy_manager.remove_peer(&peer_id); + self.legacy_connected.remove(&peer_id); }, // pass the data to the manager SendData(data, peer_id) => { - match self.manager.send_to(&peer_id, data) { - Ok(_) => trace!(target: "validator-network", "Sending data to {}.", peer_id), - Err(e) => trace!(target: "validator-network", "Failed sending to {}: {}", peer_id, e), + match self.legacy_connected.contains(&peer_id) { + true => match self.legacy_manager.send_to(&peer_id, data) { + Ok(_) => trace!(target: "validator-network", "Sending data to {} through legacy.", peer_id), + Err(e) => trace!(target: "validator-network", "Failed sending to {} through legacy: {}", peer_id, e), + }, + false => match self.manager.send_to(&peer_id, data) { + Ok(_) => trace!(target: "validator-network", "Sending data to {}.", peer_id), + Err(e) => trace!(target: "validator-network", "Failed sending to {}: {}", peer_id, e), + }, } }, }, - // received tuple (peer_id, exit_handle) from a spawned worker - // that has just established an incoming connection - // pass the tuple to the manager to register the connection - // the manager will be responsible for killing the worker if necessary - Some((peer_id, Some(exit), _)) = incoming_workers.next() => { - use AddResult::*; - match self.manager.add_incoming(peer_id.clone(), exit) { - Uninterested => info!(target: "validator-network", "Peer {} connected to us despite out lack of interest.", peer_id), - Added => info!(target: "validator-network", "New incoming connection for peer {}.", peer_id), - Replaced => info!(target: "validator-network", "Replaced incoming connection for peer {}.", peer_id), - } - }, - // received information from a spawned worker managing an outgoing connection + // received information from a spawned worker managing a connection // check if we still want to be connected to the peer, and if so, spawn a new worker or actually add proper connection - Some((peer_id, maybe_data_for_network, _)) = outgoing_workers.next() => { - use AddResult::*; - if let Some(addresses) = self.manager.peer_addresses(&peer_id) { - match maybe_data_for_network { - Some(data_for_network) => match self.manager.add_outgoing(peer_id.clone(), data_for_network) { - Uninterested => warn!(target: "validator-network", "We connected to peer {} for unknown reasons.", peer_id), - Added => info!(target: "validator-network", "New outgoing connection to peer {}.", peer_id), - Replaced => info!(target: "validator-network", "Replaced outgoing connection to peer {}.", peer_id), + Some((peer_id, maybe_data_for_network, connection_type)) = worker_results.next() => { + if self.check_for_legacy(&peer_id, connection_type) { + match self.legacy_manager.peer_addresses(&peer_id) { + Some(addresses) => self.spawn_new_outgoing(peer_id.clone(), addresses, result_for_parent.clone()), + None => { + // We received a result from a worker we are no longer interested + // in. + self.legacy_connected.remove(&peer_id); }, - None => self.spawn_new_outgoing(peer_id, addresses, outgoing_result_for_parent.clone()), } - }; + } + use AddResult::*; + match maybe_data_for_network { + Some(data_for_network) => match self.add_connection(peer_id.clone(), data_for_network, connection_type) { + Uninterested => warn!(target: "validator-network", "Established connection with peer {} for unknown reasons.", peer_id), + Added => info!(target: "validator-network", "New connection with peer {}.", peer_id), + Replaced => info!(target: "validator-network", "Replaced connection with peer {}.", peer_id), + }, + None => if let Some(addresses) = self.peer_addresses(&peer_id) { + self.spawn_new_outgoing(peer_id, addresses, result_for_parent.clone()); + } + } }, // periodically reporting what we are trying to do _ = status_ticker.tick() => { - info!(target: "validator-network", "Validator Network status: {}", self.manager.status_report()) + info!(target: "validator-network", "Validator Network status: {}", self.manager.status_report()); + debug!(target: "validator-network", "Validator Network legacy status: {}", self.legacy_manager.status_report()); } // received exit signal, stop the network // all workers will be killed automatically after the manager gets dropped From 4a817b9c29a3b10a1d47d69d7786bee1ee271dbc Mon Sep 17 00:00:00 2001 From: timorl Date: Fri, 11 Nov 2022 11:21:13 +0100 Subject: [PATCH 008/212] A0-1574: Remove unnecessary implementations in the substrate network (#726) * Remove substrate NetworkIdentity * No Multiaddress requirement for substrate network * Remove unnecessary wrappers --- finality-aleph/src/network/mock.rs | 4 +- finality-aleph/src/network/mod.rs | 18 +- finality-aleph/src/network/service.rs | 2 +- finality-aleph/src/substrate_network.rs | 270 ++---------------------- 4 files changed, 27 insertions(+), 267 deletions(-) diff --git a/finality-aleph/src/network/mock.rs b/finality-aleph/src/network/mock.rs index 2ac4283397..615df5a350 100644 --- a/finality-aleph/src/network/mock.rs +++ b/finality-aleph/src/network/mock.rs @@ -152,7 +152,7 @@ impl Default for Channel { } } -pub type MockEvent = Event; +pub type MockEvent = Event; pub type MockData = Vec; type MessageForUser = (NetworkData, DataCommand<::PeerId>); @@ -183,7 +183,7 @@ impl MockIO { pub struct MockEventStream(mpsc::UnboundedReceiver); #[async_trait] -impl EventStream for MockEventStream { +impl EventStream for MockEventStream { async fn next_event(&mut self) -> Option { self.0.next().await } diff --git a/finality-aleph/src/network/mod.rs b/finality-aleph/src/network/mod.rs index 5862a55341..2b30ef09e5 100644 --- a/finality-aleph/src/network/mod.rs +++ b/finality-aleph/src/network/mod.rs @@ -89,26 +89,26 @@ pub trait NetworkSender: Send + Sync + 'static { } #[derive(Clone)] -pub enum Event { +pub enum Event { Connected(M), - Disconnected(M::PeerId), - StreamOpened(M::PeerId, Protocol), - StreamClosed(M::PeerId, Protocol), + Disconnected(P), + StreamOpened(P, Protocol), + StreamClosed(P, Protocol), Messages(Vec<(Protocol, Bytes)>), } #[async_trait] -pub trait EventStream { - async fn next_event(&mut self) -> Option>; +pub trait EventStream { + async fn next_event(&mut self) -> Option>; } /// Abstraction over a network. pub trait Network: Clone + Send + Sync + 'static { type SenderError: std::error::Error; type NetworkSender: NetworkSender; - type PeerId: PeerId; - type Multiaddress: Multiaddress; - type EventStream: EventStream; + type PeerId: Clone + Debug + Eq + Hash + Send; + type Multiaddress: Debug + Eq + Hash; + type EventStream: EventStream; /// Returns a stream of events representing what happens on the network. fn event_stream(&self) -> Self::EventStream; diff --git a/finality-aleph/src/network/service.rs b/finality-aleph/src/network/service.rs index 6028945cbd..142e4cfb4c 100644 --- a/finality-aleph/src/network/service.rs +++ b/finality-aleph/src/network/service.rs @@ -187,7 +187,7 @@ impl< fn handle_network_event( &mut self, - event: Event, + event: Event, ) -> Result<(), mpsc::TrySendError>> { use Event::*; match event { diff --git a/finality-aleph/src/substrate_network.rs b/finality-aleph/src/substrate_network.rs index 9638520b29..e4a14d9818 100644 --- a/finality-aleph/src/substrate_network.rs +++ b/finality-aleph/src/substrate_network.rs @@ -1,13 +1,12 @@ use std::{borrow::Cow, collections::HashSet, fmt, iter, pin::Pin, sync::Arc}; use async_trait::async_trait; -use codec::{Decode, Encode}; use futures::stream::{Stream, StreamExt}; use log::error; use sc_consensus::JustificationSyncLink; use sc_network::{ multiaddr::Protocol as MultiaddressProtocol, Event as SubstrateEvent, ExHashT, Multiaddr, - NetworkService, NetworkStateInfo, NetworkSyncForkRequest, PeerId as SubstratePeerId, + NetworkService, NetworkSyncForkRequest, PeerId, }; use sc_network_common::service::{ NetworkEventStream as _, NetworkNotification, NetworkPeers, NotificationSender, @@ -16,10 +15,7 @@ use sp_api::NumberFor; use sp_consensus::SyncOracle; use sp_runtime::traits::Block; -use crate::network::{ - Event, EventStream, Multiaddress as MultiaddressT, Network, NetworkIdentity, NetworkSender, - PeerId as PeerIdT, Protocol, RequestBlocks, -}; +use crate::network::{Event, EventStream, Network, NetworkSender, Protocol, RequestBlocks}; impl RequestBlocks for Arc> { fn request_justification(&self, hash: &B::Hash, number: NumberFor) { @@ -44,146 +40,6 @@ impl RequestBlocks for Arc> { } } -#[derive(PartialEq, Eq, Copy, Clone, Debug, Hash)] -pub struct PeerId(SubstratePeerId); - -impl From for SubstratePeerId { - fn from(wrapper: PeerId) -> Self { - wrapper.0 - } -} - -impl From for PeerId { - fn from(id: SubstratePeerId) -> Self { - PeerId(id) - } -} - -impl Encode for PeerId { - fn using_encoded R>(&self, f: F) -> R { - self.0.to_bytes().using_encoded(f) - } -} - -impl Decode for PeerId { - fn decode(value: &mut I) -> Result { - let bytes = Vec::::decode(value)?; - SubstratePeerId::from_bytes(&bytes) - .map_err(|_| "PeerId not encoded with to_bytes".into()) - .map(|pid| pid.into()) - } -} - -impl fmt::Display for PeerId { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - write!(f, "{}", self.0) - } -} - -impl PeerIdT for PeerId {} - -fn peer_id(protocol: &MultiaddressProtocol<'_>) -> Option { - match protocol { - MultiaddressProtocol::P2p(hashed_peer_id) => { - SubstratePeerId::from_multihash(*hashed_peer_id) - .ok() - .map(PeerId) - } - _ => None, - } -} - -/// A wrapper for the Substrate multiaddress to allow encoding & decoding. -#[derive(Clone, Debug, Hash, PartialEq, Eq)] -pub struct Multiaddress(Multiaddr); - -impl From for Multiaddress { - fn from(addr: Multiaddr) -> Self { - Multiaddress(addr) - } -} - -impl From for Multiaddr { - fn from(addr: Multiaddress) -> Self { - addr.0 - } -} - -impl Encode for Multiaddress { - fn using_encoded R>(&self, f: F) -> R { - self.0.to_vec().using_encoded(f) - } -} - -impl Decode for Multiaddress { - fn decode(value: &mut I) -> Result { - let bytes = Vec::::decode(value)?; - Multiaddr::try_from(bytes) - .map_err(|_| "Multiaddr not encoded as bytes".into()) - .map(|multiaddr| multiaddr.into()) - } -} - -enum CommonPeerId { - Unknown, - Unique(PeerId), - NotUnique, -} - -impl From for Option { - fn from(cpi: CommonPeerId) -> Self { - use CommonPeerId::*; - match cpi { - Unique(peer_id) => Some(peer_id), - Unknown | NotUnique => None, - } - } -} - -impl CommonPeerId { - fn aggregate(self, peer_id: PeerId) -> Self { - use CommonPeerId::*; - match self { - Unknown => Unique(peer_id), - Unique(current_peer_id) => match peer_id == current_peer_id { - true => Unique(current_peer_id), - false => NotUnique, - }, - NotUnique => NotUnique, - } - } -} - -impl MultiaddressT for Multiaddress { - type PeerId = PeerId; - - fn get_peer_id(&self) -> Option { - self.0 - .iter() - .fold( - CommonPeerId::Unknown, - |common_peer_id, protocol| match peer_id(&protocol) { - Some(peer_id) => common_peer_id.aggregate(peer_id), - None => common_peer_id, - }, - ) - .into() - } - - fn add_matching_peer_id(mut self, peer_id: Self::PeerId) -> Option { - match self.get_peer_id() { - Some(peer) => match peer == peer_id { - true => Some(self), - false => None, - }, - None => { - self.0.push(MultiaddressProtocol::P2p(peer_id.0.into())); - Some(self) - } - } - } -} - /// Name of the network protocol used by Aleph Zero. This is how messages /// are subscribed to ensure that we are gossiping and communicating with our /// own network. @@ -267,28 +123,28 @@ impl NetworkSender for SubstrateNetworkSender { type NetworkEventStream = Pin + Send>>; #[async_trait] -impl EventStream for NetworkEventStream { - async fn next_event(&mut self) -> Option> { +impl EventStream for NetworkEventStream { + async fn next_event(&mut self) -> Option> { use Event::*; use SubstrateEvent::*; loop { match self.next().await { Some(event) => match event { SyncConnected { remote } => { - return Some(Connected(Multiaddress( + return Some(Connected( iter::once(MultiaddressProtocol::P2p(remote.into())).collect(), - ))) + )) } - SyncDisconnected { remote } => return Some(Disconnected(remote.into())), + SyncDisconnected { remote } => return Some(Disconnected(remote)), NotificationStreamOpened { remote, protocol, .. } => match to_protocol(protocol.as_ref()) { - Ok(protocol) => return Some(StreamOpened(remote.into(), protocol)), + Ok(protocol) => return Some(StreamOpened(remote, protocol)), Err(_) => continue, }, NotificationStreamClosed { remote, protocol } => { match to_protocol(protocol.as_ref()) { - Ok(protocol) => return Some(StreamClosed(remote.into(), protocol)), + Ok(protocol) => return Some(StreamClosed(remote, protocol)), Err(_) => continue, } } @@ -319,7 +175,7 @@ impl Network for Arc> { type SenderError = SenderError; type NetworkSender = SubstrateNetworkSender; type PeerId = PeerId; - type Multiaddress = Multiaddress; + type Multiaddress = Multiaddr; type EventStream = NetworkEventStream; fn event_stream(&self) -> Self::EventStream { @@ -335,118 +191,22 @@ impl Network for Arc> { // Currently method `notification_sender` does not distinguish whether we are not connected to the peer // or there is no such protocol so we need to have this worthless `SenderError::CannotCreateSender` error here notification_sender: self - .notification_sender(peer_id.into(), protocol_name(&protocol)) + .notification_sender(peer_id, protocol_name(&protocol)) .map_err(|_| SenderError::CannotCreateSender(peer_id, protocol))?, peer_id, }) } fn add_reserved(&self, addresses: HashSet, protocol: Protocol) { - if let Err(e) = self.add_peers_to_reserved_set( - protocol_name(&protocol), - addresses - .into_iter() - .map(|address| address.into()) - .collect(), - ) { + if let Err(e) = self + .add_peers_to_reserved_set(protocol_name(&protocol), addresses.into_iter().collect()) + { error!(target: "aleph-network", "add_reserved failed: {}", e); } } fn remove_reserved(&self, peers: HashSet, protocol: Protocol) { - let addresses = peers.into_iter().map(|peer_id| peer_id.0).collect(); + let addresses = peers.into_iter().collect(); self.remove_peers_from_reserved_set(protocol_name(&protocol), addresses); } } - -impl NetworkIdentity for Arc> { - type PeerId = PeerId; - type Multiaddress = Multiaddress; - - fn identity(&self) -> (Vec, Self::PeerId) { - ( - self.external_addresses() - .into_iter() - .map(|address| address.into()) - .collect(), - self.local_peer_id().into(), - ) - } -} - -#[cfg(test)] -mod tests { - use codec::{Decode, Encode}; - - use super::Multiaddress; - use crate::network::Multiaddress as _; - - fn address(text: &str) -> Multiaddress { - Multiaddress(text.parse().unwrap()) - } - - #[test] - fn non_p2p_addresses_are_not_p2p() { - assert!(address("/dns4/example.com/udt/sctp/5678") - .get_peer_id() - .is_none()); - } - - #[test] - fn p2p_addresses_are_p2p() { - assert!(address( - "/dns4/example.com/tcp/30333/p2p/12D3KooWRkGLz4YbVmrsWK75VjFTs8NvaBu42xhAmQaP4KeJpw1L" - ) - .get_peer_id() - .is_some()); - } - - #[test] - fn non_p2p_address_matches_peer_id() { - let address = address( - "/dns4/example.com/tcp/30333/p2p/12D3KooWRkGLz4YbVmrsWK75VjFTs8NvaBu42xhAmQaP4KeJpw1L", - ); - let peer_id = address.get_peer_id().unwrap(); - let mut peerless_address = address.clone().0; - peerless_address.pop(); - let peerless_address = Multiaddress(peerless_address); - assert!(peerless_address.get_peer_id().is_none()); - assert_eq!( - peerless_address.add_matching_peer_id(peer_id), - Some(address), - ); - } - - #[test] - fn p2p_address_matches_own_peer_id() { - let address = address( - "/dns4/example.com/tcp/30333/p2p/12D3KooWRkGLz4YbVmrsWK75VjFTs8NvaBu42xhAmQaP4KeJpw1L", - ); - let peer_id = address.get_peer_id().unwrap(); - let expected_address = address.clone(); - assert_eq!( - address.add_matching_peer_id(peer_id), - Some(expected_address), - ); - } - - #[test] - fn p2p_address_does_not_match_other_peer_id() { - let nonmatching_address = address( - "/dns4/example.com/tcp/30333/p2p/12D3KooWRkGLz4YbVmrsWK75VjFTs8NvaBu42xhAmQaP4KeJpw1L", - ); - let peer_id = address("/dns4/peer.example.com/tcp/30333/p2p/12D3KooWFVXnvJdPuGnGYMPn5qLQAQYwmRBgo6SmEQsKZSrDoo2k").get_peer_id().unwrap(); - assert!(nonmatching_address.add_matching_peer_id(peer_id).is_none()); - } - - #[test] - fn multiaddr_encode_decode() { - let multiaddr: Multiaddress = address( - "/dns4/example.com/tcp/30333/p2p/12D3KooWRkGLz4YbVmrsWK75VjFTs8NvaBu42xhAmQaP4KeJpw1L", - ); - assert_eq!( - Multiaddress::decode(&mut &multiaddr.encode()[..]).unwrap(), - multiaddr, - ); - } -} From 493270989938c4b2da1a74c499ea2ea172f6c714 Mon Sep 17 00:00:00 2001 From: timorl Date: Wed, 16 Nov 2022 20:09:52 +0100 Subject: [PATCH 009/212] A0-1586: At most one discovery message (#734) * At most one discovery message * Clippy being helpful --- .../src/network/manager/discovery.rs | 78 ++++++------ finality-aleph/src/network/manager/service.rs | 116 +++++++++--------- 2 files changed, 95 insertions(+), 99 deletions(-) diff --git a/finality-aleph/src/network/manager/discovery.rs b/finality-aleph/src/network/manager/discovery.rs index 02b1a22f86..77edad14cc 100644 --- a/finality-aleph/src/network/manager/discovery.rs +++ b/finality-aleph/src/network/manager/discovery.rs @@ -64,20 +64,20 @@ impl Discovery { } } - /// Returns messages that should be sent as part of authority discovery at this moment. + /// Returns a message that should be sent as part of authority discovery at this moment. pub fn discover_authorities( &mut self, handler: &SessionHandler, - ) -> Vec> { + ) -> Option> { let authentication = match handler.authentication() { Some(authentication) => authentication, - None => return Vec::new(), + None => return None, }; let missing_authorities = handler.missing_nodes(); let node_count = handler.node_count(); info!(target: "aleph-network", "{}/{} authorities known for session {}.", node_count.0-missing_authorities.len(), node_count.0, handler.session_id().0); - vec![authentication_broadcast(authentication)] + Some(authentication_broadcast(authentication)) } /// Checks the authentication using the handler and returns the addresses we should be @@ -104,39 +104,37 @@ impl Discovery { &mut self, authentication: Authentication, handler: &mut SessionHandler, - ) -> (Vec, Vec>) { + ) -> (Vec, Option>) { debug!(target: "aleph-network", "Handling broadcast with authentication {:?}.", authentication); let addresses = self.handle_authentication(authentication.clone(), handler); if addresses.is_empty() { - return (Vec::new(), Vec::new()); + return (Vec::new(), None); } let node_id = authentication.0.creator(); - let mut messages = Vec::new(); - if self.should_rebroadcast(&node_id) { - trace!(target: "aleph-network", "Rebroadcasting {:?}.", authentication); - self.last_broadcast.insert(node_id, Instant::now()); - messages.push(authentication_broadcast(authentication)); + if !self.should_rebroadcast(&node_id) { + return (addresses, None); } - (addresses, messages) + trace!(target: "aleph-network", "Rebroadcasting {:?}.", authentication); + self.last_broadcast.insert(node_id, Instant::now()); + (addresses, Some(authentication_broadcast(authentication))) } /// Analyzes the provided message and returns all the new multiaddresses we should - /// be connected to if we want to stay connected to the committee and any messages - /// that we should send as a result of it. + /// be connected to if we want to stay connected to the committee and an optional + /// message that we should send as a result of it. pub fn handle_message( &mut self, message: DiscoveryMessage, handler: &mut SessionHandler, - ) -> (Vec, Vec>) { + ) -> (Vec, Option>) { use DiscoveryMessage::*; match message { AuthenticationBroadcast(authentication) => { self.handle_broadcast(authentication, handler) } - Authentication(authentication) => ( - self.handle_authentication(authentication, handler), - Vec::new(), - ), + Authentication(authentication) => { + (self.handle_authentication(authentication, handler), None) + } } } } @@ -215,11 +213,9 @@ mod tests { for num_nodes in 2..NUM_NODES { let (mut discovery, mut handlers, _) = build_number(num_nodes).await; let handler = &mut handlers[0]; - let mut messages = discovery.discover_authorities(handler); - assert_eq!(messages.len(), 1); - let message = messages.pop().unwrap(); + let message = discovery.discover_authorities(handler); assert_eq!( - message, + message.expect("there is a discovery message"), ( DiscoveryMessage::AuthenticationBroadcast(handler.authentication().unwrap()), DataCommand::Broadcast @@ -231,8 +227,8 @@ mod tests { #[tokio::test] async fn non_validator_discover_authorities_returns_empty_vector() { let (mut discovery, _, non_validator) = build().await; - let messages = discovery.discover_authorities(&non_validator); - assert!(messages.is_empty()); + let message = discovery.discover_authorities(&non_validator); + assert!(message.is_none()); } #[tokio::test] @@ -240,32 +236,30 @@ mod tests { let (mut discovery, mut handlers, _) = build().await; let authentication = handlers[1].authentication().unwrap(); let handler = &mut handlers[0]; - let (addresses, commands) = discovery.handle_message( + let (addresses, command) = discovery.handle_message( DiscoveryMessage::AuthenticationBroadcast(authentication.clone()), handler, ); assert_eq!(addresses, authentication.0.addresses()); - assert_eq!(commands.len(), 1); - assert!(commands.iter().any(|command| matches!(command, ( + assert!(matches!(command, Some(( DiscoveryMessage::AuthenticationBroadcast(rebroadcast_authentication), DataCommand::Broadcast, - ) if rebroadcast_authentication == &authentication))); + )) if rebroadcast_authentication == authentication)); } #[tokio::test] async fn non_validators_rebroadcasts() { let (mut discovery, handlers, mut non_validator) = build().await; let authentication = handlers[1].authentication().unwrap(); - let (addresses, commands) = discovery.handle_message( + let (addresses, command) = discovery.handle_message( DiscoveryMessage::AuthenticationBroadcast(authentication.clone()), &mut non_validator, ); assert_eq!(addresses, authentication.0.addresses()); - assert_eq!(commands.len(), 1); - assert!(commands.iter().any(|command| matches!(command, ( + assert!(matches!(command, Some(( DiscoveryMessage::AuthenticationBroadcast(rebroadcast_authentication), DataCommand::Broadcast, - ) if rebroadcast_authentication == &authentication))); + )) if rebroadcast_authentication == authentication)); } #[tokio::test] @@ -275,12 +269,12 @@ mod tests { let (_, signature) = handlers[2].authentication().unwrap(); let authentication = (auth_data, signature); let handler = &mut handlers[0]; - let (addresses, commands) = discovery.handle_message( + let (addresses, command) = discovery.handle_message( DiscoveryMessage::AuthenticationBroadcast(authentication), handler, ); assert!(addresses.is_empty()); - assert!(commands.is_empty()); + assert!(command.is_none()); } #[tokio::test] @@ -293,15 +287,15 @@ mod tests { handler, ); sleep(Duration::from_millis(MS_COOLDOWN + 5)); - let (addresses, commands) = discovery.handle_message( + let (addresses, command) = discovery.handle_message( DiscoveryMessage::AuthenticationBroadcast(authentication.clone()), handler, ); assert_eq!(addresses, authentication.0.addresses()); - assert!(commands.iter().any(|command| matches!(command, ( + assert!(matches!(command, Some(( DiscoveryMessage::AuthenticationBroadcast(rebroadcast_authentication), DataCommand::Broadcast, - ) if rebroadcast_authentication == &authentication))); + )) if rebroadcast_authentication == authentication)); } #[tokio::test] @@ -310,12 +304,12 @@ mod tests { let expected_address = handlers[1].authentication().unwrap().0.addresses()[0].encode(); let authentication = handlers[1].authentication().unwrap(); let handler = &mut handlers[0]; - let (addresses, commands) = + let (addresses, command) = discovery.handle_message(DiscoveryMessage::Authentication(authentication), handler); assert_eq!(addresses.len(), 1); let address = addresses[0].encode(); assert_eq!(address, expected_address); - assert!(commands.is_empty()); + assert!(command.is_none()); } #[tokio::test] @@ -325,11 +319,11 @@ mod tests { let (_, signature) = handlers[2].authentication().unwrap(); let incorrect_authentication = (auth_data, signature); let handler = &mut handlers[0]; - let (addresses, commands) = discovery.handle_message( + let (addresses, command) = discovery.handle_message( DiscoveryMessage::Authentication(incorrect_authentication), handler, ); assert!(addresses.is_empty()); - assert!(commands.is_empty()); + assert!(command.is_none()); } } diff --git a/finality-aleph/src/network/manager/service.rs b/finality-aleph/src/network/manager/service.rs index ea8bdadd8f..fba4ebd456 100644 --- a/finality-aleph/src/network/manager/service.rs +++ b/finality-aleph/src/network/manager/service.rs @@ -114,14 +114,14 @@ type MessageForNetwork = (NetworkData, DataCommand< { maybe_command: Option>, - data: Vec>, + maybe_data: Option>, } impl ServiceActions { fn noop() -> Self { ServiceActions { maybe_command: None, - data: Vec::new(), + maybe_data: None, } } } @@ -195,29 +195,25 @@ impl Service { fn discover_authorities( &mut self, session_id: &SessionId, - ) -> Vec> { - if let Some(Session { - handler, discovery, .. - }) = self.sessions.get_mut(session_id) - { - discovery - .discover_authorities(handler) - .into_iter() - .map(Self::network_message) - .collect() - } else { - Vec::new() - } + ) -> Option> { + self.sessions.get_mut(session_id).and_then( + |Session { + handler, discovery, .. + }| { + discovery + .discover_authorities(handler) + .map(Self::network_message) + }, + ) } /// Returns all the network messages that should be sent as part of discovery at this moment. pub fn discovery(&mut self) -> Vec> { - let mut result = Vec::new(); let sessions: Vec<_> = self.sessions.keys().cloned().collect(); - for session_id in sessions { - result.append(&mut self.discover_authorities(&session_id)); - } - result + sessions + .iter() + .flat_map(|session_id| self.discover_authorities(session_id)) + .collect() } fn addresses(&self) -> Vec { @@ -235,7 +231,7 @@ impl Service { addresses: Vec, ) -> Result< ( - Vec>, + Option>, mpsc::UnboundedReceiver, ), SessionHandlerError, @@ -276,12 +272,12 @@ impl Service { let session = match self.sessions.get_mut(&pre_session.session_id) { Some(session) => session, None => { - let (data, data_from_network) = + let (maybe_data, data_from_network) = self.start_validator_session(pre_session, addresses).await?; return Ok(( ServiceActions { maybe_command: None, - data, + maybe_data, }, data_from_network, )); @@ -313,7 +309,7 @@ impl Service { Ok(( ServiceActions { maybe_command, - data: self.discover_authorities(&session_id), + maybe_data: self.discover_authorities(&session_id), }, data_from_network, )) @@ -425,7 +421,7 @@ impl Service { } Stop(session_id) => Ok(ServiceActions { maybe_command: self.finish_session(session_id), - data: Vec::new(), + maybe_data: None, }), } } @@ -473,7 +469,7 @@ impl Service { Some(Session { handler, discovery, .. }) => { - let (addresses, responses) = discovery.handle_message(message, handler); + let (addresses, response) = discovery.handle_message(message, handler); let maybe_command = match !addresses.is_empty() && handler.is_validator() { true => { debug!(target: "aleph-network", "Adding addresses for session {:?} to reserved: {:?}", session_id, addresses); @@ -489,7 +485,7 @@ impl Service { }; ServiceActions { maybe_command, - data: responses.into_iter().map(Self::network_message).collect(), + maybe_data: response.map(Self::network_message), } } None => { @@ -671,14 +667,14 @@ impl IO { &self, ServiceActions { maybe_command, - data, + maybe_data, }: ServiceActions, ) -> Result<(), Error> { if let Some(command) = maybe_command { self.send_command(command)?; } - for data_to_send in data { - self.send_data(data_to_send)?; + if let Some(data) = maybe_data { + self.send_data(data)?; } Ok(()) } @@ -796,13 +792,13 @@ mod tests { let session_id = SessionId(43); let ServiceActions { maybe_command, - data, + maybe_data, } = service .on_command(SessionCommand::StartNonvalidator(session_id, verifier)) .await .unwrap(); assert!(maybe_command.is_none()); - assert!(data.is_empty()); + assert!(maybe_data.is_none()); assert_eq!( service.send_session_data(&session_id, -43), Err(Error::NoSession) @@ -818,7 +814,7 @@ mod tests { let (result_for_user, result_from_service) = oneshot::channel(); let ServiceActions { maybe_command, - data, + maybe_data, } = service .on_command(SessionCommand::StartValidator( session_id, @@ -830,10 +826,10 @@ mod tests { .await .unwrap(); assert!(maybe_command.is_none()); - assert_eq!(data.len(), 1); - assert!(data - .iter() - .all(|(_, command)| command == &DataCommand::Broadcast)); + assert_eq!( + maybe_data.expect("there is a message").1, + DataCommand::Broadcast + ); let _data_from_network = result_from_service.await.unwrap(); assert_eq!(service.send_session_data(&session_id, -43), Ok(())); } @@ -847,7 +843,7 @@ mod tests { let (result_for_user, result_from_service) = oneshot::channel(); let ServiceActions { maybe_command, - data, + maybe_data, } = service .on_command(SessionCommand::StartValidator( session_id, @@ -859,22 +855,22 @@ mod tests { .await .unwrap(); assert!(maybe_command.is_none()); - assert_eq!(data.len(), 1); - assert!(data - .iter() - .all(|(_, command)| command == &DataCommand::Broadcast)); + assert_eq!( + maybe_data.expect("there is a message").1, + DataCommand::Broadcast + ); assert_eq!(service.send_session_data(&session_id, -43), Ok(())); let mut data_from_network = result_from_service.await.unwrap(); assert_eq!(data_from_network.next().await, Some(-43)); let ServiceActions { maybe_command, - data, + maybe_data, } = service .on_command(SessionCommand::Stop(session_id)) .await .unwrap(); assert!(maybe_command.is_none()); - assert!(data.is_empty()); + assert!(maybe_data.is_none()); assert_eq!( service.send_session_data(&session_id, -43), Err(Error::NoSession) @@ -900,15 +896,18 @@ mod tests { .unwrap(); let mut other_service = build(); let (node_id, pen) = validator_data[1].clone(); - let ServiceActions { data, .. } = other_service + let ServiceActions { maybe_data, .. } = other_service .on_command(SessionCommand::StartValidator( session_id, verifier, node_id, pen, None, )) .await .unwrap(); - let broadcast = match data[0].clone() { - (NetworkData::Meta(broadcast), DataCommand::Broadcast) => broadcast, - _ => panic!("Expected discovery massage broadcast, got: {:?}", data[0]), + let broadcast = match maybe_data { + Some((NetworkData::Meta(broadcast), DataCommand::Broadcast)) => broadcast, + maybe_data => panic!( + "Expected discovery massage broadcast, got: {:?}", + maybe_data + ), }; let addresses = match &broadcast { DiscoveryMessage::AuthenticationBroadcast((auth_data, _)) => auth_data.addresses(), @@ -916,7 +915,7 @@ mod tests { }; let ServiceActions { maybe_command, - data, + maybe_data, } = service.on_discovery_message(broadcast); assert_eq!( maybe_command, @@ -924,10 +923,10 @@ mod tests { addresses.into_iter().collect() )) ); - assert_eq!(data.len(), 1); - assert!(data - .iter() - .any(|(_, command)| command == &DataCommand::Broadcast)); + assert_eq!( + maybe_data.expect("there is a message").1, + DataCommand::Broadcast + ); } #[tokio::test] @@ -948,15 +947,18 @@ mod tests { .unwrap(); let mut other_service = build(); let (node_id, pen) = validator_data[1].clone(); - let ServiceActions { data, .. } = other_service + let ServiceActions { maybe_data, .. } = other_service .on_command(SessionCommand::StartValidator( session_id, verifier, node_id, pen, None, )) .await .unwrap(); - let broadcast = match data[0].clone() { - (NetworkData::Meta(broadcast), DataCommand::Broadcast) => broadcast, - _ => panic!("Expected discovery massage broadcast, got: {:?}", data[0]), + let broadcast = match maybe_data { + Some((NetworkData::Meta(broadcast), DataCommand::Broadcast)) => broadcast, + maybe_data => panic!( + "Expected discovery massage broadcast, got: {:?}", + maybe_data + ), }; service.on_discovery_message(broadcast); let messages = service.on_user_message(2137, session_id, Recipient::Everyone); From 0367540d732be4437e3d0606769b1d29da626ca5 Mon Sep 17 00:00:00 2001 From: timorl Date: Mon, 21 Nov 2022 12:37:36 +0100 Subject: [PATCH 010/212] A0-1591: Remove unnecessary abstraction layers in network (#741) * Remove unnecessary abstraction layers in network * Test name made little sense now --- finality-aleph/src/network/io.rs | 21 +- .../src/network/manager/compatibility.rs | 11 +- .../src/network/manager/discovery.rs | 50 ++-- finality-aleph/src/network/manager/mod.rs | 13 - finality-aleph/src/network/manager/service.rs | 222 ++++++++--------- finality-aleph/src/network/mock.rs | 43 ++-- finality-aleph/src/network/mod.rs | 14 +- finality-aleph/src/network/service.rs | 224 +++++++----------- 8 files changed, 255 insertions(+), 343 deletions(-) diff --git a/finality-aleph/src/network/io.rs b/finality-aleph/src/network/io.rs index 815285f800..868115214b 100644 --- a/finality-aleph/src/network/io.rs +++ b/finality-aleph/src/network/io.rs @@ -1,33 +1,42 @@ use futures::channel::mpsc; use crate::network::{ - manager::NetworkData, ConnectionManagerIO, Data, Multiaddress, NetworkServiceIO as NetworkIo, - SessionManagerIO, + manager::{DataInSession, VersionedAuthentication}, + ConnectionManagerIO, Data, Multiaddress, NetworkServiceIO as NetworkIO, SessionManagerIO, }; -type NetworkServiceIO = NetworkIo, M>; +type AuthenticationNetworkIO = NetworkIO, DataInSession, M>; pub fn setup() -> ( ConnectionManagerIO, - NetworkServiceIO, + AuthenticationNetworkIO, SessionManagerIO, ) { // Prepare and start the network let (commands_for_network, commands_from_io) = mpsc::unbounded(); + let (data_for_network, data_from_user) = mpsc::unbounded(); let (messages_for_network, messages_from_user) = mpsc::unbounded(); let (commands_for_service, commands_from_user) = mpsc::unbounded(); let (messages_for_service, commands_from_manager) = mpsc::unbounded(); + let (data_for_user, data_from_network) = mpsc::unbounded(); let (messages_for_user, messages_from_network) = mpsc::unbounded(); let connection_io = ConnectionManagerIO::new( commands_for_network, + data_for_network, messages_for_network, commands_from_user, commands_from_manager, + data_from_network, messages_from_network, ); - let channels_for_network = - NetworkServiceIO::new(messages_from_user, messages_for_user, commands_from_io); + let channels_for_network = NetworkIO::new( + data_from_user, + messages_from_user, + data_for_user, + messages_for_user, + commands_from_io, + ); let channels_for_session_manager = SessionManagerIO::new(commands_for_service, messages_for_service); diff --git a/finality-aleph/src/network/manager/compatibility.rs b/finality-aleph/src/network/manager/compatibility.rs index 5afa8bd306..8e40afac4e 100644 --- a/finality-aleph/src/network/manager/compatibility.rs +++ b/finality-aleph/src/network/manager/compatibility.rs @@ -7,10 +7,7 @@ use codec::{Decode, Encode, Error as CodecError, Input as CodecInput}; use log::warn; use crate::{ - network::{ - manager::{DiscoveryMessage, NetworkData}, - Data, Multiaddress, - }, + network::{manager::DiscoveryMessage, Multiaddress}, Version, }; @@ -26,13 +23,13 @@ pub enum VersionedAuthentication { V1(DiscoveryMessage), } -impl TryInto> for VersionedAuthentication { +impl TryInto> for VersionedAuthentication { type Error = Error; - fn try_into(self) -> Result, Self::Error> { + fn try_into(self) -> Result, Self::Error> { use VersionedAuthentication::*; match self { - V1(message) => Ok(NetworkData::Meta(message)), + V1(message) => Ok(message), Other(v, _) => Err(Error::UnknownVersion(v)), } } diff --git a/finality-aleph/src/network/manager/discovery.rs b/finality-aleph/src/network/manager/discovery.rs index 77edad14cc..4a4f1bb833 100644 --- a/finality-aleph/src/network/manager/discovery.rs +++ b/finality-aleph/src/network/manager/discovery.rs @@ -10,7 +10,7 @@ use log::{debug, info, trace}; use crate::{ network::{ manager::{Authentication, SessionHandler}, - DataCommand, Multiaddress, + Multiaddress, }, NodeIndex, SessionId, }; @@ -40,20 +40,6 @@ pub struct Discovery { _phantom: PhantomData, } -type DiscoveryCommand = ( - DiscoveryMessage, - DataCommand<::PeerId>, -); - -fn authentication_broadcast( - authentication: Authentication, -) -> DiscoveryCommand { - ( - DiscoveryMessage::AuthenticationBroadcast(authentication), - DataCommand::Broadcast, - ) -} - impl Discovery { /// Create a new discovery handler with the given response/broadcast cooldown. pub fn new(cooldown: Duration) -> Self { @@ -68,7 +54,7 @@ impl Discovery { pub fn discover_authorities( &mut self, handler: &SessionHandler, - ) -> Option> { + ) -> Option> { let authentication = match handler.authentication() { Some(authentication) => authentication, None => return None, @@ -77,7 +63,7 @@ impl Discovery { let missing_authorities = handler.missing_nodes(); let node_count = handler.node_count(); info!(target: "aleph-network", "{}/{} authorities known for session {}.", node_count.0-missing_authorities.len(), node_count.0, handler.session_id().0); - Some(authentication_broadcast(authentication)) + Some(DiscoveryMessage::AuthenticationBroadcast(authentication)) } /// Checks the authentication using the handler and returns the addresses we should be @@ -104,7 +90,7 @@ impl Discovery { &mut self, authentication: Authentication, handler: &mut SessionHandler, - ) -> (Vec, Option>) { + ) -> (Vec, Option>) { debug!(target: "aleph-network", "Handling broadcast with authentication {:?}.", authentication); let addresses = self.handle_authentication(authentication.clone(), handler); if addresses.is_empty() { @@ -116,7 +102,10 @@ impl Discovery { } trace!(target: "aleph-network", "Rebroadcasting {:?}.", authentication); self.last_broadcast.insert(node_id, Instant::now()); - (addresses, Some(authentication_broadcast(authentication))) + ( + addresses, + Some(DiscoveryMessage::AuthenticationBroadcast(authentication)), + ) } /// Analyzes the provided message and returns all the new multiaddresses we should @@ -126,7 +115,7 @@ impl Discovery { &mut self, message: DiscoveryMessage, handler: &mut SessionHandler, - ) -> (Vec, Option>) { + ) -> (Vec, Option>) { use DiscoveryMessage::*; match message { AuthenticationBroadcast(authentication) => { @@ -150,7 +139,6 @@ mod tests { network::{ manager::SessionHandler, mock::{crypto_basics, MockMultiaddress, MockPeerId}, - DataCommand, }, SessionId, }; @@ -216,10 +204,7 @@ mod tests { let message = discovery.discover_authorities(handler); assert_eq!( message.expect("there is a discovery message"), - ( - DiscoveryMessage::AuthenticationBroadcast(handler.authentication().unwrap()), - DataCommand::Broadcast - ) + DiscoveryMessage::AuthenticationBroadcast(handler.authentication().unwrap()), ); } } @@ -241,10 +226,9 @@ mod tests { handler, ); assert_eq!(addresses, authentication.0.addresses()); - assert!(matches!(command, Some(( + assert!(matches!(command, Some( DiscoveryMessage::AuthenticationBroadcast(rebroadcast_authentication), - DataCommand::Broadcast, - )) if rebroadcast_authentication == authentication)); + ) if rebroadcast_authentication == authentication)); } #[tokio::test] @@ -256,10 +240,9 @@ mod tests { &mut non_validator, ); assert_eq!(addresses, authentication.0.addresses()); - assert!(matches!(command, Some(( + assert!(matches!(command, Some( DiscoveryMessage::AuthenticationBroadcast(rebroadcast_authentication), - DataCommand::Broadcast, - )) if rebroadcast_authentication == authentication)); + ) if rebroadcast_authentication == authentication)); } #[tokio::test] @@ -292,10 +275,9 @@ mod tests { handler, ); assert_eq!(addresses, authentication.0.addresses()); - assert!(matches!(command, Some(( + assert!(matches!(command, Some( DiscoveryMessage::AuthenticationBroadcast(rebroadcast_authentication), - DataCommand::Broadcast, - )) if rebroadcast_authentication == authentication)); + ) if rebroadcast_authentication == authentication)); } #[tokio::test] diff --git a/finality-aleph/src/network/manager/mod.rs b/finality-aleph/src/network/manager/mod.rs index d7ff87df50..35ab274ec3 100644 --- a/finality-aleph/src/network/manager/mod.rs +++ b/finality-aleph/src/network/manager/mod.rs @@ -77,16 +77,3 @@ impl Encode for DataInSession { self.session_id.encode_to(dest); } } - -impl From> for NetworkData { - fn from(data: DataInSession) -> Self { - NetworkData::Data(data.data, data.session_id) - } -} - -/// The data that should be sent to the network service. -#[derive(Clone, Debug, PartialEq, Eq, Encode, Decode)] -pub enum NetworkData { - Meta(DiscoveryMessage), - Data(D, SessionId), -} diff --git a/finality-aleph/src/network/manager/service.rs b/finality-aleph/src/network/manager/service.rs index fba4ebd456..247d3c3e23 100644 --- a/finality-aleph/src/network/manager/service.rs +++ b/finality-aleph/src/network/manager/service.rs @@ -16,10 +16,10 @@ use crate::{ crypto::{AuthorityPen, AuthorityVerifier}, network::{ manager::{ - Connections, Discovery, DiscoveryMessage, NetworkData, SessionHandler, - SessionHandlerError, + Connections, DataInSession, Discovery, DiscoveryMessage, SessionHandler, + SessionHandlerError, VersionedAuthentication, }, - ConnectionCommand, Data, DataCommand, Multiaddress, NetworkIdentity, PeerId, + AddressedData, ConnectionCommand, Data, Multiaddress, NetworkIdentity, PeerId, }, MillisecsPerBlock, NodeIndex, SessionId, SessionPeriod, STATUS_REPORT_INTERVAL, }; @@ -110,18 +110,19 @@ impl Config { } } -type MessageForNetwork = (NetworkData, DataCommand<::PeerId>); - -pub struct ServiceActions { +/// Actions that the service wants to take as the result of some information. Might contain a +/// command for connecting to or disconnecting from some peers or a message to broadcast for +/// discovery purposes. +pub struct ServiceActions { maybe_command: Option>, - maybe_data: Option>, + maybe_message: Option>, } -impl ServiceActions { +impl ServiceActions { fn noop() -> Self { ServiceActions { maybe_command: None, - maybe_data: None, + maybe_message: None, } } } @@ -186,29 +187,19 @@ impl Service { Self::delete_reserved(self.connections.remove_session(session_id)) } - fn network_message( - (message, command): (DiscoveryMessage, DataCommand), - ) -> MessageForNetwork { - (NetworkData::Meta(message), command) - } - fn discover_authorities( &mut self, session_id: &SessionId, - ) -> Option> { + ) -> Option> { self.sessions.get_mut(session_id).and_then( |Session { handler, discovery, .. - }| { - discovery - .discover_authorities(handler) - .map(Self::network_message) - }, + }| { discovery.discover_authorities(handler) }, ) } /// Returns all the network messages that should be sent as part of discovery at this moment. - pub fn discovery(&mut self) -> Vec> { + pub fn discovery(&mut self) -> Vec> { let sessions: Vec<_> = self.sessions.keys().cloned().collect(); sessions .iter() @@ -231,7 +222,7 @@ impl Service { addresses: Vec, ) -> Result< ( - Option>, + Option>, mpsc::UnboundedReceiver, ), SessionHandlerError, @@ -261,23 +252,18 @@ impl Service { async fn update_validator_session( &mut self, pre_session: PreValidatorSession, - ) -> Result< - ( - ServiceActions, - mpsc::UnboundedReceiver, - ), - SessionHandlerError, - > { + ) -> Result<(ServiceActions, mpsc::UnboundedReceiver), SessionHandlerError> + { let addresses = self.addresses(); let session = match self.sessions.get_mut(&pre_session.session_id) { Some(session) => session, None => { - let (maybe_data, data_from_network) = + let (maybe_message, data_from_network) = self.start_validator_session(pre_session, addresses).await?; return Ok(( ServiceActions { maybe_command: None, - maybe_data, + maybe_message, }, data_from_network, )); @@ -309,7 +295,7 @@ impl Service { Ok(( ServiceActions { maybe_command, - maybe_data: self.discover_authorities(&session_id), + maybe_message: self.discover_authorities(&session_id), }, data_from_network, )) @@ -319,7 +305,7 @@ impl Service { &mut self, pre_session: PreValidatorSession, result_for_user: Option>>, - ) -> Result, SessionHandlerError> { + ) -> Result, SessionHandlerError> { match self.update_validator_session(pre_session.clone()).await { Ok((actions, data_from_network)) => { if let Some(result_for_user) = result_for_user { @@ -393,12 +379,11 @@ impl Service { } /// Handle a session command. - /// Returns a command possibly changing what we should stay connected to and a list of data to - /// be sent over the network. + /// Returns actions the service wants to take or an error if the session command is invalid. pub async fn on_command( &mut self, command: SessionCommand, - ) -> Result, SessionHandlerError> { + ) -> Result, SessionHandlerError> { use SessionCommand::*; match command { StartValidator(session_id, verifier, node_id, pen, result_for_user) => { @@ -421,7 +406,7 @@ impl Service { } Stop(session_id) => Ok(ServiceActions { maybe_command: self.finish_session(session_id), - maybe_data: None, + maybe_message: None, }), } } @@ -430,26 +415,26 @@ impl Service { /// Returns a list of data to be sent over the network. pub fn on_user_message( &self, - message: D, + data: D, session_id: SessionId, recipient: Recipient, - ) -> Vec> { + ) -> Vec, ::PeerId>> { if let Some(handler) = self .sessions .get(&session_id) .map(|session| &session.handler) { - let to_send = NetworkData::Data(message, session_id); + let to_send = DataInSession { data, session_id }; match recipient { Recipient::Everyone => (0..handler.node_count().0) .map(NodeIndex) .flat_map(|node_id| handler.peer_id(&node_id)) - .map(|peer_id| (to_send.clone(), DataCommand::SendTo(peer_id))) + .map(|peer_id| (to_send.clone(), peer_id)) .collect(), Recipient::Node(node_id) => handler .peer_id(&node_id) .into_iter() - .map(|peer_id| (to_send.clone(), DataCommand::SendTo(peer_id))) + .map(|peer_id| (to_send.clone(), peer_id)) .collect(), } } else { @@ -458,18 +443,17 @@ impl Service { } /// Handle a discovery message. - /// Returns a command possibly changing what we should stay connected to and a list of data to - /// be sent over the network. + /// Returns actions the service wants to take. pub fn on_discovery_message( &mut self, message: DiscoveryMessage, - ) -> ServiceActions { + ) -> ServiceActions { let session_id = message.session_id(); match self.sessions.get_mut(&session_id) { Some(Session { handler, discovery, .. }) => { - let (addresses, response) = discovery.handle_message(message, handler); + let (addresses, maybe_message) = discovery.handle_message(message, handler); let maybe_command = match !addresses.is_empty() && handler.is_validator() { true => { debug!(target: "aleph-network", "Adding addresses for session {:?} to reserved: {:?}", session_id, addresses); @@ -485,7 +469,7 @@ impl Service { }; ServiceActions { maybe_command, - maybe_data: response.map(Self::network_message), + maybe_message, } } None => { @@ -514,7 +498,7 @@ impl Service { /// the request. pub async fn retry_session_start( &mut self, - ) -> Result, SessionHandlerError> { + ) -> Result, SessionHandlerError> { let (pre_session, result_for_user) = match self.to_retry.pop() { Some(to_retry) => to_retry, None => return Ok(ServiceActions::noop()), @@ -614,10 +598,12 @@ impl Service { /// Input/output interface for the connectiona manager service. pub struct IO { commands_for_network: mpsc::UnboundedSender>, - messages_for_network: mpsc::UnboundedSender>, + data_for_network: mpsc::UnboundedSender, M::PeerId>>, + authentications_for_network: mpsc::UnboundedSender>, commands_from_user: mpsc::UnboundedReceiver>, messages_from_user: mpsc::UnboundedReceiver<(D, SessionId, Recipient)>, - messages_from_network: mpsc::UnboundedReceiver>, + data_from_network: mpsc::UnboundedReceiver>, + authentications_from_network: mpsc::UnboundedReceiver>, } /// Errors that can happen during the network service operations. @@ -637,26 +623,36 @@ pub enum Error { impl IO { pub fn new( commands_for_network: mpsc::UnboundedSender>, - messages_for_network: mpsc::UnboundedSender>, + data_for_network: mpsc::UnboundedSender, M::PeerId>>, + authentications_for_network: mpsc::UnboundedSender>, commands_from_user: mpsc::UnboundedReceiver>, messages_from_user: mpsc::UnboundedReceiver<(D, SessionId, Recipient)>, - messages_from_network: mpsc::UnboundedReceiver>, + data_from_network: mpsc::UnboundedReceiver>, + authentications_from_network: mpsc::UnboundedReceiver>, ) -> IO { IO { commands_for_network, - messages_for_network, + data_for_network, + authentications_for_network, commands_from_user, messages_from_user, - messages_from_network, + data_from_network, + authentications_from_network, } } - fn send_data(&self, to_send: MessageForNetwork) -> Result<(), Error> { - self.messages_for_network + fn send_data(&self, to_send: AddressedData, M::PeerId>) -> Result<(), Error> { + self.data_for_network .unbounded_send(to_send) .map_err(|_| Error::NetworkSend) } + fn send_authentication(&self, to_send: DiscoveryMessage) -> Result<(), Error> { + self.authentications_for_network + .unbounded_send(VersionedAuthentication::V1(to_send)) + .map_err(|_| Error::NetworkSend) + } + fn send_command(&self, to_send: ConnectionCommand) -> Result<(), Error> { self.commands_for_network .unbounded_send(to_send) @@ -667,30 +663,18 @@ impl IO { &self, ServiceActions { maybe_command, - maybe_data, - }: ServiceActions, + maybe_message, + }: ServiceActions, ) -> Result<(), Error> { if let Some(command) = maybe_command { self.send_command(command)?; } - if let Some(data) = maybe_data { - self.send_data(data)?; + if let Some(message) = maybe_message { + self.send_authentication(message)?; } Ok(()) } - fn on_network_message>( - &self, - service: &mut Service, - message: NetworkData, - ) -> Result<(), Error> { - use NetworkData::*; - match message { - Meta(message) => self.send(service.on_discovery_message(message)), - Data(data, session_id) => service.send_session_data(&session_id, data), - } - } - /// Run the connection manager service with this IO. pub async fn run>( mut self, @@ -726,10 +710,10 @@ impl IO { None => return Err(Error::MessageChannel), } }, - maybe_message = self.messages_from_network.next() => { - trace!(target: "aleph-network", "Manager received a message from network"); - match maybe_message { - Some(message) => if let Err(e) = self.on_network_message(&mut service, message) { + maybe_data = self.data_from_network.next() => { + trace!(target: "aleph-network", "Manager received some data from network"); + match maybe_data { + Some(DataInSession{data, session_id}) => if let Err(e) = service.send_session_data(&session_id, data) { match e { Error::UserSend => trace!(target: "aleph-network", "Failed to send to user in session."), Error::NoSession => trace!(target: "aleph-network", "Received message for unknown session."), @@ -739,6 +723,16 @@ impl IO { None => return Err(Error::NetworkChannel), } }, + maybe_authentication = self.authentications_from_network.next() => { + trace!(target: "aleph-network", "Manager received an authentication from network"); + match maybe_authentication { + Some(authentication) => match authentication.try_into() { + Ok(message) => self.send(service.on_discovery_message(message))?, + Err(e) => warn!(target: "aleph-network", "Error casting versioned authentication to discovery message: {:?}", e), + }, + None => return Err(Error::NetworkChannel), + } + }, _ = maintenance.tick() => { debug!(target: "aleph-network", "Manager starts maintenence"); match service.retry_session_start().await { @@ -746,7 +740,7 @@ impl IO { Err(e) => warn!(target: "aleph-network", "Retry failed to update handler: {:?}", e), } for to_send in service.discovery() { - self.send_data(to_send)?; + self.send_authentication(to_send)?; } }, _ = status_ticker.tick() => { @@ -766,9 +760,9 @@ mod tests { use super::{Config, Error, Service, ServiceActions, SessionCommand}; use crate::{ network::{ - manager::{DiscoveryMessage, NetworkData}, + manager::{DataInSession, DiscoveryMessage}, mock::{crypto_basics, MockNetworkIdentity}, - ConnectionCommand, DataCommand, + ConnectionCommand, }, Recipient, SessionId, }; @@ -792,13 +786,13 @@ mod tests { let session_id = SessionId(43); let ServiceActions { maybe_command, - maybe_data, + maybe_message, } = service .on_command(SessionCommand::StartNonvalidator(session_id, verifier)) .await .unwrap(); assert!(maybe_command.is_none()); - assert!(maybe_data.is_none()); + assert!(maybe_message.is_none()); assert_eq!( service.send_session_data(&session_id, -43), Err(Error::NoSession) @@ -814,7 +808,7 @@ mod tests { let (result_for_user, result_from_service) = oneshot::channel(); let ServiceActions { maybe_command, - maybe_data, + maybe_message, } = service .on_command(SessionCommand::StartValidator( session_id, @@ -826,10 +820,7 @@ mod tests { .await .unwrap(); assert!(maybe_command.is_none()); - assert_eq!( - maybe_data.expect("there is a message").1, - DataCommand::Broadcast - ); + assert!(maybe_message.is_some()); let _data_from_network = result_from_service.await.unwrap(); assert_eq!(service.send_session_data(&session_id, -43), Ok(())); } @@ -843,7 +834,7 @@ mod tests { let (result_for_user, result_from_service) = oneshot::channel(); let ServiceActions { maybe_command, - maybe_data, + maybe_message, } = service .on_command(SessionCommand::StartValidator( session_id, @@ -855,22 +846,19 @@ mod tests { .await .unwrap(); assert!(maybe_command.is_none()); - assert_eq!( - maybe_data.expect("there is a message").1, - DataCommand::Broadcast - ); + assert!(maybe_message.is_some()); assert_eq!(service.send_session_data(&session_id, -43), Ok(())); let mut data_from_network = result_from_service.await.unwrap(); assert_eq!(data_from_network.next().await, Some(-43)); let ServiceActions { maybe_command, - maybe_data, + maybe_message, } = service .on_command(SessionCommand::Stop(session_id)) .await .unwrap(); assert!(maybe_command.is_none()); - assert!(maybe_data.is_none()); + assert!(maybe_message.is_none()); assert_eq!( service.send_session_data(&session_id, -43), Err(Error::NoSession) @@ -896,37 +884,28 @@ mod tests { .unwrap(); let mut other_service = build(); let (node_id, pen) = validator_data[1].clone(); - let ServiceActions { maybe_data, .. } = other_service + let ServiceActions { maybe_message, .. } = other_service .on_command(SessionCommand::StartValidator( session_id, verifier, node_id, pen, None, )) .await .unwrap(); - let broadcast = match maybe_data { - Some((NetworkData::Meta(broadcast), DataCommand::Broadcast)) => broadcast, - maybe_data => panic!( - "Expected discovery massage broadcast, got: {:?}", - maybe_data - ), - }; - let addresses = match &broadcast { + let message = maybe_message.expect("there should be a discovery message"); + let addresses = match &message { DiscoveryMessage::AuthenticationBroadcast((auth_data, _)) => auth_data.addresses(), - _ => panic!("Expected an authentication broadcast, got {:?}", broadcast), + _ => panic!("Expected an authentication broadcast, got {:?}", message), }; let ServiceActions { maybe_command, - maybe_data, - } = service.on_discovery_message(broadcast); + maybe_message, + } = service.on_discovery_message(message); assert_eq!( maybe_command, Some(ConnectionCommand::AddReserved( addresses.into_iter().collect() )) ); - assert_eq!( - maybe_data.expect("there is a message").1, - DataCommand::Broadcast - ); + assert!(maybe_message.is_some()); } #[tokio::test] @@ -947,24 +926,23 @@ mod tests { .unwrap(); let mut other_service = build(); let (node_id, pen) = validator_data[1].clone(); - let ServiceActions { maybe_data, .. } = other_service + let ServiceActions { maybe_message, .. } = other_service .on_command(SessionCommand::StartValidator( session_id, verifier, node_id, pen, None, )) .await .unwrap(); - let broadcast = match maybe_data { - Some((NetworkData::Meta(broadcast), DataCommand::Broadcast)) => broadcast, - maybe_data => panic!( - "Expected discovery massage broadcast, got: {:?}", - maybe_data - ), - }; - service.on_discovery_message(broadcast); + let message = maybe_message.expect("there should be a discovery message"); + service.on_discovery_message(message); let messages = service.on_user_message(2137, session_id, Recipient::Everyone); assert_eq!(messages.len(), 1); - let (network_data, data_command) = &messages[0]; - assert!(matches!(data_command, DataCommand::SendTo(_))); - assert_eq!(network_data, &NetworkData::Data(2137, session_id)); + let (network_data, _) = &messages[0]; + assert_eq!( + network_data, + &DataInSession { + data: 2137, + session_id + } + ); } } diff --git a/finality-aleph/src/network/mock.rs b/finality-aleph/src/network/mock.rs index 615df5a350..885b5bbcea 100644 --- a/finality-aleph/src/network/mock.rs +++ b/finality-aleph/src/network/mock.rs @@ -20,8 +20,8 @@ use tokio::time::timeout; use crate::{ crypto::{AuthorityPen, AuthorityVerifier}, network::{ - manager::NetworkData, ConnectionCommand, DataCommand, Event, EventStream, Multiaddress, - Network, NetworkIdentity, NetworkSender, NetworkServiceIO as NetworkIO, PeerId, Protocol, + manager::VersionedAuthentication, AddressedData, ConnectionCommand, Event, EventStream, + Multiaddress, Network, NetworkIdentity, NetworkSender, NetworkServiceIO, PeerId, Protocol, }, AuthorityId, NodeIndex, }; @@ -155,27 +155,40 @@ impl Default for Channel { pub type MockEvent = Event; pub type MockData = Vec; -type MessageForUser = (NetworkData, DataCommand<::PeerId>); -type NetworkServiceIO = NetworkIO, M>; pub struct MockIO { - pub messages_for_user: mpsc::UnboundedSender>, - pub messages_from_user: mpsc::UnboundedReceiver>, - pub commands_for_manager: mpsc::UnboundedSender>, + pub messages_for_network: mpsc::UnboundedSender>, + pub data_for_network: mpsc::UnboundedSender>, + pub messages_from_network: mpsc::UnboundedReceiver>, + pub data_from_network: mpsc::UnboundedReceiver, + pub commands_for_network: mpsc::UnboundedSender>, } impl MockIO { - pub fn new() -> (MockIO, NetworkServiceIO) { - let (mock_messages_for_user, messages_from_user) = mpsc::unbounded(); - let (messages_for_user, mock_messages_from_user) = mpsc::unbounded(); - let (mock_commands_for_manager, commands_from_manager) = mpsc::unbounded(); + pub fn new() -> ( + MockIO, + NetworkServiceIO, MockData, M>, + ) { + let (messages_for_network, messages_from_user) = mpsc::unbounded(); + let (data_for_network, data_from_user) = mpsc::unbounded(); + let (messages_for_user, messages_from_network) = mpsc::unbounded(); + let (data_for_user, data_from_network) = mpsc::unbounded(); + let (commands_for_network, commands_from_manager) = mpsc::unbounded(); ( MockIO { - messages_for_user: mock_messages_for_user, - messages_from_user: mock_messages_from_user, - commands_for_manager: mock_commands_for_manager, + messages_for_network, + data_for_network, + messages_from_network, + data_from_network, + commands_for_network, }, - NetworkServiceIO::new(messages_from_user, messages_for_user, commands_from_manager), + NetworkServiceIO::new( + data_from_user, + messages_from_user, + data_for_user, + messages_for_user, + commands_from_manager, + ), ) } } diff --git a/finality-aleph/src/network/mod.rs b/finality-aleph/src/network/mod.rs index 2b30ef09e5..cdffb48152 100644 --- a/finality-aleph/src/network/mod.rs +++ b/finality-aleph/src/network/mod.rs @@ -37,8 +37,7 @@ pub use split::{split, Split}; #[cfg(test)] pub mod testing { pub use super::manager::{ - Authentication, DataInSession, DiscoveryMessage, NetworkData, SessionHandler, - VersionedAuthentication, + Authentication, DataInSession, DiscoveryMessage, SessionHandler, VersionedAuthentication, }; } @@ -156,14 +155,6 @@ pub trait RequestBlocks: Clone + Send + Sync + 'static { fn is_major_syncing(&self) -> bool; } -/// What do do with a specific piece of data. -/// Note that broadcast does not specify the protocol, as we only broadcast Generic messages in this sense. -#[derive(Debug, PartialEq, Eq, Clone)] -pub enum DataCommand { - Broadcast, - SendTo(PID), -} - /// Commands for manipulating the reserved peers set. #[derive(Debug, PartialEq, Eq)] pub enum ConnectionCommand { @@ -182,6 +173,9 @@ pub trait Data: Clone + Codec + Send + Sync + 'static {} impl Data for D {} +// In practice D: Data and P: PeerId, but we cannot require that in type aliases. +type AddressedData = (D, P); + /// A generic interface for sending and receiving data. #[async_trait::async_trait] pub trait DataNetwork: Send + Sync { diff --git a/finality-aleph/src/network/service.rs b/finality-aleph/src/network/service.rs index 142e4cfb4c..83f4ea22f4 100644 --- a/finality-aleph/src/network/service.rs +++ b/finality-aleph/src/network/service.rs @@ -5,25 +5,21 @@ use std::{ }; use aleph_primitives::AuthorityId; -use codec::{Decode, Encode}; use futures::{channel::mpsc, StreamExt}; use log::{debug, error, info, trace, warn}; use sc_service::SpawnTaskHandle; use sc_utils::mpsc::{tracing_unbounded, TracingUnboundedReceiver, TracingUnboundedSender}; use tokio::time; -use super::manager::DataInSession; use crate::{ network::{ - manager::{NetworkData, VersionedAuthentication}, - ConnectionCommand, Data, DataCommand, Event, EventStream, Multiaddress, Network, + AddressedData, ConnectionCommand, Data, Event, EventStream, Multiaddress, Network, NetworkSender, Protocol, }, validator_network::Network as ValidatorNetwork, STATUS_REPORT_INTERVAL, }; -type MessageFromUser = (NetworkData, DataCommand<::PeerId>); /// A service managing all the direct interaction with the underlying network implementation. It /// handles: /// 1. Incoming network events @@ -31,41 +27,48 @@ type MessageFromUser = (NetworkData, DataCommand< /// 2. Various forms of (dis)connecting, keeping track of all currently connected nodes. /// 2. Commands from the network manager, modifying the reserved peer set. /// 3. Outgoing messages, sending them out, using 1.2. to broadcast. -/// For the time of transition from old validator network (called legacy here) to new tcp validator network -/// we need to support both networks here. To do that we rename legacy network methods to have prefix `legacy_`. -/// We also support two connection managers one for each network. +/// Currently this also handles the validator network for sending in-session data, but this is +/// likely to change in the future. pub struct Service< N: Network, D: Data, + VD: Data, A: Data + Multiaddress, - VN: ValidatorNetwork>, + VN: ValidatorNetwork, > { network: N, validator_network: VN, - messages_from_user: mpsc::UnboundedReceiver>, - messages_for_user: mpsc::UnboundedSender>, + data_from_user: mpsc::UnboundedReceiver>, + messages_from_user: mpsc::UnboundedReceiver, + data_for_user: mpsc::UnboundedSender, + messages_for_user: mpsc::UnboundedSender, commands_from_manager: mpsc::UnboundedReceiver>, authentication_connected_peers: HashSet, - authentication_peer_senders: - HashMap>>, + authentication_peer_senders: HashMap>, spawn_handle: SpawnTaskHandle, } /// Input/output channels for the network service. -pub struct IO { - pub messages_from_user: mpsc::UnboundedReceiver<(D, DataCommand)>, +pub struct IO { + pub data_from_user: mpsc::UnboundedReceiver>, + pub messages_from_user: mpsc::UnboundedReceiver, + pub data_for_user: mpsc::UnboundedSender, pub messages_for_user: mpsc::UnboundedSender, pub commands_from_manager: mpsc::UnboundedReceiver>, } -impl IO { +impl IO { pub fn new( - messages_from_user: mpsc::UnboundedReceiver<(D, DataCommand)>, + data_from_user: mpsc::UnboundedReceiver>, + messages_from_user: mpsc::UnboundedReceiver, + data_for_user: mpsc::UnboundedSender, messages_for_user: mpsc::UnboundedSender, commands_from_manager: mpsc::UnboundedReceiver>, - ) -> IO { + ) -> IO { IO { + data_from_user, messages_from_user, + data_for_user, messages_for_user, commands_from_manager, } @@ -81,20 +84,23 @@ enum SendError { impl< N: Network, D: Data, + VD: Data, A: Data + Multiaddress, - VN: ValidatorNetwork>, - > Service + VN: ValidatorNetwork, + > Service { pub fn new( network: N, validator_network: VN, spawn_handle: SpawnTaskHandle, - io: IO, A>, - ) -> Service { + io: IO, + ) -> Service { Service { network, validator_network, + data_from_user: io.data_from_user, messages_from_user: io.messages_from_user, + data_for_user: io.data_for_user, messages_for_user: io.messages_for_user, commands_from_manager: io.commands_from_manager, spawn_handle, @@ -107,7 +113,7 @@ impl< &mut self, peer: &N::PeerId, protocol: Protocol, - ) -> Option<&mut TracingUnboundedSender>> { + ) -> Option<&mut TracingUnboundedSender> { match protocol { Protocol::Authentication => self.authentication_peer_senders.get_mut(peer), } @@ -116,7 +122,7 @@ impl< fn peer_sender( &self, peer_id: N::PeerId, - mut receiver: TracingUnboundedReceiver>, + mut receiver: TracingUnboundedReceiver, protocol: Protocol, ) -> impl Future + Send + 'static { let network = self.network.clone(); @@ -149,7 +155,7 @@ impl< fn send_to_peer( &mut self, - data: VersionedAuthentication, + data: D, peer: N::PeerId, protocol: Protocol, ) -> Result<(), SendError> { @@ -171,14 +177,11 @@ impl< } } - fn broadcast(&mut self, data: VersionedAuthentication, protocol: Protocol) { + fn broadcast(&mut self, data: D, protocol: Protocol) { let peers = match protocol { - // Validator protocol will never broadcast. Protocol::Authentication => self.authentication_connected_peers.clone(), }; for peer in peers { - // We only broadcast authentication information in this sense, so we use the generic - // Protocol. if let Err(e) = self.send_to_peer(data.clone(), peer.clone(), protocol) { trace!(target: "aleph-network", "Failed to send broadcast to peer{:?}, {:?}", peer, e); } @@ -188,7 +191,7 @@ impl< fn handle_network_event( &mut self, event: Event, - ) -> Result<(), mpsc::TrySendError>> { + ) -> Result<(), mpsc::TrySendError> { use Event::*; match event { Connected(multiaddress) => { @@ -229,19 +232,12 @@ impl< Messages(messages) => { for (protocol, data) in messages.into_iter() { match protocol { - Protocol::Authentication => { - match VersionedAuthentication::::decode(&mut &data[..]) - .map(|a| a.try_into()) - { - Ok(Ok(data)) => self.messages_for_user.unbounded_send(data)?, - Ok(Err(e)) => { - warn!(target: "aleph-network", "Error decoding authentication protocol message: {}", e) - } - Err(e) => { - warn!(target: "aleph-network", "Error decoding authentication protocol message: {}", e) - } + Protocol::Authentication => match D::decode(&mut &data[..]) { + Ok(data) => self.messages_for_user.unbounded_send(data)?, + Err(e) => { + warn!(target: "aleph-network", "Error decoding authentication protocol message: {}", e) } - } + }, }; } } @@ -249,11 +245,8 @@ impl< Ok(()) } - fn handle_validator_network_data( - &mut self, - data: DataInSession, - ) -> Result<(), mpsc::TrySendError>> { - self.messages_for_user.unbounded_send(data.into()) + fn handle_validator_network_data(&mut self, data: VD) -> Result<(), mpsc::TrySendError> { + self.data_for_user.unbounded_send(data) } fn on_manager_command(&mut self, command: ConnectionCommand) { @@ -274,32 +267,6 @@ impl< } } - fn on_user_message(&mut self, data: NetworkData, command: DataCommand) { - use DataCommand::*; - - match data { - NetworkData::Meta(discovery_message) => { - let data: VersionedAuthentication = discovery_message.into(); - match command { - Broadcast => self.broadcast(data, Protocol::Authentication), - SendTo(_) => { - // We ignore this for now. Sending Meta messages to peer is an optimization done for the sake of tests. - } - } - } - NetworkData::Data(data, session_id) => { - match command { - Broadcast => { - // We ignore this for now. AlephBFT does not broadcast data. - } - SendTo(peer) => self - .validator_network - .send(DataInSession { data, session_id }, peer), - } - } - } - } - fn status_report(&self) { let mut status = String::from("Network status report: "); @@ -336,8 +303,15 @@ impl< error!(target: "aleph-network", "Validator network event stream ended."); } }, + maybe_data = self.data_from_user.next() => match maybe_data { + Some((data, peer_id)) => self.validator_network.send(data, peer_id), + None => { + error!(target: "aleph-network", "User data stream ended."); + return; + } + }, maybe_message = self.messages_from_user.next() => match maybe_message { - Some((data, command)) => self.on_user_message(data, command), + Some(message) => self.broadcast(message, Protocol::Authentication), None => { error!(target: "aleph-network", "User message stream ended."); return; @@ -367,19 +341,18 @@ mod tests { use sc_service::TaskManager; use tokio::{runtime::Handle, task::JoinHandle}; - use super::{ConnectionCommand, DataCommand, Service}; + use super::{ConnectionCommand, Service}; use crate::{ network::{ - manager::{DataInSession, SessionHandler, VersionedAuthentication}, + manager::{SessionHandler, VersionedAuthentication}, mock::{ crypto_basics, MockData, MockEvent, MockIO, MockMultiaddress as MockAuthMultiaddress, MockNetwork, MockPeerId as MockAuthPeerId, MockSenderError, }, - testing::{DiscoveryMessage, NetworkData}, + testing::DiscoveryMessage, NetworkIdentity, Protocol, }, - // session::SessionId, testing::mocks::validator_network::{ random_authority_id, MockMultiaddress, MockNetwork as MockValidatorNetwork, }, @@ -390,7 +363,7 @@ mod tests { pub service_handle: JoinHandle<()>, pub exit_tx: oneshot::Sender<()>, pub network: MockNetwork, - pub validator_network: MockValidatorNetwork>, + pub validator_network: MockValidatorNetwork, pub mock_io: MockIO, // `TaskManager` can't be dropped for `SpawnTaskHandle` to work _task_manager: TaskManager, @@ -457,16 +430,13 @@ mod tests { } } - fn message(i: u8) -> DataInSession { - DataInSession { - data: vec![i, i + 1, i + 2], - session_id: SessionId(1), - } + fn message(i: u8) -> MockData { + vec![i, i + 1, i + 2] } async fn authentication( multiaddresses: Vec, - ) -> DiscoveryMessage { + ) -> VersionedAuthentication { let crypto_basics = crypto_basics(1).await; let handler = SessionHandler::new( Some(crypto_basics.0[0].clone()), @@ -476,7 +446,9 @@ mod tests { ) .await .unwrap(); - DiscoveryMessage::AuthenticationBroadcast(handler.authentication().unwrap()) + VersionedAuthentication::V1(DiscoveryMessage::AuthenticationBroadcast( + handler.authentication().unwrap(), + )) } #[tokio::test] @@ -546,8 +518,8 @@ mod tests { let message = authentication(test_data.validator_network.identity().0).await; test_data .mock_io - .messages_for_user - .unbounded_send((NetworkData::Meta(message.clone()), DataCommand::Broadcast)) + .messages_for_network + .unbounded_send(message.clone()) .unwrap(); let broadcasted_messages = HashSet::<_>::from_iter( @@ -559,13 +531,11 @@ mod tests { .into_iter(), ); - let expected_messages = HashSet::from_iter(peer_ids.into_iter().map(|peer_id| { - ( - VersionedAuthentication::V1(message.clone()).encode(), - peer_id, - Protocol::Authentication, - ) - })); + let expected_messages = HashSet::from_iter( + peer_ids + .into_iter() + .map(|peer_id| (message.clone().encode(), peer_id, Protocol::Authentication)), + ); assert_eq!(broadcasted_messages, expected_messages); @@ -600,8 +570,8 @@ mod tests { let message = authentication(test_data.validator_network.identity().0).await; test_data .mock_io - .messages_for_user - .unbounded_send((NetworkData::Meta(message.clone()), DataCommand::Broadcast)) + .messages_for_network + .unbounded_send(message.clone()) .unwrap(); let broadcasted_messages = HashSet::<_>::from_iter( @@ -617,13 +587,7 @@ mod tests { peer_ids .into_iter() .take(opened_authorities_n) - .map(|peer_id| { - ( - VersionedAuthentication::V1(message.clone()).encode(), - peer_id, - Protocol::Authentication, - ) - }), + .map(|peer_id| (message.clone().encode(), peer_id, Protocol::Authentication)), ); assert_eq!(broadcasted_messages, expected_messages); @@ -632,7 +596,7 @@ mod tests { } #[tokio::test] - async fn test_validator_data_command_send_to() { + async fn test_send_validator_data() { let mut test_data = TestData::prepare().await; let peer_id = random_authority_id().await; @@ -641,8 +605,8 @@ mod tests { test_data .mock_io - .messages_for_user - .unbounded_send((message.clone().into(), DataCommand::SendTo(peer_id.clone()))) + .data_for_network + .unbounded_send((message.clone(), peer_id.clone())) .unwrap(); let expected = (message, peer_id); @@ -668,16 +632,14 @@ mod tests { test_data.validator_network.next.send(message.clone()); - let expected: NetworkData<_, _> = message.into(); - assert_eq!( test_data .mock_io - .messages_from_user + .data_from_network .next() .await .expect("Should receive message"), - expected, + message, ); test_data.cleanup().await @@ -709,21 +671,17 @@ mod tests { test_data .mock_io - .messages_for_user - .unbounded_send((NetworkData::Meta(message_1), DataCommand::Broadcast)) + .messages_for_network + .unbounded_send(message_1) .unwrap(); test_data .mock_io - .messages_for_user - .unbounded_send((NetworkData::Meta(message_2.clone()), DataCommand::Broadcast)) + .messages_for_network + .unbounded_send(message_2.clone()) .unwrap(); - let expected = ( - VersionedAuthentication::V1(message_2).encode(), - peer_id, - Protocol::Authentication, - ); + let expected = (message_2.encode(), peer_id, Protocol::Authentication); assert_eq!( test_data @@ -764,21 +722,17 @@ mod tests { test_data .mock_io - .messages_for_user - .unbounded_send((NetworkData::Meta(message_1), DataCommand::Broadcast)) + .messages_for_network + .unbounded_send(message_1) .unwrap(); test_data .mock_io - .messages_for_user - .unbounded_send((NetworkData::Meta(message_2.clone()), DataCommand::Broadcast)) + .messages_for_network + .unbounded_send(message_2.clone()) .unwrap(); - let expected = ( - VersionedAuthentication::V1(message_2).encode(), - peer_id, - Protocol::Authentication, - ); + let expected = (message_2.encode(), peer_id, Protocol::Authentication); assert_eq!( test_data @@ -805,19 +759,17 @@ mod tests { test_data.network.emit_event(MockEvent::Messages(vec![( Protocol::Authentication, - VersionedAuthentication::V1(message.clone()).encode().into(), + message.clone().encode().into(), )])); - let expected = NetworkData::Meta(message); - assert_eq!( test_data .mock_io - .messages_from_user + .messages_from_network .next() .await .expect("Should receive message"), - expected + message, ); test_data.cleanup().await @@ -832,7 +784,7 @@ mod tests { test_data .mock_io - .commands_for_manager + .commands_for_network .unbounded_send(ConnectionCommand::AddReserved( iter::once(multiaddress.clone()).collect(), )) @@ -861,7 +813,7 @@ mod tests { test_data .mock_io - .commands_for_manager + .commands_for_network .unbounded_send(ConnectionCommand::DelReserved( iter::once(peer_id.clone()).collect(), )) From ec83113243044fd4bd62a904191d1919d7e423de Mon Sep 17 00:00:00 2001 From: kostekIV <27210860+kostekIV@users.noreply.github.com> Date: Mon, 21 Nov 2022 15:28:45 +0100 Subject: [PATCH 011/212] A0 1350 - small subxt migration (#730) --- .github/actions/run-e2e-test/action.yml | 7 - .github/scripts/run_e2e_test.sh | 2 +- .github/workflows/e2e-tests-main-devnet.yml | 2 +- aleph-client/Cargo.lock | 1630 +- aleph-client/Cargo.toml | 20 +- aleph-client/README.md | 7 + aleph-client/src/account.rs | 61 - aleph-client/src/aleph_zero.rs | 19324 ++++++++++++++++++ aleph-client/src/balances.rs | 10 - aleph-client/src/connections.rs | 194 + aleph-client/src/contract/event.rs | 235 - aleph-client/src/contract/mod.rs | 108 +- aleph-client/src/contract/util.rs | 2 +- aleph-client/src/debug/aleph.rs | 20 - aleph-client/src/debug/elections.rs | 20 - aleph-client/src/debug/mod.rs | 23 - aleph-client/src/debug/treasury.rs | 42 - aleph-client/src/elections.rs | 156 - aleph-client/src/fee.rs | 33 - aleph-client/src/finalization.rs | 25 - aleph-client/src/lib.rs | 534 +- aleph-client/src/multisig.rs | 480 - aleph-client/src/pallets/aleph.rs | 87 + aleph-client/src/pallets/author.rs | 17 + aleph-client/src/pallets/balances.rs | 137 + aleph-client/src/pallets/contract.rs | 195 + aleph-client/src/pallets/elections.rs | 215 + aleph-client/src/pallets/fee.rs | 20 + aleph-client/src/pallets/mod.rs | 13 + aleph-client/src/pallets/multisig.rs | 70 + aleph-client/src/pallets/session.rs | 58 + aleph-client/src/pallets/staking.rs | 382 + aleph-client/src/pallets/system.rs | 59 + aleph-client/src/pallets/treasury.rs | 117 + aleph-client/src/pallets/utility.rs | 15 + aleph-client/src/pallets/vesting.rs | 85 + aleph-client/src/rpc.rs | 216 - aleph-client/src/runtime_types.rs | 42 + aleph-client/src/session.rs | 167 - aleph-client/src/staking.rs | 469 - aleph-client/src/system.rs | 38 - aleph-client/src/transfer.rs | 111 - aleph-client/src/treasury.rs | 134 - aleph-client/src/utility.rs | 71 + aleph-client/src/version_upgrade.rs | 45 - aleph-client/src/vesting.rs | 121 - aleph-client/src/waiting.rs | 162 +- benches/payout-stakers/Cargo.lock | 1634 +- benches/payout-stakers/Cargo.toml | 7 +- benches/payout-stakers/src/main.rs | 283 +- bin/cliain/Cargo.lock | 1332 +- bin/cliain/Cargo.toml | 5 +- bin/cliain/src/commands.rs | 16 +- bin/cliain/src/contracts.rs | 320 +- bin/cliain/src/finalization.rs | 22 +- bin/cliain/src/keys.rs | 61 +- bin/cliain/src/lib.rs | 34 +- bin/cliain/src/main.rs | 178 +- bin/cliain/src/runtime.rs | 10 +- bin/cliain/src/staking.rs | 60 +- bin/cliain/src/transfer.rs | 21 +- bin/cliain/src/treasury.rs | 31 +- bin/cliain/src/validators.rs | 28 +- bin/cliain/src/version_upgrade.rs | 17 +- bin/cliain/src/vesting.rs | 31 +- e2e-tests/Cargo.lock | 1207 +- e2e-tests/Cargo.toml | 4 +- e2e-tests/src/accounts.rs | 17 +- e2e-tests/src/ban.rs | 156 +- e2e-tests/src/cases.rs | 115 +- e2e-tests/src/config.rs | 16 +- e2e-tests/src/elections.rs | 18 +- e2e-tests/src/lib.rs | 2 +- e2e-tests/src/main.rs | 49 +- e2e-tests/src/rewards.rs | 296 +- e2e-tests/src/test/ban.rs | 252 +- e2e-tests/src/test/electing_validators.rs | 157 +- e2e-tests/src/test/era_payout.rs | 61 +- e2e-tests/src/test/era_validators.rs | 135 +- e2e-tests/src/test/fee.rs | 161 +- e2e-tests/src/test/finalization.rs | 21 +- e2e-tests/src/test/rewards.rs | 196 +- e2e-tests/src/test/staking.rs | 264 +- e2e-tests/src/test/transfer.rs | 25 +- e2e-tests/src/test/treasury.rs | 121 +- e2e-tests/src/test/utility.rs | 22 +- e2e-tests/src/test/validators_change.rs | 110 +- e2e-tests/src/test/validators_rotate.rs | 54 +- e2e-tests/src/test/version_upgrade.rs | 72 +- e2e-tests/src/transfer.rs | 32 +- e2e-tests/src/validators.rs | 130 +- flooder/Cargo.lock | 1389 +- flooder/Cargo.toml | 5 +- flooder/src/config.rs | 24 +- flooder/src/main.rs | 641 +- flooder/src/ws_rpc_client.rs | 249 - scripts/catchup_version_upgrade_test.sh | 5 +- scripts/run_e2e.sh | 2 +- 98 files changed, 27242 insertions(+), 8837 deletions(-) create mode 100644 aleph-client/README.md delete mode 100644 aleph-client/src/account.rs create mode 100644 aleph-client/src/aleph_zero.rs delete mode 100644 aleph-client/src/balances.rs create mode 100644 aleph-client/src/connections.rs delete mode 100644 aleph-client/src/contract/event.rs delete mode 100644 aleph-client/src/debug/aleph.rs delete mode 100644 aleph-client/src/debug/elections.rs delete mode 100644 aleph-client/src/debug/mod.rs delete mode 100644 aleph-client/src/debug/treasury.rs delete mode 100644 aleph-client/src/elections.rs delete mode 100644 aleph-client/src/fee.rs delete mode 100644 aleph-client/src/finalization.rs delete mode 100644 aleph-client/src/multisig.rs create mode 100644 aleph-client/src/pallets/aleph.rs create mode 100644 aleph-client/src/pallets/author.rs create mode 100644 aleph-client/src/pallets/balances.rs create mode 100644 aleph-client/src/pallets/contract.rs create mode 100644 aleph-client/src/pallets/elections.rs create mode 100644 aleph-client/src/pallets/fee.rs create mode 100644 aleph-client/src/pallets/mod.rs create mode 100644 aleph-client/src/pallets/multisig.rs create mode 100644 aleph-client/src/pallets/session.rs create mode 100644 aleph-client/src/pallets/staking.rs create mode 100644 aleph-client/src/pallets/system.rs create mode 100644 aleph-client/src/pallets/treasury.rs create mode 100644 aleph-client/src/pallets/utility.rs create mode 100644 aleph-client/src/pallets/vesting.rs delete mode 100644 aleph-client/src/rpc.rs create mode 100644 aleph-client/src/runtime_types.rs delete mode 100644 aleph-client/src/session.rs delete mode 100644 aleph-client/src/staking.rs delete mode 100644 aleph-client/src/system.rs delete mode 100644 aleph-client/src/transfer.rs delete mode 100644 aleph-client/src/treasury.rs create mode 100644 aleph-client/src/utility.rs delete mode 100644 aleph-client/src/version_upgrade.rs delete mode 100644 aleph-client/src/vesting.rs delete mode 100644 flooder/src/ws_rpc_client.rs diff --git a/.github/actions/run-e2e-test/action.yml b/.github/actions/run-e2e-test/action.yml index 9fa577e213..9a79c5cf74 100644 --- a/.github/actions/run-e2e-test/action.yml +++ b/.github/actions/run-e2e-test/action.yml @@ -90,10 +90,3 @@ runs: if: inputs.follow-up-finalization-check == 'true' shell: bash run: ./.github/scripts/run_e2e_test.sh -t finalization -m "${{ inputs.min-validator-count }}" - - - name: Print debug if failed - if: ${{ failure() }} - shell: bash - run: | - cd bin/cliain - cargo run -- --seed //Alice debug-storage diff --git a/.github/scripts/run_e2e_test.sh b/.github/scripts/run_e2e_test.sh index a1a2fcbbe7..bbe31c5d98 100755 --- a/.github/scripts/run_e2e_test.sh +++ b/.github/scripts/run_e2e_test.sh @@ -59,7 +59,7 @@ function set_randomized_test_params { ARGS=( --network "container:Node0" - -e NODE_URL="127.0.0.1:9943" + -e NODE_URL="ws://127.0.0.1:9943" -e RUST_LOG=info ) diff --git a/.github/workflows/e2e-tests-main-devnet.yml b/.github/workflows/e2e-tests-main-devnet.yml index a61e5a6aa0..21aba1058c 100644 --- a/.github/workflows/e2e-tests-main-devnet.yml +++ b/.github/workflows/e2e-tests-main-devnet.yml @@ -439,7 +439,7 @@ jobs: node-count: 6 reserved-seats: 3 non-reserved-seats: 3 - follow-up-finalization-check: true + follow-up-finalization-check: false timeout-minutes: 15 run-e2e-ban-automatic: diff --git a/aleph-client/Cargo.lock b/aleph-client/Cargo.lock index b1d80b1dd6..377b507e8e 100644 --- a/aleph-client/Cargo.lock +++ b/aleph-client/Cargo.lock @@ -12,55 +12,6 @@ dependencies = [ "regex", ] -[[package]] -name = "ac-compose-macros" -version = "0.1.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate-api-client.git?branch=aleph-v0.9.28#92bc66b75428213e4bcdb2484616cf458455813a" -dependencies = [ - "ac-primitives", - "log", - "parity-scale-codec", - "sp-application-crypto 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", -] - -[[package]] -name = "ac-node-api" -version = "0.1.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate-api-client.git?branch=aleph-v0.9.28#92bc66b75428213e4bcdb2484616cf458455813a" -dependencies = [ - "ac-primitives", - "derive_more", - "frame-metadata 15.0.0 (git+https://github.com/integritee-network/frame-metadata)", - "frame-support", - "frame-system", - "hex", - "log", - "parity-scale-codec", - "scale-info", - "serde", - "serde_json", - "sp-application-crypto 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", -] - -[[package]] -name = "ac-primitives" -version = "0.1.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate-api-client.git?branch=aleph-v0.9.28#92bc66b75428213e4bcdb2484616cf458455813a" -dependencies = [ - "hex", - "parity-scale-codec", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", -] - [[package]] name = "addr2line" version = "0.17.0" @@ -98,31 +49,25 @@ dependencies = [ [[package]] name = "aleph_client" -version = "1.12.0" +version = "2.0.0" dependencies = [ - "ac-node-api", - "ac-primitives", "anyhow", + "async-trait", "contract-metadata 1.5.0", "contract-transcode", "frame-support", + "futures", "hex", "ink_metadata", "log", - "pallet-aleph", - "pallet-balances", - "pallet-elections", - "pallet-multisig", - "pallet-staking", - "pallet-treasury", - "pallet-vesting", + "pallet-contracts-primitives", "parity-scale-codec", "primitives", - "rayon", + "serde", "serde_json", "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "substrate-api-client", + "subxt", "thiserror", ] @@ -141,7 +86,7 @@ version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2" dependencies = [ - "winapi 0.3.9", + "winapi", ] [[package]] @@ -150,15 +95,6 @@ version = "1.0.66" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "216261ddc8289130e551ddcd5ce8a064710c0d064a4d2895c67151c92b5443f6" -[[package]] -name = "approx" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cab112f0a86d568ea0e627cc1d6be74a1e9cd55214684db5561995f6dad897c6" -dependencies = [ - "num-traits", -] - [[package]] name = "arrayref" version = "0.3.6" @@ -186,6 +122,16 @@ version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6" +[[package]] +name = "async-lock" +version = "2.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8101efe8695a6c17e02911402145357e718ac92d3ff88ae8419e84b1707b685" +dependencies = [ + "event-listener", + "futures-lite", +] + [[package]] name = "async-trait" version = "0.1.58" @@ -205,7 +151,7 @@ checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" dependencies = [ "hermit-abi", "libc", - "winapi 0.3.9", + "winapi", ] [[package]] @@ -222,7 +168,7 @@ checksum = "cab84319d616cfb654d03394f38ab7e6f0919e181b1b57e1fd15e7fb4077d9a7" dependencies = [ "addr2line", "cc", - "cfg-if 1.0.0", + "cfg-if", "libc", "miniz_oxide", "object", @@ -247,6 +193,15 @@ version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" +[[package]] +name = "beef" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a8241f3ebb85c056b509d4327ad0358fbbba6ffb340bf388f26350aeda225b1" +dependencies = [ + "serde", +] + [[package]] name = "bitflags" version = "1.3.2" @@ -267,9 +222,9 @@ dependencies = [ [[package]] name = "blake2" -version = "0.10.4" +version = "0.10.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9cf849ee05b2ee5fba5e36f97ff8ec2533916700fc0758d40d92136a42f3388" +checksum = "b12e5fd123190ce1c2e559308a94c9bacad77907d4c6005d9e58fe1a0689e55e" dependencies = [ "digest 0.10.5", ] @@ -340,9 +295,9 @@ checksum = "572f695136211188308f16ad2ca5c851a712c464060ae6974944458eb83880ba" [[package]] name = "byte-slice-cast" -version = "1.2.1" +version = "1.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87c5fdd0166095e1d463fc6cc01aa8ce547ad77a4e84d42eb6762b084e28067e" +checksum = "c3ac9f8b63eca6fd385229b3675f6cc0dc5c8a5c8a54a59d4f52ffd670d87b0c" [[package]] name = "byte-tools" @@ -356,16 +311,6 @@ version = "1.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" -[[package]] -name = "bytes" -version = "0.4.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "206fdffcfa2df7cbe15601ef46c813fce0965eb3286db6b56c583b814b51c81c" -dependencies = [ - "byteorder", - "iovec", -] - [[package]] name = "bytes" version = "1.2.1" @@ -374,15 +319,9 @@ checksum = "ec8a7b6a70fde80372154c65702f00a0f56f3e1c36abbc6c440484be248856db" [[package]] name = "cc" -version = "1.0.73" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fff2a6927b3bb87f9595d67196a70493f627687a71d87a0d692242c33f58c11" - -[[package]] -name = "cfg-if" -version = "0.1.10" +version = "1.0.76" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822" +checksum = "76a284da2e6fe2092f2353e51713435363112dfd60030e22add80be333fb928f" [[package]] name = "cfg-if" @@ -392,14 +331,14 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "chrono" -version = "0.4.22" +version = "0.4.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfd4d1b31faaa3a89d7934dbded3111da0d2ef28e3ebccdb4f0179f5929d1ef1" +checksum = "16b0a3d9ed01224b22057780a37bb8c5dbfe1be8ba48678e7bf57ec4b385411f" dependencies = [ "iana-time-zone", "num-integer", "num-traits", - "winapi 0.3.9", + "winapi", ] [[package]] @@ -477,10 +416,14 @@ dependencies = [ ] [[package]] -name = "convert_case" -version = "0.4.0" +name = "core-foundation" +version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" +checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146" +dependencies = [ + "core-foundation-sys", + "libc", +] [[package]] name = "core-foundation-sys" @@ -497,49 +440,6 @@ dependencies = [ "libc", ] -[[package]] -name = "crossbeam-channel" -version = "0.5.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2dd04ddaf88237dc3b8d8f9a3c1004b506b54b3313403944054d23c0870c521" -dependencies = [ - "cfg-if 1.0.0", - "crossbeam-utils", -] - -[[package]] -name = "crossbeam-deque" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "715e8152b692bba2d374b53d4875445368fdf21a94751410af607a5ac677d1fc" -dependencies = [ - "cfg-if 1.0.0", - "crossbeam-epoch", - "crossbeam-utils", -] - -[[package]] -name = "crossbeam-epoch" -version = "0.9.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f916dfc5d356b0ed9dae65f1db9fc9770aa2851d2662b988ccf4fe3516e86348" -dependencies = [ - "autocfg", - "cfg-if 1.0.0", - "crossbeam-utils", - "memoffset", - "scopeguard", -] - -[[package]] -name = "crossbeam-utils" -version = "0.8.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edbafec5fa1f196ca66527c1b12c2ec4745ca14b50f1ad8f9f6f720b55d11fac" -dependencies = [ - "cfg-if 1.0.0", -] - [[package]] name = "crunchy" version = "0.2.2" @@ -616,9 +516,9 @@ dependencies = [ [[package]] name = "cxx" -version = "1.0.80" +version = "1.0.81" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b7d4e43b25d3c994662706a1d4fcfc32aaa6afd287502c111b237093bb23f3a" +checksum = "97abf9f0eca9e52b7f81b945524e76710e6cb2366aead23b7d4fbf72e281f888" dependencies = [ "cc", "cxxbridge-flags", @@ -628,9 +528,9 @@ dependencies = [ [[package]] name = "cxx-build" -version = "1.0.80" +version = "1.0.81" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84f8829ddc213e2c1368e51a2564c552b65a8cb6a28f31e576270ac81d5e5827" +checksum = "7cc32cc5fea1d894b77d269ddb9f192110069a8a9c1f1d441195fba90553dea3" dependencies = [ "cc", "codespan-reporting", @@ -643,18 +543,53 @@ dependencies = [ [[package]] name = "cxxbridge-flags" -version = "1.0.80" +version = "1.0.81" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e72537424b474af1460806647c41d4b6d35d09ef7fe031c5c2fa5766047cc56a" +checksum = "8ca220e4794c934dc6b1207c3b42856ad4c302f2df1712e9f8d2eec5afaacf1f" [[package]] name = "cxxbridge-macro" -version = "1.0.80" +version = "1.0.81" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b846f081361125bfc8dc9d3940c84e1fd83ba54bbca7b17cd29483c828be0704" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "darling" +version = "0.14.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b0dd3cd20dc6b5a876612a6e5accfe7f3dd883db6d07acfbf14c128f61550dfa" +dependencies = [ + "darling_core", + "darling_macro", +] + +[[package]] +name = "darling_core" +version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "309e4fb93eed90e1e14bea0da16b209f81813ba9fc7830c20ed151dd7bc0a4d7" +checksum = "a784d2ccaf7c98501746bf0be29b2022ba41fd62a2e622af997a03e9f972859f" dependencies = [ + "fnv", + "ident_case", "proc-macro2", "quote", + "strsim", + "syn", +] + +[[package]] +name = "darling_macro" +version = "0.14.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7618812407e9402654622dd402b0a89dff9ba93badd6540781526117b92aab7e" +dependencies = [ + "darling_core", + "quote", "syn", ] @@ -667,16 +602,25 @@ dependencies = [ "const-oid", ] +[[package]] +name = "derivative" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "derive_more" version = "0.99.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321" dependencies = [ - "convert_case", "proc-macro2", "quote", - "rustc_version", "syn", ] @@ -803,9 +747,9 @@ dependencies = [ [[package]] name = "env_logger" -version = "0.9.1" +version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c90bf5f19754d10198ccb95b70664fc925bd1fc090a0fd9a6ebc54acc8cd6272" +checksum = "a12e6657c4c97ebab115a42dcee77225f7f482cdd841cf7088c657a42e9e00e7" dependencies = [ "atty", "humantime", @@ -829,12 +773,27 @@ dependencies = [ "rustversion", ] +[[package]] +name = "event-listener" +version = "2.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" + [[package]] name = "fake-simd" version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed" +[[package]] +name = "fastrand" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7a407cfaa3385c4ae6b23e84623d48c2798d06e3e6a1878f7f59f17b3f86499" +dependencies = [ + "instant", +] + [[package]] name = "ff" version = "0.11.1" @@ -858,19 +817,10 @@ dependencies = [ ] [[package]] -name = "foreign-types" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" -dependencies = [ - "foreign-types-shared", -] - -[[package]] -name = "foreign-types-shared" -version = "0.1.1" +name = "fnv" +version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" +checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "form_urlencoded" @@ -881,73 +831,13 @@ dependencies = [ "percent-encoding", ] -[[package]] -name = "frame-benchmarking" -version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" -dependencies = [ - "frame-support", - "frame-system", - "linregress", - "log", - "parity-scale-codec", - "paste", - "scale-info", - "serde", - "sp-api", - "sp-application-crypto 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-storage 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", -] - -[[package]] -name = "frame-election-provider-solution-type" -version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" -dependencies = [ - "proc-macro-crate", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "frame-election-provider-support" -version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" -dependencies = [ - "frame-election-provider-solution-type", - "frame-support", - "frame-system", - "parity-scale-codec", - "scale-info", - "sp-arithmetic 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-npos-elections", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", -] - [[package]] name = "frame-metadata" version = "15.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "df6bb8542ef006ef0de09a5c4420787d79823c0ed7924225822362fd2bf2ff2d" dependencies = [ - "cfg-if 1.0.0", - "parity-scale-codec", - "scale-info", - "serde", -] - -[[package]] -name = "frame-metadata" -version = "15.0.0" -source = "git+https://github.com/integritee-network/frame-metadata#3b43da9821238681f9431276d55b92a079142083" -dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "parity-scale-codec", "scale-info", "serde", @@ -959,7 +849,7 @@ version = "4.0.0-dev" source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" dependencies = [ "bitflags", - "frame-metadata 15.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "frame-metadata", "frame-support-procedural", "impl-trait-for-tuples", "k256", @@ -1018,39 +908,6 @@ dependencies = [ "syn", ] -[[package]] -name = "frame-system" -version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" -dependencies = [ - "frame-support", - "log", - "parity-scale-codec", - "scale-info", - "serde", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-version", -] - -[[package]] -name = "fuchsia-zircon" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82" -dependencies = [ - "bitflags", - "fuchsia-zircon-sys", -] - -[[package]] -name = "fuchsia-zircon-sys" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7" - [[package]] name = "funty" version = "2.0.0" @@ -1106,6 +963,21 @@ version = "0.3.25" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "00f5fb52a06bdcadeb54e8d3671f8888a39697dcb0b81b23b55174030427f4eb" +[[package]] +name = "futures-lite" +version = "1.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7694489acd39452c77daa48516b894c153f192c3578d5a839b62c58099fcbf48" +dependencies = [ + "fastrand", + "futures-core", + "futures-io", + "memchr", + "parking", + "pin-project-lite", + "waker-fn", +] + [[package]] name = "futures-macro" version = "0.3.25" @@ -1178,7 +1050,7 @@ version = "0.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "js-sys", "libc", "wasi 0.9.0+wasi-snapshot-preview1", @@ -1191,7 +1063,7 @@ version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "libc", "wasi 0.11.0+wasi-snapshot-preview1", ] @@ -1237,6 +1109,12 @@ dependencies = [ "ahash", ] +[[package]] +name = "heck" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9" + [[package]] name = "hermit-abi" version = "0.1.19" @@ -1283,6 +1161,17 @@ dependencies = [ "hmac 0.8.1", ] +[[package]] +name = "http" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75f43d41e26995c17e71ee126451dd3941010b0514a81a9d11f3b341debc2399" +dependencies = [ + "bytes", + "fnv", + "itoa", +] + [[package]] name = "httparse" version = "1.8.0" @@ -1297,16 +1186,16 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" [[package]] name = "iana-time-zone" -version = "0.1.51" +version = "0.1.53" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f5a6ef98976b22b3b7f2f3a806f858cb862044cfa66805aa3ad84cb3d3b785ed" +checksum = "64c122667b287044802d6ce17ee2ddf13207ed924c712de9a66a5814d5b64765" dependencies = [ "android_system_properties", "core-foundation-sys", "iana-time-zone-haiku", "js-sys", "wasm-bindgen", - "winapi 0.3.9", + "winapi", ] [[package]] @@ -1319,6 +1208,12 @@ dependencies = [ "cxx-build", ] +[[package]] +name = "ident_case" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" + [[package]] name = "idna" version = "0.3.0" @@ -1380,7 +1275,7 @@ version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1c9588a59a0e8997c0b2153cd11b5aaa77c06a0537a6b18f3811d1f1aa098b12" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", ] [[package]] @@ -1406,7 +1301,7 @@ checksum = "a891d34301a3dbb1c7b7424c49ae184282b163491c54f9acd17fcbe14a80447b" dependencies = [ "arrayref", "blake2", - "cfg-if 1.0.0", + "cfg-if", "derive_more", "ink_allocator", "ink_engine", @@ -1445,7 +1340,7 @@ version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1f031e6b8495594a7288b089bf4122e76c26b994959d1b2b693bdfe846b14c0e" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", ] [[package]] @@ -1454,28 +1349,28 @@ version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e12cf42dce81d060401c7cec95a392ad6d3c2f18661fa3083f619ce135133c33" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "ink_prelude", "parity-scale-codec", "scale-info", ] [[package]] -name = "integer-sqrt" -version = "0.1.5" +name = "instant" +version = "0.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "276ec31bcb4a9ee45f58bec6f9ec700ae4cf4f4f8f2fa7e06cb406bd5ffdd770" +checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" dependencies = [ - "num-traits", + "cfg-if", ] [[package]] -name = "iovec" -version = "0.1.4" +name = "integer-sqrt" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2b3ea6ff95e175473f8ffe6a7eb7c00d054240321b84c57051175fe3c1e075e" +checksum = "276ec31bcb4a9ee45f58bec6f9ec700ae4cf4f4f8f2fa7e06cb406bd5ffdd770" dependencies = [ - "libc", + "num-traits", ] [[package]] @@ -1508,13 +1403,82 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "jsonrpsee" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8bd0d559d5e679b1ab2f869b486a11182923863b1b3ee8b421763cdd707b783a" +dependencies = [ + "jsonrpsee-client-transport", + "jsonrpsee-core", + "jsonrpsee-types", +] + +[[package]] +name = "jsonrpsee-client-transport" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8752740ecd374bcbf8b69f3e80b0327942df76f793f8d4e60d3355650c31fb74" +dependencies = [ + "futures-util", + "http", + "jsonrpsee-core", + "jsonrpsee-types", + "pin-project", + "rustls-native-certs", + "soketto", + "thiserror", + "tokio", + "tokio-rustls", + "tokio-util", + "tracing", + "webpki-roots", +] + +[[package]] +name = "jsonrpsee-core" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3dc3e9cf2ba50b7b1d7d76a667619f82846caa39e8e8daa8a4962d74acaddca" +dependencies = [ + "anyhow", + "async-lock", + "async-trait", + "beef", + "futures-channel", + "futures-timer", + "futures-util", + "jsonrpsee-types", + "rustc-hash", + "serde", + "serde_json", + "thiserror", + "tokio", + "tracing", + "tracing-futures", +] + +[[package]] +name = "jsonrpsee-types" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e290bba767401b646812f608c099b922d8142603c9e73a50fb192d3ac86f4a0d" +dependencies = [ + "anyhow", + "beef", + "serde", + "serde_json", + "thiserror", + "tracing", +] + [[package]] name = "k256" version = "0.10.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "19c3a5e0a0b8450278feda242592512e09f61c72e018b8cd5c859482802daf2d" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "ecdsa", "elliptic-curve", "sec1", @@ -1522,18 +1486,11 @@ dependencies = [ [[package]] name = "keccak" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9b7d56ba4a8344d6be9729995e6b06f928af29998cdf79fe390cbf6b1fee838" - -[[package]] -name = "kernel32-sys" -version = "0.2.2" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d" +checksum = "3afef3b6eff9ce9d8ff9b3601125eec7f0c8cbac7abd14f355d053fa56c98768" dependencies = [ - "winapi 0.2.8", - "winapi-build", + "cpufeatures", ] [[package]] @@ -1542,24 +1499,12 @@ version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" -[[package]] -name = "lazycell" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" - [[package]] name = "libc" version = "0.2.137" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc7fcc620a3bff7cdd7a365be3376c97191aeaccc2a603e600951e452615bf89" -[[package]] -name = "libm" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "292a948cd991e376cf75541fe5b97a1081d713c618b4f1b9500f8844e49eb565" - [[package]] name = "libsecp256k1" version = "0.7.1" @@ -1617,16 +1562,6 @@ dependencies = [ "cc", ] -[[package]] -name = "linregress" -version = "0.4.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6c601a85f5ecd1aba625247bca0031585fb1c446461b142878a16f8245ddeb8" -dependencies = [ - "nalgebra", - "statrs", -] - [[package]] name = "lock_api" version = "0.4.9" @@ -1643,7 +1578,7 @@ version = "0.4.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", ] [[package]] @@ -1655,30 +1590,12 @@ dependencies = [ "regex-automata", ] -[[package]] -name = "matrixmultiply" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "add85d4dd35074e6fedc608f8c8f513a3548619a9024b751949ef0e8e45a4d84" -dependencies = [ - "rawpointer", -] - [[package]] name = "memchr" version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" -[[package]] -name = "memoffset" -version = "0.6.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce" -dependencies = [ - "autocfg", -] - [[package]] name = "memory-db" version = "0.29.0" @@ -1725,85 +1642,14 @@ dependencies = [ [[package]] name = "mio" -version = "0.6.23" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4afd66f5b91bf2a3bc13fad0e21caedac168ca4c707504e75585648ae80e4cc4" +checksum = "e5d732bc30207a6423068df043e3d02e0735b155ad7ce1a6f76fe2baa5b158de" dependencies = [ - "cfg-if 0.1.10", - "fuchsia-zircon", - "fuchsia-zircon-sys", - "iovec", - "kernel32-sys", "libc", "log", - "miow", - "net2", - "slab", - "winapi 0.2.8", -] - -[[package]] -name = "mio-extras" -version = "2.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52403fe290012ce777c4626790c8951324a2b9e3316b3143779c72b029742f19" -dependencies = [ - "lazycell", - "log", - "mio", - "slab", -] - -[[package]] -name = "miow" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebd808424166322d4a38da87083bfddd3ac4c131334ed55856112eb06d46944d" -dependencies = [ - "kernel32-sys", - "net2", - "winapi 0.2.8", - "ws2_32-sys", -] - -[[package]] -name = "nalgebra" -version = "0.27.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "462fffe4002f4f2e1f6a9dcf12cc1a6fc0e15989014efc02a941d3e0f5dc2120" -dependencies = [ - "approx", - "matrixmultiply", - "nalgebra-macros", - "num-complex", - "num-rational 0.4.1", - "num-traits", - "rand 0.8.5", - "rand_distr", - "simba", - "typenum", -] - -[[package]] -name = "nalgebra-macros" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01fcc0b8149b4632adc89ac3b7b31a12fb6099a0317a4eb2ebff574ef7de7218" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "net2" -version = "0.2.38" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74d0df99cfcd2530b2e694f6e17e7f37b8e26bb23983ac530c0c97408837c631" -dependencies = [ - "cfg-if 0.1.10", - "libc", - "winapi 0.3.9", + "wasi 0.11.0+wasi-snapshot-preview1", + "windows-sys 0.42.0", ] [[package]] @@ -1846,15 +1692,6 @@ dependencies = [ "num-traits", ] -[[package]] -name = "num-complex" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ae39348c8bc5fbd7f40c727a9925f03517afd2ab27d46702108b6a7e5414c19" -dependencies = [ - "num-traits", -] - [[package]] name = "num-format" version = "0.4.3" @@ -1887,17 +1724,6 @@ dependencies = [ "num-traits", ] -[[package]] -name = "num-rational" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0" -dependencies = [ - "autocfg", - "num-integer", - "num-traits", -] - [[package]] name = "num-traits" version = "0.2.15" @@ -1905,14 +1731,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" dependencies = [ "autocfg", - "libm", ] [[package]] name = "num_cpus" -version = "1.13.1" +version = "1.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19e64526ebdee182341572e50e9ad03965aa510cd94427a4549448f285e957a1" +checksum = "f6058e64324c71e02bc2b150e4f3bc8286db6c83092132ffa3f6b1eab0f9def5" dependencies = [ "hermit-abi", "libc", @@ -1929,9 +1754,9 @@ dependencies = [ [[package]] name = "once_cell" -version = "1.15.0" +version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e82dad04139b71a90c080c8463fe0dc7902db5192d939bd0950f074d014339e1" +checksum = "86f0b0d4bf799edbc74508c1e8bf170ff5f41238e5f8225603ca7caaae2b7860" [[package]] name = "opaque-debug" @@ -1946,239 +1771,26 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" [[package]] -name = "openssl" -version = "0.10.42" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12fc0523e3bd51a692c8850d075d74dc062ccf251c0110668cbd921917118a13" -dependencies = [ - "bitflags", - "cfg-if 1.0.0", - "foreign-types", - "libc", - "once_cell", - "openssl-macros", - "openssl-sys", -] - -[[package]] -name = "openssl-macros" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b501e44f11665960c7e7fcf062c7d96a14ade4aa98116c004b2e37b5be7d736c" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "openssl-sys" -version = "0.9.77" +name = "openssl-probe" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b03b84c3b2d099b81f0953422b4d4ad58761589d0229b5506356afca05a3670a" -dependencies = [ - "autocfg", - "cc", - "libc", - "pkg-config", - "vcpkg", -] - -[[package]] -name = "pallet-aleph" -version = "0.5.0" -dependencies = [ - "frame-support", - "frame-system", - "pallet-balances", - "pallet-session", - "pallets-support", - "parity-scale-codec", - "primitives", - "scale-info", - "serde", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", -] +checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] -name = "pallet-authorship" -version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" -dependencies = [ - "frame-support", - "frame-system", - "impl-trait-for-tuples", - "parity-scale-codec", - "scale-info", - "sp-authorship", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", -] - -[[package]] -name = "pallet-balances" -version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" -dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", - "log", - "parity-scale-codec", - "scale-info", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", -] - -[[package]] -name = "pallet-elections" -version = "0.5.0" -dependencies = [ - "frame-election-provider-support", - "frame-support", - "frame-system", - "pallet-authorship", - "pallet-balances", - "pallet-session", - "pallet-staking", - "pallets-support", - "parity-scale-codec", - "primitives", - "scale-info", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-staking", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", -] - -[[package]] -name = "pallet-multisig" -version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" -dependencies = [ - "frame-support", - "frame-system", - "parity-scale-codec", - "scale-info", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", -] - -[[package]] -name = "pallet-session" -version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" -dependencies = [ - "frame-support", - "frame-system", - "impl-trait-for-tuples", - "log", - "pallet-timestamp", - "parity-scale-codec", - "scale-info", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-session", - "sp-staking", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-trie 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", -] - -[[package]] -name = "pallet-staking" -version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" -dependencies = [ - "frame-election-provider-support", - "frame-support", - "frame-system", - "log", - "pallet-authorship", - "pallet-session", - "parity-scale-codec", - "scale-info", - "serde", - "sp-application-crypto 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-staking", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", -] - -[[package]] -name = "pallet-timestamp" -version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" -dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", - "log", - "parity-scale-codec", - "scale-info", - "sp-inherents", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-timestamp", -] - -[[package]] -name = "pallet-transaction-payment" -version = "4.0.0-dev" +name = "pallet-contracts-primitives" +version = "6.0.0" source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" dependencies = [ - "frame-support", - "frame-system", + "bitflags", "parity-scale-codec", "scale-info", "serde", "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", -] - -[[package]] -name = "pallet-treasury" -version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" -dependencies = [ - "frame-support", - "frame-system", - "impl-trait-for-tuples", - "pallet-balances", - "parity-scale-codec", - "scale-info", - "serde", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", -] - -[[package]] -name = "pallet-vesting" -version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" -dependencies = [ - "frame-support", - "frame-system", - "log", - "parity-scale-codec", - "scale-info", + "sp-rpc", "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", ] -[[package]] -name = "pallets-support" -version = "0.1.0" -dependencies = [ - "frame-support", -] - [[package]] name = "parity-scale-codec" version = "3.2.1" @@ -2188,7 +1800,7 @@ dependencies = [ "arrayvec 0.7.2", "bitvec", "byte-slice-cast", - "bytes 1.2.1", + "bytes", "impl-trait-for-tuples", "parity-scale-codec-derive", "serde", @@ -2212,13 +1824,13 @@ version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c32561d248d352148124f036cac253a644685a21dc9fea383eb4907d7bd35a8f" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "hashbrown", "impl-trait-for-tuples", "parity-util-mem-derive", "parking_lot", "primitive-types", - "winapi 0.3.9", + "winapi", ] [[package]] @@ -2238,6 +1850,12 @@ version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "be5e13c266502aadf83426d87d81a0f5d1ef45b8027f5a471c360abfe4bfae92" +[[package]] +name = "parking" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "427c3892f9e783d91cc128285287e70a59e206ca452770ece88a76f7a3eddd72" + [[package]] name = "parking_lot" version = "0.12.1" @@ -2254,11 +1872,11 @@ version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4dc9e0dc2adc1c69d09143aff38d3d30c5c3f0df0dad82e6d25547af174ebec0" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "libc", "redox_syscall", "smallvec", - "windows-sys", + "windows-sys 0.42.0", ] [[package]] @@ -2291,6 +1909,26 @@ version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e" +[[package]] +name = "pin-project" +version = "1.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad29a609b6bcd67fee905812e544992d216af9d755757c05ed2d0e15a74c6ecc" +dependencies = [ + "pin-project-internal", +] + +[[package]] +name = "pin-project-internal" +version = "1.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "069bdb1e05adc7a8990dce9cc75370895fbe4e3d58b9b73bf1aee56359344a55" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "pin-project-lite" version = "0.2.9" @@ -2303,17 +1941,11 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" -[[package]] -name = "pkg-config" -version = "0.3.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ac9a59f73473f1b8d852421e59e64809f025994837ef743615c6d0c5b305160" - [[package]] name = "ppv-lite86" -version = "0.2.16" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb9f9e6e233e5c4a35559a617bf40a4ec447db2e84c20b55a6f83167b7e57872" +checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" [[package]] name = "primitive-types" @@ -2354,6 +1986,30 @@ dependencies = [ "toml", ] +[[package]] +name = "proc-macro-error" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" +dependencies = [ + "proc-macro-error-attr", + "proc-macro2", + "quote", + "syn", + "version_check", +] + +[[package]] +name = "proc-macro-error-attr" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" +dependencies = [ + "proc-macro2", + "quote", + "version_check", +] + [[package]] name = "proc-macro2" version = "1.0.47" @@ -2441,16 +2097,6 @@ dependencies = [ "getrandom 0.2.8", ] -[[package]] -name = "rand_distr" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32cb0b9bc82b0a0876c2dd994a7e7a2683d3e7390ca40e6886785ef0c7e3ee31" -dependencies = [ - "num-traits", - "rand 0.8.5", -] - [[package]] name = "rand_hc" version = "0.2.0" @@ -2469,36 +2115,6 @@ dependencies = [ "rand_core 0.5.1", ] -[[package]] -name = "rawpointer" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3" - -[[package]] -name = "rayon" -version = "1.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd99e5772ead8baa5215278c9b15bf92087709e9c1b2d1f97cdb5a183c933a7d" -dependencies = [ - "autocfg", - "crossbeam-deque", - "either", - "rayon-core", -] - -[[package]] -name = "rayon-core" -version = "1.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "258bcdb5ac6dad48491bb2992db6b7cf74878b0384908af124823d118c99683f" -dependencies = [ - "crossbeam-channel", - "crossbeam-deque", - "crossbeam-utils", - "num_cpus", -] - [[package]] name = "redox_syscall" version = "0.2.16" @@ -2510,18 +2126,18 @@ dependencies = [ [[package]] name = "ref-cast" -version = "1.0.12" +version = "1.0.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12a733f1746c929b4913fe48f8697fcf9c55e3304ba251a79ffb41adfeaf49c2" +checksum = "53b15debb4f9d60d767cd8ca9ef7abb2452922f3214671ff052defc7f3502c44" dependencies = [ "ref-cast-impl", ] [[package]] name = "ref-cast-impl" -version = "1.0.12" +version = "1.0.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5887de4a01acafd221861463be6113e6e87275e79804e56779f4cdc131c60368" +checksum = "abfa8511e9e94fd3de6585a3d3cd00e01ed556dc9814829280af0e8dc72a8f36" dependencies = [ "proc-macro2", "quote", @@ -2530,9 +2146,9 @@ dependencies = [ [[package]] name = "regex" -version = "1.6.0" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c4eb3267174b8c6c2f654116623910a0fef09c4753f8dd83db29c48a0df988b" +checksum = "e076559ef8e241f2ae3479e36f97bd5741c0330689e217ad51ce2c76808b868a" dependencies = [ "aho-corasick", "memchr", @@ -2550,9 +2166,9 @@ dependencies = [ [[package]] name = "regex-syntax" -version = "0.6.27" +version = "0.6.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3f87b73ce11b1619a3c6332f45341e0047173771e8b8b73f87bfeefb7b56244" +checksum = "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848" [[package]] name = "rfc6979" @@ -2565,6 +2181,21 @@ dependencies = [ "zeroize", ] +[[package]] +name = "ring" +version = "0.16.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc" +dependencies = [ + "cc", + "libc", + "once_cell", + "spin", + "untrusted", + "web-sys", + "winapi", +] + [[package]] name = "rlibc" version = "1.0.0" @@ -2590,12 +2221,36 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3e75f6a532d0fd9f7f13144f392b6ad56a32696bfcd9c78f797f16bbb6f072d6" [[package]] -name = "rustc_version" -version = "0.4.0" +name = "rustls" +version = "0.20.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" +checksum = "539a2bfe908f471bfa933876bd1eb6a19cf2176d375f82ef7f99530a40e48c2c" dependencies = [ - "semver", + "log", + "ring", + "sct", + "webpki", +] + +[[package]] +name = "rustls-native-certs" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0167bac7a9f490495f3c33013e7722b53cb087ecbe082fb0c6387c96f634ea50" +dependencies = [ + "openssl-probe", + "rustls-pemfile", + "schannel", + "security-framework", +] + +[[package]] +name = "rustls-pemfile" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0864aeff53f8c05aa08d86e5ef839d3dfcf07aeba2db32f12db0ef716e87bd55" +dependencies = [ + "base64", ] [[package]] @@ -2610,14 +2265,37 @@ version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4501abdff3ae82a1c1b477a17252eb69cee9e66eb915c1abaa4f44d873df9f09" +[[package]] +name = "scale-bits" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8dd7aca73785181cc41f0bbe017263e682b585ca660540ba569133901d013ecf" +dependencies = [ + "parity-scale-codec", + "scale-info", + "serde", +] + +[[package]] +name = "scale-decode" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d823d4be477fc33321f93d08fb6c2698273d044f01362dc27573a750deb7c233" +dependencies = [ + "parity-scale-codec", + "scale-bits", + "scale-info", + "thiserror", +] + [[package]] name = "scale-info" -version = "2.2.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "333af15b02563b8182cd863f925bd31ef8fa86a0e095d30c091956057d436153" +checksum = "88d8a765117b237ef233705cc2cc4c6a27fccd46eea6ef0c8c6dae5f3ef407f8" dependencies = [ "bitvec", - "cfg-if 1.0.0", + "cfg-if", "derive_more", "parity-scale-codec", "scale-info-derive", @@ -2626,9 +2304,9 @@ dependencies = [ [[package]] name = "scale-info-derive" -version = "2.2.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53f56acbd0743d29ffa08f911ab5397def774ad01bab3786804cf6ee057fb5e1" +checksum = "cdcd47b380d8c4541044e341dcd9475f55ba37ddc50c908d945fc036a8642496" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -2636,6 +2314,33 @@ dependencies = [ "syn", ] +[[package]] +name = "scale-value" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "16a5e7810815bd295da73e4216d1dfbced3c7c7c7054d70fa5f6e4c58123fff4" +dependencies = [ + "either", + "frame-metadata", + "parity-scale-codec", + "scale-bits", + "scale-decode", + "scale-info", + "serde", + "thiserror", + "yap", +] + +[[package]] +name = "schannel" +version = "0.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88d6731146462ea25d9244b2ed5fd1d716d25c52e4d54aa4fb0f3c4e9854dbe2" +dependencies = [ + "lazy_static", + "windows-sys 0.36.1", +] + [[package]] name = "schnorrkel" version = "0.9.1" @@ -2666,6 +2371,16 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c8132065adcfd6e02db789d9285a0deb2f3fcb04002865ab67d5fb103533898" +[[package]] +name = "sct" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4" +dependencies = [ + "ring", + "untrusted", +] + [[package]] name = "sec1" version = "0.2.1" @@ -2723,6 +2438,29 @@ dependencies = [ "zeroize", ] +[[package]] +name = "security-framework" +version = "2.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2bc1bb97804af6631813c55739f771071e0f2ed33ee20b68c86ec505d906356c" +dependencies = [ + "bitflags", + "core-foundation", + "core-foundation-sys", + "libc", + "security-framework-sys", +] + +[[package]] +name = "security-framework-sys" +version = "2.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0160a13a177a45bfb43ce71c01580998474f556ad854dcbca936dd2841a5c556" +dependencies = [ + "core-foundation-sys", + "libc", +] + [[package]] name = "semver" version = "1.0.14" @@ -2765,14 +2503,15 @@ dependencies = [ [[package]] name = "sha-1" -version = "0.8.2" +version = "0.9.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7d94d0bede923b3cea61f3f1ff57ff8cdfd77b400fb8f9998949e0cf04163df" +checksum = "99cd6713db3cf16b6c84e06321e049a9b9f699826e16096d23bbcc44d15d51a6" dependencies = [ - "block-buffer 0.7.3", - "digest 0.8.1", - "fake-simd", - "opaque-debug 0.2.3", + "block-buffer 0.9.0", + "cfg-if", + "cpufeatures", + "digest 0.9.0", + "opaque-debug 0.3.0", ] [[package]] @@ -2794,7 +2533,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4d58a1e1bf39749807d89cf2d98ac2dfa0ff1cb3faa38fbb64dd88ac8013d800" dependencies = [ "block-buffer 0.9.0", - "cfg-if 1.0.0", + "cfg-if", "cpufeatures", "digest 0.9.0", "opaque-debug 0.3.0", @@ -2806,7 +2545,7 @@ version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "82e6b795fe2e3b1e845bafcb27aa35405c4d47cdfc92af5fc8d3002f76cebdc0" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "cpufeatures", "digest 0.10.5", ] @@ -2841,31 +2580,44 @@ dependencies = [ ] [[package]] -name = "simba" -version = "0.5.1" +name = "slab" +version = "0.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e82063457853d00243beda9952e910b82593e4b07ae9f721b9278a99a0d3d5c" +checksum = "4614a76b2a8be0058caa9dbbaf66d988527d86d003c11a94fbd335d7661edcef" dependencies = [ - "approx", - "num-complex", - "num-traits", - "paste", + "autocfg", ] [[package]] -name = "slab" +name = "smallvec" +version = "1.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" + +[[package]] +name = "socket2" version = "0.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4614a76b2a8be0058caa9dbbaf66d988527d86d003c11a94fbd335d7661edcef" +checksum = "02e2d2db9033d13a1567121ddd7a095ee144db4e1ca1b1bda3419bc0da294ebd" dependencies = [ - "autocfg", + "libc", + "winapi", ] [[package]] -name = "smallvec" -version = "1.10.0" +name = "soketto" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" +checksum = "41d1c5305e39e09653383c2c7244f2f78b3bcae37cf50c64cb4789c9f5096ec2" +dependencies = [ + "base64", + "bytes", + "futures", + "httparse", + "log", + "rand 0.8.5", + "sha-1", +] [[package]] name = "sp-api" @@ -2954,18 +2706,6 @@ dependencies = [ "static_assertions", ] -[[package]] -name = "sp-authorship" -version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" -dependencies = [ - "async-trait", - "parity-scale-codec", - "sp-inherents", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", -] - [[package]] name = "sp-core" version = "6.0.0" @@ -3187,7 +2927,7 @@ name = "sp-io" version = "6.0.0" source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" dependencies = [ - "bytes 1.2.1", + "bytes", "futures", "hash-db", "libsecp256k1", @@ -3241,20 +2981,6 @@ dependencies = [ "thiserror", ] -[[package]] -name = "sp-npos-elections" -version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" -dependencies = [ - "parity-scale-codec", - "scale-info", - "serde", - "sp-arithmetic 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", -] - [[package]] name = "sp-panic-handler" version = "4.0.0" @@ -3354,7 +3080,7 @@ name = "sp-runtime-interface" version = "6.0.0" source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" dependencies = [ - "bytes 1.2.1", + "bytes", "impl-trait-for-tuples", "parity-scale-codec", "primitive-types", @@ -3392,20 +3118,6 @@ dependencies = [ "syn", ] -[[package]] -name = "sp-session" -version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" -dependencies = [ - "parity-scale-codec", - "scale-info", - "sp-api", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-staking", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", -] - [[package]] name = "sp-staking" version = "4.0.0-dev" @@ -3501,22 +3213,6 @@ dependencies = [ "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", ] -[[package]] -name = "sp-timestamp" -version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" -dependencies = [ - "async-trait", - "futures-timer", - "log", - "parity-scale-codec", - "sp-api", - "sp-inherents", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "thiserror", -] - [[package]] name = "sp-tracing" version = "5.0.0" @@ -3627,11 +3323,17 @@ dependencies = [ "wasmi", ] +[[package]] +name = "spin" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" + [[package]] name = "ss58-registry" -version = "1.33.0" +version = "1.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ab7554f8a8b6f8d71cd5a8e6536ef116e2ce0504cf97ebf16311d58065dc8a6" +checksum = "37a9821878e1f13aba383aa40a86fb1b33c7265774ec91e32563cb1dd1577496" dependencies = [ "Inflector", "num-format", @@ -3649,47 +3351,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" [[package]] -name = "statrs" -version = "0.15.0" +name = "strsim" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05bdbb8e4e78216a85785a85d3ec3183144f98d0097b9281802c019bb07a6f05" -dependencies = [ - "approx", - "lazy_static", - "nalgebra", - "num-traits", - "rand 0.8.5", -] - -[[package]] -name = "substrate-api-client" -version = "0.6.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate-api-client.git?branch=aleph-v0.9.28#92bc66b75428213e4bcdb2484616cf458455813a" -dependencies = [ - "ac-compose-macros", - "ac-node-api", - "ac-primitives", - "frame-metadata 15.0.0 (git+https://github.com/integritee-network/frame-metadata)", - "frame-support", - "frame-system", - "hex", - "log", - "pallet-balances", - "pallet-staking", - "pallet-transaction-payment", - "parity-scale-codec", - "primitive-types", - "serde", - "serde_json", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-rpc", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-version", - "thiserror", - "ws", -] +checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" [[package]] name = "substrate-bip39" @@ -3710,6 +3375,75 @@ version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" +[[package]] +name = "subxt" +version = "0.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0a8757ee0e19f87e722577282ab1386c86592a4b13ff963b9c6ec4176348104c" +dependencies = [ + "bitvec", + "derivative", + "frame-metadata", + "futures", + "hex", + "jsonrpsee", + "parity-scale-codec", + "parking_lot", + "scale-decode", + "scale-info", + "scale-value", + "serde", + "serde_json", + "sp-core 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-runtime 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "subxt-macro", + "subxt-metadata", + "thiserror", + "tracing", +] + +[[package]] +name = "subxt-codegen" +version = "0.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb77f93e11e6ff3ff95fe33e3d24c27c342e16feca8ef47759993614ebe90d2c" +dependencies = [ + "darling", + "frame-metadata", + "heck", + "parity-scale-codec", + "proc-macro-error", + "proc-macro2", + "quote", + "scale-info", + "subxt-metadata", + "syn", +] + +[[package]] +name = "subxt-macro" +version = "0.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "051cc21d77a54ae944b872eafdf9edfe1d9134fdfcfc3477dc10f763c76564a9" +dependencies = [ + "darling", + "proc-macro-error", + "subxt-codegen", + "syn", +] + +[[package]] +name = "subxt-metadata" +version = "0.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ed78d80db3a97d55e8b1cfecc1f6f9e21793a589d4e2e5f4fe2d6d5850c2e54" +dependencies = [ + "frame-metadata", + "parity-scale-codec", + "scale-info", + "sp-core 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "syn" version = "1.0.103" @@ -3820,6 +3554,57 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" +[[package]] +name = "tokio" +version = "1.21.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9e03c497dc955702ba729190dc4aac6f2a0ce97f913e5b1b5912fc5039d9099" +dependencies = [ + "autocfg", + "libc", + "mio", + "pin-project-lite", + "socket2", + "tokio-macros", + "winapi", +] + +[[package]] +name = "tokio-macros" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9724f9a975fb987ef7a3cd9be0350edcbe130698af5b8f7a631e23d42d052484" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "tokio-rustls" +version = "0.23.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c43ee83903113e03984cb9e5cebe6c04a5116269e900e3ddba8f068a62adda59" +dependencies = [ + "rustls", + "tokio", + "webpki", +] + +[[package]] +name = "tokio-util" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bb2e075f03b3d66d8d8785356224ba688d2906a371015e225beeb65ca92c740" +dependencies = [ + "bytes", + "futures-core", + "futures-io", + "futures-sink", + "pin-project-lite", + "tokio", +] + [[package]] name = "toml" version = "0.5.9" @@ -3835,7 +3620,7 @@ version = "0.1.37" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "pin-project-lite", "tracing-attributes", "tracing-core", @@ -3862,6 +3647,16 @@ dependencies = [ "valuable", ] +[[package]] +name = "tracing-futures" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2" +dependencies = [ + "pin-project", + "tracing", +] + [[package]] name = "tracing-log" version = "0.1.3" @@ -3939,7 +3734,7 @@ version = "1.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "digest 0.10.5", "rand 0.8.5", "static_assertions", @@ -3996,6 +3791,12 @@ version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" +[[package]] +name = "untrusted" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" + [[package]] name = "url" version = "2.3.1" @@ -4014,18 +3815,18 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" -[[package]] -name = "vcpkg" -version = "0.2.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" - [[package]] name = "version_check" version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" +[[package]] +name = "waker-fn" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d5b2c62b4012a3e1eca5a7e077d13b3bf498c4073e33ccd58626607748ceeca" + [[package]] name = "wasi" version = "0.9.0+wasi-snapshot-preview1" @@ -4044,7 +3845,7 @@ version = "0.2.83" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eaf9f5aceeec8be17c128b2e93e031fb8a4d469bb9c4ae2d7dc1888b26887268" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "wasm-bindgen-macro", ] @@ -4101,7 +3902,7 @@ dependencies = [ "downcast-rs", "libc", "memory_units", - "num-rational 0.2.4", + "num-rational", "num-traits", "parity-wasm", "wasmi-validation", @@ -4117,10 +3918,33 @@ dependencies = [ ] [[package]] -name = "winapi" -version = "0.2.8" +name = "web-sys" +version = "0.3.60" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bcda906d8be16e728fd5adc5b729afad4e444e106ab28cd1c7256e54fa61510f" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "webpki" +version = "0.22.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f095d78192e208183081cc07bc5515ef55216397af48b873e5edcd72637fa1bd" +dependencies = [ + "ring", + "untrusted", +] + +[[package]] +name = "webpki-roots" +version = "0.22.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a" +checksum = "368bfe657969fb01238bb756d351dcade285e0f6fcbd36dcb23359a5169975be" +dependencies = [ + "webpki", +] [[package]] name = "winapi" @@ -4132,12 +3956,6 @@ dependencies = [ "winapi-x86_64-pc-windows-gnu", ] -[[package]] -name = "winapi-build" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc" - [[package]] name = "winapi-i686-pc-windows-gnu" version = "0.4.0" @@ -4150,7 +3968,7 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" dependencies = [ - "winapi 0.3.9", + "winapi", ] [[package]] @@ -4159,6 +3977,19 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" +[[package]] +name = "windows-sys" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea04155a16a59f9eab786fe12a4a450e75cdb175f9e0d80da1e17db09f55b8d2" +dependencies = [ + "windows_aarch64_msvc 0.36.1", + "windows_i686_gnu 0.36.1", + "windows_i686_msvc 0.36.1", + "windows_x86_64_gnu 0.36.1", + "windows_x86_64_msvc 0.36.1", +] + [[package]] name = "windows-sys" version = "0.42.0" @@ -4166,12 +3997,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" dependencies = [ "windows_aarch64_gnullvm", - "windows_aarch64_msvc", - "windows_i686_gnu", - "windows_i686_msvc", - "windows_x86_64_gnu", + "windows_aarch64_msvc 0.42.0", + "windows_i686_gnu 0.42.0", + "windows_i686_msvc 0.42.0", + "windows_x86_64_gnu 0.42.0", "windows_x86_64_gnullvm", - "windows_x86_64_msvc", + "windows_x86_64_msvc 0.42.0", ] [[package]] @@ -4180,24 +4011,48 @@ version = "0.42.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "41d2aa71f6f0cbe00ae5167d90ef3cfe66527d6f613ca78ac8024c3ccab9a19e" +[[package]] +name = "windows_aarch64_msvc" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47" + [[package]] name = "windows_aarch64_msvc" version = "0.42.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dd0f252f5a35cac83d6311b2e795981f5ee6e67eb1f9a7f64eb4500fbc4dcdb4" +[[package]] +name = "windows_i686_gnu" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6" + [[package]] name = "windows_i686_gnu" version = "0.42.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fbeae19f6716841636c28d695375df17562ca208b2b7d0dc47635a50ae6c5de7" +[[package]] +name = "windows_i686_msvc" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024" + [[package]] name = "windows_i686_msvc" version = "0.42.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "84c12f65daa39dd2babe6e442988fc329d6243fdce47d7d2d155b8d874862246" +[[package]] +name = "windows_x86_64_gnu" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1" + [[package]] name = "windows_x86_64_gnu" version = "0.42.0" @@ -4212,38 +4067,15 @@ checksum = "09d525d2ba30eeb3297665bd434a54297e4170c7f1a44cad4ef58095b4cd2028" [[package]] name = "windows_x86_64_msvc" -version = "0.42.0" +version = "0.36.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f40009d85759725a34da6d89a94e63d7bdc50a862acf0dbc7c8e488f1edcb6f5" - -[[package]] -name = "ws" -version = "0.9.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25fe90c75f236a0a00247d5900226aea4f2d7b05ccc34da9e7a8880ff59b5848" -dependencies = [ - "byteorder", - "bytes 0.4.12", - "httparse", - "log", - "mio", - "mio-extras", - "openssl", - "rand 0.7.3", - "sha-1", - "slab", - "url", -] +checksum = "c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680" [[package]] -name = "ws2_32-sys" -version = "0.2.1" +name = "windows_x86_64_msvc" +version = "0.42.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e" -dependencies = [ - "winapi 0.2.8", - "winapi-build", -] +checksum = "f40009d85759725a34da6d89a94e63d7bdc50a862acf0dbc7c8e488f1edcb6f5" [[package]] name = "wyz" @@ -4254,6 +4086,12 @@ dependencies = [ "tap", ] +[[package]] +name = "yap" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5fc77f52dc9e9b10d55d3f4462c3b7fc393c4f17975d641542833ab2d3bc26ef" + [[package]] name = "zeroize" version = "1.5.7" diff --git a/aleph-client/Cargo.toml b/aleph-client/Cargo.toml index b066ee4c15..acc908c76b 100644 --- a/aleph-client/Cargo.toml +++ b/aleph-client/Cargo.toml @@ -1,34 +1,26 @@ [package] name = "aleph_client" -version = "1.13.0" +version = "2.0.0" edition = "2021" license = "Apache 2.0" [dependencies] +async-trait = "0.1.58" anyhow = "1.0" codec = { package = 'parity-scale-codec', version = "3.0.0", features = ['derive'] } hex = { version = "0.4.3", features = ["alloc"] } log = "0.4" -rayon = "1.5" serde_json = { version = "1.0" } thiserror = "1.0" contract-metadata = "1.5" contract-transcode = "0.1" ink_metadata = "3.3" - -ac-primitives = { git = "https://github.com/Cardinal-Cryptography/substrate-api-client.git", branch = "aleph-v0.9.28" } -substrate-api-client = { git = "https://github.com/Cardinal-Cryptography/substrate-api-client.git", branch = "aleph-v0.9.28", features = ["staking-xt"] } -ac-node-api = { git = "https://github.com/Cardinal-Cryptography/substrate-api-client.git", branch = "aleph-v0.9.28" } +subxt = "0.24.0" +futures = "0.3.25" +serde = { version = "1.0", features = ["derive"] } frame-support = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28", features = ["full_crypto"] } sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -pallet-multisig = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -pallet-staking = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -pallet-treasury = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -pallet-balances = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -pallet-vesting = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } - -pallet-aleph = { path = "../pallets/aleph" } -pallet-elections = { path = "../pallets/elections" } +pallet-contracts-primitives = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } primitives = { path = "../primitives" } diff --git a/aleph-client/README.md b/aleph-client/README.md new file mode 100644 index 0000000000..340175d835 --- /dev/null +++ b/aleph-client/README.md @@ -0,0 +1,7 @@ +### Metadata + +We use autogenerated metadata in this lib. To generate it you will need subxt-cli. See [here](https://github.com/paritytech/subxt) for instructions how to install it. +The metadata is generated by: +```bash +subxt codegen --derive Clone Debug Eq PartialEq | rustfmt --edition=2021 > src/aleph_zero.rs +``` \ No newline at end of file diff --git a/aleph-client/src/account.rs b/aleph-client/src/account.rs deleted file mode 100644 index 5f5f42bad8..0000000000 --- a/aleph-client/src/account.rs +++ /dev/null @@ -1,61 +0,0 @@ -use codec::Decode; -use pallet_balances::BalanceLock; -use sp_core::{crypto::AccountId32, storage::StorageKey}; -use substrate_api_client::{AccountId, Balance}; - -use crate::{state_query_storage_at, AnyConnection}; - -pub fn get_free_balance(connection: &C, account: &AccountId) -> Balance { - match connection - .as_connection() - .get_account_data(account) - .expect("Should be able to access account data") - { - Some(account_data) => account_data.free, - // Account may have not been initialized yet or liquidated due to the lack of funds. - None => 0, - } -} - -pub fn locks( - connection: &C, - accounts: &[AccountId], -) -> Vec>> { - let storage_keys = create_storage_keys_from_accounts(connection, accounts); - get_locked_balances_from_storage(connection, storage_keys) -} - -fn create_storage_keys_from_accounts( - connection: &C, - accounts: &[AccountId32], -) -> Vec { - accounts - .iter() - .map(|account| { - connection - .as_connection() - .metadata - .storage_map_key("Balances", "Locks", account) - .unwrap_or_else(|_| panic!("Cannot create storage key for account {}!", account)) - }) - .collect() -} - -fn get_locked_balances_from_storage( - connection: &C, - storage_keys: Vec, -) -> Vec>> { - match state_query_storage_at(connection, storage_keys) { - Ok(storage_entries) => storage_entries - .into_iter() - .map(|storage_entry| { - let entry_bytes = storage_entry.expect("Storage entry is null!").0; - Decode::decode(&mut entry_bytes.as_slice()) - .expect("Failed to decode locked balances!") - }) - .collect(), - Err(err) => { - panic!("Failed to query storage, details: {}", &err[..]); - } - } -} diff --git a/aleph-client/src/aleph_zero.rs b/aleph-client/src/aleph_zero.rs new file mode 100644 index 0000000000..9a863f452e --- /dev/null +++ b/aleph-client/src/aleph_zero.rs @@ -0,0 +1,19324 @@ +#[allow(dead_code, unused_imports, non_camel_case_types)] +pub mod api { + use super::api as root_mod; + pub static PALLETS: [&str; 21usize] = [ + "System", + "RandomnessCollectiveFlip", + "Scheduler", + "Aura", + "Timestamp", + "Balances", + "TransactionPayment", + "Authorship", + "Staking", + "History", + "Session", + "Aleph", + "Elections", + "Treasury", + "Vesting", + "Utility", + "Multisig", + "Sudo", + "Contracts", + "NominationPools", + "Identity", + ]; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub enum Event { + #[codec(index = 0)] + System(system::Event), + #[codec(index = 2)] + Scheduler(scheduler::Event), + #[codec(index = 5)] + Balances(balances::Event), + #[codec(index = 6)] + TransactionPayment(transaction_payment::Event), + #[codec(index = 8)] + Staking(staking::Event), + #[codec(index = 10)] + Session(session::Event), + #[codec(index = 11)] + Aleph(aleph::Event), + #[codec(index = 12)] + Elections(elections::Event), + #[codec(index = 13)] + Treasury(treasury::Event), + #[codec(index = 14)] + Vesting(vesting::Event), + #[codec(index = 15)] + Utility(utility::Event), + #[codec(index = 16)] + Multisig(multisig::Event), + #[codec(index = 17)] + Sudo(sudo::Event), + #[codec(index = 18)] + Contracts(contracts::Event), + #[codec(index = 19)] + NominationPools(nomination_pools::Event), + #[codec(index = 20)] + Identity(identity::Event), + } + pub mod system { + use super::{root_mod, runtime_types}; + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub mod calls { + use super::{root_mod, runtime_types}; + type DispatchError = runtime_types::sp_runtime::DispatchError; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct FillBlock { + pub ratio: runtime_types::sp_arithmetic::per_things::Perbill, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct Remark { + pub remark: ::std::vec::Vec<::core::primitive::u8>, + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct SetHeapPages { + pub pages: ::core::primitive::u64, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct SetCode { + pub code: ::std::vec::Vec<::core::primitive::u8>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct SetCodeWithoutChecks { + pub code: ::std::vec::Vec<::core::primitive::u8>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct SetStorage { + pub items: ::std::vec::Vec<( + ::std::vec::Vec<::core::primitive::u8>, + ::std::vec::Vec<::core::primitive::u8>, + )>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct KillStorage { + pub keys: ::std::vec::Vec<::std::vec::Vec<::core::primitive::u8>>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct KillPrefix { + pub prefix: ::std::vec::Vec<::core::primitive::u8>, + pub subkeys: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct RemarkWithEvent { + pub remark: ::std::vec::Vec<::core::primitive::u8>, + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "A dispatch that will fill the block weight up to the given ratio."] + pub fn fill_block( + &self, + ratio: runtime_types::sp_arithmetic::per_things::Perbill, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "System", + "fill_block", + FillBlock { ratio }, + [ + 48u8, 18u8, 205u8, 90u8, 222u8, 4u8, 20u8, 251u8, 173u8, 76u8, 167u8, + 4u8, 83u8, 203u8, 160u8, 89u8, 132u8, 218u8, 191u8, 145u8, 130u8, + 245u8, 177u8, 201u8, 169u8, 129u8, 173u8, 105u8, 88u8, 45u8, 136u8, + 191u8, + ], + ) + } + #[doc = "Make some on-chain remark."] + #[doc = ""] + #[doc = "# "] + #[doc = "- `O(1)`"] + #[doc = "# "] + pub fn remark( + &self, + remark: ::std::vec::Vec<::core::primitive::u8>, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "System", + "remark", + Remark { remark }, + [ + 101u8, 80u8, 195u8, 226u8, 224u8, 247u8, 60u8, 128u8, 3u8, 101u8, 51u8, + 147u8, 96u8, 126u8, 76u8, 230u8, 194u8, 227u8, 191u8, 73u8, 160u8, + 146u8, 87u8, 147u8, 243u8, 28u8, 228u8, 116u8, 224u8, 181u8, 129u8, + 160u8, + ], + ) + } + #[doc = "Set the number of pages in the WebAssembly environment's heap."] + pub fn set_heap_pages( + &self, + pages: ::core::primitive::u64, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "System", + "set_heap_pages", + SetHeapPages { pages }, + [ + 43u8, 103u8, 128u8, 49u8, 156u8, 136u8, 11u8, 204u8, 80u8, 6u8, 244u8, + 86u8, 171u8, 44u8, 140u8, 225u8, 142u8, 198u8, 43u8, 87u8, 26u8, 45u8, + 125u8, 222u8, 165u8, 254u8, 172u8, 158u8, 39u8, 178u8, 86u8, 87u8, + ], + ) + } + #[doc = "Set the new runtime code."] + #[doc = ""] + #[doc = "# "] + #[doc = "- `O(C + S)` where `C` length of `code` and `S` complexity of `can_set_code`"] + #[doc = "- 1 call to `can_set_code`: `O(S)` (calls `sp_io::misc::runtime_version` which is"] + #[doc = " expensive)."] + #[doc = "- 1 storage write (codec `O(C)`)."] + #[doc = "- 1 digest item."] + #[doc = "- 1 event."] + #[doc = "The weight of this function is dependent on the runtime, but generally this is very"] + #[doc = "expensive. We will treat this as a full block."] + #[doc = "# "] + pub fn set_code( + &self, + code: ::std::vec::Vec<::core::primitive::u8>, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "System", + "set_code", + SetCode { code }, + [ + 27u8, 104u8, 244u8, 205u8, 188u8, 254u8, 121u8, 13u8, 106u8, 120u8, + 244u8, 108u8, 97u8, 84u8, 100u8, 68u8, 26u8, 69u8, 93u8, 128u8, 107u8, + 4u8, 3u8, 142u8, 13u8, 134u8, 196u8, 62u8, 113u8, 181u8, 14u8, 40u8, + ], + ) + } + #[doc = "Set the new runtime code without doing any checks of the given `code`."] + #[doc = ""] + #[doc = "# "] + #[doc = "- `O(C)` where `C` length of `code`"] + #[doc = "- 1 storage write (codec `O(C)`)."] + #[doc = "- 1 digest item."] + #[doc = "- 1 event."] + #[doc = "The weight of this function is dependent on the runtime. We will treat this as a full"] + #[doc = "block. # "] + pub fn set_code_without_checks( + &self, + code: ::std::vec::Vec<::core::primitive::u8>, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "System", + "set_code_without_checks", + SetCodeWithoutChecks { code }, + [ + 102u8, 160u8, 125u8, 235u8, 30u8, 23u8, 45u8, 239u8, 112u8, 148u8, + 159u8, 158u8, 42u8, 93u8, 206u8, 94u8, 80u8, 250u8, 66u8, 195u8, 60u8, + 40u8, 142u8, 169u8, 183u8, 80u8, 80u8, 96u8, 3u8, 231u8, 99u8, 216u8, + ], + ) + } + #[doc = "Set some items of storage."] + pub fn set_storage( + &self, + items: ::std::vec::Vec<( + ::std::vec::Vec<::core::primitive::u8>, + ::std::vec::Vec<::core::primitive::u8>, + )>, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "System", + "set_storage", + SetStorage { items }, + [ + 74u8, 43u8, 106u8, 255u8, 50u8, 151u8, 192u8, 155u8, 14u8, 90u8, 19u8, + 45u8, 165u8, 16u8, 235u8, 242u8, 21u8, 131u8, 33u8, 172u8, 119u8, 78u8, + 140u8, 10u8, 107u8, 202u8, 122u8, 235u8, 181u8, 191u8, 22u8, 116u8, + ], + ) + } + #[doc = "Kill some items from storage."] + pub fn kill_storage( + &self, + keys: ::std::vec::Vec<::std::vec::Vec<::core::primitive::u8>>, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "System", + "kill_storage", + KillStorage { keys }, + [ + 174u8, 174u8, 13u8, 174u8, 75u8, 138u8, 128u8, 235u8, 222u8, 216u8, + 85u8, 18u8, 198u8, 1u8, 138u8, 70u8, 19u8, 108u8, 209u8, 41u8, 228u8, + 67u8, 130u8, 230u8, 160u8, 207u8, 11u8, 180u8, 139u8, 242u8, 41u8, + 15u8, + ], + ) + } + #[doc = "Kill all storage items with a key that starts with the given prefix."] + #[doc = ""] + #[doc = "**NOTE:** We rely on the Root origin to provide us the number of subkeys under"] + #[doc = "the prefix we are removing to accurately calculate the weight of this function."] + pub fn kill_prefix( + &self, + prefix: ::std::vec::Vec<::core::primitive::u8>, + subkeys: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "System", + "kill_prefix", + KillPrefix { prefix, subkeys }, + [ + 203u8, 116u8, 217u8, 42u8, 154u8, 215u8, 77u8, 217u8, 13u8, 22u8, + 193u8, 2u8, 128u8, 115u8, 179u8, 115u8, 187u8, 218u8, 129u8, 34u8, + 80u8, 4u8, 173u8, 120u8, 92u8, 35u8, 237u8, 112u8, 201u8, 207u8, 200u8, + 48u8, + ], + ) + } + #[doc = "Make some on-chain remark and emit event."] + pub fn remark_with_event( + &self, + remark: ::std::vec::Vec<::core::primitive::u8>, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "System", + "remark_with_event", + RemarkWithEvent { remark }, + [ + 123u8, 225u8, 180u8, 179u8, 144u8, 74u8, 27u8, 85u8, 101u8, 75u8, + 134u8, 44u8, 181u8, 25u8, 183u8, 158u8, 14u8, 213u8, 56u8, 225u8, + 136u8, 88u8, 26u8, 114u8, 178u8, 43u8, 176u8, 43u8, 240u8, 84u8, 116u8, + 46u8, + ], + ) + } + } + } + #[doc = "Event for the System pallet."] + pub type Event = runtime_types::frame_system::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "An extrinsic completed successfully."] + pub struct ExtrinsicSuccess { + pub dispatch_info: runtime_types::frame_support::weights::DispatchInfo, + } + impl ::subxt::events::StaticEvent for ExtrinsicSuccess { + const PALLET: &'static str = "System"; + const EVENT: &'static str = "ExtrinsicSuccess"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "An extrinsic failed."] + pub struct ExtrinsicFailed { + pub dispatch_error: runtime_types::sp_runtime::DispatchError, + pub dispatch_info: runtime_types::frame_support::weights::DispatchInfo, + } + impl ::subxt::events::StaticEvent for ExtrinsicFailed { + const PALLET: &'static str = "System"; + const EVENT: &'static str = "ExtrinsicFailed"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "`:code` was updated."] + pub struct CodeUpdated; + impl ::subxt::events::StaticEvent for CodeUpdated { + const PALLET: &'static str = "System"; + const EVENT: &'static str = "CodeUpdated"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "A new account was created."] + pub struct NewAccount { + pub account: ::subxt::ext::sp_core::crypto::AccountId32, + } + impl ::subxt::events::StaticEvent for NewAccount { + const PALLET: &'static str = "System"; + const EVENT: &'static str = "NewAccount"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "An account was reaped."] + pub struct KilledAccount { + pub account: ::subxt::ext::sp_core::crypto::AccountId32, + } + impl ::subxt::events::StaticEvent for KilledAccount { + const PALLET: &'static str = "System"; + const EVENT: &'static str = "KilledAccount"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "On on-chain remark happened."] + pub struct Remarked { + pub sender: ::subxt::ext::sp_core::crypto::AccountId32, + pub hash: ::subxt::ext::sp_core::H256, + } + impl ::subxt::events::StaticEvent for Remarked { + const PALLET: &'static str = "System"; + const EVENT: &'static str = "Remarked"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " The full account information for a particular account ID."] + pub fn account( + &self, + _0: impl ::std::borrow::Borrow<::subxt::ext::sp_core::crypto::AccountId32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::frame_system::AccountInfo< + ::core::primitive::u32, + runtime_types::pallet_balances::AccountData<::core::primitive::u128>, + >, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "System", + "Account", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Blake2_128Concat, + )], + [ + 176u8, 187u8, 21u8, 220u8, 159u8, 204u8, 127u8, 14u8, 21u8, 69u8, 77u8, + 114u8, 230u8, 141u8, 107u8, 79u8, 23u8, 16u8, 174u8, 243u8, 252u8, + 42u8, 65u8, 120u8, 229u8, 38u8, 210u8, 255u8, 22u8, 40u8, 109u8, 223u8, + ], + ) + } + #[doc = " The full account information for a particular account ID."] + pub fn account_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::frame_system::AccountInfo< + ::core::primitive::u32, + runtime_types::pallet_balances::AccountData<::core::primitive::u128>, + >, + >, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "System", + "Account", + Vec::new(), + [ + 176u8, 187u8, 21u8, 220u8, 159u8, 204u8, 127u8, 14u8, 21u8, 69u8, 77u8, + 114u8, 230u8, 141u8, 107u8, 79u8, 23u8, 16u8, 174u8, 243u8, 252u8, + 42u8, 65u8, 120u8, 229u8, 38u8, 210u8, 255u8, 22u8, 40u8, 109u8, 223u8, + ], + ) + } + #[doc = " Total extrinsics count for the current block."] + pub fn extrinsic_count( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "System", + "ExtrinsicCount", + vec![], + [ + 223u8, 60u8, 201u8, 120u8, 36u8, 44u8, 180u8, 210u8, 242u8, 53u8, + 222u8, 154u8, 123u8, 176u8, 249u8, 8u8, 225u8, 28u8, 232u8, 4u8, 136u8, + 41u8, 151u8, 82u8, 189u8, 149u8, 49u8, 166u8, 139u8, 9u8, 163u8, 231u8, + ], + ) + } + #[doc = " The current weight for the block."] + pub fn block_weight( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::frame_support::weights::PerDispatchClass< + ::core::primitive::u64, + >, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "System", + "BlockWeight", + vec![], + [ + 91u8, 211u8, 177u8, 36u8, 147u8, 249u8, 55u8, 164u8, 48u8, 49u8, 55u8, + 11u8, 121u8, 193u8, 103u8, 69u8, 38u8, 142u8, 148u8, 36u8, 137u8, 41u8, + 115u8, 195u8, 31u8, 174u8, 163u8, 125u8, 69u8, 5u8, 94u8, 79u8, + ], + ) + } + #[doc = " Total length (in bytes) for all extrinsics put together, for the current block."] + pub fn all_extrinsics_len( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "System", + "AllExtrinsicsLen", + vec![], + [ + 202u8, 145u8, 209u8, 225u8, 40u8, 220u8, 174u8, 74u8, 93u8, 164u8, + 254u8, 248u8, 254u8, 192u8, 32u8, 117u8, 96u8, 149u8, 53u8, 145u8, + 219u8, 64u8, 234u8, 18u8, 217u8, 200u8, 203u8, 141u8, 145u8, 28u8, + 134u8, 60u8, + ], + ) + } + #[doc = " Map of block numbers to block hashes."] + pub fn block_hash( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::subxt::ext::sp_core::H256>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "System", + "BlockHash", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + )], + [ + 50u8, 112u8, 176u8, 239u8, 175u8, 18u8, 205u8, 20u8, 241u8, 195u8, + 21u8, 228u8, 186u8, 57u8, 200u8, 25u8, 38u8, 44u8, 106u8, 20u8, 168u8, + 80u8, 76u8, 235u8, 12u8, 51u8, 137u8, 149u8, 200u8, 4u8, 220u8, 237u8, + ], + ) + } + #[doc = " Map of block numbers to block hashes."] + pub fn block_hash_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::subxt::ext::sp_core::H256>, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "System", + "BlockHash", + Vec::new(), + [ + 50u8, 112u8, 176u8, 239u8, 175u8, 18u8, 205u8, 20u8, 241u8, 195u8, + 21u8, 228u8, 186u8, 57u8, 200u8, 25u8, 38u8, 44u8, 106u8, 20u8, 168u8, + 80u8, 76u8, 235u8, 12u8, 51u8, 137u8, 149u8, 200u8, 4u8, 220u8, 237u8, + ], + ) + } + #[doc = " Extrinsics data for the current block (maps an extrinsic's index to its data)."] + pub fn extrinsic_data( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::std::vec::Vec<::core::primitive::u8>>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "System", + "ExtrinsicData", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + )], + [ + 210u8, 224u8, 211u8, 186u8, 118u8, 210u8, 185u8, 194u8, 238u8, 211u8, + 254u8, 73u8, 67u8, 184u8, 31u8, 229u8, 168u8, 125u8, 98u8, 23u8, 241u8, + 59u8, 49u8, 86u8, 126u8, 9u8, 114u8, 163u8, 160u8, 62u8, 50u8, 67u8, + ], + ) + } + #[doc = " Extrinsics data for the current block (maps an extrinsic's index to its data)."] + pub fn extrinsic_data_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::std::vec::Vec<::core::primitive::u8>>, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "System", + "ExtrinsicData", + Vec::new(), + [ + 210u8, 224u8, 211u8, 186u8, 118u8, 210u8, 185u8, 194u8, 238u8, 211u8, + 254u8, 73u8, 67u8, 184u8, 31u8, 229u8, 168u8, 125u8, 98u8, 23u8, 241u8, + 59u8, 49u8, 86u8, 126u8, 9u8, 114u8, 163u8, 160u8, 62u8, 50u8, 67u8, + ], + ) + } + #[doc = " The current block number being processed. Set by `execute_block`."] + pub fn number( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "System", + "Number", + vec![], + [ + 228u8, 96u8, 102u8, 190u8, 252u8, 130u8, 239u8, 172u8, 126u8, 235u8, + 246u8, 139u8, 208u8, 15u8, 88u8, 245u8, 141u8, 232u8, 43u8, 204u8, + 36u8, 87u8, 211u8, 141u8, 187u8, 68u8, 236u8, 70u8, 193u8, 235u8, + 164u8, 191u8, + ], + ) + } + #[doc = " Hash of the previous block."] + pub fn parent_hash( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::subxt::ext::sp_core::H256>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "System", + "ParentHash", + vec![], + [ + 232u8, 206u8, 177u8, 119u8, 38u8, 57u8, 233u8, 50u8, 225u8, 49u8, + 169u8, 176u8, 210u8, 51u8, 231u8, 176u8, 234u8, 186u8, 188u8, 112u8, + 15u8, 152u8, 195u8, 232u8, 201u8, 97u8, 208u8, 249u8, 9u8, 163u8, 69u8, + 36u8, + ], + ) + } + #[doc = " Digest of the current block, also part of the block header."] + pub fn digest( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_runtime::generic::digest::Digest, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "System", + "Digest", + vec![], + [ + 83u8, 141u8, 200u8, 132u8, 182u8, 55u8, 197u8, 122u8, 13u8, 159u8, + 31u8, 42u8, 60u8, 191u8, 89u8, 221u8, 242u8, 47u8, 199u8, 213u8, 48u8, + 216u8, 131u8, 168u8, 245u8, 82u8, 56u8, 190u8, 62u8, 69u8, 96u8, 37u8, + ], + ) + } + #[doc = " Events deposited for the current block."] + #[doc = ""] + #[doc = " NOTE: The item is unbound and should therefore never be read on chain."] + #[doc = " It could otherwise inflate the PoV size of a block."] + #[doc = ""] + #[doc = " Events have a large in-memory size. Box the events to not go out-of-memory"] + #[doc = " just in case someone still reads them from within the runtime."] + pub fn events( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + ::std::vec::Vec< + runtime_types::frame_system::EventRecord< + runtime_types::aleph_runtime::Event, + ::subxt::ext::sp_core::H256, + >, + >, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "System", + "Events", + vec![], + [ + 136u8, 10u8, 224u8, 245u8, 154u8, 113u8, 236u8, 64u8, 20u8, 3u8, 151u8, + 221u8, 140u8, 30u8, 163u8, 129u8, 68u8, 211u8, 76u8, 197u8, 121u8, + 137u8, 164u8, 50u8, 231u8, 208u8, 123u8, 112u8, 10u8, 65u8, 2u8, 92u8, + ], + ) + } + #[doc = " The number of events in the `Events` list."] + pub fn event_count( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "System", + "EventCount", + vec![], + [ + 236u8, 93u8, 90u8, 177u8, 250u8, 211u8, 138u8, 187u8, 26u8, 208u8, + 203u8, 113u8, 221u8, 233u8, 227u8, 9u8, 249u8, 25u8, 202u8, 185u8, + 161u8, 144u8, 167u8, 104u8, 127u8, 187u8, 38u8, 18u8, 52u8, 61u8, 66u8, + 112u8, + ], + ) + } + #[doc = " Mapping between a topic (represented by T::Hash) and a vector of indexes"] + #[doc = " of events in the `>` list."] + #[doc = ""] + #[doc = " All topic vectors have deterministic storage locations depending on the topic. This"] + #[doc = " allows light-clients to leverage the changes trie storage tracking mechanism and"] + #[doc = " in case of changes fetch the list of events of interest."] + #[doc = ""] + #[doc = " The value has the type `(T::BlockNumber, EventIndex)` because if we used only just"] + #[doc = " the `EventIndex` then in case if the topic has the same contents on the next block"] + #[doc = " no notification will be triggered thus the event might be lost."] + pub fn event_topics( + &self, + _0: impl ::std::borrow::Borrow<::subxt::ext::sp_core::H256>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + ::std::vec::Vec<(::core::primitive::u32, ::core::primitive::u32)>, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "System", + "EventTopics", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Blake2_128Concat, + )], + [ + 205u8, 90u8, 142u8, 190u8, 176u8, 37u8, 94u8, 82u8, 98u8, 1u8, 129u8, + 63u8, 246u8, 101u8, 130u8, 58u8, 216u8, 16u8, 139u8, 196u8, 154u8, + 111u8, 110u8, 178u8, 24u8, 44u8, 183u8, 176u8, 232u8, 82u8, 223u8, + 38u8, + ], + ) + } + #[doc = " Mapping between a topic (represented by T::Hash) and a vector of indexes"] + #[doc = " of events in the `>` list."] + #[doc = ""] + #[doc = " All topic vectors have deterministic storage locations depending on the topic. This"] + #[doc = " allows light-clients to leverage the changes trie storage tracking mechanism and"] + #[doc = " in case of changes fetch the list of events of interest."] + #[doc = ""] + #[doc = " The value has the type `(T::BlockNumber, EventIndex)` because if we used only just"] + #[doc = " the `EventIndex` then in case if the topic has the same contents on the next block"] + #[doc = " no notification will be triggered thus the event might be lost."] + pub fn event_topics_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + ::std::vec::Vec<(::core::primitive::u32, ::core::primitive::u32)>, + >, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "System", + "EventTopics", + Vec::new(), + [ + 205u8, 90u8, 142u8, 190u8, 176u8, 37u8, 94u8, 82u8, 98u8, 1u8, 129u8, + 63u8, 246u8, 101u8, 130u8, 58u8, 216u8, 16u8, 139u8, 196u8, 154u8, + 111u8, 110u8, 178u8, 24u8, 44u8, 183u8, 176u8, 232u8, 82u8, 223u8, + 38u8, + ], + ) + } + #[doc = " Stores the `spec_version` and `spec_name` of when the last runtime upgrade happened."] + pub fn last_runtime_upgrade( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::frame_system::LastRuntimeUpgradeInfo, + >, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "System", + "LastRuntimeUpgrade", + vec![], + [ + 52u8, 37u8, 117u8, 111u8, 57u8, 130u8, 196u8, 14u8, 99u8, 77u8, 91u8, + 126u8, 178u8, 249u8, 78u8, 34u8, 9u8, 194u8, 92u8, 105u8, 113u8, 81u8, + 185u8, 127u8, 245u8, 184u8, 60u8, 29u8, 234u8, 182u8, 96u8, 196u8, + ], + ) + } + #[doc = " True if we have upgraded so that `type RefCount` is `u32`. False (default) if not."] + pub fn upgraded_to_u32_ref_count( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::bool>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "System", + "UpgradedToU32RefCount", + vec![], + [ + 171u8, 88u8, 244u8, 92u8, 122u8, 67u8, 27u8, 18u8, 59u8, 175u8, 175u8, + 178u8, 20u8, 150u8, 213u8, 59u8, 222u8, 141u8, 32u8, 107u8, 3u8, 114u8, + 83u8, 250u8, 180u8, 233u8, 152u8, 54u8, 187u8, 99u8, 131u8, 204u8, + ], + ) + } + #[doc = " True if we have upgraded so that AccountInfo contains three types of `RefCount`. False"] + #[doc = " (default) if not."] + pub fn upgraded_to_triple_ref_count( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::bool>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "System", + "UpgradedToTripleRefCount", + vec![], + [ + 90u8, 33u8, 56u8, 86u8, 90u8, 101u8, 89u8, 133u8, 203u8, 56u8, 201u8, + 210u8, 244u8, 232u8, 150u8, 18u8, 51u8, 105u8, 14u8, 230u8, 103u8, + 155u8, 246u8, 99u8, 53u8, 207u8, 225u8, 128u8, 186u8, 76u8, 40u8, + 185u8, + ], + ) + } + #[doc = " The execution phase of the block."] + pub fn execution_phase( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "System", + "ExecutionPhase", + vec![], + [ + 230u8, 183u8, 221u8, 135u8, 226u8, 223u8, 55u8, 104u8, 138u8, 224u8, + 103u8, 156u8, 222u8, 99u8, 203u8, 199u8, 164u8, 168u8, 193u8, 133u8, + 201u8, 155u8, 63u8, 95u8, 17u8, 206u8, 165u8, 123u8, 161u8, 33u8, + 172u8, 93u8, + ], + ) + } + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " Block & extrinsics weights: base values and limits."] + pub fn block_weights( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::frame_system::limits::BlockWeights, + >, + > { + ::subxt::constants::StaticConstantAddress::new( + "System", + "BlockWeights", + [ + 153u8, 164u8, 86u8, 79u8, 97u8, 114u8, 248u8, 181u8, 179u8, 186u8, + 214u8, 124u8, 215u8, 96u8, 116u8, 109u8, 215u8, 182u8, 61u8, 10u8, + 77u8, 74u8, 29u8, 125u8, 131u8, 111u8, 249u8, 208u8, 233u8, 170u8, + 11u8, 14u8, + ], + ) + } + #[doc = " The maximum length of a block (in bytes)."] + pub fn block_length( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::frame_system::limits::BlockLength, + >, + > { + ::subxt::constants::StaticConstantAddress::new( + "System", + "BlockLength", + [ + 116u8, 184u8, 225u8, 228u8, 207u8, 203u8, 4u8, 220u8, 234u8, 198u8, + 150u8, 108u8, 205u8, 87u8, 194u8, 131u8, 229u8, 51u8, 140u8, 4u8, 47u8, + 12u8, 200u8, 144u8, 153u8, 62u8, 51u8, 39u8, 138u8, 205u8, 203u8, + 236u8, + ], + ) + } + #[doc = " Maximum number of block number to block hash mappings to keep (oldest pruned first)."] + pub fn block_hash_count( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "System", + "BlockHashCount", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " The weight of runtime database operations the runtime can invoke."] + pub fn db_weight( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::frame_support::weights::RuntimeDbWeight, + >, + > { + ::subxt::constants::StaticConstantAddress::new( + "System", + "DbWeight", + [ + 124u8, 162u8, 190u8, 149u8, 49u8, 177u8, 162u8, 231u8, 62u8, 167u8, + 199u8, 181u8, 43u8, 232u8, 185u8, 116u8, 195u8, 51u8, 233u8, 223u8, + 20u8, 129u8, 246u8, 13u8, 65u8, 180u8, 64u8, 9u8, 157u8, 59u8, 245u8, + 118u8, + ], + ) + } + #[doc = " Get the chain's current version."] + pub fn version( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType, + > { + ::subxt::constants::StaticConstantAddress::new( + "System", + "Version", + [ + 93u8, 98u8, 57u8, 243u8, 229u8, 8u8, 234u8, 231u8, 72u8, 230u8, 139u8, + 47u8, 63u8, 181u8, 17u8, 2u8, 220u8, 231u8, 104u8, 237u8, 185u8, 143u8, + 165u8, 253u8, 188u8, 76u8, 147u8, 12u8, 170u8, 26u8, 74u8, 200u8, + ], + ) + } + #[doc = " The designated SS85 prefix of this chain."] + #[doc = ""] + #[doc = " This replaces the \"ss58Format\" property declared in the chain spec. Reason is"] + #[doc = " that the runtime should know about the prefix in order to make use of it as"] + #[doc = " an identifier of the chain."] + pub fn ss58_prefix( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u16>, + > { + ::subxt::constants::StaticConstantAddress::new( + "System", + "SS58Prefix", + [ + 116u8, 33u8, 2u8, 170u8, 181u8, 147u8, 171u8, 169u8, 167u8, 227u8, + 41u8, 144u8, 11u8, 236u8, 82u8, 100u8, 74u8, 60u8, 184u8, 72u8, 169u8, + 90u8, 208u8, 135u8, 15u8, 117u8, 10u8, 123u8, 128u8, 193u8, 29u8, 70u8, + ], + ) + } + } + } + } + pub mod randomness_collective_flip { + use super::{root_mod, runtime_types}; + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " Series of block headers from the last 81 blocks that acts as random seed material. This"] + #[doc = " is arranged as a ring buffer with `block_number % 81` being the index into the `Vec` of"] + #[doc = " the oldest hash."] + pub fn random_material( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_runtime::bounded::bounded_vec::BoundedVec< + ::subxt::ext::sp_core::H256, + >, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "RandomnessCollectiveFlip", + "RandomMaterial", + vec![], + [ + 152u8, 126u8, 73u8, 88u8, 54u8, 147u8, 6u8, 19u8, 214u8, 40u8, 159u8, + 30u8, 236u8, 61u8, 240u8, 65u8, 178u8, 94u8, 146u8, 152u8, 135u8, + 252u8, 160u8, 86u8, 123u8, 114u8, 251u8, 140u8, 98u8, 143u8, 217u8, + 242u8, + ], + ) + } + } + } + } + pub mod scheduler { + use super::{root_mod, runtime_types}; + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub mod calls { + use super::{root_mod, runtime_types}; + type DispatchError = runtime_types::sp_runtime::DispatchError; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct Schedule { + pub when: ::core::primitive::u32, + pub maybe_periodic: + ::core::option::Option<(::core::primitive::u32, ::core::primitive::u32)>, + pub priority: ::core::primitive::u8, + pub call: ::std::boxed::Box< + runtime_types::frame_support::traits::schedule::MaybeHashed< + runtime_types::aleph_runtime::Call, + ::subxt::ext::sp_core::H256, + >, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct Cancel { + pub when: ::core::primitive::u32, + pub index: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct ScheduleNamed { + pub id: ::std::vec::Vec<::core::primitive::u8>, + pub when: ::core::primitive::u32, + pub maybe_periodic: + ::core::option::Option<(::core::primitive::u32, ::core::primitive::u32)>, + pub priority: ::core::primitive::u8, + pub call: ::std::boxed::Box< + runtime_types::frame_support::traits::schedule::MaybeHashed< + runtime_types::aleph_runtime::Call, + ::subxt::ext::sp_core::H256, + >, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct CancelNamed { + pub id: ::std::vec::Vec<::core::primitive::u8>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct ScheduleAfter { + pub after: ::core::primitive::u32, + pub maybe_periodic: + ::core::option::Option<(::core::primitive::u32, ::core::primitive::u32)>, + pub priority: ::core::primitive::u8, + pub call: ::std::boxed::Box< + runtime_types::frame_support::traits::schedule::MaybeHashed< + runtime_types::aleph_runtime::Call, + ::subxt::ext::sp_core::H256, + >, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct ScheduleNamedAfter { + pub id: ::std::vec::Vec<::core::primitive::u8>, + pub after: ::core::primitive::u32, + pub maybe_periodic: + ::core::option::Option<(::core::primitive::u32, ::core::primitive::u32)>, + pub priority: ::core::primitive::u8, + pub call: ::std::boxed::Box< + runtime_types::frame_support::traits::schedule::MaybeHashed< + runtime_types::aleph_runtime::Call, + ::subxt::ext::sp_core::H256, + >, + >, + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "Anonymously schedule a task."] + pub fn schedule( + &self, + when: ::core::primitive::u32, + maybe_periodic: ::core::option::Option<( + ::core::primitive::u32, + ::core::primitive::u32, + )>, + priority: ::core::primitive::u8, + call: runtime_types::frame_support::traits::schedule::MaybeHashed< + runtime_types::aleph_runtime::Call, + ::subxt::ext::sp_core::H256, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Scheduler", + "schedule", + Schedule { + when, + maybe_periodic, + priority, + call: ::std::boxed::Box::new(call), + }, + [ + 58u8, 0u8, 22u8, 96u8, 133u8, 148u8, 237u8, 76u8, 85u8, 28u8, 163u8, + 20u8, 179u8, 80u8, 210u8, 161u8, 81u8, 210u8, 32u8, 29u8, 27u8, 214u8, + 35u8, 16u8, 221u8, 62u8, 217u8, 76u8, 71u8, 160u8, 22u8, 118u8, + ], + ) + } + #[doc = "Cancel an anonymously scheduled task."] + pub fn cancel( + &self, + when: ::core::primitive::u32, + index: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Scheduler", + "cancel", + Cancel { when, index }, + [ + 81u8, 251u8, 234u8, 17u8, 214u8, 75u8, 19u8, 59u8, 19u8, 30u8, 89u8, + 74u8, 6u8, 216u8, 238u8, 165u8, 7u8, 19u8, 153u8, 253u8, 161u8, 103u8, + 178u8, 227u8, 152u8, 180u8, 80u8, 156u8, 82u8, 126u8, 132u8, 120u8, + ], + ) + } + #[doc = "Schedule a named task."] + pub fn schedule_named( + &self, + id: ::std::vec::Vec<::core::primitive::u8>, + when: ::core::primitive::u32, + maybe_periodic: ::core::option::Option<( + ::core::primitive::u32, + ::core::primitive::u32, + )>, + priority: ::core::primitive::u8, + call: runtime_types::frame_support::traits::schedule::MaybeHashed< + runtime_types::aleph_runtime::Call, + ::subxt::ext::sp_core::H256, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Scheduler", + "schedule_named", + ScheduleNamed { + id, + when, + maybe_periodic, + priority, + call: ::std::boxed::Box::new(call), + }, + [ + 164u8, 210u8, 167u8, 227u8, 122u8, 215u8, 105u8, 10u8, 48u8, 2u8, + 203u8, 183u8, 121u8, 218u8, 65u8, 101u8, 55u8, 122u8, 224u8, 26u8, + 64u8, 19u8, 162u8, 73u8, 214u8, 172u8, 56u8, 250u8, 159u8, 235u8, + 202u8, 97u8, + ], + ) + } + #[doc = "Cancel a named scheduled task."] + pub fn cancel_named( + &self, + id: ::std::vec::Vec<::core::primitive::u8>, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Scheduler", + "cancel_named", + CancelNamed { id }, + [ + 42u8, 232u8, 92u8, 167u8, 113u8, 136u8, 7u8, 215u8, 88u8, 117u8, 74u8, + 26u8, 225u8, 230u8, 244u8, 106u8, 150u8, 112u8, 46u8, 228u8, 96u8, + 252u8, 78u8, 126u8, 39u8, 207u8, 36u8, 110u8, 83u8, 62u8, 84u8, 241u8, + ], + ) + } + #[doc = "Anonymously schedule a task after a delay."] + #[doc = ""] + #[doc = "# "] + #[doc = "Same as [`schedule`]."] + #[doc = "# "] + pub fn schedule_after( + &self, + after: ::core::primitive::u32, + maybe_periodic: ::core::option::Option<( + ::core::primitive::u32, + ::core::primitive::u32, + )>, + priority: ::core::primitive::u8, + call: runtime_types::frame_support::traits::schedule::MaybeHashed< + runtime_types::aleph_runtime::Call, + ::subxt::ext::sp_core::H256, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Scheduler", + "schedule_after", + ScheduleAfter { + after, + maybe_periodic, + priority, + call: ::std::boxed::Box::new(call), + }, + [ + 103u8, 53u8, 250u8, 8u8, 211u8, 184u8, 96u8, 235u8, 92u8, 25u8, 43u8, + 88u8, 42u8, 94u8, 235u8, 185u8, 48u8, 177u8, 186u8, 114u8, 222u8, + 162u8, 123u8, 230u8, 112u8, 101u8, 202u8, 89u8, 246u8, 102u8, 24u8, + 65u8, + ], + ) + } + #[doc = "Schedule a named task after a delay."] + #[doc = ""] + #[doc = "# "] + #[doc = "Same as [`schedule_named`](Self::schedule_named)."] + #[doc = "# "] + pub fn schedule_named_after( + &self, + id: ::std::vec::Vec<::core::primitive::u8>, + after: ::core::primitive::u32, + maybe_periodic: ::core::option::Option<( + ::core::primitive::u32, + ::core::primitive::u32, + )>, + priority: ::core::primitive::u8, + call: runtime_types::frame_support::traits::schedule::MaybeHashed< + runtime_types::aleph_runtime::Call, + ::subxt::ext::sp_core::H256, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Scheduler", + "schedule_named_after", + ScheduleNamedAfter { + id, + after, + maybe_periodic, + priority, + call: ::std::boxed::Box::new(call), + }, + [ + 77u8, 231u8, 213u8, 170u8, 21u8, 59u8, 133u8, 4u8, 160u8, 3u8, 114u8, + 212u8, 42u8, 125u8, 16u8, 114u8, 90u8, 179u8, 250u8, 85u8, 2u8, 102u8, + 205u8, 86u8, 177u8, 120u8, 242u8, 40u8, 2u8, 238u8, 20u8, 50u8, + ], + ) + } + } + } + #[doc = "Events type."] + pub type Event = runtime_types::pallet_scheduler::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "Scheduled some task."] + pub struct Scheduled { + pub when: ::core::primitive::u32, + pub index: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for Scheduled { + const PALLET: &'static str = "Scheduler"; + const EVENT: &'static str = "Scheduled"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "Canceled some task."] + pub struct Canceled { + pub when: ::core::primitive::u32, + pub index: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for Canceled { + const PALLET: &'static str = "Scheduler"; + const EVENT: &'static str = "Canceled"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "Dispatched some task."] + pub struct Dispatched { + pub task: (::core::primitive::u32, ::core::primitive::u32), + pub id: ::core::option::Option<::std::vec::Vec<::core::primitive::u8>>, + pub result: ::core::result::Result<(), runtime_types::sp_runtime::DispatchError>, + } + impl ::subxt::events::StaticEvent for Dispatched { + const PALLET: &'static str = "Scheduler"; + const EVENT: &'static str = "Dispatched"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "The call for the provided hash was not found so the task has been aborted."] + pub struct CallLookupFailed { + pub task: (::core::primitive::u32, ::core::primitive::u32), + pub id: ::core::option::Option<::std::vec::Vec<::core::primitive::u8>>, + pub error: runtime_types::frame_support::traits::schedule::LookupError, + } + impl ::subxt::events::StaticEvent for CallLookupFailed { + const PALLET: &'static str = "Scheduler"; + const EVENT: &'static str = "CallLookupFailed"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " Items to be executed, indexed by the block number that they should be executed on."] + pub fn agenda( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + ::std::vec::Vec< + ::core::option::Option< + runtime_types::pallet_scheduler::ScheduledV3< + runtime_types::frame_support::traits::schedule::MaybeHashed< + runtime_types::aleph_runtime::Call, + ::subxt::ext::sp_core::H256, + >, + ::core::primitive::u32, + runtime_types::aleph_runtime::OriginCaller, + ::subxt::ext::sp_core::crypto::AccountId32, + >, + >, + >, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Scheduler", + "Agenda", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + )], + [ + 59u8, 231u8, 128u8, 61u8, 34u8, 203u8, 172u8, 251u8, 35u8, 14u8, 62u8, + 28u8, 120u8, 20u8, 207u8, 108u8, 39u8, 0u8, 101u8, 62u8, 23u8, 3u8, + 176u8, 161u8, 86u8, 53u8, 107u8, 222u8, 148u8, 54u8, 193u8, 247u8, + ], + ) + } + #[doc = " Items to be executed, indexed by the block number that they should be executed on."] + pub fn agenda_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + ::std::vec::Vec< + ::core::option::Option< + runtime_types::pallet_scheduler::ScheduledV3< + runtime_types::frame_support::traits::schedule::MaybeHashed< + runtime_types::aleph_runtime::Call, + ::subxt::ext::sp_core::H256, + >, + ::core::primitive::u32, + runtime_types::aleph_runtime::OriginCaller, + ::subxt::ext::sp_core::crypto::AccountId32, + >, + >, + >, + >, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Scheduler", + "Agenda", + Vec::new(), + [ + 59u8, 231u8, 128u8, 61u8, 34u8, 203u8, 172u8, 251u8, 35u8, 14u8, 62u8, + 28u8, 120u8, 20u8, 207u8, 108u8, 39u8, 0u8, 101u8, 62u8, 23u8, 3u8, + 176u8, 161u8, 86u8, 53u8, 107u8, 222u8, 148u8, 54u8, 193u8, 247u8, + ], + ) + } + #[doc = " Lookup from identity to the block number and index of the task."] + pub fn lookup( + &self, + _0: impl ::std::borrow::Borrow<[::core::primitive::u8]>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<( + ::core::primitive::u32, + ::core::primitive::u32, + )>, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Scheduler", + "Lookup", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + )], + [ + 56u8, 105u8, 156u8, 110u8, 251u8, 141u8, 219u8, 56u8, 131u8, 57u8, + 180u8, 33u8, 48u8, 30u8, 193u8, 194u8, 169u8, 182u8, 168u8, 43u8, 36u8, + 202u8, 222u8, 182u8, 41u8, 216u8, 222u8, 1u8, 72u8, 165u8, 62u8, 166u8, + ], + ) + } + #[doc = " Lookup from identity to the block number and index of the task."] + pub fn lookup_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<( + ::core::primitive::u32, + ::core::primitive::u32, + )>, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Scheduler", + "Lookup", + Vec::new(), + [ + 56u8, 105u8, 156u8, 110u8, 251u8, 141u8, 219u8, 56u8, 131u8, 57u8, + 180u8, 33u8, 48u8, 30u8, 193u8, 194u8, 169u8, 182u8, 168u8, 43u8, 36u8, + 202u8, 222u8, 182u8, 41u8, 216u8, 222u8, 1u8, 72u8, 165u8, 62u8, 166u8, + ], + ) + } + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " The maximum weight that may be scheduled per block for any dispatchables of less"] + #[doc = " priority than `schedule::HARD_DEADLINE`."] + pub fn maximum_weight( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u64>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Scheduler", + "MaximumWeight", + [ + 128u8, 214u8, 205u8, 242u8, 181u8, 142u8, 124u8, 231u8, 190u8, 146u8, + 59u8, 226u8, 157u8, 101u8, 103u8, 117u8, 249u8, 65u8, 18u8, 191u8, + 103u8, 119u8, 53u8, 85u8, 81u8, 96u8, 220u8, 42u8, 184u8, 239u8, 42u8, + 246u8, + ], + ) + } + #[doc = " The maximum number of scheduled calls in the queue for a single block."] + #[doc = " Not strictly enforced, but used for weight estimation."] + pub fn max_scheduled_per_block( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Scheduler", + "MaxScheduledPerBlock", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + } + } + } + pub mod aura { + use super::{root_mod, runtime_types}; + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " The current authority set."] + pub fn authorities( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_runtime::bounded::bounded_vec::BoundedVec< + runtime_types::sp_consensus_aura::sr25519::app_sr25519::Public, + >, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Aura", + "Authorities", + vec![], + [ + 199u8, 89u8, 94u8, 48u8, 249u8, 35u8, 105u8, 90u8, 15u8, 86u8, 218u8, + 85u8, 22u8, 236u8, 228u8, 36u8, 137u8, 64u8, 236u8, 171u8, 242u8, + 217u8, 91u8, 240u8, 205u8, 205u8, 226u8, 16u8, 147u8, 235u8, 181u8, + 41u8, + ], + ) + } + #[doc = " The current slot of this block."] + #[doc = ""] + #[doc = " This will be set in `on_initialize`."] + pub fn current_slot( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Aura", + "CurrentSlot", + vec![], + [ + 139u8, 237u8, 185u8, 137u8, 251u8, 179u8, 69u8, 167u8, 133u8, 168u8, + 204u8, 64u8, 178u8, 123u8, 92u8, 250u8, 119u8, 190u8, 208u8, 178u8, + 208u8, 176u8, 124u8, 187u8, 74u8, 165u8, 33u8, 78u8, 161u8, 206u8, 8u8, + 108u8, + ], + ) + } + } + } + } + pub mod timestamp { + use super::{root_mod, runtime_types}; + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub mod calls { + use super::{root_mod, runtime_types}; + type DispatchError = runtime_types::sp_runtime::DispatchError; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct Set { + #[codec(compact)] + pub now: ::core::primitive::u64, + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "Set the current time."] + #[doc = ""] + #[doc = "This call should be invoked exactly once per block. It will panic at the finalization"] + #[doc = "phase, if this call hasn't been invoked by that time."] + #[doc = ""] + #[doc = "The timestamp should be greater than the previous one by the amount specified by"] + #[doc = "`MinimumPeriod`."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be `Inherent`."] + #[doc = ""] + #[doc = "# "] + #[doc = "- `O(1)` (Note that implementations of `OnTimestampSet` must also be `O(1)`)"] + #[doc = "- 1 storage read and 1 storage mutation (codec `O(1)`). (because of `DidUpdate::take` in"] + #[doc = " `on_finalize`)"] + #[doc = "- 1 event handler `on_timestamp_set`. Must be `O(1)`."] + #[doc = "# "] + pub fn set( + &self, + now: ::core::primitive::u64, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Timestamp", + "set", + Set { now }, + [ + 6u8, 97u8, 172u8, 236u8, 118u8, 238u8, 228u8, 114u8, 15u8, 115u8, + 102u8, 85u8, 66u8, 151u8, 16u8, 33u8, 187u8, 17u8, 166u8, 88u8, 127u8, + 214u8, 182u8, 51u8, 168u8, 88u8, 43u8, 101u8, 185u8, 8u8, 1u8, 28u8, + ], + ) + } + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " Current time for the current block."] + pub fn now( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u64>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Timestamp", + "Now", + vec![], + [ + 148u8, 53u8, 50u8, 54u8, 13u8, 161u8, 57u8, 150u8, 16u8, 83u8, 144u8, + 221u8, 59u8, 75u8, 158u8, 130u8, 39u8, 123u8, 106u8, 134u8, 202u8, + 185u8, 83u8, 85u8, 60u8, 41u8, 120u8, 96u8, 210u8, 34u8, 2u8, 250u8, + ], + ) + } + #[doc = " Did the timestamp get updated in this block?"] + pub fn did_update( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::bool>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Timestamp", + "DidUpdate", + vec![], + [ + 70u8, 13u8, 92u8, 186u8, 80u8, 151u8, 167u8, 90u8, 158u8, 232u8, 175u8, + 13u8, 103u8, 135u8, 2u8, 78u8, 16u8, 6u8, 39u8, 158u8, 167u8, 85u8, + 27u8, 47u8, 122u8, 73u8, 127u8, 26u8, 35u8, 168u8, 72u8, 204u8, + ], + ) + } + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " The minimum period between blocks. Beware that this is different to the *expected*"] + #[doc = " period that the block production apparatus provides. Your chosen consensus system will"] + #[doc = " generally work with this to determine a sensible block time. e.g. For Aura, it will be"] + #[doc = " double this period on default settings."] + pub fn minimum_period( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u64>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Timestamp", + "MinimumPeriod", + [ + 128u8, 214u8, 205u8, 242u8, 181u8, 142u8, 124u8, 231u8, 190u8, 146u8, + 59u8, 226u8, 157u8, 101u8, 103u8, 117u8, 249u8, 65u8, 18u8, 191u8, + 103u8, 119u8, 53u8, 85u8, 81u8, 96u8, 220u8, 42u8, 184u8, 239u8, 42u8, + 246u8, + ], + ) + } + } + } + } + pub mod balances { + use super::{root_mod, runtime_types}; + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub mod calls { + use super::{root_mod, runtime_types}; + type DispatchError = runtime_types::sp_runtime::DispatchError; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct Transfer { + pub dest: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, + #[codec(compact)] + pub value: ::core::primitive::u128, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct SetBalance { + pub who: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, + #[codec(compact)] + pub new_free: ::core::primitive::u128, + #[codec(compact)] + pub new_reserved: ::core::primitive::u128, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct ForceTransfer { + pub source: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, + pub dest: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, + #[codec(compact)] + pub value: ::core::primitive::u128, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct TransferKeepAlive { + pub dest: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, + #[codec(compact)] + pub value: ::core::primitive::u128, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct TransferAll { + pub dest: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, + pub keep_alive: ::core::primitive::bool, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct ForceUnreserve { + pub who: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, + pub amount: ::core::primitive::u128, + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "Transfer some liquid free balance to another account."] + #[doc = ""] + #[doc = "`transfer` will set the `FreeBalance` of the sender and receiver."] + #[doc = "If the sender's account is below the existential deposit as a result"] + #[doc = "of the transfer, the account will be reaped."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be `Signed` by the transactor."] + #[doc = ""] + #[doc = "# "] + #[doc = "- Dependent on arguments but not critical, given proper implementations for input config"] + #[doc = " types. See related functions below."] + #[doc = "- It contains a limited number of reads and writes internally and no complex"] + #[doc = " computation."] + #[doc = ""] + #[doc = "Related functions:"] + #[doc = ""] + #[doc = " - `ensure_can_withdraw` is always called internally but has a bounded complexity."] + #[doc = " - Transferring balances to accounts that did not exist before will cause"] + #[doc = " `T::OnNewAccount::on_new_account` to be called."] + #[doc = " - Removing enough funds from an account will trigger `T::DustRemoval::on_unbalanced`."] + #[doc = " - `transfer_keep_alive` works the same way as `transfer`, but has an additional check"] + #[doc = " that the transfer will not kill the origin account."] + #[doc = "---------------------------------"] + #[doc = "- Origin account is already in memory, so no DB operations for them."] + #[doc = "# "] + pub fn transfer( + &self, + dest: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, + value: ::core::primitive::u128, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Balances", + "transfer", + Transfer { dest, value }, + [ + 111u8, 222u8, 32u8, 56u8, 171u8, 77u8, 252u8, 29u8, 194u8, 155u8, + 200u8, 192u8, 198u8, 81u8, 23u8, 115u8, 236u8, 91u8, 218u8, 114u8, + 107u8, 141u8, 138u8, 100u8, 237u8, 21u8, 58u8, 172u8, 3u8, 20u8, 216u8, + 38u8, + ], + ) + } + #[doc = "Set the balances of a given account."] + #[doc = ""] + #[doc = "This will alter `FreeBalance` and `ReservedBalance` in storage. it will"] + #[doc = "also alter the total issuance of the system (`TotalIssuance`) appropriately."] + #[doc = "If the new free or reserved balance is below the existential deposit,"] + #[doc = "it will reset the account nonce (`frame_system::AccountNonce`)."] + #[doc = ""] + #[doc = "The dispatch origin for this call is `root`."] + pub fn set_balance( + &self, + who: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, + new_free: ::core::primitive::u128, + new_reserved: ::core::primitive::u128, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Balances", + "set_balance", + SetBalance { + who, + new_free, + new_reserved, + }, + [ + 234u8, 215u8, 97u8, 98u8, 243u8, 199u8, 57u8, 76u8, 59u8, 161u8, 118u8, + 207u8, 34u8, 197u8, 198u8, 61u8, 231u8, 210u8, 169u8, 235u8, 150u8, + 137u8, 173u8, 49u8, 28u8, 77u8, 84u8, 149u8, 143u8, 210u8, 139u8, + 193u8, + ], + ) + } + #[doc = "Exactly as `transfer`, except the origin must be root and the source account may be"] + #[doc = "specified."] + #[doc = "# "] + #[doc = "- Same as transfer, but additional read and write because the source account is not"] + #[doc = " assumed to be in the overlay."] + #[doc = "# "] + pub fn force_transfer( + &self, + source: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, + dest: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, + value: ::core::primitive::u128, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Balances", + "force_transfer", + ForceTransfer { + source, + dest, + value, + }, + [ + 79u8, 174u8, 212u8, 108u8, 184u8, 33u8, 170u8, 29u8, 232u8, 254u8, + 195u8, 218u8, 221u8, 134u8, 57u8, 99u8, 6u8, 70u8, 181u8, 227u8, 56u8, + 239u8, 243u8, 158u8, 157u8, 245u8, 36u8, 162u8, 11u8, 237u8, 147u8, + 15u8, + ], + ) + } + #[doc = "Same as the [`transfer`] call, but with a check that the transfer will not kill the"] + #[doc = "origin account."] + #[doc = ""] + #[doc = "99% of the time you want [`transfer`] instead."] + #[doc = ""] + #[doc = "[`transfer`]: struct.Pallet.html#method.transfer"] + pub fn transfer_keep_alive( + &self, + dest: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, + value: ::core::primitive::u128, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Balances", + "transfer_keep_alive", + TransferKeepAlive { dest, value }, + [ + 112u8, 179u8, 75u8, 168u8, 193u8, 221u8, 9u8, 82u8, 190u8, 113u8, + 253u8, 13u8, 130u8, 134u8, 170u8, 216u8, 136u8, 111u8, 242u8, 220u8, + 202u8, 112u8, 47u8, 79u8, 73u8, 244u8, 226u8, 59u8, 240u8, 188u8, + 210u8, 208u8, + ], + ) + } + #[doc = "Transfer the entire transferable balance from the caller account."] + #[doc = ""] + #[doc = "NOTE: This function only attempts to transfer _transferable_ balances. This means that"] + #[doc = "any locked, reserved, or existential deposits (when `keep_alive` is `true`), will not be"] + #[doc = "transferred by this function. To ensure that this function results in a killed account,"] + #[doc = "you might need to prepare the account by removing any reference counters, storage"] + #[doc = "deposits, etc..."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be Signed."] + #[doc = ""] + #[doc = "- `dest`: The recipient of the transfer."] + #[doc = "- `keep_alive`: A boolean to determine if the `transfer_all` operation should send all"] + #[doc = " of the funds the account has, causing the sender account to be killed (false), or"] + #[doc = " transfer everything except at least the existential deposit, which will guarantee to"] + #[doc = " keep the sender account alive (true). # "] + #[doc = "- O(1). Just like transfer, but reading the user's transferable balance first."] + #[doc = " #"] + pub fn transfer_all( + &self, + dest: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, + keep_alive: ::core::primitive::bool, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Balances", + "transfer_all", + TransferAll { dest, keep_alive }, + [ + 46u8, 129u8, 29u8, 177u8, 221u8, 107u8, 245u8, 69u8, 238u8, 126u8, + 145u8, 26u8, 219u8, 208u8, 14u8, 80u8, 149u8, 1u8, 214u8, 63u8, 67u8, + 201u8, 144u8, 45u8, 129u8, 145u8, 174u8, 71u8, 238u8, 113u8, 208u8, + 34u8, + ], + ) + } + #[doc = "Unreserve some balance from a user by force."] + #[doc = ""] + #[doc = "Can only be called by ROOT."] + pub fn force_unreserve( + &self, + who: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, + amount: ::core::primitive::u128, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Balances", + "force_unreserve", + ForceUnreserve { who, amount }, + [ + 160u8, 146u8, 137u8, 76u8, 157u8, 187u8, 66u8, 148u8, 207u8, 76u8, + 32u8, 254u8, 82u8, 215u8, 35u8, 161u8, 213u8, 52u8, 32u8, 98u8, 102u8, + 106u8, 234u8, 123u8, 6u8, 175u8, 184u8, 188u8, 174u8, 106u8, 176u8, + 78u8, + ], + ) + } + } + } + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub type Event = runtime_types::pallet_balances::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "An account was created with some free balance."] + pub struct Endowed { + pub account: ::subxt::ext::sp_core::crypto::AccountId32, + pub free_balance: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Endowed { + const PALLET: &'static str = "Balances"; + const EVENT: &'static str = "Endowed"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "An account was removed whose balance was non-zero but below ExistentialDeposit,"] + #[doc = "resulting in an outright loss."] + pub struct DustLost { + pub account: ::subxt::ext::sp_core::crypto::AccountId32, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for DustLost { + const PALLET: &'static str = "Balances"; + const EVENT: &'static str = "DustLost"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "Transfer succeeded."] + pub struct Transfer { + pub from: ::subxt::ext::sp_core::crypto::AccountId32, + pub to: ::subxt::ext::sp_core::crypto::AccountId32, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Transfer { + const PALLET: &'static str = "Balances"; + const EVENT: &'static str = "Transfer"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "A balance was set by root."] + pub struct BalanceSet { + pub who: ::subxt::ext::sp_core::crypto::AccountId32, + pub free: ::core::primitive::u128, + pub reserved: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for BalanceSet { + const PALLET: &'static str = "Balances"; + const EVENT: &'static str = "BalanceSet"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "Some balance was reserved (moved from free to reserved)."] + pub struct Reserved { + pub who: ::subxt::ext::sp_core::crypto::AccountId32, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Reserved { + const PALLET: &'static str = "Balances"; + const EVENT: &'static str = "Reserved"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "Some balance was unreserved (moved from reserved to free)."] + pub struct Unreserved { + pub who: ::subxt::ext::sp_core::crypto::AccountId32, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Unreserved { + const PALLET: &'static str = "Balances"; + const EVENT: &'static str = "Unreserved"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "Some balance was moved from the reserve of the first account to the second account."] + #[doc = "Final argument indicates the destination balance type."] + pub struct ReserveRepatriated { + pub from: ::subxt::ext::sp_core::crypto::AccountId32, + pub to: ::subxt::ext::sp_core::crypto::AccountId32, + pub amount: ::core::primitive::u128, + pub destination_status: + runtime_types::frame_support::traits::tokens::misc::BalanceStatus, + } + impl ::subxt::events::StaticEvent for ReserveRepatriated { + const PALLET: &'static str = "Balances"; + const EVENT: &'static str = "ReserveRepatriated"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "Some amount was deposited (e.g. for transaction fees)."] + pub struct Deposit { + pub who: ::subxt::ext::sp_core::crypto::AccountId32, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Deposit { + const PALLET: &'static str = "Balances"; + const EVENT: &'static str = "Deposit"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "Some amount was withdrawn from the account (e.g. for transaction fees)."] + pub struct Withdraw { + pub who: ::subxt::ext::sp_core::crypto::AccountId32, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Withdraw { + const PALLET: &'static str = "Balances"; + const EVENT: &'static str = "Withdraw"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "Some amount was removed from the account (e.g. for misbehavior)."] + pub struct Slashed { + pub who: ::subxt::ext::sp_core::crypto::AccountId32, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Slashed { + const PALLET: &'static str = "Balances"; + const EVENT: &'static str = "Slashed"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " The total units issued in the system."] + pub fn total_issuance( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Balances", + "TotalIssuance", + vec![], + [ + 1u8, 206u8, 252u8, 237u8, 6u8, 30u8, 20u8, 232u8, 164u8, 115u8, 51u8, + 156u8, 156u8, 206u8, 241u8, 187u8, 44u8, 84u8, 25u8, 164u8, 235u8, + 20u8, 86u8, 242u8, 124u8, 23u8, 28u8, 140u8, 26u8, 73u8, 231u8, 51u8, + ], + ) + } + #[doc = " The Balances pallet example of storing the balance of an account."] + #[doc = ""] + #[doc = " # Example"] + #[doc = ""] + #[doc = " ```nocompile"] + #[doc = " impl pallet_balances::Config for Runtime {"] + #[doc = " type AccountStore = StorageMapShim, frame_system::Provider, AccountId, Self::AccountData>"] + #[doc = " }"] + #[doc = " ```"] + #[doc = ""] + #[doc = " You can also store the balance of an account in the `System` pallet."] + #[doc = ""] + #[doc = " # Example"] + #[doc = ""] + #[doc = " ```nocompile"] + #[doc = " impl pallet_balances::Config for Runtime {"] + #[doc = " type AccountStore = System"] + #[doc = " }"] + #[doc = " ```"] + #[doc = ""] + #[doc = " But this comes with tradeoffs, storing account balances in the system pallet stores"] + #[doc = " `frame_system` data alongside the account data contrary to storing account balances in the"] + #[doc = " `Balances` pallet, which uses a `StorageMap` to store balances data only."] + #[doc = " NOTE: This is only used in the case that this pallet is used to store balances."] + pub fn account( + &self, + _0: impl ::std::borrow::Borrow<::subxt::ext::sp_core::crypto::AccountId32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_balances::AccountData<::core::primitive::u128>, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Balances", + "Account", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Blake2_128Concat, + )], + [ + 246u8, 154u8, 253u8, 71u8, 192u8, 192u8, 192u8, 236u8, 128u8, 80u8, + 40u8, 252u8, 201u8, 43u8, 3u8, 131u8, 19u8, 49u8, 141u8, 240u8, 172u8, + 217u8, 215u8, 109u8, 87u8, 135u8, 248u8, 57u8, 98u8, 185u8, 22u8, 4u8, + ], + ) + } + #[doc = " The Balances pallet example of storing the balance of an account."] + #[doc = ""] + #[doc = " # Example"] + #[doc = ""] + #[doc = " ```nocompile"] + #[doc = " impl pallet_balances::Config for Runtime {"] + #[doc = " type AccountStore = StorageMapShim, frame_system::Provider, AccountId, Self::AccountData>"] + #[doc = " }"] + #[doc = " ```"] + #[doc = ""] + #[doc = " You can also store the balance of an account in the `System` pallet."] + #[doc = ""] + #[doc = " # Example"] + #[doc = ""] + #[doc = " ```nocompile"] + #[doc = " impl pallet_balances::Config for Runtime {"] + #[doc = " type AccountStore = System"] + #[doc = " }"] + #[doc = " ```"] + #[doc = ""] + #[doc = " But this comes with tradeoffs, storing account balances in the system pallet stores"] + #[doc = " `frame_system` data alongside the account data contrary to storing account balances in the"] + #[doc = " `Balances` pallet, which uses a `StorageMap` to store balances data only."] + #[doc = " NOTE: This is only used in the case that this pallet is used to store balances."] + pub fn account_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_balances::AccountData<::core::primitive::u128>, + >, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Balances", + "Account", + Vec::new(), + [ + 246u8, 154u8, 253u8, 71u8, 192u8, 192u8, 192u8, 236u8, 128u8, 80u8, + 40u8, 252u8, 201u8, 43u8, 3u8, 131u8, 19u8, 49u8, 141u8, 240u8, 172u8, + 217u8, 215u8, 109u8, 87u8, 135u8, 248u8, 57u8, 98u8, 185u8, 22u8, 4u8, + ], + ) + } + #[doc = " Any liquidity locks on some account balances."] + #[doc = " NOTE: Should only be accessed when setting, changing and freeing a lock."] + pub fn locks( + &self, + _0: impl ::std::borrow::Borrow<::subxt::ext::sp_core::crypto::AccountId32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_runtime::bounded::weak_bounded_vec::WeakBoundedVec< + runtime_types::pallet_balances::BalanceLock<::core::primitive::u128>, + >, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Balances", + "Locks", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Blake2_128Concat, + )], + [ + 216u8, 253u8, 87u8, 73u8, 24u8, 218u8, 35u8, 0u8, 244u8, 134u8, 195u8, + 58u8, 255u8, 64u8, 153u8, 212u8, 210u8, 232u8, 4u8, 122u8, 90u8, 212u8, + 136u8, 14u8, 127u8, 232u8, 8u8, 192u8, 40u8, 233u8, 18u8, 250u8, + ], + ) + } + #[doc = " Any liquidity locks on some account balances."] + #[doc = " NOTE: Should only be accessed when setting, changing and freeing a lock."] + pub fn locks_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_runtime::bounded::weak_bounded_vec::WeakBoundedVec< + runtime_types::pallet_balances::BalanceLock<::core::primitive::u128>, + >, + >, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Balances", + "Locks", + Vec::new(), + [ + 216u8, 253u8, 87u8, 73u8, 24u8, 218u8, 35u8, 0u8, 244u8, 134u8, 195u8, + 58u8, 255u8, 64u8, 153u8, 212u8, 210u8, 232u8, 4u8, 122u8, 90u8, 212u8, + 136u8, 14u8, 127u8, 232u8, 8u8, 192u8, 40u8, 233u8, 18u8, 250u8, + ], + ) + } + #[doc = " Named reserves on some account balances."] + pub fn reserves( + &self, + _0: impl ::std::borrow::Borrow<::subxt::ext::sp_core::crypto::AccountId32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_runtime::bounded::bounded_vec::BoundedVec< + runtime_types::pallet_balances::ReserveData< + [::core::primitive::u8; 8usize], + ::core::primitive::u128, + >, + >, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Balances", + "Reserves", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Blake2_128Concat, + )], + [ + 17u8, 32u8, 191u8, 46u8, 76u8, 220u8, 101u8, 100u8, 42u8, 250u8, 128u8, + 167u8, 117u8, 44u8, 85u8, 96u8, 105u8, 216u8, 16u8, 147u8, 74u8, 55u8, + 183u8, 94u8, 160u8, 177u8, 26u8, 187u8, 71u8, 197u8, 187u8, 163u8, + ], + ) + } + #[doc = " Named reserves on some account balances."] + pub fn reserves_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_runtime::bounded::bounded_vec::BoundedVec< + runtime_types::pallet_balances::ReserveData< + [::core::primitive::u8; 8usize], + ::core::primitive::u128, + >, + >, + >, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Balances", + "Reserves", + Vec::new(), + [ + 17u8, 32u8, 191u8, 46u8, 76u8, 220u8, 101u8, 100u8, 42u8, 250u8, 128u8, + 167u8, 117u8, 44u8, 85u8, 96u8, 105u8, 216u8, 16u8, 147u8, 74u8, 55u8, + 183u8, 94u8, 160u8, 177u8, 26u8, 187u8, 71u8, 197u8, 187u8, 163u8, + ], + ) + } + #[doc = " Storage version of the pallet."] + #[doc = ""] + #[doc = " This is set to v2.0.0 for new networks."] + pub fn storage_version( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Balances", + "StorageVersion", + vec![], + [ + 135u8, 96u8, 28u8, 234u8, 124u8, 212u8, 56u8, 140u8, 40u8, 101u8, + 235u8, 128u8, 136u8, 221u8, 182u8, 81u8, 17u8, 9u8, 184u8, 228u8, + 174u8, 165u8, 200u8, 162u8, 214u8, 178u8, 227u8, 72u8, 34u8, 5u8, + 173u8, 96u8, + ], + ) + } + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " The minimum amount required to keep an account open."] + pub fn existential_deposit( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Balances", + "ExistentialDeposit", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, + 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, + 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) + } + #[doc = " The maximum number of locks that should exist on an account."] + #[doc = " Not strictly enforced, but used for weight estimation."] + pub fn max_locks( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Balances", + "MaxLocks", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " The maximum number of named reserves that can exist on an account."] + pub fn max_reserves( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Balances", + "MaxReserves", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + } + } + } + pub mod transaction_payment { + use super::{root_mod, runtime_types}; + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub type Event = runtime_types::pallet_transaction_payment::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "A transaction fee `actual_fee`, of which `tip` was added to the minimum inclusion fee,"] + #[doc = "has been paid by `who`."] + pub struct TransactionFeePaid { + pub who: ::subxt::ext::sp_core::crypto::AccountId32, + pub actual_fee: ::core::primitive::u128, + pub tip: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for TransactionFeePaid { + const PALLET: &'static str = "TransactionPayment"; + const EVENT: &'static str = "TransactionFeePaid"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + pub fn next_fee_multiplier( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_arithmetic::fixed_point::FixedU128, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "TransactionPayment", + "NextFeeMultiplier", + vec![], + [ + 210u8, 0u8, 206u8, 165u8, 183u8, 10u8, 206u8, 52u8, 14u8, 90u8, 218u8, + 197u8, 189u8, 125u8, 113u8, 216u8, 52u8, 161u8, 45u8, 24u8, 245u8, + 237u8, 121u8, 41u8, 106u8, 29u8, 45u8, 129u8, 250u8, 203u8, 206u8, + 180u8, + ], + ) + } + pub fn storage_version( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_transaction_payment::Releases, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "TransactionPayment", + "StorageVersion", + vec![], + [ + 219u8, 243u8, 82u8, 176u8, 65u8, 5u8, 132u8, 114u8, 8u8, 82u8, 176u8, + 200u8, 97u8, 150u8, 177u8, 164u8, 166u8, 11u8, 34u8, 12u8, 12u8, 198u8, + 58u8, 191u8, 186u8, 221u8, 221u8, 119u8, 181u8, 253u8, 154u8, 228u8, + ], + ) + } + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " A fee mulitplier for `Operational` extrinsics to compute \"virtual tip\" to boost their"] + #[doc = " `priority`"] + #[doc = ""] + #[doc = " This value is multipled by the `final_fee` to obtain a \"virtual tip\" that is later"] + #[doc = " added to a tip component in regular `priority` calculations."] + #[doc = " It means that a `Normal` transaction can front-run a similarly-sized `Operational`"] + #[doc = " extrinsic (with no tip), by including a tip value greater than the virtual tip."] + #[doc = ""] + #[doc = " ```rust,ignore"] + #[doc = " // For `Normal`"] + #[doc = " let priority = priority_calc(tip);"] + #[doc = ""] + #[doc = " // For `Operational`"] + #[doc = " let virtual_tip = (inclusion_fee + tip) * OperationalFeeMultiplier;"] + #[doc = " let priority = priority_calc(tip + virtual_tip);"] + #[doc = " ```"] + #[doc = ""] + #[doc = " Note that since we use `final_fee` the multiplier applies also to the regular `tip`"] + #[doc = " sent with the transaction. So, not only does the transaction get a priority bump based"] + #[doc = " on the `inclusion_fee`, but we also amplify the impact of tips applied to `Operational`"] + #[doc = " transactions."] + pub fn operational_fee_multiplier( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u8>, + > { + ::subxt::constants::StaticConstantAddress::new( + "TransactionPayment", + "OperationalFeeMultiplier", + [ + 141u8, 130u8, 11u8, 35u8, 226u8, 114u8, 92u8, 179u8, 168u8, 110u8, + 28u8, 91u8, 221u8, 64u8, 4u8, 148u8, 201u8, 193u8, 185u8, 66u8, 226u8, + 114u8, 97u8, 79u8, 62u8, 212u8, 202u8, 114u8, 237u8, 228u8, 183u8, + 165u8, + ], + ) + } + } + } + } + pub mod authorship { + use super::{root_mod, runtime_types}; + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub mod calls { + use super::{root_mod, runtime_types}; + type DispatchError = runtime_types::sp_runtime::DispatchError; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct SetUncles { + pub new_uncles: ::std::vec::Vec< + runtime_types::sp_runtime::generic::header::Header< + ::core::primitive::u32, + runtime_types::sp_runtime::traits::BlakeTwo256, + >, + >, + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "Provide a set of uncles."] + pub fn set_uncles( + &self, + new_uncles: ::std::vec::Vec< + runtime_types::sp_runtime::generic::header::Header< + ::core::primitive::u32, + runtime_types::sp_runtime::traits::BlakeTwo256, + >, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Authorship", + "set_uncles", + SetUncles { new_uncles }, + [ + 181u8, 70u8, 222u8, 83u8, 154u8, 215u8, 200u8, 64u8, 154u8, 228u8, + 115u8, 247u8, 117u8, 89u8, 229u8, 102u8, 128u8, 189u8, 90u8, 60u8, + 223u8, 19u8, 111u8, 172u8, 5u8, 223u8, 132u8, 37u8, 235u8, 119u8, 42u8, + 64u8, + ], + ) + } + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " Uncles"] + pub fn uncles( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_runtime::bounded::bounded_vec::BoundedVec< + runtime_types::pallet_authorship::UncleEntryItem< + ::core::primitive::u32, + ::subxt::ext::sp_core::H256, + ::subxt::ext::sp_core::crypto::AccountId32, + >, + >, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Authorship", + "Uncles", + vec![], + [ + 193u8, 226u8, 196u8, 151u8, 233u8, 82u8, 60u8, 164u8, 27u8, 156u8, + 231u8, 51u8, 79u8, 134u8, 170u8, 166u8, 71u8, 120u8, 250u8, 255u8, + 52u8, 168u8, 74u8, 199u8, 122u8, 253u8, 248u8, 178u8, 39u8, 233u8, + 132u8, 67u8, + ], + ) + } + #[doc = " Author of current block."] + pub fn author( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::subxt::ext::sp_core::crypto::AccountId32>, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Authorship", + "Author", + vec![], + [ + 149u8, 42u8, 33u8, 147u8, 190u8, 207u8, 174u8, 227u8, 190u8, 110u8, + 25u8, 131u8, 5u8, 167u8, 237u8, 188u8, 188u8, 33u8, 177u8, 126u8, + 181u8, 49u8, 126u8, 118u8, 46u8, 128u8, 154u8, 95u8, 15u8, 91u8, 103u8, + 113u8, + ], + ) + } + #[doc = " Whether uncles were already set in this block."] + pub fn did_set_uncles( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::bool>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Authorship", + "DidSetUncles", + vec![], + [ + 64u8, 3u8, 208u8, 187u8, 50u8, 45u8, 37u8, 88u8, 163u8, 226u8, 37u8, + 126u8, 232u8, 107u8, 156u8, 187u8, 29u8, 15u8, 53u8, 46u8, 28u8, 73u8, + 83u8, 123u8, 14u8, 244u8, 243u8, 43u8, 245u8, 143u8, 15u8, 115u8, + ], + ) + } + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " The number of blocks back we should accept uncles."] + #[doc = " This means that we will deal with uncle-parents that are"] + #[doc = " `UncleGenerations + 1` before `now`."] + pub fn uncle_generations( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Authorship", + "UncleGenerations", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + } + } + } + pub mod staking { + use super::{root_mod, runtime_types}; + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub mod calls { + use super::{root_mod, runtime_types}; + type DispatchError = runtime_types::sp_runtime::DispatchError; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct Bond { + pub controller: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, + #[codec(compact)] + pub value: ::core::primitive::u128, + pub payee: runtime_types::pallet_staking::RewardDestination< + ::subxt::ext::sp_core::crypto::AccountId32, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct BondExtra { + #[codec(compact)] + pub max_additional: ::core::primitive::u128, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct Unbond { + #[codec(compact)] + pub value: ::core::primitive::u128, + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct WithdrawUnbonded { + pub num_slashing_spans: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct Validate { + pub prefs: runtime_types::pallet_staking::ValidatorPrefs, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct Nominate { + pub targets: ::std::vec::Vec< + ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct Chill; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct SetPayee { + pub payee: runtime_types::pallet_staking::RewardDestination< + ::subxt::ext::sp_core::crypto::AccountId32, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct SetController { + pub controller: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct SetValidatorCount { + #[codec(compact)] + pub new: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct IncreaseValidatorCount { + #[codec(compact)] + pub additional: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct ScaleValidatorCount { + pub factor: runtime_types::sp_arithmetic::per_things::Percent, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct ForceNoEras; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct ForceNewEra; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct SetInvulnerables { + pub invulnerables: ::std::vec::Vec<::subxt::ext::sp_core::crypto::AccountId32>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct ForceUnstake { + pub stash: ::subxt::ext::sp_core::crypto::AccountId32, + pub num_slashing_spans: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct ForceNewEraAlways; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct CancelDeferredSlash { + pub era: ::core::primitive::u32, + pub slash_indices: ::std::vec::Vec<::core::primitive::u32>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct PayoutStakers { + pub validator_stash: ::subxt::ext::sp_core::crypto::AccountId32, + pub era: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct Rebond { + #[codec(compact)] + pub value: ::core::primitive::u128, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct SetHistoryDepth { + #[codec(compact)] + pub new_history_depth: ::core::primitive::u32, + #[codec(compact)] + pub era_items_deleted: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct ReapStash { + pub stash: ::subxt::ext::sp_core::crypto::AccountId32, + pub num_slashing_spans: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct Kick { + pub who: ::std::vec::Vec< + ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct SetStakingConfigs { + pub min_nominator_bond: runtime_types::pallet_staking::pallet::pallet::ConfigOp< + ::core::primitive::u128, + >, + pub min_validator_bond: runtime_types::pallet_staking::pallet::pallet::ConfigOp< + ::core::primitive::u128, + >, + pub max_nominator_count: + runtime_types::pallet_staking::pallet::pallet::ConfigOp<::core::primitive::u32>, + pub max_validator_count: + runtime_types::pallet_staking::pallet::pallet::ConfigOp<::core::primitive::u32>, + pub chill_threshold: runtime_types::pallet_staking::pallet::pallet::ConfigOp< + runtime_types::sp_arithmetic::per_things::Percent, + >, + pub min_commission: runtime_types::pallet_staking::pallet::pallet::ConfigOp< + runtime_types::sp_arithmetic::per_things::Perbill, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct ChillOther { + pub controller: ::subxt::ext::sp_core::crypto::AccountId32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct ForceApplyMinCommission { + pub validator_stash: ::subxt::ext::sp_core::crypto::AccountId32, + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "Take the origin account as a stash and lock up `value` of its balance. `controller` will"] + #[doc = "be the account that controls it."] + #[doc = ""] + #[doc = "`value` must be more than the `minimum_balance` specified by `T::Currency`."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ by the stash account."] + #[doc = ""] + #[doc = "Emits `Bonded`."] + #[doc = "# "] + #[doc = "- Independent of the arguments. Moderate complexity."] + #[doc = "- O(1)."] + #[doc = "- Three extra DB entries."] + #[doc = ""] + #[doc = "NOTE: Two of the storage writes (`Self::bonded`, `Self::payee`) are _never_ cleaned"] + #[doc = "unless the `origin` falls below _existential deposit_ and gets removed as dust."] + #[doc = "------------------"] + #[doc = "# "] + pub fn bond( + &self, + controller: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, + value: ::core::primitive::u128, + payee: runtime_types::pallet_staking::RewardDestination< + ::subxt::ext::sp_core::crypto::AccountId32, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Staking", + "bond", + Bond { + controller, + value, + payee, + }, + [ + 215u8, 211u8, 69u8, 215u8, 33u8, 158u8, 62u8, 3u8, 31u8, 216u8, 213u8, + 188u8, 151u8, 43u8, 165u8, 154u8, 117u8, 163u8, 190u8, 227u8, 116u8, + 70u8, 155u8, 178u8, 64u8, 174u8, 203u8, 179u8, 214u8, 187u8, 176u8, + 10u8, + ], + ) + } + #[doc = "Add some extra amount that have appeared in the stash `free_balance` into the balance up"] + #[doc = "for staking."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ by the stash, not the controller."] + #[doc = ""] + #[doc = "Use this if there are additional funds in your stash account that you wish to bond."] + #[doc = "Unlike [`bond`](Self::bond) or [`unbond`](Self::unbond) this function does not impose"] + #[doc = "any limitation on the amount that can be added."] + #[doc = ""] + #[doc = "Emits `Bonded`."] + #[doc = ""] + #[doc = "# "] + #[doc = "- Independent of the arguments. Insignificant complexity."] + #[doc = "- O(1)."] + #[doc = "# "] + pub fn bond_extra( + &self, + max_additional: ::core::primitive::u128, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Staking", + "bond_extra", + BondExtra { max_additional }, + [ + 60u8, 45u8, 82u8, 223u8, 113u8, 95u8, 0u8, 71u8, 59u8, 108u8, 228u8, + 9u8, 95u8, 210u8, 113u8, 106u8, 252u8, 15u8, 19u8, 128u8, 11u8, 187u8, + 4u8, 151u8, 103u8, 143u8, 24u8, 33u8, 149u8, 82u8, 35u8, 192u8, + ], + ) + } + #[doc = "Schedule a portion of the stash to be unlocked ready for transfer out after the bond"] + #[doc = "period ends. If this leaves an amount actively bonded less than"] + #[doc = "T::Currency::minimum_balance(), then it is increased to the full amount."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ by the controller, not the stash."] + #[doc = ""] + #[doc = "Once the unlock period is done, you can call `withdraw_unbonded` to actually move"] + #[doc = "the funds out of management ready for transfer."] + #[doc = ""] + #[doc = "No more than a limited number of unlocking chunks (see `MaxUnlockingChunks`)"] + #[doc = "can co-exists at the same time. In that case, [`Call::withdraw_unbonded`] need"] + #[doc = "to be called first to remove some of the chunks (if possible)."] + #[doc = ""] + #[doc = "If a user encounters the `InsufficientBond` error when calling this extrinsic,"] + #[doc = "they should call `chill` first in order to free up their bonded funds."] + #[doc = ""] + #[doc = "Emits `Unbonded`."] + #[doc = ""] + #[doc = "See also [`Call::withdraw_unbonded`]."] + pub fn unbond( + &self, + value: ::core::primitive::u128, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Staking", + "unbond", + Unbond { value }, + [ + 85u8, 62u8, 34u8, 127u8, 60u8, 241u8, 134u8, 60u8, 125u8, 91u8, 31u8, + 193u8, 50u8, 230u8, 237u8, 42u8, 114u8, 230u8, 240u8, 146u8, 14u8, + 109u8, 185u8, 151u8, 148u8, 44u8, 147u8, 182u8, 192u8, 253u8, 51u8, + 87u8, + ], + ) + } + #[doc = "Remove any unlocked chunks from the `unlocking` queue from our management."] + #[doc = ""] + #[doc = "This essentially frees up that balance to be used by the stash account to do"] + #[doc = "whatever it wants."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ by the controller."] + #[doc = ""] + #[doc = "Emits `Withdrawn`."] + #[doc = ""] + #[doc = "See also [`Call::unbond`]."] + #[doc = ""] + #[doc = "# "] + #[doc = "Complexity O(S) where S is the number of slashing spans to remove"] + #[doc = "NOTE: Weight annotation is the kill scenario, we refund otherwise."] + #[doc = "# "] + pub fn withdraw_unbonded( + &self, + num_slashing_spans: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Staking", + "withdraw_unbonded", + WithdrawUnbonded { num_slashing_spans }, + [ + 95u8, 223u8, 122u8, 217u8, 76u8, 208u8, 86u8, 129u8, 31u8, 104u8, 70u8, + 154u8, 23u8, 250u8, 165u8, 192u8, 149u8, 249u8, 158u8, 159u8, 194u8, + 224u8, 118u8, 134u8, 204u8, 157u8, 72u8, 136u8, 19u8, 193u8, 183u8, + 84u8, + ], + ) + } + #[doc = "Declare the desire to validate for the origin controller."] + #[doc = ""] + #[doc = "Effects will be felt at the beginning of the next era."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ by the controller, not the stash."] + pub fn validate( + &self, + prefs: runtime_types::pallet_staking::ValidatorPrefs, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Staking", + "validate", + Validate { prefs }, + [ + 191u8, 116u8, 139u8, 35u8, 250u8, 211u8, 86u8, 240u8, 35u8, 9u8, 19u8, + 44u8, 148u8, 35u8, 91u8, 106u8, 200u8, 172u8, 108u8, 145u8, 194u8, + 146u8, 61u8, 145u8, 233u8, 168u8, 2u8, 26u8, 145u8, 101u8, 114u8, + 157u8, + ], + ) + } + #[doc = "Declare the desire to nominate `targets` for the origin controller."] + #[doc = ""] + #[doc = "Effects will be felt at the beginning of the next era."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ by the controller, not the stash."] + #[doc = ""] + #[doc = "# "] + #[doc = "- The transaction's complexity is proportional to the size of `targets` (N)"] + #[doc = "which is capped at CompactAssignments::LIMIT (T::MaxNominations)."] + #[doc = "- Both the reads and writes follow a similar pattern."] + #[doc = "# "] + pub fn nominate( + &self, + targets: ::std::vec::Vec< + ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Staking", + "nominate", + Nominate { targets }, + [ + 112u8, 162u8, 70u8, 26u8, 74u8, 7u8, 188u8, 193u8, 210u8, 247u8, 27u8, + 189u8, 133u8, 137u8, 33u8, 155u8, 255u8, 171u8, 122u8, 68u8, 175u8, + 247u8, 139u8, 253u8, 97u8, 187u8, 254u8, 201u8, 66u8, 166u8, 226u8, + 90u8, + ], + ) + } + #[doc = "Declare no desire to either validate or nominate."] + #[doc = ""] + #[doc = "Effects will be felt at the beginning of the next era."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ by the controller, not the stash."] + #[doc = ""] + #[doc = "# "] + #[doc = "- Independent of the arguments. Insignificant complexity."] + #[doc = "- Contains one read."] + #[doc = "- Writes are limited to the `origin` account key."] + #[doc = "# "] + pub fn chill(&self) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Staking", + "chill", + Chill {}, + [ + 94u8, 20u8, 196u8, 31u8, 220u8, 125u8, 115u8, 167u8, 140u8, 3u8, 20u8, + 132u8, 81u8, 120u8, 215u8, 166u8, 230u8, 56u8, 16u8, 222u8, 31u8, + 153u8, 120u8, 62u8, 153u8, 67u8, 220u8, 239u8, 11u8, 234u8, 127u8, + 122u8, + ], + ) + } + #[doc = "(Re-)set the payment target for a controller."] + #[doc = ""] + #[doc = "Effects will be felt instantly (as soon as this function is completed successfully)."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ by the controller, not the stash."] + #[doc = ""] + #[doc = "# "] + #[doc = "- Independent of the arguments. Insignificant complexity."] + #[doc = "- Contains a limited number of reads."] + #[doc = "- Writes are limited to the `origin` account key."] + #[doc = "---------"] + #[doc = "- Weight: O(1)"] + #[doc = "- DB Weight:"] + #[doc = " - Read: Ledger"] + #[doc = " - Write: Payee"] + #[doc = "# "] + pub fn set_payee( + &self, + payee: runtime_types::pallet_staking::RewardDestination< + ::subxt::ext::sp_core::crypto::AccountId32, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Staking", + "set_payee", + SetPayee { payee }, + [ + 96u8, 8u8, 254u8, 164u8, 87u8, 46u8, 120u8, 11u8, 197u8, 63u8, 20u8, + 178u8, 167u8, 236u8, 149u8, 245u8, 14u8, 171u8, 108u8, 195u8, 250u8, + 133u8, 0u8, 75u8, 192u8, 159u8, 84u8, 220u8, 242u8, 133u8, 60u8, 62u8, + ], + ) + } + #[doc = "(Re-)set the controller of a stash."] + #[doc = ""] + #[doc = "Effects will be felt instantly (as soon as this function is completed successfully)."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ by the stash, not the controller."] + #[doc = ""] + #[doc = "# "] + #[doc = "- Independent of the arguments. Insignificant complexity."] + #[doc = "- Contains a limited number of reads."] + #[doc = "- Writes are limited to the `origin` account key."] + #[doc = "----------"] + #[doc = "Weight: O(1)"] + #[doc = "DB Weight:"] + #[doc = "- Read: Bonded, Ledger New Controller, Ledger Old Controller"] + #[doc = "- Write: Bonded, Ledger New Controller, Ledger Old Controller"] + #[doc = "# "] + pub fn set_controller( + &self, + controller: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Staking", + "set_controller", + SetController { controller }, + [ + 165u8, 250u8, 213u8, 32u8, 179u8, 163u8, 15u8, 35u8, 14u8, 152u8, 56u8, + 171u8, 43u8, 101u8, 7u8, 167u8, 178u8, 60u8, 89u8, 186u8, 59u8, 28u8, + 82u8, 159u8, 13u8, 96u8, 168u8, 123u8, 194u8, 212u8, 205u8, 184u8, + ], + ) + } + #[doc = "Sets the ideal number of validators."] + #[doc = ""] + #[doc = "The dispatch origin must be Root."] + #[doc = ""] + #[doc = "# "] + #[doc = "Weight: O(1)"] + #[doc = "Write: Validator Count"] + #[doc = "# "] + pub fn set_validator_count( + &self, + new: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Staking", + "set_validator_count", + SetValidatorCount { new }, + [ + 55u8, 232u8, 95u8, 66u8, 228u8, 217u8, 11u8, 27u8, 3u8, 202u8, 199u8, + 242u8, 70u8, 160u8, 250u8, 187u8, 194u8, 91u8, 15u8, 36u8, 215u8, 36u8, + 160u8, 108u8, 251u8, 60u8, 240u8, 202u8, 249u8, 235u8, 28u8, 94u8, + ], + ) + } + #[doc = "Increments the ideal number of validators."] + #[doc = ""] + #[doc = "The dispatch origin must be Root."] + #[doc = ""] + #[doc = "# "] + #[doc = "Same as [`Self::set_validator_count`]."] + #[doc = "# "] + pub fn increase_validator_count( + &self, + additional: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Staking", + "increase_validator_count", + IncreaseValidatorCount { additional }, + [ + 239u8, 184u8, 155u8, 213u8, 25u8, 22u8, 193u8, 13u8, 102u8, 192u8, + 82u8, 153u8, 249u8, 192u8, 60u8, 158u8, 8u8, 78u8, 175u8, 219u8, 46u8, + 51u8, 222u8, 193u8, 193u8, 201u8, 78u8, 90u8, 58u8, 86u8, 196u8, 17u8, + ], + ) + } + #[doc = "Scale up the ideal number of validators by a factor."] + #[doc = ""] + #[doc = "The dispatch origin must be Root."] + #[doc = ""] + #[doc = "# "] + #[doc = "Same as [`Self::set_validator_count`]."] + #[doc = "# "] + pub fn scale_validator_count( + &self, + factor: runtime_types::sp_arithmetic::per_things::Percent, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Staking", + "scale_validator_count", + ScaleValidatorCount { factor }, + [ + 198u8, 68u8, 227u8, 94u8, 110u8, 157u8, 209u8, 217u8, 112u8, 37u8, + 78u8, 142u8, 12u8, 193u8, 219u8, 167u8, 149u8, 112u8, 49u8, 139u8, + 74u8, 81u8, 172u8, 72u8, 253u8, 224u8, 56u8, 194u8, 185u8, 90u8, 87u8, + 125u8, + ], + ) + } + #[doc = "Force there to be no new eras indefinitely."] + #[doc = ""] + #[doc = "The dispatch origin must be Root."] + #[doc = ""] + #[doc = "# Warning"] + #[doc = ""] + #[doc = "The election process starts multiple blocks before the end of the era."] + #[doc = "Thus the election process may be ongoing when this is called. In this case the"] + #[doc = "election will continue until the next era is triggered."] + #[doc = ""] + #[doc = "# "] + #[doc = "- No arguments."] + #[doc = "- Weight: O(1)"] + #[doc = "- Write: ForceEra"] + #[doc = "# "] + pub fn force_no_eras(&self) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Staking", + "force_no_eras", + ForceNoEras {}, + [ + 16u8, 81u8, 207u8, 168u8, 23u8, 236u8, 11u8, 75u8, 141u8, 107u8, 92u8, + 2u8, 53u8, 111u8, 252u8, 116u8, 91u8, 120u8, 75u8, 24u8, 125u8, 53u8, + 9u8, 28u8, 242u8, 87u8, 245u8, 55u8, 40u8, 103u8, 151u8, 178u8, + ], + ) + } + #[doc = "Force there to be a new era at the end of the next session. After this, it will be"] + #[doc = "reset to normal (non-forced) behaviour."] + #[doc = ""] + #[doc = "The dispatch origin must be Root."] + #[doc = ""] + #[doc = "# Warning"] + #[doc = ""] + #[doc = "The election process starts multiple blocks before the end of the era."] + #[doc = "If this is called just before a new era is triggered, the election process may not"] + #[doc = "have enough blocks to get a result."] + #[doc = ""] + #[doc = "# "] + #[doc = "- No arguments."] + #[doc = "- Weight: O(1)"] + #[doc = "- Write ForceEra"] + #[doc = "# "] + pub fn force_new_era(&self) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Staking", + "force_new_era", + ForceNewEra {}, + [ + 230u8, 242u8, 169u8, 196u8, 78u8, 145u8, 24u8, 191u8, 113u8, 68u8, 5u8, + 138u8, 48u8, 51u8, 109u8, 126u8, 73u8, 136u8, 162u8, 158u8, 174u8, + 201u8, 213u8, 230u8, 215u8, 44u8, 200u8, 32u8, 75u8, 27u8, 23u8, 254u8, + ], + ) + } + #[doc = "Set the validators who cannot be slashed (if any)."] + #[doc = ""] + #[doc = "The dispatch origin must be Root."] + pub fn set_invulnerables( + &self, + invulnerables: ::std::vec::Vec<::subxt::ext::sp_core::crypto::AccountId32>, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Staking", + "set_invulnerables", + SetInvulnerables { invulnerables }, + [ + 2u8, 148u8, 221u8, 111u8, 153u8, 48u8, 222u8, 36u8, 228u8, 84u8, 18u8, + 35u8, 168u8, 239u8, 53u8, 245u8, 27u8, 76u8, 18u8, 203u8, 206u8, 9u8, + 8u8, 81u8, 35u8, 224u8, 22u8, 133u8, 58u8, 99u8, 103u8, 39u8, + ], + ) + } + #[doc = "Force a current staker to become completely unstaked, immediately."] + #[doc = ""] + #[doc = "The dispatch origin must be Root."] + pub fn force_unstake( + &self, + stash: ::subxt::ext::sp_core::crypto::AccountId32, + num_slashing_spans: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Staking", + "force_unstake", + ForceUnstake { + stash, + num_slashing_spans, + }, + [ + 94u8, 247u8, 238u8, 47u8, 250u8, 6u8, 96u8, 175u8, 173u8, 123u8, 161u8, + 187u8, 162u8, 214u8, 176u8, 233u8, 33u8, 33u8, 167u8, 239u8, 40u8, + 223u8, 19u8, 131u8, 230u8, 39u8, 175u8, 200u8, 36u8, 182u8, 76u8, + 207u8, + ], + ) + } + #[doc = "Force there to be a new era at the end of sessions indefinitely."] + #[doc = ""] + #[doc = "The dispatch origin must be Root."] + #[doc = ""] + #[doc = "# Warning"] + #[doc = ""] + #[doc = "The election process starts multiple blocks before the end of the era."] + #[doc = "If this is called just before a new era is triggered, the election process may not"] + #[doc = "have enough blocks to get a result."] + pub fn force_new_era_always( + &self, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Staking", + "force_new_era_always", + ForceNewEraAlways {}, + [ + 179u8, 118u8, 189u8, 54u8, 248u8, 141u8, 207u8, 142u8, 80u8, 37u8, + 241u8, 185u8, 138u8, 254u8, 117u8, 147u8, 225u8, 118u8, 34u8, 177u8, + 197u8, 158u8, 8u8, 82u8, 202u8, 108u8, 208u8, 26u8, 64u8, 33u8, 74u8, + 43u8, + ], + ) + } + #[doc = "Cancel enactment of a deferred slash."] + #[doc = ""] + #[doc = "Can be called by the `T::SlashCancelOrigin`."] + #[doc = ""] + #[doc = "Parameters: era and indices of the slashes for that era to kill."] + pub fn cancel_deferred_slash( + &self, + era: ::core::primitive::u32, + slash_indices: ::std::vec::Vec<::core::primitive::u32>, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Staking", + "cancel_deferred_slash", + CancelDeferredSlash { era, slash_indices }, + [ + 120u8, 57u8, 162u8, 105u8, 91u8, 250u8, 129u8, 240u8, 110u8, 234u8, + 170u8, 98u8, 164u8, 65u8, 106u8, 101u8, 19u8, 88u8, 146u8, 210u8, + 171u8, 44u8, 37u8, 50u8, 65u8, 178u8, 37u8, 223u8, 239u8, 197u8, 116u8, + 168u8, + ], + ) + } + #[doc = "Pay out all the stakers behind a single validator for a single era."] + #[doc = ""] + #[doc = "- `validator_stash` is the stash account of the validator. Their nominators, up to"] + #[doc = " `T::MaxNominatorRewardedPerValidator`, will also receive their rewards."] + #[doc = "- `era` may be any era between `[current_era - history_depth; current_era]`."] + #[doc = ""] + #[doc = "The origin of this call must be _Signed_. Any account can call this function, even if"] + #[doc = "it is not one of the stakers."] + #[doc = ""] + #[doc = "# "] + #[doc = "- Time complexity: at most O(MaxNominatorRewardedPerValidator)."] + #[doc = "- Contains a limited number of reads and writes."] + #[doc = "-----------"] + #[doc = "N is the Number of payouts for the validator (including the validator)"] + #[doc = "Weight:"] + #[doc = "- Reward Destination Staked: O(N)"] + #[doc = "- Reward Destination Controller (Creating): O(N)"] + #[doc = ""] + #[doc = " NOTE: weights are assuming that payouts are made to alive stash account (Staked)."] + #[doc = " Paying even a dead controller is cheaper weight-wise. We don't do any refunds here."] + #[doc = "# "] + pub fn payout_stakers( + &self, + validator_stash: ::subxt::ext::sp_core::crypto::AccountId32, + era: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Staking", + "payout_stakers", + PayoutStakers { + validator_stash, + era, + }, + [ + 184u8, 194u8, 33u8, 118u8, 7u8, 203u8, 89u8, 119u8, 214u8, 76u8, 178u8, + 20u8, 82u8, 111u8, 57u8, 132u8, 212u8, 43u8, 232u8, 91u8, 252u8, 49u8, + 42u8, 115u8, 1u8, 181u8, 154u8, 207u8, 144u8, 206u8, 205u8, 33u8, + ], + ) + } + #[doc = "Rebond a portion of the stash scheduled to be unlocked."] + #[doc = ""] + #[doc = "The dispatch origin must be signed by the controller."] + #[doc = ""] + #[doc = "# "] + #[doc = "- Time complexity: O(L), where L is unlocking chunks"] + #[doc = "- Bounded by `MaxUnlockingChunks`."] + #[doc = "- Storage changes: Can't increase storage, only decrease it."] + #[doc = "# "] + pub fn rebond( + &self, + value: ::core::primitive::u128, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Staking", + "rebond", + Rebond { value }, + [ + 25u8, 22u8, 191u8, 172u8, 133u8, 101u8, 139u8, 102u8, 134u8, 16u8, + 136u8, 56u8, 137u8, 162u8, 4u8, 253u8, 196u8, 30u8, 234u8, 49u8, 102u8, + 68u8, 145u8, 96u8, 148u8, 219u8, 162u8, 17u8, 177u8, 184u8, 34u8, + 113u8, + ], + ) + } + #[doc = "Set `HistoryDepth` value. This function will delete any history information"] + #[doc = "when `HistoryDepth` is reduced."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = "- `new_history_depth`: The new history depth you would like to set."] + #[doc = "- `era_items_deleted`: The number of items that will be deleted by this dispatch. This"] + #[doc = " should report all the storage items that will be deleted by clearing old era history."] + #[doc = " Needed to report an accurate weight for the dispatch. Trusted by `Root` to report an"] + #[doc = " accurate number."] + #[doc = ""] + #[doc = "Origin must be root."] + #[doc = ""] + #[doc = "# "] + #[doc = "- E: Number of history depths removed, i.e. 10 -> 7 = 3"] + #[doc = "- Weight: O(E)"] + #[doc = "- DB Weight:"] + #[doc = " - Reads: Current Era, History Depth"] + #[doc = " - Writes: History Depth"] + #[doc = " - Clear Prefix Each: Era Stakers, EraStakersClipped, ErasValidatorPrefs"] + #[doc = " - Writes Each: ErasValidatorReward, ErasRewardPoints, ErasTotalStake,"] + #[doc = " ErasStartSessionIndex"] + #[doc = "# "] + pub fn set_history_depth( + &self, + new_history_depth: ::core::primitive::u32, + era_items_deleted: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Staking", + "set_history_depth", + SetHistoryDepth { + new_history_depth, + era_items_deleted, + }, + [ + 174u8, 55u8, 231u8, 132u8, 219u8, 215u8, 118u8, 202u8, 13u8, 151u8, + 193u8, 248u8, 141u8, 180u8, 56u8, 103u8, 90u8, 182u8, 194u8, 198u8, + 120u8, 251u8, 143u8, 218u8, 81u8, 59u8, 13u8, 161u8, 247u8, 57u8, + 178u8, 122u8, + ], + ) + } + #[doc = "Remove all data structures concerning a staker/stash once it is at a state where it can"] + #[doc = "be considered `dust` in the staking system. The requirements are:"] + #[doc = ""] + #[doc = "1. the `total_balance` of the stash is below existential deposit."] + #[doc = "2. or, the `ledger.total` of the stash is below existential deposit."] + #[doc = ""] + #[doc = "The former can happen in cases like a slash; the latter when a fully unbonded account"] + #[doc = "is still receiving staking rewards in `RewardDestination::Staked`."] + #[doc = ""] + #[doc = "It can be called by anyone, as long as `stash` meets the above requirements."] + #[doc = ""] + #[doc = "Refunds the transaction fees upon successful execution."] + pub fn reap_stash( + &self, + stash: ::subxt::ext::sp_core::crypto::AccountId32, + num_slashing_spans: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Staking", + "reap_stash", + ReapStash { + stash, + num_slashing_spans, + }, + [ + 34u8, 168u8, 120u8, 161u8, 95u8, 199u8, 106u8, 233u8, 61u8, 240u8, + 166u8, 31u8, 183u8, 165u8, 158u8, 179u8, 32u8, 130u8, 27u8, 164u8, + 112u8, 44u8, 14u8, 125u8, 227u8, 87u8, 70u8, 203u8, 194u8, 24u8, 212u8, + 177u8, + ], + ) + } + #[doc = "Remove the given nominations from the calling validator."] + #[doc = ""] + #[doc = "Effects will be felt at the beginning of the next era."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ by the controller, not the stash."] + #[doc = ""] + #[doc = "- `who`: A list of nominator stash accounts who are nominating this validator which"] + #[doc = " should no longer be nominating this validator."] + #[doc = ""] + #[doc = "Note: Making this call only makes sense if you first set the validator preferences to"] + #[doc = "block any further nominations."] + pub fn kick( + &self, + who: ::std::vec::Vec< + ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Staking", + "kick", + Kick { who }, + [ + 32u8, 26u8, 202u8, 6u8, 186u8, 180u8, 58u8, 121u8, 185u8, 208u8, 123u8, + 10u8, 53u8, 179u8, 167u8, 203u8, 96u8, 229u8, 7u8, 144u8, 231u8, 172u8, + 145u8, 141u8, 162u8, 180u8, 212u8, 42u8, 34u8, 5u8, 199u8, 82u8, + ], + ) + } + #[doc = "Update the various staking configurations ."] + #[doc = ""] + #[doc = "* `min_nominator_bond`: The minimum active bond needed to be a nominator."] + #[doc = "* `min_validator_bond`: The minimum active bond needed to be a validator."] + #[doc = "* `max_nominator_count`: The max number of users who can be a nominator at once. When"] + #[doc = " set to `None`, no limit is enforced."] + #[doc = "* `max_validator_count`: The max number of users who can be a validator at once. When"] + #[doc = " set to `None`, no limit is enforced."] + #[doc = "* `chill_threshold`: The ratio of `max_nominator_count` or `max_validator_count` which"] + #[doc = " should be filled in order for the `chill_other` transaction to work."] + #[doc = "* `min_commission`: The minimum amount of commission that each validators must maintain."] + #[doc = " This is checked only upon calling `validate`. Existing validators are not affected."] + #[doc = ""] + #[doc = "Origin must be Root to call this function."] + #[doc = ""] + #[doc = "NOTE: Existing nominators and validators will not be affected by this update."] + #[doc = "to kick people under the new limits, `chill_other` should be called."] + pub fn set_staking_configs( + &self, + min_nominator_bond: runtime_types::pallet_staking::pallet::pallet::ConfigOp< + ::core::primitive::u128, + >, + min_validator_bond: runtime_types::pallet_staking::pallet::pallet::ConfigOp< + ::core::primitive::u128, + >, + max_nominator_count: runtime_types::pallet_staking::pallet::pallet::ConfigOp< + ::core::primitive::u32, + >, + max_validator_count: runtime_types::pallet_staking::pallet::pallet::ConfigOp< + ::core::primitive::u32, + >, + chill_threshold: runtime_types::pallet_staking::pallet::pallet::ConfigOp< + runtime_types::sp_arithmetic::per_things::Percent, + >, + min_commission: runtime_types::pallet_staking::pallet::pallet::ConfigOp< + runtime_types::sp_arithmetic::per_things::Perbill, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Staking", + "set_staking_configs", + SetStakingConfigs { + min_nominator_bond, + min_validator_bond, + max_nominator_count, + max_validator_count, + chill_threshold, + min_commission, + }, + [ + 176u8, 168u8, 155u8, 176u8, 27u8, 79u8, 223u8, 92u8, 88u8, 93u8, 223u8, + 69u8, 179u8, 250u8, 138u8, 138u8, 87u8, 220u8, 36u8, 3u8, 126u8, 213u8, + 16u8, 68u8, 3u8, 16u8, 218u8, 151u8, 98u8, 169u8, 217u8, 75u8, + ], + ) + } + #[doc = "Declare a `controller` to stop participating as either a validator or nominator."] + #[doc = ""] + #[doc = "Effects will be felt at the beginning of the next era."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_, but can be called by anyone."] + #[doc = ""] + #[doc = "If the caller is the same as the controller being targeted, then no further checks are"] + #[doc = "enforced, and this function behaves just like `chill`."] + #[doc = ""] + #[doc = "If the caller is different than the controller being targeted, the following conditions"] + #[doc = "must be met:"] + #[doc = ""] + #[doc = "* `controller` must belong to a nominator who has become non-decodable,"] + #[doc = ""] + #[doc = "Or:"] + #[doc = ""] + #[doc = "* A `ChillThreshold` must be set and checked which defines how close to the max"] + #[doc = " nominators or validators we must reach before users can start chilling one-another."] + #[doc = "* A `MaxNominatorCount` and `MaxValidatorCount` must be set which is used to determine"] + #[doc = " how close we are to the threshold."] + #[doc = "* A `MinNominatorBond` and `MinValidatorBond` must be set and checked, which determines"] + #[doc = " if this is a person that should be chilled because they have not met the threshold"] + #[doc = " bond required."] + #[doc = ""] + #[doc = "This can be helpful if bond requirements are updated, and we need to remove old users"] + #[doc = "who do not satisfy these requirements."] + pub fn chill_other( + &self, + controller: ::subxt::ext::sp_core::crypto::AccountId32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Staking", + "chill_other", + ChillOther { controller }, + [ + 140u8, 98u8, 4u8, 203u8, 91u8, 131u8, 123u8, 119u8, 169u8, 47u8, 188u8, + 23u8, 205u8, 170u8, 82u8, 220u8, 166u8, 170u8, 135u8, 176u8, 68u8, + 228u8, 14u8, 67u8, 42u8, 52u8, 140u8, 231u8, 62u8, 167u8, 80u8, 173u8, + ], + ) + } + #[doc = "Force a validator to have at least the minimum commission. This will not affect a"] + #[doc = "validator who already has a commission greater than or equal to the minimum. Any account"] + #[doc = "can call this."] + pub fn force_apply_min_commission( + &self, + validator_stash: ::subxt::ext::sp_core::crypto::AccountId32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Staking", + "force_apply_min_commission", + ForceApplyMinCommission { validator_stash }, + [ + 136u8, 163u8, 85u8, 134u8, 240u8, 247u8, 183u8, 227u8, 226u8, 202u8, + 102u8, 186u8, 138u8, 119u8, 78u8, 123u8, 229u8, 135u8, 129u8, 241u8, + 119u8, 106u8, 41u8, 182u8, 121u8, 181u8, 242u8, 175u8, 74u8, 207u8, + 64u8, 106u8, + ], + ) + } + } + } + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub type Event = runtime_types::pallet_staking::pallet::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "The era payout has been set; the first balance is the validator-payout; the second is"] + #[doc = "the remainder from the maximum amount of reward."] + #[doc = "\\[era_index, validator_payout, remainder\\]"] + pub struct EraPaid( + pub ::core::primitive::u32, + pub ::core::primitive::u128, + pub ::core::primitive::u128, + ); + impl ::subxt::events::StaticEvent for EraPaid { + const PALLET: &'static str = "Staking"; + const EVENT: &'static str = "EraPaid"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "The nominator has been rewarded by this amount. \\[stash, amount\\]"] + pub struct Rewarded( + pub ::subxt::ext::sp_core::crypto::AccountId32, + pub ::core::primitive::u128, + ); + impl ::subxt::events::StaticEvent for Rewarded { + const PALLET: &'static str = "Staking"; + const EVENT: &'static str = "Rewarded"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "One validator (and its nominators) has been slashed by the given amount."] + #[doc = "\\[validator, amount\\]"] + pub struct Slashed( + pub ::subxt::ext::sp_core::crypto::AccountId32, + pub ::core::primitive::u128, + ); + impl ::subxt::events::StaticEvent for Slashed { + const PALLET: &'static str = "Staking"; + const EVENT: &'static str = "Slashed"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "An old slashing report from a prior era was discarded because it could"] + #[doc = "not be processed. \\[session_index\\]"] + pub struct OldSlashingReportDiscarded(pub ::core::primitive::u32); + impl ::subxt::events::StaticEvent for OldSlashingReportDiscarded { + const PALLET: &'static str = "Staking"; + const EVENT: &'static str = "OldSlashingReportDiscarded"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "A new set of stakers was elected."] + pub struct StakersElected; + impl ::subxt::events::StaticEvent for StakersElected { + const PALLET: &'static str = "Staking"; + const EVENT: &'static str = "StakersElected"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "An account has bonded this amount. \\[stash, amount\\]"] + #[doc = ""] + #[doc = "NOTE: This event is only emitted when funds are bonded via a dispatchable. Notably,"] + #[doc = "it will not be emitted for staking rewards when they are added to stake."] + pub struct Bonded( + pub ::subxt::ext::sp_core::crypto::AccountId32, + pub ::core::primitive::u128, + ); + impl ::subxt::events::StaticEvent for Bonded { + const PALLET: &'static str = "Staking"; + const EVENT: &'static str = "Bonded"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "An account has unbonded this amount. \\[stash, amount\\]"] + pub struct Unbonded( + pub ::subxt::ext::sp_core::crypto::AccountId32, + pub ::core::primitive::u128, + ); + impl ::subxt::events::StaticEvent for Unbonded { + const PALLET: &'static str = "Staking"; + const EVENT: &'static str = "Unbonded"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "An account has called `withdraw_unbonded` and removed unbonding chunks worth `Balance`"] + #[doc = "from the unlocking queue. \\[stash, amount\\]"] + pub struct Withdrawn( + pub ::subxt::ext::sp_core::crypto::AccountId32, + pub ::core::primitive::u128, + ); + impl ::subxt::events::StaticEvent for Withdrawn { + const PALLET: &'static str = "Staking"; + const EVENT: &'static str = "Withdrawn"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "A nominator has been kicked from a validator. \\[nominator, stash\\]"] + pub struct Kicked( + pub ::subxt::ext::sp_core::crypto::AccountId32, + pub ::subxt::ext::sp_core::crypto::AccountId32, + ); + impl ::subxt::events::StaticEvent for Kicked { + const PALLET: &'static str = "Staking"; + const EVENT: &'static str = "Kicked"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "The election failed. No new era is planned."] + pub struct StakingElectionFailed; + impl ::subxt::events::StaticEvent for StakingElectionFailed { + const PALLET: &'static str = "Staking"; + const EVENT: &'static str = "StakingElectionFailed"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "An account has stopped participating as either a validator or nominator."] + #[doc = "\\[stash\\]"] + pub struct Chilled(pub ::subxt::ext::sp_core::crypto::AccountId32); + impl ::subxt::events::StaticEvent for Chilled { + const PALLET: &'static str = "Staking"; + const EVENT: &'static str = "Chilled"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "The stakers' rewards are getting paid. \\[era_index, validator_stash\\]"] + pub struct PayoutStarted( + pub ::core::primitive::u32, + pub ::subxt::ext::sp_core::crypto::AccountId32, + ); + impl ::subxt::events::StaticEvent for PayoutStarted { + const PALLET: &'static str = "Staking"; + const EVENT: &'static str = "PayoutStarted"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "A validator has set their preferences."] + pub struct ValidatorPrefsSet( + pub ::subxt::ext::sp_core::crypto::AccountId32, + pub runtime_types::pallet_staking::ValidatorPrefs, + ); + impl ::subxt::events::StaticEvent for ValidatorPrefsSet { + const PALLET: &'static str = "Staking"; + const EVENT: &'static str = "ValidatorPrefsSet"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " Number of eras to keep in history."] + #[doc = ""] + #[doc = " Information is kept for eras in `[current_era - history_depth; current_era]`."] + #[doc = ""] + #[doc = " Must be more than the number of eras delayed by session otherwise. I.e. active era must"] + #[doc = " always be in history. I.e. `active_era > current_era - history_depth` must be"] + #[doc = " guaranteed."] + pub fn history_depth( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "HistoryDepth", + vec![], + [ + 41u8, 54u8, 118u8, 245u8, 75u8, 136u8, 220u8, 25u8, 55u8, 255u8, 149u8, + 177u8, 49u8, 155u8, 167u8, 188u8, 170u8, 29u8, 251u8, 44u8, 240u8, + 250u8, 225u8, 205u8, 102u8, 74u8, 25u8, 47u8, 52u8, 235u8, 204u8, + 167u8, + ], + ) + } + #[doc = " The ideal number of staking participants."] + pub fn validator_count( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "ValidatorCount", + vec![], + [ + 245u8, 75u8, 214u8, 110u8, 66u8, 164u8, 86u8, 206u8, 69u8, 89u8, 12u8, + 111u8, 117u8, 16u8, 228u8, 184u8, 207u8, 6u8, 0u8, 126u8, 221u8, 67u8, + 125u8, 218u8, 188u8, 245u8, 156u8, 188u8, 34u8, 85u8, 208u8, 197u8, + ], + ) + } + #[doc = " Minimum number of staking participants before emergency conditions are imposed."] + pub fn minimum_validator_count( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "MinimumValidatorCount", + vec![], + [ + 82u8, 95u8, 128u8, 55u8, 136u8, 134u8, 71u8, 117u8, 135u8, 76u8, 44u8, + 46u8, 174u8, 34u8, 170u8, 228u8, 175u8, 1u8, 234u8, 162u8, 91u8, 252u8, + 127u8, 68u8, 243u8, 241u8, 13u8, 107u8, 214u8, 70u8, 87u8, 249u8, + ], + ) + } + #[doc = " Any validators that may never be slashed or forcibly kicked. It's a Vec since they're"] + #[doc = " easy to initialize and the performance hit is minimal (we expect no more than four"] + #[doc = " invulnerables) and restricted to testnets."] + pub fn invulnerables( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + ::std::vec::Vec<::subxt::ext::sp_core::crypto::AccountId32>, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "Invulnerables", + vec![], + [ + 77u8, 78u8, 63u8, 199u8, 150u8, 167u8, 135u8, 130u8, 192u8, 51u8, + 202u8, 119u8, 68u8, 49u8, 241u8, 68u8, 82u8, 90u8, 226u8, 201u8, 96u8, + 170u8, 21u8, 173u8, 236u8, 116u8, 148u8, 8u8, 174u8, 92u8, 7u8, 11u8, + ], + ) + } + #[doc = " Map from all locked \"stash\" accounts to the controller account."] + pub fn bonded( + &self, + _0: impl ::std::borrow::Borrow<::subxt::ext::sp_core::crypto::AccountId32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::subxt::ext::sp_core::crypto::AccountId32>, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "Bonded", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + )], + [ + 35u8, 197u8, 156u8, 60u8, 22u8, 59u8, 103u8, 83u8, 77u8, 15u8, 118u8, + 193u8, 155u8, 97u8, 229u8, 36u8, 119u8, 128u8, 224u8, 162u8, 21u8, + 46u8, 199u8, 221u8, 15u8, 74u8, 59u8, 70u8, 77u8, 218u8, 73u8, 165u8, + ], + ) + } + #[doc = " Map from all locked \"stash\" accounts to the controller account."] + pub fn bonded_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::subxt::ext::sp_core::crypto::AccountId32>, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "Bonded", + Vec::new(), + [ + 35u8, 197u8, 156u8, 60u8, 22u8, 59u8, 103u8, 83u8, 77u8, 15u8, 118u8, + 193u8, 155u8, 97u8, 229u8, 36u8, 119u8, 128u8, 224u8, 162u8, 21u8, + 46u8, 199u8, 221u8, 15u8, 74u8, 59u8, 70u8, 77u8, 218u8, 73u8, 165u8, + ], + ) + } + #[doc = " The minimum active bond to become and maintain the role of a nominator."] + pub fn min_nominator_bond( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "MinNominatorBond", + vec![], + [ + 187u8, 66u8, 149u8, 226u8, 72u8, 219u8, 57u8, 246u8, 102u8, 47u8, 71u8, + 12u8, 219u8, 204u8, 127u8, 223u8, 58u8, 134u8, 81u8, 165u8, 200u8, + 142u8, 196u8, 158u8, 26u8, 38u8, 165u8, 19u8, 91u8, 251u8, 119u8, 84u8, + ], + ) + } + #[doc = " The minimum active bond to become and maintain the role of a validator."] + pub fn min_validator_bond( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "MinValidatorBond", + vec![], + [ + 48u8, 105u8, 85u8, 178u8, 142u8, 208u8, 208u8, 19u8, 236u8, 130u8, + 129u8, 169u8, 35u8, 245u8, 66u8, 182u8, 92u8, 20u8, 22u8, 109u8, 155u8, + 174u8, 87u8, 118u8, 242u8, 216u8, 193u8, 154u8, 4u8, 5u8, 66u8, 56u8, + ], + ) + } + #[doc = " The minimum amount of commission that validators can set."] + #[doc = ""] + #[doc = " If set to `0`, no limit exists."] + pub fn min_commission( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_arithmetic::per_things::Perbill, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "MinCommission", + vec![], + [ + 61u8, 101u8, 69u8, 27u8, 220u8, 179u8, 5u8, 71u8, 66u8, 227u8, 84u8, + 98u8, 18u8, 141u8, 183u8, 49u8, 98u8, 46u8, 123u8, 114u8, 198u8, 85u8, + 15u8, 175u8, 243u8, 239u8, 133u8, 129u8, 146u8, 174u8, 254u8, 158u8, + ], + ) + } + #[doc = " Map from all (unlocked) \"controller\" accounts to the info regarding the staking."] + pub fn ledger( + &self, + _0: impl ::std::borrow::Borrow<::subxt::ext::sp_core::crypto::AccountId32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_staking::StakingLedger, + >, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "Ledger", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Blake2_128Concat, + )], + [ + 117u8, 177u8, 209u8, 237u8, 0u8, 30u8, 228u8, 128u8, 150u8, 69u8, + 138u8, 21u8, 9u8, 74u8, 178u8, 113u8, 238u8, 111u8, 57u8, 222u8, 242u8, + 241u8, 191u8, 50u8, 225u8, 51u8, 99u8, 211u8, 210u8, 163u8, 60u8, + 205u8, + ], + ) + } + #[doc = " Map from all (unlocked) \"controller\" accounts to the info regarding the staking."] + pub fn ledger_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_staking::StakingLedger, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "Ledger", + Vec::new(), + [ + 117u8, 177u8, 209u8, 237u8, 0u8, 30u8, 228u8, 128u8, 150u8, 69u8, + 138u8, 21u8, 9u8, 74u8, 178u8, 113u8, 238u8, 111u8, 57u8, 222u8, 242u8, + 241u8, 191u8, 50u8, 225u8, 51u8, 99u8, 211u8, 210u8, 163u8, 60u8, + 205u8, + ], + ) + } + #[doc = " Where the reward payment should be made. Keyed by stash."] + pub fn payee( + &self, + _0: impl ::std::borrow::Borrow<::subxt::ext::sp_core::crypto::AccountId32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_staking::RewardDestination< + ::subxt::ext::sp_core::crypto::AccountId32, + >, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "Payee", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + )], + [ + 195u8, 125u8, 82u8, 213u8, 216u8, 64u8, 76u8, 63u8, 187u8, 163u8, 20u8, + 230u8, 153u8, 13u8, 189u8, 232u8, 119u8, 118u8, 107u8, 17u8, 102u8, + 245u8, 36u8, 42u8, 232u8, 137u8, 177u8, 165u8, 169u8, 246u8, 199u8, + 57u8, + ], + ) + } + #[doc = " Where the reward payment should be made. Keyed by stash."] + pub fn payee_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_staking::RewardDestination< + ::subxt::ext::sp_core::crypto::AccountId32, + >, + >, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "Payee", + Vec::new(), + [ + 195u8, 125u8, 82u8, 213u8, 216u8, 64u8, 76u8, 63u8, 187u8, 163u8, 20u8, + 230u8, 153u8, 13u8, 189u8, 232u8, 119u8, 118u8, 107u8, 17u8, 102u8, + 245u8, 36u8, 42u8, 232u8, 137u8, 177u8, 165u8, 169u8, 246u8, 199u8, + 57u8, + ], + ) + } + #[doc = " The map from (wannabe) validator stash key to the preferences of that validator."] + pub fn validators( + &self, + _0: impl ::std::borrow::Borrow<::subxt::ext::sp_core::crypto::AccountId32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_staking::ValidatorPrefs, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "Validators", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + )], + [ + 80u8, 77u8, 66u8, 18u8, 197u8, 250u8, 41u8, 185u8, 43u8, 24u8, 149u8, + 164u8, 208u8, 60u8, 144u8, 29u8, 251u8, 195u8, 236u8, 196u8, 108u8, + 58u8, 80u8, 115u8, 246u8, 66u8, 226u8, 241u8, 201u8, 172u8, 229u8, + 152u8, + ], + ) + } + #[doc = " The map from (wannabe) validator stash key to the preferences of that validator."] + pub fn validators_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_staking::ValidatorPrefs, + >, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "Validators", + Vec::new(), + [ + 80u8, 77u8, 66u8, 18u8, 197u8, 250u8, 41u8, 185u8, 43u8, 24u8, 149u8, + 164u8, 208u8, 60u8, 144u8, 29u8, 251u8, 195u8, 236u8, 196u8, 108u8, + 58u8, 80u8, 115u8, 246u8, 66u8, 226u8, 241u8, 201u8, 172u8, 229u8, + 152u8, + ], + ) + } + #[doc = "Counter for the related counted storage map"] + pub fn counter_for_validators( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "CounterForValidators", + vec![], + [ + 139u8, 25u8, 223u8, 6u8, 160u8, 239u8, 212u8, 85u8, 36u8, 185u8, 69u8, + 63u8, 21u8, 156u8, 144u8, 241u8, 112u8, 85u8, 49u8, 78u8, 88u8, 11u8, + 8u8, 48u8, 118u8, 34u8, 62u8, 159u8, 239u8, 122u8, 90u8, 45u8, + ], + ) + } + #[doc = " The maximum validator count before we stop allowing new validators to join."] + #[doc = ""] + #[doc = " When this value is not set, no limits are enforced."] + pub fn max_validators_count( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "MaxValidatorsCount", + vec![], + [ + 250u8, 62u8, 16u8, 68u8, 192u8, 216u8, 236u8, 211u8, 217u8, 9u8, 213u8, + 49u8, 41u8, 37u8, 58u8, 62u8, 131u8, 112u8, 64u8, 26u8, 133u8, 7u8, + 130u8, 1u8, 71u8, 158u8, 14u8, 55u8, 169u8, 239u8, 223u8, 245u8, + ], + ) + } + #[doc = " The map from nominator stash key to their nomination preferences, namely the validators that"] + #[doc = " they wish to support."] + #[doc = ""] + #[doc = " Note that the keys of this storage map might become non-decodable in case the"] + #[doc = " [`Config::MaxNominations`] configuration is decreased. In this rare case, these nominators"] + #[doc = " are still existent in storage, their key is correct and retrievable (i.e. `contains_key`"] + #[doc = " indicates that they exist), but their value cannot be decoded. Therefore, the non-decodable"] + #[doc = " nominators will effectively not-exist, until they re-submit their preferences such that it"] + #[doc = " is within the bounds of the newly set `Config::MaxNominations`."] + #[doc = ""] + #[doc = " This implies that `::iter_keys().count()` and `::iter().count()` might return different"] + #[doc = " values for this map. Moreover, the main `::count()` is aligned with the former, namely the"] + #[doc = " number of keys that exist."] + #[doc = ""] + #[doc = " Lastly, if any of the nominators become non-decodable, they can be chilled immediately via"] + #[doc = " [`Call::chill_other`] dispatchable by anyone."] + pub fn nominators( + &self, + _0: impl ::std::borrow::Borrow<::subxt::ext::sp_core::crypto::AccountId32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "Nominators", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + )], + [ + 1u8, 154u8, 55u8, 170u8, 215u8, 64u8, 56u8, 83u8, 254u8, 19u8, 152u8, + 85u8, 164u8, 171u8, 206u8, 129u8, 184u8, 45u8, 221u8, 181u8, 229u8, + 133u8, 200u8, 231u8, 16u8, 146u8, 247u8, 21u8, 77u8, 122u8, 165u8, + 134u8, + ], + ) + } + #[doc = " The map from nominator stash key to their nomination preferences, namely the validators that"] + #[doc = " they wish to support."] + #[doc = ""] + #[doc = " Note that the keys of this storage map might become non-decodable in case the"] + #[doc = " [`Config::MaxNominations`] configuration is decreased. In this rare case, these nominators"] + #[doc = " are still existent in storage, their key is correct and retrievable (i.e. `contains_key`"] + #[doc = " indicates that they exist), but their value cannot be decoded. Therefore, the non-decodable"] + #[doc = " nominators will effectively not-exist, until they re-submit their preferences such that it"] + #[doc = " is within the bounds of the newly set `Config::MaxNominations`."] + #[doc = ""] + #[doc = " This implies that `::iter_keys().count()` and `::iter().count()` might return different"] + #[doc = " values for this map. Moreover, the main `::count()` is aligned with the former, namely the"] + #[doc = " number of keys that exist."] + #[doc = ""] + #[doc = " Lastly, if any of the nominators become non-decodable, they can be chilled immediately via"] + #[doc = " [`Call::chill_other`] dispatchable by anyone."] + pub fn nominators_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "Nominators", + Vec::new(), + [ + 1u8, 154u8, 55u8, 170u8, 215u8, 64u8, 56u8, 83u8, 254u8, 19u8, 152u8, + 85u8, 164u8, 171u8, 206u8, 129u8, 184u8, 45u8, 221u8, 181u8, 229u8, + 133u8, 200u8, 231u8, 16u8, 146u8, 247u8, 21u8, 77u8, 122u8, 165u8, + 134u8, + ], + ) + } + #[doc = "Counter for the related counted storage map"] + pub fn counter_for_nominators( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "CounterForNominators", + vec![], + [ + 31u8, 94u8, 130u8, 138u8, 75u8, 8u8, 38u8, 162u8, 181u8, 5u8, 125u8, + 116u8, 9u8, 51u8, 22u8, 234u8, 40u8, 117u8, 215u8, 46u8, 82u8, 117u8, + 225u8, 1u8, 9u8, 208u8, 83u8, 63u8, 39u8, 187u8, 207u8, 191u8, + ], + ) + } + #[doc = " The maximum nominator count before we stop allowing new validators to join."] + #[doc = ""] + #[doc = " When this value is not set, no limits are enforced."] + pub fn max_nominators_count( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "MaxNominatorsCount", + vec![], + [ + 180u8, 190u8, 180u8, 66u8, 235u8, 173u8, 76u8, 160u8, 197u8, 92u8, + 96u8, 165u8, 220u8, 188u8, 32u8, 119u8, 3u8, 73u8, 86u8, 49u8, 104u8, + 17u8, 186u8, 98u8, 221u8, 175u8, 109u8, 254u8, 207u8, 245u8, 125u8, + 179u8, + ], + ) + } + #[doc = " The current era index."] + #[doc = ""] + #[doc = " This is the latest planned era, depending on how the Session pallet queues the validator"] + #[doc = " set, it might be active or not."] + pub fn current_era( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "CurrentEra", + vec![], + [ + 105u8, 150u8, 49u8, 122u8, 4u8, 78u8, 8u8, 121u8, 34u8, 136u8, 157u8, + 227u8, 59u8, 139u8, 7u8, 253u8, 7u8, 10u8, 117u8, 71u8, 240u8, 74u8, + 86u8, 36u8, 198u8, 37u8, 153u8, 93u8, 196u8, 22u8, 192u8, 243u8, + ], + ) + } + #[doc = " The active era information, it holds index and start."] + #[doc = ""] + #[doc = " The active era is the era being currently rewarded. Validator set of this era must be"] + #[doc = " equal to [`SessionInterface::validators`]."] + pub fn active_era( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_staking::ActiveEraInfo, + >, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "ActiveEra", + vec![], + [ + 15u8, 112u8, 251u8, 183u8, 108u8, 61u8, 28u8, 71u8, 44u8, 150u8, 162u8, + 4u8, 143u8, 121u8, 11u8, 37u8, 83u8, 29u8, 193u8, 21u8, 210u8, 116u8, + 190u8, 236u8, 213u8, 235u8, 49u8, 97u8, 189u8, 142u8, 251u8, 124u8, + ], + ) + } + #[doc = " The session index at which the era start for the last `HISTORY_DEPTH` eras."] + #[doc = ""] + #[doc = " Note: This tracks the starting session (i.e. session index when era start being active)"] + #[doc = " for the eras in `[CurrentEra - HISTORY_DEPTH, CurrentEra]`."] + pub fn eras_start_session_index( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "ErasStartSessionIndex", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + )], + [ + 92u8, 157u8, 168u8, 144u8, 132u8, 3u8, 212u8, 80u8, 230u8, 229u8, + 251u8, 218u8, 97u8, 55u8, 79u8, 100u8, 163u8, 91u8, 32u8, 246u8, 122u8, + 78u8, 149u8, 214u8, 103u8, 249u8, 119u8, 20u8, 101u8, 116u8, 110u8, + 185u8, + ], + ) + } + #[doc = " The session index at which the era start for the last `HISTORY_DEPTH` eras."] + #[doc = ""] + #[doc = " Note: This tracks the starting session (i.e. session index when era start being active)"] + #[doc = " for the eras in `[CurrentEra - HISTORY_DEPTH, CurrentEra]`."] + pub fn eras_start_session_index_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "ErasStartSessionIndex", + Vec::new(), + [ + 92u8, 157u8, 168u8, 144u8, 132u8, 3u8, 212u8, 80u8, 230u8, 229u8, + 251u8, 218u8, 97u8, 55u8, 79u8, 100u8, 163u8, 91u8, 32u8, 246u8, 122u8, + 78u8, 149u8, 214u8, 103u8, 249u8, 119u8, 20u8, 101u8, 116u8, 110u8, + 185u8, + ], + ) + } + #[doc = " Exposure of validator at era."] + #[doc = ""] + #[doc = " This is keyed first by the era index to allow bulk deletion and then the stash account."] + #[doc = ""] + #[doc = " Is it removed after `HISTORY_DEPTH` eras."] + #[doc = " If stakers hasn't been set or has been removed then empty exposure is returned."] + pub fn eras_stakers( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + _1: impl ::std::borrow::Borrow<::subxt::ext::sp_core::crypto::AccountId32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_staking::Exposure< + ::subxt::ext::sp_core::crypto::AccountId32, + ::core::primitive::u128, + >, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "ErasStakers", + vec![ + ::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + ), + ::subxt::storage::address::StorageMapKey::new( + _1.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + ), + ], + [ + 192u8, 50u8, 152u8, 151u8, 92u8, 180u8, 206u8, 15u8, 139u8, 210u8, + 128u8, 65u8, 92u8, 253u8, 43u8, 35u8, 139u8, 171u8, 73u8, 185u8, 32u8, + 78u8, 20u8, 197u8, 154u8, 90u8, 233u8, 231u8, 23u8, 22u8, 187u8, 156u8, + ], + ) + } + #[doc = " Exposure of validator at era."] + #[doc = ""] + #[doc = " This is keyed first by the era index to allow bulk deletion and then the stash account."] + #[doc = ""] + #[doc = " Is it removed after `HISTORY_DEPTH` eras."] + #[doc = " If stakers hasn't been set or has been removed then empty exposure is returned."] + pub fn eras_stakers_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_staking::Exposure< + ::subxt::ext::sp_core::crypto::AccountId32, + ::core::primitive::u128, + >, + >, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "ErasStakers", + Vec::new(), + [ + 192u8, 50u8, 152u8, 151u8, 92u8, 180u8, 206u8, 15u8, 139u8, 210u8, + 128u8, 65u8, 92u8, 253u8, 43u8, 35u8, 139u8, 171u8, 73u8, 185u8, 32u8, + 78u8, 20u8, 197u8, 154u8, 90u8, 233u8, 231u8, 23u8, 22u8, 187u8, 156u8, + ], + ) + } + #[doc = " Clipped Exposure of validator at era."] + #[doc = ""] + #[doc = " This is similar to [`ErasStakers`] but number of nominators exposed is reduced to the"] + #[doc = " `T::MaxNominatorRewardedPerValidator` biggest stakers."] + #[doc = " (Note: the field `total` and `own` of the exposure remains unchanged)."] + #[doc = " This is used to limit the i/o cost for the nominator payout."] + #[doc = ""] + #[doc = " This is keyed fist by the era index to allow bulk deletion and then the stash account."] + #[doc = ""] + #[doc = " Is it removed after `HISTORY_DEPTH` eras."] + #[doc = " If stakers hasn't been set or has been removed then empty exposure is returned."] + pub fn eras_stakers_clipped( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + _1: impl ::std::borrow::Borrow<::subxt::ext::sp_core::crypto::AccountId32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_staking::Exposure< + ::subxt::ext::sp_core::crypto::AccountId32, + ::core::primitive::u128, + >, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "ErasStakersClipped", + vec![ + ::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + ), + ::subxt::storage::address::StorageMapKey::new( + _1.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + ), + ], + [ + 43u8, 159u8, 113u8, 223u8, 122u8, 169u8, 98u8, 153u8, 26u8, 55u8, 71u8, + 119u8, 174u8, 48u8, 158u8, 45u8, 214u8, 26u8, 136u8, 215u8, 46u8, + 161u8, 185u8, 17u8, 174u8, 204u8, 206u8, 246u8, 49u8, 87u8, 134u8, + 169u8, + ], + ) + } + #[doc = " Clipped Exposure of validator at era."] + #[doc = ""] + #[doc = " This is similar to [`ErasStakers`] but number of nominators exposed is reduced to the"] + #[doc = " `T::MaxNominatorRewardedPerValidator` biggest stakers."] + #[doc = " (Note: the field `total` and `own` of the exposure remains unchanged)."] + #[doc = " This is used to limit the i/o cost for the nominator payout."] + #[doc = ""] + #[doc = " This is keyed fist by the era index to allow bulk deletion and then the stash account."] + #[doc = ""] + #[doc = " Is it removed after `HISTORY_DEPTH` eras."] + #[doc = " If stakers hasn't been set or has been removed then empty exposure is returned."] + pub fn eras_stakers_clipped_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_staking::Exposure< + ::subxt::ext::sp_core::crypto::AccountId32, + ::core::primitive::u128, + >, + >, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "ErasStakersClipped", + Vec::new(), + [ + 43u8, 159u8, 113u8, 223u8, 122u8, 169u8, 98u8, 153u8, 26u8, 55u8, 71u8, + 119u8, 174u8, 48u8, 158u8, 45u8, 214u8, 26u8, 136u8, 215u8, 46u8, + 161u8, 185u8, 17u8, 174u8, 204u8, 206u8, 246u8, 49u8, 87u8, 134u8, + 169u8, + ], + ) + } + #[doc = " Similar to `ErasStakers`, this holds the preferences of validators."] + #[doc = ""] + #[doc = " This is keyed first by the era index to allow bulk deletion and then the stash account."] + #[doc = ""] + #[doc = " Is it removed after `HISTORY_DEPTH` eras."] + pub fn eras_validator_prefs( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + _1: impl ::std::borrow::Borrow<::subxt::ext::sp_core::crypto::AccountId32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_staking::ValidatorPrefs, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "ErasValidatorPrefs", + vec![ + ::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + ), + ::subxt::storage::address::StorageMapKey::new( + _1.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + ), + ], + [ + 6u8, 196u8, 209u8, 138u8, 252u8, 18u8, 203u8, 86u8, 129u8, 62u8, 4u8, + 56u8, 234u8, 114u8, 141u8, 136u8, 127u8, 224u8, 142u8, 89u8, 150u8, + 33u8, 31u8, 50u8, 140u8, 108u8, 124u8, 77u8, 188u8, 102u8, 230u8, + 174u8, + ], + ) + } + #[doc = " Similar to `ErasStakers`, this holds the preferences of validators."] + #[doc = ""] + #[doc = " This is keyed first by the era index to allow bulk deletion and then the stash account."] + #[doc = ""] + #[doc = " Is it removed after `HISTORY_DEPTH` eras."] + pub fn eras_validator_prefs_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_staking::ValidatorPrefs, + >, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "ErasValidatorPrefs", + Vec::new(), + [ + 6u8, 196u8, 209u8, 138u8, 252u8, 18u8, 203u8, 86u8, 129u8, 62u8, 4u8, + 56u8, 234u8, 114u8, 141u8, 136u8, 127u8, 224u8, 142u8, 89u8, 150u8, + 33u8, 31u8, 50u8, 140u8, 108u8, 124u8, 77u8, 188u8, 102u8, 230u8, + 174u8, + ], + ) + } + #[doc = " The total validator era payout for the last `HISTORY_DEPTH` eras."] + #[doc = ""] + #[doc = " Eras that haven't finished yet or has been removed doesn't have reward."] + pub fn eras_validator_reward( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "ErasValidatorReward", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + )], + [ + 87u8, 80u8, 156u8, 123u8, 107u8, 77u8, 203u8, 37u8, 231u8, 84u8, 124u8, + 155u8, 227u8, 212u8, 212u8, 179u8, 84u8, 161u8, 223u8, 255u8, 254u8, + 107u8, 52u8, 89u8, 98u8, 169u8, 136u8, 241u8, 104u8, 3u8, 244u8, 161u8, + ], + ) + } + #[doc = " The total validator era payout for the last `HISTORY_DEPTH` eras."] + #[doc = ""] + #[doc = " Eras that haven't finished yet or has been removed doesn't have reward."] + pub fn eras_validator_reward_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "ErasValidatorReward", + Vec::new(), + [ + 87u8, 80u8, 156u8, 123u8, 107u8, 77u8, 203u8, 37u8, 231u8, 84u8, 124u8, + 155u8, 227u8, 212u8, 212u8, 179u8, 84u8, 161u8, 223u8, 255u8, 254u8, + 107u8, 52u8, 89u8, 98u8, 169u8, 136u8, 241u8, 104u8, 3u8, 244u8, 161u8, + ], + ) + } + #[doc = " Rewards for the last `HISTORY_DEPTH` eras."] + #[doc = " If reward hasn't been set or has been removed then 0 reward is returned."] + pub fn eras_reward_points( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_staking::EraRewardPoints< + ::subxt::ext::sp_core::crypto::AccountId32, + >, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "ErasRewardPoints", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + )], + [ + 194u8, 29u8, 20u8, 83u8, 200u8, 47u8, 158u8, 102u8, 88u8, 65u8, 24u8, + 255u8, 120u8, 178u8, 23u8, 232u8, 15u8, 64u8, 206u8, 0u8, 170u8, 40u8, + 18u8, 149u8, 45u8, 90u8, 179u8, 127u8, 52u8, 59u8, 37u8, 192u8, + ], + ) + } + #[doc = " Rewards for the last `HISTORY_DEPTH` eras."] + #[doc = " If reward hasn't been set or has been removed then 0 reward is returned."] + pub fn eras_reward_points_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_staking::EraRewardPoints< + ::subxt::ext::sp_core::crypto::AccountId32, + >, + >, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "ErasRewardPoints", + Vec::new(), + [ + 194u8, 29u8, 20u8, 83u8, 200u8, 47u8, 158u8, 102u8, 88u8, 65u8, 24u8, + 255u8, 120u8, 178u8, 23u8, 232u8, 15u8, 64u8, 206u8, 0u8, 170u8, 40u8, + 18u8, 149u8, 45u8, 90u8, 179u8, 127u8, 52u8, 59u8, 37u8, 192u8, + ], + ) + } + #[doc = " The total amount staked for the last `HISTORY_DEPTH` eras."] + #[doc = " If total hasn't been set or has been removed then 0 stake is returned."] + pub fn eras_total_stake( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "ErasTotalStake", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + )], + [ + 224u8, 240u8, 168u8, 69u8, 148u8, 140u8, 249u8, 240u8, 4u8, 46u8, 77u8, + 11u8, 224u8, 65u8, 26u8, 239u8, 1u8, 110u8, 53u8, 11u8, 247u8, 235u8, + 142u8, 234u8, 22u8, 43u8, 24u8, 36u8, 37u8, 43u8, 170u8, 40u8, + ], + ) + } + #[doc = " The total amount staked for the last `HISTORY_DEPTH` eras."] + #[doc = " If total hasn't been set or has been removed then 0 stake is returned."] + pub fn eras_total_stake_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "ErasTotalStake", + Vec::new(), + [ + 224u8, 240u8, 168u8, 69u8, 148u8, 140u8, 249u8, 240u8, 4u8, 46u8, 77u8, + 11u8, 224u8, 65u8, 26u8, 239u8, 1u8, 110u8, 53u8, 11u8, 247u8, 235u8, + 142u8, 234u8, 22u8, 43u8, 24u8, 36u8, 37u8, 43u8, 170u8, 40u8, + ], + ) + } + #[doc = " Mode of era forcing."] + pub fn force_era( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "ForceEra", + vec![], + [ + 221u8, 41u8, 71u8, 21u8, 28u8, 193u8, 65u8, 97u8, 103u8, 37u8, 145u8, + 146u8, 183u8, 194u8, 57u8, 131u8, 214u8, 136u8, 68u8, 156u8, 140u8, + 194u8, 69u8, 151u8, 115u8, 177u8, 92u8, 147u8, 29u8, 40u8, 41u8, 31u8, + ], + ) + } + #[doc = " The percentage of the slash that is distributed to reporters."] + #[doc = ""] + #[doc = " The rest of the slashed value is handled by the `Slash`."] + pub fn slash_reward_fraction( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_arithmetic::per_things::Perbill, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "SlashRewardFraction", + vec![], + [ + 167u8, 79u8, 143u8, 202u8, 199u8, 100u8, 129u8, 162u8, 23u8, 165u8, + 106u8, 170u8, 244u8, 86u8, 144u8, 242u8, 65u8, 207u8, 115u8, 224u8, + 231u8, 155u8, 55u8, 139u8, 101u8, 129u8, 242u8, 196u8, 130u8, 50u8, + 3u8, 117u8, + ], + ) + } + #[doc = " The amount of currency given to reporters of a slash event which was"] + #[doc = " canceled by extraordinary circumstances (e.g. governance)."] + pub fn canceled_slash_payout( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "CanceledSlashPayout", + vec![], + [ + 126u8, 218u8, 66u8, 92u8, 82u8, 124u8, 145u8, 161u8, 40u8, 176u8, 14u8, + 211u8, 178u8, 216u8, 8u8, 156u8, 83u8, 14u8, 91u8, 15u8, 200u8, 170u8, + 3u8, 127u8, 141u8, 139u8, 151u8, 98u8, 74u8, 96u8, 238u8, 29u8, + ], + ) + } + #[doc = " All unapplied slashes that are queued for later."] + pub fn unapplied_slashes( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + ::std::vec::Vec< + runtime_types::pallet_staking::UnappliedSlash< + ::subxt::ext::sp_core::crypto::AccountId32, + ::core::primitive::u128, + >, + >, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "UnappliedSlashes", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + )], + [ + 130u8, 4u8, 163u8, 163u8, 28u8, 85u8, 34u8, 156u8, 47u8, 125u8, 57u8, + 0u8, 133u8, 176u8, 130u8, 2u8, 175u8, 180u8, 167u8, 203u8, 230u8, 82u8, + 198u8, 183u8, 55u8, 82u8, 221u8, 248u8, 100u8, 173u8, 206u8, 151u8, + ], + ) + } + #[doc = " All unapplied slashes that are queued for later."] + pub fn unapplied_slashes_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + ::std::vec::Vec< + runtime_types::pallet_staking::UnappliedSlash< + ::subxt::ext::sp_core::crypto::AccountId32, + ::core::primitive::u128, + >, + >, + >, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "UnappliedSlashes", + Vec::new(), + [ + 130u8, 4u8, 163u8, 163u8, 28u8, 85u8, 34u8, 156u8, 47u8, 125u8, 57u8, + 0u8, 133u8, 176u8, 130u8, 2u8, 175u8, 180u8, 167u8, 203u8, 230u8, 82u8, + 198u8, 183u8, 55u8, 82u8, 221u8, 248u8, 100u8, 173u8, 206u8, 151u8, + ], + ) + } + #[doc = " A mapping from still-bonded eras to the first session index of that era."] + #[doc = ""] + #[doc = " Must contains information for eras for the range:"] + #[doc = " `[active_era - bounding_duration; active_era]`"] + pub fn bonded_eras( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + ::std::vec::Vec<(::core::primitive::u32, ::core::primitive::u32)>, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "BondedEras", + vec![], + [ + 243u8, 162u8, 236u8, 198u8, 122u8, 182u8, 37u8, 55u8, 171u8, 156u8, + 235u8, 223u8, 226u8, 129u8, 89u8, 206u8, 2u8, 155u8, 222u8, 154u8, + 116u8, 124u8, 4u8, 119u8, 155u8, 94u8, 248u8, 30u8, 171u8, 51u8, 78u8, + 106u8, + ], + ) + } + #[doc = " All slashing events on validators, mapped by era to the highest slash proportion"] + #[doc = " and slash value of the era."] + pub fn validator_slash_in_era( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + _1: impl ::std::borrow::Borrow<::subxt::ext::sp_core::crypto::AccountId32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<( + runtime_types::sp_arithmetic::per_things::Perbill, + ::core::primitive::u128, + )>, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "ValidatorSlashInEra", + vec![ + ::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + ), + ::subxt::storage::address::StorageMapKey::new( + _1.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + ), + ], + [ + 237u8, 80u8, 3u8, 237u8, 9u8, 40u8, 212u8, 15u8, 251u8, 196u8, 85u8, + 29u8, 27u8, 151u8, 98u8, 122u8, 189u8, 147u8, 205u8, 40u8, 202u8, + 194u8, 158u8, 96u8, 138u8, 16u8, 116u8, 71u8, 140u8, 163u8, 121u8, + 197u8, + ], + ) + } + #[doc = " All slashing events on validators, mapped by era to the highest slash proportion"] + #[doc = " and slash value of the era."] + pub fn validator_slash_in_era_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<( + runtime_types::sp_arithmetic::per_things::Perbill, + ::core::primitive::u128, + )>, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "ValidatorSlashInEra", + Vec::new(), + [ + 237u8, 80u8, 3u8, 237u8, 9u8, 40u8, 212u8, 15u8, 251u8, 196u8, 85u8, + 29u8, 27u8, 151u8, 98u8, 122u8, 189u8, 147u8, 205u8, 40u8, 202u8, + 194u8, 158u8, 96u8, 138u8, 16u8, 116u8, 71u8, 140u8, 163u8, 121u8, + 197u8, + ], + ) + } + #[doc = " All slashing events on nominators, mapped by era to the highest slash value of the era."] + pub fn nominator_slash_in_era( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + _1: impl ::std::borrow::Borrow<::subxt::ext::sp_core::crypto::AccountId32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "NominatorSlashInEra", + vec![ + ::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + ), + ::subxt::storage::address::StorageMapKey::new( + _1.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + ), + ], + [ + 249u8, 85u8, 170u8, 41u8, 179u8, 194u8, 180u8, 12u8, 53u8, 101u8, 80u8, + 96u8, 166u8, 71u8, 239u8, 23u8, 153u8, 19u8, 152u8, 38u8, 138u8, 136u8, + 221u8, 200u8, 18u8, 165u8, 26u8, 228u8, 195u8, 199u8, 62u8, 4u8, + ], + ) + } + #[doc = " All slashing events on nominators, mapped by era to the highest slash value of the era."] + pub fn nominator_slash_in_era_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "NominatorSlashInEra", + Vec::new(), + [ + 249u8, 85u8, 170u8, 41u8, 179u8, 194u8, 180u8, 12u8, 53u8, 101u8, 80u8, + 96u8, 166u8, 71u8, 239u8, 23u8, 153u8, 19u8, 152u8, 38u8, 138u8, 136u8, + 221u8, 200u8, 18u8, 165u8, 26u8, 228u8, 195u8, 199u8, 62u8, 4u8, + ], + ) + } + #[doc = " Slashing spans for stash accounts."] + pub fn slashing_spans( + &self, + _0: impl ::std::borrow::Borrow<::subxt::ext::sp_core::crypto::AccountId32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_staking::slashing::SlashingSpans, + >, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "SlashingSpans", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + )], + [ + 106u8, 115u8, 118u8, 52u8, 89u8, 77u8, 246u8, 5u8, 255u8, 204u8, 44u8, + 5u8, 66u8, 36u8, 227u8, 252u8, 86u8, 159u8, 186u8, 152u8, 196u8, 21u8, + 74u8, 201u8, 133u8, 93u8, 142u8, 191u8, 20u8, 27u8, 218u8, 157u8, + ], + ) + } + #[doc = " Slashing spans for stash accounts."] + pub fn slashing_spans_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_staking::slashing::SlashingSpans, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "SlashingSpans", + Vec::new(), + [ + 106u8, 115u8, 118u8, 52u8, 89u8, 77u8, 246u8, 5u8, 255u8, 204u8, 44u8, + 5u8, 66u8, 36u8, 227u8, 252u8, 86u8, 159u8, 186u8, 152u8, 196u8, 21u8, + 74u8, 201u8, 133u8, 93u8, 142u8, 191u8, 20u8, 27u8, 218u8, 157u8, + ], + ) + } + #[doc = " Records information about the maximum slash of a stash within a slashing span,"] + #[doc = " as well as how much reward has been paid out."] + pub fn span_slash( + &self, + _0: impl ::std::borrow::Borrow<::subxt::ext::sp_core::crypto::AccountId32>, + _1: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_staking::slashing::SpanRecord< + ::core::primitive::u128, + >, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "SpanSlash", + vec![::subxt::storage::address::StorageMapKey::new( + &(_0.borrow(), _1.borrow()), + ::subxt::storage::address::StorageHasher::Twox64Concat, + )], + [ + 160u8, 63u8, 115u8, 190u8, 233u8, 148u8, 75u8, 3u8, 11u8, 59u8, 184u8, + 220u8, 205u8, 64u8, 28u8, 190u8, 116u8, 210u8, 225u8, 230u8, 224u8, + 163u8, 103u8, 157u8, 100u8, 29u8, 86u8, 167u8, 84u8, 217u8, 109u8, + 200u8, + ], + ) + } + #[doc = " Records information about the maximum slash of a stash within a slashing span,"] + #[doc = " as well as how much reward has been paid out."] + pub fn span_slash_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_staking::slashing::SpanRecord< + ::core::primitive::u128, + >, + >, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "SpanSlash", + Vec::new(), + [ + 160u8, 63u8, 115u8, 190u8, 233u8, 148u8, 75u8, 3u8, 11u8, 59u8, 184u8, + 220u8, 205u8, 64u8, 28u8, 190u8, 116u8, 210u8, 225u8, 230u8, 224u8, + 163u8, 103u8, 157u8, 100u8, 29u8, 86u8, 167u8, 84u8, 217u8, 109u8, + 200u8, + ], + ) + } + #[doc = " The last planned session scheduled by the session pallet."] + #[doc = ""] + #[doc = " This is basically in sync with the call to [`pallet_session::SessionManager::new_session`]."] + pub fn current_planned_session( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "CurrentPlannedSession", + vec![], + [ + 38u8, 22u8, 56u8, 250u8, 17u8, 154u8, 99u8, 37u8, 155u8, 253u8, 100u8, + 117u8, 5u8, 239u8, 31u8, 190u8, 53u8, 241u8, 11u8, 185u8, 163u8, 227u8, + 10u8, 77u8, 210u8, 64u8, 156u8, 218u8, 105u8, 16u8, 1u8, 57u8, + ], + ) + } + #[doc = " Indices of validators that have offended in the active era and whether they are currently"] + #[doc = " disabled."] + #[doc = ""] + #[doc = " This value should be a superset of disabled validators since not all offences lead to the"] + #[doc = " validator being disabled (if there was no slash). This is needed to track the percentage of"] + #[doc = " validators that have offended in the current era, ensuring a new era is forced if"] + #[doc = " `OffendingValidatorsThreshold` is reached. The vec is always kept sorted so that we can find"] + #[doc = " whether a given validator has previously offended using binary search. It gets cleared when"] + #[doc = " the era ends."] + pub fn offending_validators( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + ::std::vec::Vec<(::core::primitive::u32, ::core::primitive::bool)>, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "OffendingValidators", + vec![], + [ + 94u8, 254u8, 0u8, 50u8, 76u8, 232u8, 51u8, 153u8, 118u8, 14u8, 70u8, + 101u8, 112u8, 215u8, 173u8, 82u8, 182u8, 104u8, 167u8, 103u8, 187u8, + 168u8, 86u8, 16u8, 51u8, 235u8, 51u8, 119u8, 38u8, 154u8, 42u8, 113u8, + ], + ) + } + #[doc = " True if network has been upgraded to this version."] + #[doc = " Storage version of the pallet."] + #[doc = ""] + #[doc = " This is set to v7.0.0 for new networks."] + pub fn storage_version( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "StorageVersion", + vec![], + [ + 8u8, 115u8, 68u8, 36u8, 142u8, 21u8, 152u8, 127u8, 211u8, 17u8, 75u8, + 76u8, 65u8, 237u8, 187u8, 193u8, 176u8, 44u8, 19u8, 166u8, 116u8, + 148u8, 110u8, 234u8, 115u8, 254u8, 73u8, 128u8, 111u8, 140u8, 2u8, + 168u8, + ], + ) + } + #[doc = " The threshold for when users can start calling `chill_other` for other validators /"] + #[doc = " nominators. The threshold is compared to the actual number of validators / nominators"] + #[doc = " (`CountFor*`) in the system compared to the configured max (`Max*Count`)."] + pub fn chill_threshold( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_arithmetic::per_things::Percent, + >, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "ChillThreshold", + vec![], + [ + 174u8, 165u8, 249u8, 105u8, 24u8, 151u8, 115u8, 166u8, 199u8, 251u8, + 28u8, 5u8, 50u8, 95u8, 144u8, 110u8, 220u8, 76u8, 14u8, 23u8, 179u8, + 41u8, 11u8, 248u8, 28u8, 154u8, 159u8, 255u8, 156u8, 109u8, 98u8, 92u8, + ], + ) + } + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " Maximum number of nominations per nominator."] + pub fn max_nominations( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Staking", + "MaxNominations", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " Number of sessions per era."] + pub fn sessions_per_era( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Staking", + "SessionsPerEra", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " Number of eras that staked funds must remain bonded for."] + pub fn bonding_duration( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Staking", + "BondingDuration", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " Number of eras that slashes are deferred by, after computation."] + #[doc = ""] + #[doc = " This should be less than the bonding duration. Set to 0 if slashes"] + #[doc = " should be applied immediately, without opportunity for intervention."] + pub fn slash_defer_duration( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Staking", + "SlashDeferDuration", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " The maximum number of nominators rewarded for each validator."] + #[doc = ""] + #[doc = " For each validator only the `$MaxNominatorRewardedPerValidator` biggest stakers can"] + #[doc = " claim their reward. This used to limit the i/o cost for the nominator payout."] + pub fn max_nominator_rewarded_per_validator( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Staking", + "MaxNominatorRewardedPerValidator", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " The maximum number of `unlocking` chunks a [`StakingLedger`] can have. Effectively"] + #[doc = " determines how many unique eras a staker may be unbonding in."] + pub fn max_unlocking_chunks( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Staking", + "MaxUnlockingChunks", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + } + } + } + pub mod history { + use super::{root_mod, runtime_types}; + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " Mapping from historical session indices to session-data root hash and validator count."] + pub fn historical_sessions( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<( + ::subxt::ext::sp_core::H256, + ::core::primitive::u32, + )>, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "History", + "HistoricalSessions", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + )], + [ + 94u8, 72u8, 245u8, 151u8, 214u8, 10u8, 12u8, 113u8, 13u8, 141u8, 176u8, + 178u8, 115u8, 238u8, 224u8, 181u8, 18u8, 5u8, 71u8, 65u8, 189u8, 148u8, + 161u8, 106u8, 24u8, 211u8, 72u8, 66u8, 221u8, 244u8, 117u8, 184u8, + ], + ) + } + #[doc = " Mapping from historical session indices to session-data root hash and validator count."] + pub fn historical_sessions_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<( + ::subxt::ext::sp_core::H256, + ::core::primitive::u32, + )>, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "History", + "HistoricalSessions", + Vec::new(), + [ + 94u8, 72u8, 245u8, 151u8, 214u8, 10u8, 12u8, 113u8, 13u8, 141u8, 176u8, + 178u8, 115u8, 238u8, 224u8, 181u8, 18u8, 5u8, 71u8, 65u8, 189u8, 148u8, + 161u8, 106u8, 24u8, 211u8, 72u8, 66u8, 221u8, 244u8, 117u8, 184u8, + ], + ) + } + #[doc = " The range of historical sessions we store. [first, last)"] + pub fn stored_range( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<( + ::core::primitive::u32, + ::core::primitive::u32, + )>, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "History", + "StoredRange", + vec![], + [ + 89u8, 239u8, 197u8, 93u8, 135u8, 62u8, 142u8, 237u8, 64u8, 200u8, + 164u8, 4u8, 130u8, 233u8, 16u8, 238u8, 166u8, 206u8, 71u8, 42u8, 171u8, + 84u8, 8u8, 245u8, 183u8, 216u8, 212u8, 16u8, 190u8, 3u8, 167u8, 189u8, + ], + ) + } + } + } + } + pub mod session { + use super::{root_mod, runtime_types}; + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub mod calls { + use super::{root_mod, runtime_types}; + type DispatchError = runtime_types::sp_runtime::DispatchError; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct SetKeys { + pub keys: runtime_types::aleph_runtime::SessionKeys, + pub proof: ::std::vec::Vec<::core::primitive::u8>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct PurgeKeys; + pub struct TransactionApi; + impl TransactionApi { + #[doc = "Sets the session key(s) of the function caller to `keys`."] + #[doc = "Allows an account to set its session key prior to becoming a validator."] + #[doc = "This doesn't take effect until the next session."] + #[doc = ""] + #[doc = "The dispatch origin of this function must be signed."] + #[doc = ""] + #[doc = "# "] + #[doc = "- Complexity: `O(1)`. Actual cost depends on the number of length of"] + #[doc = " `T::Keys::key_ids()` which is fixed."] + #[doc = "- DbReads: `origin account`, `T::ValidatorIdOf`, `NextKeys`"] + #[doc = "- DbWrites: `origin account`, `NextKeys`"] + #[doc = "- DbReads per key id: `KeyOwner`"] + #[doc = "- DbWrites per key id: `KeyOwner`"] + #[doc = "# "] + pub fn set_keys( + &self, + keys: runtime_types::aleph_runtime::SessionKeys, + proof: ::std::vec::Vec<::core::primitive::u8>, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Session", + "set_keys", + SetKeys { keys, proof }, + [ + 104u8, 12u8, 102u8, 88u8, 135u8, 226u8, 42u8, 162u8, 217u8, 56u8, + 227u8, 24u8, 190u8, 82u8, 1u8, 41u8, 49u8, 50u8, 146u8, 96u8, 21u8, + 56u8, 131u8, 32u8, 244u8, 189u8, 95u8, 22u8, 219u8, 106u8, 236u8, + 206u8, + ], + ) + } + #[doc = "Removes any session key(s) of the function caller."] + #[doc = ""] + #[doc = "This doesn't take effect until the next session."] + #[doc = ""] + #[doc = "The dispatch origin of this function must be Signed and the account must be either be"] + #[doc = "convertible to a validator ID using the chain's typical addressing system (this usually"] + #[doc = "means being a controller account) or directly convertible into a validator ID (which"] + #[doc = "usually means being a stash account)."] + #[doc = ""] + #[doc = "# "] + #[doc = "- Complexity: `O(1)` in number of key types. Actual cost depends on the number of length"] + #[doc = " of `T::Keys::key_ids()` which is fixed."] + #[doc = "- DbReads: `T::ValidatorIdOf`, `NextKeys`, `origin account`"] + #[doc = "- DbWrites: `NextKeys`, `origin account`"] + #[doc = "- DbWrites per key id: `KeyOwner`"] + #[doc = "# "] + pub fn purge_keys(&self) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Session", + "purge_keys", + PurgeKeys {}, + [ + 200u8, 255u8, 4u8, 213u8, 188u8, 92u8, 99u8, 116u8, 163u8, 152u8, 29u8, + 35u8, 133u8, 119u8, 246u8, 44u8, 91u8, 31u8, 145u8, 23u8, 213u8, 64u8, + 71u8, 242u8, 207u8, 239u8, 231u8, 37u8, 61u8, 63u8, 190u8, 35u8, + ], + ) + } + } + } + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub type Event = runtime_types::pallet_session::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "New session has happened. Note that the argument is the session index, not the"] + #[doc = "block number as the type might suggest."] + pub struct NewSession { + pub session_index: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for NewSession { + const PALLET: &'static str = "Session"; + const EVENT: &'static str = "NewSession"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " The current set of validators."] + pub fn validators( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + ::std::vec::Vec<::subxt::ext::sp_core::crypto::AccountId32>, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Session", + "Validators", + vec![], + [ + 144u8, 235u8, 200u8, 43u8, 151u8, 57u8, 147u8, 172u8, 201u8, 202u8, + 242u8, 96u8, 57u8, 76u8, 124u8, 77u8, 42u8, 113u8, 218u8, 220u8, 230u8, + 32u8, 151u8, 152u8, 172u8, 106u8, 60u8, 227u8, 122u8, 118u8, 137u8, + 68u8, + ], + ) + } + #[doc = " Current index of the session."] + pub fn current_index( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Session", + "CurrentIndex", + vec![], + [ + 148u8, 179u8, 159u8, 15u8, 197u8, 95u8, 214u8, 30u8, 209u8, 251u8, + 183u8, 231u8, 91u8, 25u8, 181u8, 191u8, 143u8, 252u8, 227u8, 80u8, + 159u8, 66u8, 194u8, 67u8, 113u8, 74u8, 111u8, 91u8, 218u8, 187u8, + 130u8, 40u8, + ], + ) + } + #[doc = " True if the underlying economic identities or weighting behind the validators"] + #[doc = " has changed in the queued validator set."] + pub fn queued_changed( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::bool>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Session", + "QueuedChanged", + vec![], + [ + 105u8, 140u8, 235u8, 218u8, 96u8, 100u8, 252u8, 10u8, 58u8, 221u8, + 244u8, 251u8, 67u8, 91u8, 80u8, 202u8, 152u8, 42u8, 50u8, 113u8, 200u8, + 247u8, 59u8, 213u8, 77u8, 195u8, 1u8, 150u8, 220u8, 18u8, 245u8, 46u8, + ], + ) + } + #[doc = " The queued keys for the next session. When the next session begins, these keys"] + #[doc = " will be used to determine the validator's session keys."] + pub fn queued_keys( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + ::std::vec::Vec<( + ::subxt::ext::sp_core::crypto::AccountId32, + runtime_types::aleph_runtime::SessionKeys, + )>, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Session", + "QueuedKeys", + vec![], + [ + 225u8, 184u8, 241u8, 120u8, 191u8, 179u8, 152u8, 85u8, 19u8, 139u8, + 177u8, 231u8, 102u8, 210u8, 125u8, 68u8, 196u8, 242u8, 40u8, 39u8, + 70u8, 16u8, 6u8, 167u8, 81u8, 190u8, 61u8, 91u8, 246u8, 206u8, 249u8, + 78u8, + ], + ) + } + #[doc = " Indices of disabled validators."] + #[doc = ""] + #[doc = " The vec is always kept sorted so that we can find whether a given validator is"] + #[doc = " disabled using binary search. It gets cleared when `on_session_ending` returns"] + #[doc = " a new set of identities."] + pub fn disabled_validators( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::std::vec::Vec<::core::primitive::u32>>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Session", + "DisabledValidators", + vec![], + [ + 135u8, 22u8, 22u8, 97u8, 82u8, 217u8, 144u8, 141u8, 121u8, 240u8, + 189u8, 16u8, 176u8, 88u8, 177u8, 31u8, 20u8, 242u8, 73u8, 104u8, 11u8, + 110u8, 214u8, 34u8, 52u8, 217u8, 106u8, 33u8, 174u8, 174u8, 198u8, + 84u8, + ], + ) + } + #[doc = " The next session keys for a validator."] + pub fn next_keys( + &self, + _0: impl ::std::borrow::Borrow<::subxt::ext::sp_core::crypto::AccountId32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Session", + "NextKeys", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + )], + [ + 18u8, 209u8, 31u8, 20u8, 131u8, 9u8, 97u8, 157u8, 63u8, 9u8, 233u8, + 216u8, 40u8, 240u8, 66u8, 111u8, 60u8, 87u8, 83u8, 178u8, 17u8, 105u8, + 214u8, 169u8, 171u8, 220u8, 7u8, 121u8, 35u8, 229u8, 253u8, 40u8, + ], + ) + } + #[doc = " The next session keys for a validator."] + pub fn next_keys_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Session", + "NextKeys", + Vec::new(), + [ + 18u8, 209u8, 31u8, 20u8, 131u8, 9u8, 97u8, 157u8, 63u8, 9u8, 233u8, + 216u8, 40u8, 240u8, 66u8, 111u8, 60u8, 87u8, 83u8, 178u8, 17u8, 105u8, + 214u8, 169u8, 171u8, 220u8, 7u8, 121u8, 35u8, 229u8, 253u8, 40u8, + ], + ) + } + #[doc = " The owner of a key. The key is the `KeyTypeId` + the encoded key."] + pub fn key_owner( + &self, + _0: impl ::std::borrow::Borrow, + _1: impl ::std::borrow::Borrow<[::core::primitive::u8]>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::subxt::ext::sp_core::crypto::AccountId32>, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Session", + "KeyOwner", + vec![::subxt::storage::address::StorageMapKey::new( + &(_0.borrow(), _1.borrow()), + ::subxt::storage::address::StorageHasher::Twox64Concat, + )], + [ + 4u8, 91u8, 25u8, 84u8, 250u8, 201u8, 174u8, 129u8, 201u8, 58u8, 197u8, + 199u8, 137u8, 240u8, 118u8, 33u8, 99u8, 2u8, 195u8, 57u8, 53u8, 172u8, + 0u8, 148u8, 203u8, 144u8, 149u8, 64u8, 135u8, 254u8, 242u8, 215u8, + ], + ) + } + #[doc = " The owner of a key. The key is the `KeyTypeId` + the encoded key."] + pub fn key_owner_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::subxt::ext::sp_core::crypto::AccountId32>, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Session", + "KeyOwner", + Vec::new(), + [ + 4u8, 91u8, 25u8, 84u8, 250u8, 201u8, 174u8, 129u8, 201u8, 58u8, 197u8, + 199u8, 137u8, 240u8, 118u8, 33u8, 99u8, 2u8, 195u8, 57u8, 53u8, 172u8, + 0u8, 148u8, 203u8, 144u8, 149u8, 64u8, 135u8, 254u8, 242u8, 215u8, + ], + ) + } + } + } + } + pub mod aleph { + use super::{root_mod, runtime_types}; + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub mod calls { + use super::{root_mod, runtime_types}; + type DispatchError = runtime_types::sp_runtime::DispatchError; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct SetEmergencyFinalizer { + pub emergency_finalizer: runtime_types::primitives::app::Public, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct ScheduleFinalityVersionChange { + pub version_incoming: ::core::primitive::u32, + pub session: ::core::primitive::u32, + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "Sets the emergency finalization key. If called in session `N` the key can be used to"] + #[doc = "finalize blocks from session `N+2` onwards, until it gets overridden."] + pub fn set_emergency_finalizer( + &self, + emergency_finalizer: runtime_types::primitives::app::Public, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Aleph", + "set_emergency_finalizer", + SetEmergencyFinalizer { + emergency_finalizer, + }, + [ + 13u8, 25u8, 102u8, 60u8, 64u8, 83u8, 158u8, 113u8, 177u8, 194u8, 79u8, + 66u8, 171u8, 98u8, 169u8, 52u8, 69u8, 194u8, 54u8, 131u8, 190u8, 83u8, + 21u8, 64u8, 119u8, 90u8, 53u8, 125u8, 52u8, 155u8, 222u8, 76u8, + ], + ) + } + #[doc = "Schedules a finality version change for a future session. If such a scheduled future"] + #[doc = "version is already set, it is replaced with the provided one."] + #[doc = "Any rescheduling of a future version change needs to occur at least 2 sessions in"] + #[doc = "advance of the provided session of the version change."] + #[doc = "In order to cancel a scheduled version change, a new version change should be scheduled"] + #[doc = "with the same version as the current one."] + pub fn schedule_finality_version_change( + &self, + version_incoming: ::core::primitive::u32, + session: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Aleph", + "schedule_finality_version_change", + ScheduleFinalityVersionChange { + version_incoming, + session, + }, + [ + 27u8, 162u8, 238u8, 141u8, 132u8, 87u8, 69u8, 115u8, 243u8, 197u8, + 38u8, 37u8, 243u8, 86u8, 45u8, 137u8, 73u8, 181u8, 108u8, 200u8, 168u8, + 141u8, 130u8, 244u8, 85u8, 128u8, 145u8, 34u8, 233u8, 87u8, 38u8, + 198u8, + ], + ) + } + } + } + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub type Event = runtime_types::pallet_aleph::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct ChangeEmergencyFinalizer(pub runtime_types::primitives::app::Public); + impl ::subxt::events::StaticEvent for ChangeEmergencyFinalizer { + const PALLET: &'static str = "Aleph"; + const EVENT: &'static str = "ChangeEmergencyFinalizer"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct ScheduleFinalityVersionChange(pub runtime_types::primitives::VersionChange); + impl ::subxt::events::StaticEvent for ScheduleFinalityVersionChange { + const PALLET: &'static str = "Aleph"; + const EVENT: &'static str = "ScheduleFinalityVersionChange"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct FinalityVersionChange(pub runtime_types::primitives::VersionChange); + impl ::subxt::events::StaticEvent for FinalityVersionChange { + const PALLET: &'static str = "Aleph"; + const EVENT: &'static str = "FinalityVersionChange"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + pub fn authorities( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + ::std::vec::Vec, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Aleph", + "Authorities", + vec![], + [ + 5u8, 88u8, 222u8, 150u8, 141u8, 89u8, 69u8, 47u8, 152u8, 80u8, 80u8, + 1u8, 20u8, 132u8, 5u8, 152u8, 175u8, 14u8, 99u8, 198u8, 102u8, 229u8, + 159u8, 198u8, 138u8, 149u8, 68u8, 195u8, 243u8, 50u8, 249u8, 170u8, + ], + ) + } + pub fn emergency_finalizer( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Aleph", + "EmergencyFinalizer", + vec![], + [ + 254u8, 68u8, 214u8, 192u8, 214u8, 1u8, 48u8, 167u8, 1u8, 55u8, 148u8, + 124u8, 72u8, 123u8, 148u8, 50u8, 131u8, 17u8, 48u8, 14u8, 48u8, 92u8, + 3u8, 56u8, 60u8, 224u8, 97u8, 60u8, 208u8, 53u8, 164u8, 88u8, + ], + ) + } + pub fn queued_emergency_finalizer( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Aleph", + "QueuedEmergencyFinalizer", + vec![], + [ + 156u8, 104u8, 166u8, 24u8, 170u8, 246u8, 39u8, 246u8, 130u8, 169u8, + 222u8, 196u8, 137u8, 216u8, 190u8, 64u8, 28u8, 50u8, 6u8, 194u8, 164u8, + 91u8, 85u8, 78u8, 212u8, 61u8, 126u8, 242u8, 207u8, 76u8, 227u8, 115u8, + ], + ) + } + pub fn next_emergency_finalizer( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Aleph", + "NextEmergencyFinalizer", + vec![], + [ + 84u8, 79u8, 27u8, 15u8, 74u8, 189u8, 24u8, 17u8, 157u8, 91u8, 245u8, + 30u8, 129u8, 11u8, 226u8, 87u8, 50u8, 182u8, 60u8, 73u8, 214u8, 46u8, + 132u8, 0u8, 53u8, 14u8, 228u8, 115u8, 240u8, 64u8, 158u8, 165u8, + ], + ) + } + #[doc = " Current finality version."] + pub fn finality_version( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Aleph", + "FinalityVersion", + vec![], + [ + 134u8, 19u8, 94u8, 247u8, 125u8, 18u8, 148u8, 160u8, 167u8, 235u8, + 174u8, 4u8, 107u8, 69u8, 55u8, 187u8, 249u8, 13u8, 129u8, 99u8, 116u8, + 158u8, 38u8, 29u8, 239u8, 112u8, 150u8, 92u8, 151u8, 197u8, 223u8, + 30u8, + ], + ) + } + #[doc = " Scheduled finality version change."] + pub fn finality_scheduled_version_change( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Aleph", + "FinalityScheduledVersionChange", + vec![], + [ + 195u8, 203u8, 203u8, 240u8, 214u8, 227u8, 177u8, 99u8, 82u8, 86u8, + 201u8, 237u8, 47u8, 32u8, 111u8, 219u8, 184u8, 107u8, 211u8, 83u8, + 25u8, 59u8, 170u8, 29u8, 24u8, 149u8, 85u8, 63u8, 37u8, 203u8, 129u8, + 97u8, + ], + ) + } + } + } + } + pub mod elections { + use super::{root_mod, runtime_types}; + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub mod calls { + use super::{root_mod, runtime_types}; + type DispatchError = runtime_types::sp_runtime::DispatchError; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct ChangeValidators { + pub reserved_validators: ::core::option::Option< + ::std::vec::Vec<::subxt::ext::sp_core::crypto::AccountId32>, + >, + pub non_reserved_validators: ::core::option::Option< + ::std::vec::Vec<::subxt::ext::sp_core::crypto::AccountId32>, + >, + pub committee_size: + ::core::option::Option, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct SetBanConfig { + pub minimal_expected_performance: ::core::option::Option<::core::primitive::u8>, + pub underperformed_session_count_threshold: + ::core::option::Option<::core::primitive::u32>, + pub clean_session_counter_delay: ::core::option::Option<::core::primitive::u32>, + pub ban_period: ::core::option::Option<::core::primitive::u32>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct BanFromCommittee { + pub banned: ::subxt::ext::sp_core::crypto::AccountId32, + pub ban_reason: ::std::vec::Vec<::core::primitive::u8>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct CancelBan { + pub banned: ::subxt::ext::sp_core::crypto::AccountId32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct SetElectionsOpenness { + pub openness: runtime_types::primitives::ElectionOpenness, + } + pub struct TransactionApi; + impl TransactionApi { + pub fn change_validators( + &self, + reserved_validators: ::core::option::Option< + ::std::vec::Vec<::subxt::ext::sp_core::crypto::AccountId32>, + >, + non_reserved_validators: ::core::option::Option< + ::std::vec::Vec<::subxt::ext::sp_core::crypto::AccountId32>, + >, + committee_size: ::core::option::Option< + runtime_types::primitives::CommitteeSeats, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Elections", + "change_validators", + ChangeValidators { + reserved_validators, + non_reserved_validators, + committee_size, + }, + [ + 88u8, 2u8, 255u8, 219u8, 50u8, 103u8, 169u8, 150u8, 249u8, 161u8, 57u8, + 39u8, 6u8, 241u8, 94u8, 139u8, 206u8, 236u8, 160u8, 92u8, 163u8, 170u8, + 222u8, 99u8, 50u8, 91u8, 194u8, 192u8, 99u8, 123u8, 41u8, 136u8, + ], + ) + } + #[doc = "Sets ban config, it has an immediate effect"] + pub fn set_ban_config( + &self, + minimal_expected_performance: ::core::option::Option<::core::primitive::u8>, + underperformed_session_count_threshold: ::core::option::Option< + ::core::primitive::u32, + >, + clean_session_counter_delay: ::core::option::Option<::core::primitive::u32>, + ban_period: ::core::option::Option<::core::primitive::u32>, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Elections", + "set_ban_config", + SetBanConfig { + minimal_expected_performance, + underperformed_session_count_threshold, + clean_session_counter_delay, + ban_period, + }, + [ + 228u8, 199u8, 170u8, 155u8, 208u8, 190u8, 211u8, 218u8, 105u8, 213u8, + 240u8, 152u8, 92u8, 19u8, 164u8, 28u8, 215u8, 145u8, 47u8, 248u8, + 219u8, 75u8, 234u8, 78u8, 29u8, 189u8, 35u8, 106u8, 165u8, 76u8, 27u8, + 50u8, + ], + ) + } + #[doc = "Schedule a non-reserved node to be banned out from the committee at the end of the era"] + pub fn ban_from_committee( + &self, + banned: ::subxt::ext::sp_core::crypto::AccountId32, + ban_reason: ::std::vec::Vec<::core::primitive::u8>, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Elections", + "ban_from_committee", + BanFromCommittee { banned, ban_reason }, + [ + 60u8, 254u8, 80u8, 201u8, 64u8, 189u8, 255u8, 111u8, 14u8, 9u8, 68u8, + 177u8, 196u8, 107u8, 10u8, 177u8, 78u8, 134u8, 98u8, 21u8, 179u8, 9u8, + 111u8, 185u8, 155u8, 39u8, 148u8, 88u8, 239u8, 16u8, 24u8, 171u8, + ], + ) + } + #[doc = "Schedule a non-reserved node to be banned out from the committee at the end of the era"] + pub fn cancel_ban( + &self, + banned: ::subxt::ext::sp_core::crypto::AccountId32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Elections", + "cancel_ban", + CancelBan { banned }, + [ + 103u8, 192u8, 40u8, 246u8, 206u8, 52u8, 222u8, 51u8, 39u8, 247u8, + 220u8, 175u8, 232u8, 31u8, 168u8, 99u8, 206u8, 45u8, 191u8, 161u8, + 107u8, 12u8, 112u8, 54u8, 163u8, 170u8, 221u8, 220u8, 122u8, 177u8, + 178u8, 246u8, + ], + ) + } + #[doc = "Set openness of the elections"] + pub fn set_elections_openness( + &self, + openness: runtime_types::primitives::ElectionOpenness, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Elections", + "set_elections_openness", + SetElectionsOpenness { openness }, + [ + 207u8, 20u8, 183u8, 25u8, 206u8, 225u8, 242u8, 167u8, 164u8, 54u8, + 111u8, 134u8, 139u8, 4u8, 7u8, 89u8, 119u8, 165u8, 53u8, 3u8, 96u8, + 107u8, 188u8, 196u8, 113u8, 35u8, 128u8, 240u8, 222u8, 23u8, 221u8, + 105u8, + ], + ) + } + } + } + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub type Event = runtime_types::pallet_elections::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "Committee for the next era has changed"] + pub struct ChangeValidators( + pub ::std::vec::Vec<::subxt::ext::sp_core::crypto::AccountId32>, + pub ::std::vec::Vec<::subxt::ext::sp_core::crypto::AccountId32>, + pub runtime_types::primitives::CommitteeSeats, + ); + impl ::subxt::events::StaticEvent for ChangeValidators { + const PALLET: &'static str = "Elections"; + const EVENT: &'static str = "ChangeValidators"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "Ban thresholds for the next era has changed"] + pub struct SetBanConfig(pub runtime_types::primitives::BanConfig); + impl ::subxt::events::StaticEvent for SetBanConfig { + const PALLET: &'static str = "Elections"; + const EVENT: &'static str = "SetBanConfig"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "Validators have been banned from the committee"] + pub struct BanValidators( + pub ::std::vec::Vec<( + ::subxt::ext::sp_core::crypto::AccountId32, + runtime_types::primitives::BanInfo, + )>, + ); + impl ::subxt::events::StaticEvent for BanValidators { + const PALLET: &'static str = "Elections"; + const EVENT: &'static str = "BanValidators"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " Desirable size of a committee, see [`CommitteeSeats`]."] + pub fn committee_size( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Elections", + "CommitteeSize", + vec![], + [ + 138u8, 114u8, 93u8, 183u8, 35u8, 215u8, 48u8, 195u8, 127u8, 157u8, + 38u8, 169u8, 255u8, 246u8, 178u8, 219u8, 221u8, 247u8, 35u8, 45u8, + 94u8, 195u8, 84u8, 36u8, 30u8, 252u8, 145u8, 90u8, 67u8, 254u8, 39u8, + 199u8, + ], + ) + } + #[doc = " Desired size of a committee in effect from a new era."] + pub fn next_era_committee_size( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Elections", + "NextEraCommitteeSize", + vec![], + [ + 1u8, 114u8, 197u8, 86u8, 178u8, 92u8, 167u8, 99u8, 96u8, 98u8, 65u8, + 149u8, 222u8, 39u8, 119u8, 24u8, 251u8, 65u8, 171u8, 126u8, 100u8, + 137u8, 50u8, 72u8, 108u8, 47u8, 95u8, 63u8, 202u8, 64u8, 120u8, 120u8, + ], + ) + } + #[doc = " Next era's list of reserved validators."] + pub fn next_era_reserved_validators( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + ::std::vec::Vec<::subxt::ext::sp_core::crypto::AccountId32>, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Elections", + "NextEraReservedValidators", + vec![], + [ + 6u8, 123u8, 0u8, 238u8, 248u8, 8u8, 50u8, 48u8, 77u8, 152u8, 162u8, + 53u8, 221u8, 121u8, 176u8, 84u8, 158u8, 169u8, 185u8, 96u8, 85u8, + 252u8, 56u8, 116u8, 7u8, 46u8, 147u8, 75u8, 194u8, 177u8, 0u8, 252u8, + ], + ) + } + #[doc = " Current era's list of reserved validators."] + pub fn current_era_validators( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::primitives::EraValidators< + ::subxt::ext::sp_core::crypto::AccountId32, + >, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Elections", + "CurrentEraValidators", + vec![], + [ + 120u8, 47u8, 38u8, 117u8, 185u8, 231u8, 146u8, 226u8, 139u8, 21u8, + 230u8, 120u8, 147u8, 157u8, 64u8, 50u8, 153u8, 160u8, 186u8, 53u8, + 215u8, 8u8, 39u8, 146u8, 195u8, 151u8, 191u8, 0u8, 105u8, 241u8, 152u8, + 97u8, + ], + ) + } + #[doc = " Next era's list of non reserved validators."] + pub fn next_era_non_reserved_validators( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + ::std::vec::Vec<::subxt::ext::sp_core::crypto::AccountId32>, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Elections", + "NextEraNonReservedValidators", + vec![], + [ + 118u8, 139u8, 183u8, 59u8, 75u8, 3u8, 245u8, 47u8, 30u8, 15u8, 23u8, + 237u8, 0u8, 153u8, 31u8, 251u8, 122u8, 172u8, 215u8, 255u8, 199u8, + 145u8, 242u8, 3u8, 132u8, 27u8, 20u8, 138u8, 252u8, 235u8, 215u8, 86u8, + ], + ) + } + #[doc = " A lookup how many blocks a validator produced."] + pub fn session_validator_block_count( + &self, + _0: impl ::std::borrow::Borrow<::subxt::ext::sp_core::crypto::AccountId32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Elections", + "SessionValidatorBlockCount", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + )], + [ + 186u8, 91u8, 185u8, 144u8, 216u8, 179u8, 157u8, 132u8, 17u8, 247u8, + 241u8, 172u8, 32u8, 7u8, 28u8, 60u8, 188u8, 192u8, 64u8, 29u8, 153u8, + 100u8, 130u8, 245u8, 189u8, 251u8, 68u8, 161u8, 202u8, 29u8, 153u8, + 131u8, + ], + ) + } + #[doc = " A lookup how many blocks a validator produced."] + pub fn session_validator_block_count_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Elections", + "SessionValidatorBlockCount", + Vec::new(), + [ + 186u8, 91u8, 185u8, 144u8, 216u8, 179u8, 157u8, 132u8, 17u8, 247u8, + 241u8, 172u8, 32u8, 7u8, 28u8, 60u8, 188u8, 192u8, 64u8, 29u8, 153u8, + 100u8, 130u8, 245u8, 189u8, 251u8, 68u8, 161u8, 202u8, 29u8, 153u8, + 131u8, + ], + ) + } + #[doc = " Total possible reward per validator for the current era."] + pub fn validator_era_total_reward( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_elections::ValidatorTotalRewards< + ::subxt::ext::sp_core::crypto::AccountId32, + >, + >, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Elections", + "ValidatorEraTotalReward", + vec![], + [ + 111u8, 103u8, 48u8, 14u8, 23u8, 139u8, 162u8, 122u8, 212u8, 85u8, 64u8, + 188u8, 36u8, 142u8, 80u8, 224u8, 89u8, 63u8, 104u8, 86u8, 51u8, 111u8, + 166u8, 53u8, 189u8, 181u8, 240u8, 250u8, 160u8, 128u8, 179u8, 9u8, + ], + ) + } + #[doc = " Current era config for ban functionality, see [`BanConfig`]"] + pub fn ban_config( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Elections", + "BanConfig", + vec![], + [ + 115u8, 228u8, 135u8, 32u8, 85u8, 156u8, 44u8, 195u8, 215u8, 11u8, 27u8, + 26u8, 231u8, 59u8, 249u8, 78u8, 172u8, 66u8, 81u8, 17u8, 99u8, 221u8, + 38u8, 253u8, 62u8, 54u8, 104u8, 161u8, 129u8, 92u8, 218u8, 193u8, + ], + ) + } + #[doc = " A lookup for a number of underperformance sessions for a given validator"] + pub fn underperformed_validator_session_count( + &self, + _0: impl ::std::borrow::Borrow<::subxt::ext::sp_core::crypto::AccountId32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Elections", + "UnderperformedValidatorSessionCount", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + )], + [ + 46u8, 74u8, 46u8, 159u8, 162u8, 118u8, 159u8, 155u8, 233u8, 63u8, + 101u8, 201u8, 56u8, 204u8, 126u8, 242u8, 131u8, 5u8, 29u8, 132u8, 43u8, + 205u8, 168u8, 157u8, 29u8, 183u8, 127u8, 202u8, 25u8, 245u8, 137u8, + 67u8, + ], + ) + } + #[doc = " A lookup for a number of underperformance sessions for a given validator"] + pub fn underperformed_validator_session_count_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Elections", + "UnderperformedValidatorSessionCount", + Vec::new(), + [ + 46u8, 74u8, 46u8, 159u8, 162u8, 118u8, 159u8, 155u8, 233u8, 63u8, + 101u8, 201u8, 56u8, 204u8, 126u8, 242u8, 131u8, 5u8, 29u8, 132u8, 43u8, + 205u8, 168u8, 157u8, 29u8, 183u8, 127u8, 202u8, 25u8, 245u8, 137u8, + 67u8, + ], + ) + } + #[doc = " Validators to be removed from non reserved list in the next era"] + pub fn banned( + &self, + _0: impl ::std::borrow::Borrow<::subxt::ext::sp_core::crypto::AccountId32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Elections", + "Banned", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + )], + [ + 202u8, 38u8, 165u8, 35u8, 95u8, 207u8, 116u8, 43u8, 148u8, 73u8, 193u8, + 187u8, 1u8, 88u8, 209u8, 13u8, 128u8, 168u8, 121u8, 62u8, 227u8, 172u8, + 87u8, 106u8, 15u8, 43u8, 136u8, 240u8, 249u8, 210u8, 25u8, 215u8, + ], + ) + } + #[doc = " Validators to be removed from non reserved list in the next era"] + pub fn banned_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Elections", + "Banned", + Vec::new(), + [ + 202u8, 38u8, 165u8, 35u8, 95u8, 207u8, 116u8, 43u8, 148u8, 73u8, 193u8, + 187u8, 1u8, 88u8, 209u8, 13u8, 128u8, 168u8, 121u8, 62u8, 227u8, 172u8, + 87u8, 106u8, 15u8, 43u8, 136u8, 240u8, 249u8, 210u8, 25u8, 215u8, + ], + ) + } + #[doc = " Openness of the elections, whether we allow all candidates that bonded enough tokens or"] + #[doc = " the validators list is managed by sudo"] + pub fn openness( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::primitives::ElectionOpenness, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Elections", + "Openness", + vec![], + [ + 128u8, 231u8, 144u8, 215u8, 195u8, 90u8, 89u8, 180u8, 151u8, 233u8, + 229u8, 205u8, 40u8, 26u8, 23u8, 134u8, 171u8, 172u8, 140u8, 248u8, + 172u8, 111u8, 92u8, 51u8, 189u8, 94u8, 91u8, 151u8, 129u8, 248u8, 78u8, + 12u8, + ], + ) + } + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " Nr of blocks in the session."] + pub fn session_period( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Elections", + "SessionPeriod", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " Maximum acceptable ban reason length."] + pub fn maximum_ban_reason_length( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Elections", + "MaximumBanReasonLength", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + } + } + } + pub mod treasury { + use super::{root_mod, runtime_types}; + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub mod calls { + use super::{root_mod, runtime_types}; + type DispatchError = runtime_types::sp_runtime::DispatchError; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct ProposeSpend { + #[codec(compact)] + pub value: ::core::primitive::u128, + pub beneficiary: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct RejectProposal { + #[codec(compact)] + pub proposal_id: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct ApproveProposal { + #[codec(compact)] + pub proposal_id: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct Spend { + #[codec(compact)] + pub amount: ::core::primitive::u128, + pub beneficiary: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct RemoveApproval { + #[codec(compact)] + pub proposal_id: ::core::primitive::u32, + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "Put forward a suggestion for spending. A deposit proportional to the value"] + #[doc = "is reserved and slashed if the proposal is rejected. It is returned once the"] + #[doc = "proposal is awarded."] + #[doc = ""] + #[doc = "# "] + #[doc = "- Complexity: O(1)"] + #[doc = "- DbReads: `ProposalCount`, `origin account`"] + #[doc = "- DbWrites: `ProposalCount`, `Proposals`, `origin account`"] + #[doc = "# "] + pub fn propose_spend( + &self, + value: ::core::primitive::u128, + beneficiary: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Treasury", + "propose_spend", + ProposeSpend { value, beneficiary }, + [ + 109u8, 46u8, 8u8, 159u8, 127u8, 79u8, 27u8, 100u8, 92u8, 244u8, 78u8, + 46u8, 105u8, 246u8, 169u8, 210u8, 149u8, 7u8, 108u8, 153u8, 203u8, + 223u8, 8u8, 117u8, 126u8, 250u8, 255u8, 52u8, 245u8, 69u8, 45u8, 136u8, + ], + ) + } + #[doc = "Reject a proposed spend. The original deposit will be slashed."] + #[doc = ""] + #[doc = "May only be called from `T::RejectOrigin`."] + #[doc = ""] + #[doc = "# "] + #[doc = "- Complexity: O(1)"] + #[doc = "- DbReads: `Proposals`, `rejected proposer account`"] + #[doc = "- DbWrites: `Proposals`, `rejected proposer account`"] + #[doc = "# "] + pub fn reject_proposal( + &self, + proposal_id: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Treasury", + "reject_proposal", + RejectProposal { proposal_id }, + [ + 106u8, 223u8, 97u8, 22u8, 111u8, 208u8, 128u8, 26u8, 198u8, 140u8, + 118u8, 126u8, 187u8, 51u8, 193u8, 50u8, 193u8, 68u8, 143u8, 144u8, + 34u8, 132u8, 44u8, 244u8, 105u8, 186u8, 223u8, 234u8, 17u8, 145u8, + 209u8, 145u8, + ], + ) + } + #[doc = "Approve a proposal. At a later time, the proposal will be allocated to the beneficiary"] + #[doc = "and the original deposit will be returned."] + #[doc = ""] + #[doc = "May only be called from `T::ApproveOrigin`."] + #[doc = ""] + #[doc = "# "] + #[doc = "- Complexity: O(1)."] + #[doc = "- DbReads: `Proposals`, `Approvals`"] + #[doc = "- DbWrite: `Approvals`"] + #[doc = "# "] + pub fn approve_proposal( + &self, + proposal_id: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Treasury", + "approve_proposal", + ApproveProposal { proposal_id }, + [ + 164u8, 229u8, 172u8, 98u8, 129u8, 62u8, 84u8, 128u8, 47u8, 108u8, 33u8, + 120u8, 89u8, 79u8, 57u8, 121u8, 4u8, 197u8, 170u8, 153u8, 156u8, 17u8, + 59u8, 164u8, 123u8, 227u8, 175u8, 195u8, 220u8, 160u8, 60u8, 186u8, + ], + ) + } + #[doc = "Propose and approve a spend of treasury funds."] + #[doc = ""] + #[doc = "- `origin`: Must be `SpendOrigin` with the `Success` value being at least `amount`."] + #[doc = "- `amount`: The amount to be transferred from the treasury to the `beneficiary`."] + #[doc = "- `beneficiary`: The destination account for the transfer."] + #[doc = ""] + #[doc = "NOTE: For record-keeping purposes, the proposer is deemed to be equivalent to the"] + #[doc = "beneficiary."] + pub fn spend( + &self, + amount: ::core::primitive::u128, + beneficiary: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Treasury", + "spend", + Spend { + amount, + beneficiary, + }, + [ + 177u8, 178u8, 242u8, 136u8, 135u8, 237u8, 114u8, 71u8, 233u8, 239u8, + 7u8, 84u8, 14u8, 228u8, 58u8, 31u8, 158u8, 185u8, 25u8, 91u8, 70u8, + 33u8, 19u8, 92u8, 100u8, 162u8, 5u8, 48u8, 20u8, 120u8, 9u8, 109u8, + ], + ) + } + #[doc = "Force a previously approved proposal to be removed from the approval queue."] + #[doc = "The original deposit will no longer be returned."] + #[doc = ""] + #[doc = "May only be called from `T::RejectOrigin`."] + #[doc = "- `proposal_id`: The index of a proposal"] + #[doc = ""] + #[doc = "# "] + #[doc = "- Complexity: O(A) where `A` is the number of approvals"] + #[doc = "- Db reads and writes: `Approvals`"] + #[doc = "# "] + #[doc = ""] + #[doc = "Errors:"] + #[doc = "- `ProposalNotApproved`: The `proposal_id` supplied was not found in the approval queue,"] + #[doc = "i.e., the proposal has not been approved. This could also mean the proposal does not"] + #[doc = "exist altogether, thus there is no way it would have been approved in the first place."] + pub fn remove_approval( + &self, + proposal_id: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Treasury", + "remove_approval", + RemoveApproval { proposal_id }, + [ + 133u8, 126u8, 181u8, 47u8, 196u8, 243u8, 7u8, 46u8, 25u8, 251u8, 154u8, + 125u8, 217u8, 77u8, 54u8, 245u8, 240u8, 180u8, 97u8, 34u8, 186u8, 53u8, + 225u8, 144u8, 155u8, 107u8, 172u8, 54u8, 250u8, 184u8, 178u8, 86u8, + ], + ) + } + } + } + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub type Event = runtime_types::pallet_treasury::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "New proposal."] + pub struct Proposed { + pub proposal_index: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for Proposed { + const PALLET: &'static str = "Treasury"; + const EVENT: &'static str = "Proposed"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "We have ended a spend period and will now allocate funds."] + pub struct Spending { + pub budget_remaining: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Spending { + const PALLET: &'static str = "Treasury"; + const EVENT: &'static str = "Spending"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "Some funds have been allocated."] + pub struct Awarded { + pub proposal_index: ::core::primitive::u32, + pub award: ::core::primitive::u128, + pub account: ::subxt::ext::sp_core::crypto::AccountId32, + } + impl ::subxt::events::StaticEvent for Awarded { + const PALLET: &'static str = "Treasury"; + const EVENT: &'static str = "Awarded"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "A proposal was rejected; funds were slashed."] + pub struct Rejected { + pub proposal_index: ::core::primitive::u32, + pub slashed: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Rejected { + const PALLET: &'static str = "Treasury"; + const EVENT: &'static str = "Rejected"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "Some of our funds have been burnt."] + pub struct Burnt { + pub burnt_funds: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Burnt { + const PALLET: &'static str = "Treasury"; + const EVENT: &'static str = "Burnt"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "Spending has finished; this is the amount that rolls over until next spend."] + pub struct Rollover { + pub rollover_balance: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Rollover { + const PALLET: &'static str = "Treasury"; + const EVENT: &'static str = "Rollover"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "Some funds have been deposited."] + pub struct Deposit { + pub value: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Deposit { + const PALLET: &'static str = "Treasury"; + const EVENT: &'static str = "Deposit"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "A new spend proposal has been approved."] + pub struct SpendApproved { + pub proposal_index: ::core::primitive::u32, + pub amount: ::core::primitive::u128, + pub beneficiary: ::subxt::ext::sp_core::crypto::AccountId32, + } + impl ::subxt::events::StaticEvent for SpendApproved { + const PALLET: &'static str = "Treasury"; + const EVENT: &'static str = "SpendApproved"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " Number of proposals that have been made."] + pub fn proposal_count( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Treasury", + "ProposalCount", + vec![], + [ + 132u8, 145u8, 78u8, 218u8, 51u8, 189u8, 55u8, 172u8, 143u8, 33u8, + 140u8, 99u8, 124u8, 208u8, 57u8, 232u8, 154u8, 110u8, 32u8, 142u8, + 24u8, 149u8, 109u8, 105u8, 30u8, 83u8, 39u8, 177u8, 127u8, 160u8, 34u8, + 70u8, + ], + ) + } + #[doc = " Proposals that have been made."] + pub fn proposals( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_treasury::Proposal< + ::subxt::ext::sp_core::crypto::AccountId32, + ::core::primitive::u128, + >, + >, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Treasury", + "Proposals", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + )], + [ + 62u8, 223u8, 55u8, 209u8, 151u8, 134u8, 122u8, 65u8, 207u8, 38u8, + 113u8, 213u8, 237u8, 48u8, 129u8, 32u8, 91u8, 228u8, 108u8, 91u8, 37u8, + 49u8, 94u8, 4u8, 75u8, 122u8, 25u8, 34u8, 198u8, 224u8, 246u8, 160u8, + ], + ) + } + #[doc = " Proposals that have been made."] + pub fn proposals_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_treasury::Proposal< + ::subxt::ext::sp_core::crypto::AccountId32, + ::core::primitive::u128, + >, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Treasury", + "Proposals", + Vec::new(), + [ + 62u8, 223u8, 55u8, 209u8, 151u8, 134u8, 122u8, 65u8, 207u8, 38u8, + 113u8, 213u8, 237u8, 48u8, 129u8, 32u8, 91u8, 228u8, 108u8, 91u8, 37u8, + 49u8, 94u8, 4u8, 75u8, 122u8, 25u8, 34u8, 198u8, 224u8, 246u8, 160u8, + ], + ) + } + #[doc = " Proposal indices that have been approved but not yet awarded."] + pub fn approvals( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_runtime::bounded::bounded_vec::BoundedVec< + ::core::primitive::u32, + >, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Treasury", + "Approvals", + vec![], + [ + 202u8, 106u8, 189u8, 40u8, 127u8, 172u8, 108u8, 50u8, 193u8, 4u8, + 248u8, 226u8, 176u8, 101u8, 212u8, 222u8, 64u8, 206u8, 244u8, 175u8, + 111u8, 106u8, 86u8, 96u8, 19u8, 109u8, 218u8, 152u8, 30u8, 59u8, 96u8, + 1u8, + ], + ) + } + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " Fraction of a proposal's value that should be bonded in order to place the proposal."] + #[doc = " An accepted proposal gets these back. A rejected proposal does not."] + pub fn proposal_bond( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_arithmetic::per_things::Permill, + >, + > { + ::subxt::constants::StaticConstantAddress::new( + "Treasury", + "ProposalBond", + [ + 225u8, 236u8, 95u8, 157u8, 90u8, 94u8, 106u8, 192u8, 254u8, 19u8, 87u8, + 80u8, 16u8, 62u8, 42u8, 204u8, 136u8, 106u8, 225u8, 53u8, 212u8, 52u8, + 177u8, 79u8, 4u8, 116u8, 201u8, 104u8, 222u8, 75u8, 86u8, 227u8, + ], + ) + } + #[doc = " Minimum amount of funds that should be placed in a deposit for making a proposal."] + pub fn proposal_bond_minimum( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Treasury", + "ProposalBondMinimum", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, + 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, + 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) + } + #[doc = " Maximum amount of funds that should be placed in a deposit for making a proposal."] + pub fn proposal_bond_maximum( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType< + ::core::option::Option<::core::primitive::u128>, + >, + > { + ::subxt::constants::StaticConstantAddress::new( + "Treasury", + "ProposalBondMaximum", + [ + 84u8, 154u8, 218u8, 83u8, 84u8, 189u8, 32u8, 20u8, 120u8, 194u8, 88u8, + 205u8, 109u8, 216u8, 114u8, 193u8, 120u8, 198u8, 154u8, 237u8, 134u8, + 204u8, 102u8, 247u8, 52u8, 103u8, 231u8, 43u8, 243u8, 122u8, 60u8, + 216u8, + ], + ) + } + #[doc = " Period between successive spends."] + pub fn spend_period( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Treasury", + "SpendPeriod", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " Percentage of spare funds (if any) that are burnt per spend period."] + pub fn burn( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_arithmetic::per_things::Permill, + >, + > { + ::subxt::constants::StaticConstantAddress::new( + "Treasury", + "Burn", + [ + 225u8, 236u8, 95u8, 157u8, 90u8, 94u8, 106u8, 192u8, 254u8, 19u8, 87u8, + 80u8, 16u8, 62u8, 42u8, 204u8, 136u8, 106u8, 225u8, 53u8, 212u8, 52u8, + 177u8, 79u8, 4u8, 116u8, 201u8, 104u8, 222u8, 75u8, 86u8, 227u8, + ], + ) + } + #[doc = " The treasury's pallet id, used for deriving its sovereign account ID."] + pub fn pallet_id( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType, + > { + ::subxt::constants::StaticConstantAddress::new( + "Treasury", + "PalletId", + [ + 139u8, 109u8, 228u8, 151u8, 252u8, 32u8, 130u8, 69u8, 112u8, 154u8, + 174u8, 45u8, 83u8, 245u8, 51u8, 132u8, 173u8, 5u8, 186u8, 24u8, 243u8, + 9u8, 12u8, 214u8, 80u8, 74u8, 69u8, 189u8, 30u8, 94u8, 22u8, 39u8, + ], + ) + } + #[doc = " The maximum number of approvals that can wait in the spending queue."] + #[doc = ""] + #[doc = " NOTE: This parameter is also used within the Bounties Pallet extension if enabled."] + pub fn max_approvals( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Treasury", + "MaxApprovals", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + } + } + } + pub mod vesting { + use super::{root_mod, runtime_types}; + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub mod calls { + use super::{root_mod, runtime_types}; + type DispatchError = runtime_types::sp_runtime::DispatchError; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct Vest; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct VestOther { + pub target: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct VestedTransfer { + pub target: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, + pub schedule: runtime_types::pallet_vesting::vesting_info::VestingInfo< + ::core::primitive::u128, + ::core::primitive::u32, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct ForceVestedTransfer { + pub source: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, + pub target: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, + pub schedule: runtime_types::pallet_vesting::vesting_info::VestingInfo< + ::core::primitive::u128, + ::core::primitive::u32, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct MergeSchedules { + pub schedule1_index: ::core::primitive::u32, + pub schedule2_index: ::core::primitive::u32, + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "Unlock any vested funds of the sender account."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ and the sender must have funds still"] + #[doc = "locked under this pallet."] + #[doc = ""] + #[doc = "Emits either `VestingCompleted` or `VestingUpdated`."] + #[doc = ""] + #[doc = "# "] + #[doc = "- `O(1)`."] + #[doc = "- DbWeight: 2 Reads, 2 Writes"] + #[doc = " - Reads: Vesting Storage, Balances Locks, [Sender Account]"] + #[doc = " - Writes: Vesting Storage, Balances Locks, [Sender Account]"] + #[doc = "# "] + pub fn vest(&self) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Vesting", + "vest", + Vest {}, + [ + 123u8, 54u8, 10u8, 208u8, 154u8, 24u8, 39u8, 166u8, 64u8, 27u8, 74u8, + 29u8, 243u8, 97u8, 155u8, 5u8, 130u8, 155u8, 65u8, 181u8, 196u8, 125u8, + 45u8, 133u8, 25u8, 33u8, 3u8, 34u8, 21u8, 167u8, 172u8, 54u8, + ], + ) + } + #[doc = "Unlock any vested funds of a `target` account."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = ""] + #[doc = "- `target`: The account whose vested funds should be unlocked. Must have funds still"] + #[doc = "locked under this pallet."] + #[doc = ""] + #[doc = "Emits either `VestingCompleted` or `VestingUpdated`."] + #[doc = ""] + #[doc = "# "] + #[doc = "- `O(1)`."] + #[doc = "- DbWeight: 3 Reads, 3 Writes"] + #[doc = " - Reads: Vesting Storage, Balances Locks, Target Account"] + #[doc = " - Writes: Vesting Storage, Balances Locks, Target Account"] + #[doc = "# "] + pub fn vest_other( + &self, + target: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Vesting", + "vest_other", + VestOther { target }, + [ + 164u8, 19u8, 93u8, 81u8, 235u8, 101u8, 18u8, 52u8, 187u8, 81u8, 243u8, + 216u8, 116u8, 84u8, 188u8, 135u8, 1u8, 241u8, 128u8, 90u8, 117u8, + 164u8, 111u8, 0u8, 251u8, 148u8, 250u8, 248u8, 102u8, 79u8, 165u8, + 175u8, + ], + ) + } + #[doc = "Create a vested transfer."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = ""] + #[doc = "- `target`: The account receiving the vested funds."] + #[doc = "- `schedule`: The vesting schedule attached to the transfer."] + #[doc = ""] + #[doc = "Emits `VestingCreated`."] + #[doc = ""] + #[doc = "NOTE: This will unlock all schedules through the current block."] + #[doc = ""] + #[doc = "# "] + #[doc = "- `O(1)`."] + #[doc = "- DbWeight: 3 Reads, 3 Writes"] + #[doc = " - Reads: Vesting Storage, Balances Locks, Target Account, [Sender Account]"] + #[doc = " - Writes: Vesting Storage, Balances Locks, Target Account, [Sender Account]"] + #[doc = "# "] + pub fn vested_transfer( + &self, + target: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, + schedule: runtime_types::pallet_vesting::vesting_info::VestingInfo< + ::core::primitive::u128, + ::core::primitive::u32, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Vesting", + "vested_transfer", + VestedTransfer { target, schedule }, + [ + 135u8, 172u8, 56u8, 97u8, 45u8, 141u8, 93u8, 173u8, 111u8, 252u8, 75u8, + 246u8, 92u8, 181u8, 138u8, 87u8, 145u8, 174u8, 71u8, 108u8, 126u8, + 118u8, 49u8, 122u8, 249u8, 132u8, 19u8, 2u8, 132u8, 160u8, 247u8, + 195u8, + ], + ) + } + #[doc = "Force a vested transfer."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Root_."] + #[doc = ""] + #[doc = "- `source`: The account whose funds should be transferred."] + #[doc = "- `target`: The account that should be transferred the vested funds."] + #[doc = "- `schedule`: The vesting schedule attached to the transfer."] + #[doc = ""] + #[doc = "Emits `VestingCreated`."] + #[doc = ""] + #[doc = "NOTE: This will unlock all schedules through the current block."] + #[doc = ""] + #[doc = "# "] + #[doc = "- `O(1)`."] + #[doc = "- DbWeight: 4 Reads, 4 Writes"] + #[doc = " - Reads: Vesting Storage, Balances Locks, Target Account, Source Account"] + #[doc = " - Writes: Vesting Storage, Balances Locks, Target Account, Source Account"] + #[doc = "# "] + pub fn force_vested_transfer( + &self, + source: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, + target: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, + schedule: runtime_types::pallet_vesting::vesting_info::VestingInfo< + ::core::primitive::u128, + ::core::primitive::u32, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Vesting", + "force_vested_transfer", + ForceVestedTransfer { + source, + target, + schedule, + }, + [ + 110u8, 142u8, 63u8, 148u8, 90u8, 229u8, 237u8, 183u8, 240u8, 237u8, + 242u8, 32u8, 88u8, 48u8, 220u8, 101u8, 210u8, 212u8, 27u8, 7u8, 186u8, + 98u8, 28u8, 197u8, 148u8, 140u8, 77u8, 59u8, 202u8, 166u8, 63u8, 97u8, + ], + ) + } + #[doc = "Merge two vesting schedules together, creating a new vesting schedule that unlocks over"] + #[doc = "the highest possible start and end blocks. If both schedules have already started the"] + #[doc = "current block will be used as the schedule start; with the caveat that if one schedule"] + #[doc = "is finished by the current block, the other will be treated as the new merged schedule,"] + #[doc = "unmodified."] + #[doc = ""] + #[doc = "NOTE: If `schedule1_index == schedule2_index` this is a no-op."] + #[doc = "NOTE: This will unlock all schedules through the current block prior to merging."] + #[doc = "NOTE: If both schedules have ended by the current block, no new schedule will be created"] + #[doc = "and both will be removed."] + #[doc = ""] + #[doc = "Merged schedule attributes:"] + #[doc = "- `starting_block`: `MAX(schedule1.starting_block, scheduled2.starting_block,"] + #[doc = " current_block)`."] + #[doc = "- `ending_block`: `MAX(schedule1.ending_block, schedule2.ending_block)`."] + #[doc = "- `locked`: `schedule1.locked_at(current_block) + schedule2.locked_at(current_block)`."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = ""] + #[doc = "- `schedule1_index`: index of the first schedule to merge."] + #[doc = "- `schedule2_index`: index of the second schedule to merge."] + pub fn merge_schedules( + &self, + schedule1_index: ::core::primitive::u32, + schedule2_index: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Vesting", + "merge_schedules", + MergeSchedules { + schedule1_index, + schedule2_index, + }, + [ + 95u8, 255u8, 147u8, 12u8, 49u8, 25u8, 70u8, 112u8, 55u8, 154u8, 183u8, + 97u8, 56u8, 244u8, 148u8, 61u8, 107u8, 163u8, 220u8, 31u8, 153u8, 25u8, + 193u8, 251u8, 131u8, 26u8, 166u8, 157u8, 75u8, 4u8, 110u8, 125u8, + ], + ) + } + } + } + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub type Event = runtime_types::pallet_vesting::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "The amount vested has been updated. This could indicate a change in funds available."] + #[doc = "The balance given is the amount which is left unvested (and thus locked)."] + pub struct VestingUpdated { + pub account: ::subxt::ext::sp_core::crypto::AccountId32, + pub unvested: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for VestingUpdated { + const PALLET: &'static str = "Vesting"; + const EVENT: &'static str = "VestingUpdated"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "An \\[account\\] has become fully vested."] + pub struct VestingCompleted { + pub account: ::subxt::ext::sp_core::crypto::AccountId32, + } + impl ::subxt::events::StaticEvent for VestingCompleted { + const PALLET: &'static str = "Vesting"; + const EVENT: &'static str = "VestingCompleted"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " Information regarding the vesting of a given account."] + pub fn vesting( + &self, + _0: impl ::std::borrow::Borrow<::subxt::ext::sp_core::crypto::AccountId32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_runtime::bounded::bounded_vec::BoundedVec< + runtime_types::pallet_vesting::vesting_info::VestingInfo< + ::core::primitive::u128, + ::core::primitive::u32, + >, + >, + >, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Vesting", + "Vesting", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Blake2_128Concat, + )], + [ + 23u8, 209u8, 233u8, 126u8, 89u8, 156u8, 193u8, 204u8, 100u8, 90u8, + 14u8, 120u8, 36u8, 167u8, 148u8, 239u8, 179u8, 74u8, 207u8, 83u8, 54u8, + 77u8, 27u8, 135u8, 74u8, 31u8, 33u8, 11u8, 168u8, 239u8, 212u8, 36u8, + ], + ) + } + #[doc = " Information regarding the vesting of a given account."] + pub fn vesting_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_runtime::bounded::bounded_vec::BoundedVec< + runtime_types::pallet_vesting::vesting_info::VestingInfo< + ::core::primitive::u128, + ::core::primitive::u32, + >, + >, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Vesting", + "Vesting", + Vec::new(), + [ + 23u8, 209u8, 233u8, 126u8, 89u8, 156u8, 193u8, 204u8, 100u8, 90u8, + 14u8, 120u8, 36u8, 167u8, 148u8, 239u8, 179u8, 74u8, 207u8, 83u8, 54u8, + 77u8, 27u8, 135u8, 74u8, 31u8, 33u8, 11u8, 168u8, 239u8, 212u8, 36u8, + ], + ) + } + #[doc = " Storage version of the pallet."] + #[doc = ""] + #[doc = " New networks start with latest version, as determined by the genesis build."] + pub fn storage_version( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Vesting", + "StorageVersion", + vec![], + [ + 50u8, 143u8, 26u8, 88u8, 129u8, 31u8, 61u8, 118u8, 19u8, 202u8, 119u8, + 160u8, 34u8, 219u8, 60u8, 57u8, 189u8, 66u8, 93u8, 239u8, 121u8, 114u8, + 241u8, 116u8, 0u8, 122u8, 232u8, 94u8, 189u8, 23u8, 45u8, 191u8, + ], + ) + } + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " The minimum amount transferred to call `vested_transfer`."] + pub fn min_vested_transfer( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Vesting", + "MinVestedTransfer", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, + 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, + 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) + } + pub fn max_vesting_schedules( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Vesting", + "MaxVestingSchedules", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + } + } + } + pub mod utility { + use super::{root_mod, runtime_types}; + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub mod calls { + use super::{root_mod, runtime_types}; + type DispatchError = runtime_types::sp_runtime::DispatchError; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct Batch { + pub calls: ::std::vec::Vec, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct AsDerivative { + pub index: ::core::primitive::u16, + pub call: ::std::boxed::Box, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct BatchAll { + pub calls: ::std::vec::Vec, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct DispatchAs { + pub as_origin: ::std::boxed::Box, + pub call: ::std::boxed::Box, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct ForceBatch { + pub calls: ::std::vec::Vec, + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "Send a batch of dispatch calls."] + #[doc = ""] + #[doc = "May be called from any origin."] + #[doc = ""] + #[doc = "- `calls`: The calls to be dispatched from the same origin. The number of call must not"] + #[doc = " exceed the constant: `batched_calls_limit` (available in constant metadata)."] + #[doc = ""] + #[doc = "If origin is root then call are dispatch without checking origin filter. (This includes"] + #[doc = "bypassing `frame_system::Config::BaseCallFilter`)."] + #[doc = ""] + #[doc = "# "] + #[doc = "- Complexity: O(C) where C is the number of calls to be batched."] + #[doc = "# "] + #[doc = ""] + #[doc = "This will return `Ok` in all circumstances. To determine the success of the batch, an"] + #[doc = "event is deposited. If a call failed and the batch was interrupted, then the"] + #[doc = "`BatchInterrupted` event is deposited, along with the number of successful calls made"] + #[doc = "and the error of the failed call. If all were successful, then the `BatchCompleted`"] + #[doc = "event is deposited."] + pub fn batch( + &self, + calls: ::std::vec::Vec, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Utility", + "batch", + Batch { calls }, + [ + 248u8, 73u8, 16u8, 255u8, 21u8, 225u8, 121u8, 194u8, 40u8, 206u8, + 178u8, 127u8, 3u8, 111u8, 86u8, 134u8, 164u8, 19u8, 245u8, 211u8, 36u8, + 156u8, 156u8, 29u8, 47u8, 78u8, 176u8, 168u8, 200u8, 161u8, 194u8, + 175u8, + ], + ) + } + #[doc = "Send a call through an indexed pseudonym of the sender."] + #[doc = ""] + #[doc = "Filter from origin are passed along. The call will be dispatched with an origin which"] + #[doc = "use the same filter as the origin of this call."] + #[doc = ""] + #[doc = "NOTE: If you need to ensure that any account-based filtering is not honored (i.e."] + #[doc = "because you expect `proxy` to have been used prior in the call stack and you do not want"] + #[doc = "the call restrictions to apply to any sub-accounts), then use `as_multi_threshold_1`"] + #[doc = "in the Multisig pallet instead."] + #[doc = ""] + #[doc = "NOTE: Prior to version *12, this was called `as_limited_sub`."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + pub fn as_derivative( + &self, + index: ::core::primitive::u16, + call: runtime_types::aleph_runtime::Call, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Utility", + "as_derivative", + AsDerivative { + index, + call: ::std::boxed::Box::new(call), + }, + [ + 122u8, 219u8, 185u8, 101u8, 96u8, 34u8, 17u8, 22u8, 155u8, 171u8, 35u8, + 46u8, 38u8, 127u8, 40u8, 36u8, 79u8, 136u8, 35u8, 128u8, 7u8, 174u8, + 245u8, 20u8, 235u8, 227u8, 174u8, 40u8, 123u8, 131u8, 18u8, 247u8, + ], + ) + } + #[doc = "Send a batch of dispatch calls and atomically execute them."] + #[doc = "The whole transaction will rollback and fail if any of the calls failed."] + #[doc = ""] + #[doc = "May be called from any origin."] + #[doc = ""] + #[doc = "- `calls`: The calls to be dispatched from the same origin. The number of call must not"] + #[doc = " exceed the constant: `batched_calls_limit` (available in constant metadata)."] + #[doc = ""] + #[doc = "If origin is root then call are dispatch without checking origin filter. (This includes"] + #[doc = "bypassing `frame_system::Config::BaseCallFilter`)."] + #[doc = ""] + #[doc = "# "] + #[doc = "- Complexity: O(C) where C is the number of calls to be batched."] + #[doc = "# "] + pub fn batch_all( + &self, + calls: ::std::vec::Vec, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Utility", + "batch_all", + BatchAll { calls }, + [ + 15u8, 35u8, 102u8, 174u8, 118u8, 216u8, 123u8, 86u8, 206u8, 227u8, + 252u8, 163u8, 51u8, 115u8, 80u8, 212u8, 72u8, 131u8, 95u8, 230u8, + 246u8, 188u8, 236u8, 226u8, 194u8, 101u8, 235u8, 67u8, 132u8, 166u8, + 105u8, 230u8, + ], + ) + } + #[doc = "Dispatches a function call with a provided origin."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Root_."] + #[doc = ""] + #[doc = "# "] + #[doc = "- O(1)."] + #[doc = "- Limited storage reads."] + #[doc = "- One DB write (event)."] + #[doc = "- Weight of derivative `call` execution + T::WeightInfo::dispatch_as()."] + #[doc = "# "] + pub fn dispatch_as( + &self, + as_origin: runtime_types::aleph_runtime::OriginCaller, + call: runtime_types::aleph_runtime::Call, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Utility", + "dispatch_as", + DispatchAs { + as_origin: ::std::boxed::Box::new(as_origin), + call: ::std::boxed::Box::new(call), + }, + [ + 236u8, 210u8, 178u8, 222u8, 59u8, 57u8, 20u8, 80u8, 21u8, 90u8, 222u8, + 227u8, 65u8, 98u8, 182u8, 150u8, 126u8, 250u8, 33u8, 79u8, 57u8, 223u8, + 228u8, 221u8, 117u8, 113u8, 191u8, 144u8, 229u8, 205u8, 204u8, 216u8, + ], + ) + } + #[doc = "Send a batch of dispatch calls."] + #[doc = "Unlike `batch`, it allows errors and won't interrupt."] + #[doc = ""] + #[doc = "May be called from any origin."] + #[doc = ""] + #[doc = "- `calls`: The calls to be dispatched from the same origin. The number of call must not"] + #[doc = " exceed the constant: `batched_calls_limit` (available in constant metadata)."] + #[doc = ""] + #[doc = "If origin is root then call are dispatch without checking origin filter. (This includes"] + #[doc = "bypassing `frame_system::Config::BaseCallFilter`)."] + #[doc = ""] + #[doc = "# "] + #[doc = "- Complexity: O(C) where C is the number of calls to be batched."] + #[doc = "# "] + pub fn force_batch( + &self, + calls: ::std::vec::Vec, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Utility", + "force_batch", + ForceBatch { calls }, + [ + 126u8, 213u8, 238u8, 69u8, 61u8, 82u8, 10u8, 147u8, 38u8, 119u8, 241u8, + 4u8, 43u8, 97u8, 140u8, 55u8, 131u8, 53u8, 118u8, 207u8, 211u8, 250u8, + 62u8, 163u8, 67u8, 69u8, 151u8, 70u8, 242u8, 202u8, 252u8, 75u8, + ], + ) + } + } + } + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub type Event = runtime_types::pallet_utility::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "Batch of dispatches did not complete fully. Index of first failing dispatch given, as"] + #[doc = "well as the error."] + pub struct BatchInterrupted { + pub index: ::core::primitive::u32, + pub error: runtime_types::sp_runtime::DispatchError, + } + impl ::subxt::events::StaticEvent for BatchInterrupted { + const PALLET: &'static str = "Utility"; + const EVENT: &'static str = "BatchInterrupted"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "Batch of dispatches completed fully with no error."] + pub struct BatchCompleted; + impl ::subxt::events::StaticEvent for BatchCompleted { + const PALLET: &'static str = "Utility"; + const EVENT: &'static str = "BatchCompleted"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "Batch of dispatches completed but has errors."] + pub struct BatchCompletedWithErrors; + impl ::subxt::events::StaticEvent for BatchCompletedWithErrors { + const PALLET: &'static str = "Utility"; + const EVENT: &'static str = "BatchCompletedWithErrors"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "A single item within a Batch of dispatches has completed with no error."] + pub struct ItemCompleted; + impl ::subxt::events::StaticEvent for ItemCompleted { + const PALLET: &'static str = "Utility"; + const EVENT: &'static str = "ItemCompleted"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "A single item within a Batch of dispatches has completed with error."] + pub struct ItemFailed { + pub error: runtime_types::sp_runtime::DispatchError, + } + impl ::subxt::events::StaticEvent for ItemFailed { + const PALLET: &'static str = "Utility"; + const EVENT: &'static str = "ItemFailed"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "A call was dispatched."] + pub struct DispatchedAs { + pub result: ::core::result::Result<(), runtime_types::sp_runtime::DispatchError>, + } + impl ::subxt::events::StaticEvent for DispatchedAs { + const PALLET: &'static str = "Utility"; + const EVENT: &'static str = "DispatchedAs"; + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " The limit on the number of batched calls."] + pub fn batched_calls_limit( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Utility", + "batched_calls_limit", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + } + } + } + pub mod multisig { + use super::{root_mod, runtime_types}; + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub mod calls { + use super::{root_mod, runtime_types}; + type DispatchError = runtime_types::sp_runtime::DispatchError; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct AsMultiThreshold1 { + pub other_signatories: ::std::vec::Vec<::subxt::ext::sp_core::crypto::AccountId32>, + pub call: ::std::boxed::Box, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct AsMulti { + pub threshold: ::core::primitive::u16, + pub other_signatories: ::std::vec::Vec<::subxt::ext::sp_core::crypto::AccountId32>, + pub maybe_timepoint: ::core::option::Option< + runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>, + >, + pub call: ::subxt::utils::WrapperKeepOpaque, + pub store_call: ::core::primitive::bool, + pub max_weight: ::core::primitive::u64, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct ApproveAsMulti { + pub threshold: ::core::primitive::u16, + pub other_signatories: ::std::vec::Vec<::subxt::ext::sp_core::crypto::AccountId32>, + pub maybe_timepoint: ::core::option::Option< + runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>, + >, + pub call_hash: [::core::primitive::u8; 32usize], + pub max_weight: ::core::primitive::u64, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct CancelAsMulti { + pub threshold: ::core::primitive::u16, + pub other_signatories: ::std::vec::Vec<::subxt::ext::sp_core::crypto::AccountId32>, + pub timepoint: runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>, + pub call_hash: [::core::primitive::u8; 32usize], + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "Immediately dispatch a multi-signature call using a single approval from the caller."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = ""] + #[doc = "- `other_signatories`: The accounts (other than the sender) who are part of the"] + #[doc = "multi-signature, but do not participate in the approval process."] + #[doc = "- `call`: The call to be executed."] + #[doc = ""] + #[doc = "Result is equivalent to the dispatched result."] + #[doc = ""] + #[doc = "# "] + #[doc = "O(Z + C) where Z is the length of the call and C its execution weight."] + #[doc = "-------------------------------"] + #[doc = "- DB Weight: None"] + #[doc = "- Plus Call Weight"] + #[doc = "# "] + pub fn as_multi_threshold_1( + &self, + other_signatories: ::std::vec::Vec<::subxt::ext::sp_core::crypto::AccountId32>, + call: runtime_types::aleph_runtime::Call, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Multisig", + "as_multi_threshold_1", + AsMultiThreshold1 { + other_signatories, + call: ::std::boxed::Box::new(call), + }, + [ + 247u8, 171u8, 115u8, 147u8, 223u8, 173u8, 211u8, 231u8, 93u8, 31u8, + 41u8, 110u8, 207u8, 202u8, 102u8, 216u8, 233u8, 130u8, 169u8, 188u8, + 3u8, 0u8, 5u8, 77u8, 58u8, 5u8, 22u8, 24u8, 20u8, 126u8, 69u8, 240u8, + ], + ) + } + #[doc = "Register approval for a dispatch to be made from a deterministic composite account if"] + #[doc = "approved by a total of `threshold - 1` of `other_signatories`."] + #[doc = ""] + #[doc = "If there are enough, then dispatch the call."] + #[doc = ""] + #[doc = "Payment: `DepositBase` will be reserved if this is the first approval, plus"] + #[doc = "`threshold` times `DepositFactor`. It is returned once this dispatch happens or"] + #[doc = "is cancelled."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = ""] + #[doc = "- `threshold`: The total number of approvals for this dispatch before it is executed."] + #[doc = "- `other_signatories`: The accounts (other than the sender) who can approve this"] + #[doc = "dispatch. May not be empty."] + #[doc = "- `maybe_timepoint`: If this is the first approval, then this must be `None`. If it is"] + #[doc = "not the first approval, then it must be `Some`, with the timepoint (block number and"] + #[doc = "transaction index) of the first approval transaction."] + #[doc = "- `call`: The call to be executed."] + #[doc = ""] + #[doc = "NOTE: Unless this is the final approval, you will generally want to use"] + #[doc = "`approve_as_multi` instead, since it only requires a hash of the call."] + #[doc = ""] + #[doc = "Result is equivalent to the dispatched result if `threshold` is exactly `1`. Otherwise"] + #[doc = "on success, result is `Ok` and the result from the interior call, if it was executed,"] + #[doc = "may be found in the deposited `MultisigExecuted` event."] + #[doc = ""] + #[doc = "# "] + #[doc = "- `O(S + Z + Call)`."] + #[doc = "- Up to one balance-reserve or unreserve operation."] + #[doc = "- One passthrough operation, one insert, both `O(S)` where `S` is the number of"] + #[doc = " signatories. `S` is capped by `MaxSignatories`, with weight being proportional."] + #[doc = "- One call encode & hash, both of complexity `O(Z)` where `Z` is tx-len."] + #[doc = "- One encode & hash, both of complexity `O(S)`."] + #[doc = "- Up to one binary search and insert (`O(logS + S)`)."] + #[doc = "- I/O: 1 read `O(S)`, up to 1 mutate `O(S)`. Up to one remove."] + #[doc = "- One event."] + #[doc = "- The weight of the `call`."] + #[doc = "- Storage: inserts one item, value size bounded by `MaxSignatories`, with a deposit"] + #[doc = " taken for its lifetime of `DepositBase + threshold * DepositFactor`."] + #[doc = "-------------------------------"] + #[doc = "- DB Weight:"] + #[doc = " - Reads: Multisig Storage, [Caller Account], Calls (if `store_call`)"] + #[doc = " - Writes: Multisig Storage, [Caller Account], Calls (if `store_call`)"] + #[doc = "- Plus Call Weight"] + #[doc = "# "] + pub fn as_multi( + &self, + threshold: ::core::primitive::u16, + other_signatories: ::std::vec::Vec<::subxt::ext::sp_core::crypto::AccountId32>, + maybe_timepoint: ::core::option::Option< + runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>, + >, + call: ::subxt::utils::WrapperKeepOpaque, + store_call: ::core::primitive::bool, + max_weight: ::core::primitive::u64, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Multisig", + "as_multi", + AsMulti { + threshold, + other_signatories, + maybe_timepoint, + call, + store_call, + max_weight, + }, + [ + 83u8, 122u8, 123u8, 255u8, 187u8, 151u8, 115u8, 27u8, 236u8, 123u8, + 13u8, 245u8, 54u8, 176u8, 35u8, 10u8, 224u8, 49u8, 39u8, 4u8, 55u8, + 140u8, 218u8, 38u8, 93u8, 177u8, 159u8, 146u8, 131u8, 241u8, 177u8, + 122u8, + ], + ) + } + #[doc = "Register approval for a dispatch to be made from a deterministic composite account if"] + #[doc = "approved by a total of `threshold - 1` of `other_signatories`."] + #[doc = ""] + #[doc = "Payment: `DepositBase` will be reserved if this is the first approval, plus"] + #[doc = "`threshold` times `DepositFactor`. It is returned once this dispatch happens or"] + #[doc = "is cancelled."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = ""] + #[doc = "- `threshold`: The total number of approvals for this dispatch before it is executed."] + #[doc = "- `other_signatories`: The accounts (other than the sender) who can approve this"] + #[doc = "dispatch. May not be empty."] + #[doc = "- `maybe_timepoint`: If this is the first approval, then this must be `None`. If it is"] + #[doc = "not the first approval, then it must be `Some`, with the timepoint (block number and"] + #[doc = "transaction index) of the first approval transaction."] + #[doc = "- `call_hash`: The hash of the call to be executed."] + #[doc = ""] + #[doc = "NOTE: If this is the final approval, you will want to use `as_multi` instead."] + #[doc = ""] + #[doc = "# "] + #[doc = "- `O(S)`."] + #[doc = "- Up to one balance-reserve or unreserve operation."] + #[doc = "- One passthrough operation, one insert, both `O(S)` where `S` is the number of"] + #[doc = " signatories. `S` is capped by `MaxSignatories`, with weight being proportional."] + #[doc = "- One encode & hash, both of complexity `O(S)`."] + #[doc = "- Up to one binary search and insert (`O(logS + S)`)."] + #[doc = "- I/O: 1 read `O(S)`, up to 1 mutate `O(S)`. Up to one remove."] + #[doc = "- One event."] + #[doc = "- Storage: inserts one item, value size bounded by `MaxSignatories`, with a deposit"] + #[doc = " taken for its lifetime of `DepositBase + threshold * DepositFactor`."] + #[doc = "----------------------------------"] + #[doc = "- DB Weight:"] + #[doc = " - Read: Multisig Storage, [Caller Account]"] + #[doc = " - Write: Multisig Storage, [Caller Account]"] + #[doc = "# "] + pub fn approve_as_multi( + &self, + threshold: ::core::primitive::u16, + other_signatories: ::std::vec::Vec<::subxt::ext::sp_core::crypto::AccountId32>, + maybe_timepoint: ::core::option::Option< + runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>, + >, + call_hash: [::core::primitive::u8; 32usize], + max_weight: ::core::primitive::u64, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Multisig", + "approve_as_multi", + ApproveAsMulti { + threshold, + other_signatories, + maybe_timepoint, + call_hash, + max_weight, + }, + [ + 55u8, 94u8, 230u8, 217u8, 37u8, 143u8, 44u8, 108u8, 123u8, 250u8, 26u8, + 44u8, 236u8, 69u8, 63u8, 90u8, 126u8, 15u8, 233u8, 142u8, 213u8, 11u8, + 141u8, 147u8, 151u8, 24u8, 167u8, 62u8, 96u8, 227u8, 181u8, 140u8, + ], + ) + } + #[doc = "Cancel a pre-existing, on-going multisig transaction. Any deposit reserved previously"] + #[doc = "for this operation will be unreserved on success."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = ""] + #[doc = "- `threshold`: The total number of approvals for this dispatch before it is executed."] + #[doc = "- `other_signatories`: The accounts (other than the sender) who can approve this"] + #[doc = "dispatch. May not be empty."] + #[doc = "- `timepoint`: The timepoint (block number and transaction index) of the first approval"] + #[doc = "transaction for this dispatch."] + #[doc = "- `call_hash`: The hash of the call to be executed."] + #[doc = ""] + #[doc = "# "] + #[doc = "- `O(S)`."] + #[doc = "- Up to one balance-reserve or unreserve operation."] + #[doc = "- One passthrough operation, one insert, both `O(S)` where `S` is the number of"] + #[doc = " signatories. `S` is capped by `MaxSignatories`, with weight being proportional."] + #[doc = "- One encode & hash, both of complexity `O(S)`."] + #[doc = "- One event."] + #[doc = "- I/O: 1 read `O(S)`, one remove."] + #[doc = "- Storage: removes one item."] + #[doc = "----------------------------------"] + #[doc = "- DB Weight:"] + #[doc = " - Read: Multisig Storage, [Caller Account], Refund Account, Calls"] + #[doc = " - Write: Multisig Storage, [Caller Account], Refund Account, Calls"] + #[doc = "# "] + pub fn cancel_as_multi( + &self, + threshold: ::core::primitive::u16, + other_signatories: ::std::vec::Vec<::subxt::ext::sp_core::crypto::AccountId32>, + timepoint: runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>, + call_hash: [::core::primitive::u8; 32usize], + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Multisig", + "cancel_as_multi", + CancelAsMulti { + threshold, + other_signatories, + timepoint, + call_hash, + }, + [ + 30u8, 25u8, 186u8, 142u8, 168u8, 81u8, 235u8, 164u8, 82u8, 209u8, 66u8, + 129u8, 209u8, 78u8, 172u8, 9u8, 163u8, 222u8, 125u8, 57u8, 2u8, 43u8, + 169u8, 174u8, 159u8, 167u8, 25u8, 226u8, 254u8, 110u8, 80u8, 216u8, + ], + ) + } + } + } + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub type Event = runtime_types::pallet_multisig::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "A new multisig operation has begun."] + pub struct NewMultisig { + pub approving: ::subxt::ext::sp_core::crypto::AccountId32, + pub multisig: ::subxt::ext::sp_core::crypto::AccountId32, + pub call_hash: [::core::primitive::u8; 32usize], + } + impl ::subxt::events::StaticEvent for NewMultisig { + const PALLET: &'static str = "Multisig"; + const EVENT: &'static str = "NewMultisig"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "A multisig operation has been approved by someone."] + pub struct MultisigApproval { + pub approving: ::subxt::ext::sp_core::crypto::AccountId32, + pub timepoint: runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>, + pub multisig: ::subxt::ext::sp_core::crypto::AccountId32, + pub call_hash: [::core::primitive::u8; 32usize], + } + impl ::subxt::events::StaticEvent for MultisigApproval { + const PALLET: &'static str = "Multisig"; + const EVENT: &'static str = "MultisigApproval"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "A multisig operation has been executed."] + pub struct MultisigExecuted { + pub approving: ::subxt::ext::sp_core::crypto::AccountId32, + pub timepoint: runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>, + pub multisig: ::subxt::ext::sp_core::crypto::AccountId32, + pub call_hash: [::core::primitive::u8; 32usize], + pub result: ::core::result::Result<(), runtime_types::sp_runtime::DispatchError>, + } + impl ::subxt::events::StaticEvent for MultisigExecuted { + const PALLET: &'static str = "Multisig"; + const EVENT: &'static str = "MultisigExecuted"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "A multisig operation has been cancelled."] + pub struct MultisigCancelled { + pub cancelling: ::subxt::ext::sp_core::crypto::AccountId32, + pub timepoint: runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>, + pub multisig: ::subxt::ext::sp_core::crypto::AccountId32, + pub call_hash: [::core::primitive::u8; 32usize], + } + impl ::subxt::events::StaticEvent for MultisigCancelled { + const PALLET: &'static str = "Multisig"; + const EVENT: &'static str = "MultisigCancelled"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " The set of open multisig operations."] + pub fn multisigs( + &self, + _0: impl ::std::borrow::Borrow<::subxt::ext::sp_core::crypto::AccountId32>, + _1: impl ::std::borrow::Borrow<[::core::primitive::u8; 32usize]>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_multisig::Multisig< + ::core::primitive::u32, + ::core::primitive::u128, + ::subxt::ext::sp_core::crypto::AccountId32, + >, + >, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Multisig", + "Multisigs", + vec![ + ::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + ), + ::subxt::storage::address::StorageMapKey::new( + _1.borrow(), + ::subxt::storage::address::StorageHasher::Blake2_128Concat, + ), + ], + [ + 145u8, 78u8, 57u8, 171u8, 199u8, 158u8, 226u8, 250u8, 224u8, 133u8, + 45u8, 251u8, 202u8, 22u8, 171u8, 132u8, 229u8, 110u8, 248u8, 233u8, + 38u8, 2u8, 247u8, 140u8, 150u8, 103u8, 211u8, 209u8, 160u8, 158u8, + 23u8, 215u8, + ], + ) + } + #[doc = " The set of open multisig operations."] + pub fn multisigs_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_multisig::Multisig< + ::core::primitive::u32, + ::core::primitive::u128, + ::subxt::ext::sp_core::crypto::AccountId32, + >, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Multisig", + "Multisigs", + Vec::new(), + [ + 145u8, 78u8, 57u8, 171u8, 199u8, 158u8, 226u8, 250u8, 224u8, 133u8, + 45u8, 251u8, 202u8, 22u8, 171u8, 132u8, 229u8, 110u8, 248u8, 233u8, + 38u8, 2u8, 247u8, 140u8, 150u8, 103u8, 211u8, 209u8, 160u8, 158u8, + 23u8, 215u8, + ], + ) + } + pub fn calls( + &self, + _0: impl ::std::borrow::Borrow<[::core::primitive::u8; 32usize]>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<( + ::subxt::utils::WrapperKeepOpaque, + ::subxt::ext::sp_core::crypto::AccountId32, + ::core::primitive::u128, + )>, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Multisig", + "Calls", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Identity, + )], + [ + 245u8, 208u8, 157u8, 111u8, 182u8, 73u8, 236u8, 91u8, 235u8, 244u8, + 150u8, 126u8, 236u8, 26u8, 219u8, 124u8, 107u8, 255u8, 81u8, 47u8, + 155u8, 163u8, 214u8, 197u8, 63u8, 76u8, 127u8, 101u8, 29u8, 121u8, + 135u8, 220u8, + ], + ) + } + pub fn calls_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<( + ::subxt::utils::WrapperKeepOpaque, + ::subxt::ext::sp_core::crypto::AccountId32, + ::core::primitive::u128, + )>, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Multisig", + "Calls", + Vec::new(), + [ + 245u8, 208u8, 157u8, 111u8, 182u8, 73u8, 236u8, 91u8, 235u8, 244u8, + 150u8, 126u8, 236u8, 26u8, 219u8, 124u8, 107u8, 255u8, 81u8, 47u8, + 155u8, 163u8, 214u8, 197u8, 63u8, 76u8, 127u8, 101u8, 29u8, 121u8, + 135u8, 220u8, + ], + ) + } + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " The base amount of currency needed to reserve for creating a multisig execution or to"] + #[doc = " store a dispatch call for later."] + #[doc = ""] + #[doc = " This is held for an additional storage item whose value size is"] + #[doc = " `4 + sizeof((BlockNumber, Balance, AccountId))` bytes and whose key size is"] + #[doc = " `32 + sizeof(AccountId)` bytes."] + pub fn deposit_base( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Multisig", + "DepositBase", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, + 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, + 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) + } + #[doc = " The amount of currency needed per unit threshold when creating a multisig execution."] + #[doc = ""] + #[doc = " This is held for adding 32 bytes more into a pre-existing storage value."] + pub fn deposit_factor( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Multisig", + "DepositFactor", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, + 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, + 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) + } + #[doc = " The maximum amount of signatories allowed in the multisig."] + pub fn max_signatories( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u16>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Multisig", + "MaxSignatories", + [ + 116u8, 33u8, 2u8, 170u8, 181u8, 147u8, 171u8, 169u8, 167u8, 227u8, + 41u8, 144u8, 11u8, 236u8, 82u8, 100u8, 74u8, 60u8, 184u8, 72u8, 169u8, + 90u8, 208u8, 135u8, 15u8, 117u8, 10u8, 123u8, 128u8, 193u8, 29u8, 70u8, + ], + ) + } + } + } + } + pub mod sudo { + use super::{root_mod, runtime_types}; + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub mod calls { + use super::{root_mod, runtime_types}; + type DispatchError = runtime_types::sp_runtime::DispatchError; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct Sudo { + pub call: ::std::boxed::Box, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct SudoUncheckedWeight { + pub call: ::std::boxed::Box, + pub weight: ::core::primitive::u64, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct SetKey { + pub new: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct SudoAs { + pub who: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, + pub call: ::std::boxed::Box, + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "Authenticates the sudo key and dispatches a function call with `Root` origin."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = ""] + #[doc = "# "] + #[doc = "- O(1)."] + #[doc = "- Limited storage reads."] + #[doc = "- One DB write (event)."] + #[doc = "- Weight of derivative `call` execution + 10,000."] + #[doc = "# "] + pub fn sudo( + &self, + call: runtime_types::aleph_runtime::Call, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Sudo", + "sudo", + Sudo { + call: ::std::boxed::Box::new(call), + }, + [ + 196u8, 104u8, 24u8, 12u8, 26u8, 123u8, 201u8, 129u8, 238u8, 147u8, + 209u8, 157u8, 104u8, 120u8, 191u8, 41u8, 224u8, 131u8, 183u8, 155u8, + 228u8, 52u8, 191u8, 103u8, 252u8, 138u8, 106u8, 225u8, 38u8, 161u8, + 210u8, 39u8, + ], + ) + } + #[doc = "Authenticates the sudo key and dispatches a function call with `Root` origin."] + #[doc = "This function does not check the weight of the call, and instead allows the"] + #[doc = "Sudo user to specify the weight of the call."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = ""] + #[doc = "# "] + #[doc = "- O(1)."] + #[doc = "- The weight of this call is defined by the caller."] + #[doc = "# "] + pub fn sudo_unchecked_weight( + &self, + call: runtime_types::aleph_runtime::Call, + weight: ::core::primitive::u64, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Sudo", + "sudo_unchecked_weight", + SudoUncheckedWeight { + call: ::std::boxed::Box::new(call), + weight, + }, + [ + 135u8, 78u8, 105u8, 196u8, 123u8, 10u8, 62u8, 134u8, 91u8, 206u8, 41u8, + 152u8, 64u8, 52u8, 106u8, 64u8, 68u8, 201u8, 112u8, 136u8, 56u8, 245u8, + 172u8, 179u8, 168u8, 22u8, 110u8, 198u8, 59u8, 25u8, 39u8, 60u8, + ], + ) + } + #[doc = "Authenticates the current sudo key and sets the given AccountId (`new`) as the new sudo"] + #[doc = "key."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = ""] + #[doc = "# "] + #[doc = "- O(1)."] + #[doc = "- Limited storage reads."] + #[doc = "- One DB change."] + #[doc = "# "] + pub fn set_key( + &self, + new: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Sudo", + "set_key", + SetKey { new }, + [ + 23u8, 224u8, 218u8, 169u8, 8u8, 28u8, 111u8, 199u8, 26u8, 88u8, 225u8, + 105u8, 17u8, 19u8, 87u8, 156u8, 97u8, 67u8, 89u8, 173u8, 70u8, 0u8, + 5u8, 246u8, 198u8, 135u8, 182u8, 180u8, 44u8, 9u8, 212u8, 95u8, + ], + ) + } + #[doc = "Authenticates the sudo key and dispatches a function call with `Signed` origin from"] + #[doc = "a given account."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = ""] + #[doc = "# "] + #[doc = "- O(1)."] + #[doc = "- Limited storage reads."] + #[doc = "- One DB write (event)."] + #[doc = "- Weight of derivative `call` execution + 10,000."] + #[doc = "# "] + pub fn sudo_as( + &self, + who: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, + call: runtime_types::aleph_runtime::Call, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Sudo", + "sudo_as", + SudoAs { + who, + call: ::std::boxed::Box::new(call), + }, + [ + 140u8, 39u8, 202u8, 191u8, 235u8, 44u8, 171u8, 120u8, 71u8, 236u8, + 116u8, 7u8, 243u8, 61u8, 34u8, 24u8, 31u8, 67u8, 21u8, 79u8, 229u8, + 71u8, 49u8, 193u8, 199u8, 220u8, 184u8, 72u8, 79u8, 22u8, 73u8, 86u8, + ], + ) + } + } + } + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub type Event = runtime_types::pallet_sudo::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "A sudo just took place. \\[result\\]"] + pub struct Sudid { + pub sudo_result: + ::core::result::Result<(), runtime_types::sp_runtime::DispatchError>, + } + impl ::subxt::events::StaticEvent for Sudid { + const PALLET: &'static str = "Sudo"; + const EVENT: &'static str = "Sudid"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "The \\[sudoer\\] just switched identity; the old key is supplied if one existed."] + pub struct KeyChanged { + pub old_sudoer: ::core::option::Option<::subxt::ext::sp_core::crypto::AccountId32>, + } + impl ::subxt::events::StaticEvent for KeyChanged { + const PALLET: &'static str = "Sudo"; + const EVENT: &'static str = "KeyChanged"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "A sudo just took place. \\[result\\]"] + pub struct SudoAsDone { + pub sudo_result: + ::core::result::Result<(), runtime_types::sp_runtime::DispatchError>, + } + impl ::subxt::events::StaticEvent for SudoAsDone { + const PALLET: &'static str = "Sudo"; + const EVENT: &'static str = "SudoAsDone"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " The `AccountId` of the sudo key."] + pub fn key( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::subxt::ext::sp_core::crypto::AccountId32>, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Sudo", + "Key", + vec![], + [ + 244u8, 73u8, 188u8, 136u8, 218u8, 163u8, 68u8, 179u8, 122u8, 173u8, + 34u8, 108u8, 137u8, 28u8, 182u8, 16u8, 196u8, 92u8, 138u8, 34u8, 102u8, + 80u8, 199u8, 88u8, 107u8, 207u8, 36u8, 22u8, 168u8, 167u8, 20u8, 142u8, + ], + ) + } + } + } + } + pub mod contracts { + use super::{root_mod, runtime_types}; + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub mod calls { + use super::{root_mod, runtime_types}; + type DispatchError = runtime_types::sp_runtime::DispatchError; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct Call { + pub dest: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, + #[codec(compact)] + pub value: ::core::primitive::u128, + #[codec(compact)] + pub gas_limit: ::core::primitive::u64, + pub storage_deposit_limit: + ::core::option::Option<::subxt::ext::codec::Compact<::core::primitive::u128>>, + pub data: ::std::vec::Vec<::core::primitive::u8>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct InstantiateWithCode { + #[codec(compact)] + pub value: ::core::primitive::u128, + #[codec(compact)] + pub gas_limit: ::core::primitive::u64, + pub storage_deposit_limit: + ::core::option::Option<::subxt::ext::codec::Compact<::core::primitive::u128>>, + pub code: ::std::vec::Vec<::core::primitive::u8>, + pub data: ::std::vec::Vec<::core::primitive::u8>, + pub salt: ::std::vec::Vec<::core::primitive::u8>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct Instantiate { + #[codec(compact)] + pub value: ::core::primitive::u128, + #[codec(compact)] + pub gas_limit: ::core::primitive::u64, + pub storage_deposit_limit: + ::core::option::Option<::subxt::ext::codec::Compact<::core::primitive::u128>>, + pub code_hash: ::subxt::ext::sp_core::H256, + pub data: ::std::vec::Vec<::core::primitive::u8>, + pub salt: ::std::vec::Vec<::core::primitive::u8>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct UploadCode { + pub code: ::std::vec::Vec<::core::primitive::u8>, + pub storage_deposit_limit: + ::core::option::Option<::subxt::ext::codec::Compact<::core::primitive::u128>>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct RemoveCode { + pub code_hash: ::subxt::ext::sp_core::H256, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct SetCode { + pub dest: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, + pub code_hash: ::subxt::ext::sp_core::H256, + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "Makes a call to an account, optionally transferring some balance."] + #[doc = ""] + #[doc = "# Parameters"] + #[doc = ""] + #[doc = "* `dest`: Address of the contract to call."] + #[doc = "* `value`: The balance to transfer from the `origin` to `dest`."] + #[doc = "* `gas_limit`: The gas limit enforced when executing the constructor."] + #[doc = "* `storage_deposit_limit`: The maximum amount of balance that can be charged from the"] + #[doc = " caller to pay for the storage consumed."] + #[doc = "* `data`: The input data to pass to the contract."] + #[doc = ""] + #[doc = "* If the account is a smart-contract account, the associated code will be"] + #[doc = "executed and any value will be transferred."] + #[doc = "* If the account is a regular account, any value will be transferred."] + #[doc = "* If no account exists and the call value is not less than `existential_deposit`,"] + #[doc = "a regular account will be created and any value will be transferred."] + pub fn call( + &self, + dest: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, + value: ::core::primitive::u128, + gas_limit: ::core::primitive::u64, + storage_deposit_limit: ::core::option::Option< + ::subxt::ext::codec::Compact<::core::primitive::u128>, + >, + data: ::std::vec::Vec<::core::primitive::u8>, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Contracts", + "call", + Call { + dest, + value, + gas_limit, + storage_deposit_limit, + data, + }, + [ + 22u8, 148u8, 225u8, 3u8, 113u8, 132u8, 125u8, 117u8, 187u8, 51u8, 32u8, + 8u8, 2u8, 125u8, 76u8, 14u8, 227u8, 139u8, 67u8, 136u8, 55u8, 98u8, + 181u8, 163u8, 105u8, 175u8, 43u8, 125u8, 17u8, 123u8, 191u8, 228u8, + ], + ) + } + #[doc = "Instantiates a new contract from the supplied `code` optionally transferring"] + #[doc = "some balance."] + #[doc = ""] + #[doc = "This dispatchable has the same effect as calling [`Self::upload_code`] +"] + #[doc = "[`Self::instantiate`]. Bundling them together provides efficiency gains. Please"] + #[doc = "also check the documentation of [`Self::upload_code`]."] + #[doc = ""] + #[doc = "# Parameters"] + #[doc = ""] + #[doc = "* `value`: The balance to transfer from the `origin` to the newly created contract."] + #[doc = "* `gas_limit`: The gas limit enforced when executing the constructor."] + #[doc = "* `storage_deposit_limit`: The maximum amount of balance that can be charged/reserved"] + #[doc = " from the caller to pay for the storage consumed."] + #[doc = "* `code`: The contract code to deploy in raw bytes."] + #[doc = "* `data`: The input data to pass to the contract constructor."] + #[doc = "* `salt`: Used for the address derivation. See [`Pallet::contract_address`]."] + #[doc = ""] + #[doc = "Instantiation is executed as follows:"] + #[doc = ""] + #[doc = "- The supplied `code` is instrumented, deployed, and a `code_hash` is created for that"] + #[doc = " code."] + #[doc = "- If the `code_hash` already exists on the chain the underlying `code` will be shared."] + #[doc = "- The destination address is computed based on the sender, code_hash and the salt."] + #[doc = "- The smart-contract account is created at the computed address."] + #[doc = "- The `value` is transferred to the new account."] + #[doc = "- The `deploy` function is executed in the context of the newly-created account."] + pub fn instantiate_with_code( + &self, + value: ::core::primitive::u128, + gas_limit: ::core::primitive::u64, + storage_deposit_limit: ::core::option::Option< + ::subxt::ext::codec::Compact<::core::primitive::u128>, + >, + code: ::std::vec::Vec<::core::primitive::u8>, + data: ::std::vec::Vec<::core::primitive::u8>, + salt: ::std::vec::Vec<::core::primitive::u8>, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Contracts", + "instantiate_with_code", + InstantiateWithCode { + value, + gas_limit, + storage_deposit_limit, + code, + data, + salt, + }, + [ + 232u8, 229u8, 46u8, 91u8, 11u8, 117u8, 3u8, 81u8, 213u8, 34u8, 184u8, + 125u8, 77u8, 214u8, 71u8, 103u8, 244u8, 131u8, 1u8, 211u8, 191u8, + 153u8, 1u8, 80u8, 177u8, 177u8, 205u8, 126u8, 194u8, 166u8, 136u8, + 191u8, + ], + ) + } + #[doc = "Instantiates a contract from a previously deployed wasm binary."] + #[doc = ""] + #[doc = "This function is identical to [`Self::instantiate_with_code`] but without the"] + #[doc = "code deployment step. Instead, the `code_hash` of an on-chain deployed wasm binary"] + #[doc = "must be supplied."] + pub fn instantiate( + &self, + value: ::core::primitive::u128, + gas_limit: ::core::primitive::u64, + storage_deposit_limit: ::core::option::Option< + ::subxt::ext::codec::Compact<::core::primitive::u128>, + >, + code_hash: ::subxt::ext::sp_core::H256, + data: ::std::vec::Vec<::core::primitive::u8>, + salt: ::std::vec::Vec<::core::primitive::u8>, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Contracts", + "instantiate", + Instantiate { + value, + gas_limit, + storage_deposit_limit, + code_hash, + data, + salt, + }, + [ + 69u8, 161u8, 178u8, 243u8, 14u8, 29u8, 15u8, 210u8, 29u8, 106u8, 129u8, + 211u8, 90u8, 73u8, 66u8, 177u8, 245u8, 1u8, 232u8, 117u8, 119u8, 216u8, + 84u8, 160u8, 207u8, 7u8, 237u8, 88u8, 25u8, 85u8, 213u8, 235u8, + ], + ) + } + #[doc = "Upload new `code` without instantiating a contract from it."] + #[doc = ""] + #[doc = "If the code does not already exist a deposit is reserved from the caller"] + #[doc = "and unreserved only when [`Self::remove_code`] is called. The size of the reserve"] + #[doc = "depends on the instrumented size of the the supplied `code`."] + #[doc = ""] + #[doc = "If the code already exists in storage it will still return `Ok` and upgrades"] + #[doc = "the in storage version to the current"] + #[doc = "[`InstructionWeights::version`](InstructionWeights)."] + #[doc = ""] + #[doc = "# Note"] + #[doc = ""] + #[doc = "Anyone can instantiate a contract from any uploaded code and thus prevent its removal."] + #[doc = "To avoid this situation a constructor could employ access control so that it can"] + #[doc = "only be instantiated by permissioned entities. The same is true when uploading"] + #[doc = "through [`Self::instantiate_with_code`]."] + pub fn upload_code( + &self, + code: ::std::vec::Vec<::core::primitive::u8>, + storage_deposit_limit: ::core::option::Option< + ::subxt::ext::codec::Compact<::core::primitive::u128>, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Contracts", + "upload_code", + UploadCode { + code, + storage_deposit_limit, + }, + [ + 8u8, 32u8, 174u8, 226u8, 212u8, 86u8, 47u8, 247u8, 123u8, 155u8, 40u8, + 192u8, 184u8, 216u8, 61u8, 57u8, 94u8, 23u8, 76u8, 59u8, 4u8, 124u8, + 252u8, 248u8, 87u8, 233u8, 13u8, 184u8, 133u8, 236u8, 174u8, 85u8, + ], + ) + } + #[doc = "Remove the code stored under `code_hash` and refund the deposit to its owner."] + #[doc = ""] + #[doc = "A code can only be removed by its original uploader (its owner) and only if it is"] + #[doc = "not used by any contract."] + pub fn remove_code( + &self, + code_hash: ::subxt::ext::sp_core::H256, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Contracts", + "remove_code", + RemoveCode { code_hash }, + [ + 43u8, 192u8, 198u8, 182u8, 108u8, 76u8, 21u8, 42u8, 169u8, 41u8, 195u8, + 73u8, 31u8, 179u8, 162u8, 56u8, 91u8, 5u8, 64u8, 7u8, 252u8, 194u8, + 255u8, 170u8, 67u8, 137u8, 143u8, 192u8, 2u8, 149u8, 38u8, 180u8, + ], + ) + } + #[doc = "Privileged function that changes the code of an existing contract."] + #[doc = ""] + #[doc = "This takes care of updating refcounts and all other necessary operations. Returns"] + #[doc = "an error if either the `code_hash` or `dest` do not exist."] + #[doc = ""] + #[doc = "# Note"] + #[doc = ""] + #[doc = "This does **not** change the address of the contract in question. This means"] + #[doc = "that the contract address is no longer derived from its code hash after calling"] + #[doc = "this dispatchable."] + pub fn set_code( + &self, + dest: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, + code_hash: ::subxt::ext::sp_core::H256, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Contracts", + "set_code", + SetCode { dest, code_hash }, + [ + 106u8, 141u8, 239u8, 113u8, 99u8, 74u8, 14u8, 171u8, 80u8, 115u8, + 214u8, 203u8, 232u8, 142u8, 48u8, 207u8, 214u8, 59u8, 204u8, 157u8, + 101u8, 142u8, 12u8, 69u8, 230u8, 188u8, 60u8, 197u8, 238u8, 146u8, + 17u8, 190u8, + ], + ) + } + } + } + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub type Event = runtime_types::pallet_contracts::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "Contract deployed by address at the specified address."] + pub struct Instantiated { + pub deployer: ::subxt::ext::sp_core::crypto::AccountId32, + pub contract: ::subxt::ext::sp_core::crypto::AccountId32, + } + impl ::subxt::events::StaticEvent for Instantiated { + const PALLET: &'static str = "Contracts"; + const EVENT: &'static str = "Instantiated"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "Contract has been removed."] + #[doc = ""] + #[doc = "# Note"] + #[doc = ""] + #[doc = "The only way for a contract to be removed and emitting this event is by calling"] + #[doc = "`seal_terminate`."] + pub struct Terminated { + pub contract: ::subxt::ext::sp_core::crypto::AccountId32, + pub beneficiary: ::subxt::ext::sp_core::crypto::AccountId32, + } + impl ::subxt::events::StaticEvent for Terminated { + const PALLET: &'static str = "Contracts"; + const EVENT: &'static str = "Terminated"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "Code with the specified hash has been stored."] + pub struct CodeStored { + pub code_hash: ::subxt::ext::sp_core::H256, + } + impl ::subxt::events::StaticEvent for CodeStored { + const PALLET: &'static str = "Contracts"; + const EVENT: &'static str = "CodeStored"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "A custom event emitted by the contract."] + pub struct ContractEmitted { + pub contract: ::subxt::ext::sp_core::crypto::AccountId32, + pub data: ::std::vec::Vec<::core::primitive::u8>, + } + impl ::subxt::events::StaticEvent for ContractEmitted { + const PALLET: &'static str = "Contracts"; + const EVENT: &'static str = "ContractEmitted"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "A code with the specified hash was removed."] + pub struct CodeRemoved { + pub code_hash: ::subxt::ext::sp_core::H256, + } + impl ::subxt::events::StaticEvent for CodeRemoved { + const PALLET: &'static str = "Contracts"; + const EVENT: &'static str = "CodeRemoved"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "A contract's code was updated."] + pub struct ContractCodeUpdated { + pub contract: ::subxt::ext::sp_core::crypto::AccountId32, + pub new_code_hash: ::subxt::ext::sp_core::H256, + pub old_code_hash: ::subxt::ext::sp_core::H256, + } + impl ::subxt::events::StaticEvent for ContractCodeUpdated { + const PALLET: &'static str = "Contracts"; + const EVENT: &'static str = "ContractCodeUpdated"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " A mapping from an original code hash to the original code, untouched by instrumentation."] + pub fn pristine_code( + &self, + _0: impl ::std::borrow::Borrow<::subxt::ext::sp_core::H256>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_runtime::bounded::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + >, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Contracts", + "PristineCode", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Identity, + )], + [ + 244u8, 169u8, 220u8, 235u8, 62u8, 153u8, 226u8, 187u8, 220u8, 141u8, + 149u8, 75u8, 224u8, 117u8, 181u8, 147u8, 140u8, 84u8, 9u8, 109u8, + 230u8, 25u8, 186u8, 26u8, 171u8, 147u8, 19u8, 78u8, 62u8, 170u8, 27u8, + 105u8, + ], + ) + } + #[doc = " A mapping from an original code hash to the original code, untouched by instrumentation."] + pub fn pristine_code_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_runtime::bounded::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Contracts", + "PristineCode", + Vec::new(), + [ + 244u8, 169u8, 220u8, 235u8, 62u8, 153u8, 226u8, 187u8, 220u8, 141u8, + 149u8, 75u8, 224u8, 117u8, 181u8, 147u8, 140u8, 84u8, 9u8, 109u8, + 230u8, 25u8, 186u8, 26u8, 171u8, 147u8, 19u8, 78u8, 62u8, 170u8, 27u8, + 105u8, + ], + ) + } + #[doc = " A mapping between an original code hash and instrumented wasm code, ready for execution."] + pub fn code_storage( + &self, + _0: impl ::std::borrow::Borrow<::subxt::ext::sp_core::H256>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_contracts::wasm::PrefabWasmModule, + >, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Contracts", + "CodeStorage", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Identity, + )], + [ + 167u8, 247u8, 131u8, 220u8, 90u8, 100u8, 172u8, 16u8, 129u8, 235u8, + 119u8, 88u8, 60u8, 196u8, 74u8, 173u8, 192u8, 110u8, 106u8, 187u8, + 111u8, 255u8, 114u8, 39u8, 76u8, 52u8, 245u8, 79u8, 132u8, 108u8, + 141u8, 176u8, + ], + ) + } + #[doc = " A mapping between an original code hash and instrumented wasm code, ready for execution."] + pub fn code_storage_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_contracts::wasm::PrefabWasmModule, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Contracts", + "CodeStorage", + Vec::new(), + [ + 167u8, 247u8, 131u8, 220u8, 90u8, 100u8, 172u8, 16u8, 129u8, 235u8, + 119u8, 88u8, 60u8, 196u8, 74u8, 173u8, 192u8, 110u8, 106u8, 187u8, + 111u8, 255u8, 114u8, 39u8, 76u8, 52u8, 245u8, 79u8, 132u8, 108u8, + 141u8, 176u8, + ], + ) + } + #[doc = " A mapping between an original code hash and its owner information."] + pub fn owner_info_of( + &self, + _0: impl ::std::borrow::Borrow<::subxt::ext::sp_core::H256>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_contracts::wasm::OwnerInfo, + >, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Contracts", + "OwnerInfoOf", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Identity, + )], + [ + 147u8, 6u8, 225u8, 62u8, 211u8, 236u8, 61u8, 116u8, 152u8, 219u8, + 220u8, 17u8, 82u8, 221u8, 156u8, 88u8, 63u8, 204u8, 16u8, 11u8, 184u8, + 236u8, 181u8, 189u8, 170u8, 160u8, 60u8, 64u8, 71u8, 250u8, 202u8, + 186u8, + ], + ) + } + #[doc = " A mapping between an original code hash and its owner information."] + pub fn owner_info_of_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_contracts::wasm::OwnerInfo, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Contracts", + "OwnerInfoOf", + Vec::new(), + [ + 147u8, 6u8, 225u8, 62u8, 211u8, 236u8, 61u8, 116u8, 152u8, 219u8, + 220u8, 17u8, 82u8, 221u8, 156u8, 88u8, 63u8, 204u8, 16u8, 11u8, 184u8, + 236u8, 181u8, 189u8, 170u8, 160u8, 60u8, 64u8, 71u8, 250u8, 202u8, + 186u8, + ], + ) + } + #[doc = " This is a **monotonic** counter incremented on contract instantiation."] + #[doc = ""] + #[doc = " This is used in order to generate unique trie ids for contracts."] + #[doc = " The trie id of a new contract is calculated from hash(account_id, nonce)."] + #[doc = " The nonce is required because otherwise the following sequence would lead to"] + #[doc = " a possible collision of storage:"] + #[doc = ""] + #[doc = " 1. Create a new contract."] + #[doc = " 2. Terminate the contract."] + #[doc = " 3. Immediately recreate the contract with the same account_id."] + #[doc = ""] + #[doc = " This is bad because the contents of a trie are deleted lazily and there might be"] + #[doc = " storage of the old instantiation still in it when the new contract is created. Please"] + #[doc = " note that we can't replace the counter by the block number because the sequence above"] + #[doc = " can happen in the same block. We also can't keep the account counter in memory only"] + #[doc = " because storage is the only way to communicate across different extrinsics in the"] + #[doc = " same block."] + #[doc = ""] + #[doc = " # Note"] + #[doc = ""] + #[doc = " Do not use it to determine the number of contracts. It won't be decremented if"] + #[doc = " a contract is destroyed."] + pub fn nonce( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u64>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Contracts", + "Nonce", + vec![], + [ + 122u8, 169u8, 95u8, 131u8, 85u8, 32u8, 154u8, 114u8, 143u8, 56u8, 12u8, + 182u8, 64u8, 150u8, 241u8, 249u8, 254u8, 251u8, 160u8, 235u8, 192u8, + 41u8, 101u8, 232u8, 186u8, 108u8, 187u8, 149u8, 210u8, 91u8, 179u8, + 98u8, + ], + ) + } + #[doc = " The code associated with a given account."] + #[doc = ""] + #[doc = " TWOX-NOTE: SAFE since `AccountId` is a secure hash."] + pub fn contract_info_of( + &self, + _0: impl ::std::borrow::Borrow<::subxt::ext::sp_core::crypto::AccountId32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_contracts::storage::RawContractInfo< + ::subxt::ext::sp_core::H256, + ::core::primitive::u128, + >, + >, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Contracts", + "ContractInfoOf", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + )], + [ + 249u8, 249u8, 163u8, 158u8, 30u8, 66u8, 127u8, 176u8, 156u8, 185u8, + 75u8, 198u8, 120u8, 208u8, 233u8, 131u8, 161u8, 49u8, 45u8, 175u8, + 242u8, 171u8, 63u8, 39u8, 76u8, 31u8, 167u8, 140u8, 210u8, 235u8, + 185u8, 240u8, + ], + ) + } + #[doc = " The code associated with a given account."] + #[doc = ""] + #[doc = " TWOX-NOTE: SAFE since `AccountId` is a secure hash."] + pub fn contract_info_of_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_contracts::storage::RawContractInfo< + ::subxt::ext::sp_core::H256, + ::core::primitive::u128, + >, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Contracts", + "ContractInfoOf", + Vec::new(), + [ + 249u8, 249u8, 163u8, 158u8, 30u8, 66u8, 127u8, 176u8, 156u8, 185u8, + 75u8, 198u8, 120u8, 208u8, 233u8, 131u8, 161u8, 49u8, 45u8, 175u8, + 242u8, 171u8, 63u8, 39u8, 76u8, 31u8, 167u8, 140u8, 210u8, 235u8, + 185u8, 240u8, + ], + ) + } + #[doc = " Evicted contracts that await child trie deletion."] + #[doc = ""] + #[doc = " Child trie deletion is a heavy operation depending on the amount of storage items"] + #[doc = " stored in said trie. Therefore this operation is performed lazily in `on_initialize`."] + pub fn deletion_queue( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_runtime::bounded::bounded_vec::BoundedVec< + runtime_types::pallet_contracts::storage::DeletedContract, + >, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Contracts", + "DeletionQueue", + vec![], + [ + 119u8, 169u8, 146u8, 210u8, 21u8, 216u8, 51u8, 225u8, 107u8, 61u8, + 42u8, 155u8, 169u8, 127u8, 140u8, 106u8, 255u8, 137u8, 163u8, 199u8, + 91u8, 137u8, 73u8, 61u8, 9u8, 167u8, 16u8, 157u8, 183u8, 212u8, 35u8, + 88u8, + ], + ) + } + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " Cost schedule and limits."] + pub fn schedule( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_contracts::schedule::Schedule, + >, + > { + ::subxt::constants::StaticConstantAddress::new( + "Contracts", + "Schedule", + [ + 106u8, 133u8, 138u8, 78u8, 95u8, 52u8, 197u8, 85u8, 4u8, 33u8, 173u8, + 239u8, 169u8, 196u8, 91u8, 38u8, 210u8, 50u8, 62u8, 67u8, 180u8, 184u8, + 32u8, 190u8, 106u8, 252u8, 104u8, 173u8, 5u8, 140u8, 244u8, 249u8, + ], + ) + } + #[doc = " The maximum number of contracts that can be pending for deletion."] + #[doc = ""] + #[doc = " When a contract is deleted by calling `seal_terminate` it becomes inaccessible"] + #[doc = " immediately, but the deletion of the storage items it has accumulated is performed"] + #[doc = " later. The contract is put into the deletion queue. This defines how many"] + #[doc = " contracts can be queued up at the same time. If that limit is reached `seal_terminate`"] + #[doc = " will fail. The action must be retried in a later block in that case."] + #[doc = ""] + #[doc = " The reasons for limiting the queue depth are:"] + #[doc = ""] + #[doc = " 1. The queue is in storage in order to be persistent between blocks. We want to limit"] + #[doc = " \tthe amount of storage that can be consumed."] + #[doc = " 2. The queue is stored in a vector and needs to be decoded as a whole when reading"] + #[doc = "\t\tit at the end of each block. Longer queues take more weight to decode and hence"] + #[doc = "\t\tlimit the amount of items that can be deleted per block."] + pub fn deletion_queue_depth( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Contracts", + "DeletionQueueDepth", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " The maximum amount of weight that can be consumed per block for lazy trie removal."] + #[doc = ""] + #[doc = " The amount of weight that is dedicated per block to work on the deletion queue. Larger"] + #[doc = " values allow more trie keys to be deleted in each block but reduce the amount of"] + #[doc = " weight that is left for transactions. See [`Self::DeletionQueueDepth`] for more"] + #[doc = " information about the deletion queue."] + pub fn deletion_weight_limit( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u64>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Contracts", + "DeletionWeightLimit", + [ + 128u8, 214u8, 205u8, 242u8, 181u8, 142u8, 124u8, 231u8, 190u8, 146u8, + 59u8, 226u8, 157u8, 101u8, 103u8, 117u8, 249u8, 65u8, 18u8, 191u8, + 103u8, 119u8, 53u8, 85u8, 81u8, 96u8, 220u8, 42u8, 184u8, 239u8, 42u8, + 246u8, + ], + ) + } + #[doc = " The amount of balance a caller has to pay for each byte of storage."] + #[doc = ""] + #[doc = " # Note"] + #[doc = ""] + #[doc = " Changing this value for an existing chain might need a storage migration."] + pub fn deposit_per_byte( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Contracts", + "DepositPerByte", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, + 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, + 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) + } + #[doc = " The weight per byte of code that is charged when loading a contract from storage."] + #[doc = ""] + #[doc = " Currently, FRAME only charges fees for computation incurred but not for PoV"] + #[doc = " consumption caused for storage access. This is usually not exploitable because"] + #[doc = " accessing storage carries some substantial weight costs, too. However in case"] + #[doc = " of contract code very much PoV consumption can be caused while consuming very little"] + #[doc = " computation. This could be used to keep the chain busy without paying the"] + #[doc = " proper fee for it. Until this is resolved we charge from the weight meter for"] + #[doc = " contract access."] + #[doc = ""] + #[doc = " For more information check out: "] + #[doc = ""] + #[doc = " [`DefaultContractAccessWeight`] is a safe default to be used for Polkadot or Kusama"] + #[doc = " parachains."] + #[doc = ""] + #[doc = " # Note"] + #[doc = ""] + #[doc = " This is only relevant for parachains. Set to zero in case of a standalone chain."] + pub fn contract_access_weight( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u64>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Contracts", + "ContractAccessWeight", + [ + 128u8, 214u8, 205u8, 242u8, 181u8, 142u8, 124u8, 231u8, 190u8, 146u8, + 59u8, 226u8, 157u8, 101u8, 103u8, 117u8, 249u8, 65u8, 18u8, 191u8, + 103u8, 119u8, 53u8, 85u8, 81u8, 96u8, 220u8, 42u8, 184u8, 239u8, 42u8, + 246u8, + ], + ) + } + #[doc = " The amount of balance a caller has to pay for each storage item."] + #[doc = ""] + #[doc = " # Note"] + #[doc = ""] + #[doc = " Changing this value for an existing chain might need a storage migration."] + pub fn deposit_per_item( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Contracts", + "DepositPerItem", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, + 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, + 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) + } + } + } + } + pub mod nomination_pools { + use super::{root_mod, runtime_types}; + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub mod calls { + use super::{root_mod, runtime_types}; + type DispatchError = runtime_types::sp_runtime::DispatchError; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct Join { + #[codec(compact)] + pub amount: ::core::primitive::u128, + pub pool_id: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct BondExtra { + pub extra: + runtime_types::pallet_nomination_pools::BondExtra<::core::primitive::u128>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct ClaimPayout; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct Unbond { + pub member_account: ::subxt::ext::sp_core::crypto::AccountId32, + #[codec(compact)] + pub unbonding_points: ::core::primitive::u128, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct PoolWithdrawUnbonded { + pub pool_id: ::core::primitive::u32, + pub num_slashing_spans: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct WithdrawUnbonded { + pub member_account: ::subxt::ext::sp_core::crypto::AccountId32, + pub num_slashing_spans: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct Create { + #[codec(compact)] + pub amount: ::core::primitive::u128, + pub root: ::subxt::ext::sp_core::crypto::AccountId32, + pub nominator: ::subxt::ext::sp_core::crypto::AccountId32, + pub state_toggler: ::subxt::ext::sp_core::crypto::AccountId32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct Nominate { + pub pool_id: ::core::primitive::u32, + pub validators: ::std::vec::Vec<::subxt::ext::sp_core::crypto::AccountId32>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct SetState { + pub pool_id: ::core::primitive::u32, + pub state: runtime_types::pallet_nomination_pools::PoolState, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct SetMetadata { + pub pool_id: ::core::primitive::u32, + pub metadata: ::std::vec::Vec<::core::primitive::u8>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct SetConfigs { + pub min_join_bond: + runtime_types::pallet_nomination_pools::ConfigOp<::core::primitive::u128>, + pub min_create_bond: + runtime_types::pallet_nomination_pools::ConfigOp<::core::primitive::u128>, + pub max_pools: + runtime_types::pallet_nomination_pools::ConfigOp<::core::primitive::u32>, + pub max_members: + runtime_types::pallet_nomination_pools::ConfigOp<::core::primitive::u32>, + pub max_members_per_pool: + runtime_types::pallet_nomination_pools::ConfigOp<::core::primitive::u32>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct UpdateRoles { + pub pool_id: ::core::primitive::u32, + pub new_root: runtime_types::pallet_nomination_pools::ConfigOp< + ::subxt::ext::sp_core::crypto::AccountId32, + >, + pub new_nominator: runtime_types::pallet_nomination_pools::ConfigOp< + ::subxt::ext::sp_core::crypto::AccountId32, + >, + pub new_state_toggler: runtime_types::pallet_nomination_pools::ConfigOp< + ::subxt::ext::sp_core::crypto::AccountId32, + >, + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct Chill { + pub pool_id: ::core::primitive::u32, + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "Stake funds with a pool. The amount to bond is transferred from the member to the"] + #[doc = "pools account and immediately increases the pools bond."] + #[doc = ""] + #[doc = "# Note"] + #[doc = ""] + #[doc = "* An account can only be a member of a single pool."] + #[doc = "* An account cannot join the same pool multiple times."] + #[doc = "* This call will *not* dust the member account, so the member must have at least"] + #[doc = " `existential deposit + amount` in their account."] + #[doc = "* Only a pool with [`PoolState::Open`] can be joined"] + pub fn join( + &self, + amount: ::core::primitive::u128, + pool_id: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "NominationPools", + "join", + Join { amount, pool_id }, + [ + 205u8, 66u8, 42u8, 72u8, 146u8, 148u8, 119u8, 162u8, 101u8, 183u8, + 46u8, 176u8, 221u8, 204u8, 197u8, 20u8, 75u8, 226u8, 29u8, 118u8, + 208u8, 60u8, 192u8, 247u8, 222u8, 100u8, 69u8, 80u8, 172u8, 13u8, 69u8, + 250u8, + ], + ) + } + #[doc = "Bond `extra` more funds from `origin` into the pool to which they already belong."] + #[doc = ""] + #[doc = "Additional funds can come from either the free balance of the account, of from the"] + #[doc = "accumulated rewards, see [`BondExtra`]."] + #[doc = ""] + #[doc = "Bonding extra funds implies an automatic payout of all pending rewards as well."] + pub fn bond_extra( + &self, + extra: runtime_types::pallet_nomination_pools::BondExtra< + ::core::primitive::u128, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "NominationPools", + "bond_extra", + BondExtra { extra }, + [ + 50u8, 72u8, 181u8, 216u8, 249u8, 27u8, 250u8, 177u8, 253u8, 22u8, + 240u8, 100u8, 184u8, 202u8, 197u8, 34u8, 21u8, 188u8, 248u8, 191u8, + 11u8, 10u8, 236u8, 161u8, 168u8, 37u8, 38u8, 238u8, 61u8, 183u8, 86u8, + 55u8, + ], + ) + } + #[doc = "A bonded member can use this to claim their payout based on the rewards that the pool"] + #[doc = "has accumulated since their last claimed payout (OR since joining if this is there first"] + #[doc = "time claiming rewards). The payout will be transferred to the member's account."] + #[doc = ""] + #[doc = "The member will earn rewards pro rata based on the members stake vs the sum of the"] + #[doc = "members in the pools stake. Rewards do not \"expire\"."] + pub fn claim_payout(&self) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "NominationPools", + "claim_payout", + ClaimPayout {}, + [ + 128u8, 58u8, 138u8, 55u8, 64u8, 16u8, 129u8, 25u8, 211u8, 229u8, 193u8, + 115u8, 47u8, 45u8, 155u8, 221u8, 218u8, 1u8, 222u8, 5u8, 236u8, 32u8, + 88u8, 0u8, 198u8, 72u8, 196u8, 181u8, 104u8, 16u8, 212u8, 29u8, + ], + ) + } + #[doc = "Unbond up to `unbonding_points` of the `member_account`'s funds from the pool. It"] + #[doc = "implicitly collects the rewards one last time, since not doing so would mean some"] + #[doc = "rewards would be forfeited."] + #[doc = ""] + #[doc = "Under certain conditions, this call can be dispatched permissionlessly (i.e. by any"] + #[doc = "account)."] + #[doc = ""] + #[doc = "# Conditions for a permissionless dispatch."] + #[doc = ""] + #[doc = "* The pool is blocked and the caller is either the root or state-toggler. This is"] + #[doc = " refereed to as a kick."] + #[doc = "* The pool is destroying and the member is not the depositor."] + #[doc = "* The pool is destroying, the member is the depositor and no other members are in the"] + #[doc = " pool."] + #[doc = ""] + #[doc = "## Conditions for permissioned dispatch (i.e. the caller is also the"] + #[doc = "`member_account`):"] + #[doc = ""] + #[doc = "* The caller is not the depositor."] + #[doc = "* The caller is the depositor, the pool is destroying and no other members are in the"] + #[doc = " pool."] + #[doc = ""] + #[doc = "# Note"] + #[doc = ""] + #[doc = "If there are too many unlocking chunks to unbond with the pool account,"] + #[doc = "[`Call::pool_withdraw_unbonded`] can be called to try and minimize unlocking chunks. If"] + #[doc = "there are too many unlocking chunks, the result of this call will likely be the"] + #[doc = "`NoMoreChunks` error from the staking system."] + pub fn unbond( + &self, + member_account: ::subxt::ext::sp_core::crypto::AccountId32, + unbonding_points: ::core::primitive::u128, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "NominationPools", + "unbond", + Unbond { + member_account, + unbonding_points, + }, + [ + 59u8, 250u8, 74u8, 2u8, 210u8, 41u8, 108u8, 239u8, 55u8, 4u8, 232u8, + 77u8, 115u8, 224u8, 60u8, 216u8, 107u8, 47u8, 3u8, 178u8, 245u8, 113u8, + 67u8, 227u8, 199u8, 241u8, 223u8, 123u8, 97u8, 79u8, 245u8, 239u8, + ], + ) + } + #[doc = "Call `withdraw_unbonded` for the pools account. This call can be made by any account."] + #[doc = ""] + #[doc = "This is useful if their are too many unlocking chunks to call `unbond`, and some"] + #[doc = "can be cleared by withdrawing. In the case there are too many unlocking chunks, the user"] + #[doc = "would probably see an error like `NoMoreChunks` emitted from the staking system when"] + #[doc = "they attempt to unbond."] + pub fn pool_withdraw_unbonded( + &self, + pool_id: ::core::primitive::u32, + num_slashing_spans: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "NominationPools", + "pool_withdraw_unbonded", + PoolWithdrawUnbonded { + pool_id, + num_slashing_spans, + }, + [ + 152u8, 245u8, 131u8, 247u8, 106u8, 214u8, 154u8, 8u8, 7u8, 210u8, + 149u8, 218u8, 118u8, 46u8, 242u8, 182u8, 191u8, 119u8, 28u8, 199u8, + 36u8, 49u8, 219u8, 123u8, 58u8, 203u8, 211u8, 226u8, 217u8, 36u8, 56u8, + 0u8, + ], + ) + } + #[doc = "Withdraw unbonded funds from `member_account`. If no bonded funds can be unbonded, an"] + #[doc = "error is returned."] + #[doc = ""] + #[doc = "Under certain conditions, this call can be dispatched permissionlessly (i.e. by any"] + #[doc = "account)."] + #[doc = ""] + #[doc = "# Conditions for a permissionless dispatch"] + #[doc = ""] + #[doc = "* The pool is in destroy mode and the target is not the depositor."] + #[doc = "* The target is the depositor and they are the only member in the sub pools."] + #[doc = "* The pool is blocked and the caller is either the root or state-toggler."] + #[doc = ""] + #[doc = "# Conditions for permissioned dispatch"] + #[doc = ""] + #[doc = "* The caller is the target and they are not the depositor."] + #[doc = ""] + #[doc = "# Note"] + #[doc = ""] + #[doc = "If the target is the depositor, the pool will be destroyed."] + pub fn withdraw_unbonded( + &self, + member_account: ::subxt::ext::sp_core::crypto::AccountId32, + num_slashing_spans: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "NominationPools", + "withdraw_unbonded", + WithdrawUnbonded { + member_account, + num_slashing_spans, + }, + [ + 123u8, 29u8, 174u8, 20u8, 225u8, 121u8, 34u8, 168u8, 62u8, 199u8, + 115u8, 154u8, 36u8, 12u8, 228u8, 181u8, 179u8, 25u8, 141u8, 8u8, 189u8, + 146u8, 117u8, 178u8, 211u8, 236u8, 194u8, 154u8, 35u8, 51u8, 158u8, + 255u8, + ], + ) + } + #[doc = "Create a new delegation pool."] + #[doc = ""] + #[doc = "# Arguments"] + #[doc = ""] + #[doc = "* `amount` - The amount of funds to delegate to the pool. This also acts of a sort of"] + #[doc = " deposit since the pools creator cannot fully unbond funds until the pool is being"] + #[doc = " destroyed."] + #[doc = "* `index` - A disambiguation index for creating the account. Likely only useful when"] + #[doc = " creating multiple pools in the same extrinsic."] + #[doc = "* `root` - The account to set as [`PoolRoles::root`]."] + #[doc = "* `nominator` - The account to set as the [`PoolRoles::nominator`]."] + #[doc = "* `state_toggler` - The account to set as the [`PoolRoles::state_toggler`]."] + #[doc = ""] + #[doc = "# Note"] + #[doc = ""] + #[doc = "In addition to `amount`, the caller will transfer the existential deposit; so the caller"] + #[doc = "needs at have at least `amount + existential_deposit` transferrable."] + pub fn create( + &self, + amount: ::core::primitive::u128, + root: ::subxt::ext::sp_core::crypto::AccountId32, + nominator: ::subxt::ext::sp_core::crypto::AccountId32, + state_toggler: ::subxt::ext::sp_core::crypto::AccountId32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "NominationPools", + "create", + Create { + amount, + root, + nominator, + state_toggler, + }, + [ + 82u8, 231u8, 186u8, 244u8, 193u8, 132u8, 21u8, 23u8, 49u8, 163u8, + 151u8, 181u8, 77u8, 181u8, 191u8, 170u8, 175u8, 62u8, 253u8, 2u8, + 162u8, 229u8, 78u8, 147u8, 79u8, 12u8, 215u8, 9u8, 100u8, 27u8, 95u8, + 242u8, + ], + ) + } + #[doc = "Nominate on behalf of the pool."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be signed by the pool nominator or the pool"] + #[doc = "root role."] + #[doc = ""] + #[doc = "This directly forward the call to the staking pallet, on behalf of the pool bonded"] + #[doc = "account."] + pub fn nominate( + &self, + pool_id: ::core::primitive::u32, + validators: ::std::vec::Vec<::subxt::ext::sp_core::crypto::AccountId32>, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "NominationPools", + "nominate", + Nominate { + pool_id, + validators, + }, + [ + 10u8, 235u8, 64u8, 157u8, 36u8, 249u8, 186u8, 27u8, 79u8, 172u8, 25u8, + 3u8, 203u8, 19u8, 192u8, 182u8, 36u8, 103u8, 13u8, 20u8, 89u8, 140u8, + 159u8, 4u8, 132u8, 242u8, 192u8, 146u8, 55u8, 251u8, 216u8, 255u8, + ], + ) + } + #[doc = "Set a new state for the pool."] + #[doc = ""] + #[doc = "If a pool is already in the `Destroying` state, then under no condition can its state"] + #[doc = "change again."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be either:"] + #[doc = ""] + #[doc = "1. signed by the state toggler, or the root role of the pool,"] + #[doc = "2. if the pool conditions to be open are NOT met (as described by `ok_to_be_open`), and"] + #[doc = " then the state of the pool can be permissionlessly changed to `Destroying`."] + pub fn set_state( + &self, + pool_id: ::core::primitive::u32, + state: runtime_types::pallet_nomination_pools::PoolState, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "NominationPools", + "set_state", + SetState { pool_id, state }, + [ + 104u8, 40u8, 213u8, 88u8, 159u8, 115u8, 35u8, 249u8, 78u8, 180u8, 99u8, + 1u8, 225u8, 218u8, 192u8, 151u8, 25u8, 194u8, 192u8, 187u8, 39u8, + 170u8, 212u8, 125u8, 75u8, 250u8, 248u8, 175u8, 159u8, 161u8, 151u8, + 162u8, + ], + ) + } + #[doc = "Set a new metadata for the pool."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be signed by the state toggler, or the root role"] + #[doc = "of the pool."] + pub fn set_metadata( + &self, + pool_id: ::core::primitive::u32, + metadata: ::std::vec::Vec<::core::primitive::u8>, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "NominationPools", + "set_metadata", + SetMetadata { pool_id, metadata }, + [ + 156u8, 81u8, 170u8, 161u8, 34u8, 100u8, 183u8, 174u8, 5u8, 81u8, 31u8, + 76u8, 12u8, 42u8, 77u8, 1u8, 6u8, 26u8, 168u8, 7u8, 8u8, 115u8, 158u8, + 151u8, 30u8, 211u8, 52u8, 177u8, 234u8, 87u8, 125u8, 127u8, + ], + ) + } + #[doc = "Update configurations for the nomination pools. The origin for this call must be"] + #[doc = "Root."] + #[doc = ""] + #[doc = "# Arguments"] + #[doc = ""] + #[doc = "* `min_join_bond` - Set [`MinJoinBond`]."] + #[doc = "* `min_create_bond` - Set [`MinCreateBond`]."] + #[doc = "* `max_pools` - Set [`MaxPools`]."] + #[doc = "* `max_members` - Set [`MaxPoolMembers`]."] + #[doc = "* `max_members_per_pool` - Set [`MaxPoolMembersPerPool`]."] + pub fn set_configs( + &self, + min_join_bond: runtime_types::pallet_nomination_pools::ConfigOp< + ::core::primitive::u128, + >, + min_create_bond: runtime_types::pallet_nomination_pools::ConfigOp< + ::core::primitive::u128, + >, + max_pools: runtime_types::pallet_nomination_pools::ConfigOp< + ::core::primitive::u32, + >, + max_members: runtime_types::pallet_nomination_pools::ConfigOp< + ::core::primitive::u32, + >, + max_members_per_pool: runtime_types::pallet_nomination_pools::ConfigOp< + ::core::primitive::u32, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "NominationPools", + "set_configs", + SetConfigs { + min_join_bond, + min_create_bond, + max_pools, + max_members, + max_members_per_pool, + }, + [ + 143u8, 196u8, 211u8, 30u8, 71u8, 15u8, 150u8, 243u8, 7u8, 178u8, 179u8, + 168u8, 40u8, 116u8, 220u8, 140u8, 18u8, 206u8, 6u8, 189u8, 190u8, 37u8, + 68u8, 41u8, 45u8, 233u8, 247u8, 172u8, 185u8, 34u8, 243u8, 187u8, + ], + ) + } + #[doc = "Update the roles of the pool."] + #[doc = ""] + #[doc = "The root is the only entity that can change any of the roles, including itself,"] + #[doc = "excluding the depositor, who can never change."] + #[doc = ""] + #[doc = "It emits an event, notifying UIs of the role change. This event is quite relevant to"] + #[doc = "most pool members and they should be informed of changes to pool roles."] + pub fn update_roles( + &self, + pool_id: ::core::primitive::u32, + new_root: runtime_types::pallet_nomination_pools::ConfigOp< + ::subxt::ext::sp_core::crypto::AccountId32, + >, + new_nominator: runtime_types::pallet_nomination_pools::ConfigOp< + ::subxt::ext::sp_core::crypto::AccountId32, + >, + new_state_toggler: runtime_types::pallet_nomination_pools::ConfigOp< + ::subxt::ext::sp_core::crypto::AccountId32, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "NominationPools", + "update_roles", + UpdateRoles { + pool_id, + new_root, + new_nominator, + new_state_toggler, + }, + [ + 247u8, 95u8, 234u8, 56u8, 181u8, 229u8, 158u8, 97u8, 69u8, 165u8, 38u8, + 17u8, 27u8, 209u8, 204u8, 250u8, 91u8, 193u8, 35u8, 93u8, 215u8, 131u8, + 148u8, 73u8, 67u8, 188u8, 92u8, 32u8, 34u8, 37u8, 113u8, 93u8, + ], + ) + } + #[doc = "Chill on behalf of the pool."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be signed by the pool nominator or the pool"] + #[doc = "root role, same as [`Pallet::nominate`]."] + #[doc = ""] + #[doc = "This directly forward the call to the staking pallet, on behalf of the pool bonded"] + #[doc = "account."] + pub fn chill( + &self, + pool_id: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "NominationPools", + "chill", + Chill { pool_id }, + [ + 41u8, 114u8, 128u8, 121u8, 244u8, 15u8, 15u8, 52u8, 129u8, 88u8, 239u8, + 167u8, 216u8, 38u8, 123u8, 240u8, 172u8, 229u8, 132u8, 64u8, 175u8, + 87u8, 217u8, 27u8, 11u8, 124u8, 1u8, 140u8, 40u8, 191u8, 187u8, 36u8, + ], + ) + } + } + } + #[doc = "Events of this pallet."] + pub type Event = runtime_types::pallet_nomination_pools::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "A pool has been created."] + pub struct Created { + pub depositor: ::subxt::ext::sp_core::crypto::AccountId32, + pub pool_id: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for Created { + const PALLET: &'static str = "NominationPools"; + const EVENT: &'static str = "Created"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "A member has became bonded in a pool."] + pub struct Bonded { + pub member: ::subxt::ext::sp_core::crypto::AccountId32, + pub pool_id: ::core::primitive::u32, + pub bonded: ::core::primitive::u128, + pub joined: ::core::primitive::bool, + } + impl ::subxt::events::StaticEvent for Bonded { + const PALLET: &'static str = "NominationPools"; + const EVENT: &'static str = "Bonded"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "A payout has been made to a member."] + pub struct PaidOut { + pub member: ::subxt::ext::sp_core::crypto::AccountId32, + pub pool_id: ::core::primitive::u32, + pub payout: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for PaidOut { + const PALLET: &'static str = "NominationPools"; + const EVENT: &'static str = "PaidOut"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "A member has unbonded from their pool."] + #[doc = ""] + #[doc = "- `balance` is the corresponding balance of the number of points that has been"] + #[doc = " requested to be unbonded (the argument of the `unbond` transaction) from the bonded"] + #[doc = " pool."] + #[doc = "- `points` is the number of points that are issued as a result of `balance` being"] + #[doc = "dissolved into the corresponding unbonding pool."] + #[doc = "- `era` is the era in which the balance will be unbonded."] + #[doc = "In the absence of slashing, these values will match. In the presence of slashing, the"] + #[doc = "number of points that are issued in the unbonding pool will be less than the amount"] + #[doc = "requested to be unbonded."] + pub struct Unbonded { + pub member: ::subxt::ext::sp_core::crypto::AccountId32, + pub pool_id: ::core::primitive::u32, + pub balance: ::core::primitive::u128, + pub points: ::core::primitive::u128, + pub era: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for Unbonded { + const PALLET: &'static str = "NominationPools"; + const EVENT: &'static str = "Unbonded"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "A member has withdrawn from their pool."] + #[doc = ""] + #[doc = "The given number of `points` have been dissolved in return of `balance`."] + #[doc = ""] + #[doc = "Similar to `Unbonded` event, in the absence of slashing, the ratio of point to balance"] + #[doc = "will be 1."] + pub struct Withdrawn { + pub member: ::subxt::ext::sp_core::crypto::AccountId32, + pub pool_id: ::core::primitive::u32, + pub balance: ::core::primitive::u128, + pub points: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Withdrawn { + const PALLET: &'static str = "NominationPools"; + const EVENT: &'static str = "Withdrawn"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "A pool has been destroyed."] + pub struct Destroyed { + pub pool_id: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for Destroyed { + const PALLET: &'static str = "NominationPools"; + const EVENT: &'static str = "Destroyed"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "The state of a pool has changed"] + pub struct StateChanged { + pub pool_id: ::core::primitive::u32, + pub new_state: runtime_types::pallet_nomination_pools::PoolState, + } + impl ::subxt::events::StaticEvent for StateChanged { + const PALLET: &'static str = "NominationPools"; + const EVENT: &'static str = "StateChanged"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "A member has been removed from a pool."] + #[doc = ""] + #[doc = "The removal can be voluntary (withdrawn all unbonded funds) or involuntary (kicked)."] + pub struct MemberRemoved { + pub pool_id: ::core::primitive::u32, + pub member: ::subxt::ext::sp_core::crypto::AccountId32, + } + impl ::subxt::events::StaticEvent for MemberRemoved { + const PALLET: &'static str = "NominationPools"; + const EVENT: &'static str = "MemberRemoved"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "The roles of a pool have been updated to the given new roles. Note that the depositor"] + #[doc = "can never change."] + pub struct RolesUpdated { + pub root: ::core::option::Option<::subxt::ext::sp_core::crypto::AccountId32>, + pub state_toggler: + ::core::option::Option<::subxt::ext::sp_core::crypto::AccountId32>, + pub nominator: ::core::option::Option<::subxt::ext::sp_core::crypto::AccountId32>, + } + impl ::subxt::events::StaticEvent for RolesUpdated { + const PALLET: &'static str = "NominationPools"; + const EVENT: &'static str = "RolesUpdated"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "The active balance of pool `pool_id` has been slashed to `balance`."] + pub struct PoolSlashed { + pub pool_id: ::core::primitive::u32, + pub balance: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for PoolSlashed { + const PALLET: &'static str = "NominationPools"; + const EVENT: &'static str = "PoolSlashed"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "The unbond pool at `era` of pool `pool_id` has been slashed to `balance`."] + pub struct UnbondingPoolSlashed { + pub pool_id: ::core::primitive::u32, + pub era: ::core::primitive::u32, + pub balance: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for UnbondingPoolSlashed { + const PALLET: &'static str = "NominationPools"; + const EVENT: &'static str = "UnbondingPoolSlashed"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " Minimum amount to bond to join a pool."] + pub fn min_join_bond( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "NominationPools", + "MinJoinBond", + vec![], + [ + 125u8, 239u8, 45u8, 225u8, 74u8, 129u8, 247u8, 184u8, 205u8, 58u8, + 45u8, 186u8, 126u8, 170u8, 112u8, 120u8, 23u8, 190u8, 247u8, 97u8, + 131u8, 126u8, 215u8, 44u8, 147u8, 122u8, 132u8, 212u8, 217u8, 84u8, + 240u8, 91u8, + ], + ) + } + #[doc = " Minimum bond required to create a pool."] + #[doc = ""] + #[doc = " This is the amount that the depositor must put as their initial stake in the pool, as an"] + #[doc = " indication of \"skin in the game\"."] + #[doc = ""] + #[doc = " This is the value that will always exist in the staking ledger of the pool bonded account"] + #[doc = " while all other accounts leave."] + pub fn min_create_bond( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "NominationPools", + "MinCreateBond", + vec![], + [ + 31u8, 208u8, 240u8, 158u8, 23u8, 218u8, 212u8, 138u8, 92u8, 210u8, + 207u8, 170u8, 32u8, 60u8, 5u8, 21u8, 84u8, 162u8, 1u8, 111u8, 181u8, + 243u8, 24u8, 148u8, 193u8, 253u8, 248u8, 190u8, 16u8, 222u8, 219u8, + 67u8, + ], + ) + } + #[doc = " Maximum number of nomination pools that can exist. If `None`, then an unbounded number of"] + #[doc = " pools can exist."] + pub fn max_pools( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "NominationPools", + "MaxPools", + vec![], + [ + 216u8, 111u8, 68u8, 103u8, 33u8, 50u8, 109u8, 3u8, 176u8, 195u8, 23u8, + 73u8, 112u8, 138u8, 9u8, 194u8, 233u8, 73u8, 68u8, 215u8, 162u8, 255u8, + 217u8, 173u8, 141u8, 27u8, 72u8, 199u8, 7u8, 240u8, 25u8, 34u8, + ], + ) + } + #[doc = " Maximum number of members that can exist in the system. If `None`, then the count"] + #[doc = " members are not bound on a system wide basis."] + pub fn max_pool_members( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "NominationPools", + "MaxPoolMembers", + vec![], + [ + 82u8, 217u8, 26u8, 234u8, 223u8, 241u8, 66u8, 182u8, 43u8, 233u8, 59u8, + 242u8, 202u8, 254u8, 69u8, 50u8, 254u8, 196u8, 166u8, 89u8, 120u8, + 87u8, 76u8, 148u8, 31u8, 197u8, 49u8, 88u8, 206u8, 41u8, 242u8, 62u8, + ], + ) + } + #[doc = " Maximum number of members that may belong to pool. If `None`, then the count of"] + #[doc = " members is not bound on a per pool basis."] + pub fn max_pool_members_per_pool( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "NominationPools", + "MaxPoolMembersPerPool", + vec![], + [ + 93u8, 241u8, 16u8, 169u8, 138u8, 199u8, 128u8, 149u8, 65u8, 30u8, 55u8, + 11u8, 41u8, 252u8, 83u8, 250u8, 9u8, 33u8, 152u8, 239u8, 195u8, 147u8, + 16u8, 248u8, 180u8, 153u8, 88u8, 231u8, 248u8, 169u8, 186u8, 48u8, + ], + ) + } + #[doc = " Active members."] + pub fn pool_members( + &self, + _0: impl ::std::borrow::Borrow<::subxt::ext::sp_core::crypto::AccountId32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_nomination_pools::PoolMember, + >, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "NominationPools", + "PoolMembers", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + )], + [ + 252u8, 236u8, 201u8, 127u8, 219u8, 1u8, 19u8, 144u8, 5u8, 108u8, 70u8, + 30u8, 177u8, 232u8, 253u8, 237u8, 211u8, 91u8, 63u8, 62u8, 155u8, + 151u8, 153u8, 165u8, 206u8, 53u8, 111u8, 31u8, 60u8, 120u8, 100u8, + 249u8, + ], + ) + } + #[doc = " Active members."] + pub fn pool_members_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_nomination_pools::PoolMember, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "NominationPools", + "PoolMembers", + Vec::new(), + [ + 252u8, 236u8, 201u8, 127u8, 219u8, 1u8, 19u8, 144u8, 5u8, 108u8, 70u8, + 30u8, 177u8, 232u8, 253u8, 237u8, 211u8, 91u8, 63u8, 62u8, 155u8, + 151u8, 153u8, 165u8, 206u8, 53u8, 111u8, 31u8, 60u8, 120u8, 100u8, + 249u8, + ], + ) + } + #[doc = "Counter for the related counted storage map"] + pub fn counter_for_pool_members( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "NominationPools", + "CounterForPoolMembers", + vec![], + [ + 114u8, 126u8, 27u8, 138u8, 119u8, 44u8, 45u8, 129u8, 84u8, 107u8, + 171u8, 206u8, 117u8, 141u8, 20u8, 75u8, 229u8, 237u8, 31u8, 229u8, + 124u8, 190u8, 27u8, 124u8, 63u8, 59u8, 167u8, 42u8, 62u8, 212u8, 160u8, + 2u8, + ], + ) + } + #[doc = " Storage for bonded pools."] + pub fn bonded_pools( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_nomination_pools::BondedPoolInner, + >, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "NominationPools", + "BondedPools", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + )], + [ + 34u8, 51u8, 86u8, 95u8, 237u8, 118u8, 40u8, 212u8, 128u8, 227u8, 113u8, + 6u8, 116u8, 28u8, 96u8, 223u8, 63u8, 249u8, 33u8, 152u8, 61u8, 7u8, + 205u8, 220u8, 221u8, 174u8, 207u8, 39u8, 53u8, 176u8, 13u8, 74u8, + ], + ) + } + #[doc = " Storage for bonded pools."] + pub fn bonded_pools_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_nomination_pools::BondedPoolInner, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "NominationPools", + "BondedPools", + Vec::new(), + [ + 34u8, 51u8, 86u8, 95u8, 237u8, 118u8, 40u8, 212u8, 128u8, 227u8, 113u8, + 6u8, 116u8, 28u8, 96u8, 223u8, 63u8, 249u8, 33u8, 152u8, 61u8, 7u8, + 205u8, 220u8, 221u8, 174u8, 207u8, 39u8, 53u8, 176u8, 13u8, 74u8, + ], + ) + } + #[doc = "Counter for the related counted storage map"] + pub fn counter_for_bonded_pools( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "NominationPools", + "CounterForBondedPools", + vec![], + [ + 134u8, 94u8, 199u8, 73u8, 174u8, 253u8, 66u8, 242u8, 233u8, 244u8, + 140u8, 170u8, 242u8, 40u8, 41u8, 185u8, 183u8, 151u8, 58u8, 111u8, + 221u8, 225u8, 81u8, 71u8, 169u8, 219u8, 223u8, 135u8, 8u8, 171u8, + 180u8, 236u8, + ], + ) + } + #[doc = " Reward pools. This is where there rewards for each pool accumulate. When a members payout"] + #[doc = " is claimed, the balance comes out fo the reward pool. Keyed by the bonded pools account."] + pub fn reward_pools( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_nomination_pools::RewardPool, + >, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "NominationPools", + "RewardPools", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + )], + [ + 139u8, 123u8, 46u8, 107u8, 9u8, 83u8, 141u8, 12u8, 188u8, 225u8, 170u8, + 215u8, 154u8, 21u8, 100u8, 95u8, 237u8, 245u8, 46u8, 216u8, 199u8, + 184u8, 187u8, 155u8, 8u8, 16u8, 34u8, 177u8, 153u8, 65u8, 109u8, 198u8, + ], + ) + } + #[doc = " Reward pools. This is where there rewards for each pool accumulate. When a members payout"] + #[doc = " is claimed, the balance comes out fo the reward pool. Keyed by the bonded pools account."] + pub fn reward_pools_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_nomination_pools::RewardPool, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "NominationPools", + "RewardPools", + Vec::new(), + [ + 139u8, 123u8, 46u8, 107u8, 9u8, 83u8, 141u8, 12u8, 188u8, 225u8, 170u8, + 215u8, 154u8, 21u8, 100u8, 95u8, 237u8, 245u8, 46u8, 216u8, 199u8, + 184u8, 187u8, 155u8, 8u8, 16u8, 34u8, 177u8, 153u8, 65u8, 109u8, 198u8, + ], + ) + } + #[doc = "Counter for the related counted storage map"] + pub fn counter_for_reward_pools( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "NominationPools", + "CounterForRewardPools", + vec![], + [ + 209u8, 139u8, 212u8, 116u8, 210u8, 178u8, 213u8, 38u8, 75u8, 23u8, + 188u8, 57u8, 253u8, 213u8, 95u8, 118u8, 182u8, 250u8, 45u8, 205u8, + 17u8, 175u8, 17u8, 201u8, 234u8, 14u8, 98u8, 49u8, 143u8, 135u8, 201u8, + 81u8, + ], + ) + } + #[doc = " Groups of unbonding pools. Each group of unbonding pools belongs to a bonded pool,"] + #[doc = " hence the name sub-pools. Keyed by the bonded pools account."] + pub fn sub_pools_storage( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_nomination_pools::SubPools, + >, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "NominationPools", + "SubPoolsStorage", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + )], + [ + 231u8, 13u8, 111u8, 248u8, 1u8, 208u8, 179u8, 134u8, 224u8, 196u8, + 94u8, 201u8, 229u8, 29u8, 155u8, 211u8, 163u8, 150u8, 157u8, 34u8, + 68u8, 238u8, 55u8, 4u8, 222u8, 96u8, 186u8, 29u8, 205u8, 237u8, 80u8, + 42u8, + ], + ) + } + #[doc = " Groups of unbonding pools. Each group of unbonding pools belongs to a bonded pool,"] + #[doc = " hence the name sub-pools. Keyed by the bonded pools account."] + pub fn sub_pools_storage_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_nomination_pools::SubPools, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "NominationPools", + "SubPoolsStorage", + Vec::new(), + [ + 231u8, 13u8, 111u8, 248u8, 1u8, 208u8, 179u8, 134u8, 224u8, 196u8, + 94u8, 201u8, 229u8, 29u8, 155u8, 211u8, 163u8, 150u8, 157u8, 34u8, + 68u8, 238u8, 55u8, 4u8, 222u8, 96u8, 186u8, 29u8, 205u8, 237u8, 80u8, + 42u8, + ], + ) + } + #[doc = "Counter for the related counted storage map"] + pub fn counter_for_sub_pools_storage( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "NominationPools", + "CounterForSubPoolsStorage", + vec![], + [ + 212u8, 145u8, 212u8, 226u8, 234u8, 31u8, 26u8, 240u8, 107u8, 91u8, + 171u8, 120u8, 41u8, 195u8, 16u8, 86u8, 55u8, 127u8, 103u8, 93u8, 128u8, + 48u8, 69u8, 104u8, 168u8, 236u8, 81u8, 54u8, 2u8, 184u8, 215u8, 51u8, + ], + ) + } + #[doc = " Metadata for the pool."] + pub fn metadata( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_runtime::bounded::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "NominationPools", + "Metadata", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + )], + [ + 108u8, 250u8, 163u8, 54u8, 192u8, 143u8, 239u8, 62u8, 97u8, 163u8, + 161u8, 215u8, 171u8, 225u8, 49u8, 18u8, 37u8, 200u8, 143u8, 254u8, + 136u8, 26u8, 54u8, 187u8, 39u8, 3u8, 216u8, 24u8, 188u8, 25u8, 243u8, + 251u8, + ], + ) + } + #[doc = " Metadata for the pool."] + pub fn metadata_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_runtime::bounded::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + >, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "NominationPools", + "Metadata", + Vec::new(), + [ + 108u8, 250u8, 163u8, 54u8, 192u8, 143u8, 239u8, 62u8, 97u8, 163u8, + 161u8, 215u8, 171u8, 225u8, 49u8, 18u8, 37u8, 200u8, 143u8, 254u8, + 136u8, 26u8, 54u8, 187u8, 39u8, 3u8, 216u8, 24u8, 188u8, 25u8, 243u8, + 251u8, + ], + ) + } + #[doc = "Counter for the related counted storage map"] + pub fn counter_for_metadata( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "NominationPools", + "CounterForMetadata", + vec![], + [ + 190u8, 232u8, 77u8, 134u8, 245u8, 89u8, 160u8, 187u8, 163u8, 68u8, + 188u8, 204u8, 31u8, 145u8, 219u8, 165u8, 213u8, 1u8, 167u8, 90u8, + 175u8, 218u8, 147u8, 144u8, 158u8, 226u8, 23u8, 233u8, 55u8, 168u8, + 161u8, 237u8, + ], + ) + } + #[doc = " Ever increasing number of all pools created so far."] + pub fn last_pool_id( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "NominationPools", + "LastPoolId", + vec![], + [ + 50u8, 254u8, 218u8, 41u8, 213u8, 184u8, 170u8, 166u8, 31u8, 29u8, + 196u8, 57u8, 215u8, 20u8, 40u8, 40u8, 19u8, 22u8, 9u8, 184u8, 11u8, + 21u8, 21u8, 125u8, 97u8, 38u8, 219u8, 209u8, 2u8, 238u8, 247u8, 51u8, + ], + ) + } + #[doc = " A reverse lookup from the pool's account id to its id."] + #[doc = ""] + #[doc = " This is only used for slashing. In all other instances, the pool id is used, and the"] + #[doc = " accounts are deterministically derived from it."] + pub fn reverse_pool_id_lookup( + &self, + _0: impl ::std::borrow::Borrow<::subxt::ext::sp_core::crypto::AccountId32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "NominationPools", + "ReversePoolIdLookup", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + )], + [ + 178u8, 161u8, 51u8, 220u8, 128u8, 1u8, 135u8, 83u8, 236u8, 159u8, 36u8, + 237u8, 120u8, 128u8, 6u8, 191u8, 41u8, 159u8, 94u8, 178u8, 174u8, + 235u8, 221u8, 173u8, 44u8, 81u8, 211u8, 255u8, 231u8, 81u8, 16u8, 87u8, + ], + ) + } + #[doc = " A reverse lookup from the pool's account id to its id."] + #[doc = ""] + #[doc = " This is only used for slashing. In all other instances, the pool id is used, and the"] + #[doc = " accounts are deterministically derived from it."] + pub fn reverse_pool_id_lookup_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "NominationPools", + "ReversePoolIdLookup", + Vec::new(), + [ + 178u8, 161u8, 51u8, 220u8, 128u8, 1u8, 135u8, 83u8, 236u8, 159u8, 36u8, + 237u8, 120u8, 128u8, 6u8, 191u8, 41u8, 159u8, 94u8, 178u8, 174u8, + 235u8, 221u8, 173u8, 44u8, 81u8, 211u8, 255u8, 231u8, 81u8, 16u8, 87u8, + ], + ) + } + #[doc = "Counter for the related counted storage map"] + pub fn counter_for_reverse_pool_id_lookup( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "NominationPools", + "CounterForReversePoolIdLookup", + vec![], + [ + 148u8, 83u8, 81u8, 33u8, 188u8, 72u8, 148u8, 208u8, 245u8, 178u8, 52u8, + 245u8, 229u8, 140u8, 100u8, 152u8, 8u8, 217u8, 161u8, 80u8, 226u8, + 42u8, 15u8, 252u8, 90u8, 197u8, 120u8, 114u8, 144u8, 90u8, 199u8, + 123u8, + ], + ) + } + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " The nomination pool's pallet id."] + pub fn pallet_id( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType, + > { + ::subxt::constants::StaticConstantAddress::new( + "NominationPools", + "PalletId", + [ + 139u8, 109u8, 228u8, 151u8, 252u8, 32u8, 130u8, 69u8, 112u8, 154u8, + 174u8, 45u8, 83u8, 245u8, 51u8, 132u8, 173u8, 5u8, 186u8, 24u8, 243u8, + 9u8, 12u8, 214u8, 80u8, 74u8, 69u8, 189u8, 30u8, 94u8, 22u8, 39u8, + ], + ) + } + #[doc = " The maximum pool points-to-balance ratio that an `open` pool can have."] + #[doc = ""] + #[doc = " This is important in the event slashing takes place and the pool's points-to-balance"] + #[doc = " ratio becomes disproportional."] + #[doc = ""] + #[doc = " Moreover, this relates to the `RewardCounter` type as well, as the arithmetic operations"] + #[doc = " are a function of number of points, and by setting this value to e.g. 10, you ensure"] + #[doc = " that the total number of points in the system are at most 10 times the total_issuance of"] + #[doc = " the chain, in the absolute worse case."] + #[doc = ""] + #[doc = " For a value of 10, the threshold would be a pool points-to-balance ratio of 10:1."] + #[doc = " Such a scenario would also be the equivalent of the pool being 90% slashed."] + pub fn max_points_to_balance( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u8>, + > { + ::subxt::constants::StaticConstantAddress::new( + "NominationPools", + "MaxPointsToBalance", + [ + 141u8, 130u8, 11u8, 35u8, 226u8, 114u8, 92u8, 179u8, 168u8, 110u8, + 28u8, 91u8, 221u8, 64u8, 4u8, 148u8, 201u8, 193u8, 185u8, 66u8, 226u8, + 114u8, 97u8, 79u8, 62u8, 212u8, 202u8, 114u8, 237u8, 228u8, 183u8, + 165u8, + ], + ) + } + } + } + } + pub mod identity { + use super::{root_mod, runtime_types}; + #[doc = "Identity pallet declaration."] + pub mod calls { + use super::{root_mod, runtime_types}; + type DispatchError = runtime_types::sp_runtime::DispatchError; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct AddRegistrar { + pub account: ::subxt::ext::sp_core::crypto::AccountId32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct SetIdentity { + pub info: ::std::boxed::Box, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct SetSubs { + pub subs: ::std::vec::Vec<( + ::subxt::ext::sp_core::crypto::AccountId32, + runtime_types::pallet_identity::types::Data, + )>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct ClearIdentity; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct RequestJudgement { + #[codec(compact)] + pub reg_index: ::core::primitive::u32, + #[codec(compact)] + pub max_fee: ::core::primitive::u128, + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct CancelRequest { + pub reg_index: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct SetFee { + #[codec(compact)] + pub index: ::core::primitive::u32, + #[codec(compact)] + pub fee: ::core::primitive::u128, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct SetAccountId { + #[codec(compact)] + pub index: ::core::primitive::u32, + pub new: ::subxt::ext::sp_core::crypto::AccountId32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct SetFields { + #[codec(compact)] + pub index: ::core::primitive::u32, + pub fields: runtime_types::pallet_identity::types::BitFlags< + runtime_types::pallet_identity::types::IdentityField, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct ProvideJudgement { + #[codec(compact)] + pub reg_index: ::core::primitive::u32, + pub target: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, + pub judgement: + runtime_types::pallet_identity::types::Judgement<::core::primitive::u128>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct KillIdentity { + pub target: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct AddSub { + pub sub: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, + pub data: runtime_types::pallet_identity::types::Data, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct RenameSub { + pub sub: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, + pub data: runtime_types::pallet_identity::types::Data, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct RemoveSub { + pub sub: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct QuitSub; + pub struct TransactionApi; + impl TransactionApi { + #[doc = "Add a registrar to the system."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be `T::RegistrarOrigin`."] + #[doc = ""] + #[doc = "- `account`: the account of the registrar."] + #[doc = ""] + #[doc = "Emits `RegistrarAdded` if successful."] + #[doc = ""] + #[doc = "# "] + #[doc = "- `O(R)` where `R` registrar-count (governance-bounded and code-bounded)."] + #[doc = "- One storage mutation (codec `O(R)`)."] + #[doc = "- One event."] + #[doc = "# "] + pub fn add_registrar( + &self, + account: ::subxt::ext::sp_core::crypto::AccountId32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Identity", + "add_registrar", + AddRegistrar { account }, + [ + 231u8, 221u8, 79u8, 233u8, 107u8, 34u8, 195u8, 186u8, 192u8, 129u8, + 103u8, 159u8, 159u8, 83u8, 151u8, 161u8, 137u8, 164u8, 143u8, 31u8, + 75u8, 42u8, 27u8, 203u8, 19u8, 70u8, 173u8, 11u8, 241u8, 189u8, 137u8, + 127u8, + ], + ) + } + #[doc = "Set an account's identity information and reserve the appropriate deposit."] + #[doc = ""] + #[doc = "If the account already has identity information, the deposit is taken as part payment"] + #[doc = "for the new deposit."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = ""] + #[doc = "- `info`: The identity information."] + #[doc = ""] + #[doc = "Emits `IdentitySet` if successful."] + #[doc = ""] + #[doc = "# "] + #[doc = "- `O(X + X' + R)`"] + #[doc = " - where `X` additional-field-count (deposit-bounded and code-bounded)"] + #[doc = " - where `R` judgements-count (registrar-count-bounded)"] + #[doc = "- One balance reserve operation."] + #[doc = "- One storage mutation (codec-read `O(X' + R)`, codec-write `O(X + R)`)."] + #[doc = "- One event."] + #[doc = "# "] + pub fn set_identity( + &self, + info: runtime_types::pallet_identity::types::IdentityInfo, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Identity", + "set_identity", + SetIdentity { + info: ::std::boxed::Box::new(info), + }, + [ + 130u8, 89u8, 118u8, 6u8, 134u8, 166u8, 35u8, 192u8, 73u8, 6u8, 171u8, + 20u8, 225u8, 255u8, 152u8, 142u8, 111u8, 8u8, 206u8, 200u8, 64u8, 52u8, + 110u8, 123u8, 42u8, 101u8, 191u8, 242u8, 133u8, 139u8, 154u8, 205u8, + ], + ) + } + #[doc = "Set the sub-accounts of the sender."] + #[doc = ""] + #[doc = "Payment: Any aggregate balance reserved by previous `set_subs` calls will be returned"] + #[doc = "and an amount `SubAccountDeposit` will be reserved for each item in `subs`."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ and the sender must have a registered"] + #[doc = "identity."] + #[doc = ""] + #[doc = "- `subs`: The identity's (new) sub-accounts."] + #[doc = ""] + #[doc = "# "] + #[doc = "- `O(P + S)`"] + #[doc = " - where `P` old-subs-count (hard- and deposit-bounded)."] + #[doc = " - where `S` subs-count (hard- and deposit-bounded)."] + #[doc = "- At most one balance operations."] + #[doc = "- DB:"] + #[doc = " - `P + S` storage mutations (codec complexity `O(1)`)"] + #[doc = " - One storage read (codec complexity `O(P)`)."] + #[doc = " - One storage write (codec complexity `O(S)`)."] + #[doc = " - One storage-exists (`IdentityOf::contains_key`)."] + #[doc = "# "] + pub fn set_subs( + &self, + subs: ::std::vec::Vec<( + ::subxt::ext::sp_core::crypto::AccountId32, + runtime_types::pallet_identity::types::Data, + )>, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Identity", + "set_subs", + SetSubs { subs }, + [ + 177u8, 219u8, 84u8, 183u8, 5u8, 32u8, 192u8, 82u8, 174u8, 68u8, 198u8, + 224u8, 56u8, 85u8, 134u8, 171u8, 30u8, 132u8, 140u8, 236u8, 117u8, + 24u8, 150u8, 218u8, 146u8, 194u8, 144u8, 92u8, 103u8, 206u8, 46u8, + 90u8, + ], + ) + } + #[doc = "Clear an account's identity info and all sub-accounts and return all deposits."] + #[doc = ""] + #[doc = "Payment: All reserved balances on the account are returned."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ and the sender must have a registered"] + #[doc = "identity."] + #[doc = ""] + #[doc = "Emits `IdentityCleared` if successful."] + #[doc = ""] + #[doc = "# "] + #[doc = "- `O(R + S + X)`"] + #[doc = " - where `R` registrar-count (governance-bounded)."] + #[doc = " - where `S` subs-count (hard- and deposit-bounded)."] + #[doc = " - where `X` additional-field-count (deposit-bounded and code-bounded)."] + #[doc = "- One balance-unreserve operation."] + #[doc = "- `2` storage reads and `S + 2` storage deletions."] + #[doc = "- One event."] + #[doc = "# "] + pub fn clear_identity(&self) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Identity", + "clear_identity", + ClearIdentity {}, + [ + 75u8, 44u8, 74u8, 122u8, 149u8, 202u8, 114u8, 230u8, 0u8, 255u8, 140u8, + 122u8, 14u8, 196u8, 205u8, 249u8, 220u8, 94u8, 216u8, 34u8, 63u8, 14u8, + 8u8, 205u8, 74u8, 23u8, 181u8, 129u8, 252u8, 110u8, 231u8, 114u8, + ], + ) + } + #[doc = "Request a judgement from a registrar."] + #[doc = ""] + #[doc = "Payment: At most `max_fee` will be reserved for payment to the registrar if judgement"] + #[doc = "given."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ and the sender must have a"] + #[doc = "registered identity."] + #[doc = ""] + #[doc = "- `reg_index`: The index of the registrar whose judgement is requested."] + #[doc = "- `max_fee`: The maximum fee that may be paid. This should just be auto-populated as:"] + #[doc = ""] + #[doc = "```nocompile"] + #[doc = "Self::registrars().get(reg_index).unwrap().fee"] + #[doc = "```"] + #[doc = ""] + #[doc = "Emits `JudgementRequested` if successful."] + #[doc = ""] + #[doc = "# "] + #[doc = "- `O(R + X)`."] + #[doc = "- One balance-reserve operation."] + #[doc = "- Storage: 1 read `O(R)`, 1 mutate `O(X + R)`."] + #[doc = "- One event."] + #[doc = "# "] + pub fn request_judgement( + &self, + reg_index: ::core::primitive::u32, + max_fee: ::core::primitive::u128, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Identity", + "request_judgement", + RequestJudgement { reg_index, max_fee }, + [ + 186u8, 149u8, 61u8, 54u8, 159u8, 194u8, 77u8, 161u8, 220u8, 157u8, 3u8, + 216u8, 23u8, 105u8, 119u8, 76u8, 144u8, 198u8, 157u8, 45u8, 235u8, + 139u8, 87u8, 82u8, 81u8, 12u8, 25u8, 134u8, 225u8, 92u8, 182u8, 101u8, + ], + ) + } + #[doc = "Cancel a previous request."] + #[doc = ""] + #[doc = "Payment: A previously reserved deposit is returned on success."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ and the sender must have a"] + #[doc = "registered identity."] + #[doc = ""] + #[doc = "- `reg_index`: The index of the registrar whose judgement is no longer requested."] + #[doc = ""] + #[doc = "Emits `JudgementUnrequested` if successful."] + #[doc = ""] + #[doc = "# "] + #[doc = "- `O(R + X)`."] + #[doc = "- One balance-reserve operation."] + #[doc = "- One storage mutation `O(R + X)`."] + #[doc = "- One event"] + #[doc = "# "] + pub fn cancel_request( + &self, + reg_index: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Identity", + "cancel_request", + CancelRequest { reg_index }, + [ + 83u8, 180u8, 239u8, 126u8, 32u8, 51u8, 17u8, 20u8, 180u8, 3u8, 59u8, + 96u8, 24u8, 32u8, 136u8, 92u8, 58u8, 254u8, 68u8, 70u8, 50u8, 11u8, + 51u8, 91u8, 180u8, 79u8, 81u8, 84u8, 216u8, 138u8, 6u8, 215u8, + ], + ) + } + #[doc = "Set the fee required for a judgement to be requested from a registrar."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ and the sender must be the account"] + #[doc = "of the registrar whose index is `index`."] + #[doc = ""] + #[doc = "- `index`: the index of the registrar whose fee is to be set."] + #[doc = "- `fee`: the new fee."] + #[doc = ""] + #[doc = "# "] + #[doc = "- `O(R)`."] + #[doc = "- One storage mutation `O(R)`."] + #[doc = "- Benchmark: 7.315 + R * 0.329 µs (min squares analysis)"] + #[doc = "# "] + pub fn set_fee( + &self, + index: ::core::primitive::u32, + fee: ::core::primitive::u128, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Identity", + "set_fee", + SetFee { index, fee }, + [ + 21u8, 157u8, 123u8, 182u8, 160u8, 190u8, 117u8, 37u8, 136u8, 133u8, + 104u8, 234u8, 31u8, 145u8, 115u8, 154u8, 125u8, 40u8, 2u8, 87u8, 118u8, + 56u8, 247u8, 73u8, 89u8, 0u8, 251u8, 3u8, 58u8, 105u8, 239u8, 211u8, + ], + ) + } + #[doc = "Change the account associated with a registrar."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ and the sender must be the account"] + #[doc = "of the registrar whose index is `index`."] + #[doc = ""] + #[doc = "- `index`: the index of the registrar whose fee is to be set."] + #[doc = "- `new`: the new account ID."] + #[doc = ""] + #[doc = "# "] + #[doc = "- `O(R)`."] + #[doc = "- One storage mutation `O(R)`."] + #[doc = "- Benchmark: 8.823 + R * 0.32 µs (min squares analysis)"] + #[doc = "# "] + pub fn set_account_id( + &self, + index: ::core::primitive::u32, + new: ::subxt::ext::sp_core::crypto::AccountId32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Identity", + "set_account_id", + SetAccountId { index, new }, + [ + 245u8, 76u8, 110u8, 237u8, 219u8, 246u8, 219u8, 136u8, 146u8, 42u8, + 139u8, 60u8, 30u8, 188u8, 87u8, 10u8, 231u8, 89u8, 225u8, 24u8, 152u8, + 188u8, 59u8, 194u8, 199u8, 78u8, 169u8, 90u8, 122u8, 29u8, 80u8, 42u8, + ], + ) + } + #[doc = "Set the field information for a registrar."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ and the sender must be the account"] + #[doc = "of the registrar whose index is `index`."] + #[doc = ""] + #[doc = "- `index`: the index of the registrar whose fee is to be set."] + #[doc = "- `fields`: the fields that the registrar concerns themselves with."] + #[doc = ""] + #[doc = "# "] + #[doc = "- `O(R)`."] + #[doc = "- One storage mutation `O(R)`."] + #[doc = "- Benchmark: 7.464 + R * 0.325 µs (min squares analysis)"] + #[doc = "# "] + pub fn set_fields( + &self, + index: ::core::primitive::u32, + fields: runtime_types::pallet_identity::types::BitFlags< + runtime_types::pallet_identity::types::IdentityField, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Identity", + "set_fields", + SetFields { index, fields }, + [ + 50u8, 196u8, 179u8, 71u8, 66u8, 65u8, 235u8, 7u8, 51u8, 14u8, 81u8, + 173u8, 201u8, 58u8, 6u8, 151u8, 174u8, 245u8, 102u8, 184u8, 28u8, 84u8, + 125u8, 93u8, 126u8, 134u8, 92u8, 203u8, 200u8, 129u8, 240u8, 252u8, + ], + ) + } + #[doc = "Provide a judgement for an account's identity."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ and the sender must be the account"] + #[doc = "of the registrar whose index is `reg_index`."] + #[doc = ""] + #[doc = "- `reg_index`: the index of the registrar whose judgement is being made."] + #[doc = "- `target`: the account whose identity the judgement is upon. This must be an account"] + #[doc = " with a registered identity."] + #[doc = "- `judgement`: the judgement of the registrar of index `reg_index` about `target`."] + #[doc = ""] + #[doc = "Emits `JudgementGiven` if successful."] + #[doc = ""] + #[doc = "# "] + #[doc = "- `O(R + X)`."] + #[doc = "- One balance-transfer operation."] + #[doc = "- Up to one account-lookup operation."] + #[doc = "- Storage: 1 read `O(R)`, 1 mutate `O(R + X)`."] + #[doc = "- One event."] + #[doc = "# "] + pub fn provide_judgement( + &self, + reg_index: ::core::primitive::u32, + target: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, + judgement: runtime_types::pallet_identity::types::Judgement< + ::core::primitive::u128, + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Identity", + "provide_judgement", + ProvideJudgement { + reg_index, + target, + judgement, + }, + [ + 221u8, 244u8, 12u8, 17u8, 197u8, 130u8, 189u8, 136u8, 253u8, 143u8, + 5u8, 145u8, 177u8, 105u8, 220u8, 8u8, 157u8, 63u8, 131u8, 5u8, 152u8, + 167u8, 158u8, 47u8, 123u8, 86u8, 225u8, 88u8, 218u8, 20u8, 82u8, 230u8, + ], + ) + } + #[doc = "Remove an account's identity and sub-account information and slash the deposits."] + #[doc = ""] + #[doc = "Payment: Reserved balances from `set_subs` and `set_identity` are slashed and handled by"] + #[doc = "`Slash`. Verification request deposits are not returned; they should be cancelled"] + #[doc = "manually using `cancel_request`."] + #[doc = ""] + #[doc = "The dispatch origin for this call must match `T::ForceOrigin`."] + #[doc = ""] + #[doc = "- `target`: the account whose identity the judgement is upon. This must be an account"] + #[doc = " with a registered identity."] + #[doc = ""] + #[doc = "Emits `IdentityKilled` if successful."] + #[doc = ""] + #[doc = "# "] + #[doc = "- `O(R + S + X)`."] + #[doc = "- One balance-reserve operation."] + #[doc = "- `S + 2` storage mutations."] + #[doc = "- One event."] + #[doc = "# "] + pub fn kill_identity( + &self, + target: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Identity", + "kill_identity", + KillIdentity { target }, + [ + 76u8, 13u8, 158u8, 219u8, 221u8, 0u8, 151u8, 241u8, 137u8, 136u8, + 179u8, 194u8, 188u8, 230u8, 56u8, 16u8, 254u8, 28u8, 127u8, 216u8, + 205u8, 117u8, 224u8, 121u8, 240u8, 231u8, 126u8, 181u8, 230u8, 68u8, + 13u8, 174u8, + ], + ) + } + #[doc = "Add the given account to the sender's subs."] + #[doc = ""] + #[doc = "Payment: Balance reserved by a previous `set_subs` call for one sub will be repatriated"] + #[doc = "to the sender."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ and the sender must have a registered"] + #[doc = "sub identity of `sub`."] + pub fn add_sub( + &self, + sub: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, + data: runtime_types::pallet_identity::types::Data, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Identity", + "add_sub", + AddSub { sub, data }, + [ + 122u8, 218u8, 25u8, 93u8, 33u8, 176u8, 191u8, 254u8, 223u8, 147u8, + 100u8, 135u8, 86u8, 71u8, 47u8, 163u8, 105u8, 222u8, 162u8, 173u8, + 207u8, 182u8, 130u8, 128u8, 214u8, 242u8, 101u8, 250u8, 242u8, 24u8, + 17u8, 84u8, + ], + ) + } + #[doc = "Alter the associated name of the given sub-account."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ and the sender must have a registered"] + #[doc = "sub identity of `sub`."] + pub fn rename_sub( + &self, + sub: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, + data: runtime_types::pallet_identity::types::Data, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Identity", + "rename_sub", + RenameSub { sub, data }, + [ + 166u8, 167u8, 49u8, 114u8, 199u8, 168u8, 187u8, 221u8, 100u8, 85u8, + 147u8, 211u8, 157u8, 31u8, 109u8, 135u8, 194u8, 135u8, 15u8, 89u8, + 59u8, 57u8, 252u8, 163u8, 9u8, 138u8, 216u8, 189u8, 177u8, 42u8, 96u8, + 34u8, + ], + ) + } + #[doc = "Remove the given account from the sender's subs."] + #[doc = ""] + #[doc = "Payment: Balance reserved by a previous `set_subs` call for one sub will be repatriated"] + #[doc = "to the sender."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ and the sender must have a registered"] + #[doc = "sub identity of `sub`."] + pub fn remove_sub( + &self, + sub: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Identity", + "remove_sub", + RemoveSub { sub }, + [ + 106u8, 223u8, 210u8, 67u8, 54u8, 11u8, 144u8, 222u8, 42u8, 46u8, 157u8, + 33u8, 13u8, 245u8, 166u8, 195u8, 227u8, 81u8, 224u8, 149u8, 154u8, + 158u8, 187u8, 203u8, 215u8, 91u8, 43u8, 105u8, 69u8, 213u8, 141u8, + 124u8, + ], + ) + } + #[doc = "Remove the sender as a sub-account."] + #[doc = ""] + #[doc = "Payment: Balance reserved by a previous `set_subs` call for one sub will be repatriated"] + #[doc = "to the sender (*not* the original depositor)."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ and the sender must have a registered"] + #[doc = "super-identity."] + #[doc = ""] + #[doc = "NOTE: This should not normally be used, but is provided in the case that the non-"] + #[doc = "controller of an account is maliciously registered as a sub-account."] + pub fn quit_sub(&self) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Identity", + "quit_sub", + QuitSub {}, + [ + 62u8, 57u8, 73u8, 72u8, 119u8, 216u8, 250u8, 155u8, 57u8, 169u8, 157u8, + 44u8, 87u8, 51u8, 63u8, 231u8, 77u8, 7u8, 0u8, 119u8, 244u8, 42u8, + 179u8, 51u8, 254u8, 240u8, 55u8, 25u8, 142u8, 38u8, 87u8, 44u8, + ], + ) + } + } + } + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub type Event = runtime_types::pallet_identity::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "A name was set or reset (which will remove all judgements)."] + pub struct IdentitySet { + pub who: ::subxt::ext::sp_core::crypto::AccountId32, + } + impl ::subxt::events::StaticEvent for IdentitySet { + const PALLET: &'static str = "Identity"; + const EVENT: &'static str = "IdentitySet"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "A name was cleared, and the given balance returned."] + pub struct IdentityCleared { + pub who: ::subxt::ext::sp_core::crypto::AccountId32, + pub deposit: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for IdentityCleared { + const PALLET: &'static str = "Identity"; + const EVENT: &'static str = "IdentityCleared"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "A name was removed and the given balance slashed."] + pub struct IdentityKilled { + pub who: ::subxt::ext::sp_core::crypto::AccountId32, + pub deposit: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for IdentityKilled { + const PALLET: &'static str = "Identity"; + const EVENT: &'static str = "IdentityKilled"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "A judgement was asked from a registrar."] + pub struct JudgementRequested { + pub who: ::subxt::ext::sp_core::crypto::AccountId32, + pub registrar_index: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for JudgementRequested { + const PALLET: &'static str = "Identity"; + const EVENT: &'static str = "JudgementRequested"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "A judgement request was retracted."] + pub struct JudgementUnrequested { + pub who: ::subxt::ext::sp_core::crypto::AccountId32, + pub registrar_index: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for JudgementUnrequested { + const PALLET: &'static str = "Identity"; + const EVENT: &'static str = "JudgementUnrequested"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "A judgement was given by a registrar."] + pub struct JudgementGiven { + pub target: ::subxt::ext::sp_core::crypto::AccountId32, + pub registrar_index: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for JudgementGiven { + const PALLET: &'static str = "Identity"; + const EVENT: &'static str = "JudgementGiven"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "A registrar was added."] + pub struct RegistrarAdded { + pub registrar_index: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for RegistrarAdded { + const PALLET: &'static str = "Identity"; + const EVENT: &'static str = "RegistrarAdded"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "A sub-identity was added to an identity and the deposit paid."] + pub struct SubIdentityAdded { + pub sub: ::subxt::ext::sp_core::crypto::AccountId32, + pub main: ::subxt::ext::sp_core::crypto::AccountId32, + pub deposit: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for SubIdentityAdded { + const PALLET: &'static str = "Identity"; + const EVENT: &'static str = "SubIdentityAdded"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "A sub-identity was removed from an identity and the deposit freed."] + pub struct SubIdentityRemoved { + pub sub: ::subxt::ext::sp_core::crypto::AccountId32, + pub main: ::subxt::ext::sp_core::crypto::AccountId32, + pub deposit: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for SubIdentityRemoved { + const PALLET: &'static str = "Identity"; + const EVENT: &'static str = "SubIdentityRemoved"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "A sub-identity was cleared, and the given deposit repatriated from the"] + #[doc = "main identity account to the sub-identity account."] + pub struct SubIdentityRevoked { + pub sub: ::subxt::ext::sp_core::crypto::AccountId32, + pub main: ::subxt::ext::sp_core::crypto::AccountId32, + pub deposit: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for SubIdentityRevoked { + const PALLET: &'static str = "Identity"; + const EVENT: &'static str = "SubIdentityRevoked"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " Information that is pertinent to identify the entity behind an account."] + #[doc = ""] + #[doc = " TWOX-NOTE: OK ― `AccountId` is a secure hash."] + pub fn identity_of( + &self, + _0: impl ::std::borrow::Borrow<::subxt::ext::sp_core::crypto::AccountId32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_identity::types::Registration< + ::core::primitive::u128, + >, + >, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Identity", + "IdentityOf", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + )], + [ + 193u8, 195u8, 180u8, 188u8, 129u8, 250u8, 180u8, 219u8, 22u8, 95u8, + 175u8, 170u8, 143u8, 188u8, 80u8, 124u8, 234u8, 228u8, 245u8, 39u8, + 72u8, 153u8, 107u8, 199u8, 23u8, 75u8, 47u8, 247u8, 104u8, 208u8, + 171u8, 82u8, + ], + ) + } + #[doc = " Information that is pertinent to identify the entity behind an account."] + #[doc = ""] + #[doc = " TWOX-NOTE: OK ― `AccountId` is a secure hash."] + pub fn identity_of_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_identity::types::Registration< + ::core::primitive::u128, + >, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Identity", + "IdentityOf", + Vec::new(), + [ + 193u8, 195u8, 180u8, 188u8, 129u8, 250u8, 180u8, 219u8, 22u8, 95u8, + 175u8, 170u8, 143u8, 188u8, 80u8, 124u8, 234u8, 228u8, 245u8, 39u8, + 72u8, 153u8, 107u8, 199u8, 23u8, 75u8, 47u8, 247u8, 104u8, 208u8, + 171u8, 82u8, + ], + ) + } + #[doc = " The super-identity of an alternative \"sub\" identity together with its name, within that"] + #[doc = " context. If the account is not some other account's sub-identity, then just `None`."] + pub fn super_of( + &self, + _0: impl ::std::borrow::Borrow<::subxt::ext::sp_core::crypto::AccountId32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<( + ::subxt::ext::sp_core::crypto::AccountId32, + runtime_types::pallet_identity::types::Data, + )>, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Identity", + "SuperOf", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Blake2_128Concat, + )], + [ + 170u8, 249u8, 112u8, 249u8, 75u8, 176u8, 21u8, 29u8, 152u8, 149u8, + 69u8, 113u8, 20u8, 92u8, 113u8, 130u8, 135u8, 62u8, 18u8, 204u8, 166u8, + 193u8, 133u8, 167u8, 248u8, 117u8, 80u8, 137u8, 158u8, 111u8, 100u8, + 137u8, + ], + ) + } + #[doc = " The super-identity of an alternative \"sub\" identity together with its name, within that"] + #[doc = " context. If the account is not some other account's sub-identity, then just `None`."] + pub fn super_of_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<( + ::subxt::ext::sp_core::crypto::AccountId32, + runtime_types::pallet_identity::types::Data, + )>, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Identity", + "SuperOf", + Vec::new(), + [ + 170u8, 249u8, 112u8, 249u8, 75u8, 176u8, 21u8, 29u8, 152u8, 149u8, + 69u8, 113u8, 20u8, 92u8, 113u8, 130u8, 135u8, 62u8, 18u8, 204u8, 166u8, + 193u8, 133u8, 167u8, 248u8, 117u8, 80u8, 137u8, 158u8, 111u8, 100u8, + 137u8, + ], + ) + } + #[doc = " Alternative \"sub\" identities of this account."] + #[doc = ""] + #[doc = " The first item is the deposit, the second is a vector of the accounts."] + #[doc = ""] + #[doc = " TWOX-NOTE: OK ― `AccountId` is a secure hash."] + pub fn subs_of( + &self, + _0: impl ::std::borrow::Borrow<::subxt::ext::sp_core::crypto::AccountId32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<( + ::core::primitive::u128, + runtime_types::sp_runtime::bounded::bounded_vec::BoundedVec< + ::subxt::ext::sp_core::crypto::AccountId32, + >, + )>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Identity", + "SubsOf", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Twox64Concat, + )], + [ + 128u8, 15u8, 175u8, 155u8, 216u8, 225u8, 200u8, 169u8, 215u8, 206u8, + 110u8, 22u8, 204u8, 89u8, 212u8, 210u8, 159u8, 169u8, 53u8, 7u8, 44u8, + 164u8, 91u8, 151u8, 7u8, 227u8, 38u8, 230u8, 175u8, 84u8, 6u8, 4u8, + ], + ) + } + #[doc = " Alternative \"sub\" identities of this account."] + #[doc = ""] + #[doc = " The first item is the deposit, the second is a vector of the accounts."] + #[doc = ""] + #[doc = " TWOX-NOTE: OK ― `AccountId` is a secure hash."] + pub fn subs_of_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<( + ::core::primitive::u128, + runtime_types::sp_runtime::bounded::bounded_vec::BoundedVec< + ::subxt::ext::sp_core::crypto::AccountId32, + >, + )>, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Identity", + "SubsOf", + Vec::new(), + [ + 128u8, 15u8, 175u8, 155u8, 216u8, 225u8, 200u8, 169u8, 215u8, 206u8, + 110u8, 22u8, 204u8, 89u8, 212u8, 210u8, 159u8, 169u8, 53u8, 7u8, 44u8, + 164u8, 91u8, 151u8, 7u8, 227u8, 38u8, 230u8, 175u8, 84u8, 6u8, 4u8, + ], + ) + } + #[doc = " The set of registrars. Not expected to get very big as can only be added through a"] + #[doc = " special origin (likely a council motion)."] + #[doc = ""] + #[doc = " The index into this can be cast to `RegistrarIndex` to get a valid value."] + pub fn registrars( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::sp_runtime::bounded::bounded_vec::BoundedVec< + ::core::option::Option< + runtime_types::pallet_identity::types::RegistrarInfo< + ::core::primitive::u128, + ::subxt::ext::sp_core::crypto::AccountId32, + >, + >, + >, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Identity", + "Registrars", + vec![], + [ + 157u8, 87u8, 39u8, 240u8, 154u8, 54u8, 241u8, 229u8, 76u8, 9u8, 62u8, + 252u8, 40u8, 143u8, 186u8, 182u8, 233u8, 187u8, 251u8, 61u8, 236u8, + 229u8, 19u8, 55u8, 42u8, 36u8, 82u8, 173u8, 215u8, 155u8, 229u8, 111u8, + ], + ) + } + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " The amount held on deposit for a registered identity"] + pub fn basic_deposit( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Identity", + "BasicDeposit", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, + 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, + 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) + } + #[doc = " The amount held on deposit per additional field for a registered identity."] + pub fn field_deposit( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Identity", + "FieldDeposit", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, + 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, + 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) + } + #[doc = " The amount held on deposit for a registered subaccount. This should account for the fact"] + #[doc = " that one storage item's value will increase by the size of an account ID, and there will"] + #[doc = " be another trie item whose value is the size of an account ID plus 32 bytes."] + pub fn sub_account_deposit( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Identity", + "SubAccountDeposit", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, + 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, + 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) + } + #[doc = " The maximum number of sub-accounts allowed per identified account."] + pub fn max_sub_accounts( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Identity", + "MaxSubAccounts", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " Maximum number of additional fields that may be stored in an ID. Needed to bound the I/O"] + #[doc = " required to access an identity, but can be pretty high."] + pub fn max_additional_fields( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Identity", + "MaxAdditionalFields", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " Maxmimum number of registrars allowed in the system. Needed to bound the complexity"] + #[doc = " of, e.g., updating judgements."] + pub fn max_registrars( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Identity", + "MaxRegistrars", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + } + } + } + pub mod runtime_types { + use super::runtime_types; + pub mod aleph_runtime { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub enum Call { + #[codec(index = 0)] + System(runtime_types::frame_system::pallet::Call), + #[codec(index = 2)] + Scheduler(runtime_types::pallet_scheduler::pallet::Call), + #[codec(index = 4)] + Timestamp(runtime_types::pallet_timestamp::pallet::Call), + #[codec(index = 5)] + Balances(runtime_types::pallet_balances::pallet::Call), + #[codec(index = 7)] + Authorship(runtime_types::pallet_authorship::pallet::Call), + #[codec(index = 8)] + Staking(runtime_types::pallet_staking::pallet::pallet::Call), + #[codec(index = 10)] + Session(runtime_types::pallet_session::pallet::Call), + #[codec(index = 11)] + Aleph(runtime_types::pallet_aleph::pallet::Call), + #[codec(index = 12)] + Elections(runtime_types::pallet_elections::pallet::Call), + #[codec(index = 13)] + Treasury(runtime_types::pallet_treasury::pallet::Call), + #[codec(index = 14)] + Vesting(runtime_types::pallet_vesting::pallet::Call), + #[codec(index = 15)] + Utility(runtime_types::pallet_utility::pallet::Call), + #[codec(index = 16)] + Multisig(runtime_types::pallet_multisig::pallet::Call), + #[codec(index = 17)] + Sudo(runtime_types::pallet_sudo::pallet::Call), + #[codec(index = 18)] + Contracts(runtime_types::pallet_contracts::pallet::Call), + #[codec(index = 19)] + NominationPools(runtime_types::pallet_nomination_pools::pallet::Call), + #[codec(index = 20)] + Identity(runtime_types::pallet_identity::pallet::Call), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub enum Event { + #[codec(index = 0)] + System(runtime_types::frame_system::pallet::Event), + #[codec(index = 2)] + Scheduler(runtime_types::pallet_scheduler::pallet::Event), + #[codec(index = 5)] + Balances(runtime_types::pallet_balances::pallet::Event), + #[codec(index = 6)] + TransactionPayment(runtime_types::pallet_transaction_payment::pallet::Event), + #[codec(index = 8)] + Staking(runtime_types::pallet_staking::pallet::pallet::Event), + #[codec(index = 10)] + Session(runtime_types::pallet_session::pallet::Event), + #[codec(index = 11)] + Aleph(runtime_types::pallet_aleph::pallet::Event), + #[codec(index = 12)] + Elections(runtime_types::pallet_elections::pallet::Event), + #[codec(index = 13)] + Treasury(runtime_types::pallet_treasury::pallet::Event), + #[codec(index = 14)] + Vesting(runtime_types::pallet_vesting::pallet::Event), + #[codec(index = 15)] + Utility(runtime_types::pallet_utility::pallet::Event), + #[codec(index = 16)] + Multisig(runtime_types::pallet_multisig::pallet::Event), + #[codec(index = 17)] + Sudo(runtime_types::pallet_sudo::pallet::Event), + #[codec(index = 18)] + Contracts(runtime_types::pallet_contracts::pallet::Event), + #[codec(index = 19)] + NominationPools(runtime_types::pallet_nomination_pools::pallet::Event), + #[codec(index = 20)] + Identity(runtime_types::pallet_identity::pallet::Event), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub enum OriginCaller { + #[codec(index = 0)] + system( + runtime_types::frame_support::dispatch::RawOrigin< + ::subxt::ext::sp_core::crypto::AccountId32, + >, + ), + #[codec(index = 1)] + Void(runtime_types::sp_core::Void), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct Runtime; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct SessionKeys { + pub aura: runtime_types::sp_consensus_aura::sr25519::app_sr25519::Public, + pub aleph: runtime_types::primitives::app::Public, + } + } + pub mod frame_support { + use super::runtime_types; + pub mod dispatch { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub enum RawOrigin<_0> { + #[codec(index = 0)] + Root, + #[codec(index = 1)] + Signed(_0), + #[codec(index = 2)] + None, + } + } + pub mod traits { + use super::runtime_types; + pub mod misc { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct WrapperKeepOpaque<_0>( + #[codec(compact)] pub ::core::primitive::u32, + pub _0, + ); + } + pub mod schedule { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub enum LookupError { + #[codec(index = 0)] + Unknown, + #[codec(index = 1)] + BadFormat, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub enum MaybeHashed<_0, _1> { + #[codec(index = 0)] + Value(_0), + #[codec(index = 1)] + Hash(_1), + } + } + pub mod tokens { + use super::runtime_types; + pub mod misc { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub enum BalanceStatus { + #[codec(index = 0)] + Free, + #[codec(index = 1)] + Reserved, + } + } + } + } + pub mod weights { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub enum DispatchClass { + #[codec(index = 0)] + Normal, + #[codec(index = 1)] + Operational, + #[codec(index = 2)] + Mandatory, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct DispatchInfo { + pub weight: ::core::primitive::u64, + pub class: runtime_types::frame_support::weights::DispatchClass, + pub pays_fee: runtime_types::frame_support::weights::Pays, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub enum Pays { + #[codec(index = 0)] + Yes, + #[codec(index = 1)] + No, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct PerDispatchClass<_0> { + pub normal: _0, + pub operational: _0, + pub mandatory: _0, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct RuntimeDbWeight { + pub read: ::core::primitive::u64, + pub write: ::core::primitive::u64, + } + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct PalletId(pub [::core::primitive::u8; 8usize]); + } + pub mod frame_system { + use super::runtime_types; + pub mod extensions { + use super::runtime_types; + pub mod check_genesis { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct CheckGenesis; + } + pub mod check_mortality { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct CheckMortality(pub runtime_types::sp_runtime::generic::era::Era); + } + pub mod check_nonce { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct CheckNonce(#[codec(compact)] pub ::core::primitive::u32); + } + pub mod check_spec_version { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct CheckSpecVersion; + } + pub mod check_tx_version { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct CheckTxVersion; + } + pub mod check_weight { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct CheckWeight; + } + } + pub mod limits { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct BlockLength { + pub max: runtime_types::frame_support::weights::PerDispatchClass< + ::core::primitive::u32, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct BlockWeights { + pub base_block: ::core::primitive::u64, + pub max_block: ::core::primitive::u64, + pub per_class: runtime_types::frame_support::weights::PerDispatchClass< + runtime_types::frame_system::limits::WeightsPerClass, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct WeightsPerClass { + pub base_extrinsic: ::core::primitive::u64, + pub max_extrinsic: ::core::option::Option<::core::primitive::u64>, + pub max_total: ::core::option::Option<::core::primitive::u64>, + pub reserved: ::core::option::Option<::core::primitive::u64>, + } + } + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + #[codec(index = 0)] + #[doc = "A dispatch that will fill the block weight up to the given ratio."] + fill_block { + ratio: runtime_types::sp_arithmetic::per_things::Perbill, + }, + #[codec(index = 1)] + #[doc = "Make some on-chain remark."] + #[doc = ""] + #[doc = "# "] + #[doc = "- `O(1)`"] + #[doc = "# "] + remark { + remark: ::std::vec::Vec<::core::primitive::u8>, + }, + #[codec(index = 2)] + #[doc = "Set the number of pages in the WebAssembly environment's heap."] + set_heap_pages { pages: ::core::primitive::u64 }, + #[codec(index = 3)] + #[doc = "Set the new runtime code."] + #[doc = ""] + #[doc = "# "] + #[doc = "- `O(C + S)` where `C` length of `code` and `S` complexity of `can_set_code`"] + #[doc = "- 1 call to `can_set_code`: `O(S)` (calls `sp_io::misc::runtime_version` which is"] + #[doc = " expensive)."] + #[doc = "- 1 storage write (codec `O(C)`)."] + #[doc = "- 1 digest item."] + #[doc = "- 1 event."] + #[doc = "The weight of this function is dependent on the runtime, but generally this is very"] + #[doc = "expensive. We will treat this as a full block."] + #[doc = "# "] + set_code { + code: ::std::vec::Vec<::core::primitive::u8>, + }, + #[codec(index = 4)] + #[doc = "Set the new runtime code without doing any checks of the given `code`."] + #[doc = ""] + #[doc = "# "] + #[doc = "- `O(C)` where `C` length of `code`"] + #[doc = "- 1 storage write (codec `O(C)`)."] + #[doc = "- 1 digest item."] + #[doc = "- 1 event."] + #[doc = "The weight of this function is dependent on the runtime. We will treat this as a full"] + #[doc = "block. # "] + set_code_without_checks { + code: ::std::vec::Vec<::core::primitive::u8>, + }, + #[codec(index = 5)] + #[doc = "Set some items of storage."] + set_storage { + items: ::std::vec::Vec<( + ::std::vec::Vec<::core::primitive::u8>, + ::std::vec::Vec<::core::primitive::u8>, + )>, + }, + #[codec(index = 6)] + #[doc = "Kill some items from storage."] + kill_storage { + keys: ::std::vec::Vec<::std::vec::Vec<::core::primitive::u8>>, + }, + #[codec(index = 7)] + #[doc = "Kill all storage items with a key that starts with the given prefix."] + #[doc = ""] + #[doc = "**NOTE:** We rely on the Root origin to provide us the number of subkeys under"] + #[doc = "the prefix we are removing to accurately calculate the weight of this function."] + kill_prefix { + prefix: ::std::vec::Vec<::core::primitive::u8>, + subkeys: ::core::primitive::u32, + }, + #[codec(index = 8)] + #[doc = "Make some on-chain remark and emit event."] + remark_with_event { + remark: ::std::vec::Vec<::core::primitive::u8>, + }, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "Error for the System pallet"] + pub enum Error { + #[codec(index = 0)] + #[doc = "The name of specification does not match between the current runtime"] + #[doc = "and the new runtime."] + InvalidSpecName, + #[codec(index = 1)] + #[doc = "The specification version is not allowed to decrease between the current runtime"] + #[doc = "and the new runtime."] + SpecVersionNeedsToIncrease, + #[codec(index = 2)] + #[doc = "Failed to extract the runtime version from the new runtime."] + #[doc = ""] + #[doc = "Either calling `Core_version` or decoding `RuntimeVersion` failed."] + FailedToExtractRuntimeVersion, + #[codec(index = 3)] + #[doc = "Suicide called when the account has non-default composite data."] + NonDefaultComposite, + #[codec(index = 4)] + #[doc = "There is a non-zero reference count preventing the account from being purged."] + NonZeroRefCount, + #[codec(index = 5)] + #[doc = "The origin filter prevent the call to be dispatched."] + CallFiltered, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "Event for the System pallet."] + pub enum Event { + #[codec(index = 0)] + #[doc = "An extrinsic completed successfully."] + ExtrinsicSuccess { + dispatch_info: runtime_types::frame_support::weights::DispatchInfo, + }, + #[codec(index = 1)] + #[doc = "An extrinsic failed."] + ExtrinsicFailed { + dispatch_error: runtime_types::sp_runtime::DispatchError, + dispatch_info: runtime_types::frame_support::weights::DispatchInfo, + }, + #[codec(index = 2)] + #[doc = "`:code` was updated."] + CodeUpdated, + #[codec(index = 3)] + #[doc = "A new account was created."] + NewAccount { + account: ::subxt::ext::sp_core::crypto::AccountId32, + }, + #[codec(index = 4)] + #[doc = "An account was reaped."] + KilledAccount { + account: ::subxt::ext::sp_core::crypto::AccountId32, + }, + #[codec(index = 5)] + #[doc = "On on-chain remark happened."] + Remarked { + sender: ::subxt::ext::sp_core::crypto::AccountId32, + hash: ::subxt::ext::sp_core::H256, + }, + } + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct AccountInfo<_0, _1> { + pub nonce: _0, + pub consumers: _0, + pub providers: _0, + pub sufficients: _0, + pub data: _1, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct EventRecord<_0, _1> { + pub phase: runtime_types::frame_system::Phase, + pub event: _0, + pub topics: ::std::vec::Vec<_1>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct LastRuntimeUpgradeInfo { + #[codec(compact)] + pub spec_version: ::core::primitive::u32, + pub spec_name: ::std::string::String, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub enum Phase { + #[codec(index = 0)] + ApplyExtrinsic(::core::primitive::u32), + #[codec(index = 1)] + Finalization, + #[codec(index = 2)] + Initialization, + } + } + pub mod pallet_aleph { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + #[codec(index = 0)] + #[doc = "Sets the emergency finalization key. If called in session `N` the key can be used to"] + #[doc = "finalize blocks from session `N+2` onwards, until it gets overridden."] + set_emergency_finalizer { + emergency_finalizer: runtime_types::primitives::app::Public, + }, + #[codec(index = 1)] + #[doc = "Schedules a finality version change for a future session. If such a scheduled future"] + #[doc = "version is already set, it is replaced with the provided one."] + #[doc = "Any rescheduling of a future version change needs to occur at least 2 sessions in"] + #[doc = "advance of the provided session of the version change."] + #[doc = "In order to cancel a scheduled version change, a new version change should be scheduled"] + #[doc = "with the same version as the current one."] + schedule_finality_version_change { + version_incoming: ::core::primitive::u32, + session: ::core::primitive::u32, + }, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub enum Event { + #[codec(index = 0)] + ChangeEmergencyFinalizer(runtime_types::primitives::app::Public), + #[codec(index = 1)] + ScheduleFinalityVersionChange(runtime_types::primitives::VersionChange), + #[codec(index = 2)] + FinalityVersionChange(runtime_types::primitives::VersionChange), + } + } + } + pub mod pallet_authorship { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + #[codec(index = 0)] + #[doc = "Provide a set of uncles."] + set_uncles { + new_uncles: ::std::vec::Vec< + runtime_types::sp_runtime::generic::header::Header< + ::core::primitive::u32, + runtime_types::sp_runtime::traits::BlakeTwo256, + >, + >, + }, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub enum Error { + #[codec(index = 0)] + #[doc = "The uncle parent not in the chain."] + InvalidUncleParent, + #[codec(index = 1)] + #[doc = "Uncles already set in the block."] + UnclesAlreadySet, + #[codec(index = 2)] + #[doc = "Too many uncles."] + TooManyUncles, + #[codec(index = 3)] + #[doc = "The uncle is genesis."] + GenesisUncle, + #[codec(index = 4)] + #[doc = "The uncle is too high in chain."] + TooHighUncle, + #[codec(index = 5)] + #[doc = "The uncle is already included."] + UncleAlreadyIncluded, + #[codec(index = 6)] + #[doc = "The uncle isn't recent enough to be included."] + OldUncle, + } + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub enum UncleEntryItem<_0, _1, _2> { + #[codec(index = 0)] + InclusionHeight(_0), + #[codec(index = 1)] + Uncle(_1, ::core::option::Option<_2>), + } + } + pub mod pallet_balances { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + #[codec(index = 0)] + #[doc = "Transfer some liquid free balance to another account."] + #[doc = ""] + #[doc = "`transfer` will set the `FreeBalance` of the sender and receiver."] + #[doc = "If the sender's account is below the existential deposit as a result"] + #[doc = "of the transfer, the account will be reaped."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be `Signed` by the transactor."] + #[doc = ""] + #[doc = "# "] + #[doc = "- Dependent on arguments but not critical, given proper implementations for input config"] + #[doc = " types. See related functions below."] + #[doc = "- It contains a limited number of reads and writes internally and no complex"] + #[doc = " computation."] + #[doc = ""] + #[doc = "Related functions:"] + #[doc = ""] + #[doc = " - `ensure_can_withdraw` is always called internally but has a bounded complexity."] + #[doc = " - Transferring balances to accounts that did not exist before will cause"] + #[doc = " `T::OnNewAccount::on_new_account` to be called."] + #[doc = " - Removing enough funds from an account will trigger `T::DustRemoval::on_unbalanced`."] + #[doc = " - `transfer_keep_alive` works the same way as `transfer`, but has an additional check"] + #[doc = " that the transfer will not kill the origin account."] + #[doc = "---------------------------------"] + #[doc = "- Origin account is already in memory, so no DB operations for them."] + #[doc = "# "] + transfer { + dest: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, + #[codec(compact)] + value: ::core::primitive::u128, + }, + #[codec(index = 1)] + #[doc = "Set the balances of a given account."] + #[doc = ""] + #[doc = "This will alter `FreeBalance` and `ReservedBalance` in storage. it will"] + #[doc = "also alter the total issuance of the system (`TotalIssuance`) appropriately."] + #[doc = "If the new free or reserved balance is below the existential deposit,"] + #[doc = "it will reset the account nonce (`frame_system::AccountNonce`)."] + #[doc = ""] + #[doc = "The dispatch origin for this call is `root`."] + set_balance { + who: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, + #[codec(compact)] + new_free: ::core::primitive::u128, + #[codec(compact)] + new_reserved: ::core::primitive::u128, + }, + #[codec(index = 2)] + #[doc = "Exactly as `transfer`, except the origin must be root and the source account may be"] + #[doc = "specified."] + #[doc = "# "] + #[doc = "- Same as transfer, but additional read and write because the source account is not"] + #[doc = " assumed to be in the overlay."] + #[doc = "# "] + force_transfer { + source: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, + dest: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, + #[codec(compact)] + value: ::core::primitive::u128, + }, + #[codec(index = 3)] + #[doc = "Same as the [`transfer`] call, but with a check that the transfer will not kill the"] + #[doc = "origin account."] + #[doc = ""] + #[doc = "99% of the time you want [`transfer`] instead."] + #[doc = ""] + #[doc = "[`transfer`]: struct.Pallet.html#method.transfer"] + transfer_keep_alive { + dest: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, + #[codec(compact)] + value: ::core::primitive::u128, + }, + #[codec(index = 4)] + #[doc = "Transfer the entire transferable balance from the caller account."] + #[doc = ""] + #[doc = "NOTE: This function only attempts to transfer _transferable_ balances. This means that"] + #[doc = "any locked, reserved, or existential deposits (when `keep_alive` is `true`), will not be"] + #[doc = "transferred by this function. To ensure that this function results in a killed account,"] + #[doc = "you might need to prepare the account by removing any reference counters, storage"] + #[doc = "deposits, etc..."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be Signed."] + #[doc = ""] + #[doc = "- `dest`: The recipient of the transfer."] + #[doc = "- `keep_alive`: A boolean to determine if the `transfer_all` operation should send all"] + #[doc = " of the funds the account has, causing the sender account to be killed (false), or"] + #[doc = " transfer everything except at least the existential deposit, which will guarantee to"] + #[doc = " keep the sender account alive (true). # "] + #[doc = "- O(1). Just like transfer, but reading the user's transferable balance first."] + #[doc = " #"] + transfer_all { + dest: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, + keep_alive: ::core::primitive::bool, + }, + #[codec(index = 5)] + #[doc = "Unreserve some balance from a user by force."] + #[doc = ""] + #[doc = "Can only be called by ROOT."] + force_unreserve { + who: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, + amount: ::core::primitive::u128, + }, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub enum Error { + #[codec(index = 0)] + #[doc = "Vesting balance too high to send value"] + VestingBalance, + #[codec(index = 1)] + #[doc = "Account liquidity restrictions prevent withdrawal"] + LiquidityRestrictions, + #[codec(index = 2)] + #[doc = "Balance too low to send value"] + InsufficientBalance, + #[codec(index = 3)] + #[doc = "Value too low to create account due to existential deposit"] + ExistentialDeposit, + #[codec(index = 4)] + #[doc = "Transfer/payment would kill account"] + KeepAlive, + #[codec(index = 5)] + #[doc = "A vesting schedule already exists for this account"] + ExistingVestingSchedule, + #[codec(index = 6)] + #[doc = "Beneficiary account must pre-exist"] + DeadAccount, + #[codec(index = 7)] + #[doc = "Number of named reserves exceed MaxReserves"] + TooManyReserves, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub enum Event { + #[codec(index = 0)] + #[doc = "An account was created with some free balance."] + Endowed { + account: ::subxt::ext::sp_core::crypto::AccountId32, + free_balance: ::core::primitive::u128, + }, + #[codec(index = 1)] + #[doc = "An account was removed whose balance was non-zero but below ExistentialDeposit,"] + #[doc = "resulting in an outright loss."] + DustLost { + account: ::subxt::ext::sp_core::crypto::AccountId32, + amount: ::core::primitive::u128, + }, + #[codec(index = 2)] + #[doc = "Transfer succeeded."] + Transfer { + from: ::subxt::ext::sp_core::crypto::AccountId32, + to: ::subxt::ext::sp_core::crypto::AccountId32, + amount: ::core::primitive::u128, + }, + #[codec(index = 3)] + #[doc = "A balance was set by root."] + BalanceSet { + who: ::subxt::ext::sp_core::crypto::AccountId32, + free: ::core::primitive::u128, + reserved: ::core::primitive::u128, + }, + #[codec(index = 4)] + #[doc = "Some balance was reserved (moved from free to reserved)."] + Reserved { + who: ::subxt::ext::sp_core::crypto::AccountId32, + amount: ::core::primitive::u128, + }, + #[codec(index = 5)] + #[doc = "Some balance was unreserved (moved from reserved to free)."] + Unreserved { + who: ::subxt::ext::sp_core::crypto::AccountId32, + amount: ::core::primitive::u128, + }, + #[codec(index = 6)] + #[doc = "Some balance was moved from the reserve of the first account to the second account."] + #[doc = "Final argument indicates the destination balance type."] + ReserveRepatriated { + from: ::subxt::ext::sp_core::crypto::AccountId32, + to: ::subxt::ext::sp_core::crypto::AccountId32, + amount: ::core::primitive::u128, + destination_status: + runtime_types::frame_support::traits::tokens::misc::BalanceStatus, + }, + #[codec(index = 7)] + #[doc = "Some amount was deposited (e.g. for transaction fees)."] + Deposit { + who: ::subxt::ext::sp_core::crypto::AccountId32, + amount: ::core::primitive::u128, + }, + #[codec(index = 8)] + #[doc = "Some amount was withdrawn from the account (e.g. for transaction fees)."] + Withdraw { + who: ::subxt::ext::sp_core::crypto::AccountId32, + amount: ::core::primitive::u128, + }, + #[codec(index = 9)] + #[doc = "Some amount was removed from the account (e.g. for misbehavior)."] + Slashed { + who: ::subxt::ext::sp_core::crypto::AccountId32, + amount: ::core::primitive::u128, + }, + } + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct AccountData<_0> { + pub free: _0, + pub reserved: _0, + pub misc_frozen: _0, + pub fee_frozen: _0, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct BalanceLock<_0> { + pub id: [::core::primitive::u8; 8usize], + pub amount: _0, + pub reasons: runtime_types::pallet_balances::Reasons, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub enum Reasons { + #[codec(index = 0)] + Fee, + #[codec(index = 1)] + Misc, + #[codec(index = 2)] + All, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub enum Releases { + #[codec(index = 0)] + V1_0_0, + #[codec(index = 1)] + V2_0_0, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct ReserveData<_0, _1> { + pub id: _0, + pub amount: _1, + } + } + pub mod pallet_contracts { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + #[codec(index = 0)] + #[doc = "Makes a call to an account, optionally transferring some balance."] + #[doc = ""] + #[doc = "# Parameters"] + #[doc = ""] + #[doc = "* `dest`: Address of the contract to call."] + #[doc = "* `value`: The balance to transfer from the `origin` to `dest`."] + #[doc = "* `gas_limit`: The gas limit enforced when executing the constructor."] + #[doc = "* `storage_deposit_limit`: The maximum amount of balance that can be charged from the"] + #[doc = " caller to pay for the storage consumed."] + #[doc = "* `data`: The input data to pass to the contract."] + #[doc = ""] + #[doc = "* If the account is a smart-contract account, the associated code will be"] + #[doc = "executed and any value will be transferred."] + #[doc = "* If the account is a regular account, any value will be transferred."] + #[doc = "* If no account exists and the call value is not less than `existential_deposit`,"] + #[doc = "a regular account will be created and any value will be transferred."] + call { + dest: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, + #[codec(compact)] + value: ::core::primitive::u128, + #[codec(compact)] + gas_limit: ::core::primitive::u64, + storage_deposit_limit: ::core::option::Option< + ::subxt::ext::codec::Compact<::core::primitive::u128>, + >, + data: ::std::vec::Vec<::core::primitive::u8>, + }, + #[codec(index = 1)] + #[doc = "Instantiates a new contract from the supplied `code` optionally transferring"] + #[doc = "some balance."] + #[doc = ""] + #[doc = "This dispatchable has the same effect as calling [`Self::upload_code`] +"] + #[doc = "[`Self::instantiate`]. Bundling them together provides efficiency gains. Please"] + #[doc = "also check the documentation of [`Self::upload_code`]."] + #[doc = ""] + #[doc = "# Parameters"] + #[doc = ""] + #[doc = "* `value`: The balance to transfer from the `origin` to the newly created contract."] + #[doc = "* `gas_limit`: The gas limit enforced when executing the constructor."] + #[doc = "* `storage_deposit_limit`: The maximum amount of balance that can be charged/reserved"] + #[doc = " from the caller to pay for the storage consumed."] + #[doc = "* `code`: The contract code to deploy in raw bytes."] + #[doc = "* `data`: The input data to pass to the contract constructor."] + #[doc = "* `salt`: Used for the address derivation. See [`Pallet::contract_address`]."] + #[doc = ""] + #[doc = "Instantiation is executed as follows:"] + #[doc = ""] + #[doc = "- The supplied `code` is instrumented, deployed, and a `code_hash` is created for that"] + #[doc = " code."] + #[doc = "- If the `code_hash` already exists on the chain the underlying `code` will be shared."] + #[doc = "- The destination address is computed based on the sender, code_hash and the salt."] + #[doc = "- The smart-contract account is created at the computed address."] + #[doc = "- The `value` is transferred to the new account."] + #[doc = "- The `deploy` function is executed in the context of the newly-created account."] + instantiate_with_code { + #[codec(compact)] + value: ::core::primitive::u128, + #[codec(compact)] + gas_limit: ::core::primitive::u64, + storage_deposit_limit: ::core::option::Option< + ::subxt::ext::codec::Compact<::core::primitive::u128>, + >, + code: ::std::vec::Vec<::core::primitive::u8>, + data: ::std::vec::Vec<::core::primitive::u8>, + salt: ::std::vec::Vec<::core::primitive::u8>, + }, + #[codec(index = 2)] + #[doc = "Instantiates a contract from a previously deployed wasm binary."] + #[doc = ""] + #[doc = "This function is identical to [`Self::instantiate_with_code`] but without the"] + #[doc = "code deployment step. Instead, the `code_hash` of an on-chain deployed wasm binary"] + #[doc = "must be supplied."] + instantiate { + #[codec(compact)] + value: ::core::primitive::u128, + #[codec(compact)] + gas_limit: ::core::primitive::u64, + storage_deposit_limit: ::core::option::Option< + ::subxt::ext::codec::Compact<::core::primitive::u128>, + >, + code_hash: ::subxt::ext::sp_core::H256, + data: ::std::vec::Vec<::core::primitive::u8>, + salt: ::std::vec::Vec<::core::primitive::u8>, + }, + #[codec(index = 3)] + #[doc = "Upload new `code` without instantiating a contract from it."] + #[doc = ""] + #[doc = "If the code does not already exist a deposit is reserved from the caller"] + #[doc = "and unreserved only when [`Self::remove_code`] is called. The size of the reserve"] + #[doc = "depends on the instrumented size of the the supplied `code`."] + #[doc = ""] + #[doc = "If the code already exists in storage it will still return `Ok` and upgrades"] + #[doc = "the in storage version to the current"] + #[doc = "[`InstructionWeights::version`](InstructionWeights)."] + #[doc = ""] + #[doc = "# Note"] + #[doc = ""] + #[doc = "Anyone can instantiate a contract from any uploaded code and thus prevent its removal."] + #[doc = "To avoid this situation a constructor could employ access control so that it can"] + #[doc = "only be instantiated by permissioned entities. The same is true when uploading"] + #[doc = "through [`Self::instantiate_with_code`]."] + upload_code { + code: ::std::vec::Vec<::core::primitive::u8>, + storage_deposit_limit: ::core::option::Option< + ::subxt::ext::codec::Compact<::core::primitive::u128>, + >, + }, + #[codec(index = 4)] + #[doc = "Remove the code stored under `code_hash` and refund the deposit to its owner."] + #[doc = ""] + #[doc = "A code can only be removed by its original uploader (its owner) and only if it is"] + #[doc = "not used by any contract."] + remove_code { + code_hash: ::subxt::ext::sp_core::H256, + }, + #[codec(index = 5)] + #[doc = "Privileged function that changes the code of an existing contract."] + #[doc = ""] + #[doc = "This takes care of updating refcounts and all other necessary operations. Returns"] + #[doc = "an error if either the `code_hash` or `dest` do not exist."] + #[doc = ""] + #[doc = "# Note"] + #[doc = ""] + #[doc = "This does **not** change the address of the contract in question. This means"] + #[doc = "that the contract address is no longer derived from its code hash after calling"] + #[doc = "this dispatchable."] + set_code { + dest: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, + code_hash: ::subxt::ext::sp_core::H256, + }, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub enum Error { + #[codec(index = 0)] + #[doc = "A new schedule must have a greater version than the current one."] + InvalidScheduleVersion, + #[codec(index = 1)] + #[doc = "Invalid combination of flags supplied to `seal_call` or `seal_delegate_call`."] + InvalidCallFlags, + #[codec(index = 2)] + #[doc = "The executed contract exhausted its gas limit."] + OutOfGas, + #[codec(index = 3)] + #[doc = "The output buffer supplied to a contract API call was too small."] + OutputBufferTooSmall, + #[codec(index = 4)] + #[doc = "Performing the requested transfer failed. Probably because there isn't enough"] + #[doc = "free balance in the sender's account."] + TransferFailed, + #[codec(index = 5)] + #[doc = "Performing a call was denied because the calling depth reached the limit"] + #[doc = "of what is specified in the schedule."] + MaxCallDepthReached, + #[codec(index = 6)] + #[doc = "No contract was found at the specified address."] + ContractNotFound, + #[codec(index = 7)] + #[doc = "The code supplied to `instantiate_with_code` exceeds the limit specified in the"] + #[doc = "current schedule."] + CodeTooLarge, + #[codec(index = 8)] + #[doc = "No code could be found at the supplied code hash."] + CodeNotFound, + #[codec(index = 9)] + #[doc = "A buffer outside of sandbox memory was passed to a contract API function."] + OutOfBounds, + #[codec(index = 10)] + #[doc = "Input passed to a contract API function failed to decode as expected type."] + DecodingFailed, + #[codec(index = 11)] + #[doc = "Contract trapped during execution."] + ContractTrapped, + #[codec(index = 12)] + #[doc = "The size defined in `T::MaxValueSize` was exceeded."] + ValueTooLarge, + #[codec(index = 13)] + #[doc = "Termination of a contract is not allowed while the contract is already"] + #[doc = "on the call stack. Can be triggered by `seal_terminate`."] + TerminatedWhileReentrant, + #[codec(index = 14)] + #[doc = "`seal_call` forwarded this contracts input. It therefore is no longer available."] + InputForwarded, + #[codec(index = 15)] + #[doc = "The subject passed to `seal_random` exceeds the limit."] + RandomSubjectTooLong, + #[codec(index = 16)] + #[doc = "The amount of topics passed to `seal_deposit_events` exceeds the limit."] + TooManyTopics, + #[codec(index = 17)] + #[doc = "The topics passed to `seal_deposit_events` contains at least one duplicate."] + DuplicateTopics, + #[codec(index = 18)] + #[doc = "The chain does not provide a chain extension. Calling the chain extension results"] + #[doc = "in this error. Note that this usually shouldn't happen as deploying such contracts"] + #[doc = "is rejected."] + NoChainExtension, + #[codec(index = 19)] + #[doc = "Removal of a contract failed because the deletion queue is full."] + #[doc = ""] + #[doc = "This can happen when calling `seal_terminate`."] + #[doc = "The queue is filled by deleting contracts and emptied by a fixed amount each block."] + #[doc = "Trying again during another block is the only way to resolve this issue."] + DeletionQueueFull, + #[codec(index = 20)] + #[doc = "A contract with the same AccountId already exists."] + DuplicateContract, + #[codec(index = 21)] + #[doc = "A contract self destructed in its constructor."] + #[doc = ""] + #[doc = "This can be triggered by a call to `seal_terminate`."] + TerminatedInConstructor, + #[codec(index = 22)] + #[doc = "The debug message specified to `seal_debug_message` does contain invalid UTF-8."] + DebugMessageInvalidUTF8, + #[codec(index = 23)] + #[doc = "A call tried to invoke a contract that is flagged as non-reentrant."] + ReentranceDenied, + #[codec(index = 24)] + #[doc = "Origin doesn't have enough balance to pay the required storage deposits."] + StorageDepositNotEnoughFunds, + #[codec(index = 25)] + #[doc = "More storage was created than allowed by the storage deposit limit."] + StorageDepositLimitExhausted, + #[codec(index = 26)] + #[doc = "Code removal was denied because the code is still in use by at least one contract."] + CodeInUse, + #[codec(index = 27)] + #[doc = "The contract ran to completion but decided to revert its storage changes."] + #[doc = "Please note that this error is only returned from extrinsics. When called directly"] + #[doc = "or via RPC an `Ok` will be returned. In this case the caller needs to inspect the flags"] + #[doc = "to determine whether a reversion has taken place."] + ContractReverted, + #[codec(index = 28)] + #[doc = "The contract's code was found to be invalid during validation or instrumentation."] + #[doc = "A more detailed error can be found on the node console if debug messages are enabled"] + #[doc = "or in the debug buffer which is returned to RPC clients."] + CodeRejected, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub enum Event { + #[codec(index = 0)] + #[doc = "Contract deployed by address at the specified address."] + Instantiated { + deployer: ::subxt::ext::sp_core::crypto::AccountId32, + contract: ::subxt::ext::sp_core::crypto::AccountId32, + }, + #[codec(index = 1)] + #[doc = "Contract has been removed."] + #[doc = ""] + #[doc = "# Note"] + #[doc = ""] + #[doc = "The only way for a contract to be removed and emitting this event is by calling"] + #[doc = "`seal_terminate`."] + Terminated { + contract: ::subxt::ext::sp_core::crypto::AccountId32, + beneficiary: ::subxt::ext::sp_core::crypto::AccountId32, + }, + #[codec(index = 2)] + #[doc = "Code with the specified hash has been stored."] + CodeStored { + code_hash: ::subxt::ext::sp_core::H256, + }, + #[codec(index = 3)] + #[doc = "A custom event emitted by the contract."] + ContractEmitted { + contract: ::subxt::ext::sp_core::crypto::AccountId32, + data: ::std::vec::Vec<::core::primitive::u8>, + }, + #[codec(index = 4)] + #[doc = "A code with the specified hash was removed."] + CodeRemoved { + code_hash: ::subxt::ext::sp_core::H256, + }, + #[codec(index = 5)] + #[doc = "A contract's code was updated."] + ContractCodeUpdated { + contract: ::subxt::ext::sp_core::crypto::AccountId32, + new_code_hash: ::subxt::ext::sp_core::H256, + old_code_hash: ::subxt::ext::sp_core::H256, + }, + } + } + pub mod schedule { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct HostFnWeights { + pub caller: ::core::primitive::u64, + pub is_contract: ::core::primitive::u64, + pub code_hash: ::core::primitive::u64, + pub own_code_hash: ::core::primitive::u64, + pub caller_is_origin: ::core::primitive::u64, + pub address: ::core::primitive::u64, + pub gas_left: ::core::primitive::u64, + pub balance: ::core::primitive::u64, + pub value_transferred: ::core::primitive::u64, + pub minimum_balance: ::core::primitive::u64, + pub block_number: ::core::primitive::u64, + pub now: ::core::primitive::u64, + pub weight_to_fee: ::core::primitive::u64, + pub gas: ::core::primitive::u64, + pub input: ::core::primitive::u64, + pub input_per_byte: ::core::primitive::u64, + pub r#return: ::core::primitive::u64, + pub return_per_byte: ::core::primitive::u64, + pub terminate: ::core::primitive::u64, + pub random: ::core::primitive::u64, + pub deposit_event: ::core::primitive::u64, + pub deposit_event_per_topic: ::core::primitive::u64, + pub deposit_event_per_byte: ::core::primitive::u64, + pub debug_message: ::core::primitive::u64, + pub set_storage: ::core::primitive::u64, + pub set_storage_per_new_byte: ::core::primitive::u64, + pub set_storage_per_old_byte: ::core::primitive::u64, + pub set_code_hash: ::core::primitive::u64, + pub clear_storage: ::core::primitive::u64, + pub clear_storage_per_byte: ::core::primitive::u64, + pub contains_storage: ::core::primitive::u64, + pub contains_storage_per_byte: ::core::primitive::u64, + pub get_storage: ::core::primitive::u64, + pub get_storage_per_byte: ::core::primitive::u64, + pub take_storage: ::core::primitive::u64, + pub take_storage_per_byte: ::core::primitive::u64, + pub transfer: ::core::primitive::u64, + pub call: ::core::primitive::u64, + pub delegate_call: ::core::primitive::u64, + pub call_transfer_surcharge: ::core::primitive::u64, + pub call_per_cloned_byte: ::core::primitive::u64, + pub instantiate: ::core::primitive::u64, + pub instantiate_transfer_surcharge: ::core::primitive::u64, + pub instantiate_per_salt_byte: ::core::primitive::u64, + pub hash_sha2_256: ::core::primitive::u64, + pub hash_sha2_256_per_byte: ::core::primitive::u64, + pub hash_keccak_256: ::core::primitive::u64, + pub hash_keccak_256_per_byte: ::core::primitive::u64, + pub hash_blake2_256: ::core::primitive::u64, + pub hash_blake2_256_per_byte: ::core::primitive::u64, + pub hash_blake2_128: ::core::primitive::u64, + pub hash_blake2_128_per_byte: ::core::primitive::u64, + pub ecdsa_recover: ::core::primitive::u64, + pub ecdsa_to_eth_address: ::core::primitive::u64, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct InstructionWeights { + pub version: ::core::primitive::u32, + pub i64const: ::core::primitive::u32, + pub i64load: ::core::primitive::u32, + pub i64store: ::core::primitive::u32, + pub select: ::core::primitive::u32, + pub r#if: ::core::primitive::u32, + pub br: ::core::primitive::u32, + pub br_if: ::core::primitive::u32, + pub br_table: ::core::primitive::u32, + pub br_table_per_entry: ::core::primitive::u32, + pub call: ::core::primitive::u32, + pub call_indirect: ::core::primitive::u32, + pub call_indirect_per_param: ::core::primitive::u32, + pub local_get: ::core::primitive::u32, + pub local_set: ::core::primitive::u32, + pub local_tee: ::core::primitive::u32, + pub global_get: ::core::primitive::u32, + pub global_set: ::core::primitive::u32, + pub memory_current: ::core::primitive::u32, + pub memory_grow: ::core::primitive::u32, + pub i64clz: ::core::primitive::u32, + pub i64ctz: ::core::primitive::u32, + pub i64popcnt: ::core::primitive::u32, + pub i64eqz: ::core::primitive::u32, + pub i64extendsi32: ::core::primitive::u32, + pub i64extendui32: ::core::primitive::u32, + pub i32wrapi64: ::core::primitive::u32, + pub i64eq: ::core::primitive::u32, + pub i64ne: ::core::primitive::u32, + pub i64lts: ::core::primitive::u32, + pub i64ltu: ::core::primitive::u32, + pub i64gts: ::core::primitive::u32, + pub i64gtu: ::core::primitive::u32, + pub i64les: ::core::primitive::u32, + pub i64leu: ::core::primitive::u32, + pub i64ges: ::core::primitive::u32, + pub i64geu: ::core::primitive::u32, + pub i64add: ::core::primitive::u32, + pub i64sub: ::core::primitive::u32, + pub i64mul: ::core::primitive::u32, + pub i64divs: ::core::primitive::u32, + pub i64divu: ::core::primitive::u32, + pub i64rems: ::core::primitive::u32, + pub i64remu: ::core::primitive::u32, + pub i64and: ::core::primitive::u32, + pub i64or: ::core::primitive::u32, + pub i64xor: ::core::primitive::u32, + pub i64shl: ::core::primitive::u32, + pub i64shrs: ::core::primitive::u32, + pub i64shru: ::core::primitive::u32, + pub i64rotl: ::core::primitive::u32, + pub i64rotr: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct Limits { + pub event_topics: ::core::primitive::u32, + pub stack_height: ::core::option::Option<::core::primitive::u32>, + pub globals: ::core::primitive::u32, + pub parameters: ::core::primitive::u32, + pub memory_pages: ::core::primitive::u32, + pub table_size: ::core::primitive::u32, + pub br_table_size: ::core::primitive::u32, + pub subject_len: ::core::primitive::u32, + pub call_depth: ::core::primitive::u32, + pub payload_len: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct Schedule { + pub limits: runtime_types::pallet_contracts::schedule::Limits, + pub instruction_weights: + runtime_types::pallet_contracts::schedule::InstructionWeights, + pub host_fn_weights: runtime_types::pallet_contracts::schedule::HostFnWeights, + } + } + pub mod storage { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct DeletedContract { + pub trie_id: runtime_types::sp_runtime::bounded::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct RawContractInfo<_0, _1> { + pub trie_id: runtime_types::sp_runtime::bounded::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + pub code_hash: _0, + pub storage_deposit: _1, + } + } + pub mod wasm { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct OwnerInfo { + pub owner: ::subxt::ext::sp_core::crypto::AccountId32, + #[codec(compact)] + pub deposit: ::core::primitive::u128, + #[codec(compact)] + pub refcount: ::core::primitive::u64, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct PrefabWasmModule { + #[codec(compact)] + pub instruction_weights_version: ::core::primitive::u32, + #[codec(compact)] + pub initial: ::core::primitive::u32, + #[codec(compact)] + pub maximum: ::core::primitive::u32, + pub code: runtime_types::sp_runtime::bounded::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + } + } + } + pub mod pallet_elections { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + #[codec(index = 0)] + change_validators { + reserved_validators: ::core::option::Option< + ::std::vec::Vec<::subxt::ext::sp_core::crypto::AccountId32>, + >, + non_reserved_validators: ::core::option::Option< + ::std::vec::Vec<::subxt::ext::sp_core::crypto::AccountId32>, + >, + committee_size: + ::core::option::Option, + }, + #[codec(index = 1)] + #[doc = "Sets ban config, it has an immediate effect"] + set_ban_config { + minimal_expected_performance: ::core::option::Option<::core::primitive::u8>, + underperformed_session_count_threshold: + ::core::option::Option<::core::primitive::u32>, + clean_session_counter_delay: ::core::option::Option<::core::primitive::u32>, + ban_period: ::core::option::Option<::core::primitive::u32>, + }, + #[codec(index = 2)] + #[doc = "Schedule a non-reserved node to be banned out from the committee at the end of the era"] + ban_from_committee { + banned: ::subxt::ext::sp_core::crypto::AccountId32, + ban_reason: ::std::vec::Vec<::core::primitive::u8>, + }, + #[codec(index = 3)] + #[doc = "Schedule a non-reserved node to be banned out from the committee at the end of the era"] + cancel_ban { + banned: ::subxt::ext::sp_core::crypto::AccountId32, + }, + #[codec(index = 4)] + #[doc = "Set openness of the elections"] + set_elections_openness { + openness: runtime_types::primitives::ElectionOpenness, + }, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub enum Error { + #[codec(index = 0)] + NotEnoughValidators, + #[codec(index = 1)] + NotEnoughReservedValidators, + #[codec(index = 2)] + NotEnoughNonReservedValidators, + #[codec(index = 3)] + NonUniqueListOfValidators, + #[codec(index = 4)] + #[doc = "Raised in any scenario [`BanConfig`] is invalid"] + #[doc = "* `performance_ratio_threshold` must be a number in range [0; 100]"] + #[doc = "* `underperformed_session_count_threshold` must be a positive number,"] + #[doc = "* `clean_session_counter_delay` must be a positive number."] + InvalidBanConfig, + #[codec(index = 5)] + #[doc = "Ban reason is too big, ie given vector of bytes is greater than"] + #[doc = "[`Config::MaximumBanReasonLength`]"] + BanReasonTooBig, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub enum Event { + #[codec(index = 0)] + #[doc = "Committee for the next era has changed"] + ChangeValidators( + ::std::vec::Vec<::subxt::ext::sp_core::crypto::AccountId32>, + ::std::vec::Vec<::subxt::ext::sp_core::crypto::AccountId32>, + runtime_types::primitives::CommitteeSeats, + ), + #[codec(index = 1)] + #[doc = "Ban thresholds for the next era has changed"] + SetBanConfig(runtime_types::primitives::BanConfig), + #[codec(index = 2)] + #[doc = "Validators have been banned from the committee"] + BanValidators( + ::std::vec::Vec<( + ::subxt::ext::sp_core::crypto::AccountId32, + runtime_types::primitives::BanInfo, + )>, + ), + } + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct ValidatorTotalRewards<_0>( + pub ::subxt::utils::KeyedVec<_0, ::core::primitive::u32>, + ); + } + pub mod pallet_identity { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "Identity pallet declaration."] + pub enum Call { + #[codec(index = 0)] + #[doc = "Add a registrar to the system."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be `T::RegistrarOrigin`."] + #[doc = ""] + #[doc = "- `account`: the account of the registrar."] + #[doc = ""] + #[doc = "Emits `RegistrarAdded` if successful."] + #[doc = ""] + #[doc = "# "] + #[doc = "- `O(R)` where `R` registrar-count (governance-bounded and code-bounded)."] + #[doc = "- One storage mutation (codec `O(R)`)."] + #[doc = "- One event."] + #[doc = "# "] + add_registrar { + account: ::subxt::ext::sp_core::crypto::AccountId32, + }, + #[codec(index = 1)] + #[doc = "Set an account's identity information and reserve the appropriate deposit."] + #[doc = ""] + #[doc = "If the account already has identity information, the deposit is taken as part payment"] + #[doc = "for the new deposit."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = ""] + #[doc = "- `info`: The identity information."] + #[doc = ""] + #[doc = "Emits `IdentitySet` if successful."] + #[doc = ""] + #[doc = "# "] + #[doc = "- `O(X + X' + R)`"] + #[doc = " - where `X` additional-field-count (deposit-bounded and code-bounded)"] + #[doc = " - where `R` judgements-count (registrar-count-bounded)"] + #[doc = "- One balance reserve operation."] + #[doc = "- One storage mutation (codec-read `O(X' + R)`, codec-write `O(X + R)`)."] + #[doc = "- One event."] + #[doc = "# "] + set_identity { + info: + ::std::boxed::Box, + }, + #[codec(index = 2)] + #[doc = "Set the sub-accounts of the sender."] + #[doc = ""] + #[doc = "Payment: Any aggregate balance reserved by previous `set_subs` calls will be returned"] + #[doc = "and an amount `SubAccountDeposit` will be reserved for each item in `subs`."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ and the sender must have a registered"] + #[doc = "identity."] + #[doc = ""] + #[doc = "- `subs`: The identity's (new) sub-accounts."] + #[doc = ""] + #[doc = "# "] + #[doc = "- `O(P + S)`"] + #[doc = " - where `P` old-subs-count (hard- and deposit-bounded)."] + #[doc = " - where `S` subs-count (hard- and deposit-bounded)."] + #[doc = "- At most one balance operations."] + #[doc = "- DB:"] + #[doc = " - `P + S` storage mutations (codec complexity `O(1)`)"] + #[doc = " - One storage read (codec complexity `O(P)`)."] + #[doc = " - One storage write (codec complexity `O(S)`)."] + #[doc = " - One storage-exists (`IdentityOf::contains_key`)."] + #[doc = "# "] + set_subs { + subs: ::std::vec::Vec<( + ::subxt::ext::sp_core::crypto::AccountId32, + runtime_types::pallet_identity::types::Data, + )>, + }, + #[codec(index = 3)] + #[doc = "Clear an account's identity info and all sub-accounts and return all deposits."] + #[doc = ""] + #[doc = "Payment: All reserved balances on the account are returned."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ and the sender must have a registered"] + #[doc = "identity."] + #[doc = ""] + #[doc = "Emits `IdentityCleared` if successful."] + #[doc = ""] + #[doc = "# "] + #[doc = "- `O(R + S + X)`"] + #[doc = " - where `R` registrar-count (governance-bounded)."] + #[doc = " - where `S` subs-count (hard- and deposit-bounded)."] + #[doc = " - where `X` additional-field-count (deposit-bounded and code-bounded)."] + #[doc = "- One balance-unreserve operation."] + #[doc = "- `2` storage reads and `S + 2` storage deletions."] + #[doc = "- One event."] + #[doc = "# "] + clear_identity, + #[codec(index = 4)] + #[doc = "Request a judgement from a registrar."] + #[doc = ""] + #[doc = "Payment: At most `max_fee` will be reserved for payment to the registrar if judgement"] + #[doc = "given."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ and the sender must have a"] + #[doc = "registered identity."] + #[doc = ""] + #[doc = "- `reg_index`: The index of the registrar whose judgement is requested."] + #[doc = "- `max_fee`: The maximum fee that may be paid. This should just be auto-populated as:"] + #[doc = ""] + #[doc = "```nocompile"] + #[doc = "Self::registrars().get(reg_index).unwrap().fee"] + #[doc = "```"] + #[doc = ""] + #[doc = "Emits `JudgementRequested` if successful."] + #[doc = ""] + #[doc = "# "] + #[doc = "- `O(R + X)`."] + #[doc = "- One balance-reserve operation."] + #[doc = "- Storage: 1 read `O(R)`, 1 mutate `O(X + R)`."] + #[doc = "- One event."] + #[doc = "# "] + request_judgement { + #[codec(compact)] + reg_index: ::core::primitive::u32, + #[codec(compact)] + max_fee: ::core::primitive::u128, + }, + #[codec(index = 5)] + #[doc = "Cancel a previous request."] + #[doc = ""] + #[doc = "Payment: A previously reserved deposit is returned on success."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ and the sender must have a"] + #[doc = "registered identity."] + #[doc = ""] + #[doc = "- `reg_index`: The index of the registrar whose judgement is no longer requested."] + #[doc = ""] + #[doc = "Emits `JudgementUnrequested` if successful."] + #[doc = ""] + #[doc = "# "] + #[doc = "- `O(R + X)`."] + #[doc = "- One balance-reserve operation."] + #[doc = "- One storage mutation `O(R + X)`."] + #[doc = "- One event"] + #[doc = "# "] + cancel_request { reg_index: ::core::primitive::u32 }, + #[codec(index = 6)] + #[doc = "Set the fee required for a judgement to be requested from a registrar."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ and the sender must be the account"] + #[doc = "of the registrar whose index is `index`."] + #[doc = ""] + #[doc = "- `index`: the index of the registrar whose fee is to be set."] + #[doc = "- `fee`: the new fee."] + #[doc = ""] + #[doc = "# "] + #[doc = "- `O(R)`."] + #[doc = "- One storage mutation `O(R)`."] + #[doc = "- Benchmark: 7.315 + R * 0.329 µs (min squares analysis)"] + #[doc = "# "] + set_fee { + #[codec(compact)] + index: ::core::primitive::u32, + #[codec(compact)] + fee: ::core::primitive::u128, + }, + #[codec(index = 7)] + #[doc = "Change the account associated with a registrar."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ and the sender must be the account"] + #[doc = "of the registrar whose index is `index`."] + #[doc = ""] + #[doc = "- `index`: the index of the registrar whose fee is to be set."] + #[doc = "- `new`: the new account ID."] + #[doc = ""] + #[doc = "# "] + #[doc = "- `O(R)`."] + #[doc = "- One storage mutation `O(R)`."] + #[doc = "- Benchmark: 8.823 + R * 0.32 µs (min squares analysis)"] + #[doc = "# "] + set_account_id { + #[codec(compact)] + index: ::core::primitive::u32, + new: ::subxt::ext::sp_core::crypto::AccountId32, + }, + #[codec(index = 8)] + #[doc = "Set the field information for a registrar."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ and the sender must be the account"] + #[doc = "of the registrar whose index is `index`."] + #[doc = ""] + #[doc = "- `index`: the index of the registrar whose fee is to be set."] + #[doc = "- `fields`: the fields that the registrar concerns themselves with."] + #[doc = ""] + #[doc = "# "] + #[doc = "- `O(R)`."] + #[doc = "- One storage mutation `O(R)`."] + #[doc = "- Benchmark: 7.464 + R * 0.325 µs (min squares analysis)"] + #[doc = "# "] + set_fields { + #[codec(compact)] + index: ::core::primitive::u32, + fields: runtime_types::pallet_identity::types::BitFlags< + runtime_types::pallet_identity::types::IdentityField, + >, + }, + #[codec(index = 9)] + #[doc = "Provide a judgement for an account's identity."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ and the sender must be the account"] + #[doc = "of the registrar whose index is `reg_index`."] + #[doc = ""] + #[doc = "- `reg_index`: the index of the registrar whose judgement is being made."] + #[doc = "- `target`: the account whose identity the judgement is upon. This must be an account"] + #[doc = " with a registered identity."] + #[doc = "- `judgement`: the judgement of the registrar of index `reg_index` about `target`."] + #[doc = ""] + #[doc = "Emits `JudgementGiven` if successful."] + #[doc = ""] + #[doc = "# "] + #[doc = "- `O(R + X)`."] + #[doc = "- One balance-transfer operation."] + #[doc = "- Up to one account-lookup operation."] + #[doc = "- Storage: 1 read `O(R)`, 1 mutate `O(R + X)`."] + #[doc = "- One event."] + #[doc = "# "] + provide_judgement { + #[codec(compact)] + reg_index: ::core::primitive::u32, + target: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, + judgement: runtime_types::pallet_identity::types::Judgement< + ::core::primitive::u128, + >, + }, + #[codec(index = 10)] + #[doc = "Remove an account's identity and sub-account information and slash the deposits."] + #[doc = ""] + #[doc = "Payment: Reserved balances from `set_subs` and `set_identity` are slashed and handled by"] + #[doc = "`Slash`. Verification request deposits are not returned; they should be cancelled"] + #[doc = "manually using `cancel_request`."] + #[doc = ""] + #[doc = "The dispatch origin for this call must match `T::ForceOrigin`."] + #[doc = ""] + #[doc = "- `target`: the account whose identity the judgement is upon. This must be an account"] + #[doc = " with a registered identity."] + #[doc = ""] + #[doc = "Emits `IdentityKilled` if successful."] + #[doc = ""] + #[doc = "# "] + #[doc = "- `O(R + S + X)`."] + #[doc = "- One balance-reserve operation."] + #[doc = "- `S + 2` storage mutations."] + #[doc = "- One event."] + #[doc = "# "] + kill_identity { + target: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, + }, + #[codec(index = 11)] + #[doc = "Add the given account to the sender's subs."] + #[doc = ""] + #[doc = "Payment: Balance reserved by a previous `set_subs` call for one sub will be repatriated"] + #[doc = "to the sender."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ and the sender must have a registered"] + #[doc = "sub identity of `sub`."] + add_sub { + sub: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, + data: runtime_types::pallet_identity::types::Data, + }, + #[codec(index = 12)] + #[doc = "Alter the associated name of the given sub-account."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ and the sender must have a registered"] + #[doc = "sub identity of `sub`."] + rename_sub { + sub: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, + data: runtime_types::pallet_identity::types::Data, + }, + #[codec(index = 13)] + #[doc = "Remove the given account from the sender's subs."] + #[doc = ""] + #[doc = "Payment: Balance reserved by a previous `set_subs` call for one sub will be repatriated"] + #[doc = "to the sender."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ and the sender must have a registered"] + #[doc = "sub identity of `sub`."] + remove_sub { + sub: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, + }, + #[codec(index = 14)] + #[doc = "Remove the sender as a sub-account."] + #[doc = ""] + #[doc = "Payment: Balance reserved by a previous `set_subs` call for one sub will be repatriated"] + #[doc = "to the sender (*not* the original depositor)."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ and the sender must have a registered"] + #[doc = "super-identity."] + #[doc = ""] + #[doc = "NOTE: This should not normally be used, but is provided in the case that the non-"] + #[doc = "controller of an account is maliciously registered as a sub-account."] + quit_sub, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub enum Error { + #[codec(index = 0)] + #[doc = "Too many subs-accounts."] + TooManySubAccounts, + #[codec(index = 1)] + #[doc = "Account isn't found."] + NotFound, + #[codec(index = 2)] + #[doc = "Account isn't named."] + NotNamed, + #[codec(index = 3)] + #[doc = "Empty index."] + EmptyIndex, + #[codec(index = 4)] + #[doc = "Fee is changed."] + FeeChanged, + #[codec(index = 5)] + #[doc = "No identity found."] + NoIdentity, + #[codec(index = 6)] + #[doc = "Sticky judgement."] + StickyJudgement, + #[codec(index = 7)] + #[doc = "Judgement given."] + JudgementGiven, + #[codec(index = 8)] + #[doc = "Invalid judgement."] + InvalidJudgement, + #[codec(index = 9)] + #[doc = "The index is invalid."] + InvalidIndex, + #[codec(index = 10)] + #[doc = "The target is invalid."] + InvalidTarget, + #[codec(index = 11)] + #[doc = "Too many additional fields."] + TooManyFields, + #[codec(index = 12)] + #[doc = "Maximum amount of registrars reached. Cannot add any more."] + TooManyRegistrars, + #[codec(index = 13)] + #[doc = "Account ID is already named."] + AlreadyClaimed, + #[codec(index = 14)] + #[doc = "Sender is not a sub-account."] + NotSub, + #[codec(index = 15)] + #[doc = "Sub-account isn't owned by sender."] + NotOwned, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub enum Event { + #[codec(index = 0)] + #[doc = "A name was set or reset (which will remove all judgements)."] + IdentitySet { + who: ::subxt::ext::sp_core::crypto::AccountId32, + }, + #[codec(index = 1)] + #[doc = "A name was cleared, and the given balance returned."] + IdentityCleared { + who: ::subxt::ext::sp_core::crypto::AccountId32, + deposit: ::core::primitive::u128, + }, + #[codec(index = 2)] + #[doc = "A name was removed and the given balance slashed."] + IdentityKilled { + who: ::subxt::ext::sp_core::crypto::AccountId32, + deposit: ::core::primitive::u128, + }, + #[codec(index = 3)] + #[doc = "A judgement was asked from a registrar."] + JudgementRequested { + who: ::subxt::ext::sp_core::crypto::AccountId32, + registrar_index: ::core::primitive::u32, + }, + #[codec(index = 4)] + #[doc = "A judgement request was retracted."] + JudgementUnrequested { + who: ::subxt::ext::sp_core::crypto::AccountId32, + registrar_index: ::core::primitive::u32, + }, + #[codec(index = 5)] + #[doc = "A judgement was given by a registrar."] + JudgementGiven { + target: ::subxt::ext::sp_core::crypto::AccountId32, + registrar_index: ::core::primitive::u32, + }, + #[codec(index = 6)] + #[doc = "A registrar was added."] + RegistrarAdded { + registrar_index: ::core::primitive::u32, + }, + #[codec(index = 7)] + #[doc = "A sub-identity was added to an identity and the deposit paid."] + SubIdentityAdded { + sub: ::subxt::ext::sp_core::crypto::AccountId32, + main: ::subxt::ext::sp_core::crypto::AccountId32, + deposit: ::core::primitive::u128, + }, + #[codec(index = 8)] + #[doc = "A sub-identity was removed from an identity and the deposit freed."] + SubIdentityRemoved { + sub: ::subxt::ext::sp_core::crypto::AccountId32, + main: ::subxt::ext::sp_core::crypto::AccountId32, + deposit: ::core::primitive::u128, + }, + #[codec(index = 9)] + #[doc = "A sub-identity was cleared, and the given deposit repatriated from the"] + #[doc = "main identity account to the sub-identity account."] + SubIdentityRevoked { + sub: ::subxt::ext::sp_core::crypto::AccountId32, + main: ::subxt::ext::sp_core::crypto::AccountId32, + deposit: ::core::primitive::u128, + }, + } + } + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct BitFlags<_0>( + pub ::core::primitive::u64, + #[codec(skip)] pub ::core::marker::PhantomData<_0>, + ); + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub enum Data { + #[codec(index = 0)] + None, + #[codec(index = 1)] + Raw0([::core::primitive::u8; 0usize]), + #[codec(index = 2)] + Raw1([::core::primitive::u8; 1usize]), + #[codec(index = 3)] + Raw2([::core::primitive::u8; 2usize]), + #[codec(index = 4)] + Raw3([::core::primitive::u8; 3usize]), + #[codec(index = 5)] + Raw4([::core::primitive::u8; 4usize]), + #[codec(index = 6)] + Raw5([::core::primitive::u8; 5usize]), + #[codec(index = 7)] + Raw6([::core::primitive::u8; 6usize]), + #[codec(index = 8)] + Raw7([::core::primitive::u8; 7usize]), + #[codec(index = 9)] + Raw8([::core::primitive::u8; 8usize]), + #[codec(index = 10)] + Raw9([::core::primitive::u8; 9usize]), + #[codec(index = 11)] + Raw10([::core::primitive::u8; 10usize]), + #[codec(index = 12)] + Raw11([::core::primitive::u8; 11usize]), + #[codec(index = 13)] + Raw12([::core::primitive::u8; 12usize]), + #[codec(index = 14)] + Raw13([::core::primitive::u8; 13usize]), + #[codec(index = 15)] + Raw14([::core::primitive::u8; 14usize]), + #[codec(index = 16)] + Raw15([::core::primitive::u8; 15usize]), + #[codec(index = 17)] + Raw16([::core::primitive::u8; 16usize]), + #[codec(index = 18)] + Raw17([::core::primitive::u8; 17usize]), + #[codec(index = 19)] + Raw18([::core::primitive::u8; 18usize]), + #[codec(index = 20)] + Raw19([::core::primitive::u8; 19usize]), + #[codec(index = 21)] + Raw20([::core::primitive::u8; 20usize]), + #[codec(index = 22)] + Raw21([::core::primitive::u8; 21usize]), + #[codec(index = 23)] + Raw22([::core::primitive::u8; 22usize]), + #[codec(index = 24)] + Raw23([::core::primitive::u8; 23usize]), + #[codec(index = 25)] + Raw24([::core::primitive::u8; 24usize]), + #[codec(index = 26)] + Raw25([::core::primitive::u8; 25usize]), + #[codec(index = 27)] + Raw26([::core::primitive::u8; 26usize]), + #[codec(index = 28)] + Raw27([::core::primitive::u8; 27usize]), + #[codec(index = 29)] + Raw28([::core::primitive::u8; 28usize]), + #[codec(index = 30)] + Raw29([::core::primitive::u8; 29usize]), + #[codec(index = 31)] + Raw30([::core::primitive::u8; 30usize]), + #[codec(index = 32)] + Raw31([::core::primitive::u8; 31usize]), + #[codec(index = 33)] + Raw32([::core::primitive::u8; 32usize]), + #[codec(index = 34)] + BlakeTwo256([::core::primitive::u8; 32usize]), + #[codec(index = 35)] + Sha256([::core::primitive::u8; 32usize]), + #[codec(index = 36)] + Keccak256([::core::primitive::u8; 32usize]), + #[codec(index = 37)] + ShaThree256([::core::primitive::u8; 32usize]), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub enum IdentityField { + #[codec(index = 1)] + Display, + #[codec(index = 2)] + Legal, + #[codec(index = 4)] + Web, + #[codec(index = 8)] + Riot, + #[codec(index = 16)] + Email, + #[codec(index = 32)] + PgpFingerprint, + #[codec(index = 64)] + Image, + #[codec(index = 128)] + Twitter, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct IdentityInfo { + pub additional: runtime_types::sp_runtime::bounded::bounded_vec::BoundedVec<( + runtime_types::pallet_identity::types::Data, + runtime_types::pallet_identity::types::Data, + )>, + pub display: runtime_types::pallet_identity::types::Data, + pub legal: runtime_types::pallet_identity::types::Data, + pub web: runtime_types::pallet_identity::types::Data, + pub riot: runtime_types::pallet_identity::types::Data, + pub email: runtime_types::pallet_identity::types::Data, + pub pgp_fingerprint: ::core::option::Option<[::core::primitive::u8; 20usize]>, + pub image: runtime_types::pallet_identity::types::Data, + pub twitter: runtime_types::pallet_identity::types::Data, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub enum Judgement<_0> { + #[codec(index = 0)] + Unknown, + #[codec(index = 1)] + FeePaid(_0), + #[codec(index = 2)] + Reasonable, + #[codec(index = 3)] + KnownGood, + #[codec(index = 4)] + OutOfDate, + #[codec(index = 5)] + LowQuality, + #[codec(index = 6)] + Erroneous, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct RegistrarInfo<_0, _1> { + pub account: _1, + pub fee: _0, + pub fields: runtime_types::pallet_identity::types::BitFlags< + runtime_types::pallet_identity::types::IdentityField, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct Registration<_0> { + pub judgements: runtime_types::sp_runtime::bounded::bounded_vec::BoundedVec<( + ::core::primitive::u32, + runtime_types::pallet_identity::types::Judgement<_0>, + )>, + pub deposit: _0, + pub info: runtime_types::pallet_identity::types::IdentityInfo, + } + } + } + pub mod pallet_multisig { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + #[codec(index = 0)] + #[doc = "Immediately dispatch a multi-signature call using a single approval from the caller."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = ""] + #[doc = "- `other_signatories`: The accounts (other than the sender) who are part of the"] + #[doc = "multi-signature, but do not participate in the approval process."] + #[doc = "- `call`: The call to be executed."] + #[doc = ""] + #[doc = "Result is equivalent to the dispatched result."] + #[doc = ""] + #[doc = "# "] + #[doc = "O(Z + C) where Z is the length of the call and C its execution weight."] + #[doc = "-------------------------------"] + #[doc = "- DB Weight: None"] + #[doc = "- Plus Call Weight"] + #[doc = "# "] + as_multi_threshold_1 { + other_signatories: + ::std::vec::Vec<::subxt::ext::sp_core::crypto::AccountId32>, + call: ::std::boxed::Box, + }, + #[codec(index = 1)] + #[doc = "Register approval for a dispatch to be made from a deterministic composite account if"] + #[doc = "approved by a total of `threshold - 1` of `other_signatories`."] + #[doc = ""] + #[doc = "If there are enough, then dispatch the call."] + #[doc = ""] + #[doc = "Payment: `DepositBase` will be reserved if this is the first approval, plus"] + #[doc = "`threshold` times `DepositFactor`. It is returned once this dispatch happens or"] + #[doc = "is cancelled."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = ""] + #[doc = "- `threshold`: The total number of approvals for this dispatch before it is executed."] + #[doc = "- `other_signatories`: The accounts (other than the sender) who can approve this"] + #[doc = "dispatch. May not be empty."] + #[doc = "- `maybe_timepoint`: If this is the first approval, then this must be `None`. If it is"] + #[doc = "not the first approval, then it must be `Some`, with the timepoint (block number and"] + #[doc = "transaction index) of the first approval transaction."] + #[doc = "- `call`: The call to be executed."] + #[doc = ""] + #[doc = "NOTE: Unless this is the final approval, you will generally want to use"] + #[doc = "`approve_as_multi` instead, since it only requires a hash of the call."] + #[doc = ""] + #[doc = "Result is equivalent to the dispatched result if `threshold` is exactly `1`. Otherwise"] + #[doc = "on success, result is `Ok` and the result from the interior call, if it was executed,"] + #[doc = "may be found in the deposited `MultisigExecuted` event."] + #[doc = ""] + #[doc = "# "] + #[doc = "- `O(S + Z + Call)`."] + #[doc = "- Up to one balance-reserve or unreserve operation."] + #[doc = "- One passthrough operation, one insert, both `O(S)` where `S` is the number of"] + #[doc = " signatories. `S` is capped by `MaxSignatories`, with weight being proportional."] + #[doc = "- One call encode & hash, both of complexity `O(Z)` where `Z` is tx-len."] + #[doc = "- One encode & hash, both of complexity `O(S)`."] + #[doc = "- Up to one binary search and insert (`O(logS + S)`)."] + #[doc = "- I/O: 1 read `O(S)`, up to 1 mutate `O(S)`. Up to one remove."] + #[doc = "- One event."] + #[doc = "- The weight of the `call`."] + #[doc = "- Storage: inserts one item, value size bounded by `MaxSignatories`, with a deposit"] + #[doc = " taken for its lifetime of `DepositBase + threshold * DepositFactor`."] + #[doc = "-------------------------------"] + #[doc = "- DB Weight:"] + #[doc = " - Reads: Multisig Storage, [Caller Account], Calls (if `store_call`)"] + #[doc = " - Writes: Multisig Storage, [Caller Account], Calls (if `store_call`)"] + #[doc = "- Plus Call Weight"] + #[doc = "# "] + as_multi { + threshold: ::core::primitive::u16, + other_signatories: + ::std::vec::Vec<::subxt::ext::sp_core::crypto::AccountId32>, + maybe_timepoint: ::core::option::Option< + runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>, + >, + call: ::subxt::utils::WrapperKeepOpaque, + store_call: ::core::primitive::bool, + max_weight: ::core::primitive::u64, + }, + #[codec(index = 2)] + #[doc = "Register approval for a dispatch to be made from a deterministic composite account if"] + #[doc = "approved by a total of `threshold - 1` of `other_signatories`."] + #[doc = ""] + #[doc = "Payment: `DepositBase` will be reserved if this is the first approval, plus"] + #[doc = "`threshold` times `DepositFactor`. It is returned once this dispatch happens or"] + #[doc = "is cancelled."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = ""] + #[doc = "- `threshold`: The total number of approvals for this dispatch before it is executed."] + #[doc = "- `other_signatories`: The accounts (other than the sender) who can approve this"] + #[doc = "dispatch. May not be empty."] + #[doc = "- `maybe_timepoint`: If this is the first approval, then this must be `None`. If it is"] + #[doc = "not the first approval, then it must be `Some`, with the timepoint (block number and"] + #[doc = "transaction index) of the first approval transaction."] + #[doc = "- `call_hash`: The hash of the call to be executed."] + #[doc = ""] + #[doc = "NOTE: If this is the final approval, you will want to use `as_multi` instead."] + #[doc = ""] + #[doc = "# "] + #[doc = "- `O(S)`."] + #[doc = "- Up to one balance-reserve or unreserve operation."] + #[doc = "- One passthrough operation, one insert, both `O(S)` where `S` is the number of"] + #[doc = " signatories. `S` is capped by `MaxSignatories`, with weight being proportional."] + #[doc = "- One encode & hash, both of complexity `O(S)`."] + #[doc = "- Up to one binary search and insert (`O(logS + S)`)."] + #[doc = "- I/O: 1 read `O(S)`, up to 1 mutate `O(S)`. Up to one remove."] + #[doc = "- One event."] + #[doc = "- Storage: inserts one item, value size bounded by `MaxSignatories`, with a deposit"] + #[doc = " taken for its lifetime of `DepositBase + threshold * DepositFactor`."] + #[doc = "----------------------------------"] + #[doc = "- DB Weight:"] + #[doc = " - Read: Multisig Storage, [Caller Account]"] + #[doc = " - Write: Multisig Storage, [Caller Account]"] + #[doc = "# "] + approve_as_multi { + threshold: ::core::primitive::u16, + other_signatories: + ::std::vec::Vec<::subxt::ext::sp_core::crypto::AccountId32>, + maybe_timepoint: ::core::option::Option< + runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>, + >, + call_hash: [::core::primitive::u8; 32usize], + max_weight: ::core::primitive::u64, + }, + #[codec(index = 3)] + #[doc = "Cancel a pre-existing, on-going multisig transaction. Any deposit reserved previously"] + #[doc = "for this operation will be unreserved on success."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = ""] + #[doc = "- `threshold`: The total number of approvals for this dispatch before it is executed."] + #[doc = "- `other_signatories`: The accounts (other than the sender) who can approve this"] + #[doc = "dispatch. May not be empty."] + #[doc = "- `timepoint`: The timepoint (block number and transaction index) of the first approval"] + #[doc = "transaction for this dispatch."] + #[doc = "- `call_hash`: The hash of the call to be executed."] + #[doc = ""] + #[doc = "# "] + #[doc = "- `O(S)`."] + #[doc = "- Up to one balance-reserve or unreserve operation."] + #[doc = "- One passthrough operation, one insert, both `O(S)` where `S` is the number of"] + #[doc = " signatories. `S` is capped by `MaxSignatories`, with weight being proportional."] + #[doc = "- One encode & hash, both of complexity `O(S)`."] + #[doc = "- One event."] + #[doc = "- I/O: 1 read `O(S)`, one remove."] + #[doc = "- Storage: removes one item."] + #[doc = "----------------------------------"] + #[doc = "- DB Weight:"] + #[doc = " - Read: Multisig Storage, [Caller Account], Refund Account, Calls"] + #[doc = " - Write: Multisig Storage, [Caller Account], Refund Account, Calls"] + #[doc = "# "] + cancel_as_multi { + threshold: ::core::primitive::u16, + other_signatories: + ::std::vec::Vec<::subxt::ext::sp_core::crypto::AccountId32>, + timepoint: + runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>, + call_hash: [::core::primitive::u8; 32usize], + }, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub enum Error { + #[codec(index = 0)] + #[doc = "Threshold must be 2 or greater."] + MinimumThreshold, + #[codec(index = 1)] + #[doc = "Call is already approved by this signatory."] + AlreadyApproved, + #[codec(index = 2)] + #[doc = "Call doesn't need any (more) approvals."] + NoApprovalsNeeded, + #[codec(index = 3)] + #[doc = "There are too few signatories in the list."] + TooFewSignatories, + #[codec(index = 4)] + #[doc = "There are too many signatories in the list."] + TooManySignatories, + #[codec(index = 5)] + #[doc = "The signatories were provided out of order; they should be ordered."] + SignatoriesOutOfOrder, + #[codec(index = 6)] + #[doc = "The sender was contained in the other signatories; it shouldn't be."] + SenderInSignatories, + #[codec(index = 7)] + #[doc = "Multisig operation not found when attempting to cancel."] + NotFound, + #[codec(index = 8)] + #[doc = "Only the account that originally created the multisig is able to cancel it."] + NotOwner, + #[codec(index = 9)] + #[doc = "No timepoint was given, yet the multisig operation is already underway."] + NoTimepoint, + #[codec(index = 10)] + #[doc = "A different timepoint was given to the multisig operation that is underway."] + WrongTimepoint, + #[codec(index = 11)] + #[doc = "A timepoint was given, yet no multisig operation is underway."] + UnexpectedTimepoint, + #[codec(index = 12)] + #[doc = "The maximum weight information provided was too low."] + MaxWeightTooLow, + #[codec(index = 13)] + #[doc = "The data to be stored is already stored."] + AlreadyStored, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub enum Event { + #[codec(index = 0)] + #[doc = "A new multisig operation has begun."] + NewMultisig { + approving: ::subxt::ext::sp_core::crypto::AccountId32, + multisig: ::subxt::ext::sp_core::crypto::AccountId32, + call_hash: [::core::primitive::u8; 32usize], + }, + #[codec(index = 1)] + #[doc = "A multisig operation has been approved by someone."] + MultisigApproval { + approving: ::subxt::ext::sp_core::crypto::AccountId32, + timepoint: + runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>, + multisig: ::subxt::ext::sp_core::crypto::AccountId32, + call_hash: [::core::primitive::u8; 32usize], + }, + #[codec(index = 2)] + #[doc = "A multisig operation has been executed."] + MultisigExecuted { + approving: ::subxt::ext::sp_core::crypto::AccountId32, + timepoint: + runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>, + multisig: ::subxt::ext::sp_core::crypto::AccountId32, + call_hash: [::core::primitive::u8; 32usize], + result: + ::core::result::Result<(), runtime_types::sp_runtime::DispatchError>, + }, + #[codec(index = 3)] + #[doc = "A multisig operation has been cancelled."] + MultisigCancelled { + cancelling: ::subxt::ext::sp_core::crypto::AccountId32, + timepoint: + runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>, + multisig: ::subxt::ext::sp_core::crypto::AccountId32, + call_hash: [::core::primitive::u8; 32usize], + }, + } + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct Multisig<_0, _1, _2> { + pub when: runtime_types::pallet_multisig::Timepoint<_0>, + pub deposit: _1, + pub depositor: _2, + pub approvals: ::std::vec::Vec<_2>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct Timepoint<_0> { + pub height: _0, + pub index: _0, + } + } + pub mod pallet_nomination_pools { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + #[codec(index = 0)] + #[doc = "Stake funds with a pool. The amount to bond is transferred from the member to the"] + #[doc = "pools account and immediately increases the pools bond."] + #[doc = ""] + #[doc = "# Note"] + #[doc = ""] + #[doc = "* An account can only be a member of a single pool."] + #[doc = "* An account cannot join the same pool multiple times."] + #[doc = "* This call will *not* dust the member account, so the member must have at least"] + #[doc = " `existential deposit + amount` in their account."] + #[doc = "* Only a pool with [`PoolState::Open`] can be joined"] + join { + #[codec(compact)] + amount: ::core::primitive::u128, + pool_id: ::core::primitive::u32, + }, + #[codec(index = 1)] + #[doc = "Bond `extra` more funds from `origin` into the pool to which they already belong."] + #[doc = ""] + #[doc = "Additional funds can come from either the free balance of the account, of from the"] + #[doc = "accumulated rewards, see [`BondExtra`]."] + #[doc = ""] + #[doc = "Bonding extra funds implies an automatic payout of all pending rewards as well."] + bond_extra { + extra: runtime_types::pallet_nomination_pools::BondExtra< + ::core::primitive::u128, + >, + }, + #[codec(index = 2)] + #[doc = "A bonded member can use this to claim their payout based on the rewards that the pool"] + #[doc = "has accumulated since their last claimed payout (OR since joining if this is there first"] + #[doc = "time claiming rewards). The payout will be transferred to the member's account."] + #[doc = ""] + #[doc = "The member will earn rewards pro rata based on the members stake vs the sum of the"] + #[doc = "members in the pools stake. Rewards do not \"expire\"."] + claim_payout, + #[codec(index = 3)] + #[doc = "Unbond up to `unbonding_points` of the `member_account`'s funds from the pool. It"] + #[doc = "implicitly collects the rewards one last time, since not doing so would mean some"] + #[doc = "rewards would be forfeited."] + #[doc = ""] + #[doc = "Under certain conditions, this call can be dispatched permissionlessly (i.e. by any"] + #[doc = "account)."] + #[doc = ""] + #[doc = "# Conditions for a permissionless dispatch."] + #[doc = ""] + #[doc = "* The pool is blocked and the caller is either the root or state-toggler. This is"] + #[doc = " refereed to as a kick."] + #[doc = "* The pool is destroying and the member is not the depositor."] + #[doc = "* The pool is destroying, the member is the depositor and no other members are in the"] + #[doc = " pool."] + #[doc = ""] + #[doc = "## Conditions for permissioned dispatch (i.e. the caller is also the"] + #[doc = "`member_account`):"] + #[doc = ""] + #[doc = "* The caller is not the depositor."] + #[doc = "* The caller is the depositor, the pool is destroying and no other members are in the"] + #[doc = " pool."] + #[doc = ""] + #[doc = "# Note"] + #[doc = ""] + #[doc = "If there are too many unlocking chunks to unbond with the pool account,"] + #[doc = "[`Call::pool_withdraw_unbonded`] can be called to try and minimize unlocking chunks. If"] + #[doc = "there are too many unlocking chunks, the result of this call will likely be the"] + #[doc = "`NoMoreChunks` error from the staking system."] + unbond { + member_account: ::subxt::ext::sp_core::crypto::AccountId32, + #[codec(compact)] + unbonding_points: ::core::primitive::u128, + }, + #[codec(index = 4)] + #[doc = "Call `withdraw_unbonded` for the pools account. This call can be made by any account."] + #[doc = ""] + #[doc = "This is useful if their are too many unlocking chunks to call `unbond`, and some"] + #[doc = "can be cleared by withdrawing. In the case there are too many unlocking chunks, the user"] + #[doc = "would probably see an error like `NoMoreChunks` emitted from the staking system when"] + #[doc = "they attempt to unbond."] + pool_withdraw_unbonded { + pool_id: ::core::primitive::u32, + num_slashing_spans: ::core::primitive::u32, + }, + #[codec(index = 5)] + #[doc = "Withdraw unbonded funds from `member_account`. If no bonded funds can be unbonded, an"] + #[doc = "error is returned."] + #[doc = ""] + #[doc = "Under certain conditions, this call can be dispatched permissionlessly (i.e. by any"] + #[doc = "account)."] + #[doc = ""] + #[doc = "# Conditions for a permissionless dispatch"] + #[doc = ""] + #[doc = "* The pool is in destroy mode and the target is not the depositor."] + #[doc = "* The target is the depositor and they are the only member in the sub pools."] + #[doc = "* The pool is blocked and the caller is either the root or state-toggler."] + #[doc = ""] + #[doc = "# Conditions for permissioned dispatch"] + #[doc = ""] + #[doc = "* The caller is the target and they are not the depositor."] + #[doc = ""] + #[doc = "# Note"] + #[doc = ""] + #[doc = "If the target is the depositor, the pool will be destroyed."] + withdraw_unbonded { + member_account: ::subxt::ext::sp_core::crypto::AccountId32, + num_slashing_spans: ::core::primitive::u32, + }, + #[codec(index = 6)] + #[doc = "Create a new delegation pool."] + #[doc = ""] + #[doc = "# Arguments"] + #[doc = ""] + #[doc = "* `amount` - The amount of funds to delegate to the pool. This also acts of a sort of"] + #[doc = " deposit since the pools creator cannot fully unbond funds until the pool is being"] + #[doc = " destroyed."] + #[doc = "* `index` - A disambiguation index for creating the account. Likely only useful when"] + #[doc = " creating multiple pools in the same extrinsic."] + #[doc = "* `root` - The account to set as [`PoolRoles::root`]."] + #[doc = "* `nominator` - The account to set as the [`PoolRoles::nominator`]."] + #[doc = "* `state_toggler` - The account to set as the [`PoolRoles::state_toggler`]."] + #[doc = ""] + #[doc = "# Note"] + #[doc = ""] + #[doc = "In addition to `amount`, the caller will transfer the existential deposit; so the caller"] + #[doc = "needs at have at least `amount + existential_deposit` transferrable."] + create { + #[codec(compact)] + amount: ::core::primitive::u128, + root: ::subxt::ext::sp_core::crypto::AccountId32, + nominator: ::subxt::ext::sp_core::crypto::AccountId32, + state_toggler: ::subxt::ext::sp_core::crypto::AccountId32, + }, + #[codec(index = 7)] + #[doc = "Nominate on behalf of the pool."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be signed by the pool nominator or the pool"] + #[doc = "root role."] + #[doc = ""] + #[doc = "This directly forward the call to the staking pallet, on behalf of the pool bonded"] + #[doc = "account."] + nominate { + pool_id: ::core::primitive::u32, + validators: ::std::vec::Vec<::subxt::ext::sp_core::crypto::AccountId32>, + }, + #[codec(index = 8)] + #[doc = "Set a new state for the pool."] + #[doc = ""] + #[doc = "If a pool is already in the `Destroying` state, then under no condition can its state"] + #[doc = "change again."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be either:"] + #[doc = ""] + #[doc = "1. signed by the state toggler, or the root role of the pool,"] + #[doc = "2. if the pool conditions to be open are NOT met (as described by `ok_to_be_open`), and"] + #[doc = " then the state of the pool can be permissionlessly changed to `Destroying`."] + set_state { + pool_id: ::core::primitive::u32, + state: runtime_types::pallet_nomination_pools::PoolState, + }, + #[codec(index = 9)] + #[doc = "Set a new metadata for the pool."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be signed by the state toggler, or the root role"] + #[doc = "of the pool."] + set_metadata { + pool_id: ::core::primitive::u32, + metadata: ::std::vec::Vec<::core::primitive::u8>, + }, + #[codec(index = 10)] + #[doc = "Update configurations for the nomination pools. The origin for this call must be"] + #[doc = "Root."] + #[doc = ""] + #[doc = "# Arguments"] + #[doc = ""] + #[doc = "* `min_join_bond` - Set [`MinJoinBond`]."] + #[doc = "* `min_create_bond` - Set [`MinCreateBond`]."] + #[doc = "* `max_pools` - Set [`MaxPools`]."] + #[doc = "* `max_members` - Set [`MaxPoolMembers`]."] + #[doc = "* `max_members_per_pool` - Set [`MaxPoolMembersPerPool`]."] + set_configs { + min_join_bond: runtime_types::pallet_nomination_pools::ConfigOp< + ::core::primitive::u128, + >, + min_create_bond: runtime_types::pallet_nomination_pools::ConfigOp< + ::core::primitive::u128, + >, + max_pools: runtime_types::pallet_nomination_pools::ConfigOp< + ::core::primitive::u32, + >, + max_members: runtime_types::pallet_nomination_pools::ConfigOp< + ::core::primitive::u32, + >, + max_members_per_pool: runtime_types::pallet_nomination_pools::ConfigOp< + ::core::primitive::u32, + >, + }, + #[codec(index = 11)] + #[doc = "Update the roles of the pool."] + #[doc = ""] + #[doc = "The root is the only entity that can change any of the roles, including itself,"] + #[doc = "excluding the depositor, who can never change."] + #[doc = ""] + #[doc = "It emits an event, notifying UIs of the role change. This event is quite relevant to"] + #[doc = "most pool members and they should be informed of changes to pool roles."] + update_roles { + pool_id: ::core::primitive::u32, + new_root: runtime_types::pallet_nomination_pools::ConfigOp< + ::subxt::ext::sp_core::crypto::AccountId32, + >, + new_nominator: runtime_types::pallet_nomination_pools::ConfigOp< + ::subxt::ext::sp_core::crypto::AccountId32, + >, + new_state_toggler: runtime_types::pallet_nomination_pools::ConfigOp< + ::subxt::ext::sp_core::crypto::AccountId32, + >, + }, + #[codec(index = 12)] + #[doc = "Chill on behalf of the pool."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be signed by the pool nominator or the pool"] + #[doc = "root role, same as [`Pallet::nominate`]."] + #[doc = ""] + #[doc = "This directly forward the call to the staking pallet, on behalf of the pool bonded"] + #[doc = "account."] + chill { pool_id: ::core::primitive::u32 }, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub enum DefensiveError { + #[codec(index = 0)] + NotEnoughSpaceInUnbondPool, + #[codec(index = 1)] + PoolNotFound, + #[codec(index = 2)] + RewardPoolNotFound, + #[codec(index = 3)] + SubPoolsNotFound, + #[codec(index = 4)] + BondedStashKilledPrematurely, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub enum Error { + #[codec(index = 0)] + #[doc = "A (bonded) pool id does not exist."] + PoolNotFound, + #[codec(index = 1)] + #[doc = "An account is not a member."] + PoolMemberNotFound, + #[codec(index = 2)] + #[doc = "A reward pool does not exist. In all cases this is a system logic error."] + RewardPoolNotFound, + #[codec(index = 3)] + #[doc = "A sub pool does not exist."] + SubPoolsNotFound, + #[codec(index = 4)] + #[doc = "An account is already delegating in another pool. An account may only belong to one"] + #[doc = "pool at a time."] + AccountBelongsToOtherPool, + #[codec(index = 5)] + #[doc = "The member is fully unbonded (and thus cannot access the bonded and reward pool"] + #[doc = "anymore to, for example, collect rewards)."] + FullyUnbonding, + #[codec(index = 6)] + #[doc = "The member cannot unbond further chunks due to reaching the limit."] + MaxUnbondingLimit, + #[codec(index = 7)] + #[doc = "None of the funds can be withdrawn yet because the bonding duration has not passed."] + CannotWithdrawAny, + #[codec(index = 8)] + #[doc = "The amount does not meet the minimum bond to either join or create a pool."] + #[doc = ""] + #[doc = "The depositor can never unbond to a value less than"] + #[doc = "`Pallet::depositor_min_bond`. The caller does not have nominating"] + #[doc = "permissions for the pool. Members can never unbond to a value below `MinJoinBond`."] + MinimumBondNotMet, + #[codec(index = 9)] + #[doc = "The transaction could not be executed due to overflow risk for the pool."] + OverflowRisk, + #[codec(index = 10)] + #[doc = "A pool must be in [`PoolState::Destroying`] in order for the depositor to unbond or for"] + #[doc = "other members to be permissionlessly unbonded."] + NotDestroying, + #[codec(index = 11)] + #[doc = "The caller does not have nominating permissions for the pool."] + NotNominator, + #[codec(index = 12)] + #[doc = "Either a) the caller cannot make a valid kick or b) the pool is not destroying."] + NotKickerOrDestroying, + #[codec(index = 13)] + #[doc = "The pool is not open to join"] + NotOpen, + #[codec(index = 14)] + #[doc = "The system is maxed out on pools."] + MaxPools, + #[codec(index = 15)] + #[doc = "Too many members in the pool or system."] + MaxPoolMembers, + #[codec(index = 16)] + #[doc = "The pools state cannot be changed."] + CanNotChangeState, + #[codec(index = 17)] + #[doc = "The caller does not have adequate permissions."] + DoesNotHavePermission, + #[codec(index = 18)] + #[doc = "Metadata exceeds [`Config::MaxMetadataLen`]"] + MetadataExceedsMaxLen, + #[codec(index = 19)] + #[doc = "Some error occurred that should never happen. This should be reported to the"] + #[doc = "maintainers."] + Defensive(runtime_types::pallet_nomination_pools::pallet::DefensiveError), + #[codec(index = 20)] + #[doc = "Partial unbonding now allowed permissionlessly."] + PartialUnbondNotAllowedPermissionlessly, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "Events of this pallet."] + pub enum Event { + #[codec(index = 0)] + #[doc = "A pool has been created."] + Created { + depositor: ::subxt::ext::sp_core::crypto::AccountId32, + pool_id: ::core::primitive::u32, + }, + #[codec(index = 1)] + #[doc = "A member has became bonded in a pool."] + Bonded { + member: ::subxt::ext::sp_core::crypto::AccountId32, + pool_id: ::core::primitive::u32, + bonded: ::core::primitive::u128, + joined: ::core::primitive::bool, + }, + #[codec(index = 2)] + #[doc = "A payout has been made to a member."] + PaidOut { + member: ::subxt::ext::sp_core::crypto::AccountId32, + pool_id: ::core::primitive::u32, + payout: ::core::primitive::u128, + }, + #[codec(index = 3)] + #[doc = "A member has unbonded from their pool."] + #[doc = ""] + #[doc = "- `balance` is the corresponding balance of the number of points that has been"] + #[doc = " requested to be unbonded (the argument of the `unbond` transaction) from the bonded"] + #[doc = " pool."] + #[doc = "- `points` is the number of points that are issued as a result of `balance` being"] + #[doc = "dissolved into the corresponding unbonding pool."] + #[doc = "- `era` is the era in which the balance will be unbonded."] + #[doc = "In the absence of slashing, these values will match. In the presence of slashing, the"] + #[doc = "number of points that are issued in the unbonding pool will be less than the amount"] + #[doc = "requested to be unbonded."] + Unbonded { + member: ::subxt::ext::sp_core::crypto::AccountId32, + pool_id: ::core::primitive::u32, + balance: ::core::primitive::u128, + points: ::core::primitive::u128, + era: ::core::primitive::u32, + }, + #[codec(index = 4)] + #[doc = "A member has withdrawn from their pool."] + #[doc = ""] + #[doc = "The given number of `points` have been dissolved in return of `balance`."] + #[doc = ""] + #[doc = "Similar to `Unbonded` event, in the absence of slashing, the ratio of point to balance"] + #[doc = "will be 1."] + Withdrawn { + member: ::subxt::ext::sp_core::crypto::AccountId32, + pool_id: ::core::primitive::u32, + balance: ::core::primitive::u128, + points: ::core::primitive::u128, + }, + #[codec(index = 5)] + #[doc = "A pool has been destroyed."] + Destroyed { pool_id: ::core::primitive::u32 }, + #[codec(index = 6)] + #[doc = "The state of a pool has changed"] + StateChanged { + pool_id: ::core::primitive::u32, + new_state: runtime_types::pallet_nomination_pools::PoolState, + }, + #[codec(index = 7)] + #[doc = "A member has been removed from a pool."] + #[doc = ""] + #[doc = "The removal can be voluntary (withdrawn all unbonded funds) or involuntary (kicked)."] + MemberRemoved { + pool_id: ::core::primitive::u32, + member: ::subxt::ext::sp_core::crypto::AccountId32, + }, + #[codec(index = 8)] + #[doc = "The roles of a pool have been updated to the given new roles. Note that the depositor"] + #[doc = "can never change."] + RolesUpdated { + root: ::core::option::Option<::subxt::ext::sp_core::crypto::AccountId32>, + state_toggler: + ::core::option::Option<::subxt::ext::sp_core::crypto::AccountId32>, + nominator: + ::core::option::Option<::subxt::ext::sp_core::crypto::AccountId32>, + }, + #[codec(index = 9)] + #[doc = "The active balance of pool `pool_id` has been slashed to `balance`."] + PoolSlashed { + pool_id: ::core::primitive::u32, + balance: ::core::primitive::u128, + }, + #[codec(index = 10)] + #[doc = "The unbond pool at `era` of pool `pool_id` has been slashed to `balance`."] + UnbondingPoolSlashed { + pool_id: ::core::primitive::u32, + era: ::core::primitive::u32, + balance: ::core::primitive::u128, + }, + } + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub enum BondExtra<_0> { + #[codec(index = 0)] + FreeBalance(_0), + #[codec(index = 1)] + Rewards, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct BondedPoolInner { + pub points: ::core::primitive::u128, + pub state: runtime_types::pallet_nomination_pools::PoolState, + pub member_counter: ::core::primitive::u32, + pub roles: runtime_types::pallet_nomination_pools::PoolRoles< + ::subxt::ext::sp_core::crypto::AccountId32, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub enum ConfigOp<_0> { + #[codec(index = 0)] + Noop, + #[codec(index = 1)] + Set(_0), + #[codec(index = 2)] + Remove, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct PoolMember { + pub pool_id: ::core::primitive::u32, + pub points: ::core::primitive::u128, + pub last_recorded_reward_counter: + runtime_types::sp_arithmetic::fixed_point::FixedU128, + pub unbonding_eras: + runtime_types::sp_runtime::bounded::bounded_btree_map::BoundedBTreeMap< + ::core::primitive::u32, + ::core::primitive::u128, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct PoolRoles<_0> { + pub depositor: _0, + pub root: ::core::option::Option<_0>, + pub nominator: ::core::option::Option<_0>, + pub state_toggler: ::core::option::Option<_0>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub enum PoolState { + #[codec(index = 0)] + Open, + #[codec(index = 1)] + Blocked, + #[codec(index = 2)] + Destroying, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct RewardPool { + pub last_recorded_reward_counter: + runtime_types::sp_arithmetic::fixed_point::FixedU128, + pub last_recorded_total_payouts: ::core::primitive::u128, + pub total_rewards_claimed: ::core::primitive::u128, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct SubPools { + pub no_era: runtime_types::pallet_nomination_pools::UnbondPool, + pub with_era: + runtime_types::sp_runtime::bounded::bounded_btree_map::BoundedBTreeMap< + ::core::primitive::u32, + runtime_types::pallet_nomination_pools::UnbondPool, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct UnbondPool { + pub points: ::core::primitive::u128, + pub balance: ::core::primitive::u128, + } + } + pub mod pallet_scheduler { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + #[codec(index = 0)] + #[doc = "Anonymously schedule a task."] + schedule { + when: ::core::primitive::u32, + maybe_periodic: ::core::option::Option<( + ::core::primitive::u32, + ::core::primitive::u32, + )>, + priority: ::core::primitive::u8, + call: ::std::boxed::Box< + runtime_types::frame_support::traits::schedule::MaybeHashed< + runtime_types::aleph_runtime::Call, + ::subxt::ext::sp_core::H256, + >, + >, + }, + #[codec(index = 1)] + #[doc = "Cancel an anonymously scheduled task."] + cancel { + when: ::core::primitive::u32, + index: ::core::primitive::u32, + }, + #[codec(index = 2)] + #[doc = "Schedule a named task."] + schedule_named { + id: ::std::vec::Vec<::core::primitive::u8>, + when: ::core::primitive::u32, + maybe_periodic: ::core::option::Option<( + ::core::primitive::u32, + ::core::primitive::u32, + )>, + priority: ::core::primitive::u8, + call: ::std::boxed::Box< + runtime_types::frame_support::traits::schedule::MaybeHashed< + runtime_types::aleph_runtime::Call, + ::subxt::ext::sp_core::H256, + >, + >, + }, + #[codec(index = 3)] + #[doc = "Cancel a named scheduled task."] + cancel_named { + id: ::std::vec::Vec<::core::primitive::u8>, + }, + #[codec(index = 4)] + #[doc = "Anonymously schedule a task after a delay."] + #[doc = ""] + #[doc = "# "] + #[doc = "Same as [`schedule`]."] + #[doc = "# "] + schedule_after { + after: ::core::primitive::u32, + maybe_periodic: ::core::option::Option<( + ::core::primitive::u32, + ::core::primitive::u32, + )>, + priority: ::core::primitive::u8, + call: ::std::boxed::Box< + runtime_types::frame_support::traits::schedule::MaybeHashed< + runtime_types::aleph_runtime::Call, + ::subxt::ext::sp_core::H256, + >, + >, + }, + #[codec(index = 5)] + #[doc = "Schedule a named task after a delay."] + #[doc = ""] + #[doc = "# "] + #[doc = "Same as [`schedule_named`](Self::schedule_named)."] + #[doc = "# "] + schedule_named_after { + id: ::std::vec::Vec<::core::primitive::u8>, + after: ::core::primitive::u32, + maybe_periodic: ::core::option::Option<( + ::core::primitive::u32, + ::core::primitive::u32, + )>, + priority: ::core::primitive::u8, + call: ::std::boxed::Box< + runtime_types::frame_support::traits::schedule::MaybeHashed< + runtime_types::aleph_runtime::Call, + ::subxt::ext::sp_core::H256, + >, + >, + }, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub enum Error { + #[codec(index = 0)] + #[doc = "Failed to schedule a call"] + FailedToSchedule, + #[codec(index = 1)] + #[doc = "Cannot find the scheduled call."] + NotFound, + #[codec(index = 2)] + #[doc = "Given target block number is in the past."] + TargetBlockNumberInPast, + #[codec(index = 3)] + #[doc = "Reschedule failed because it does not change scheduled time."] + RescheduleNoChange, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "Events type."] + pub enum Event { + #[codec(index = 0)] + #[doc = "Scheduled some task."] + Scheduled { + when: ::core::primitive::u32, + index: ::core::primitive::u32, + }, + #[codec(index = 1)] + #[doc = "Canceled some task."] + Canceled { + when: ::core::primitive::u32, + index: ::core::primitive::u32, + }, + #[codec(index = 2)] + #[doc = "Dispatched some task."] + Dispatched { + task: (::core::primitive::u32, ::core::primitive::u32), + id: ::core::option::Option<::std::vec::Vec<::core::primitive::u8>>, + result: + ::core::result::Result<(), runtime_types::sp_runtime::DispatchError>, + }, + #[codec(index = 3)] + #[doc = "The call for the provided hash was not found so the task has been aborted."] + CallLookupFailed { + task: (::core::primitive::u32, ::core::primitive::u32), + id: ::core::option::Option<::std::vec::Vec<::core::primitive::u8>>, + error: runtime_types::frame_support::traits::schedule::LookupError, + }, + } + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct ScheduledV3<_0, _1, _2, _3> { + pub maybe_id: ::core::option::Option<::std::vec::Vec<::core::primitive::u8>>, + pub priority: ::core::primitive::u8, + pub call: _0, + pub maybe_periodic: ::core::option::Option<(_1, _1)>, + pub origin: _2, + #[codec(skip)] + pub __subxt_unused_type_params: ::core::marker::PhantomData<_3>, + } + } + pub mod pallet_session { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + #[codec(index = 0)] + #[doc = "Sets the session key(s) of the function caller to `keys`."] + #[doc = "Allows an account to set its session key prior to becoming a validator."] + #[doc = "This doesn't take effect until the next session."] + #[doc = ""] + #[doc = "The dispatch origin of this function must be signed."] + #[doc = ""] + #[doc = "# "] + #[doc = "- Complexity: `O(1)`. Actual cost depends on the number of length of"] + #[doc = " `T::Keys::key_ids()` which is fixed."] + #[doc = "- DbReads: `origin account`, `T::ValidatorIdOf`, `NextKeys`"] + #[doc = "- DbWrites: `origin account`, `NextKeys`"] + #[doc = "- DbReads per key id: `KeyOwner`"] + #[doc = "- DbWrites per key id: `KeyOwner`"] + #[doc = "# "] + set_keys { + keys: runtime_types::aleph_runtime::SessionKeys, + proof: ::std::vec::Vec<::core::primitive::u8>, + }, + #[codec(index = 1)] + #[doc = "Removes any session key(s) of the function caller."] + #[doc = ""] + #[doc = "This doesn't take effect until the next session."] + #[doc = ""] + #[doc = "The dispatch origin of this function must be Signed and the account must be either be"] + #[doc = "convertible to a validator ID using the chain's typical addressing system (this usually"] + #[doc = "means being a controller account) or directly convertible into a validator ID (which"] + #[doc = "usually means being a stash account)."] + #[doc = ""] + #[doc = "# "] + #[doc = "- Complexity: `O(1)` in number of key types. Actual cost depends on the number of length"] + #[doc = " of `T::Keys::key_ids()` which is fixed."] + #[doc = "- DbReads: `T::ValidatorIdOf`, `NextKeys`, `origin account`"] + #[doc = "- DbWrites: `NextKeys`, `origin account`"] + #[doc = "- DbWrites per key id: `KeyOwner`"] + #[doc = "# "] + purge_keys, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "Error for the session pallet."] + pub enum Error { + #[codec(index = 0)] + #[doc = "Invalid ownership proof."] + InvalidProof, + #[codec(index = 1)] + #[doc = "No associated validator ID for account."] + NoAssociatedValidatorId, + #[codec(index = 2)] + #[doc = "Registered duplicate key."] + DuplicatedKey, + #[codec(index = 3)] + #[doc = "No keys are associated with this account."] + NoKeys, + #[codec(index = 4)] + #[doc = "Key setting account is not live, so it's impossible to associate keys."] + NoAccount, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub enum Event { + #[codec(index = 0)] + #[doc = "New session has happened. Note that the argument is the session index, not the"] + #[doc = "block number as the type might suggest."] + NewSession { + session_index: ::core::primitive::u32, + }, + } + } + } + pub mod pallet_staking { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + #[codec(index = 0)] + #[doc = "Take the origin account as a stash and lock up `value` of its balance. `controller` will"] + #[doc = "be the account that controls it."] + #[doc = ""] + #[doc = "`value` must be more than the `minimum_balance` specified by `T::Currency`."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ by the stash account."] + #[doc = ""] + #[doc = "Emits `Bonded`."] + #[doc = "# "] + #[doc = "- Independent of the arguments. Moderate complexity."] + #[doc = "- O(1)."] + #[doc = "- Three extra DB entries."] + #[doc = ""] + #[doc = "NOTE: Two of the storage writes (`Self::bonded`, `Self::payee`) are _never_ cleaned"] + #[doc = "unless the `origin` falls below _existential deposit_ and gets removed as dust."] + #[doc = "------------------"] + #[doc = "# "] + bond { + controller: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, + #[codec(compact)] + value: ::core::primitive::u128, + payee: runtime_types::pallet_staking::RewardDestination< + ::subxt::ext::sp_core::crypto::AccountId32, + >, + }, + #[codec(index = 1)] + #[doc = "Add some extra amount that have appeared in the stash `free_balance` into the balance up"] + #[doc = "for staking."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ by the stash, not the controller."] + #[doc = ""] + #[doc = "Use this if there are additional funds in your stash account that you wish to bond."] + #[doc = "Unlike [`bond`](Self::bond) or [`unbond`](Self::unbond) this function does not impose"] + #[doc = "any limitation on the amount that can be added."] + #[doc = ""] + #[doc = "Emits `Bonded`."] + #[doc = ""] + #[doc = "# "] + #[doc = "- Independent of the arguments. Insignificant complexity."] + #[doc = "- O(1)."] + #[doc = "# "] + bond_extra { + #[codec(compact)] + max_additional: ::core::primitive::u128, + }, + #[codec(index = 2)] + #[doc = "Schedule a portion of the stash to be unlocked ready for transfer out after the bond"] + #[doc = "period ends. If this leaves an amount actively bonded less than"] + #[doc = "T::Currency::minimum_balance(), then it is increased to the full amount."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ by the controller, not the stash."] + #[doc = ""] + #[doc = "Once the unlock period is done, you can call `withdraw_unbonded` to actually move"] + #[doc = "the funds out of management ready for transfer."] + #[doc = ""] + #[doc = "No more than a limited number of unlocking chunks (see `MaxUnlockingChunks`)"] + #[doc = "can co-exists at the same time. In that case, [`Call::withdraw_unbonded`] need"] + #[doc = "to be called first to remove some of the chunks (if possible)."] + #[doc = ""] + #[doc = "If a user encounters the `InsufficientBond` error when calling this extrinsic,"] + #[doc = "they should call `chill` first in order to free up their bonded funds."] + #[doc = ""] + #[doc = "Emits `Unbonded`."] + #[doc = ""] + #[doc = "See also [`Call::withdraw_unbonded`]."] + unbond { + #[codec(compact)] + value: ::core::primitive::u128, + }, + #[codec(index = 3)] + #[doc = "Remove any unlocked chunks from the `unlocking` queue from our management."] + #[doc = ""] + #[doc = "This essentially frees up that balance to be used by the stash account to do"] + #[doc = "whatever it wants."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ by the controller."] + #[doc = ""] + #[doc = "Emits `Withdrawn`."] + #[doc = ""] + #[doc = "See also [`Call::unbond`]."] + #[doc = ""] + #[doc = "# "] + #[doc = "Complexity O(S) where S is the number of slashing spans to remove"] + #[doc = "NOTE: Weight annotation is the kill scenario, we refund otherwise."] + #[doc = "# "] + withdraw_unbonded { + num_slashing_spans: ::core::primitive::u32, + }, + #[codec(index = 4)] + #[doc = "Declare the desire to validate for the origin controller."] + #[doc = ""] + #[doc = "Effects will be felt at the beginning of the next era."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ by the controller, not the stash."] + validate { + prefs: runtime_types::pallet_staking::ValidatorPrefs, + }, + #[codec(index = 5)] + #[doc = "Declare the desire to nominate `targets` for the origin controller."] + #[doc = ""] + #[doc = "Effects will be felt at the beginning of the next era."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ by the controller, not the stash."] + #[doc = ""] + #[doc = "# "] + #[doc = "- The transaction's complexity is proportional to the size of `targets` (N)"] + #[doc = "which is capped at CompactAssignments::LIMIT (T::MaxNominations)."] + #[doc = "- Both the reads and writes follow a similar pattern."] + #[doc = "# "] + nominate { + targets: ::std::vec::Vec< + ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, + >, + }, + #[codec(index = 6)] + #[doc = "Declare no desire to either validate or nominate."] + #[doc = ""] + #[doc = "Effects will be felt at the beginning of the next era."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ by the controller, not the stash."] + #[doc = ""] + #[doc = "# "] + #[doc = "- Independent of the arguments. Insignificant complexity."] + #[doc = "- Contains one read."] + #[doc = "- Writes are limited to the `origin` account key."] + #[doc = "# "] + chill, + #[codec(index = 7)] + #[doc = "(Re-)set the payment target for a controller."] + #[doc = ""] + #[doc = "Effects will be felt instantly (as soon as this function is completed successfully)."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ by the controller, not the stash."] + #[doc = ""] + #[doc = "# "] + #[doc = "- Independent of the arguments. Insignificant complexity."] + #[doc = "- Contains a limited number of reads."] + #[doc = "- Writes are limited to the `origin` account key."] + #[doc = "---------"] + #[doc = "- Weight: O(1)"] + #[doc = "- DB Weight:"] + #[doc = " - Read: Ledger"] + #[doc = " - Write: Payee"] + #[doc = "# "] + set_payee { + payee: runtime_types::pallet_staking::RewardDestination< + ::subxt::ext::sp_core::crypto::AccountId32, + >, + }, + #[codec(index = 8)] + #[doc = "(Re-)set the controller of a stash."] + #[doc = ""] + #[doc = "Effects will be felt instantly (as soon as this function is completed successfully)."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ by the stash, not the controller."] + #[doc = ""] + #[doc = "# "] + #[doc = "- Independent of the arguments. Insignificant complexity."] + #[doc = "- Contains a limited number of reads."] + #[doc = "- Writes are limited to the `origin` account key."] + #[doc = "----------"] + #[doc = "Weight: O(1)"] + #[doc = "DB Weight:"] + #[doc = "- Read: Bonded, Ledger New Controller, Ledger Old Controller"] + #[doc = "- Write: Bonded, Ledger New Controller, Ledger Old Controller"] + #[doc = "# "] + set_controller { + controller: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, + }, + #[codec(index = 9)] + #[doc = "Sets the ideal number of validators."] + #[doc = ""] + #[doc = "The dispatch origin must be Root."] + #[doc = ""] + #[doc = "# "] + #[doc = "Weight: O(1)"] + #[doc = "Write: Validator Count"] + #[doc = "# "] + set_validator_count { + #[codec(compact)] + new: ::core::primitive::u32, + }, + #[codec(index = 10)] + #[doc = "Increments the ideal number of validators."] + #[doc = ""] + #[doc = "The dispatch origin must be Root."] + #[doc = ""] + #[doc = "# "] + #[doc = "Same as [`Self::set_validator_count`]."] + #[doc = "# "] + increase_validator_count { + #[codec(compact)] + additional: ::core::primitive::u32, + }, + #[codec(index = 11)] + #[doc = "Scale up the ideal number of validators by a factor."] + #[doc = ""] + #[doc = "The dispatch origin must be Root."] + #[doc = ""] + #[doc = "# "] + #[doc = "Same as [`Self::set_validator_count`]."] + #[doc = "# "] + scale_validator_count { + factor: runtime_types::sp_arithmetic::per_things::Percent, + }, + #[codec(index = 12)] + #[doc = "Force there to be no new eras indefinitely."] + #[doc = ""] + #[doc = "The dispatch origin must be Root."] + #[doc = ""] + #[doc = "# Warning"] + #[doc = ""] + #[doc = "The election process starts multiple blocks before the end of the era."] + #[doc = "Thus the election process may be ongoing when this is called. In this case the"] + #[doc = "election will continue until the next era is triggered."] + #[doc = ""] + #[doc = "# "] + #[doc = "- No arguments."] + #[doc = "- Weight: O(1)"] + #[doc = "- Write: ForceEra"] + #[doc = "# "] + force_no_eras, + #[codec(index = 13)] + #[doc = "Force there to be a new era at the end of the next session. After this, it will be"] + #[doc = "reset to normal (non-forced) behaviour."] + #[doc = ""] + #[doc = "The dispatch origin must be Root."] + #[doc = ""] + #[doc = "# Warning"] + #[doc = ""] + #[doc = "The election process starts multiple blocks before the end of the era."] + #[doc = "If this is called just before a new era is triggered, the election process may not"] + #[doc = "have enough blocks to get a result."] + #[doc = ""] + #[doc = "# "] + #[doc = "- No arguments."] + #[doc = "- Weight: O(1)"] + #[doc = "- Write ForceEra"] + #[doc = "# "] + force_new_era, + #[codec(index = 14)] + #[doc = "Set the validators who cannot be slashed (if any)."] + #[doc = ""] + #[doc = "The dispatch origin must be Root."] + set_invulnerables { + invulnerables: + ::std::vec::Vec<::subxt::ext::sp_core::crypto::AccountId32>, + }, + #[codec(index = 15)] + #[doc = "Force a current staker to become completely unstaked, immediately."] + #[doc = ""] + #[doc = "The dispatch origin must be Root."] + force_unstake { + stash: ::subxt::ext::sp_core::crypto::AccountId32, + num_slashing_spans: ::core::primitive::u32, + }, + #[codec(index = 16)] + #[doc = "Force there to be a new era at the end of sessions indefinitely."] + #[doc = ""] + #[doc = "The dispatch origin must be Root."] + #[doc = ""] + #[doc = "# Warning"] + #[doc = ""] + #[doc = "The election process starts multiple blocks before the end of the era."] + #[doc = "If this is called just before a new era is triggered, the election process may not"] + #[doc = "have enough blocks to get a result."] + force_new_era_always, + #[codec(index = 17)] + #[doc = "Cancel enactment of a deferred slash."] + #[doc = ""] + #[doc = "Can be called by the `T::SlashCancelOrigin`."] + #[doc = ""] + #[doc = "Parameters: era and indices of the slashes for that era to kill."] + cancel_deferred_slash { + era: ::core::primitive::u32, + slash_indices: ::std::vec::Vec<::core::primitive::u32>, + }, + #[codec(index = 18)] + #[doc = "Pay out all the stakers behind a single validator for a single era."] + #[doc = ""] + #[doc = "- `validator_stash` is the stash account of the validator. Their nominators, up to"] + #[doc = " `T::MaxNominatorRewardedPerValidator`, will also receive their rewards."] + #[doc = "- `era` may be any era between `[current_era - history_depth; current_era]`."] + #[doc = ""] + #[doc = "The origin of this call must be _Signed_. Any account can call this function, even if"] + #[doc = "it is not one of the stakers."] + #[doc = ""] + #[doc = "# "] + #[doc = "- Time complexity: at most O(MaxNominatorRewardedPerValidator)."] + #[doc = "- Contains a limited number of reads and writes."] + #[doc = "-----------"] + #[doc = "N is the Number of payouts for the validator (including the validator)"] + #[doc = "Weight:"] + #[doc = "- Reward Destination Staked: O(N)"] + #[doc = "- Reward Destination Controller (Creating): O(N)"] + #[doc = ""] + #[doc = " NOTE: weights are assuming that payouts are made to alive stash account (Staked)."] + #[doc = " Paying even a dead controller is cheaper weight-wise. We don't do any refunds here."] + #[doc = "# "] + payout_stakers { + validator_stash: ::subxt::ext::sp_core::crypto::AccountId32, + era: ::core::primitive::u32, + }, + #[codec(index = 19)] + #[doc = "Rebond a portion of the stash scheduled to be unlocked."] + #[doc = ""] + #[doc = "The dispatch origin must be signed by the controller."] + #[doc = ""] + #[doc = "# "] + #[doc = "- Time complexity: O(L), where L is unlocking chunks"] + #[doc = "- Bounded by `MaxUnlockingChunks`."] + #[doc = "- Storage changes: Can't increase storage, only decrease it."] + #[doc = "# "] + rebond { + #[codec(compact)] + value: ::core::primitive::u128, + }, + #[codec(index = 20)] + #[doc = "Set `HistoryDepth` value. This function will delete any history information"] + #[doc = "when `HistoryDepth` is reduced."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = "- `new_history_depth`: The new history depth you would like to set."] + #[doc = "- `era_items_deleted`: The number of items that will be deleted by this dispatch. This"] + #[doc = " should report all the storage items that will be deleted by clearing old era history."] + #[doc = " Needed to report an accurate weight for the dispatch. Trusted by `Root` to report an"] + #[doc = " accurate number."] + #[doc = ""] + #[doc = "Origin must be root."] + #[doc = ""] + #[doc = "# "] + #[doc = "- E: Number of history depths removed, i.e. 10 -> 7 = 3"] + #[doc = "- Weight: O(E)"] + #[doc = "- DB Weight:"] + #[doc = " - Reads: Current Era, History Depth"] + #[doc = " - Writes: History Depth"] + #[doc = " - Clear Prefix Each: Era Stakers, EraStakersClipped, ErasValidatorPrefs"] + #[doc = " - Writes Each: ErasValidatorReward, ErasRewardPoints, ErasTotalStake,"] + #[doc = " ErasStartSessionIndex"] + #[doc = "# "] + set_history_depth { + #[codec(compact)] + new_history_depth: ::core::primitive::u32, + #[codec(compact)] + era_items_deleted: ::core::primitive::u32, + }, + #[codec(index = 21)] + #[doc = "Remove all data structures concerning a staker/stash once it is at a state where it can"] + #[doc = "be considered `dust` in the staking system. The requirements are:"] + #[doc = ""] + #[doc = "1. the `total_balance` of the stash is below existential deposit."] + #[doc = "2. or, the `ledger.total` of the stash is below existential deposit."] + #[doc = ""] + #[doc = "The former can happen in cases like a slash; the latter when a fully unbonded account"] + #[doc = "is still receiving staking rewards in `RewardDestination::Staked`."] + #[doc = ""] + #[doc = "It can be called by anyone, as long as `stash` meets the above requirements."] + #[doc = ""] + #[doc = "Refunds the transaction fees upon successful execution."] + reap_stash { + stash: ::subxt::ext::sp_core::crypto::AccountId32, + num_slashing_spans: ::core::primitive::u32, + }, + #[codec(index = 22)] + #[doc = "Remove the given nominations from the calling validator."] + #[doc = ""] + #[doc = "Effects will be felt at the beginning of the next era."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ by the controller, not the stash."] + #[doc = ""] + #[doc = "- `who`: A list of nominator stash accounts who are nominating this validator which"] + #[doc = " should no longer be nominating this validator."] + #[doc = ""] + #[doc = "Note: Making this call only makes sense if you first set the validator preferences to"] + #[doc = "block any further nominations."] + kick { + who: ::std::vec::Vec< + ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, + >, + }, + #[codec(index = 23)] + #[doc = "Update the various staking configurations ."] + #[doc = ""] + #[doc = "* `min_nominator_bond`: The minimum active bond needed to be a nominator."] + #[doc = "* `min_validator_bond`: The minimum active bond needed to be a validator."] + #[doc = "* `max_nominator_count`: The max number of users who can be a nominator at once. When"] + #[doc = " set to `None`, no limit is enforced."] + #[doc = "* `max_validator_count`: The max number of users who can be a validator at once. When"] + #[doc = " set to `None`, no limit is enforced."] + #[doc = "* `chill_threshold`: The ratio of `max_nominator_count` or `max_validator_count` which"] + #[doc = " should be filled in order for the `chill_other` transaction to work."] + #[doc = "* `min_commission`: The minimum amount of commission that each validators must maintain."] + #[doc = " This is checked only upon calling `validate`. Existing validators are not affected."] + #[doc = ""] + #[doc = "Origin must be Root to call this function."] + #[doc = ""] + #[doc = "NOTE: Existing nominators and validators will not be affected by this update."] + #[doc = "to kick people under the new limits, `chill_other` should be called."] + set_staking_configs { + min_nominator_bond: + runtime_types::pallet_staking::pallet::pallet::ConfigOp< + ::core::primitive::u128, + >, + min_validator_bond: + runtime_types::pallet_staking::pallet::pallet::ConfigOp< + ::core::primitive::u128, + >, + max_nominator_count: + runtime_types::pallet_staking::pallet::pallet::ConfigOp< + ::core::primitive::u32, + >, + max_validator_count: + runtime_types::pallet_staking::pallet::pallet::ConfigOp< + ::core::primitive::u32, + >, + chill_threshold: + runtime_types::pallet_staking::pallet::pallet::ConfigOp< + runtime_types::sp_arithmetic::per_things::Percent, + >, + min_commission: runtime_types::pallet_staking::pallet::pallet::ConfigOp< + runtime_types::sp_arithmetic::per_things::Perbill, + >, + }, + #[codec(index = 24)] + #[doc = "Declare a `controller` to stop participating as either a validator or nominator."] + #[doc = ""] + #[doc = "Effects will be felt at the beginning of the next era."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_, but can be called by anyone."] + #[doc = ""] + #[doc = "If the caller is the same as the controller being targeted, then no further checks are"] + #[doc = "enforced, and this function behaves just like `chill`."] + #[doc = ""] + #[doc = "If the caller is different than the controller being targeted, the following conditions"] + #[doc = "must be met:"] + #[doc = ""] + #[doc = "* `controller` must belong to a nominator who has become non-decodable,"] + #[doc = ""] + #[doc = "Or:"] + #[doc = ""] + #[doc = "* A `ChillThreshold` must be set and checked which defines how close to the max"] + #[doc = " nominators or validators we must reach before users can start chilling one-another."] + #[doc = "* A `MaxNominatorCount` and `MaxValidatorCount` must be set which is used to determine"] + #[doc = " how close we are to the threshold."] + #[doc = "* A `MinNominatorBond` and `MinValidatorBond` must be set and checked, which determines"] + #[doc = " if this is a person that should be chilled because they have not met the threshold"] + #[doc = " bond required."] + #[doc = ""] + #[doc = "This can be helpful if bond requirements are updated, and we need to remove old users"] + #[doc = "who do not satisfy these requirements."] + chill_other { + controller: ::subxt::ext::sp_core::crypto::AccountId32, + }, + #[codec(index = 25)] + #[doc = "Force a validator to have at least the minimum commission. This will not affect a"] + #[doc = "validator who already has a commission greater than or equal to the minimum. Any account"] + #[doc = "can call this."] + force_apply_min_commission { + validator_stash: ::subxt::ext::sp_core::crypto::AccountId32, + }, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub enum ConfigOp<_0> { + #[codec(index = 0)] + Noop, + #[codec(index = 1)] + Set(_0), + #[codec(index = 2)] + Remove, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub enum Error { + #[codec(index = 0)] + #[doc = "Not a controller account."] + NotController, + #[codec(index = 1)] + #[doc = "Not a stash account."] + NotStash, + #[codec(index = 2)] + #[doc = "Stash is already bonded."] + AlreadyBonded, + #[codec(index = 3)] + #[doc = "Controller is already paired."] + AlreadyPaired, + #[codec(index = 4)] + #[doc = "Targets cannot be empty."] + EmptyTargets, + #[codec(index = 5)] + #[doc = "Duplicate index."] + DuplicateIndex, + #[codec(index = 6)] + #[doc = "Slash record index out of bounds."] + InvalidSlashIndex, + #[codec(index = 7)] + #[doc = "Cannot have a validator or nominator role, with value less than the minimum defined by"] + #[doc = "governance (see `MinValidatorBond` and `MinNominatorBond`). If unbonding is the"] + #[doc = "intention, `chill` first to remove one's role as validator/nominator."] + InsufficientBond, + #[codec(index = 8)] + #[doc = "Can not schedule more unlock chunks."] + NoMoreChunks, + #[codec(index = 9)] + #[doc = "Can not rebond without unlocking chunks."] + NoUnlockChunk, + #[codec(index = 10)] + #[doc = "Attempting to target a stash that still has funds."] + FundedTarget, + #[codec(index = 11)] + #[doc = "Invalid era to reward."] + InvalidEraToReward, + #[codec(index = 12)] + #[doc = "Invalid number of nominations."] + InvalidNumberOfNominations, + #[codec(index = 13)] + #[doc = "Items are not sorted and unique."] + NotSortedAndUnique, + #[codec(index = 14)] + #[doc = "Rewards for this era have already been claimed for this validator."] + AlreadyClaimed, + #[codec(index = 15)] + #[doc = "Incorrect previous history depth input provided."] + IncorrectHistoryDepth, + #[codec(index = 16)] + #[doc = "Incorrect number of slashing spans provided."] + IncorrectSlashingSpans, + #[codec(index = 17)] + #[doc = "Internal state has become somehow corrupted and the operation cannot continue."] + BadState, + #[codec(index = 18)] + #[doc = "Too many nomination targets supplied."] + TooManyTargets, + #[codec(index = 19)] + #[doc = "A nomination target was supplied that was blocked or otherwise not a validator."] + BadTarget, + #[codec(index = 20)] + #[doc = "The user has enough bond and thus cannot be chilled forcefully by an external person."] + CannotChillOther, + #[codec(index = 21)] + #[doc = "There are too many nominators in the system. Governance needs to adjust the staking"] + #[doc = "settings to keep things safe for the runtime."] + TooManyNominators, + #[codec(index = 22)] + #[doc = "There are too many validators in the system. Governance needs to adjust the staking"] + #[doc = "settings to keep things safe for the runtime."] + TooManyValidators, + #[codec(index = 23)] + #[doc = "Commission is too low. Must be at least `MinCommission`."] + CommissionTooLow, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub enum Event { + #[codec(index = 0)] + #[doc = "The era payout has been set; the first balance is the validator-payout; the second is"] + #[doc = "the remainder from the maximum amount of reward."] + #[doc = "\\[era_index, validator_payout, remainder\\]"] + EraPaid( + ::core::primitive::u32, + ::core::primitive::u128, + ::core::primitive::u128, + ), + #[codec(index = 1)] + #[doc = "The nominator has been rewarded by this amount. \\[stash, amount\\]"] + Rewarded( + ::subxt::ext::sp_core::crypto::AccountId32, + ::core::primitive::u128, + ), + #[codec(index = 2)] + #[doc = "One validator (and its nominators) has been slashed by the given amount."] + #[doc = "\\[validator, amount\\]"] + Slashed( + ::subxt::ext::sp_core::crypto::AccountId32, + ::core::primitive::u128, + ), + #[codec(index = 3)] + #[doc = "An old slashing report from a prior era was discarded because it could"] + #[doc = "not be processed. \\[session_index\\]"] + OldSlashingReportDiscarded(::core::primitive::u32), + #[codec(index = 4)] + #[doc = "A new set of stakers was elected."] + StakersElected, + #[codec(index = 5)] + #[doc = "An account has bonded this amount. \\[stash, amount\\]"] + #[doc = ""] + #[doc = "NOTE: This event is only emitted when funds are bonded via a dispatchable. Notably,"] + #[doc = "it will not be emitted for staking rewards when they are added to stake."] + Bonded( + ::subxt::ext::sp_core::crypto::AccountId32, + ::core::primitive::u128, + ), + #[codec(index = 6)] + #[doc = "An account has unbonded this amount. \\[stash, amount\\]"] + Unbonded( + ::subxt::ext::sp_core::crypto::AccountId32, + ::core::primitive::u128, + ), + #[codec(index = 7)] + #[doc = "An account has called `withdraw_unbonded` and removed unbonding chunks worth `Balance`"] + #[doc = "from the unlocking queue. \\[stash, amount\\]"] + Withdrawn( + ::subxt::ext::sp_core::crypto::AccountId32, + ::core::primitive::u128, + ), + #[codec(index = 8)] + #[doc = "A nominator has been kicked from a validator. \\[nominator, stash\\]"] + Kicked( + ::subxt::ext::sp_core::crypto::AccountId32, + ::subxt::ext::sp_core::crypto::AccountId32, + ), + #[codec(index = 9)] + #[doc = "The election failed. No new era is planned."] + StakingElectionFailed, + #[codec(index = 10)] + #[doc = "An account has stopped participating as either a validator or nominator."] + #[doc = "\\[stash\\]"] + Chilled(::subxt::ext::sp_core::crypto::AccountId32), + #[codec(index = 11)] + #[doc = "The stakers' rewards are getting paid. \\[era_index, validator_stash\\]"] + PayoutStarted( + ::core::primitive::u32, + ::subxt::ext::sp_core::crypto::AccountId32, + ), + #[codec(index = 12)] + #[doc = "A validator has set their preferences."] + ValidatorPrefsSet( + ::subxt::ext::sp_core::crypto::AccountId32, + runtime_types::pallet_staking::ValidatorPrefs, + ), + } + } + } + pub mod slashing { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct SlashingSpans { + pub span_index: ::core::primitive::u32, + pub last_start: ::core::primitive::u32, + pub last_nonzero_slash: ::core::primitive::u32, + pub prior: ::std::vec::Vec<::core::primitive::u32>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct SpanRecord<_0> { + pub slashed: _0, + pub paid_out: _0, + } + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct ActiveEraInfo { + pub index: ::core::primitive::u32, + pub start: ::core::option::Option<::core::primitive::u64>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct EraRewardPoints<_0> { + pub total: ::core::primitive::u32, + pub individual: ::subxt::utils::KeyedVec<_0, ::core::primitive::u32>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct Exposure<_0, _1> { + #[codec(compact)] + pub total: _1, + #[codec(compact)] + pub own: _1, + pub others: + ::std::vec::Vec>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub enum Forcing { + #[codec(index = 0)] + NotForcing, + #[codec(index = 1)] + ForceNew, + #[codec(index = 2)] + ForceNone, + #[codec(index = 3)] + ForceAlways, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct IndividualExposure<_0, _1> { + pub who: _0, + #[codec(compact)] + pub value: _1, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct Nominations { + pub targets: runtime_types::sp_runtime::bounded::bounded_vec::BoundedVec< + ::subxt::ext::sp_core::crypto::AccountId32, + >, + pub submitted_in: ::core::primitive::u32, + pub suppressed: ::core::primitive::bool, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub enum Releases { + #[codec(index = 0)] + V1_0_0Ancient, + #[codec(index = 1)] + V2_0_0, + #[codec(index = 2)] + V3_0_0, + #[codec(index = 3)] + V4_0_0, + #[codec(index = 4)] + V5_0_0, + #[codec(index = 5)] + V6_0_0, + #[codec(index = 6)] + V7_0_0, + #[codec(index = 7)] + V8_0_0, + #[codec(index = 8)] + V9_0_0, + #[codec(index = 9)] + V10_0_0, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub enum RewardDestination<_0> { + #[codec(index = 0)] + Staked, + #[codec(index = 1)] + Stash, + #[codec(index = 2)] + Controller, + #[codec(index = 3)] + Account(_0), + #[codec(index = 4)] + None, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct StakingLedger { + pub stash: ::subxt::ext::sp_core::crypto::AccountId32, + #[codec(compact)] + pub total: ::core::primitive::u128, + #[codec(compact)] + pub active: ::core::primitive::u128, + pub unlocking: runtime_types::sp_runtime::bounded::bounded_vec::BoundedVec< + runtime_types::pallet_staking::UnlockChunk<::core::primitive::u128>, + >, + pub claimed_rewards: ::std::vec::Vec<::core::primitive::u32>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct UnappliedSlash<_0, _1> { + pub validator: _0, + pub own: _1, + pub others: ::std::vec::Vec<(_0, _1)>, + pub reporters: ::std::vec::Vec<_0>, + pub payout: _1, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct UnlockChunk<_0> { + #[codec(compact)] + pub value: _0, + #[codec(compact)] + pub era: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct ValidatorPrefs { + #[codec(compact)] + pub commission: runtime_types::sp_arithmetic::per_things::Perbill, + pub blocked: ::core::primitive::bool, + } + } + pub mod pallet_sudo { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + #[codec(index = 0)] + #[doc = "Authenticates the sudo key and dispatches a function call with `Root` origin."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = ""] + #[doc = "# "] + #[doc = "- O(1)."] + #[doc = "- Limited storage reads."] + #[doc = "- One DB write (event)."] + #[doc = "- Weight of derivative `call` execution + 10,000."] + #[doc = "# "] + sudo { + call: ::std::boxed::Box, + }, + #[codec(index = 1)] + #[doc = "Authenticates the sudo key and dispatches a function call with `Root` origin."] + #[doc = "This function does not check the weight of the call, and instead allows the"] + #[doc = "Sudo user to specify the weight of the call."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = ""] + #[doc = "# "] + #[doc = "- O(1)."] + #[doc = "- The weight of this call is defined by the caller."] + #[doc = "# "] + sudo_unchecked_weight { + call: ::std::boxed::Box, + weight: ::core::primitive::u64, + }, + #[codec(index = 2)] + #[doc = "Authenticates the current sudo key and sets the given AccountId (`new`) as the new sudo"] + #[doc = "key."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = ""] + #[doc = "# "] + #[doc = "- O(1)."] + #[doc = "- Limited storage reads."] + #[doc = "- One DB change."] + #[doc = "# "] + set_key { + new: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, + }, + #[codec(index = 3)] + #[doc = "Authenticates the sudo key and dispatches a function call with `Signed` origin from"] + #[doc = "a given account."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = ""] + #[doc = "# "] + #[doc = "- O(1)."] + #[doc = "- Limited storage reads."] + #[doc = "- One DB write (event)."] + #[doc = "- Weight of derivative `call` execution + 10,000."] + #[doc = "# "] + sudo_as { + who: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, + call: ::std::boxed::Box, + }, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "Error for the Sudo pallet"] + pub enum Error { + #[codec(index = 0)] + #[doc = "Sender must be the Sudo account"] + RequireSudo, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub enum Event { + #[codec(index = 0)] + #[doc = "A sudo just took place. \\[result\\]"] + Sudid { + sudo_result: + ::core::result::Result<(), runtime_types::sp_runtime::DispatchError>, + }, + #[codec(index = 1)] + #[doc = "The \\[sudoer\\] just switched identity; the old key is supplied if one existed."] + KeyChanged { + old_sudoer: + ::core::option::Option<::subxt::ext::sp_core::crypto::AccountId32>, + }, + #[codec(index = 2)] + #[doc = "A sudo just took place. \\[result\\]"] + SudoAsDone { + sudo_result: + ::core::result::Result<(), runtime_types::sp_runtime::DispatchError>, + }, + } + } + } + pub mod pallet_timestamp { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + #[codec(index = 0)] + #[doc = "Set the current time."] + #[doc = ""] + #[doc = "This call should be invoked exactly once per block. It will panic at the finalization"] + #[doc = "phase, if this call hasn't been invoked by that time."] + #[doc = ""] + #[doc = "The timestamp should be greater than the previous one by the amount specified by"] + #[doc = "`MinimumPeriod`."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be `Inherent`."] + #[doc = ""] + #[doc = "# "] + #[doc = "- `O(1)` (Note that implementations of `OnTimestampSet` must also be `O(1)`)"] + #[doc = "- 1 storage read and 1 storage mutation (codec `O(1)`). (because of `DidUpdate::take` in"] + #[doc = " `on_finalize`)"] + #[doc = "- 1 event handler `on_timestamp_set`. Must be `O(1)`."] + #[doc = "# "] + set { + #[codec(compact)] + now: ::core::primitive::u64, + }, + } + } + } + pub mod pallet_transaction_payment { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub enum Event { + #[codec(index = 0)] + #[doc = "A transaction fee `actual_fee`, of which `tip` was added to the minimum inclusion fee,"] + #[doc = "has been paid by `who`."] + TransactionFeePaid { + who: ::subxt::ext::sp_core::crypto::AccountId32, + actual_fee: ::core::primitive::u128, + tip: ::core::primitive::u128, + }, + } + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct ChargeTransactionPayment(#[codec(compact)] pub ::core::primitive::u128); + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub enum Releases { + #[codec(index = 0)] + V1Ancient, + #[codec(index = 1)] + V2, + } + } + pub mod pallet_treasury { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + #[codec(index = 0)] + #[doc = "Put forward a suggestion for spending. A deposit proportional to the value"] + #[doc = "is reserved and slashed if the proposal is rejected. It is returned once the"] + #[doc = "proposal is awarded."] + #[doc = ""] + #[doc = "# "] + #[doc = "- Complexity: O(1)"] + #[doc = "- DbReads: `ProposalCount`, `origin account`"] + #[doc = "- DbWrites: `ProposalCount`, `Proposals`, `origin account`"] + #[doc = "# "] + propose_spend { + #[codec(compact)] + value: ::core::primitive::u128, + beneficiary: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, + }, + #[codec(index = 1)] + #[doc = "Reject a proposed spend. The original deposit will be slashed."] + #[doc = ""] + #[doc = "May only be called from `T::RejectOrigin`."] + #[doc = ""] + #[doc = "# "] + #[doc = "- Complexity: O(1)"] + #[doc = "- DbReads: `Proposals`, `rejected proposer account`"] + #[doc = "- DbWrites: `Proposals`, `rejected proposer account`"] + #[doc = "# "] + reject_proposal { + #[codec(compact)] + proposal_id: ::core::primitive::u32, + }, + #[codec(index = 2)] + #[doc = "Approve a proposal. At a later time, the proposal will be allocated to the beneficiary"] + #[doc = "and the original deposit will be returned."] + #[doc = ""] + #[doc = "May only be called from `T::ApproveOrigin`."] + #[doc = ""] + #[doc = "# "] + #[doc = "- Complexity: O(1)."] + #[doc = "- DbReads: `Proposals`, `Approvals`"] + #[doc = "- DbWrite: `Approvals`"] + #[doc = "# "] + approve_proposal { + #[codec(compact)] + proposal_id: ::core::primitive::u32, + }, + #[codec(index = 3)] + #[doc = "Propose and approve a spend of treasury funds."] + #[doc = ""] + #[doc = "- `origin`: Must be `SpendOrigin` with the `Success` value being at least `amount`."] + #[doc = "- `amount`: The amount to be transferred from the treasury to the `beneficiary`."] + #[doc = "- `beneficiary`: The destination account for the transfer."] + #[doc = ""] + #[doc = "NOTE: For record-keeping purposes, the proposer is deemed to be equivalent to the"] + #[doc = "beneficiary."] + spend { + #[codec(compact)] + amount: ::core::primitive::u128, + beneficiary: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, + }, + #[codec(index = 4)] + #[doc = "Force a previously approved proposal to be removed from the approval queue."] + #[doc = "The original deposit will no longer be returned."] + #[doc = ""] + #[doc = "May only be called from `T::RejectOrigin`."] + #[doc = "- `proposal_id`: The index of a proposal"] + #[doc = ""] + #[doc = "# "] + #[doc = "- Complexity: O(A) where `A` is the number of approvals"] + #[doc = "- Db reads and writes: `Approvals`"] + #[doc = "# "] + #[doc = ""] + #[doc = "Errors:"] + #[doc = "- `ProposalNotApproved`: The `proposal_id` supplied was not found in the approval queue,"] + #[doc = "i.e., the proposal has not been approved. This could also mean the proposal does not"] + #[doc = "exist altogether, thus there is no way it would have been approved in the first place."] + remove_approval { + #[codec(compact)] + proposal_id: ::core::primitive::u32, + }, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "Error for the treasury pallet."] + pub enum Error { + #[codec(index = 0)] + #[doc = "Proposer's balance is too low."] + InsufficientProposersBalance, + #[codec(index = 1)] + #[doc = "No proposal or bounty at that index."] + InvalidIndex, + #[codec(index = 2)] + #[doc = "Too many approvals in the queue."] + TooManyApprovals, + #[codec(index = 3)] + #[doc = "The spend origin is valid but the amount it is allowed to spend is lower than the"] + #[doc = "amount to be spent."] + InsufficientPermission, + #[codec(index = 4)] + #[doc = "Proposal has not been approved."] + ProposalNotApproved, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub enum Event { + #[codec(index = 0)] + #[doc = "New proposal."] + Proposed { + proposal_index: ::core::primitive::u32, + }, + #[codec(index = 1)] + #[doc = "We have ended a spend period and will now allocate funds."] + Spending { + budget_remaining: ::core::primitive::u128, + }, + #[codec(index = 2)] + #[doc = "Some funds have been allocated."] + Awarded { + proposal_index: ::core::primitive::u32, + award: ::core::primitive::u128, + account: ::subxt::ext::sp_core::crypto::AccountId32, + }, + #[codec(index = 3)] + #[doc = "A proposal was rejected; funds were slashed."] + Rejected { + proposal_index: ::core::primitive::u32, + slashed: ::core::primitive::u128, + }, + #[codec(index = 4)] + #[doc = "Some of our funds have been burnt."] + Burnt { + burnt_funds: ::core::primitive::u128, + }, + #[codec(index = 5)] + #[doc = "Spending has finished; this is the amount that rolls over until next spend."] + Rollover { + rollover_balance: ::core::primitive::u128, + }, + #[codec(index = 6)] + #[doc = "Some funds have been deposited."] + Deposit { value: ::core::primitive::u128 }, + #[codec(index = 7)] + #[doc = "A new spend proposal has been approved."] + SpendApproved { + proposal_index: ::core::primitive::u32, + amount: ::core::primitive::u128, + beneficiary: ::subxt::ext::sp_core::crypto::AccountId32, + }, + } + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct Proposal<_0, _1> { + pub proposer: _0, + pub value: _1, + pub beneficiary: _0, + pub bond: _1, + } + } + pub mod pallet_utility { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + #[codec(index = 0)] + #[doc = "Send a batch of dispatch calls."] + #[doc = ""] + #[doc = "May be called from any origin."] + #[doc = ""] + #[doc = "- `calls`: The calls to be dispatched from the same origin. The number of call must not"] + #[doc = " exceed the constant: `batched_calls_limit` (available in constant metadata)."] + #[doc = ""] + #[doc = "If origin is root then call are dispatch without checking origin filter. (This includes"] + #[doc = "bypassing `frame_system::Config::BaseCallFilter`)."] + #[doc = ""] + #[doc = "# "] + #[doc = "- Complexity: O(C) where C is the number of calls to be batched."] + #[doc = "# "] + #[doc = ""] + #[doc = "This will return `Ok` in all circumstances. To determine the success of the batch, an"] + #[doc = "event is deposited. If a call failed and the batch was interrupted, then the"] + #[doc = "`BatchInterrupted` event is deposited, along with the number of successful calls made"] + #[doc = "and the error of the failed call. If all were successful, then the `BatchCompleted`"] + #[doc = "event is deposited."] + batch { + calls: ::std::vec::Vec, + }, + #[codec(index = 1)] + #[doc = "Send a call through an indexed pseudonym of the sender."] + #[doc = ""] + #[doc = "Filter from origin are passed along. The call will be dispatched with an origin which"] + #[doc = "use the same filter as the origin of this call."] + #[doc = ""] + #[doc = "NOTE: If you need to ensure that any account-based filtering is not honored (i.e."] + #[doc = "because you expect `proxy` to have been used prior in the call stack and you do not want"] + #[doc = "the call restrictions to apply to any sub-accounts), then use `as_multi_threshold_1`"] + #[doc = "in the Multisig pallet instead."] + #[doc = ""] + #[doc = "NOTE: Prior to version *12, this was called `as_limited_sub`."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + as_derivative { + index: ::core::primitive::u16, + call: ::std::boxed::Box, + }, + #[codec(index = 2)] + #[doc = "Send a batch of dispatch calls and atomically execute them."] + #[doc = "The whole transaction will rollback and fail if any of the calls failed."] + #[doc = ""] + #[doc = "May be called from any origin."] + #[doc = ""] + #[doc = "- `calls`: The calls to be dispatched from the same origin. The number of call must not"] + #[doc = " exceed the constant: `batched_calls_limit` (available in constant metadata)."] + #[doc = ""] + #[doc = "If origin is root then call are dispatch without checking origin filter. (This includes"] + #[doc = "bypassing `frame_system::Config::BaseCallFilter`)."] + #[doc = ""] + #[doc = "# "] + #[doc = "- Complexity: O(C) where C is the number of calls to be batched."] + #[doc = "# "] + batch_all { + calls: ::std::vec::Vec, + }, + #[codec(index = 3)] + #[doc = "Dispatches a function call with a provided origin."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Root_."] + #[doc = ""] + #[doc = "# "] + #[doc = "- O(1)."] + #[doc = "- Limited storage reads."] + #[doc = "- One DB write (event)."] + #[doc = "- Weight of derivative `call` execution + T::WeightInfo::dispatch_as()."] + #[doc = "# "] + dispatch_as { + as_origin: ::std::boxed::Box, + call: ::std::boxed::Box, + }, + #[codec(index = 4)] + #[doc = "Send a batch of dispatch calls."] + #[doc = "Unlike `batch`, it allows errors and won't interrupt."] + #[doc = ""] + #[doc = "May be called from any origin."] + #[doc = ""] + #[doc = "- `calls`: The calls to be dispatched from the same origin. The number of call must not"] + #[doc = " exceed the constant: `batched_calls_limit` (available in constant metadata)."] + #[doc = ""] + #[doc = "If origin is root then call are dispatch without checking origin filter. (This includes"] + #[doc = "bypassing `frame_system::Config::BaseCallFilter`)."] + #[doc = ""] + #[doc = "# "] + #[doc = "- Complexity: O(C) where C is the number of calls to be batched."] + #[doc = "# "] + force_batch { + calls: ::std::vec::Vec, + }, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub enum Error { + #[codec(index = 0)] + #[doc = "Too many calls batched."] + TooManyCalls, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub enum Event { + #[codec(index = 0)] + #[doc = "Batch of dispatches did not complete fully. Index of first failing dispatch given, as"] + #[doc = "well as the error."] + BatchInterrupted { + index: ::core::primitive::u32, + error: runtime_types::sp_runtime::DispatchError, + }, + #[codec(index = 1)] + #[doc = "Batch of dispatches completed fully with no error."] + BatchCompleted, + #[codec(index = 2)] + #[doc = "Batch of dispatches completed but has errors."] + BatchCompletedWithErrors, + #[codec(index = 3)] + #[doc = "A single item within a Batch of dispatches has completed with no error."] + ItemCompleted, + #[codec(index = 4)] + #[doc = "A single item within a Batch of dispatches has completed with error."] + ItemFailed { + error: runtime_types::sp_runtime::DispatchError, + }, + #[codec(index = 5)] + #[doc = "A call was dispatched."] + DispatchedAs { + result: + ::core::result::Result<(), runtime_types::sp_runtime::DispatchError>, + }, + } + } + } + pub mod pallet_vesting { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + #[codec(index = 0)] + #[doc = "Unlock any vested funds of the sender account."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ and the sender must have funds still"] + #[doc = "locked under this pallet."] + #[doc = ""] + #[doc = "Emits either `VestingCompleted` or `VestingUpdated`."] + #[doc = ""] + #[doc = "# "] + #[doc = "- `O(1)`."] + #[doc = "- DbWeight: 2 Reads, 2 Writes"] + #[doc = " - Reads: Vesting Storage, Balances Locks, [Sender Account]"] + #[doc = " - Writes: Vesting Storage, Balances Locks, [Sender Account]"] + #[doc = "# "] + vest, + #[codec(index = 1)] + #[doc = "Unlock any vested funds of a `target` account."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = ""] + #[doc = "- `target`: The account whose vested funds should be unlocked. Must have funds still"] + #[doc = "locked under this pallet."] + #[doc = ""] + #[doc = "Emits either `VestingCompleted` or `VestingUpdated`."] + #[doc = ""] + #[doc = "# "] + #[doc = "- `O(1)`."] + #[doc = "- DbWeight: 3 Reads, 3 Writes"] + #[doc = " - Reads: Vesting Storage, Balances Locks, Target Account"] + #[doc = " - Writes: Vesting Storage, Balances Locks, Target Account"] + #[doc = "# "] + vest_other { + target: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, + }, + #[codec(index = 2)] + #[doc = "Create a vested transfer."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = ""] + #[doc = "- `target`: The account receiving the vested funds."] + #[doc = "- `schedule`: The vesting schedule attached to the transfer."] + #[doc = ""] + #[doc = "Emits `VestingCreated`."] + #[doc = ""] + #[doc = "NOTE: This will unlock all schedules through the current block."] + #[doc = ""] + #[doc = "# "] + #[doc = "- `O(1)`."] + #[doc = "- DbWeight: 3 Reads, 3 Writes"] + #[doc = " - Reads: Vesting Storage, Balances Locks, Target Account, [Sender Account]"] + #[doc = " - Writes: Vesting Storage, Balances Locks, Target Account, [Sender Account]"] + #[doc = "# "] + vested_transfer { + target: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, + schedule: runtime_types::pallet_vesting::vesting_info::VestingInfo< + ::core::primitive::u128, + ::core::primitive::u32, + >, + }, + #[codec(index = 3)] + #[doc = "Force a vested transfer."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Root_."] + #[doc = ""] + #[doc = "- `source`: The account whose funds should be transferred."] + #[doc = "- `target`: The account that should be transferred the vested funds."] + #[doc = "- `schedule`: The vesting schedule attached to the transfer."] + #[doc = ""] + #[doc = "Emits `VestingCreated`."] + #[doc = ""] + #[doc = "NOTE: This will unlock all schedules through the current block."] + #[doc = ""] + #[doc = "# "] + #[doc = "- `O(1)`."] + #[doc = "- DbWeight: 4 Reads, 4 Writes"] + #[doc = " - Reads: Vesting Storage, Balances Locks, Target Account, Source Account"] + #[doc = " - Writes: Vesting Storage, Balances Locks, Target Account, Source Account"] + #[doc = "# "] + force_vested_transfer { + source: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, + target: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, + schedule: runtime_types::pallet_vesting::vesting_info::VestingInfo< + ::core::primitive::u128, + ::core::primitive::u32, + >, + }, + #[codec(index = 4)] + #[doc = "Merge two vesting schedules together, creating a new vesting schedule that unlocks over"] + #[doc = "the highest possible start and end blocks. If both schedules have already started the"] + #[doc = "current block will be used as the schedule start; with the caveat that if one schedule"] + #[doc = "is finished by the current block, the other will be treated as the new merged schedule,"] + #[doc = "unmodified."] + #[doc = ""] + #[doc = "NOTE: If `schedule1_index == schedule2_index` this is a no-op."] + #[doc = "NOTE: This will unlock all schedules through the current block prior to merging."] + #[doc = "NOTE: If both schedules have ended by the current block, no new schedule will be created"] + #[doc = "and both will be removed."] + #[doc = ""] + #[doc = "Merged schedule attributes:"] + #[doc = "- `starting_block`: `MAX(schedule1.starting_block, scheduled2.starting_block,"] + #[doc = " current_block)`."] + #[doc = "- `ending_block`: `MAX(schedule1.ending_block, schedule2.ending_block)`."] + #[doc = "- `locked`: `schedule1.locked_at(current_block) + schedule2.locked_at(current_block)`."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = ""] + #[doc = "- `schedule1_index`: index of the first schedule to merge."] + #[doc = "- `schedule2_index`: index of the second schedule to merge."] + merge_schedules { + schedule1_index: ::core::primitive::u32, + schedule2_index: ::core::primitive::u32, + }, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "Error for the vesting pallet."] + pub enum Error { + #[codec(index = 0)] + #[doc = "The account given is not vesting."] + NotVesting, + #[codec(index = 1)] + #[doc = "The account already has `MaxVestingSchedules` count of schedules and thus"] + #[doc = "cannot add another one. Consider merging existing schedules in order to add another."] + AtMaxVestingSchedules, + #[codec(index = 2)] + #[doc = "Amount being transferred is too low to create a vesting schedule."] + AmountLow, + #[codec(index = 3)] + #[doc = "An index was out of bounds of the vesting schedules."] + ScheduleIndexOutOfBounds, + #[codec(index = 4)] + #[doc = "Failed to create a new schedule because some parameter was invalid."] + InvalidScheduleParams, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub enum Event { + #[codec(index = 0)] + #[doc = "The amount vested has been updated. This could indicate a change in funds available."] + #[doc = "The balance given is the amount which is left unvested (and thus locked)."] + VestingUpdated { + account: ::subxt::ext::sp_core::crypto::AccountId32, + unvested: ::core::primitive::u128, + }, + #[codec(index = 1)] + #[doc = "An \\[account\\] has become fully vested."] + VestingCompleted { + account: ::subxt::ext::sp_core::crypto::AccountId32, + }, + } + } + pub mod vesting_info { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct VestingInfo<_0, _1> { + pub locked: _0, + pub per_block: _0, + pub starting_block: _1, + } + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub enum Releases { + #[codec(index = 0)] + V0, + #[codec(index = 1)] + V1, + } + } + pub mod primitive_types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct H256(pub [::core::primitive::u8; 32usize]); + } + pub mod primitives { + use super::runtime_types; + pub mod app { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct Public(pub runtime_types::sp_core::ed25519::Public); + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct BanConfig { + pub minimal_expected_performance: runtime_types::sp_arithmetic::per_things::Perbill, + pub underperformed_session_count_threshold: ::core::primitive::u32, + pub clean_session_counter_delay: ::core::primitive::u32, + pub ban_period: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct BanInfo { + pub reason: runtime_types::primitives::BanReason, + pub start: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub enum BanReason { + #[codec(index = 0)] + InsufficientUptime(::core::primitive::u32), + #[codec(index = 1)] + OtherReason( + runtime_types::sp_runtime::bounded::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + ), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct CommitteeSeats { + pub reserved_seats: ::core::primitive::u32, + pub non_reserved_seats: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub enum ElectionOpenness { + #[codec(index = 0)] + Permissioned, + #[codec(index = 1)] + Permissionless, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct EraValidators<_0> { + pub reserved: ::std::vec::Vec<_0>, + pub non_reserved: ::std::vec::Vec<_0>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct VersionChange { + pub version_incoming: ::core::primitive::u32, + pub session: ::core::primitive::u32, + } + } + pub mod sp_arithmetic { + use super::runtime_types; + pub mod fixed_point { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct FixedU128(pub ::core::primitive::u128); + } + pub mod per_things { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct Perbill(pub ::core::primitive::u32); + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct Percent(pub ::core::primitive::u8); + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct Permill(pub ::core::primitive::u32); + } + } + pub mod sp_consensus_aura { + use super::runtime_types; + pub mod sr25519 { + use super::runtime_types; + pub mod app_sr25519 { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct Public(pub runtime_types::sp_core::sr25519::Public); + } + } + } + pub mod sp_consensus_slots { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct Slot(pub ::core::primitive::u64); + } + pub mod sp_core { + use super::runtime_types; + pub mod crypto { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct AccountId32(pub [::core::primitive::u8; 32usize]); + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct KeyTypeId(pub [::core::primitive::u8; 4usize]); + } + pub mod ecdsa { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct Signature(pub [::core::primitive::u8; 65usize]); + } + pub mod ed25519 { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct Public(pub [::core::primitive::u8; 32usize]); + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct Signature(pub [::core::primitive::u8; 64usize]); + } + pub mod sr25519 { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct Public(pub [::core::primitive::u8; 32usize]); + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct Signature(pub [::core::primitive::u8; 64usize]); + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub enum Void {} + } + pub mod sp_runtime { + use super::runtime_types; + pub mod bounded { + use super::runtime_types; + pub mod bounded_btree_map { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct BoundedBTreeMap<_0, _1>(pub ::subxt::utils::KeyedVec<_0, _1>); + } + pub mod bounded_vec { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct BoundedVec<_0>(pub ::std::vec::Vec<_0>); + } + pub mod weak_bounded_vec { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct WeakBoundedVec<_0>(pub ::std::vec::Vec<_0>); + } + } + pub mod generic { + use super::runtime_types; + pub mod digest { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct Digest { + pub logs: + ::std::vec::Vec, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub enum DigestItem { + #[codec(index = 6)] + PreRuntime( + [::core::primitive::u8; 4usize], + ::std::vec::Vec<::core::primitive::u8>, + ), + #[codec(index = 4)] + Consensus( + [::core::primitive::u8; 4usize], + ::std::vec::Vec<::core::primitive::u8>, + ), + #[codec(index = 5)] + Seal( + [::core::primitive::u8; 4usize], + ::std::vec::Vec<::core::primitive::u8>, + ), + #[codec(index = 0)] + Other(::std::vec::Vec<::core::primitive::u8>), + #[codec(index = 8)] + RuntimeEnvironmentUpdated, + } + } + pub mod era { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub enum Era { + #[codec(index = 0)] + Immortal, + #[codec(index = 1)] + Mortal1(::core::primitive::u8), + #[codec(index = 2)] + Mortal2(::core::primitive::u8), + #[codec(index = 3)] + Mortal3(::core::primitive::u8), + #[codec(index = 4)] + Mortal4(::core::primitive::u8), + #[codec(index = 5)] + Mortal5(::core::primitive::u8), + #[codec(index = 6)] + Mortal6(::core::primitive::u8), + #[codec(index = 7)] + Mortal7(::core::primitive::u8), + #[codec(index = 8)] + Mortal8(::core::primitive::u8), + #[codec(index = 9)] + Mortal9(::core::primitive::u8), + #[codec(index = 10)] + Mortal10(::core::primitive::u8), + #[codec(index = 11)] + Mortal11(::core::primitive::u8), + #[codec(index = 12)] + Mortal12(::core::primitive::u8), + #[codec(index = 13)] + Mortal13(::core::primitive::u8), + #[codec(index = 14)] + Mortal14(::core::primitive::u8), + #[codec(index = 15)] + Mortal15(::core::primitive::u8), + #[codec(index = 16)] + Mortal16(::core::primitive::u8), + #[codec(index = 17)] + Mortal17(::core::primitive::u8), + #[codec(index = 18)] + Mortal18(::core::primitive::u8), + #[codec(index = 19)] + Mortal19(::core::primitive::u8), + #[codec(index = 20)] + Mortal20(::core::primitive::u8), + #[codec(index = 21)] + Mortal21(::core::primitive::u8), + #[codec(index = 22)] + Mortal22(::core::primitive::u8), + #[codec(index = 23)] + Mortal23(::core::primitive::u8), + #[codec(index = 24)] + Mortal24(::core::primitive::u8), + #[codec(index = 25)] + Mortal25(::core::primitive::u8), + #[codec(index = 26)] + Mortal26(::core::primitive::u8), + #[codec(index = 27)] + Mortal27(::core::primitive::u8), + #[codec(index = 28)] + Mortal28(::core::primitive::u8), + #[codec(index = 29)] + Mortal29(::core::primitive::u8), + #[codec(index = 30)] + Mortal30(::core::primitive::u8), + #[codec(index = 31)] + Mortal31(::core::primitive::u8), + #[codec(index = 32)] + Mortal32(::core::primitive::u8), + #[codec(index = 33)] + Mortal33(::core::primitive::u8), + #[codec(index = 34)] + Mortal34(::core::primitive::u8), + #[codec(index = 35)] + Mortal35(::core::primitive::u8), + #[codec(index = 36)] + Mortal36(::core::primitive::u8), + #[codec(index = 37)] + Mortal37(::core::primitive::u8), + #[codec(index = 38)] + Mortal38(::core::primitive::u8), + #[codec(index = 39)] + Mortal39(::core::primitive::u8), + #[codec(index = 40)] + Mortal40(::core::primitive::u8), + #[codec(index = 41)] + Mortal41(::core::primitive::u8), + #[codec(index = 42)] + Mortal42(::core::primitive::u8), + #[codec(index = 43)] + Mortal43(::core::primitive::u8), + #[codec(index = 44)] + Mortal44(::core::primitive::u8), + #[codec(index = 45)] + Mortal45(::core::primitive::u8), + #[codec(index = 46)] + Mortal46(::core::primitive::u8), + #[codec(index = 47)] + Mortal47(::core::primitive::u8), + #[codec(index = 48)] + Mortal48(::core::primitive::u8), + #[codec(index = 49)] + Mortal49(::core::primitive::u8), + #[codec(index = 50)] + Mortal50(::core::primitive::u8), + #[codec(index = 51)] + Mortal51(::core::primitive::u8), + #[codec(index = 52)] + Mortal52(::core::primitive::u8), + #[codec(index = 53)] + Mortal53(::core::primitive::u8), + #[codec(index = 54)] + Mortal54(::core::primitive::u8), + #[codec(index = 55)] + Mortal55(::core::primitive::u8), + #[codec(index = 56)] + Mortal56(::core::primitive::u8), + #[codec(index = 57)] + Mortal57(::core::primitive::u8), + #[codec(index = 58)] + Mortal58(::core::primitive::u8), + #[codec(index = 59)] + Mortal59(::core::primitive::u8), + #[codec(index = 60)] + Mortal60(::core::primitive::u8), + #[codec(index = 61)] + Mortal61(::core::primitive::u8), + #[codec(index = 62)] + Mortal62(::core::primitive::u8), + #[codec(index = 63)] + Mortal63(::core::primitive::u8), + #[codec(index = 64)] + Mortal64(::core::primitive::u8), + #[codec(index = 65)] + Mortal65(::core::primitive::u8), + #[codec(index = 66)] + Mortal66(::core::primitive::u8), + #[codec(index = 67)] + Mortal67(::core::primitive::u8), + #[codec(index = 68)] + Mortal68(::core::primitive::u8), + #[codec(index = 69)] + Mortal69(::core::primitive::u8), + #[codec(index = 70)] + Mortal70(::core::primitive::u8), + #[codec(index = 71)] + Mortal71(::core::primitive::u8), + #[codec(index = 72)] + Mortal72(::core::primitive::u8), + #[codec(index = 73)] + Mortal73(::core::primitive::u8), + #[codec(index = 74)] + Mortal74(::core::primitive::u8), + #[codec(index = 75)] + Mortal75(::core::primitive::u8), + #[codec(index = 76)] + Mortal76(::core::primitive::u8), + #[codec(index = 77)] + Mortal77(::core::primitive::u8), + #[codec(index = 78)] + Mortal78(::core::primitive::u8), + #[codec(index = 79)] + Mortal79(::core::primitive::u8), + #[codec(index = 80)] + Mortal80(::core::primitive::u8), + #[codec(index = 81)] + Mortal81(::core::primitive::u8), + #[codec(index = 82)] + Mortal82(::core::primitive::u8), + #[codec(index = 83)] + Mortal83(::core::primitive::u8), + #[codec(index = 84)] + Mortal84(::core::primitive::u8), + #[codec(index = 85)] + Mortal85(::core::primitive::u8), + #[codec(index = 86)] + Mortal86(::core::primitive::u8), + #[codec(index = 87)] + Mortal87(::core::primitive::u8), + #[codec(index = 88)] + Mortal88(::core::primitive::u8), + #[codec(index = 89)] + Mortal89(::core::primitive::u8), + #[codec(index = 90)] + Mortal90(::core::primitive::u8), + #[codec(index = 91)] + Mortal91(::core::primitive::u8), + #[codec(index = 92)] + Mortal92(::core::primitive::u8), + #[codec(index = 93)] + Mortal93(::core::primitive::u8), + #[codec(index = 94)] + Mortal94(::core::primitive::u8), + #[codec(index = 95)] + Mortal95(::core::primitive::u8), + #[codec(index = 96)] + Mortal96(::core::primitive::u8), + #[codec(index = 97)] + Mortal97(::core::primitive::u8), + #[codec(index = 98)] + Mortal98(::core::primitive::u8), + #[codec(index = 99)] + Mortal99(::core::primitive::u8), + #[codec(index = 100)] + Mortal100(::core::primitive::u8), + #[codec(index = 101)] + Mortal101(::core::primitive::u8), + #[codec(index = 102)] + Mortal102(::core::primitive::u8), + #[codec(index = 103)] + Mortal103(::core::primitive::u8), + #[codec(index = 104)] + Mortal104(::core::primitive::u8), + #[codec(index = 105)] + Mortal105(::core::primitive::u8), + #[codec(index = 106)] + Mortal106(::core::primitive::u8), + #[codec(index = 107)] + Mortal107(::core::primitive::u8), + #[codec(index = 108)] + Mortal108(::core::primitive::u8), + #[codec(index = 109)] + Mortal109(::core::primitive::u8), + #[codec(index = 110)] + Mortal110(::core::primitive::u8), + #[codec(index = 111)] + Mortal111(::core::primitive::u8), + #[codec(index = 112)] + Mortal112(::core::primitive::u8), + #[codec(index = 113)] + Mortal113(::core::primitive::u8), + #[codec(index = 114)] + Mortal114(::core::primitive::u8), + #[codec(index = 115)] + Mortal115(::core::primitive::u8), + #[codec(index = 116)] + Mortal116(::core::primitive::u8), + #[codec(index = 117)] + Mortal117(::core::primitive::u8), + #[codec(index = 118)] + Mortal118(::core::primitive::u8), + #[codec(index = 119)] + Mortal119(::core::primitive::u8), + #[codec(index = 120)] + Mortal120(::core::primitive::u8), + #[codec(index = 121)] + Mortal121(::core::primitive::u8), + #[codec(index = 122)] + Mortal122(::core::primitive::u8), + #[codec(index = 123)] + Mortal123(::core::primitive::u8), + #[codec(index = 124)] + Mortal124(::core::primitive::u8), + #[codec(index = 125)] + Mortal125(::core::primitive::u8), + #[codec(index = 126)] + Mortal126(::core::primitive::u8), + #[codec(index = 127)] + Mortal127(::core::primitive::u8), + #[codec(index = 128)] + Mortal128(::core::primitive::u8), + #[codec(index = 129)] + Mortal129(::core::primitive::u8), + #[codec(index = 130)] + Mortal130(::core::primitive::u8), + #[codec(index = 131)] + Mortal131(::core::primitive::u8), + #[codec(index = 132)] + Mortal132(::core::primitive::u8), + #[codec(index = 133)] + Mortal133(::core::primitive::u8), + #[codec(index = 134)] + Mortal134(::core::primitive::u8), + #[codec(index = 135)] + Mortal135(::core::primitive::u8), + #[codec(index = 136)] + Mortal136(::core::primitive::u8), + #[codec(index = 137)] + Mortal137(::core::primitive::u8), + #[codec(index = 138)] + Mortal138(::core::primitive::u8), + #[codec(index = 139)] + Mortal139(::core::primitive::u8), + #[codec(index = 140)] + Mortal140(::core::primitive::u8), + #[codec(index = 141)] + Mortal141(::core::primitive::u8), + #[codec(index = 142)] + Mortal142(::core::primitive::u8), + #[codec(index = 143)] + Mortal143(::core::primitive::u8), + #[codec(index = 144)] + Mortal144(::core::primitive::u8), + #[codec(index = 145)] + Mortal145(::core::primitive::u8), + #[codec(index = 146)] + Mortal146(::core::primitive::u8), + #[codec(index = 147)] + Mortal147(::core::primitive::u8), + #[codec(index = 148)] + Mortal148(::core::primitive::u8), + #[codec(index = 149)] + Mortal149(::core::primitive::u8), + #[codec(index = 150)] + Mortal150(::core::primitive::u8), + #[codec(index = 151)] + Mortal151(::core::primitive::u8), + #[codec(index = 152)] + Mortal152(::core::primitive::u8), + #[codec(index = 153)] + Mortal153(::core::primitive::u8), + #[codec(index = 154)] + Mortal154(::core::primitive::u8), + #[codec(index = 155)] + Mortal155(::core::primitive::u8), + #[codec(index = 156)] + Mortal156(::core::primitive::u8), + #[codec(index = 157)] + Mortal157(::core::primitive::u8), + #[codec(index = 158)] + Mortal158(::core::primitive::u8), + #[codec(index = 159)] + Mortal159(::core::primitive::u8), + #[codec(index = 160)] + Mortal160(::core::primitive::u8), + #[codec(index = 161)] + Mortal161(::core::primitive::u8), + #[codec(index = 162)] + Mortal162(::core::primitive::u8), + #[codec(index = 163)] + Mortal163(::core::primitive::u8), + #[codec(index = 164)] + Mortal164(::core::primitive::u8), + #[codec(index = 165)] + Mortal165(::core::primitive::u8), + #[codec(index = 166)] + Mortal166(::core::primitive::u8), + #[codec(index = 167)] + Mortal167(::core::primitive::u8), + #[codec(index = 168)] + Mortal168(::core::primitive::u8), + #[codec(index = 169)] + Mortal169(::core::primitive::u8), + #[codec(index = 170)] + Mortal170(::core::primitive::u8), + #[codec(index = 171)] + Mortal171(::core::primitive::u8), + #[codec(index = 172)] + Mortal172(::core::primitive::u8), + #[codec(index = 173)] + Mortal173(::core::primitive::u8), + #[codec(index = 174)] + Mortal174(::core::primitive::u8), + #[codec(index = 175)] + Mortal175(::core::primitive::u8), + #[codec(index = 176)] + Mortal176(::core::primitive::u8), + #[codec(index = 177)] + Mortal177(::core::primitive::u8), + #[codec(index = 178)] + Mortal178(::core::primitive::u8), + #[codec(index = 179)] + Mortal179(::core::primitive::u8), + #[codec(index = 180)] + Mortal180(::core::primitive::u8), + #[codec(index = 181)] + Mortal181(::core::primitive::u8), + #[codec(index = 182)] + Mortal182(::core::primitive::u8), + #[codec(index = 183)] + Mortal183(::core::primitive::u8), + #[codec(index = 184)] + Mortal184(::core::primitive::u8), + #[codec(index = 185)] + Mortal185(::core::primitive::u8), + #[codec(index = 186)] + Mortal186(::core::primitive::u8), + #[codec(index = 187)] + Mortal187(::core::primitive::u8), + #[codec(index = 188)] + Mortal188(::core::primitive::u8), + #[codec(index = 189)] + Mortal189(::core::primitive::u8), + #[codec(index = 190)] + Mortal190(::core::primitive::u8), + #[codec(index = 191)] + Mortal191(::core::primitive::u8), + #[codec(index = 192)] + Mortal192(::core::primitive::u8), + #[codec(index = 193)] + Mortal193(::core::primitive::u8), + #[codec(index = 194)] + Mortal194(::core::primitive::u8), + #[codec(index = 195)] + Mortal195(::core::primitive::u8), + #[codec(index = 196)] + Mortal196(::core::primitive::u8), + #[codec(index = 197)] + Mortal197(::core::primitive::u8), + #[codec(index = 198)] + Mortal198(::core::primitive::u8), + #[codec(index = 199)] + Mortal199(::core::primitive::u8), + #[codec(index = 200)] + Mortal200(::core::primitive::u8), + #[codec(index = 201)] + Mortal201(::core::primitive::u8), + #[codec(index = 202)] + Mortal202(::core::primitive::u8), + #[codec(index = 203)] + Mortal203(::core::primitive::u8), + #[codec(index = 204)] + Mortal204(::core::primitive::u8), + #[codec(index = 205)] + Mortal205(::core::primitive::u8), + #[codec(index = 206)] + Mortal206(::core::primitive::u8), + #[codec(index = 207)] + Mortal207(::core::primitive::u8), + #[codec(index = 208)] + Mortal208(::core::primitive::u8), + #[codec(index = 209)] + Mortal209(::core::primitive::u8), + #[codec(index = 210)] + Mortal210(::core::primitive::u8), + #[codec(index = 211)] + Mortal211(::core::primitive::u8), + #[codec(index = 212)] + Mortal212(::core::primitive::u8), + #[codec(index = 213)] + Mortal213(::core::primitive::u8), + #[codec(index = 214)] + Mortal214(::core::primitive::u8), + #[codec(index = 215)] + Mortal215(::core::primitive::u8), + #[codec(index = 216)] + Mortal216(::core::primitive::u8), + #[codec(index = 217)] + Mortal217(::core::primitive::u8), + #[codec(index = 218)] + Mortal218(::core::primitive::u8), + #[codec(index = 219)] + Mortal219(::core::primitive::u8), + #[codec(index = 220)] + Mortal220(::core::primitive::u8), + #[codec(index = 221)] + Mortal221(::core::primitive::u8), + #[codec(index = 222)] + Mortal222(::core::primitive::u8), + #[codec(index = 223)] + Mortal223(::core::primitive::u8), + #[codec(index = 224)] + Mortal224(::core::primitive::u8), + #[codec(index = 225)] + Mortal225(::core::primitive::u8), + #[codec(index = 226)] + Mortal226(::core::primitive::u8), + #[codec(index = 227)] + Mortal227(::core::primitive::u8), + #[codec(index = 228)] + Mortal228(::core::primitive::u8), + #[codec(index = 229)] + Mortal229(::core::primitive::u8), + #[codec(index = 230)] + Mortal230(::core::primitive::u8), + #[codec(index = 231)] + Mortal231(::core::primitive::u8), + #[codec(index = 232)] + Mortal232(::core::primitive::u8), + #[codec(index = 233)] + Mortal233(::core::primitive::u8), + #[codec(index = 234)] + Mortal234(::core::primitive::u8), + #[codec(index = 235)] + Mortal235(::core::primitive::u8), + #[codec(index = 236)] + Mortal236(::core::primitive::u8), + #[codec(index = 237)] + Mortal237(::core::primitive::u8), + #[codec(index = 238)] + Mortal238(::core::primitive::u8), + #[codec(index = 239)] + Mortal239(::core::primitive::u8), + #[codec(index = 240)] + Mortal240(::core::primitive::u8), + #[codec(index = 241)] + Mortal241(::core::primitive::u8), + #[codec(index = 242)] + Mortal242(::core::primitive::u8), + #[codec(index = 243)] + Mortal243(::core::primitive::u8), + #[codec(index = 244)] + Mortal244(::core::primitive::u8), + #[codec(index = 245)] + Mortal245(::core::primitive::u8), + #[codec(index = 246)] + Mortal246(::core::primitive::u8), + #[codec(index = 247)] + Mortal247(::core::primitive::u8), + #[codec(index = 248)] + Mortal248(::core::primitive::u8), + #[codec(index = 249)] + Mortal249(::core::primitive::u8), + #[codec(index = 250)] + Mortal250(::core::primitive::u8), + #[codec(index = 251)] + Mortal251(::core::primitive::u8), + #[codec(index = 252)] + Mortal252(::core::primitive::u8), + #[codec(index = 253)] + Mortal253(::core::primitive::u8), + #[codec(index = 254)] + Mortal254(::core::primitive::u8), + #[codec(index = 255)] + Mortal255(::core::primitive::u8), + } + } + pub mod header { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct Header<_0, _1> { + pub parent_hash: ::subxt::ext::sp_core::H256, + #[codec(compact)] + pub number: _0, + pub state_root: ::subxt::ext::sp_core::H256, + pub extrinsics_root: ::subxt::ext::sp_core::H256, + pub digest: runtime_types::sp_runtime::generic::digest::Digest, + #[codec(skip)] + pub __subxt_unused_type_params: ::core::marker::PhantomData<_1>, + } + } + pub mod unchecked_extrinsic { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct UncheckedExtrinsic<_0, _1, _2, _3>( + pub ::std::vec::Vec<::core::primitive::u8>, + #[codec(skip)] pub ::core::marker::PhantomData<(_1, _0, _2, _3)>, + ); + } + } + pub mod multiaddress { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub enum MultiAddress<_0, _1> { + #[codec(index = 0)] + Id(_0), + #[codec(index = 1)] + Index(#[codec(compact)] _1), + #[codec(index = 2)] + Raw(::std::vec::Vec<::core::primitive::u8>), + #[codec(index = 3)] + Address32([::core::primitive::u8; 32usize]), + #[codec(index = 4)] + Address20([::core::primitive::u8; 20usize]), + } + } + pub mod traits { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct BlakeTwo256; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub enum ArithmeticError { + #[codec(index = 0)] + Underflow, + #[codec(index = 1)] + Overflow, + #[codec(index = 2)] + DivisionByZero, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub enum DispatchError { + #[codec(index = 0)] + Other, + #[codec(index = 1)] + CannotLookup, + #[codec(index = 2)] + BadOrigin, + #[codec(index = 3)] + Module(runtime_types::sp_runtime::ModuleError), + #[codec(index = 4)] + ConsumerRemaining, + #[codec(index = 5)] + NoProviders, + #[codec(index = 6)] + TooManyConsumers, + #[codec(index = 7)] + Token(runtime_types::sp_runtime::TokenError), + #[codec(index = 8)] + Arithmetic(runtime_types::sp_runtime::ArithmeticError), + #[codec(index = 9)] + Transactional(runtime_types::sp_runtime::TransactionalError), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct ModuleError { + pub index: ::core::primitive::u8, + pub error: [::core::primitive::u8; 4usize], + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub enum MultiSignature { + #[codec(index = 0)] + Ed25519(runtime_types::sp_core::ed25519::Signature), + #[codec(index = 1)] + Sr25519(runtime_types::sp_core::sr25519::Signature), + #[codec(index = 2)] + Ecdsa(runtime_types::sp_core::ecdsa::Signature), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub enum TokenError { + #[codec(index = 0)] + NoFunds, + #[codec(index = 1)] + WouldDie, + #[codec(index = 2)] + BelowMinimum, + #[codec(index = 3)] + CannotCreate, + #[codec(index = 4)] + UnknownAsset, + #[codec(index = 5)] + Frozen, + #[codec(index = 6)] + Unsupported, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub enum TransactionalError { + #[codec(index = 0)] + LimitReached, + #[codec(index = 1)] + NoLayer, + } + } + pub mod sp_version { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct RuntimeVersion { + pub spec_name: ::std::string::String, + pub impl_name: ::std::string::String, + pub authoring_version: ::core::primitive::u32, + pub spec_version: ::core::primitive::u32, + pub impl_version: ::core::primitive::u32, + pub apis: + ::std::vec::Vec<([::core::primitive::u8; 8usize], ::core::primitive::u32)>, + pub transaction_version: ::core::primitive::u32, + pub state_version: ::core::primitive::u8, + } + } + } + #[doc = r" The default error type returned when there is a runtime issue,"] + #[doc = r" exposed here for ease of use."] + pub type DispatchError = runtime_types::sp_runtime::DispatchError; + pub fn constants() -> ConstantsApi { + ConstantsApi + } + pub fn storage() -> StorageApi { + StorageApi + } + pub fn tx() -> TransactionApi { + TransactionApi + } + pub struct ConstantsApi; + impl ConstantsApi { + pub fn system(&self) -> system::constants::ConstantsApi { + system::constants::ConstantsApi + } + pub fn scheduler(&self) -> scheduler::constants::ConstantsApi { + scheduler::constants::ConstantsApi + } + pub fn timestamp(&self) -> timestamp::constants::ConstantsApi { + timestamp::constants::ConstantsApi + } + pub fn balances(&self) -> balances::constants::ConstantsApi { + balances::constants::ConstantsApi + } + pub fn transaction_payment(&self) -> transaction_payment::constants::ConstantsApi { + transaction_payment::constants::ConstantsApi + } + pub fn authorship(&self) -> authorship::constants::ConstantsApi { + authorship::constants::ConstantsApi + } + pub fn staking(&self) -> staking::constants::ConstantsApi { + staking::constants::ConstantsApi + } + pub fn elections(&self) -> elections::constants::ConstantsApi { + elections::constants::ConstantsApi + } + pub fn treasury(&self) -> treasury::constants::ConstantsApi { + treasury::constants::ConstantsApi + } + pub fn vesting(&self) -> vesting::constants::ConstantsApi { + vesting::constants::ConstantsApi + } + pub fn utility(&self) -> utility::constants::ConstantsApi { + utility::constants::ConstantsApi + } + pub fn multisig(&self) -> multisig::constants::ConstantsApi { + multisig::constants::ConstantsApi + } + pub fn contracts(&self) -> contracts::constants::ConstantsApi { + contracts::constants::ConstantsApi + } + pub fn nomination_pools(&self) -> nomination_pools::constants::ConstantsApi { + nomination_pools::constants::ConstantsApi + } + pub fn identity(&self) -> identity::constants::ConstantsApi { + identity::constants::ConstantsApi + } + } + pub struct StorageApi; + impl StorageApi { + pub fn system(&self) -> system::storage::StorageApi { + system::storage::StorageApi + } + pub fn randomness_collective_flip( + &self, + ) -> randomness_collective_flip::storage::StorageApi { + randomness_collective_flip::storage::StorageApi + } + pub fn scheduler(&self) -> scheduler::storage::StorageApi { + scheduler::storage::StorageApi + } + pub fn aura(&self) -> aura::storage::StorageApi { + aura::storage::StorageApi + } + pub fn timestamp(&self) -> timestamp::storage::StorageApi { + timestamp::storage::StorageApi + } + pub fn balances(&self) -> balances::storage::StorageApi { + balances::storage::StorageApi + } + pub fn transaction_payment(&self) -> transaction_payment::storage::StorageApi { + transaction_payment::storage::StorageApi + } + pub fn authorship(&self) -> authorship::storage::StorageApi { + authorship::storage::StorageApi + } + pub fn staking(&self) -> staking::storage::StorageApi { + staking::storage::StorageApi + } + pub fn history(&self) -> history::storage::StorageApi { + history::storage::StorageApi + } + pub fn session(&self) -> session::storage::StorageApi { + session::storage::StorageApi + } + pub fn aleph(&self) -> aleph::storage::StorageApi { + aleph::storage::StorageApi + } + pub fn elections(&self) -> elections::storage::StorageApi { + elections::storage::StorageApi + } + pub fn treasury(&self) -> treasury::storage::StorageApi { + treasury::storage::StorageApi + } + pub fn vesting(&self) -> vesting::storage::StorageApi { + vesting::storage::StorageApi + } + pub fn multisig(&self) -> multisig::storage::StorageApi { + multisig::storage::StorageApi + } + pub fn sudo(&self) -> sudo::storage::StorageApi { + sudo::storage::StorageApi + } + pub fn contracts(&self) -> contracts::storage::StorageApi { + contracts::storage::StorageApi + } + pub fn nomination_pools(&self) -> nomination_pools::storage::StorageApi { + nomination_pools::storage::StorageApi + } + pub fn identity(&self) -> identity::storage::StorageApi { + identity::storage::StorageApi + } + } + pub struct TransactionApi; + impl TransactionApi { + pub fn system(&self) -> system::calls::TransactionApi { + system::calls::TransactionApi + } + pub fn scheduler(&self) -> scheduler::calls::TransactionApi { + scheduler::calls::TransactionApi + } + pub fn timestamp(&self) -> timestamp::calls::TransactionApi { + timestamp::calls::TransactionApi + } + pub fn balances(&self) -> balances::calls::TransactionApi { + balances::calls::TransactionApi + } + pub fn authorship(&self) -> authorship::calls::TransactionApi { + authorship::calls::TransactionApi + } + pub fn staking(&self) -> staking::calls::TransactionApi { + staking::calls::TransactionApi + } + pub fn session(&self) -> session::calls::TransactionApi { + session::calls::TransactionApi + } + pub fn aleph(&self) -> aleph::calls::TransactionApi { + aleph::calls::TransactionApi + } + pub fn elections(&self) -> elections::calls::TransactionApi { + elections::calls::TransactionApi + } + pub fn treasury(&self) -> treasury::calls::TransactionApi { + treasury::calls::TransactionApi + } + pub fn vesting(&self) -> vesting::calls::TransactionApi { + vesting::calls::TransactionApi + } + pub fn utility(&self) -> utility::calls::TransactionApi { + utility::calls::TransactionApi + } + pub fn multisig(&self) -> multisig::calls::TransactionApi { + multisig::calls::TransactionApi + } + pub fn sudo(&self) -> sudo::calls::TransactionApi { + sudo::calls::TransactionApi + } + pub fn contracts(&self) -> contracts::calls::TransactionApi { + contracts::calls::TransactionApi + } + pub fn nomination_pools(&self) -> nomination_pools::calls::TransactionApi { + nomination_pools::calls::TransactionApi + } + pub fn identity(&self) -> identity::calls::TransactionApi { + identity::calls::TransactionApi + } + } + #[doc = r" check whether the Client you are using is aligned with the statically generated codegen."] + pub fn validate_codegen>( + client: &C, + ) -> Result<(), ::subxt::error::MetadataError> { + let runtime_metadata_hash = client.metadata().metadata_hash(&PALLETS); + if runtime_metadata_hash + != [ + 7u8, 142u8, 66u8, 125u8, 15u8, 19u8, 17u8, 117u8, 30u8, 151u8, 44u8, 251u8, 51u8, + 42u8, 53u8, 85u8, 63u8, 235u8, 205u8, 5u8, 103u8, 125u8, 202u8, 7u8, 63u8, 61u8, + 252u8, 75u8, 48u8, 87u8, 252u8, 208u8, + ] + { + Err(::subxt::error::MetadataError::IncompatibleMetadata) + } else { + Ok(()) + } + } +} diff --git a/aleph-client/src/balances.rs b/aleph-client/src/balances.rs deleted file mode 100644 index ad589394e5..0000000000 --- a/aleph-client/src/balances.rs +++ /dev/null @@ -1,10 +0,0 @@ -use primitives::Balance; - -use crate::ReadStorage; - -/// Reads from the storage how much balance is currently on chain. -/// -/// Performs a single storage read. -pub fn total_issuance(connection: &C) -> Balance { - connection.read_storage_value("Balances", "TotalIssuance") -} diff --git a/aleph-client/src/connections.rs b/aleph-client/src/connections.rs new file mode 100644 index 0000000000..ed94c16b1a --- /dev/null +++ b/aleph-client/src/connections.rs @@ -0,0 +1,194 @@ +use std::{thread::sleep, time::Duration}; + +use anyhow::anyhow; +use codec::Decode; +use log::info; +use subxt::{ + ext::sp_core::Bytes, + metadata::DecodeWithMetadata, + rpc::RpcParams, + storage::{address::Yes, StaticStorageAddress, StorageAddress}, + tx::{BaseExtrinsicParamsBuilder, PlainTip, TxPayload}, + SubstrateConfig, +}; + +use crate::{api, BlockHash, Call, Client, KeyPair, TxStatus}; + +#[derive(Clone)] +pub struct Connection { + pub client: Client, +} + +pub struct SignedConnection { + pub connection: Connection, + pub signer: KeyPair, +} + +pub struct RootConnection { + pub connection: Connection, + pub root: KeyPair, +} + +#[async_trait::async_trait] +pub trait SudoCall { + async fn sudo_unchecked(&self, call: Call, status: TxStatus) -> anyhow::Result; + async fn sudo(&self, call: Call, status: TxStatus) -> anyhow::Result; +} + +#[async_trait::async_trait] +impl SudoCall for RootConnection { + async fn sudo_unchecked(&self, call: Call, status: TxStatus) -> anyhow::Result { + info!(target: "aleph-client", "sending call as sudo_unchecked {:?}", call); + let sudo = api::tx().sudo().sudo_unchecked_weight(call, 0); + + self.as_signed().send_tx(sudo, status).await + } + + async fn sudo(&self, call: Call, status: TxStatus) -> anyhow::Result { + info!(target: "aleph-client", "sending call as sudo {:?}", call); + let sudo = api::tx().sudo().sudo(call); + + self.as_signed().send_tx(sudo, status).await + } +} + +impl Connection { + const DEFAULT_RETRIES: u32 = 10; + const RETRY_WAIT_SECS: u64 = 1; + + pub async fn new(address: String) -> Self { + Self::new_with_retries(address, Self::DEFAULT_RETRIES).await + } + + pub async fn new_with_retries(address: String, mut retries: u32) -> Self { + loop { + let client = Client::from_url(&address).await; + match (retries, client) { + (_, Ok(client)) => return Self { client }, + (0, Err(e)) => panic!("{:?}", e), + _ => { + sleep(Duration::from_secs(Self::RETRY_WAIT_SECS)); + retries -= 1; + } + } + } + } + + pub async fn get_storage_entry( + &self, + addrs: &StaticStorageAddress, + at: Option, + ) -> T::Target { + self.get_storage_entry_maybe(addrs, at) + .await + .expect("There should be a value") + } + + pub async fn get_storage_entry_maybe( + &self, + addrs: &StaticStorageAddress, + at: Option, + ) -> Option { + info!(target: "aleph-client", "accessing storage at {}::{} at block {:?}", addrs.pallet_name(), addrs.entry_name(), at); + self.client + .storage() + .fetch(addrs, at) + .await + .expect("Should access storage") + } + + pub async fn rpc_call( + &self, + func_name: String, + params: RpcParams, + ) -> anyhow::Result { + info!(target: "aleph-client", "submitting rpc call `{}`, with params {:?}", func_name, params); + let bytes: Bytes = self.client.rpc().request(&func_name, params).await?; + + Ok(R::decode(&mut bytes.as_ref())?) + } +} + +impl SignedConnection { + pub async fn new(address: String, signer: KeyPair) -> Self { + Self::from_connection(Connection::new(address).await, signer) + } + + pub fn from_connection(connection: Connection, signer: KeyPair) -> Self { + Self { connection, signer } + } + + pub async fn send_tx( + &self, + tx: Call, + status: TxStatus, + ) -> anyhow::Result { + self.send_tx_with_params(tx, Default::default(), status) + .await + } + + pub async fn send_tx_with_params( + &self, + tx: Call, + params: BaseExtrinsicParamsBuilder, + status: TxStatus, + ) -> anyhow::Result { + if let Some(details) = tx.validation_details() { + info!(target:"aleph-client", "Sending extrinsic {}.{} with params: {:?}", details.pallet_name, details.call_name, params); + } + let progress = self + .connection + .client + .tx() + .sign_and_submit_then_watch(&tx, &self.signer, params) + .await?; + + // In case of Submitted hash does not mean anything + let hash = match status { + TxStatus::InBlock => progress.wait_for_in_block().await?.block_hash(), + TxStatus::Finalized => progress.wait_for_finalized_success().await?.block_hash(), + TxStatus::Submitted => return Ok(BlockHash::from_low_u64_be(0)), + }; + info!(target: "aleph-client", "tx included in block {:?}", hash); + + Ok(hash) + } +} + +impl RootConnection { + pub async fn new(address: String, root: KeyPair) -> anyhow::Result { + RootConnection::try_from_connection(Connection::new(address).await, root).await + } + + pub async fn try_from_connection( + connection: Connection, + signer: KeyPair, + ) -> anyhow::Result { + let root_address = api::storage().sudo().key(); + + let root = match connection.client.storage().fetch(&root_address, None).await { + Ok(Some(account)) => account, + _ => return Err(anyhow!("Could not read sudo key from chain")), + }; + + if root != *signer.account_id() { + return Err(anyhow!( + "Provided account is not a sudo on chain. sudo key - {}, provided: {}", + root, + signer.account_id() + )); + } + + Ok(Self { + connection, + root: signer, + }) + } + + pub fn as_signed(&self) -> SignedConnection { + SignedConnection { + connection: self.connection.clone(), + signer: KeyPair::new(self.root.signer().clone()), + } + } +} diff --git a/aleph-client/src/contract/event.rs b/aleph-client/src/contract/event.rs deleted file mode 100644 index 2377dc3bf8..0000000000 --- a/aleph-client/src/contract/event.rs +++ /dev/null @@ -1,235 +0,0 @@ -//! Utilities for listening for contract events. -//! -//! To use the module you will need to first create a subscription (a glorified `Receiver`), -//! then run the listen loop. You might want to run the loop in a separate thread. -//! -//! ```no_run -//! # use std::sync::Arc; -//! # use std::sync::mpsc::channel; -//! # use std::thread; -//! # use std::time::Duration; -//! # use aleph_client::{Connection, SignedConnection}; -//! # use aleph_client::contract::ContractInstance; -//! # use aleph_client::contract::event::{listen_contract_events, subscribe_events}; -//! # use anyhow::Result; -//! # use sp_core::crypto::AccountId32; -//! # fn example(conn: SignedConnection, address1: AccountId32, address2: AccountId32, path1: &str, path2: &str) -> Result<()> { -//! let subscription = subscribe_events(&conn)?; -//! -//! // The `Arc` makes it possible to pass a reference to the contract to another thread -//! let contract1 = Arc::new(ContractInstance::new(address1, path1)?); -//! let contract2 = Arc::new(ContractInstance::new(address2, path2)?); -//! let (cancel_tx, cancel_rx) = channel(); -//! -//! let contract1_copy = contract1.clone(); -//! let contract2_copy = contract2.clone(); -//! -//! thread::spawn(move || { -//! listen_contract_events( -//! subscription, -//! &[contract1_copy.as_ref(), &contract2_copy.as_ref()], -//! Some(cancel_rx), -//! |event_or_error| { println!("{:?}", event_or_error) } -//! ); -//! }); -//! -//! thread::sleep(Duration::from_secs(20)); -//! cancel_tx.send(()).unwrap(); -//! -//! contract1.contract_exec0(&conn, "some_method")?; -//! contract2.contract_exec0(&conn, "some_other_method")?; -//! -//! # Ok(()) -//! # } -//! ``` - -use std::{ - collections::HashMap, - sync::mpsc::{channel, Receiver}, -}; - -use ac_node_api::events::{EventsDecoder, Raw, RawEvent}; -use anyhow::{bail, Context, Result}; -use contract_transcode::{ContractMessageTranscoder, Transcoder, TranscoderBuilder, Value}; -use ink_metadata::InkProject; -use sp_core::crypto::{AccountId32, Ss58Codec}; -use substrate_api_client::Metadata; - -use crate::{contract::ContractInstance, AnyConnection}; - -/// Represents a single event emitted by a contract. -#[derive(Debug, Clone, Eq, PartialEq)] -pub struct ContractEvent { - /// The address of the contract that emitted the event. - pub contract: AccountId32, - /// The name of the event. - pub ident: Option, - /// Data contained in the event. - pub data: HashMap, -} - -/// An opaque wrapper around a `Receiver` that can be used to listen for contract events. -pub struct EventSubscription { - receiver: Receiver, - metadata: Metadata, -} - -/// Creates a subscription to all events that can be used to [listen_contract_events] -pub fn subscribe_events(conn: &C) -> Result { - let conn = conn.as_connection(); - let (sender, receiver) = channel(); - - conn.subscribe_events(sender)?; - - Ok(EventSubscription { - metadata: conn.metadata, - receiver, - }) -} - -/// Starts an event listening loop. -/// -/// Will execute the handler for every contract event and every error encountered while fetching -/// from `subscription`. Only events coming from the address of one of the `contracts` will be -/// decoded. -/// -/// The loop will terminate once `subscription` is closed or once any message is received on -/// `cancel` (if provided). -pub fn listen_contract_events)>( - subscription: EventSubscription, - contracts: &[&ContractInstance], - cancel: Option>, - handler: F, -) { - let events_decoder = EventsDecoder::new(subscription.metadata.clone()); - let events_transcoder = TranscoderBuilder::new(&subscription.metadata.runtime_metadata().types) - .with_default_custom_type_transcoders() - .done(); - let contracts = contracts - .iter() - .map(|contract| (contract.address().clone(), contract.ink_project())) - .collect::>(); - - for batch in subscription.receiver.iter() { - match decode_contract_event_batch( - &subscription.metadata, - &events_decoder, - &events_transcoder, - &contracts, - batch, - ) { - Ok(events) => { - for event in events { - handler(event); - } - } - Err(err) => handler(Err(err)), - } - - if cancel - .as_ref() - .map(|cancel| cancel.try_recv().is_ok()) - .unwrap_or(false) - { - break; - } - } -} - -use crate::contract::anyhow; - -/// Consumes a raw `batch` of chain events, and returns only those that are coming from `contracts`. -/// -/// This function, somewhat confusingly, returns a `Result>>` - this is to represent -/// the fact that an error might occur both while decoding the whole batch and for each event. This -/// is unwrapped in [listen_contract_events] and doesn't leak outside this module. -fn decode_contract_event_batch( - metadata: &Metadata, - events_decoder: &EventsDecoder, - events_transcoder: &Transcoder, - contracts: &HashMap, - batch: String, -) -> Result>> { - let mut results = vec![]; - - let batch = batch.replacen("0x", "", 1); - let bytes = hex::decode(batch)?; - let events = events_decoder - .decode_events(&mut bytes.as_slice()) - .map_err(|err| anyhow!("{:?}", err))?; - - for (_phase, raw_event) in events { - match raw_event { - Raw::Error(err) => results.push(Err(anyhow!("{:?}", err))), - Raw::Event(event) => { - if event.pallet == "Contracts" && event.variant == "ContractEmitted" { - results.push(decode_contract_event( - metadata, - contracts, - events_transcoder, - event, - )) - } - } - } - } - - Ok(results) -} - -fn decode_contract_event( - metadata: &Metadata, - contracts: &HashMap, - events_transcoder: &Transcoder, - event: RawEvent, -) -> Result { - let event_metadata = metadata - .event(event.pallet_index, event.variant_index) - .map_err(|err| anyhow!("{:?}", err))?; - - let parse_pointer = &mut event.data.0.as_slice(); - let mut raw_data = None; - let mut contract_address = None; - - for field in event_metadata.variant().fields() { - if field.name() == Some(&"data".to_string()) { - raw_data = Some(<&[u8]>::clone(parse_pointer)); - } else { - let field_value = events_transcoder.decode(field.ty().id(), parse_pointer); - - if field.name() == Some(&"contract".to_string()) { - contract_address = field_value.ok(); - } - } - } - - if let Some(Value::Literal(address)) = contract_address { - let address = AccountId32::from_string(&address)?; - let contract_metadata = contracts - .get(&address) - .context("Event from unknown contract")?; - - let mut raw_data = raw_data.context("Event data field not found")?; - let event_data = ContractMessageTranscoder::new(contract_metadata) - .decode_contract_event(&mut raw_data) - .context("Failed to decode contract event")?; - - build_event(address, event_data) - } else { - bail!("Contract event did not contain contract address"); - } -} - -fn build_event(address: AccountId32, event_data: Value) -> Result { - match event_data { - Value::Map(map) => Ok(ContractEvent { - contract: address, - ident: map.ident(), - data: map - .iter() - .map(|(key, value)| (key.to_string(), value.clone())) - .collect(), - }), - _ => bail!("Contract event data is not a map"), - } -} diff --git a/aleph-client/src/contract/mod.rs b/aleph-client/src/contract/mod.rs index 035008fd42..2157ed52d5 100644 --- a/aleph-client/src/contract/mod.rs +++ b/aleph-client/src/contract/mod.rs @@ -6,7 +6,7 @@ //! ```no_run //! # use anyhow::{Result, Context}; //! # use sp_core::crypto::AccountId32; -//! # use aleph_client::{Connection, SignedConnection}; +//! # use aleph_client::{AccountId, Connection, SignedConnection}; //! # use aleph_client::contract::ContractInstance; //! # use aleph_client::contract::util::to_u128; //! # @@ -16,7 +16,7 @@ //! } //! //! impl PSP22TokenInstance { -//! fn new(address: AccountId32, metadata_path: &Option) -> Result { +//! fn new(address: AccountId, metadata_path: &Option) -> Result { //! let metadata_path = metadata_path //! .as_ref() //! .context("PSP22Token metadata not set.")?; @@ -25,7 +25,7 @@ //! }) //! } //! -//! fn transfer(&self, conn: &SignedConnection, to: AccountId32, amount: u128) -> Result<()> { +//! fn transfer(&self, conn: &SignedConnection, to: AccountId, amount: u128) -> Result<()> { //! self.contract.contract_exec( //! conn, //! "PSP22::transfer", @@ -33,7 +33,7 @@ //! ) //! } //! -//! fn balance_of(&self, conn: &Connection, account: AccountId32) -> Result { +//! fn balance_of(&self, conn: &Connection, account: AccountId) -> Result { //! to_u128(self.contract.contract_read( //! conn, //! "PSP22::balance_of", @@ -43,7 +43,6 @@ //! } //! ``` -pub mod event; pub mod util; use std::{ @@ -52,18 +51,20 @@ use std::{ }; use anyhow::{anyhow, Context, Result}; +use codec::{Compact, Decode}; use contract_metadata::ContractMetadata; -use contract_transcode::{ContractMessageTranscoder, Value}; +use contract_transcode::ContractMessageTranscoder; use ink_metadata::{InkProject, MetadataVersioned}; -use serde_json::{from_reader, from_str, from_value, json}; -use sp_core::crypto::AccountId32; -use substrate_api_client::{compose_extrinsic, GenericAddress, XtStatus}; +use serde_json::{from_reader, from_value}; -use crate::{try_send_xt, AnyConnection, SignedConnection}; +use crate::{ + pallets::contract::{ContractCallArgs, ContractRpc, ContractsUserApi}, + AccountId, Connection, SignedConnection, TxStatus, +}; /// Represents a contract instantiated on the chain. pub struct ContractInstance { - address: AccountId32, + address: AccountId, ink_project: InkProject, } @@ -71,10 +72,10 @@ impl ContractInstance { const MAX_READ_GAS: u64 = 500000000000u64; const MAX_GAS: u64 = 10000000000u64; const PAYABLE_VALUE: u64 = 0u64; - const STORAGE_FEE_LIMIT: Option = None; + const STORAGE_FEE_LIMIT: Option> = None; /// Creates a new contract instance under `address` with metadata read from `metadata_path`. - pub fn new(address: AccountId32, metadata_path: &str) -> Result { + pub fn new(address: AccountId, metadata_path: &str) -> Result { Ok(Self { address, ink_project: load_metadata(metadata_path)?, @@ -82,7 +83,7 @@ impl ContractInstance { } /// The address of this contract instance. - pub fn address(&self) -> &AccountId32 { + pub fn address(&self) -> &AccountId { &self.address } @@ -92,84 +93,61 @@ impl ContractInstance { } /// Reads the value of a read-only, 0-argument call via RPC. - pub fn contract_read0(&self, conn: &C, message: &str) -> Result { - self.contract_read(conn, message, &[]) + pub async fn contract_read0(&self, conn: &Connection, message: &str) -> Result { + self.contract_read(conn, message, &[]).await } /// Reads the value of a read-only call via RPC. - pub fn contract_read( + pub async fn contract_read( &self, - conn: &C, + conn: &Connection, message: &str, args: &[&str], - ) -> Result { + ) -> Result { let payload = self.encode(message, args)?; - let request = self.contract_read_request(&payload); - let response = conn - .as_connection() - .get_request(request)? - .context("RPC request error - there may be more info in node logs.")?; - let response_data = from_str::(&response)?; - let hex_data = response_data["result"]["Ok"]["data"] - .as_str() - .context("Contract response data not found - the contract address might be invalid.")?; - self.decode_response(message, hex_data) + let args = ContractCallArgs { + origin: self.address.clone(), + dest: self.address.clone(), + value: 0, + gas_limit: Self::MAX_READ_GAS, + input_data: payload, + storage_deposit_limit: None, + }; + conn.call_and_get(args) + .await + .context("RPC request error - there may be more info in node logs.") } /// Executes a 0-argument contract call. - pub fn contract_exec0(&self, conn: &SignedConnection, message: &str) -> Result<()> { - self.contract_exec(conn, message, &[]) + pub async fn contract_exec0(&self, conn: &SignedConnection, message: &str) -> Result<()> { + self.contract_exec(conn, message, &[]).await } /// Executes a contract call. - pub fn contract_exec( + pub async fn contract_exec( &self, conn: &SignedConnection, message: &str, args: &[&str], ) -> Result<()> { let data = self.encode(message, args)?; - let xt = compose_extrinsic!( - conn.as_connection(), - "Contracts", - "call", - GenericAddress::Id(self.address.clone()), - Compact(Self::PAYABLE_VALUE), - Compact(Self::MAX_GAS), + conn.call( + self.address.clone(), + Self::PAYABLE_VALUE as u128, + Self::MAX_GAS, Self::STORAGE_FEE_LIMIT, - data - ); + data, + TxStatus::InBlock, + ) + .await + .context("Failed to exec contract message")?; - try_send_xt(conn, xt, Some("Contracts call"), XtStatus::InBlock) - .context("Failed to exec contract message")?; Ok(()) } - fn contract_read_request(&self, payload: &[u8]) -> serde_json::Value { - let payload = hex::encode(payload); - json!({ - "jsonrpc": "2.0", - "method": "contracts_call", - "params": [{ - "origin": self.address, - "dest": self.address, - "value": 0, - "gasLimit": Self::MAX_READ_GAS, - "inputData": payload - }], - "id": 1 - }) - } - fn encode(&self, message: &str, args: &[&str]) -> Result> { ContractMessageTranscoder::new(&self.ink_project).encode(message, args) } - - fn decode_response(&self, from: &str, contract_response: &str) -> Result { - let contract_response = contract_response.trim_start_matches("0x"); - let bytes = hex::decode(contract_response)?; - ContractMessageTranscoder::new(&self.ink_project).decode_return(from, &mut bytes.as_slice()) - } } impl Debug for ContractInstance { diff --git a/aleph-client/src/contract/util.rs b/aleph-client/src/contract/util.rs index d925e7e386..d2732fb533 100644 --- a/aleph-client/src/contract/util.rs +++ b/aleph-client/src/contract/util.rs @@ -2,7 +2,7 @@ use anyhow::{anyhow, Result}; use contract_transcode::Value; -use sp_core::crypto::Ss58Codec; +use subxt::ext::sp_core::crypto::Ss58Codec; use crate::AccountId; diff --git a/aleph-client/src/debug/aleph.rs b/aleph-client/src/debug/aleph.rs deleted file mode 100644 index 543a731ae2..0000000000 --- a/aleph-client/src/debug/aleph.rs +++ /dev/null @@ -1,20 +0,0 @@ -use primitives::AuthorityId; - -use crate::{ - debug::{element_prompt, entry_prompt, pallet_prompt}, - ReadStorage, -}; - -pub fn print_storage(connection: &C) { - let authorities: Vec = connection.read_storage_value("Aleph", "Authorities"); - - println!("{}", pallet_prompt("Aleph")); - println!("{}", entry_prompt("Authorities")); - - for auth in authorities { - println!( - "{}", - element_prompt(format!("\tAuthority {:?}", auth.to_string())) - ); - } -} diff --git a/aleph-client/src/debug/elections.rs b/aleph-client/src/debug/elections.rs deleted file mode 100644 index 1889a82304..0000000000 --- a/aleph-client/src/debug/elections.rs +++ /dev/null @@ -1,20 +0,0 @@ -use primitives::AuthorityId; - -use crate::{ - debug::{element_prompt, entry_prompt, pallet_prompt}, - ReadStorage, -}; - -pub fn print_storage(connection: &C) { - let members: Vec = connection.read_storage_value("Elections", "Members"); - - println!("{}", pallet_prompt("Elections")); - println!("{}", entry_prompt("Members")); - - for member in members { - println!( - "{}", - element_prompt(format!("\tMember {:?}", member.to_string())) - ); - } -} diff --git a/aleph-client/src/debug/mod.rs b/aleph-client/src/debug/mod.rs deleted file mode 100644 index 59cfa42017..0000000000 --- a/aleph-client/src/debug/mod.rs +++ /dev/null @@ -1,23 +0,0 @@ -use crate::ReadStorage; - -mod aleph; -mod elections; -mod treasury; - -fn pallet_prompt(name: &'static str) -> String { - format!("-----------{}-----------", name) -} - -fn entry_prompt(name: &'static str) -> String { - format!("----{}", name) -} - -fn element_prompt(el: String) -> String { - format!("\t{}", el) -} - -pub fn print_storages(connection: &C) { - treasury::print_storage(connection); - aleph::print_storage(connection); - elections::print_storage(connection); -} diff --git a/aleph-client/src/debug/treasury.rs b/aleph-client/src/debug/treasury.rs deleted file mode 100644 index 8286a80122..0000000000 --- a/aleph-client/src/debug/treasury.rs +++ /dev/null @@ -1,42 +0,0 @@ -use log::trace; -use pallet_treasury::{Proposal, ProposalIndex}; -use sp_core::crypto::AccountId32; -use substrate_api_client::Balance; - -use crate::{ - debug::{element_prompt, entry_prompt, pallet_prompt}, - ReadStorage, -}; - -const PALLET: &str = "Treasury"; - -pub fn print_storage(connection: &C) { - let proposal_count: u32 = connection.read_storage_value_or_default(PALLET, "ProposalCount"); - let approvals: Vec = - connection.read_storage_value_or_default(PALLET, "Approvals"); - - println!("{}", pallet_prompt(PALLET)); - println!("{}: {}", entry_prompt("ProposalCount"), proposal_count); - println!(); - println!("{}", entry_prompt("Approvals")); - for x in approvals { - println!( - "{}", - element_prompt(format!("Proposal id {} was approved ", x)) - ); - } - println!(); - println!("{}", entry_prompt("Proposals")); - for x in 0..=proposal_count { - let p: Option> = connection - .read_storage_map(PALLET, "Proposals", x, None) - .unwrap(); - - if let Some(p) = p { - println!("{}", element_prompt(format!("\tProposalId {}: {:?}", x, p))); - } else { - trace!("No proposal with id {:?} in the storage", x) - } - } - println!(); -} diff --git a/aleph-client/src/elections.rs b/aleph-client/src/elections.rs deleted file mode 100644 index 1a98a9cca9..0000000000 --- a/aleph-client/src/elections.rs +++ /dev/null @@ -1,156 +0,0 @@ -use log::info; -use primitives::{ - BanConfig, BanInfo, CommitteeSeats, EraIndex, EraValidators, SessionCount, SessionIndex, -}; -use sp_core::H256; -use substrate_api_client::{compose_call, compose_extrinsic}; - -use crate::{ - get_session_first_block, send_xt, AccountId, AnyConnection, ReadStorage, RootConnection, - XtStatus, -}; - -const PALLET: &str = "Elections"; - -pub fn get_committee_seats( - connection: &C, - block_hash: Option, -) -> CommitteeSeats { - connection.read_storage_value_at_block(PALLET, "CommitteeSize", block_hash) -} - -pub fn get_next_era_committee_seats(connection: &C) -> CommitteeSeats { - connection.read_storage_value(PALLET, "NextEraCommitteeSize") -} - -pub fn get_validator_block_count( - connection: &C, - account_id: &AccountId, - block_hash: Option, -) -> Option { - connection.read_storage_map(PALLET, "SessionValidatorBlockCount", account_id, block_hash) -} - -pub fn get_current_era_validators(connection: &C) -> EraValidators { - connection.read_storage_value(PALLET, "CurrentEraValidators") -} - -pub fn get_current_era_reserved_validators(connection: &C) -> Vec { - get_current_era_validators(connection).reserved -} - -pub fn get_current_era_non_reserved_validators(connection: &C) -> Vec { - get_current_era_validators(connection).non_reserved -} - -pub fn get_next_era_reserved_validators(connection: &C) -> Vec { - connection.read_storage_value(PALLET, "NextEraReservedValidators") -} - -pub fn get_next_era_non_reserved_validators(connection: &C) -> Vec { - connection.read_storage_value(PALLET, "NextEraNonReservedValidators") -} - -pub fn get_next_era_validators(connection: &C) -> EraValidators { - let reserved: Vec = - connection.read_storage_value(PALLET, "NextEraReservedValidators"); - let non_reserved: Vec = - connection.read_storage_value(PALLET, "NextEraNonReservedValidators"); - EraValidators { - reserved, - non_reserved, - } -} - -pub fn get_era_validators( - connection: &C, - session: SessionIndex, -) -> EraValidators { - let block_hash = get_session_first_block(connection, session); - connection.read_storage_value_at_block(PALLET, "CurrentEraValidators", Some(block_hash)) -} - -pub fn get_ban_config(connection: &C) -> BanConfig { - connection.read_storage_value(PALLET, "BanConfig") -} - -pub fn get_underperformed_validator_session_count( - connection: &C, - account_id: &AccountId, - block_hash: Option, -) -> SessionCount { - connection - .read_storage_map( - PALLET, - "UnderperformedValidatorSessionCount", - account_id, - block_hash, - ) - .unwrap_or(0) -} - -pub fn get_ban_info_for_validator( - connection: &C, - account_id: &AccountId, -) -> Option { - connection.read_storage_map(PALLET, "Banned", account_id, None) -} - -pub fn ban_from_committee( - connection: &RootConnection, - to_be_banned: &AccountId, - reason: &Vec, - status: XtStatus, -) { - let call_name = "ban_from_committee"; - - let ban_from_committee_call = compose_call!( - connection.as_connection().metadata, - PALLET, - call_name, - to_be_banned, - reason - ); - - let xt = compose_extrinsic!( - connection.as_connection(), - "Sudo", - "sudo_unchecked_weight", - ban_from_committee_call, - 0_u64 - ); - - send_xt(connection, xt, Some(call_name), status); -} - -pub fn change_ban_config( - sudo_connection: &RootConnection, - minimal_expected_performance: Option, - underperformed_session_count_threshold: Option, - clean_session_counter_delay: Option, - ban_period: Option, - status: XtStatus, -) { - info!(target: "aleph-client", "Changing ban config"); - let call_name = "set_ban_config"; - - let call = compose_call!( - sudo_connection.as_connection().metadata, - PALLET, - call_name, - minimal_expected_performance, - underperformed_session_count_threshold, - clean_session_counter_delay, - ban_period - ); - - let xt = compose_extrinsic!( - sudo_connection.as_connection(), - "Sudo", - "sudo_unchecked_weight", - call, - 0_u64 - ); - - send_xt(sudo_connection, xt, Some(call_name), status); -} diff --git a/aleph-client/src/fee.rs b/aleph-client/src/fee.rs deleted file mode 100644 index 0a4e536bdc..0000000000 --- a/aleph-client/src/fee.rs +++ /dev/null @@ -1,33 +0,0 @@ -use substrate_api_client::Balance; - -use crate::{AnyConnection, BalanceTransfer, FeeInfo, GetTxInfo, ReadStorage, SignedConnection}; - -impl GetTxInfo<::TransferTx> for SignedConnection { - fn get_tx_info(&self, tx: &::TransferTx) -> FeeInfo { - let tx = self.create_transfer_extrinsic(tx.clone()); - let tx_hex = tx.hex_encode(); - let unadjusted_weight = self - .as_connection() - .get_payment_info(&tx_hex, None) - .expect("Should access payment info") - .expect("Payment info should be present") - .weight as Balance; - - let fee = self - .as_connection() - .get_fee_details(&tx_hex, None) - .expect("Should access fee details") - .expect("Should read fee details"); - let inclusion_fee = fee.inclusion_fee.expect("Transaction should be payable"); - - FeeInfo { - fee_without_weight: inclusion_fee.base_fee + inclusion_fee.len_fee + fee.tip, - unadjusted_weight, - adjusted_weight: inclusion_fee.adjusted_weight_fee, - } - } -} - -pub fn get_next_fee_multiplier(connection: &C) -> u128 { - connection.read_storage_value("TransactionPayment", "NextFeeMultiplier") -} diff --git a/aleph-client/src/finalization.rs b/aleph-client/src/finalization.rs deleted file mode 100644 index 78925e7d0b..0000000000 --- a/aleph-client/src/finalization.rs +++ /dev/null @@ -1,25 +0,0 @@ -use substrate_api_client::{compose_call, compose_extrinsic, AccountId, XtStatus}; - -use crate::{send_xt, AnyConnection, RootConnection}; - -/// Sets the emergency finalizer to the provided `AccountId`. -pub fn set_emergency_finalizer( - connection: &RootConnection, - finalizer: AccountId, - status: XtStatus, -) { - let set_emergency_finalizer_call = compose_call!( - connection.as_connection().metadata, - "Aleph", - "set_emergency_finalizer", - finalizer - ); - let xt = compose_extrinsic!( - connection.as_connection(), - "Sudo", - "sudo_unchecked_weight", - set_emergency_finalizer_call, - 0_u64 - ); - send_xt(connection, xt, Some("set_emergency_finalizer"), status); -} diff --git a/aleph-client/src/lib.rs b/aleph-client/src/lib.rs index 145367e0e5..779dac03ac 100644 --- a/aleph-client/src/lib.rs +++ b/aleph-client/src/lib.rs @@ -1,473 +1,54 @@ -use std::{default::Default, error::Error as StdError, fmt::Debug, thread::sleep, time::Duration}; +extern crate core; -use ac_primitives::{PlainTip, PlainTipExtrinsicParamsBuilder, SubstrateDefaultSignedExtra}; -pub use account::{get_free_balance, locks}; -pub use balances::total_issuance; -use codec::{Decode, Encode}; -pub use debug::print_storages; -pub use elections::{ - ban_from_committee, change_ban_config, get_ban_config, get_ban_info_for_validator, - get_committee_seats, get_current_era_non_reserved_validators, - get_current_era_reserved_validators, get_current_era_validators, get_era_validators, - get_next_era_committee_seats, get_next_era_non_reserved_validators, - get_next_era_reserved_validators, get_next_era_validators, - get_underperformed_validator_session_count, get_validator_block_count, +pub use subxt::ext::sp_core::Pair; +use subxt::{ + ext::sp_core::{ed25519, sr25519, H256}, + tx::PairSigner, + OnlineClient, PolkadotConfig, }; -pub use fee::get_next_fee_multiplier; -pub use finalization::set_emergency_finalizer as finalization_set_emergency_finalizer; -use log::{info, warn}; -pub use multisig::{ - compute_call_hash, perform_multisig_with_threshold_1, MultisigError, MultisigParty, - SignatureAggregation, -}; -pub use primitives::{Balance, BlockHash, BlockNumber, Header}; -pub use rpc::{emergency_finalize, rotate_keys, rotate_keys_raw_result, state_query_storage_at}; -pub use session::{ - change_next_era_reserved_validators, change_validators, get_current_session, - get_current_validator_count, get_current_validators, get_next_session_keys, get_session, - get_session_first_block, get_session_period, get_validators_for_session, set_keys, - wait_for as wait_for_session, wait_for_at_least as wait_for_at_least_session, - Keys as SessionKeys, -}; -use sp_core::{ed25519, sr25519, storage::StorageKey, Pair, H256}; -pub use staking::{ - batch_bond as staking_batch_bond, batch_nominate as staking_batch_nominate, - bond as staking_bond, bond_extra_stake, bonded as staking_bonded, - chill_validator as staking_chill_validator, chill_validators as staking_chill_validators, - force_new_era as staking_force_new_era, get_active_era, get_current_era, get_era, - get_era_reward_points, get_eras_stakers_storage_key, get_exposure, get_minimum_validator_count, - get_payout_for_era, get_sessions_per_era, get_stakers_as_storage_keys, - get_stakers_as_storage_keys_from_storage_key, ledger as staking_ledger, - multi_bond as staking_multi_bond, nominate as staking_nominate, payout_stakers, - payout_stakers_and_assert_locked_balance, set_staking_limits as staking_set_staking_limits, - validate as staking_validate, wait_for_at_least_era, wait_for_era_completion, - wait_for_full_era_completion, wait_for_next_era, RewardPoint, StakingLedger, -}; -pub use substrate_api_client::{self, AccountId, XtStatus}; -use substrate_api_client::{ - rpc::ws_client::WsRpcClient, std::error::Error, Api, ApiResult, PlainTipExtrinsicParams, - RpcClient, UncheckedExtrinsicV4, -}; -pub use system::set_code; -pub use transfer::{ - batch_transfer as balances_batch_transfer, transfer as balances_transfer, TransferTransaction, -}; -pub use treasury::{ - approve as approve_treasury_proposal, proposals_counter as treasury_proposals_counter, - propose as make_treasury_proposal, reject as reject_treasury_proposal, staking_treasury_payout, - treasury_account, -}; -pub use version_upgrade::{schedule_upgrade, schedule_upgrade_with_state, Version}; -pub use vesting::{ - get_schedules, merge_schedules, vest, vest_other, vested_transfer, VestingError, - VestingSchedule, -}; -pub use waiting::{wait_for_event, wait_for_finalized_block}; -mod account; -mod balances; +use crate::api::runtime_types::aleph_runtime::Call; +// generated by running `subxt codegen --derive Clone Debug Eq PartialEq | rustfmt --edition=2021 > src/aleph_zero.rs` +#[allow(clippy::all)] +mod aleph_zero; +mod connections; pub mod contract; -mod debug; -mod elections; -mod fee; -mod finalization; -mod multisig; -mod rpc; -mod session; -mod staking; -mod system; -mod transfer; -mod treasury; -mod version_upgrade; -mod vesting; -mod waiting; - -pub trait FromStr: Sized { - type Err; - - fn from_str(s: &str) -> Result; -} - -impl FromStr for WsRpcClient { - type Err = (); +pub mod pallets; +mod runtime_types; +pub mod utility; +pub mod waiting; - fn from_str(url: &str) -> Result { - Ok(WsRpcClient::new(url)) - } -} +pub use aleph_zero::api; +pub use runtime_types::*; -pub type KeyPair = sr25519::Pair; +pub type AlephConfig = PolkadotConfig; pub type AlephKeyPair = ed25519::Pair; -pub type ExtrinsicParams = PlainTipExtrinsicParams; -pub type Connection = Api; -pub type Extrinsic = UncheckedExtrinsicV4>; - -/// Common abstraction for different types of connections. -pub trait AnyConnection: Clone + Send { - /// 'Castability' to `Connection`. - /// - /// Direct casting is often more handy than generic `.into()`. Justification: `Connection` - /// objects are often passed to some macro like `compose_extrinsic!` and thus there is not - /// enough information for type inferring required for `Into`. - fn as_connection(&self) -> Connection; -} - -pub trait ReadStorage: AnyConnection { - /// Reads value from storage. Panics if it couldn't be read. - fn read_storage_value(&self, pallet: &'static str, key: &'static str) -> T { - self.read_storage_value_or_else(pallet, key, || { - panic!("Value is `None` or couldn't have been decoded") - }) - } - - /// Reads value from storage at given block (empty means `best known`). Panics if it couldn't be read. - fn read_storage_value_at_block( - &self, - pallet: &'static str, - key: &'static str, - block_hash: Option, - ) -> T { - self.read_storage_value_at_block_or_else(pallet, key, block_hash, || { - panic!( - "Retrieved storage value ({}/{}) was equal `null`", - pallet, key - ) - }) - } - - /// Reads value from storage. In case value is `None` or couldn't have been decoded, result of - /// `fallback` is returned. - fn read_storage_value_or_else T, T: Decode>( - &self, - pallet: &'static str, - key: &'static str, - fallback: F, - ) -> T { - self.read_storage_value_at_block_or_else(pallet, key, None, fallback) - } - - /// Reads value from storage from a given block. In case value is `None` or couldn't have been decoded, result of - /// `fallback` is returned. - fn read_storage_value_at_block_or_else T, T: Decode>( - &self, - pallet: &'static str, - key: &'static str, - block_hash: Option, - fallback: F, - ) -> T { - self.as_connection() - .get_storage_value(pallet, key, block_hash) - .unwrap_or_else(|e| { - panic!( - "Unable to retrieve a storage value {}/{} at block {:#?}: {}", - pallet, key, block_hash, e - ) - }) - .unwrap_or_else(fallback) - } - - /// Reads value from storage. In case value is `None` or couldn't have been decoded, the default - /// value is returned. - fn read_storage_value_or_default( - &self, - pallet: &'static str, - key: &'static str, - ) -> T { - self.read_storage_value_or_else(pallet, key, Default::default) - } - - /// Reads pallet's constant from metadata. Panics if it couldn't be read. - fn read_constant(&self, pallet: &'static str, constant: &'static str) -> T { - self.read_constant_or_else(pallet, constant, || { - panic!( - "Constant `{}::{}` should be present and decodable", - pallet, constant - ) - }) - } - - /// Reads pallet's constant from metadata. In case value is `None` or couldn't have been - /// decoded, result of `fallback` is returned. - fn read_constant_or_else T, T: Decode>( - &self, - pallet: &'static str, - constant: &'static str, - fallback: F, - ) -> T { - self.as_connection() - .get_constant(pallet, constant) - .unwrap_or_else(|_| fallback()) - } - - /// Reads pallet's constant from metadata. In case value is `None` or couldn't have been - /// decoded, the default value is returned. - fn read_constant_or_default( - &self, - pallet: &'static str, - constant: &'static str, - ) -> T { - self.read_constant_or_else(pallet, constant, Default::default) - } - - fn read_storage_map( - &self, - pallet: &'static str, - map_name: &'static str, - map_key: K, - block_hash: Option, - ) -> Option { - self.as_connection() - .get_storage_map(pallet, map_name, map_key.clone(), block_hash) - .unwrap_or_else(|e| panic!("Unable to retrieve a storage map for pallet={} map_name={} map_key={:#?} block_hash={:#?}: {}", pallet, map_name, &map_key, block_hash, e)) - } -} - -impl ReadStorage for C {} - -pub trait BalanceTransfer { - type TransferTx; - type Error: StdError; - - fn create_transfer_tx(&self, account: AccountId, amount: Balance) -> Self::TransferTx; - fn transfer(&self, tx: Self::TransferTx, status: XtStatus) - -> Result, Self::Error>; -} - -pub trait BatchTransactions { - type Error: StdError; - - fn batch_and_send_transactions<'a>( - &self, - transactions: impl IntoIterator, - status: XtStatus, - ) -> Result, Self::Error> - where - Tx: 'a; -} - -#[derive(Copy, Clone, Eq, PartialEq, Hash, Debug, Default)] -pub struct FeeInfo { - pub fee_without_weight: Balance, - pub unadjusted_weight: Balance, - pub adjusted_weight: Balance, -} - -pub trait GetTxInfo { - fn get_tx_info(&self, tx: &Tx) -> FeeInfo; -} - -pub trait CallSystem { - type Error: StdError; - - fn fill_block(&self, target_ratio: u32, status: XtStatus) -> Result<(), Self::Error>; -} - -pub trait ManageParams { - fn set_tip(self, tip: Balance) -> Self; -} - -impl ManageParams for SignedConnection { - fn set_tip(self, tip: Balance) -> Self { - let xt_params = PlainTipExtrinsicParamsBuilder::new().tip(tip); - let SignedConnection { mut inner, signer } = self; - inner = inner.set_extrinsic_params_builder(xt_params); - Self { inner, signer } - } -} - -impl AnyConnection for Connection { - fn as_connection(&self) -> Connection { - self.clone() - } -} - -/// A connection that is signed. -#[derive(Clone)] -pub struct SignedConnection { - inner: Connection, - signer: KeyPair, -} - -impl SignedConnection { - pub fn new(address: &str, signer: KeyPair) -> Self { - let unsigned = create_connection(address); - Self { - inner: unsigned.set_signer(signer.clone()), - signer, - } - } - - /// Semantically equivalent to `connection.set_signer(signer)`. - pub fn from_any_connection(connection: &C, signer: KeyPair) -> Self { - Self { - inner: connection - .clone() - .as_connection() - .set_signer(signer.clone()), - signer, - } - } - - /// A signer corresponding to `self.inner`. - pub fn signer(&self) -> KeyPair { - self.signer.clone() - } -} - -impl AnyConnection for SignedConnection { - fn as_connection(&self) -> Connection { - self.inner.clone() - } -} - -/// We can always try casting `AnyConnection` to `SignedConnection`, which fails if it is not -/// signed. -impl TryFrom for SignedConnection { - type Error = &'static str; - - fn try_from(connection: Connection) -> Result { - if let Some(signer) = connection.signer.clone() { - Ok(Self::from_any_connection(&connection, signer)) - } else { - Err("Connection should be signed.") - } - } -} - -/// A connection that is signed by the root account. -/// -/// Since verifying signature is expensive (requires interaction with the node for checking -/// storage), there is no guarantee that in fact the signer has sudo access. Hence, effectively it -/// is just a type wrapper requiring explicit casting. -#[derive(Clone)] -pub struct RootConnection { - inner: SignedConnection, -} - -impl RootConnection { - pub fn new(address: &str, root: KeyPair) -> Self { - Self { - inner: SignedConnection::new(address, root), - } - } - - /// A direct casting is often more handy than a generic `.into()`. - pub fn as_signed(&self) -> SignedConnection { - self.inner.clone() - } -} +pub type RawKeyPair = sr25519::Pair; +pub type KeyPair = PairSigner; +pub type AccountId = subxt::ext::sp_core::crypto::AccountId32; +pub type Client = OnlineClient; +pub type BlockHash = H256; -impl From for RootConnection { - fn from(signed: SignedConnection) -> Self { - Self { inner: signed } - } -} - -impl AnyConnection for RootConnection { - fn as_connection(&self) -> Connection { - self.as_signed().as_connection() - } -} - -pub fn create_connection(address: &str) -> Connection { - create_custom_connection(address).expect("Connection should be created") -} +pub use connections::{Connection, RootConnection, SignedConnection, SudoCall}; -#[derive(Copy, Clone, Eq, PartialEq, Hash, Debug)] -enum Protocol { - Ws, - Wss, +#[derive(Copy, Clone)] +pub enum TxStatus { + InBlock, + Finalized, + Submitted, } -impl Default for Protocol { - fn default() -> Self { - Protocol::Ws - } -} - -impl ToString for Protocol { - fn to_string(&self) -> String { - match self { - Protocol::Ws => String::from("ws://"), - Protocol::Wss => String::from("wss://"), - } - } -} - -/// Unless `address` already contains protocol, we prepend to it `ws://`. -fn ensure_protocol(address: &str) -> String { - if address.starts_with(&Protocol::Ws.to_string()) - || address.starts_with(&Protocol::Wss.to_string()) - { - return address.to_string(); - } - format!("{}{}", Protocol::default().to_string(), address) -} - -pub fn create_custom_connection( - address: &str, -) -> Result, ::Err> { - loop { - let client = Client::from_str(&ensure_protocol(address))?; - match Api::::new(client) { - Ok(api) => return Ok(api), - Err(why) => { - warn!( - "[+] Can't create_connection because {:?}, will try again in 1s", - why - ); - sleep(Duration::from_millis(1000)); - } - } - } -} - -/// `panic`able utility wrapper for `try_send_xt`. -pub fn send_xt( - connection: &C, - xt: Extrinsic, - xt_name: Option<&'static str>, - xt_status: XtStatus, -) -> Option { - try_send_xt(connection, xt, xt_name, xt_status).expect("Should manage to send extrinsic") -} - -/// Sends transaction `xt` using `connection`. -/// -/// If `tx_status` is either `Finalized` or `InBlock`, additionally returns hash of the containing -/// block. `xt_name` is used only for logging purposes. -/// -/// Recoverable. -pub fn try_send_xt( - connection: &C, - xt: Extrinsic, - xt_name: Option<&'static str>, - xt_status: XtStatus, -) -> ApiResult> { - let hash = connection - .as_connection() - .send_extrinsic(xt.hex_encode(), xt_status)? - .ok_or_else(|| Error::Other(String::from("Could not get tx/block hash").into()))?; - - match xt_status { - XtStatus::Finalized | XtStatus::InBlock => { - info!(target: "aleph-client", - "Transaction `{}` was included in block with hash {}.", - xt_name.unwrap_or_default(), hash); - Ok(Some(hash)) - } - // Other variants either do not return (see https://github.com/scs/substrate-api-client/issues/175) - // or return xt hash, which is kinda useless here. - _ => Ok(None), - } +pub fn keypair_from_string(seed: &str) -> KeyPair { + let pair = sr25519::Pair::from_string(seed, None).expect("Can't create pair from seed value"); + KeyPair::new(pair) } -pub fn keypair_from_string(seed: &str) -> KeyPair { - KeyPair::from_string(seed, None).expect("Can't create pair from seed value") +pub fn raw_keypair_from_string(seed: &str) -> RawKeyPair { + sr25519::Pair::from_string(seed, None).expect("Can't create pair from seed value") } pub fn aleph_keypair_from_string(seed: &str) -> AlephKeyPair { - AlephKeyPair::from_string(seed, None).expect("Can't create aleph pair from seed value") + ed25519::Pair::from_string(seed, None).expect("Can't create pair from seed value") } pub fn account_from_keypair

(keypair: &P) -> AccountId @@ -477,48 +58,3 @@ where { AccountId::from(keypair.public()) } - -fn storage_key(module: &str, version: &str) -> [u8; 32] { - let pallet_name = sp_core::hashing::twox_128(module.as_bytes()); - let postfix = sp_core::hashing::twox_128(version.as_bytes()); - let mut final_key = [0u8; 32]; - final_key[..16].copy_from_slice(&pallet_name); - final_key[16..].copy_from_slice(&postfix); - final_key -} - -/// Computes hash of given pallet's call. You can use that to pass result to `state.getKeys` RPC call. -/// * `pallet` name of the pallet -/// * `call` name of the pallet's call -/// -/// # Example -/// ``` -/// use aleph_client::get_storage_key; -/// -/// let staking_nominate_storage_key = get_storage_key("Staking", "Nominators"); -/// assert_eq!(staking_nominate_storage_key, String::from("5f3e4907f716ac89b6347d15ececedca9c6a637f62ae2af1c7e31eed7e96be04")); -/// ``` -pub fn get_storage_key(pallet: &str, call: &str) -> String { - let bytes = storage_key(pallet, call); - let storage_key = StorageKey(bytes.into()); - hex::encode(storage_key.0) -} - -pub fn get_block_hash(connection: &C, block_number: BlockNumber) -> BlockHash { - connection - .as_connection() - .get_block_hash(Some(block_number)) - .expect("Could not fetch block hash") - .unwrap_or_else(|| { - panic!("Failed to obtain block hash for block {}.", block_number); - }) -} - -pub fn get_current_block_number(connection: &C) -> BlockNumber { - connection - .as_connection() - .get_header::

(None) - .expect("Could not fetch header") - .expect("Block exists; qed") - .number -} diff --git a/aleph-client/src/multisig.rs b/aleph-client/src/multisig.rs deleted file mode 100644 index c98481a2e7..0000000000 --- a/aleph-client/src/multisig.rs +++ /dev/null @@ -1,480 +0,0 @@ -use std::{ - collections::HashSet, - fmt::{Debug, Formatter}, -}; - -use anyhow::{ensure, Result}; -use codec::{Decode, Encode}; -use log::{error, info}; -use primitives::Balance; -use sp_core::{blake2_256, crypto::AccountId32}; -use sp_runtime::traits::TrailingZeroInput; -use substrate_api_client::{compose_extrinsic, XtStatus::Finalized}; -use thiserror::Error; - -use crate::{ - account_from_keypair, try_send_xt, AccountId, AnyConnection, BlockNumber, Extrinsic, - SignedConnection, H256, -}; - -/// `MAX_WEIGHT` is the extrinsic parameter specifying upperbound for executing approved call. -/// Unless the approval is final, it has no effect. However, if due to your approval the -/// threshold is reached, you will be charged for execution process. By setting `max_weight` -/// low enough, you can avoid paying and left it for another member. -/// -/// However, passing such parameter everytime is cumbersome and introduces the need of either -/// estimating call weight or setting very high universal bound at every caller side. -/// Thus, we keep a fairly high limit, which should cover almost any call (0.05 token). -const MAX_WEIGHT: u64 = 500_000_000; - -/// Gathers all possible errors from this module. -#[derive(Copy, Clone, Eq, PartialEq, Hash, Debug, Error)] -pub enum MultisigError { - #[error("👪❌ Threshold should be between 2 and {0}.")] - IncorrectThreshold(usize), - #[error("👪❌ There should be at least 2 unique members.")] - TooFewMembers, - #[error("👪❌ There is no such member in the party.")] - NoSuchMember, - #[error("👪❌ There is no entry for this multisig aggregation in the pallet storage.")] - NoAggregationFound, - #[error("👪❌ Trying to report approval for a different call that already registered.")] - CallConflict, - #[error("👪❌ Only the author can cancel aggregation.")] - NotAuthor, - #[error("👪❌ The connection is signed by an account that doesn't match to any member.")] - NonMemberSignature, -} - -type CallHash = [u8; 32]; -type Call = Vec; -type Timepoint = pallet_multisig::Timepoint; - -type ApproveAsMultiCall = Extrinsic<( - [u8; 2], // call index - u16, // threshold - Vec, // other signatories - Option, // timepoint, `None` for initiating - CallHash, // call hash - u64, // max weight -)>; - -type AsMultiCall = Extrinsic<( - [u8; 2], // call index - u16, // threshold - Vec, // other signatories - Option, // timepoint, `None` for initiating - Call, // call - bool, // whether to store call - u64, // max weight -)>; - -type CancelAsMultiCall = Extrinsic<( - [u8; 2], // call index - u16, // threshold - Vec, // other signatories - Timepoint, // timepoint, `None` for initiating - CallHash, // call hash -)>; - -pub fn compute_call_hash(call: &Extrinsic) -> CallHash { - blake2_256(&call.function.encode()) -} - -/// Unfortunately, we have to copy this struct from the pallet. We can get such object from storage -/// but there is no way of accessing the info within nor interacting in any manner 💩. -#[derive(Clone, Decode)] -#[allow(dead_code)] -struct Multisig { - when: Timepoint, - deposit: Balance, - depositor: AccountId, - approvals: Vec, -} - -/// This represents the ongoing procedure of aggregating approvals among members -/// of multisignature party. -#[derive(Eq, PartialEq, Debug)] -pub struct SignatureAggregation { - /// The point in 'time' when the aggregation was initiated on the chain. - /// Internally it is a pair: number of the block containing initial call and the position - /// of the corresponding extrinsic within block. - /// - /// It is actually the easiest (and the chosen) way of distinguishing between - /// independent aggregations within the same party for the same call. - timepoint: Timepoint, - /// The member, who initiated the aggregation. They also had to deposit money, and they - /// are the only person with power of canceling the procedure. - /// - /// We keep just their index within the (sorted) set of members. - author: usize, - /// The hash of the target call. - call_hash: CallHash, - /// The call to be dispatched. Maybe. - call: Option, - /// We keep counting approvals, just for information. - approvers: HashSet, -} - -impl SignatureAggregation { - /// How many approvals has already been aggregated. - pub fn num_of_approvals(&self) -> usize { - self.approvers.len() - } -} - -/// `MultisigParty` is representing a multiparty entity constructed from -/// a group of accounts (`members`) and a threshold (`threshold`). -#[derive(Clone)] -pub struct MultisigParty { - /// Derived multiparty account (public key). - account: AccountId, - /// *Sorted* collection of members. - members: Vec, - /// Minimum required approvals. - threshold: u16, -} - -impl Debug for MultisigParty { - fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result { - f.debug_struct("MultisigParty") - .field("account", &self.account) - .field("threshold", &self.threshold) - .field("member count", &self.members.len()) - .finish() - } -} - -impl MultisigParty { - /// Creates new party. `members` does *not* have to be already sorted. Also: - /// - `members` must be of length between 2 and `pallet_multisig::MaxSignatories`; - /// since checking the upperbound is expensive, it is the caller's responsibility - /// to ensure it is not exceeded - /// - `members` may contain duplicates, but they are ignored and not counted to the cardinality - /// - `threshold` must be between 2 and `members.len()` - pub fn new(members: &[AccountId], threshold: u16) -> Result { - let mut members = members.to_vec(); - members.sort(); - members.dedup(); - - ensure!(2 <= members.len(), MultisigError::TooFewMembers); - ensure!( - 2 <= threshold && threshold <= members.len() as u16, - MultisigError::IncorrectThreshold(members.len()) - ); - - let account = Self::multi_account_id(&members, threshold); - Ok(Self { - account, - members, - threshold, - }) - } - - /// This method generates deterministic account id for a given set of members and a threshold. - /// `who` must be sorted, otherwise the result will be incorrect. - /// - /// It comes from pallet multisig. However, since it is an associated method for a struct - /// `pallet_multisig::Pallet` it is easier to just copy - /// these two lines. - /// - /// *Note:* if this function changes in some newer Substrate version, this code should be adjusted. - pub fn multi_account_id(who: &[AccountId], threshold: u16) -> AccountId { - let entropy = (b"modlpy/utilisuba", who, threshold).using_encoded(blake2_256); - Decode::decode(&mut TrailingZeroInput::new(entropy.as_ref())) - .expect("infinite length input; no invalid inputs for type; qed") - } - - /// Provide the address corresponding to the party (and the threshold). - pub fn get_account(&self) -> AccountId { - self.account.clone() - } - - /// This is a convenience method, as usually you may want to perform an action - /// as a particular member, without sorting their public keys on the callee side. - pub fn get_member_index(&self, member: AccountId) -> Result { - self.members - .binary_search(&member) - .map_err(|_| MultisigError::NoSuchMember.into()) - } - - /// For all extrinsics we have to sign them with the caller (representative) and pass - /// accounts of the other party members (represented). - /// - /// Assumes that `representative_idx` is a valid index for `self.members`. - fn designate_represented(&self, representative_idx: usize) -> Vec { - let mut members = self.members.clone(); - members.remove(representative_idx); - members - } - - /// Compose extrinsic for `multisig::approve_as_multi` call. - fn construct_approve_as_multi( - &self, - connection: &SignedConnection, - other_signatories: Vec, - timepoint: Option, - call_hash: CallHash, - ) -> ApproveAsMultiCall { - compose_extrinsic!( - connection.as_connection(), - "Multisig", - "approve_as_multi", - self.threshold, - other_signatories, - timepoint, - call_hash, - MAX_WEIGHT - ) - } - - /// Tries sending `xt` with `connection` and waits for its finalization. Returns the hash - /// of the containing block. - fn finalize_xt( - &self, - connection: &C, - xt: Extrinsic, - description: &'static str, - ) -> Result { - Ok(try_send_xt(connection, xt, Some(description), Finalized)? - .expect("For `Finalized` status a block hash should be returned")) - } - - /// Reads the pallet storage and takes the timestamp regarding procedure for the `self` party - /// initiated at `block_hash`. - fn get_timestamp( - &self, - connection: &C, - call_hash: &CallHash, - block_hash: H256, - ) -> Result { - let multisig: Multisig = connection - .as_connection() - .get_storage_double_map( - "Multisig", - "Multisigs", - self.account.clone(), - *call_hash, - Some(block_hash), - )? - .ok_or(MultisigError::NoAggregationFound)?; - Ok(multisig.when) - } - - /// Checks whether `connection` is signed by some member and if so, returns their index. - fn map_signer_to_member_index(&self, connection: &SignedConnection) -> Result { - self.members - .binary_search(&account_from_keypair(&connection.signer)) - .map_err(|_| MultisigError::NonMemberSignature.into()) - } - - /// Effectively starts the aggregation process by calling `approveAsMulti`. - /// - /// `connection` should be signed by some member. - pub fn initiate_aggregation_with_hash( - &self, - connection: &SignedConnection, - call_hash: CallHash, - ) -> Result { - let author_idx = self.map_signer_to_member_index(connection)?; - - let other_signatories = self.designate_represented(author_idx); - let xt = self.construct_approve_as_multi(connection, other_signatories, None, call_hash); - - let block_hash = self.finalize_xt(connection, xt, "Initiate multisig aggregation")?; - info!(target: "aleph-client", "Initiating multisig aggregation for call hash: {:?}", call_hash); - - Ok(SignatureAggregation { - timepoint: self.get_timestamp(connection, &call_hash, block_hash)?, - author: author_idx, - call_hash, - call: None, - approvers: HashSet::from([self.members[author_idx].clone()]), - }) - } - - /// Compose extrinsic for `multisig::as_multi` call. - fn construct_as_multi( - &self, - connection: &SignedConnection, - other_signatories: Vec, - timepoint: Option, - call: Extrinsic, - store_call: bool, - ) -> AsMultiCall { - compose_extrinsic!( - connection.as_connection(), - "Multisig", - "as_multi", - self.threshold, - other_signatories, - timepoint, - call.function.encode(), - store_call, - MAX_WEIGHT - ) - } - - /// Effectively starts aggregation process by calling `asMulti`. - /// - /// `connection` should be signed by some member. - pub fn initiate_aggregation_with_call( - &self, - connection: &SignedConnection, - call: Extrinsic, - store_call: bool, - ) -> Result { - let author_idx = self.map_signer_to_member_index(connection)?; - - let xt = self.construct_as_multi( - connection, - self.designate_represented(author_idx), - None, - call.clone(), - store_call, - ); - - let block_hash = - self.finalize_xt(connection, xt, "Initiate multisig aggregation with call")?; - - let call_hash = compute_call_hash(&call); - info!(target: "aleph-client", "Initiating multisig aggregation for call hash: {:?}", call_hash); - - Ok(SignatureAggregation { - timepoint: self.get_timestamp(connection, &call_hash, block_hash)?, - author: author_idx, - call_hash, - call: Some(call.encode()), - approvers: HashSet::from([self.members[author_idx].clone()]), - }) - } - - /// Report approval for `sig_agg` aggregation. - /// - /// `connection` should be signed by some member. - pub fn approve( - &self, - connection: &SignedConnection, - mut sig_agg: SignatureAggregation, - ) -> Result { - let member_idx = self.map_signer_to_member_index(connection)?; - - let xt = self.construct_approve_as_multi( - connection, - self.designate_represented(member_idx), - Some(sig_agg.timepoint), - sig_agg.call_hash, - ); - - self.finalize_xt(connection, xt, "Report approval to multisig aggregation")?; - - info!(target: "aleph-client", "Registered multisig approval for call hash: {:?}", sig_agg.call_hash); - sig_agg.approvers.insert(self.members[member_idx].clone()); - Ok(sig_agg) - } - - /// Report approval for `sig_agg` aggregation. - /// - /// `connection` should be signed by some member. - pub fn approve_with_call( - &self, - connection: &SignedConnection, - mut sig_agg: SignatureAggregation, - call: Extrinsic, - store_call: bool, - ) -> Result { - let member_idx = self.map_signer_to_member_index(connection)?; - if let Some(ref reported_call) = sig_agg.call { - ensure!( - reported_call.eq(&call.encode()), - MultisigError::CallConflict - ); - } else { - ensure!( - compute_call_hash(&call) == sig_agg.call_hash, - MultisigError::CallConflict - ); - } - - let xt = self.construct_as_multi( - connection, - self.designate_represented(member_idx), - Some(sig_agg.timepoint), - call.clone(), - store_call, - ); - - self.finalize_xt( - connection, - xt, - "Report approval to multisig aggregation with call", - )?; - - info!(target: "aleph-client", "Registered multisig approval for call hash: {:?}", sig_agg.call_hash); - sig_agg.approvers.insert(self.members[member_idx].clone()); - sig_agg.call = Some(call.encode()); - Ok(sig_agg) - } - - /// Compose extrinsic for `multisig::cancel_as_multi` call. - fn construct_cancel_as_multi( - &self, - connection: &SignedConnection, - other_signatories: Vec, - timepoint: Timepoint, - call_hash: CallHash, - ) -> CancelAsMultiCall { - compose_extrinsic!( - connection.as_connection(), - "Multisig", - "cancel_as_multi", - self.threshold, - other_signatories, - timepoint, - call_hash - ) - } - - /// Cancel `sig_agg` aggregation. - /// - /// `connection` should be signed by the aggregation author. - pub fn cancel( - &self, - connection: &SignedConnection, - sig_agg: SignatureAggregation, - ) -> Result<()> { - let author_idx = self.map_signer_to_member_index(connection)?; - ensure!(sig_agg.author == author_idx, MultisigError::NotAuthor); - - let xt = self.construct_cancel_as_multi( - connection, - self.designate_represented(author_idx), - sig_agg.timepoint, - sig_agg.call_hash, - ); - self.finalize_xt(connection, xt, "Cancel multisig aggregation")?; - info!(target: "aleph-client", "Cancelled multisig aggregation for call hash: {:?}", sig_agg.call_hash); - Ok(()) - } -} - -/// Dispatch `call` on behalf of the multisig party of `connection.get_signer()` and -/// `other_signatories` with threshold 1. -/// -/// `other_signatories` *must* be sorted (according to the natural ordering on `AccountId`). -pub fn perform_multisig_with_threshold_1( - connection: &SignedConnection, - other_signatories: &[AccountId], - call: CallDetails, -) -> Result<()> { - let xt = compose_extrinsic!( - connection.as_connection(), - "Multisig", - "as_multi_threshold_1", - other_signatories, - call - ); - try_send_xt(connection, xt, Some("Multisig with threshold 1"), Finalized)? - .expect("For `Finalized` status a block hash should be returned"); - Ok(()) -} diff --git a/aleph-client/src/pallets/aleph.rs b/aleph-client/src/pallets/aleph.rs new file mode 100644 index 0000000000..5e7ece9824 --- /dev/null +++ b/aleph-client/src/pallets/aleph.rs @@ -0,0 +1,87 @@ +use codec::Encode; +use primitives::{BlockNumber, SessionIndex}; +use subxt::rpc_params; + +use crate::{ + api::runtime_types::{ + pallet_aleph::pallet::Call::set_emergency_finalizer, primitives::app::Public, + sp_core::ed25519::Public as EdPublic, + }, + pallet_aleph::pallet::Call::schedule_finality_version_change, + AccountId, AlephKeyPair, BlockHash, + Call::Aleph, + Connection, Pair, RootConnection, SudoCall, TxStatus, +}; + +#[async_trait::async_trait] +pub trait AlephSudoApi { + async fn set_emergency_finalizer( + &self, + finalizer: AccountId, + status: TxStatus, + ) -> anyhow::Result; + + async fn schedule_finality_version_change( + &self, + version: u32, + session: SessionIndex, + status: TxStatus, + ) -> anyhow::Result; +} + +#[async_trait::async_trait] +pub trait AlephRpc { + async fn emergency_finalize( + &self, + number: BlockNumber, + hash: BlockHash, + key_pair: AlephKeyPair, + ) -> anyhow::Result<()>; +} + +#[async_trait::async_trait] +impl AlephSudoApi for RootConnection { + async fn set_emergency_finalizer( + &self, + finalizer: AccountId, + status: TxStatus, + ) -> anyhow::Result { + let call = Aleph(set_emergency_finalizer { + emergency_finalizer: Public(EdPublic(finalizer.into())), + }); + self.sudo_unchecked(call, status).await + } + + async fn schedule_finality_version_change( + &self, + version: u32, + session: SessionIndex, + status: TxStatus, + ) -> anyhow::Result { + let call = Aleph(schedule_finality_version_change { + version_incoming: version, + session, + }); + + self.sudo_unchecked(call, status).await + } +} + +#[async_trait::async_trait] +impl AlephRpc for Connection { + async fn emergency_finalize( + &self, + number: BlockNumber, + hash: BlockHash, + key_pair: AlephKeyPair, + ) -> anyhow::Result<()> { + let method = "alephNode_emergencyFinalize"; + let signature = key_pair.sign(&hash.encode()); + let raw_signature: &[u8] = signature.as_ref(); + let params = rpc_params![raw_signature, hash, number]; + + let _: () = self.rpc_call(method.to_string(), params).await?; + + Ok(()) + } +} diff --git a/aleph-client/src/pallets/author.rs b/aleph-client/src/pallets/author.rs new file mode 100644 index 0000000000..f614e9e545 --- /dev/null +++ b/aleph-client/src/pallets/author.rs @@ -0,0 +1,17 @@ +use codec::Decode; + +use crate::{aleph_runtime::SessionKeys, Connection}; + +#[async_trait::async_trait] +pub trait AuthorRpc { + async fn author_rotate_keys(&self) -> SessionKeys; +} + +#[async_trait::async_trait] +impl AuthorRpc for Connection { + async fn author_rotate_keys(&self) -> SessionKeys { + let bytes = self.client.rpc().rotate_keys().await.unwrap(); + + SessionKeys::decode(&mut bytes.0.as_slice()).unwrap() + } +} diff --git a/aleph-client/src/pallets/balances.rs b/aleph-client/src/pallets/balances.rs new file mode 100644 index 0000000000..166cf56271 --- /dev/null +++ b/aleph-client/src/pallets/balances.rs @@ -0,0 +1,137 @@ +use primitives::Balance; +use subxt::{ext::sp_runtime::MultiAddress, tx::PolkadotExtrinsicParamsBuilder}; + +use crate::{ + aleph_zero::{self, api, api::runtime_types::pallet_balances::BalanceLock}, + pallet_balances::pallet::Call::transfer, + pallets::utility::UtilityApi, + AccountId, BlockHash, + Call::Balances, + Connection, SignedConnection, TxStatus, +}; + +#[async_trait::async_trait] +pub trait BalanceApi { + async fn locks_for_account( + &self, + account: AccountId, + at: Option, + ) -> Vec>; + async fn locks( + &self, + accounts: &[AccountId], + at: Option, + ) -> Vec>>; + async fn total_issuance(&self, at: Option) -> Balance; +} + +#[async_trait::async_trait] +pub trait BalanceUserApi { + async fn transfer( + &self, + dest: AccountId, + amount: Balance, + status: TxStatus, + ) -> anyhow::Result; + async fn transfer_with_tip( + &self, + dest: AccountId, + amount: Balance, + tip: Balance, + status: TxStatus, + ) -> anyhow::Result; +} + +#[async_trait::async_trait] +pub trait BalanceUserBatchExtApi { + async fn batch_transfer( + &self, + dest: &[AccountId], + amount: Balance, + status: TxStatus, + ) -> anyhow::Result; +} + +#[async_trait::async_trait] +impl BalanceApi for Connection { + async fn locks_for_account( + &self, + account: AccountId, + at: Option, + ) -> Vec> { + let address = aleph_zero::api::storage().balances().locks(&account); + + self.get_storage_entry(&address, at).await.0 + } + + async fn locks( + &self, + accounts: &[AccountId], + at: Option, + ) -> Vec>> { + let mut locks = vec![]; + + for account in accounts { + locks.push(self.locks_for_account(account.clone(), at).await); + } + + locks + } + + async fn total_issuance(&self, at: Option) -> Balance { + let address = api::storage().balances().total_issuance(); + + self.get_storage_entry(&address, at).await + } +} + +#[async_trait::async_trait] +impl BalanceUserApi for SignedConnection { + async fn transfer( + &self, + dest: AccountId, + amount: Balance, + status: TxStatus, + ) -> anyhow::Result { + let tx = api::tx() + .balances() + .transfer(MultiAddress::Id(dest), amount); + self.send_tx(tx, status).await + } + + async fn transfer_with_tip( + &self, + dest: AccountId, + amount: Balance, + tip: Balance, + status: TxStatus, + ) -> anyhow::Result { + let tx = api::tx() + .balances() + .transfer(MultiAddress::Id(dest), amount); + + self.send_tx_with_params(tx, PolkadotExtrinsicParamsBuilder::new().tip(tip), status) + .await + } +} + +#[async_trait::async_trait] +impl BalanceUserBatchExtApi for SignedConnection { + async fn batch_transfer( + &self, + dests: &[AccountId], + amount: Balance, + status: TxStatus, + ) -> anyhow::Result { + let calls = dests + .iter() + .map(|dest| { + Balances(transfer { + dest: MultiAddress::Id(dest.clone()), + value: amount, + }) + }) + .collect(); + self.batch_call(calls, status).await + } +} diff --git a/aleph-client/src/pallets/contract.rs b/aleph-client/src/pallets/contract.rs new file mode 100644 index 0000000000..885221d998 --- /dev/null +++ b/aleph-client/src/pallets/contract.rs @@ -0,0 +1,195 @@ +use codec::{Compact, Decode, Encode}; +use pallet_contracts_primitives::ContractExecResult; +use primitives::Balance; +use subxt::{ + ext::{sp_core::Bytes, sp_runtime::MultiAddress}, + rpc_params, +}; + +use crate::{ + api, pallet_contracts::wasm::OwnerInfo, AccountId, BlockHash, Connection, SignedConnection, + TxStatus, +}; + +#[derive(Encode)] +pub struct ContractCallArgs { + pub origin: AccountId, + pub dest: AccountId, + pub value: Balance, + pub gas_limit: u64, + pub storage_deposit_limit: Option, + pub input_data: Vec, +} + +#[async_trait::async_trait] +pub trait ContractsApi { + async fn get_owner_info( + &self, + code_hash: BlockHash, + at: Option, + ) -> Option; +} + +#[async_trait::async_trait] +pub trait ContractsUserApi { + async fn upload_code( + &self, + code: Vec, + storage_limit: Option>, + status: TxStatus, + ) -> anyhow::Result; + #[allow(clippy::too_many_arguments)] + async fn instantiate( + &self, + code_hash: BlockHash, + balance: Balance, + gas_limit: u64, + storage_limit: Option>, + data: Vec, + salt: Vec, + status: TxStatus, + ) -> anyhow::Result; + #[allow(clippy::too_many_arguments)] + async fn instantiate_with_code( + &self, + code: Vec, + balance: Balance, + gas_limit: u64, + storage_limit: Option>, + data: Vec, + salt: Vec, + status: TxStatus, + ) -> anyhow::Result; + async fn call( + &self, + destination: AccountId, + balance: Balance, + gas_limit: u64, + storage_limit: Option>, + data: Vec, + status: TxStatus, + ) -> anyhow::Result; + async fn remove_code( + &self, + code_hash: BlockHash, + status: TxStatus, + ) -> anyhow::Result; +} + +#[async_trait::async_trait] +pub trait ContractRpc { + async fn call_and_get(&self, args: ContractCallArgs) -> anyhow::Result; +} + +#[async_trait::async_trait] +impl ContractsApi for Connection { + async fn get_owner_info( + &self, + code_hash: BlockHash, + at: Option, + ) -> Option { + let addrs = api::storage().contracts().owner_info_of(code_hash); + + self.get_storage_entry_maybe(&addrs, at).await + } +} + +#[async_trait::async_trait] +impl ContractsUserApi for SignedConnection { + async fn upload_code( + &self, + code: Vec, + storage_limit: Option>, + status: TxStatus, + ) -> anyhow::Result { + let tx = api::tx().contracts().upload_code(code, storage_limit); + + self.send_tx(tx, status).await + } + + async fn instantiate( + &self, + code_hash: BlockHash, + balance: Balance, + gas_limit: u64, + storage_limit: Option>, + data: Vec, + salt: Vec, + status: TxStatus, + ) -> anyhow::Result { + let tx = api::tx().contracts().instantiate( + balance, + gas_limit, + storage_limit, + code_hash, + data, + salt, + ); + + self.send_tx(tx, status).await + } + + async fn instantiate_with_code( + &self, + code: Vec, + balance: Balance, + gas_limit: u64, + storage_limit: Option>, + data: Vec, + salt: Vec, + status: TxStatus, + ) -> anyhow::Result { + let tx = api::tx().contracts().instantiate_with_code( + balance, + gas_limit, + storage_limit, + code, + data, + salt, + ); + + self.send_tx(tx, status).await + } + + async fn call( + &self, + destination: AccountId, + balance: Balance, + gas_limit: u64, + storage_limit: Option>, + data: Vec, + status: TxStatus, + ) -> anyhow::Result { + let tx = api::tx().contracts().call( + MultiAddress::Id(destination), + balance, + gas_limit, + storage_limit, + data, + ); + self.send_tx(tx, status).await + } + + async fn remove_code( + &self, + code_hash: BlockHash, + status: TxStatus, + ) -> anyhow::Result { + let tx = api::tx().contracts().remove_code(code_hash); + + self.send_tx(tx, status).await + } +} + +#[async_trait::async_trait] +impl ContractRpc for Connection { + async fn call_and_get(&self, args: ContractCallArgs) -> anyhow::Result { + let params = rpc_params!["ContractsApi_call", Bytes(args.encode())]; + + let res: ContractExecResult = + self.rpc_call("state_call".to_string(), params).await?; + let res = T::decode(&mut (res.result.unwrap().data.0.as_slice()))?; + + Ok(res) + } +} diff --git a/aleph-client/src/pallets/elections.rs b/aleph-client/src/pallets/elections.rs new file mode 100644 index 0000000000..b4b770cd65 --- /dev/null +++ b/aleph-client/src/pallets/elections.rs @@ -0,0 +1,215 @@ +use primitives::{EraIndex, SessionCount}; + +use crate::{ + api, + api::runtime_types::{ + pallet_elections::pallet::Call::set_ban_config, + primitives::{BanReason, CommitteeSeats, EraValidators}, + }, + pallet_elections::pallet::Call::{ban_from_committee, change_validators}, + primitives::{BanConfig, BanInfo}, + AccountId, BlockHash, + Call::Elections, + Connection, RootConnection, SudoCall, TxStatus, +}; + +#[async_trait::async_trait] +pub trait ElectionsApi { + async fn get_ban_config(&self, at: Option) -> BanConfig; + async fn get_committee_seats(&self, at: Option) -> CommitteeSeats; + async fn get_next_era_committee_seats(&self, at: Option) -> CommitteeSeats; + async fn get_validator_block_count( + &self, + validator: AccountId, + at: Option, + ) -> Option; + async fn get_current_era_validators(&self, at: Option) -> EraValidators; + async fn get_next_era_reserved_validators(&self, at: Option) -> Vec; + async fn get_next_era_non_reserved_validators(&self, at: Option) -> Vec; + async fn get_underperformed_validator_session_count( + &self, + validator: AccountId, + at: Option, + ) -> Option; + async fn get_ban_reason_for_validator( + &self, + validator: AccountId, + at: Option, + ) -> Option; + async fn get_ban_info_for_validator( + &self, + validator: AccountId, + at: Option, + ) -> Option; + async fn get_session_period(&self) -> u32; +} + +#[async_trait::async_trait] +pub trait ElectionsSudoApi { + async fn set_ban_config( + &self, + minimal_expected_performance: Option, + underperformed_session_count_threshold: Option, + clean_session_counter_delay: Option, + ban_period: Option, + status: TxStatus, + ) -> anyhow::Result; + + async fn change_validators( + &self, + new_reserved_validators: Option>, + new_non_reserved_validators: Option>, + committee_size: Option, + status: TxStatus, + ) -> anyhow::Result; + async fn ban_from_committee( + &self, + account: AccountId, + ban_reason: Vec, + status: TxStatus, + ) -> anyhow::Result; +} + +#[async_trait::async_trait] +impl ElectionsApi for Connection { + async fn get_ban_config(&self, at: Option) -> BanConfig { + let addrs = api::storage().elections().ban_config(); + + self.get_storage_entry(&addrs, at).await + } + + async fn get_committee_seats(&self, at: Option) -> CommitteeSeats { + let addrs = api::storage().elections().committee_size(); + + self.get_storage_entry(&addrs, at).await + } + + async fn get_next_era_committee_seats(&self, at: Option) -> CommitteeSeats { + let addrs = api::storage().elections().next_era_committee_size(); + + self.get_storage_entry(&addrs, at).await + } + + async fn get_validator_block_count( + &self, + validator: AccountId, + at: Option, + ) -> Option { + let addrs = api::storage() + .elections() + .session_validator_block_count(&validator); + + self.get_storage_entry_maybe(&addrs, at).await + } + + async fn get_current_era_validators(&self, at: Option) -> EraValidators { + let addrs = api::storage().elections().current_era_validators(); + + self.get_storage_entry(&addrs, at).await + } + + async fn get_next_era_reserved_validators(&self, at: Option) -> Vec { + let addrs = api::storage().elections().next_era_reserved_validators(); + + self.get_storage_entry(&addrs, at).await + } + + async fn get_next_era_non_reserved_validators(&self, at: Option) -> Vec { + let addrs = api::storage() + .elections() + .next_era_non_reserved_validators(); + + self.get_storage_entry(&addrs, at).await + } + + async fn get_underperformed_validator_session_count( + &self, + validator: AccountId, + at: Option, + ) -> Option { + let addrs = api::storage() + .elections() + .underperformed_validator_session_count(&validator); + + self.get_storage_entry_maybe(&addrs, at).await + } + + async fn get_ban_reason_for_validator( + &self, + validator: AccountId, + at: Option, + ) -> Option { + let addrs = api::storage().elections().banned(validator); + + match self.get_storage_entry_maybe(&addrs, at).await { + None => None, + Some(x) => Some(x.reason), + } + } + + async fn get_ban_info_for_validator( + &self, + validator: AccountId, + at: Option, + ) -> Option { + let addrs = api::storage().elections().banned(validator); + + self.get_storage_entry_maybe(&addrs, at).await + } + + async fn get_session_period(&self) -> u32 { + let addrs = api::constants().elections().session_period(); + + self.client.constants().at(&addrs).unwrap() + } +} + +#[async_trait::async_trait] +impl ElectionsSudoApi for RootConnection { + async fn set_ban_config( + &self, + minimal_expected_performance: Option, + underperformed_session_count_threshold: Option, + clean_session_counter_delay: Option, + ban_period: Option, + status: TxStatus, + ) -> anyhow::Result { + let call = Elections(set_ban_config { + minimal_expected_performance, + underperformed_session_count_threshold, + clean_session_counter_delay, + ban_period, + }); + + self.sudo_unchecked(call, status).await + } + + async fn change_validators( + &self, + new_reserved_validators: Option>, + new_non_reserved_validators: Option>, + committee_size: Option, + status: TxStatus, + ) -> anyhow::Result { + let call = Elections(change_validators { + reserved_validators: new_reserved_validators, + non_reserved_validators: new_non_reserved_validators, + committee_size, + }); + + self.sudo_unchecked(call, status).await + } + + async fn ban_from_committee( + &self, + account: AccountId, + ban_reason: Vec, + status: TxStatus, + ) -> anyhow::Result { + let call = Elections(ban_from_committee { + banned: account, + ban_reason, + }); + self.sudo_unchecked(call, status).await + } +} diff --git a/aleph-client/src/pallets/fee.rs b/aleph-client/src/pallets/fee.rs new file mode 100644 index 0000000000..1b7e595ec8 --- /dev/null +++ b/aleph-client/src/pallets/fee.rs @@ -0,0 +1,20 @@ +use crate::{api, BlockHash, Connection}; + +pub type FeeMultiplier = u128; + +#[async_trait::async_trait] +pub trait TransactionPaymentApi { + async fn get_next_fee_multiplier(&self, at: Option) -> FeeMultiplier; +} + +#[async_trait::async_trait] +impl TransactionPaymentApi for Connection { + async fn get_next_fee_multiplier(&self, at: Option) -> FeeMultiplier { + let addrs = api::storage().transaction_payment().next_fee_multiplier(); + + match self.get_storage_entry_maybe(&addrs, at).await { + Some(fm) => fm.0, + None => 1, + } + } +} diff --git a/aleph-client/src/pallets/mod.rs b/aleph-client/src/pallets/mod.rs new file mode 100644 index 0000000000..eaa9e11277 --- /dev/null +++ b/aleph-client/src/pallets/mod.rs @@ -0,0 +1,13 @@ +pub mod aleph; +pub mod author; +pub mod balances; +pub mod contract; +pub mod elections; +pub mod fee; +pub mod multisig; +pub mod session; +pub mod staking; +pub mod system; +pub mod treasury; +pub mod utility; +pub mod vesting; diff --git a/aleph-client/src/pallets/multisig.rs b/aleph-client/src/pallets/multisig.rs new file mode 100644 index 0000000000..ff7f2a519f --- /dev/null +++ b/aleph-client/src/pallets/multisig.rs @@ -0,0 +1,70 @@ +use primitives::{Balance, BlockNumber}; + +use crate::{api, api::runtime_types, AccountId, BlockHash, SignedConnection, TxStatus}; + +pub type CallHash = [u8; 32]; +pub type Call = Vec; +pub type Timepoint = api::runtime_types::pallet_multisig::Timepoint; +pub type Multisig = runtime_types::pallet_multisig::Multisig; + +#[async_trait::async_trait] +pub trait MultisigUserApi { + async fn approve_as_multi( + &self, + threshold: u16, + other_signatories: Vec, + timepoint: Option, + max_weight: u64, + call_hash: CallHash, + status: TxStatus, + ) -> anyhow::Result; + async fn cancel_as_multi( + &self, + threshold: u16, + other_signatories: Vec, + timepoint: Timepoint, + call_hash: CallHash, + status: TxStatus, + ) -> anyhow::Result; +} + +#[async_trait::async_trait] +impl MultisigUserApi for SignedConnection { + async fn approve_as_multi( + &self, + threshold: u16, + other_signatories: Vec, + timepoint: Option, + max_weight: u64, + call_hash: CallHash, + status: TxStatus, + ) -> anyhow::Result { + let tx = api::tx().multisig().approve_as_multi( + threshold, + other_signatories, + timepoint, + call_hash, + max_weight, + ); + + self.send_tx(tx, status).await + } + + async fn cancel_as_multi( + &self, + threshold: u16, + other_signatories: Vec, + timepoint: Timepoint, + call_hash: CallHash, + status: TxStatus, + ) -> anyhow::Result { + let tx = api::tx().multisig().cancel_as_multi( + threshold, + other_signatories, + timepoint, + call_hash, + ); + + self.send_tx(tx, status).await + } +} diff --git a/aleph-client/src/pallets/session.rs b/aleph-client/src/pallets/session.rs new file mode 100644 index 0000000000..c5393e2a49 --- /dev/null +++ b/aleph-client/src/pallets/session.rs @@ -0,0 +1,58 @@ +use primitives::SessionIndex; + +use crate::{ + api, api::runtime_types::aleph_runtime::SessionKeys, AccountId, BlockHash, Connection, + SignedConnection, TxStatus, +}; + +#[async_trait::async_trait] +pub trait SessionApi { + async fn get_next_session_keys( + &self, + account: AccountId, + at: Option, + ) -> Option; + async fn get_session(&self, at: Option) -> SessionIndex; + async fn get_validators(&self, at: Option) -> Vec; +} + +#[async_trait::async_trait] +pub trait SessionUserApi { + async fn set_keys(&self, new_keys: SessionKeys, status: TxStatus) -> anyhow::Result; +} + +#[async_trait::async_trait] +impl SessionApi for Connection { + async fn get_next_session_keys( + &self, + account: AccountId, + at: Option, + ) -> Option { + let addrs = api::storage().session().next_keys(account); + + self.get_storage_entry_maybe(&addrs, at).await + } + + async fn get_session(&self, at: Option) -> SessionIndex { + let addrs = api::storage().session().current_index(); + + self.get_storage_entry_maybe(&addrs, at) + .await + .unwrap_or_default() + } + + async fn get_validators(&self, at: Option) -> Vec { + let addrs = api::storage().session().validators(); + + self.get_storage_entry(&addrs, at).await + } +} + +#[async_trait::async_trait] +impl SessionUserApi for SignedConnection { + async fn set_keys(&self, new_keys: SessionKeys, status: TxStatus) -> anyhow::Result { + let tx = api::tx().session().set_keys(new_keys, vec![]); + + self.send_tx(tx, status).await + } +} diff --git a/aleph-client/src/pallets/staking.rs b/aleph-client/src/pallets/staking.rs new file mode 100644 index 0000000000..6790db6b1b --- /dev/null +++ b/aleph-client/src/pallets/staking.rs @@ -0,0 +1,382 @@ +use primitives::{Balance, EraIndex}; +use subxt::{ + ext::{ + sp_core::storage::StorageKey, + sp_runtime::{MultiAddress, Perbill as SPerbill}, + }, + storage::address::{StorageHasher, StorageMapKey}, +}; + +use crate::{ + api, + pallet_staking::{ + pallet::pallet::{ + Call::{bond, force_new_era, nominate, set_staking_configs}, + ConfigOp, + ConfigOp::{Noop, Set}, + }, + EraRewardPoints, Exposure, RewardDestination, StakingLedger, ValidatorPrefs, + }, + pallet_sudo::pallet::Call::sudo_as, + pallets::utility::UtilityApi, + sp_arithmetic::per_things::Perbill, + AccountId, BlockHash, + Call::{Staking, Sudo}, + Connection, RootConnection, SignedConnection, SudoCall, TxStatus, +}; + +#[async_trait::async_trait] +pub trait StakingApi { + async fn get_active_era(&self, at: Option) -> EraIndex; + async fn get_current_era(&self, at: Option) -> EraIndex; + async fn get_bonded(&self, stash: AccountId, at: Option) -> Option; + async fn get_ledger(&self, controller: AccountId, at: Option) -> StakingLedger; + async fn get_payout_for_era(&self, era: EraIndex, at: Option) -> u128; + async fn get_exposure( + &self, + era: EraIndex, + account_id: &AccountId, + at: Option, + ) -> Exposure; + async fn get_era_reward_points( + &self, + era: EraIndex, + at: Option, + ) -> Option>; + async fn get_minimum_validator_count(&self, at: Option) -> u32; + async fn get_session_per_era(&self) -> u32; +} + +#[async_trait::async_trait] +pub trait StakingUserApi { + async fn bond( + &self, + initial_stake: Balance, + controller_id: AccountId, + status: TxStatus, + ) -> anyhow::Result; + async fn validate( + &self, + validator_commission_percentage: u8, + status: TxStatus, + ) -> anyhow::Result; + async fn payout_stakers( + &self, + stash_account: AccountId, + era: EraIndex, + status: TxStatus, + ) -> anyhow::Result; + async fn nominate( + &self, + nominee_account_id: AccountId, + status: TxStatus, + ) -> anyhow::Result; + async fn chill(&self, status: TxStatus) -> anyhow::Result; + async fn bond_extra_stake( + &self, + extra_stake: Balance, + status: TxStatus, + ) -> anyhow::Result; +} + +#[async_trait::async_trait] +pub trait StakingApiExt { + async fn batch_bond( + &self, + accounts: &[(AccountId, AccountId)], + stake: Balance, + status: TxStatus, + ) -> anyhow::Result; + async fn batch_nominate( + &self, + nominator_nominee_pairs: &[(AccountId, AccountId)], + status: TxStatus, + ) -> anyhow::Result; +} + +#[async_trait::async_trait] +pub trait StakingSudoApi { + async fn force_new_era(&self, status: TxStatus) -> anyhow::Result; + async fn set_staking_config( + &self, + minimal_nominator_bond: Option, + minimal_validator_bond: Option, + max_nominators_count: Option, + max_validators_count: Option, + status: TxStatus, + ) -> anyhow::Result; +} + +#[async_trait::async_trait] +pub trait StakingRawApi { + async fn get_stakers_storage_keys( + &self, + era: EraIndex, + at: Option, + ) -> Vec; + async fn get_stakers_storage_keys_from_accounts( + &self, + era: EraIndex, + accounts: &[AccountId], + at: Option, + ) -> Vec; +} + +#[async_trait::async_trait] +impl StakingApi for Connection { + async fn get_active_era(&self, at: Option) -> EraIndex { + let addrs = api::storage().staking().active_era(); + + self.get_storage_entry(&addrs, at).await.index + } + + async fn get_current_era(&self, at: Option) -> EraIndex { + let addrs = api::storage().staking().current_era(); + + self.get_storage_entry(&addrs, at).await + } + + async fn get_bonded(&self, stash: AccountId, at: Option) -> Option { + let addrs = api::storage().staking().bonded(stash); + + self.get_storage_entry_maybe(&addrs, at).await + } + + async fn get_ledger(&self, controller: AccountId, at: Option) -> StakingLedger { + let addrs = api::storage().staking().ledger(controller); + + self.get_storage_entry(&addrs, at).await + } + + async fn get_payout_for_era(&self, era: EraIndex, at: Option) -> u128 { + let addrs = api::storage().staking().eras_validator_reward(era); + + self.get_storage_entry(&addrs, at).await + } + + async fn get_exposure( + &self, + era: EraIndex, + account_id: &AccountId, + at: Option, + ) -> Exposure { + let addrs = api::storage().staking().eras_stakers(era, account_id); + + self.get_storage_entry(&addrs, at).await + } + + async fn get_era_reward_points( + &self, + era: EraIndex, + at: Option, + ) -> Option> { + let addrs = api::storage().staking().eras_reward_points(era); + + self.get_storage_entry_maybe(&addrs, at).await + } + + async fn get_minimum_validator_count(&self, at: Option) -> u32 { + let addrs = api::storage().staking().minimum_validator_count(); + + self.get_storage_entry(&addrs, at).await + } + + async fn get_session_per_era(&self) -> u32 { + let addrs = api::constants().staking().sessions_per_era(); + + self.client.constants().at(&addrs).unwrap() + } +} + +#[async_trait::async_trait] +impl StakingUserApi for SignedConnection { + async fn bond( + &self, + initial_stake: Balance, + controller_id: AccountId, + status: TxStatus, + ) -> anyhow::Result { + let tx = api::tx().staking().bond( + MultiAddress::::Id(controller_id), + initial_stake, + RewardDestination::Staked, + ); + + self.send_tx(tx, status).await + } + + async fn validate( + &self, + validator_commission_percentage: u8, + status: TxStatus, + ) -> anyhow::Result { + let tx = api::tx().staking().validate(ValidatorPrefs { + commission: Perbill( + SPerbill::from_percent(validator_commission_percentage as u32).deconstruct(), + ), + blocked: false, + }); + + self.send_tx(tx, status).await + } + + async fn payout_stakers( + &self, + stash_account: AccountId, + era: EraIndex, + status: TxStatus, + ) -> anyhow::Result { + let tx = api::tx().staking().payout_stakers(stash_account, era); + + self.send_tx(tx, status).await + } + + async fn nominate( + &self, + nominee_account_id: AccountId, + status: TxStatus, + ) -> anyhow::Result { + let tx = api::tx() + .staking() + .nominate(vec![MultiAddress::Id(nominee_account_id)]); + + self.send_tx(tx, status).await + } + + async fn chill(&self, status: TxStatus) -> anyhow::Result { + let tx = api::tx().staking().chill(); + + self.send_tx(tx, status).await + } + + async fn bond_extra_stake( + &self, + extra_stake: Balance, + status: TxStatus, + ) -> anyhow::Result { + let tx = api::tx().staking().bond_extra(extra_stake); + + self.send_tx(tx, status).await + } +} + +#[async_trait::async_trait] +impl StakingSudoApi for RootConnection { + async fn force_new_era(&self, status: TxStatus) -> anyhow::Result { + let call = Staking(force_new_era); + + self.sudo_unchecked(call, status).await + } + + async fn set_staking_config( + &self, + min_nominator_bond: Option, + min_validator_bond: Option, + max_nominator_count: Option, + max_validator_count: Option, + status: TxStatus, + ) -> anyhow::Result { + fn convert(arg: Option) -> ConfigOp { + match arg { + Some(v) => Set(v), + None => Noop, + } + } + let call = Staking(set_staking_configs { + min_nominator_bond: convert(min_nominator_bond), + min_validator_bond: convert(min_validator_bond), + max_nominator_count: convert(max_nominator_count), + max_validator_count: convert(max_validator_count), + chill_threshold: ConfigOp::Noop, + min_commission: ConfigOp::Noop, + }); + self.sudo_unchecked(call, status).await + } +} + +#[async_trait::async_trait] +impl StakingRawApi for Connection { + async fn get_stakers_storage_keys( + &self, + era: EraIndex, + at: Option, + ) -> Vec { + let key_addrs = api::storage().staking().eras_stakers_root(); + let mut key = key_addrs.to_root_bytes(); + StorageMapKey::new(&era, StorageHasher::Twox64Concat).to_bytes(&mut key); + self.client + .storage() + .fetch_keys(&key, 10, None, at) + .await + .unwrap() + } + + async fn get_stakers_storage_keys_from_accounts( + &self, + era: EraIndex, + accounts: &[AccountId], + _: Option, + ) -> Vec { + let key_addrs = api::storage().staking().eras_stakers_root(); + let mut key = key_addrs.to_root_bytes(); + StorageMapKey::new(&era, StorageHasher::Twox64Concat).to_bytes(&mut key); + accounts + .iter() + .map(|account| { + let mut key = key.clone(); + StorageMapKey::new(account, StorageHasher::Twox64Concat).to_bytes(&mut key); + + StorageKey(key) + }) + .collect() + } +} + +#[async_trait::async_trait] +impl StakingApiExt for RootConnection { + async fn batch_bond( + &self, + accounts: &[(AccountId, AccountId)], + stake: Balance, + status: TxStatus, + ) -> anyhow::Result { + let calls = accounts + .iter() + .map(|(s, c)| { + let b = Staking(bond { + controller: MultiAddress::Id(c.clone()), + value: stake, + payee: RewardDestination::Staked, + }); + + Sudo(sudo_as { + who: MultiAddress::Id(s.clone()), + call: Box::new(b), + }) + }) + .collect(); + + self.as_signed().batch_call(calls, status).await + } + + async fn batch_nominate( + &self, + nominator_nominee_pairs: &[(AccountId, AccountId)], + status: TxStatus, + ) -> anyhow::Result { + let calls = nominator_nominee_pairs + .iter() + .map(|(nominator, nominee)| { + let call = Staking(nominate { + targets: vec![MultiAddress::Id(nominee.clone())], + }); + Sudo(sudo_as { + who: MultiAddress::Id(nominator.clone()), + call: Box::new(call), + }) + }) + .collect(); + + self.as_signed().batch_call(calls, status).await + } +} diff --git a/aleph-client/src/pallets/system.rs b/aleph-client/src/pallets/system.rs new file mode 100644 index 0000000000..102d3bf095 --- /dev/null +++ b/aleph-client/src/pallets/system.rs @@ -0,0 +1,59 @@ +use primitives::Balance; +use subxt::ext::sp_runtime::Perbill as SPerbill; + +use crate::{ + api, + frame_system::pallet::Call::{fill_block, set_code}, + sp_arithmetic::per_things::Perbill, + AccountId, BlockHash, + Call::System, + Connection, RootConnection, SudoCall, TxStatus, +}; + +#[async_trait::async_trait] +pub trait SystemApi { + async fn get_free_balance(&self, account: AccountId, at: Option) -> Balance; +} + +#[async_trait::async_trait] +pub trait SystemSudoApi { + async fn set_code(&self, code: Vec, status: TxStatus) -> anyhow::Result; + async fn fill_block( + &self, + target_ratio_percent: u8, + status: TxStatus, + ) -> anyhow::Result; +} + +#[async_trait::async_trait] +impl SystemSudoApi for RootConnection { + async fn set_code(&self, code: Vec, status: TxStatus) -> anyhow::Result { + let call = System(set_code { code }); + + self.sudo_unchecked(call, status).await + } + + async fn fill_block( + &self, + target_ratio_percent: u8, + status: TxStatus, + ) -> anyhow::Result { + let call = System(fill_block { + ratio: Perbill(SPerbill::from_percent(target_ratio_percent as u32).deconstruct()), + }); + + self.sudo(call, status).await + } +} + +#[async_trait::async_trait] +impl SystemApi for Connection { + async fn get_free_balance(&self, account: AccountId, at: Option) -> Balance { + let addrs = api::storage().system().account(&account); + + match self.get_storage_entry_maybe(&addrs, at).await { + None => 0, + Some(account) => account.data.free, + } + } +} diff --git a/aleph-client/src/pallets/treasury.rs b/aleph-client/src/pallets/treasury.rs new file mode 100644 index 0000000000..c47eb75643 --- /dev/null +++ b/aleph-client/src/pallets/treasury.rs @@ -0,0 +1,117 @@ +use frame_support::PalletId; +use primitives::{Balance, MILLISECS_PER_BLOCK}; +use sp_runtime::traits::AccountIdConversion; +use subxt::ext::sp_runtime::MultiAddress; + +use crate::{ + api, + pallet_treasury::pallet::Call::{approve_proposal, reject_proposal}, + pallets::{elections::ElectionsApi, staking::StakingApi}, + AccountId, BlockHash, + Call::Treasury, + Connection, RootConnection, SignedConnection, SudoCall, TxStatus, +}; + +#[async_trait::async_trait] +pub trait TreasuryApi { + async fn treasury_account(&self) -> AccountId; + async fn proposals_count(&self, at: Option) -> Option; + async fn approvals(&self, at: Option) -> Vec; +} + +#[async_trait::async_trait] +pub trait TreasuryUserApi { + async fn propose_spend( + &self, + amount: Balance, + beneficiary: AccountId, + status: TxStatus, + ) -> anyhow::Result; + async fn approve(&self, proposal_id: u32, status: TxStatus) -> anyhow::Result; + async fn reject(&self, proposal_id: u32, status: TxStatus) -> anyhow::Result; +} + +#[async_trait::async_trait] +pub trait TreasureApiExt { + async fn possible_treasury_payout(&self) -> Balance; +} + +#[async_trait::async_trait] +pub trait TreasurySudoApi { + async fn approve(&self, proposal_id: u32, status: TxStatus) -> anyhow::Result; + async fn reject(&self, proposal_id: u32, status: TxStatus) -> anyhow::Result; +} + +#[async_trait::async_trait] +impl TreasuryApi for Connection { + async fn treasury_account(&self) -> AccountId { + PalletId(*b"a0/trsry").into_account_truncating() + } + + async fn proposals_count(&self, at: Option) -> Option { + let addrs = api::storage().treasury().proposal_count(); + + self.get_storage_entry_maybe(&addrs, at).await + } + + async fn approvals(&self, at: Option) -> Vec { + let addrs = api::storage().treasury().approvals(); + + self.get_storage_entry(&addrs, at).await.0 + } +} + +#[async_trait::async_trait] +impl TreasuryUserApi for SignedConnection { + async fn propose_spend( + &self, + amount: Balance, + beneficiary: AccountId, + status: TxStatus, + ) -> anyhow::Result { + let tx = api::tx() + .treasury() + .propose_spend(amount, MultiAddress::Id(beneficiary)); + + self.send_tx(tx, status).await + } + + async fn approve(&self, proposal_id: u32, status: TxStatus) -> anyhow::Result { + let tx = api::tx().treasury().approve_proposal(proposal_id); + + self.send_tx(tx, status).await + } + + async fn reject(&self, proposal_id: u32, status: TxStatus) -> anyhow::Result { + let tx = api::tx().treasury().reject_proposal(proposal_id); + + self.send_tx(tx, status).await + } +} + +#[async_trait::async_trait] +impl TreasurySudoApi for RootConnection { + async fn approve(&self, proposal_id: u32, status: TxStatus) -> anyhow::Result { + let call = Treasury(approve_proposal { proposal_id }); + + self.sudo_unchecked(call, status).await + } + + async fn reject(&self, proposal_id: u32, status: TxStatus) -> anyhow::Result { + let call = Treasury(reject_proposal { proposal_id }); + + self.sudo_unchecked(call, status).await + } +} + +#[async_trait::async_trait] +impl TreasureApiExt for Connection { + async fn possible_treasury_payout(&self) -> Balance { + let session_period = self.get_session_period().await; + let sessions_per_era = self.get_session_per_era().await; + + let millisecs_per_era = + MILLISECS_PER_BLOCK * session_period as u64 * sessions_per_era as u64; + primitives::staking::era_payout(millisecs_per_era).1 + } +} diff --git a/aleph-client/src/pallets/utility.rs b/aleph-client/src/pallets/utility.rs new file mode 100644 index 0000000000..9374b8480e --- /dev/null +++ b/aleph-client/src/pallets/utility.rs @@ -0,0 +1,15 @@ +use crate::{api, BlockHash, Call, SignedConnection, TxStatus}; + +#[async_trait::async_trait] +pub trait UtilityApi { + async fn batch_call(&self, calls: Vec, status: TxStatus) -> anyhow::Result; +} + +#[async_trait::async_trait] +impl UtilityApi for SignedConnection { + async fn batch_call(&self, calls: Vec, status: TxStatus) -> anyhow::Result { + let tx = api::tx().utility().batch(calls); + + self.send_tx(tx, status).await + } +} diff --git a/aleph-client/src/pallets/vesting.rs b/aleph-client/src/pallets/vesting.rs new file mode 100644 index 0000000000..567c35202d --- /dev/null +++ b/aleph-client/src/pallets/vesting.rs @@ -0,0 +1,85 @@ +use subxt::ext::sp_runtime::MultiAddress; + +use crate::{ + api, pallet_vesting::vesting_info::VestingInfo, AccountId, BlockHash, Connection, + SignedConnection, TxStatus, +}; + +#[async_trait::async_trait] +pub trait VestingApi { + async fn get_vesting( + &self, + who: AccountId, + at: Option, + ) -> Vec>; +} + +#[async_trait::async_trait] +pub trait VestingUserApi { + async fn vest(&self, status: TxStatus) -> anyhow::Result; + async fn vest_other(&self, status: TxStatus, other: AccountId) -> anyhow::Result; + async fn vested_transfer( + &self, + receiver: AccountId, + schedule: VestingInfo, + status: TxStatus, + ) -> anyhow::Result; + async fn merge_schedules( + &self, + idx1: u32, + idx2: u32, + status: TxStatus, + ) -> anyhow::Result; +} + +#[async_trait::async_trait] +impl VestingApi for Connection { + async fn get_vesting( + &self, + who: AccountId, + at: Option, + ) -> Vec> { + let addrs = api::storage().vesting().vesting(who); + + self.get_storage_entry(&addrs, at).await.0 + } +} + +#[async_trait::async_trait] +impl VestingUserApi for SignedConnection { + async fn vest(&self, status: TxStatus) -> anyhow::Result { + let tx = api::tx().vesting().vest(); + + self.send_tx(tx, status).await + } + + async fn vest_other(&self, status: TxStatus, other: AccountId) -> anyhow::Result { + let tx = api::tx().vesting().vest_other(MultiAddress::Id(other)); + + self.send_tx(tx, status).await + } + + async fn vested_transfer( + &self, + receiver: AccountId, + schedule: VestingInfo, + status: TxStatus, + ) -> anyhow::Result { + let tx = api::tx() + .vesting() + .vested_transfer(MultiAddress::Id(receiver), schedule); + + self.send_tx(tx, status).await + } + + async fn merge_schedules( + &self, + idx1: u32, + idx2: u32, + status: TxStatus, + ) -> anyhow::Result { + let tx = api::tx().vesting().merge_schedules(idx1, idx2); + + self.send_tx(tx, status).await + } +} diff --git a/aleph-client/src/rpc.rs b/aleph-client/src/rpc.rs deleted file mode 100644 index f6eab8007a..0000000000 --- a/aleph-client/src/rpc.rs +++ /dev/null @@ -1,216 +0,0 @@ -use codec::Encode; -use serde_json::{json, Value}; -use sp_core::{ - ed25519, - storage::{StorageChangeSet, StorageData}, - Pair, H256, -}; -use substrate_api_client::StorageKey; - -use crate::{AnyConnection, BlockHash, BlockNumber, SessionKeys}; - -fn json_req(method: &str, params: Value, id: u32) -> Value { - json!({ - "method": method, - "params": params, - "jsonrpc": "2.0", - "id": id.to_string(), - }) -} - -pub fn author_rotate_keys_json() -> Value { - json_req("author_rotateKeys", Value::Null, 1) -} - -/// Produces a JSON encoding of an emergency finalization RPC. -fn emergency_finalize_json(signature: Vec, hash: BlockHash, number: BlockNumber) -> Value { - json_req( - "alephNode_emergencyFinalize", - json!([signature, hash, number]), - 1, - ) -} - -fn state_query_storage_at_json(storage_keys: &[StorageKey]) -> Value { - json_req( - "state_queryStorageAt", - Value::Array(vec![ - Value::Array( - storage_keys - .iter() - .map(|storage_key| Value::String(hex::encode(storage_key))) - .collect::>(), - ), - Value::Null, - ]), - 1, - ) -} - -fn parse_query_storage_at_result( - maybe_json_result: Option, - expected_storage_key_size: usize, -) -> Result>, String> { - match maybe_json_result { - None => Err(String::from("Returned result was null!")), - Some(result) => { - let mut storage_change_set_vec: Vec> = - serde_json::from_str(&result[..]).map_err(|_| { - String::from(&format!("Failed to parse result {:?} into JSON", result)) - })?; - if storage_change_set_vec.is_empty() { - return Err(String::from("Expected result to be non-empty!")); - } - // we're interested only in first element, since queryStorageAt returns history of - // changes of given storage key starting from requested block, in our case from - // best known block - let storage_change_set = storage_change_set_vec.remove(0); - if storage_change_set.changes.len() != expected_storage_key_size { - return Err(format!( - "Expected result to have exactly {} entries, got {}!", - expected_storage_key_size, - storage_change_set.changes.len() - )); - } - Ok(storage_change_set - .changes - .into_iter() - .map(|(_, entries)| entries) - .collect()) - } - } -} - -pub fn state_query_storage_at( - connection: &C, - storage_keys: Vec, -) -> Result>, String> { - match connection - .as_connection() - .get_request(state_query_storage_at_json(&storage_keys)) - { - Ok(maybe_json_result) => { - parse_query_storage_at_result(maybe_json_result, storage_keys.len()) - } - Err(_) => Err(format!( - "Failed to obtain results from storage keys {:?}", - &storage_keys - )), - } -} - -pub fn rotate_keys_base( - connection: &C, - rpc_result_mapper: F, -) -> Result -where - F: Fn(String) -> Option, -{ - match connection - .as_connection() - .get_request(author_rotate_keys_json()) - { - Ok(maybe_keys) => match maybe_keys { - Some(keys) => match rpc_result_mapper(keys) { - Some(keys) => Ok(keys), - None => Err("Failed to parse keys from string result"), - }, - None => Err("Failed to retrieve keys from chain"), - }, - Err(_) => Err("Connection does not work"), - } -} - -pub fn rotate_keys(connection: &C) -> Result { - rotate_keys_base(connection, |keys| match SessionKeys::try_from(keys) { - Ok(keys) => Some(keys), - Err(_) => None, - }) -} - -pub fn rotate_keys_raw_result(connection: &C) -> Result { - // we need to escape two characters from RPC result which is escaped quote - rotate_keys_base(connection, |keys| Some(keys.trim_matches('\"').to_string())) -} - -/// Sends an emergency justification to the node, using the provided key to sign the hash. -pub fn emergency_finalize( - connection: &C, - number: BlockNumber, - hash: BlockHash, - key: ed25519::Pair, -) -> Result<(), String> { - let signature = key.sign(&hash.encode()); - let raw_signature: &[u8] = signature.as_ref(); - match connection - .as_connection() - .get_request(emergency_finalize_json( - raw_signature.to_vec(), - hash, - number, - )) { - Ok(_) => Ok(()), - Err(e) => Err(format!("Emergency finalize failed: {}", e)), - } -} - -#[cfg(test)] -mod tests { - use super::*; - - #[test] - fn given_some_input_when_state_query_storage_at_json_then_json_is_as_expected() { - let storage_keys = vec![ - StorageKey(vec![0, 1, 2, 3, 4, 5]), - StorageKey(vec![9, 8, 7, 6, 5]), - ]; - let expected_json_string = r#" -{ - "id": "1", - "jsonrpc": "2.0", - "method":"state_queryStorageAt", - "params": [["000102030405", "0908070605"], null] -}"#; - - let expected_json: Value = serde_json::from_str(expected_json_string).unwrap(); - assert_eq!(expected_json, state_query_storage_at_json(&storage_keys)); - } - - #[test] - fn given_expected_input_when_parse_query_storage_at_result_then_json_is_as_expected() { - let expected_json_string = r#" - [ - { - "block": "0x07825c4cae90d07a322ea434ed82186091e0aae8d465274d07ab1e1dea545d0d", - "changes": [ - [ - "0xc2261276cc9d1f8598ea4b6a74b15c2f218f26c73add634897550b4003b26bc61b614bd4a126f2d5d294e9a8af9da25248d7e931307afb4b68d8d565d4c66e00d856c6d65f5fed6bb82dcfb60e936c67", - "0x047374616b696e672000407a10f35a0000000000000000000002" - ], - [ - "0xc2261276cc9d1f8598ea4b6a74b15c2f218f26c73add634897550b4003b26bc6e2c1dc507e2035edbbd8776c440d870460c57f0008067cc01c5ff9eb2e2f9b3a94299a915a91198bd1021a6c55596f57", - "0x047374616b696e672000407a10f35a0000000000000000000002" - ], - [ - "0xc2261276cc9d1f8598ea4b6a74b15c2f218f26c73add634897550b4003b26bc6e2c1dc507e2035edbbd8776c440d870460c57f0008067cc01c5ff9eb2e2f9b3a94299a915a91198bd1021a6c55596f59", - null - ] - ] - } - ]"#; - assert_eq!( - vec![ - Some(StorageData(vec![ - 4, 115, 116, 97, 107, 105, 110, 103, 32, 0, 64, 122, 16, 243, 90, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2 - ])), - Some(StorageData(vec![ - 4, 115, 116, 97, 107, 105, 110, 103, 32, 0, 64, 122, 16, 243, 90, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2 - ])), - None - ], - parse_query_storage_at_result(Some(String::from(expected_json_string)), 3).unwrap() - ); - } -} diff --git a/aleph-client/src/runtime_types.rs b/aleph-client/src/runtime_types.rs new file mode 100644 index 0000000000..88e7144b81 --- /dev/null +++ b/aleph-client/src/runtime_types.rs @@ -0,0 +1,42 @@ +pub use crate::aleph_zero::api::runtime_types::*; +use crate::{ + aleph_runtime::SessionKeys, + api::runtime_types::{ + primitives::app::Public as AlephPublic, + sp_consensus_aura::sr25519::app_sr25519::Public as AuraPublic, + sp_core::{ed25519::Public as EdPublic, sr25519::Public as SrPublic}, + }, + pallet_staking::EraRewardPoints, +}; + +impl Default for EraRewardPoints { + fn default() -> Self { + Self { + total: 0, + individual: vec![], + } + } +} + +// Manually implementing decoding +impl From> for SessionKeys { + fn from(bytes: Vec) -> Self { + assert_eq!(bytes.len(), 64); + Self { + aura: AuraPublic(SrPublic(bytes[..32].try_into().unwrap())), + aleph: AlephPublic(EdPublic(bytes[32..64].try_into().unwrap())), + } + } +} + +impl TryFrom for SessionKeys { + type Error = (); + + fn try_from(keys: String) -> Result { + let bytes: Vec = match hex::FromHex::from_hex(keys) { + Ok(bytes) => bytes, + Err(_) => return Err(()), + }; + Ok(SessionKeys::from(bytes)) + } +} diff --git a/aleph-client/src/session.rs b/aleph-client/src/session.rs deleted file mode 100644 index aeb4fe8c1d..0000000000 --- a/aleph-client/src/session.rs +++ /dev/null @@ -1,167 +0,0 @@ -use codec::{Decode, Encode}; -use log::info; -use primitives::{BlockHash, CommitteeSeats, SessionIndex}; -use sp_core::H256; -use substrate_api_client::{compose_call, compose_extrinsic, AccountId, FromHexString, XtStatus}; - -use crate::{ - get_block_hash, send_xt, waiting::wait_for_event, AnyConnection, BlockNumber, ReadStorage, - RootConnection, SignedConnection, -}; - -const PALLET: &str = "Session"; - -// Using custom struct and rely on default Encode trait from Parity's codec -// it works since byte arrays are encoded in a straight forward way, it as-is -#[derive(Clone, Eq, PartialEq, Hash, Debug, Decode, Encode)] -pub struct Keys { - pub aura: [u8; 32], - pub aleph: [u8; 32], -} - -// Manually implementing decoding -impl From> for Keys { - fn from(bytes: Vec) -> Self { - assert_eq!(bytes.len(), 64); - Self { - aura: bytes[0..32].try_into().unwrap(), - aleph: bytes[32..64].try_into().unwrap(), - } - } -} - -impl TryFrom for Keys { - type Error = (); - - fn try_from(keys: String) -> Result { - let bytes: Vec = match FromHexString::from_hex(keys) { - Ok(bytes) => bytes, - Err(_) => return Err(()), - }; - Ok(Keys::from(bytes)) - } -} - -pub fn get_next_session_keys( - connection: &C, - account_id: AccountId, -) -> Option { - connection.read_storage_map(PALLET, "NextKeys", account_id, None) -} - -pub fn change_validators( - sudo_connection: &RootConnection, - new_reserved_validators: Option>, - new_non_reserved_validators: Option>, - committee_size: Option, - status: XtStatus, -) { - info!(target: "aleph-client", "New validators: reserved: {:#?}, non_reserved: {:#?}, validators_per_session: {:?}", new_reserved_validators, new_non_reserved_validators, committee_size); - let call = compose_call!( - sudo_connection.as_connection().metadata, - "Elections", - "change_validators", - new_reserved_validators, - new_non_reserved_validators, - committee_size - ); - let xt = compose_extrinsic!( - sudo_connection.as_connection(), - "Sudo", - "sudo_unchecked_weight", - call, - 0_u64 - ); - send_xt(sudo_connection, xt, Some("change_validators"), status); -} - -pub fn change_next_era_reserved_validators( - sudo_connection: &RootConnection, - new_validators: Vec, - status: XtStatus, -) { - change_validators(sudo_connection, Some(new_validators), None, None, status) -} - -pub fn set_keys(connection: &SignedConnection, new_keys: Keys, status: XtStatus) { - let xt = compose_extrinsic!( - connection.as_connection(), - PALLET, - "set_keys", - new_keys, - 0u8 - ); - send_xt(connection, xt, Some("set_keys"), status); -} - -pub fn get_current_session(connection: &C) -> SessionIndex { - get_session(connection, None) -} - -pub fn get_session(connection: &C, block_hash: Option) -> SessionIndex { - connection - .as_connection() - .get_storage_value(PALLET, "CurrentIndex", block_hash) - .unwrap() - .unwrap_or(0) -} - -pub fn wait_for_predicate bool>( - connection: &C, - session_predicate: P, -) -> anyhow::Result { - info!(target: "aleph-client", "Waiting for session"); - - #[derive(Debug, Decode, Clone)] - struct NewSessionEvent { - session_index: SessionIndex, - } - let result = wait_for_event(connection, (PALLET, "NewSession"), |e: NewSessionEvent| { - info!(target: "aleph-client", "New session {}", e.session_index); - - session_predicate(e.session_index) - })?; - Ok(result.session_index) -} - -pub fn wait_for( - connection: &C, - session_index: SessionIndex, -) -> anyhow::Result { - wait_for_predicate(connection, |session_ix| session_ix == session_index) -} - -pub fn wait_for_at_least( - connection: &C, - session_index: SessionIndex, -) -> anyhow::Result { - wait_for_predicate(connection, |session_ix| session_ix >= session_index) -} - -pub fn get_session_period(connection: &C) -> u32 { - connection.read_constant("Elections", "SessionPeriod") -} - -pub fn get_validators_for_session( - connection: &C, - session: SessionIndex, -) -> Vec { - let session_period = get_session_period(connection); - let first_block = session_period * session; - let block = get_block_hash(connection, first_block); - - connection.read_storage_value_at_block(PALLET, "Validators", Some(block)) -} - -pub fn get_current_validators(connection: &C) -> Vec { - connection.read_storage_value(PALLET, "Validators") -} - -pub fn get_current_validator_count(connection: &C) -> u32 { - get_current_validators(connection).len() as u32 -} - -pub fn get_session_first_block(connection: &C, session: SessionIndex) -> BlockHash { - let block_number = session * get_session_period(connection); - get_block_hash(connection, block_number) -} diff --git a/aleph-client/src/staking.rs b/aleph-client/src/staking.rs deleted file mode 100644 index f5b5f443a6..0000000000 --- a/aleph-client/src/staking.rs +++ /dev/null @@ -1,469 +0,0 @@ -use std::collections::{BTreeMap, BTreeSet}; - -use codec::{Compact, Decode, Encode}; -use frame_support::BoundedVec; -use log::{debug, info}; -use pallet_staking::{ - Exposure, MaxUnlockingChunks, RewardDestination, UnlockChunk, ValidatorPrefs, -}; -use primitives::EraIndex; -use rayon::prelude::*; -use sp_core::{storage::StorageKey, Pair, H256}; -use sp_runtime::Perbill; -use substrate_api_client::{ - compose_call, compose_extrinsic, AccountId, Balance, GenericAddress, XtStatus, -}; - -use crate::{ - account_from_keypair, create_connection, locks, send_xt, session::wait_for_predicate, - wait_for_session, AnyConnection, BlockNumber, KeyPair, ReadStorage, RootConnection, - SignedConnection, -}; - -const PALLET: &str = "Staking"; - -pub fn bond( - connection: &SignedConnection, - initial_stake: Balance, - controller_account_id: &AccountId, - status: XtStatus, -) { - let controller_account_id = GenericAddress::Id(controller_account_id.clone()); - - let xt = connection.as_connection().staking_bond( - controller_account_id, - initial_stake, - RewardDestination::Staked, - ); - send_xt(connection, xt, Some("bond"), status); -} - -pub fn multi_bond(node: &str, bonders: &[KeyPair], stake: Balance) { - bonders.par_iter().for_each(|bonder| { - let connection = create_connection(node) - .set_signer(bonder.clone()) - .try_into() - .expect("Signer has been set"); - - let controller_account = account_from_keypair(bonder); - bond(&connection, stake, &controller_account, XtStatus::InBlock); - }); -} - -pub fn validate( - connection: &SignedConnection, - validator_commission_percentage: u8, - status: XtStatus, -) { - let prefs = ValidatorPrefs { - blocked: false, - commission: Perbill::from_percent(validator_commission_percentage as u32), - }; - let xt = compose_extrinsic!(connection.as_connection(), PALLET, "validate", prefs); - send_xt(connection, xt, Some("validate"), status); -} - -pub fn set_staking_limits( - connection: &RootConnection, - minimal_nominator_stake: u128, - minimal_validator_stake: u128, - max_nominators_count: Option, - max_validators_count: Option, - status: XtStatus, -) { - let set_staking_limits_call = compose_call!( - connection.as_connection().metadata, - PALLET, - "set_staking_limits", - minimal_nominator_stake, - minimal_validator_stake, - max_nominators_count, - max_validators_count, - 0_u8 - ); - let xt = compose_extrinsic!( - connection.as_connection(), - "Sudo", - "sudo", - set_staking_limits_call - ); - send_xt(connection, xt, Some("set_staking_limits"), status); -} - -pub fn force_new_era(connection: &RootConnection, status: XtStatus) { - let force_new_era_call = - compose_call!(connection.as_connection().metadata, PALLET, "force_new_era"); - let xt = compose_extrinsic!( - connection.as_connection(), - "Sudo", - "sudo", - force_new_era_call - ); - send_xt(connection, xt, Some("force_new_era"), status); -} - -pub fn wait_for_full_era_completion(connection: &C) -> anyhow::Result { - // staking works in such a way, that when we request a controller to be a validator in era N, - // then the changes are applied in the era N+1 (so the new validator is receiving points in N+1), - // so that we need N+1 to finish in order to claim the reward in era N+2 for the N+1 era - wait_for_era_completion(connection, get_active_era(connection) + 2) -} - -pub fn wait_for_next_era(connection: &C) -> anyhow::Result { - wait_for_era_completion(connection, get_active_era(connection) + 1) -} - -pub fn wait_for_at_least_era( - connection: &C, - era: EraIndex, -) -> anyhow::Result { - let current_era = get_era(connection, None); - if current_era >= era { - return Ok(current_era); - } - let sessions_per_era: u32 = connection.read_constant(PALLET, "SessionsPerEra"); - let first_session_in_era = era * sessions_per_era; - wait_for_predicate(connection, |session| session >= first_session_in_era)?; - Ok(get_era(connection, None)) -} - -pub fn wait_for_era_completion( - connection: &C, - next_era_index: EraIndex, -) -> anyhow::Result { - debug!("waiting for era {}", next_era_index); - let sessions_per_era: u32 = connection.read_constant(PALLET, "SessionsPerEra"); - let first_session_in_next_era = next_era_index * sessions_per_era; - debug!( - "waiting for session first_session_in_next_era={}", - first_session_in_next_era - ); - wait_for_session(connection, first_session_in_next_era)?; - Ok(next_era_index) -} - -pub fn get_sessions_per_era(connection: &C) -> u32 { - connection.read_constant(PALLET, "SessionsPerEra") -} - -pub fn get_era(connection: &C, block: Option) -> EraIndex { - connection - .as_connection() - .get_storage_value(PALLET, "ActiveEra", block) - .expect("Failed to obtain ActiveEra extrinsic!") - .expect("ActiveEra is empty in the storage!") -} - -pub fn get_active_era(connection: &C) -> EraIndex { - get_era(connection, None) -} - -pub fn get_current_era(connection: &C) -> EraIndex { - connection - .as_connection() - .get_storage_value(PALLET, "CurrentEra", None) - .expect("Failed to obtain CurrentEra extrinsic!") - .expect("CurrentEra is empty in the storage!") -} - -pub fn payout_stakers( - stash_connection: &SignedConnection, - stash_account: &AccountId, - era_number: BlockNumber, -) { - let xt = compose_extrinsic!( - stash_connection.as_connection(), - PALLET, - "payout_stakers", - stash_account, - era_number - ); - - send_xt( - stash_connection, - xt, - Some("payout stakers"), - XtStatus::InBlock, - ); -} - -pub fn payout_stakers_and_assert_locked_balance( - stash_connection: &SignedConnection, - accounts_to_check_balance: &[AccountId], - stash_account: &AccountId, - era: BlockNumber, -) { - let locked_stash_balances_before_payout = locks(stash_connection, accounts_to_check_balance); - payout_stakers(stash_connection, stash_account, era - 1); - let locked_stash_balances_after_payout = locks(stash_connection, accounts_to_check_balance); - locked_stash_balances_before_payout.iter() - .zip(locked_stash_balances_after_payout.iter()) - .zip(accounts_to_check_balance.iter()) - .for_each(|((balances_before, balances_after), account_id)| { - assert!(balances_after[0].amount > balances_before[0].amount, - "Expected payout to be positive in locked balance for account {}. Balance before: {}, balance after: {}", - account_id, balances_before[0].amount, balances_after[0].amount); - }); -} - -pub fn batch_bond( - connection: &RootConnection, - stash_controller_accounts: &[(&AccountId, &AccountId)], - bond_value: u128, - reward_destination: RewardDestination, -) { - let metadata = &connection.as_connection().metadata; - - let batch_bond_calls = stash_controller_accounts - .iter() - .cloned() - .map(|(stash_account, controller_account)| { - let bond_call = compose_call!( - metadata, - PALLET, - "bond", - GenericAddress::Id(controller_account.clone()), - Compact(bond_value), - reward_destination.clone() - ); - compose_call!( - metadata, - "Sudo", - "sudo_as", - GenericAddress::Id(stash_account.clone()), - bond_call - ) - }) - .collect::>(); - - let xt = compose_extrinsic!( - connection.as_connection(), - "Utility", - "batch", - batch_bond_calls - ); - send_xt( - connection, - xt, - Some("batch of bond calls"), - XtStatus::InBlock, - ); -} - -pub fn nominate(connection: &SignedConnection, nominee_account_id: &AccountId) { - let xt = connection - .as_connection() - .staking_nominate(vec![GenericAddress::Id(nominee_account_id.clone())]); - send_xt(connection, xt, Some("nominate"), XtStatus::InBlock); -} - -pub fn batch_nominate( - connection: &RootConnection, - nominator_nominee_pairs: &[(&AccountId, &AccountId)], -) { - let metadata = &connection.as_connection().metadata; - - let batch_nominate_calls = nominator_nominee_pairs - .iter() - .cloned() - .map(|(nominator, nominee)| { - let nominate_call = compose_call!( - metadata, - PALLET, - "nominate", - vec![GenericAddress::Id(nominee.clone())] - ); - compose_call!( - metadata, - "Sudo", - "sudo_as", - GenericAddress::Id(nominator.clone()), - nominate_call - ) - }) - .collect::>(); - - let xt = compose_extrinsic!( - connection.as_connection(), - "Utility", - "batch", - batch_nominate_calls - ); - send_xt( - connection, - xt, - Some("batch of nominate calls"), - XtStatus::InBlock, - ); -} - -pub fn bonded(connection: &C, stash: &KeyPair) -> Option { - let account_id = AccountId::from(stash.public()); - connection - .as_connection() - .get_storage_map(PALLET, "Bonded", &account_id, None) - .unwrap_or_else(|_| panic!("Failed to obtain Bonded for account id {}", account_id)) -} - -/// Since PR #10982 changed `pallet_staking::StakingLedger` to be generic over -/// `T: pallet_staking::Config` (somehow breaking consistency with similar structures in other -/// pallets) we have no easy way of retrieving ledgers from storage. Thus, we chose cloning -/// (relevant part of) this struct instead of implementing `Config` trait. -#[derive(Clone, Eq, PartialEq, Debug, Encode, Decode)] -pub struct StakingLedger { - pub stash: AccountId, - #[codec(compact)] - pub total: Balance, - #[codec(compact)] - pub active: Balance, - pub unlocking: BoundedVec, MaxUnlockingChunks>, -} - -pub fn ledger(connection: &C, controller: &KeyPair) -> Option { - let account_id = AccountId::from(controller.public()); - connection - .as_connection() - .get_storage_map(PALLET, "Ledger", &account_id, None) - .unwrap_or_else(|_| panic!("Failed to obtain Ledger for account id {}", account_id)) -} - -pub fn get_payout_for_era(connection: &C, era: EraIndex) -> u128 { - connection - .as_connection() - .get_storage_map(PALLET, "ErasValidatorReward", era, None) - .expect("Failed to obtain ErasValidatorReward") - .expect("ErasValidatoReward is empty in storage") -} - -pub fn get_exposure( - connection: &C, - era: EraIndex, - account_id: &AccountId, - block_hash: Option, -) -> Exposure { - connection - .as_connection() - .get_storage_double_map(PALLET, "ErasStakers", era, account_id, block_hash) - .expect("Failed to obtain ErasStakers extrinsic!") - .unwrap_or_else(|| panic!("Failed to decode ErasStakers for era {}.", era)) -} - -pub type RewardPoint = u32; - -/// Helper to decode reward points for an era without the need to fill in a generic parameter. -/// Reward points of an era. Used to split era total payout between validators. -/// -/// This points will be used to reward validators and their respective nominators. -#[derive(Clone, Decode, Default)] -pub struct EraRewardPoints { - /// Total number of points. Equals the sum of reward points for each validator. - pub total: RewardPoint, - /// The reward points earned by a given validator. - pub individual: BTreeMap, -} - -pub fn get_era_reward_points( - connection: &C, - era: EraIndex, - block_hash: Option, -) -> Option { - connection - .as_connection() - .get_storage_map(PALLET, "ErasRewardPoints", era, block_hash) - .unwrap_or_else(|e| { - panic!( - "Failed to obtain ErasRewardPoints for era {} at block {:?}: {}", - era, block_hash, e - ) - }) -} - -/// Get `ErasStakers` as `StorageKey`s from `pallet_staking` -pub fn get_stakers_as_storage_keys( - connection: &C, - accounts: &[AccountId], - era: EraIndex, -) -> BTreeSet { - accounts - .iter() - .map(|acc| { - connection - .as_connection() - .metadata - .storage_double_map_key(PALLET, "ErasStakers", era, acc) - .unwrap() - }) - .collect() -} - -/// Produce storage key to `ErasStakers::era`. -/// -/// Since in `substrate-api-client` it seems impossible to get prefix for the first key in double -/// map, we have to do it by hand. -pub fn get_eras_stakers_storage_key(era: EraIndex) -> StorageKey { - let mut bytes = sp_core::twox_128(PALLET.as_bytes()).to_vec(); - bytes.extend(&sp_core::twox_128("ErasStakers".as_bytes())[..]); - - let era_encoded = codec::Encode::encode(&era); - // `pallet_staking::ErasStakers`'s keys are `Twox64Concat`-encoded. - let era_key: Vec = sp_core::twox_64(&era_encoded) - .iter() - .chain(&era_encoded) - .cloned() - .collect(); - bytes.extend(era_key); - - StorageKey(bytes) -} - -/// Get `ErasStakers` as `StorageKey`s based on the manually produced first `StorageKey` in the double map. -pub fn get_stakers_as_storage_keys_from_storage_key( - connection: &C, - current_era: EraIndex, - storage_key: StorageKey, -) -> BTreeSet { - let stakers = connection - .as_connection() - .get_keys(storage_key, None) - .unwrap_or_else(|_| panic!("Couldn't read storage keys")) - .unwrap_or_else(|| panic!("Couldn't read `ErasStakers` for era {}", current_era)) - .into_iter() - .map(|key| { - let mut bytes = [0u8; 84]; - hex::decode_to_slice(&key[2..], &mut bytes as &mut [u8]).expect("Should decode key"); - StorageKey(bytes.to_vec()) - }); - BTreeSet::from_iter(stakers) -} - -/// Chill validator. -pub fn chill_validator(connection: &SignedConnection) { - let xt = compose_extrinsic!(connection.as_connection(), PALLET, "chill"); - send_xt( - connection, - xt, - Some("chilling validator"), - XtStatus::InBlock, - ); -} - -/// Chill all validators in `chilling`. -pub fn chill_validators(node: &str, chilling: Vec) { - for validator in chilling.into_iter() { - info!("Chilling validator {:?}", validator.public()); - let connection = SignedConnection::new(node, validator); - chill_validator(&connection); - } -} - -/// Given a `SignedConnection`, bond an extra stake equal to `additional_stake`. -pub fn bond_extra_stake(connection: &SignedConnection, additional_stake: Balance) { - let xt = connection - .as_connection() - .staking_bond_extra(additional_stake); - send_xt(connection, xt, Some("bond_extra"), XtStatus::Finalized); -} - -pub fn get_minimum_validator_count(connection: &C) -> u32 { - connection.read_storage_value(PALLET, "MinimumValidatorCount") -} diff --git a/aleph-client/src/system.rs b/aleph-client/src/system.rs deleted file mode 100644 index 5db1368e9e..0000000000 --- a/aleph-client/src/system.rs +++ /dev/null @@ -1,38 +0,0 @@ -use sp_runtime::Perbill; -use substrate_api_client::{compose_call, compose_extrinsic, XtStatus}; - -use crate::{send_xt, try_send_xt, AnyConnection, CallSystem, RootConnection}; - -pub fn set_code(connection: &RootConnection, runtime: Vec, status: XtStatus) { - let call = compose_call!( - connection.as_connection().metadata, - "System", - "set_code", - runtime - ); - let xt = compose_extrinsic!( - connection.as_connection(), - "Sudo", - "sudo_unchecked_weight", - call, - 0_u64 - ); - send_xt(connection, xt, Some("set_code"), status); -} - -impl CallSystem for RootConnection { - type Error = substrate_api_client::std::error::Error; - - fn fill_block(&self, target_ratio_percent: u32, status: XtStatus) -> Result<(), Self::Error> { - let connection = self.as_connection(); - let target_ratio_perbill = Perbill::from_percent(target_ratio_percent); - let call = compose_call!( - connection.metadata, - "System", - "fill_block", - target_ratio_perbill.deconstruct() - ); - let xt = compose_extrinsic!(connection, "Sudo", "sudo", call); - try_send_xt(&connection, xt, Some("fill block"), status).map(|_| ()) - } -} diff --git a/aleph-client/src/transfer.rs b/aleph-client/src/transfer.rs deleted file mode 100644 index bfaa80912e..0000000000 --- a/aleph-client/src/transfer.rs +++ /dev/null @@ -1,111 +0,0 @@ -use codec::Compact; -use primitives::Balance; -use sp_core::H256; -use sp_runtime::MultiAddress; -use substrate_api_client::{ - compose_call, compose_extrinsic, compose_extrinsic_offline, std::error::Error as SacError, - AccountId, GenericAddress, XtStatus, -}; - -use crate::{ - send_xt, try_send_xt, AnyConnection, BalanceTransfer, BatchTransactions, Extrinsic, - SignedConnection, -}; - -pub type TransferCall = ([u8; 2], MultiAddress, Compact); -pub type TransferTransaction = Extrinsic; - -pub fn transfer( - connection: &SignedConnection, - target: &AccountId, - value: u128, - status: XtStatus, -) -> TransferTransaction { - let xt = connection - .as_connection() - .balance_transfer(GenericAddress::Id(target.clone()), value); - send_xt(connection, xt.clone(), Some("transfer"), status); - xt -} - -pub fn batch_transfer( - connection: &SignedConnection, - account_keys: Vec, - endowment: u128, -) { - let batch_endow = account_keys - .into_iter() - .map(|account_id| { - compose_call!( - connection.as_connection().metadata, - "Balances", - "transfer", - GenericAddress::Id(account_id), - Compact(endowment) - ) - }) - .collect::>(); - - let xt = compose_extrinsic!(connection.as_connection(), "Utility", "batch", batch_endow); - send_xt( - connection, - xt, - Some("batch of endow balances"), - XtStatus::InBlock, - ); -} - -impl SignedConnection { - pub fn create_transfer_extrinsic( - &self, - tx: ::TransferTx, - ) -> TransferTransaction { - let nonce = self.as_connection().get_nonce().unwrap(); - compose_extrinsic_offline!( - self.as_connection().signer.unwrap(), - tx, - self.as_connection().extrinsic_params(nonce) - ) - } -} - -impl BalanceTransfer for SignedConnection { - type TransferTx = TransferCall; - type Error = SacError; - - fn create_transfer_tx(&self, account: AccountId, amount: Balance) -> Self::TransferTx { - compose_call!( - self.as_connection().metadata, - "Balances", - "transfer", - GenericAddress::Id(account), - amount.into() - ) - } - - fn transfer( - &self, - tx: Self::TransferTx, - status: XtStatus, - ) -> Result, Self::Error> { - let xt = self.create_transfer_extrinsic(tx); - try_send_xt(self, xt, Some("transfer"), status) - } -} - -impl BatchTransactions<::TransferTx> for SignedConnection { - type Error = SacError; - - fn batch_and_send_transactions<'a>( - &self, - transactions: impl IntoIterator::TransferTx>, - status: XtStatus, - ) -> Result, Self::Error> - where - ::TransferTx: 'a, - { - let txs = Vec::from_iter(transactions); - let xt = compose_extrinsic!(self.as_connection(), "Utility", "batch", txs); - try_send_xt(self, xt, Some("batch/transfer"), status) - } -} diff --git a/aleph-client/src/treasury.rs b/aleph-client/src/treasury.rs deleted file mode 100644 index 4629d39aa0..0000000000 --- a/aleph-client/src/treasury.rs +++ /dev/null @@ -1,134 +0,0 @@ -use std::{thread, thread::sleep, time::Duration}; - -use codec::Decode; -use frame_support::PalletId; -use primitives::{Balance, MILLISECS_PER_BLOCK}; -use sp_core::H256; -use sp_runtime::{traits::AccountIdConversion, AccountId32}; -use substrate_api_client::{compose_extrinsic, ApiResult, GenericAddress, XtStatus}; - -use crate::{ - try_send_xt, wait_for_event, AnyConnection, ReadStorage, RootConnection, SignedConnection, -}; - -const PALLET: &str = "Treasury"; - -type AnyResult = anyhow::Result; - -/// Returns the account of the treasury. -pub fn treasury_account() -> AccountId32 { - PalletId(*b"a0/trsry").into_account_truncating() -} - -/// Returns how many treasury proposals have ever been created. -pub fn proposals_counter(connection: &C) -> u32 { - connection.read_storage_value_or_default(PALLET, "ProposalCount") -} - -/// Calculates how much balance will be paid out to the treasury after each era. -pub fn staking_treasury_payout(connection: &C) -> Balance { - let sessions_per_era: u32 = connection.read_constant("Staking", "SessionsPerEra"); - let session_period: u32 = connection.read_constant("Elections", "SessionPeriod"); - let millisecs_per_era = MILLISECS_PER_BLOCK * session_period as u64 * sessions_per_era as u64; - primitives::staking::era_payout(millisecs_per_era).1 -} - -/// Creates a proposal of spending treasury's funds. -/// -/// The intention is to transfer `value` balance to `beneficiary`. The signer of `connection` is the -/// proposer. -pub fn propose( - connection: &SignedConnection, - value: Balance, - beneficiary: &AccountId32, -) -> ApiResult> { - let xt = compose_extrinsic!( - connection.as_connection(), - PALLET, - "propose_spend", - Compact(value), - GenericAddress::Id(beneficiary.clone()) - ); - try_send_xt(connection, xt, Some("treasury spend"), XtStatus::Finalized) -} - -/// Approves proposal with id `proposal_id` and waits (in a loop) until pallet storage is updated. -/// -/// Unfortunately, pallet treasury does not emit any event (like while rejecting), so we have to -/// keep reading storage to be sure. Hence, it may be an expensive call. -/// -/// Be careful, since execution might never end. -pub fn approve(connection: &RootConnection, proposal_id: u32) -> AnyResult<()> { - send_approval(connection, proposal_id)?; - wait_for_approval(connection, proposal_id) -} - -/// Rejects proposal with id `proposal_id` and waits for the corresponding event. -/// -/// Be careful, since execution might never end (we may stuck on waiting for the event forever). -pub fn reject(connection: &RootConnection, proposal_id: u32) -> AnyResult<()> { - let listener = { - let (c, p) = (connection.clone(), proposal_id); - thread::spawn(move || wait_for_rejection(&c, p)) - }; - send_rejection(connection, proposal_id)?; - listener - .join() - .expect("Corresponding event should have been emitted") -} - -#[derive(Debug, Decode, Copy, Clone)] -struct ProposalRejectedEvent { - proposal_id: u32, - _slashed: Balance, -} - -fn wait_for_rejection(connection: &C, proposal_id: u32) -> AnyResult<()> { - wait_for_event( - connection, - (PALLET, "Rejected"), - |e: ProposalRejectedEvent| proposal_id.eq(&e.proposal_id), - ) - .map(|_| ()) -} - -fn send_rejection(connection: &RootConnection, proposal_id: u32) -> ApiResult> { - let xt = compose_extrinsic!( - connection.as_connection(), - PALLET, - "reject_proposal", - Compact(proposal_id) - ); - try_send_xt( - connection, - xt, - Some("treasury rejection"), - XtStatus::Finalized, - ) -} - -fn send_approval(connection: &RootConnection, proposal_id: u32) -> ApiResult> { - let xt = compose_extrinsic!( - connection.as_connection(), - PALLET, - "approve_proposal", - Compact(proposal_id) - ); - try_send_xt( - connection, - xt, - Some("treasury approval"), - XtStatus::Finalized, - ) -} - -fn wait_for_approval(connection: &C, proposal_id: u32) -> AnyResult<()> { - loop { - let approvals: Vec = connection.read_storage_value(PALLET, "Approvals"); - if approvals.contains(&proposal_id) { - return Ok(()); - } else { - sleep(Duration::from_millis(500)) - } - } -} diff --git a/aleph-client/src/utility.rs b/aleph-client/src/utility.rs new file mode 100644 index 0000000000..eb59983f03 --- /dev/null +++ b/aleph-client/src/utility.rs @@ -0,0 +1,71 @@ +use log::info; +use primitives::{BlockNumber, EraIndex, SessionIndex}; + +use crate::{ + pallets::{elections::ElectionsApi, staking::StakingApi}, + BlockHash, Connection, +}; + +#[async_trait::async_trait] +pub trait BlocksApi { + async fn first_block_of_session(&self, session: SessionIndex) -> Option; + async fn get_block_hash(&self, block: BlockNumber) -> Option; + async fn get_best_block(&self) -> BlockNumber; + async fn get_finalized_block_hash(&self) -> BlockHash; + async fn get_block_number(&self, block: BlockHash) -> Option; +} + +#[async_trait::async_trait] +pub trait SessionEraApi { + async fn get_active_era_for_session(&self, session: SessionIndex) -> EraIndex; +} + +#[async_trait::async_trait] +impl BlocksApi for Connection { + async fn first_block_of_session(&self, session: SessionIndex) -> Option { + let period = self.get_session_period().await; + let block_num = period * session; + + self.get_block_hash(block_num).await + } + + async fn get_block_hash(&self, block: BlockNumber) -> Option { + info!(target: "aleph-client", "querying block hash for number #{}", block); + self.client + .rpc() + .block_hash(Some(block.into())) + .await + .unwrap() + } + + async fn get_best_block(&self) -> BlockNumber { + self.client + .rpc() + .header(None) + .await + .unwrap() + .unwrap() + .number + } + + async fn get_finalized_block_hash(&self) -> BlockHash { + self.client.rpc().finalized_head().await.unwrap() + } + + async fn get_block_number(&self, block: BlockHash) -> Option { + self.client + .rpc() + .header(Some(block)) + .await + .unwrap() + .map(|h| h.number) + } +} + +#[async_trait::async_trait] +impl SessionEraApi for Connection { + async fn get_active_era_for_session(&self, session: SessionIndex) -> EraIndex { + let block = self.first_block_of_session(session).await; + self.get_active_era(block).await + } +} diff --git a/aleph-client/src/version_upgrade.rs b/aleph-client/src/version_upgrade.rs deleted file mode 100644 index f180d5437d..0000000000 --- a/aleph-client/src/version_upgrade.rs +++ /dev/null @@ -1,45 +0,0 @@ -use anyhow::Result; -use primitives::SessionIndex; -use substrate_api_client::{compose_call, compose_extrinsic, ApiClientError, XtStatus}; - -use crate::{try_send_xt, AnyConnection, RootConnection}; - -pub type Version = u32; - -pub fn schedule_upgrade_with_state( - connection: &RootConnection, - version: Version, - session: SessionIndex, - state: XtStatus, -) -> Result<(), ApiClientError> { - let connection = connection.as_connection(); - let upgrade_call = compose_call!( - connection.metadata, - "Aleph", - "schedule_finality_version_change", - version, - session - ); - let xt = compose_extrinsic!( - connection, - "Sudo", - "sudo_unchecked_weight", - upgrade_call, - 0_u64 - ); - try_send_xt( - &connection, - xt, - Some("schedule finality version change"), - state, - ) - .map(|_| ()) -} - -pub fn schedule_upgrade( - connection: &RootConnection, - version: Version, - session: SessionIndex, -) -> Result<(), ApiClientError> { - schedule_upgrade_with_state(connection, version, session, XtStatus::Finalized) -} diff --git a/aleph-client/src/vesting.rs b/aleph-client/src/vesting.rs deleted file mode 100644 index 16b76d89f1..0000000000 --- a/aleph-client/src/vesting.rs +++ /dev/null @@ -1,121 +0,0 @@ -use anyhow::Result; -use log::info; -pub use pallet_vesting::VestingInfo; -use primitives::Balance; -use substrate_api_client::{compose_extrinsic, GenericAddress, XtStatus::Finalized}; -use thiserror::Error; - -use crate::{ - account_from_keypair, try_send_xt, AccountId, AnyConnection, BlockNumber, SignedConnection, -}; - -const PALLET: &str = "Vesting"; - -/// Gathers errors from this module. -#[derive(Copy, Clone, Eq, PartialEq, Hash, Debug, Error)] -pub enum VestingError { - #[error("🦺❌ The connection should be signed.")] - UnsignedConnection, -} - -pub type VestingSchedule = VestingInfo; - -/// Calls `pallet_vesting::vest` for the signer of `connection`, i.e. makes all unlocked balances -/// transferable. -/// -/// Fails if transaction could not have been sent. -/// -/// *Note*: This function returns `Ok(_)` even if the account has no active vesting schedules -/// and thus the extrinsic was not successful. However, semantically it is still correct. -pub fn vest(connection: SignedConnection) -> Result<()> { - let vester = connection.signer(); - let xt = compose_extrinsic!(connection.as_connection(), PALLET, "vest"); - let block_hash = try_send_xt(&connection, xt, Some("Vesting"), Finalized)? - .expect("For `Finalized` status a block hash should be returned"); - info!( - target: "aleph-client", "Vesting for the account {:?}. Finalized in block {:?}", - account_from_keypair(&vester), block_hash - ); - Ok(()) -} - -/// Calls `pallet_vesting::vest_other` by the signer of `connection` on behalf of `vest_account`, -/// i.e. makes all unlocked balances of `vest_account` transferable. -/// -/// Fails if transaction could not have been sent. -/// -/// *Note*: This function returns `Ok(_)` even if the account has no active vesting schedules -/// and thus the extrinsic was not successful. However, semantically it is still correct. -pub fn vest_other(connection: SignedConnection, vest_account: AccountId) -> Result<()> { - let xt = compose_extrinsic!( - connection.as_connection(), - PALLET, - "vest_other", - GenericAddress::Id(vest_account.clone()) - ); - let block_hash = try_send_xt(&connection, xt, Some("Vesting on behalf"), Finalized)? - .expect("For `Finalized` status a block hash should be returned"); - info!(target: "aleph-client", "Vesting on behalf of the account {:?}. Finalized in block {:?}", vest_account, block_hash); - Ok(()) -} - -/// Performs a vested transfer from the signer of `connection` to `receiver` according to -/// `schedule`. -/// -/// Fails if transaction could not have been sent. -pub fn vested_transfer( - connection: SignedConnection, - receiver: AccountId, - schedule: VestingSchedule, -) -> Result<()> { - let xt = compose_extrinsic!( - connection.as_connection(), - PALLET, - "vested_transfer", - GenericAddress::Id(receiver.clone()), - schedule - ); - let block_hash = try_send_xt(&connection, xt, Some("Vested transfer"), Finalized)? - .expect("For `Finalized` status a block hash should be returned"); - info!(target: "aleph-client", "Vested transfer to the account {:?}. Finalized in block {:?}", receiver, block_hash); - Ok(()) -} - -/// Returns all active schedules of `who`. If `who` does not have any active vesting schedules, -/// an empty container is returned. -/// -/// Fails if storage could have not been read. -pub fn get_schedules( - connection: &C, - who: AccountId, -) -> Result> { - connection - .as_connection() - .get_storage_map::>(PALLET, "Vesting", who, None)? - .map_or_else(|| Ok(vec![]), Ok) -} - -/// Merges two vesting schedules (at indices `idx1` and `idx2`) of the signer of `connection`. -/// -/// Fails if transaction could not have been sent. -/// -/// *Note*: This function returns `Ok(_)` even if the account has no active vesting schedules, or -/// it has fewer schedules than `max(idx1, idx2) - 1` and thus the extrinsic was not successful. -pub fn merge_schedules(connection: SignedConnection, idx1: u32, idx2: u32) -> Result<()> { - let who = connection.signer(); - let xt = compose_extrinsic!( - connection.as_connection(), - PALLET, - "merge_schedules", - idx1, - idx2 - ); - - let block_hash = try_send_xt(&connection, xt, Some("Merge vesting schedules"), Finalized)? - .expect("For `Finalized` status a block hash should be returned"); - - info!(target: "aleph-client", - "Merging vesting schedules (indices: {} and {}) for the account {:?}. Finalized in block {:?}", - idx1, idx2, account_from_keypair(&who), block_hash); - Ok(()) -} diff --git a/aleph-client/src/waiting.rs b/aleph-client/src/waiting.rs index a6ee4a9032..cb5fe3c92c 100644 --- a/aleph-client/src/waiting.rs +++ b/aleph-client/src/waiting.rs @@ -1,56 +1,120 @@ -use std::sync::mpsc::channel; - -use anyhow::{anyhow, Result as AnyResult}; -use codec::Decode; -use log::{error, info}; -use substrate_api_client::ApiResult; - -use crate::{AnyConnection, BlockNumber, Header}; - -pub fn wait_for_event bool>( - connection: &C, - event: (&str, &str), - predicate: P, -) -> AnyResult { - let (module, variant) = event; - info!(target: "aleph-client", "Creating event subscription {}/{}", module, variant); - - let (events_in, events_out) = channel(); - connection.as_connection().subscribe_events(events_in)?; - - loop { - let args: ApiResult = - connection - .as_connection() - .wait_for_event(module, variant, None, &events_out); - - match args { - Ok(event) if predicate(event.clone()) => return Ok(event), - Ok(_) => (), - Err(why) => error!(target: "aleph-client", "Error {:?}", why), +use futures::StreamExt; +use log::info; +use primitives::{EraIndex, SessionIndex}; +use subxt::events::StaticEvent; + +use crate::{ + aleph_zero, + api::session::events::NewSession, + pallets::{session::SessionApi, staking::StakingApi}, + Connection, +}; + +pub enum BlockStatus { + Best, + Finalized, +} + +#[async_trait::async_trait] +pub trait AlephWaiting { + async fn wait_for_block bool + Send>(&self, predicate: P, status: BlockStatus); + async fn wait_for_event bool + Send>( + &self, + predicate: P, + status: BlockStatus, + ) -> T; + async fn wait_for_era(&self, era: EraIndex, status: BlockStatus); + async fn wait_for_session(&self, session: SessionIndex, status: BlockStatus); +} + +#[async_trait::async_trait] +pub trait WaitingExt { + async fn wait_for_n_sessions(&self, n: SessionIndex, status: BlockStatus); + async fn wait_for_n_eras(&self, n: EraIndex, status: BlockStatus); +} + +#[async_trait::async_trait] +impl AlephWaiting for Connection { + async fn wait_for_block bool + Send>(&self, predicate: P, status: BlockStatus) { + let mut block_sub = match status { + BlockStatus::Best => self.client.rpc().subscribe_blocks().await.unwrap(), + BlockStatus::Finalized => self + .client + .rpc() + .subscribe_finalized_blocks() + .await + .unwrap(), + }; + + while let Some(Ok(block)) = block_sub.next().await { + if predicate(block.number) { + return; + } } } -} -pub fn wait_for_finalized_block( - connection: &C, - block_number: BlockNumber, -) -> AnyResult { - let (sender, receiver) = channel(); - connection - .as_connection() - .subscribe_finalized_heads(sender)?; - - while let Ok(header) = receiver - .recv() - .map(|h| serde_json::from_str::
(&h).expect("Should deserialize header")) - { - info!(target: "aleph-client", "Received header for a block number {:?}", header.number); - - if header.number.ge(&block_number) { - return Ok(block_number); + async fn wait_for_event bool + Send>( + &self, + predicate: P, + status: BlockStatus, + ) -> T { + let mut event_sub = match status { + BlockStatus::Best => self.client.events().subscribe().await.unwrap().boxed(), + BlockStatus::Finalized => self + .client + .events() + .subscribe_finalized() + .await + .unwrap() + .boxed(), + }; + + info!(target: "aleph-client", "waiting for event {}.{}", T::PALLET, T::EVENT); + + loop { + let events = match event_sub.next().await { + Some(Ok(events)) => events, + _ => continue, + }; + for event in events.iter() { + let event = event.unwrap(); + if let Ok(Some(ev)) = event.as_event::() { + if predicate(&ev) { + return ev; + } + } + } } } - Err(anyhow!("Waiting for finalization is no longer possible")) + async fn wait_for_era(&self, era: EraIndex, status: BlockStatus) { + let addrs = aleph_zero::api::constants().staking().sessions_per_era(); + let sessions_per_era = self.client.constants().at(&addrs).unwrap(); + let first_session_in_era = era * sessions_per_era; + + self.wait_for_session(first_session_in_era, status).await; + } + + async fn wait_for_session(&self, session: SessionIndex, status: BlockStatus) { + self.wait_for_event(|event: &NewSession| { + info!(target: "aleph-client", "waiting for session {:?}, current session {:?}", session, event.session_index); + event.session_index >= session + }, status) + .await; + } +} + +#[async_trait::async_trait] +impl WaitingExt for Connection { + async fn wait_for_n_sessions(&self, n: SessionIndex, status: BlockStatus) { + let current_session = self.get_session(None).await; + + self.wait_for_session(current_session + n, status).await; + } + + async fn wait_for_n_eras(&self, n: EraIndex, status: BlockStatus) { + let current_era = self.get_current_era(None).await; + + self.wait_for_era(current_era + n, status).await; + } } diff --git a/benches/payout-stakers/Cargo.lock b/benches/payout-stakers/Cargo.lock index 6f5ea1f226..8df218dfc9 100644 --- a/benches/payout-stakers/Cargo.lock +++ b/benches/payout-stakers/Cargo.lock @@ -12,55 +12,6 @@ dependencies = [ "regex", ] -[[package]] -name = "ac-compose-macros" -version = "0.1.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate-api-client.git?branch=aleph-v0.9.28#92bc66b75428213e4bcdb2484616cf458455813a" -dependencies = [ - "ac-primitives", - "log", - "parity-scale-codec", - "sp-application-crypto 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", -] - -[[package]] -name = "ac-node-api" -version = "0.1.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate-api-client.git?branch=aleph-v0.9.28#92bc66b75428213e4bcdb2484616cf458455813a" -dependencies = [ - "ac-primitives", - "derive_more", - "frame-metadata 15.0.0 (git+https://github.com/integritee-network/frame-metadata)", - "frame-support", - "frame-system", - "hex", - "log", - "parity-scale-codec", - "scale-info", - "serde", - "serde_json", - "sp-application-crypto 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", -] - -[[package]] -name = "ac-primitives" -version = "0.1.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate-api-client.git?branch=aleph-v0.9.28#92bc66b75428213e4bcdb2484616cf458455813a" -dependencies = [ - "hex", - "parity-scale-codec", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", -] - [[package]] name = "addr2line" version = "0.17.0" @@ -98,31 +49,25 @@ dependencies = [ [[package]] name = "aleph_client" -version = "1.12.0" +version = "2.0.0" dependencies = [ - "ac-node-api", - "ac-primitives", "anyhow", + "async-trait", "contract-metadata 1.5.0", "contract-transcode", "frame-support", + "futures", "hex", "ink_metadata", "log", - "pallet-aleph", - "pallet-balances", - "pallet-elections", - "pallet-multisig", - "pallet-staking", - "pallet-treasury", - "pallet-vesting", "parity-scale-codec", "primitives", "rayon", + "serde", "serde_json", "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "substrate-api-client", + "subxt", "thiserror", ] @@ -141,7 +86,7 @@ version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2" dependencies = [ - "winapi 0.3.9", + "winapi", ] [[package]] @@ -150,15 +95,6 @@ version = "1.0.66" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "216261ddc8289130e551ddcd5ce8a064710c0d064a4d2895c67151c92b5443f6" -[[package]] -name = "approx" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cab112f0a86d568ea0e627cc1d6be74a1e9cd55214684db5561995f6dad897c6" -dependencies = [ - "num-traits", -] - [[package]] name = "arrayref" version = "0.3.6" @@ -186,6 +122,16 @@ version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6" +[[package]] +name = "async-lock" +version = "2.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8101efe8695a6c17e02911402145357e718ac92d3ff88ae8419e84b1707b685" +dependencies = [ + "event-listener", + "futures-lite", +] + [[package]] name = "async-trait" version = "0.1.58" @@ -205,7 +151,7 @@ checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" dependencies = [ "hermit-abi", "libc", - "winapi 0.3.9", + "winapi", ] [[package]] @@ -222,7 +168,7 @@ checksum = "cab84319d616cfb654d03394f38ab7e6f0919e181b1b57e1fd15e7fb4077d9a7" dependencies = [ "addr2line", "cc", - "cfg-if 1.0.0", + "cfg-if", "libc", "miniz_oxide", "object", @@ -247,6 +193,15 @@ version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" +[[package]] +name = "beef" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a8241f3ebb85c056b509d4327ad0358fbbba6ffb340bf388f26350aeda225b1" +dependencies = [ + "serde", +] + [[package]] name = "bitflags" version = "1.3.2" @@ -267,11 +222,11 @@ dependencies = [ [[package]] name = "blake2" -version = "0.10.4" +version = "0.10.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9cf849ee05b2ee5fba5e36f97ff8ec2533916700fc0758d40d92136a42f3388" +checksum = "b12e5fd123190ce1c2e559308a94c9bacad77907d4c6005d9e58fe1a0689e55e" dependencies = [ - "digest 0.10.5", + "digest 0.10.6", ] [[package]] @@ -340,9 +295,9 @@ checksum = "572f695136211188308f16ad2ca5c851a712c464060ae6974944458eb83880ba" [[package]] name = "byte-slice-cast" -version = "1.2.1" +version = "1.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87c5fdd0166095e1d463fc6cc01aa8ce547ad77a4e84d42eb6762b084e28067e" +checksum = "c3ac9f8b63eca6fd385229b3675f6cc0dc5c8a5c8a54a59d4f52ffd670d87b0c" [[package]] name = "byte-tools" @@ -356,16 +311,6 @@ version = "1.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" -[[package]] -name = "bytes" -version = "0.4.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "206fdffcfa2df7cbe15601ef46c813fce0965eb3286db6b56c583b814b51c81c" -dependencies = [ - "byteorder", - "iovec", -] - [[package]] name = "bytes" version = "1.2.1" @@ -374,15 +319,9 @@ checksum = "ec8a7b6a70fde80372154c65702f00a0f56f3e1c36abbc6c440484be248856db" [[package]] name = "cc" -version = "1.0.73" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fff2a6927b3bb87f9595d67196a70493f627687a71d87a0d692242c33f58c11" - -[[package]] -name = "cfg-if" -version = "0.1.10" +version = "1.0.76" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822" +checksum = "76a284da2e6fe2092f2353e51713435363112dfd60030e22add80be333fb928f" [[package]] name = "cfg-if" @@ -392,21 +331,21 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "chrono" -version = "0.4.22" +version = "0.4.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfd4d1b31faaa3a89d7934dbded3111da0d2ef28e3ebccdb4f0179f5929d1ef1" +checksum = "16b0a3d9ed01224b22057780a37bb8c5dbfe1be8ba48678e7bf57ec4b385411f" dependencies = [ "iana-time-zone", "num-integer", "num-traits", - "winapi 0.3.9", + "winapi", ] [[package]] name = "clap" -version = "3.2.21" +version = "3.2.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ed5341b2301a26ab80be5cbdced622e80ed808483c52e45e3310a877d3b37d7" +checksum = "71655c45cb9845d3270c9d6df84ebe72b4dad3c2ba3f7023ad47c144e4e473a5" dependencies = [ "atty", "bitflags", @@ -497,7 +436,7 @@ checksum = "cfa6db9d18dd5ef92d29c52d30c8503c857d390d9e4043e12466f1490c43c05e" dependencies = [ "anyhow", "contract-metadata 0.6.0", - "env_logger 0.9.1", + "env_logger 0.9.3", "escape8259", "hex", "indexmap", @@ -516,10 +455,14 @@ dependencies = [ ] [[package]] -name = "convert_case" -version = "0.4.0" +name = "core-foundation" +version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" +checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146" +dependencies = [ + "core-foundation-sys", + "libc", +] [[package]] name = "core-foundation-sys" @@ -542,7 +485,7 @@ version = "0.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2dd04ddaf88237dc3b8d8f9a3c1004b506b54b3313403944054d23c0870c521" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "crossbeam-utils", ] @@ -552,7 +495,7 @@ version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "715e8152b692bba2d374b53d4875445368fdf21a94751410af607a5ac677d1fc" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "crossbeam-epoch", "crossbeam-utils", ] @@ -564,7 +507,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f916dfc5d356b0ed9dae65f1db9fc9770aa2851d2662b988ccf4fe3516e86348" dependencies = [ "autocfg", - "cfg-if 1.0.0", + "cfg-if", "crossbeam-utils", "memoffset", "scopeguard", @@ -576,7 +519,7 @@ version = "0.8.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "edbafec5fa1f196ca66527c1b12c2ec4745ca14b50f1ad8f9f6f720b55d11fac" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", ] [[package]] @@ -655,9 +598,9 @@ dependencies = [ [[package]] name = "cxx" -version = "1.0.80" +version = "1.0.81" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b7d4e43b25d3c994662706a1d4fcfc32aaa6afd287502c111b237093bb23f3a" +checksum = "97abf9f0eca9e52b7f81b945524e76710e6cb2366aead23b7d4fbf72e281f888" dependencies = [ "cc", "cxxbridge-flags", @@ -667,9 +610,9 @@ dependencies = [ [[package]] name = "cxx-build" -version = "1.0.80" +version = "1.0.81" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84f8829ddc213e2c1368e51a2564c552b65a8cb6a28f31e576270ac81d5e5827" +checksum = "7cc32cc5fea1d894b77d269ddb9f192110069a8a9c1f1d441195fba90553dea3" dependencies = [ "cc", "codespan-reporting", @@ -682,18 +625,53 @@ dependencies = [ [[package]] name = "cxxbridge-flags" -version = "1.0.80" +version = "1.0.81" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e72537424b474af1460806647c41d4b6d35d09ef7fe031c5c2fa5766047cc56a" +checksum = "8ca220e4794c934dc6b1207c3b42856ad4c302f2df1712e9f8d2eec5afaacf1f" [[package]] name = "cxxbridge-macro" -version = "1.0.80" +version = "1.0.81" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b846f081361125bfc8dc9d3940c84e1fd83ba54bbca7b17cd29483c828be0704" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "darling" +version = "0.14.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b0dd3cd20dc6b5a876612a6e5accfe7f3dd883db6d07acfbf14c128f61550dfa" +dependencies = [ + "darling_core", + "darling_macro", +] + +[[package]] +name = "darling_core" +version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "309e4fb93eed90e1e14bea0da16b209f81813ba9fc7830c20ed151dd7bc0a4d7" +checksum = "a784d2ccaf7c98501746bf0be29b2022ba41fd62a2e622af997a03e9f972859f" dependencies = [ + "fnv", + "ident_case", "proc-macro2", "quote", + "strsim", + "syn", +] + +[[package]] +name = "darling_macro" +version = "0.14.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7618812407e9402654622dd402b0a89dff9ba93badd6540781526117b92aab7e" +dependencies = [ + "darling_core", + "quote", "syn", ] @@ -706,16 +684,25 @@ dependencies = [ "const-oid", ] +[[package]] +name = "derivative" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "derive_more" version = "0.99.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321" dependencies = [ - "convert_case", "proc-macro2", "quote", - "rustc_version", "syn", ] @@ -739,9 +726,9 @@ dependencies = [ [[package]] name = "digest" -version = "0.10.5" +version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adfbc57365a37acbd2ebf2b64d7e69bb766e2fea813521ed536f5d0520dcf86c" +checksum = "8168378f4e5023e7218c89c891c0fd8ecdb5e5e4f18cb78f38cf245dd021e76f" dependencies = [ "block-buffer 0.10.3", "crypto-common", @@ -855,9 +842,9 @@ dependencies = [ [[package]] name = "env_logger" -version = "0.9.1" +version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c90bf5f19754d10198ccb95b70664fc925bd1fc090a0fd9a6ebc54acc8cd6272" +checksum = "a12e6657c4c97ebab115a42dcee77225f7f482cdd841cf7088c657a42e9e00e7" dependencies = [ "atty", "humantime", @@ -881,12 +868,27 @@ dependencies = [ "rustversion", ] +[[package]] +name = "event-listener" +version = "2.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" + [[package]] name = "fake-simd" version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed" +[[package]] +name = "fastrand" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7a407cfaa3385c4ae6b23e84623d48c2798d06e3e6a1878f7f59f17b3f86499" +dependencies = [ + "instant", +] + [[package]] name = "ff" version = "0.11.1" @@ -910,19 +912,10 @@ dependencies = [ ] [[package]] -name = "foreign-types" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" -dependencies = [ - "foreign-types-shared", -] - -[[package]] -name = "foreign-types-shared" -version = "0.1.1" +name = "fnv" +version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" +checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "form_urlencoded" @@ -933,73 +926,13 @@ dependencies = [ "percent-encoding", ] -[[package]] -name = "frame-benchmarking" -version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" -dependencies = [ - "frame-support", - "frame-system", - "linregress", - "log", - "parity-scale-codec", - "paste", - "scale-info", - "serde", - "sp-api", - "sp-application-crypto 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-storage 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", -] - -[[package]] -name = "frame-election-provider-solution-type" -version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" -dependencies = [ - "proc-macro-crate", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "frame-election-provider-support" -version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" -dependencies = [ - "frame-election-provider-solution-type", - "frame-support", - "frame-system", - "parity-scale-codec", - "scale-info", - "sp-arithmetic 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-npos-elections", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", -] - [[package]] name = "frame-metadata" version = "15.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "df6bb8542ef006ef0de09a5c4420787d79823c0ed7924225822362fd2bf2ff2d" dependencies = [ - "cfg-if 1.0.0", - "parity-scale-codec", - "scale-info", - "serde", -] - -[[package]] -name = "frame-metadata" -version = "15.0.0" -source = "git+https://github.com/integritee-network/frame-metadata#3b43da9821238681f9431276d55b92a079142083" -dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "parity-scale-codec", "scale-info", "serde", @@ -1011,7 +944,7 @@ version = "4.0.0-dev" source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" dependencies = [ "bitflags", - "frame-metadata 15.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "frame-metadata", "frame-support-procedural", "impl-trait-for-tuples", "k256", @@ -1070,39 +1003,6 @@ dependencies = [ "syn", ] -[[package]] -name = "frame-system" -version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" -dependencies = [ - "frame-support", - "log", - "parity-scale-codec", - "scale-info", - "serde", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-version", -] - -[[package]] -name = "fuchsia-zircon" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82" -dependencies = [ - "bitflags", - "fuchsia-zircon-sys", -] - -[[package]] -name = "fuchsia-zircon-sys" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7" - [[package]] name = "funty" version = "2.0.0" @@ -1158,6 +1058,21 @@ version = "0.3.25" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "00f5fb52a06bdcadeb54e8d3671f8888a39697dcb0b81b23b55174030427f4eb" +[[package]] +name = "futures-lite" +version = "1.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7694489acd39452c77daa48516b894c153f192c3578d5a839b62c58099fcbf48" +dependencies = [ + "fastrand", + "futures-core", + "futures-io", + "memchr", + "parking", + "pin-project-lite", + "waker-fn", +] + [[package]] name = "futures-macro" version = "0.3.25" @@ -1230,7 +1145,7 @@ version = "0.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "js-sys", "libc", "wasi 0.9.0+wasi-snapshot-preview1", @@ -1243,7 +1158,7 @@ version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "libc", "wasi 0.11.0+wasi-snapshot-preview1", ] @@ -1341,6 +1256,17 @@ dependencies = [ "hmac 0.8.1", ] +[[package]] +name = "http" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75f43d41e26995c17e71ee126451dd3941010b0514a81a9d11f3b341debc2399" +dependencies = [ + "bytes", + "fnv", + "itoa", +] + [[package]] name = "httparse" version = "1.8.0" @@ -1355,16 +1281,16 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" [[package]] name = "iana-time-zone" -version = "0.1.51" +version = "0.1.53" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f5a6ef98976b22b3b7f2f3a806f858cb862044cfa66805aa3ad84cb3d3b785ed" +checksum = "64c122667b287044802d6ce17ee2ddf13207ed924c712de9a66a5814d5b64765" dependencies = [ "android_system_properties", "core-foundation-sys", "iana-time-zone-haiku", "js-sys", "wasm-bindgen", - "winapi 0.3.9", + "winapi", ] [[package]] @@ -1377,6 +1303,12 @@ dependencies = [ "cxx-build", ] +[[package]] +name = "ident_case" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" + [[package]] name = "idna" version = "0.3.0" @@ -1424,9 +1356,9 @@ checksum = "0cfe9645a18782869361d9c8732246be7b410ad4e919d3609ebabdac00ba12c3" [[package]] name = "indexmap" -version = "1.9.1" +version = "1.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10a35a97730320ffe8e2d410b5d3b69279b98d2c14bdb8b70ea89ecf7888d41e" +checksum = "1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399" dependencies = [ "autocfg", "hashbrown", @@ -1438,7 +1370,7 @@ version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1c9588a59a0e8997c0b2153cd11b5aaa77c06a0537a6b18f3811d1f1aa098b12" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", ] [[package]] @@ -1451,7 +1383,7 @@ dependencies = [ "derive_more", "parity-scale-codec", "rand 0.8.5", - "secp256k1 0.24.0", + "secp256k1 0.24.1", "sha2 0.10.6", "sha3", ] @@ -1464,7 +1396,7 @@ checksum = "a891d34301a3dbb1c7b7424c49ae184282b163491c54f9acd17fcbe14a80447b" dependencies = [ "arrayref", "blake2", - "cfg-if 1.0.0", + "cfg-if", "derive_more", "ink_allocator", "ink_engine", @@ -1477,7 +1409,7 @@ dependencies = [ "rand 0.8.5", "rlibc", "scale-info", - "secp256k1 0.24.0", + "secp256k1 0.24.1", "sha2 0.10.6", "sha3", "static_assertions", @@ -1503,7 +1435,7 @@ version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1f031e6b8495594a7288b089bf4122e76c26b994959d1b2b693bdfe846b14c0e" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", ] [[package]] @@ -1512,28 +1444,28 @@ version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e12cf42dce81d060401c7cec95a392ad6d3c2f18661fa3083f619ce135133c33" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "ink_prelude", "parity-scale-codec", "scale-info", ] [[package]] -name = "integer-sqrt" -version = "0.1.5" +name = "instant" +version = "0.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "276ec31bcb4a9ee45f58bec6f9ec700ae4cf4f4f8f2fa7e06cb406bd5ffdd770" +checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" dependencies = [ - "num-traits", + "cfg-if", ] [[package]] -name = "iovec" -version = "0.1.4" +name = "integer-sqrt" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2b3ea6ff95e175473f8ffe6a7eb7c00d054240321b84c57051175fe3c1e075e" +checksum = "276ec31bcb4a9ee45f58bec6f9ec700ae4cf4f4f8f2fa7e06cb406bd5ffdd770" dependencies = [ - "libc", + "num-traits", ] [[package]] @@ -1567,56 +1499,106 @@ dependencies = [ ] [[package]] -name = "k256" -version = "0.10.4" +name = "jsonrpsee" +version = "0.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19c3a5e0a0b8450278feda242592512e09f61c72e018b8cd5c859482802daf2d" +checksum = "8bd0d559d5e679b1ab2f869b486a11182923863b1b3ee8b421763cdd707b783a" dependencies = [ - "cfg-if 1.0.0", - "ecdsa", - "elliptic-curve", - "sec1", + "jsonrpsee-client-transport", + "jsonrpsee-core", + "jsonrpsee-types", ] [[package]] -name = "keccak" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9b7d56ba4a8344d6be9729995e6b06f928af29998cdf79fe390cbf6b1fee838" - -[[package]] -name = "kernel32-sys" -version = "0.2.2" +name = "jsonrpsee-client-transport" +version = "0.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d" +checksum = "8752740ecd374bcbf8b69f3e80b0327942df76f793f8d4e60d3355650c31fb74" dependencies = [ - "winapi 0.2.8", - "winapi-build", + "futures-util", + "http", + "jsonrpsee-core", + "jsonrpsee-types", + "pin-project", + "rustls-native-certs", + "soketto", + "thiserror", + "tokio", + "tokio-rustls", + "tokio-util", + "tracing", + "webpki-roots", ] [[package]] -name = "lazy_static" -version = "1.4.0" +name = "jsonrpsee-core" +version = "0.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" +checksum = "f3dc3e9cf2ba50b7b1d7d76a667619f82846caa39e8e8daa8a4962d74acaddca" +dependencies = [ + "anyhow", + "async-lock", + "async-trait", + "beef", + "futures-channel", + "futures-timer", + "futures-util", + "jsonrpsee-types", + "rustc-hash", + "serde", + "serde_json", + "thiserror", + "tokio", + "tracing", + "tracing-futures", +] [[package]] -name = "lazycell" -version = "1.3.0" +name = "jsonrpsee-types" +version = "0.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" +checksum = "e290bba767401b646812f608c099b922d8142603c9e73a50fb192d3ac86f4a0d" +dependencies = [ + "anyhow", + "beef", + "serde", + "serde_json", + "thiserror", + "tracing", +] [[package]] -name = "libc" -version = "0.2.135" +name = "k256" +version = "0.10.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68783febc7782c6c5cb401fbda4de5a9898be1762314da0bb2c10ced61f18b0c" +checksum = "19c3a5e0a0b8450278feda242592512e09f61c72e018b8cd5c859482802daf2d" +dependencies = [ + "cfg-if", + "ecdsa", + "elliptic-curve", + "sec1", +] [[package]] -name = "libm" -version = "0.2.5" +name = "keccak" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "292a948cd991e376cf75541fe5b97a1081d713c618b4f1b9500f8844e49eb565" +checksum = "3afef3b6eff9ce9d8ff9b3601125eec7f0c8cbac7abd14f355d053fa56c98768" +dependencies = [ + "cpufeatures", +] + +[[package]] +name = "lazy_static" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" + +[[package]] +name = "libc" +version = "0.2.137" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc7fcc620a3bff7cdd7a365be3376c97191aeaccc2a603e600951e452615bf89" [[package]] name = "libsecp256k1" @@ -1675,16 +1657,6 @@ dependencies = [ "cc", ] -[[package]] -name = "linregress" -version = "0.4.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6c601a85f5ecd1aba625247bca0031585fb1c446461b142878a16f8245ddeb8" -dependencies = [ - "nalgebra", - "statrs", -] - [[package]] name = "lock_api" version = "0.4.9" @@ -1701,7 +1673,7 @@ version = "0.4.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", ] [[package]] @@ -1713,15 +1685,6 @@ dependencies = [ "regex-automata", ] -[[package]] -name = "matrixmultiply" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "add85d4dd35074e6fedc608f8c8f513a3548619a9024b751949ef0e8e45a4d84" -dependencies = [ - "rawpointer", -] - [[package]] name = "memchr" version = "2.5.0" @@ -1783,85 +1746,14 @@ dependencies = [ [[package]] name = "mio" -version = "0.6.23" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4afd66f5b91bf2a3bc13fad0e21caedac168ca4c707504e75585648ae80e4cc4" +checksum = "e5d732bc30207a6423068df043e3d02e0735b155ad7ce1a6f76fe2baa5b158de" dependencies = [ - "cfg-if 0.1.10", - "fuchsia-zircon", - "fuchsia-zircon-sys", - "iovec", - "kernel32-sys", "libc", "log", - "miow", - "net2", - "slab", - "winapi 0.2.8", -] - -[[package]] -name = "mio-extras" -version = "2.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52403fe290012ce777c4626790c8951324a2b9e3316b3143779c72b029742f19" -dependencies = [ - "lazycell", - "log", - "mio", - "slab", -] - -[[package]] -name = "miow" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebd808424166322d4a38da87083bfddd3ac4c131334ed55856112eb06d46944d" -dependencies = [ - "kernel32-sys", - "net2", - "winapi 0.2.8", - "ws2_32-sys", -] - -[[package]] -name = "nalgebra" -version = "0.27.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "462fffe4002f4f2e1f6a9dcf12cc1a6fc0e15989014efc02a941d3e0f5dc2120" -dependencies = [ - "approx", - "matrixmultiply", - "nalgebra-macros", - "num-complex", - "num-rational 0.4.1", - "num-traits", - "rand 0.8.5", - "rand_distr", - "simba", - "typenum", -] - -[[package]] -name = "nalgebra-macros" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01fcc0b8149b4632adc89ac3b7b31a12fb6099a0317a4eb2ebff574ef7de7218" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "net2" -version = "0.2.38" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74d0df99cfcd2530b2e694f6e17e7f37b8e26bb23983ac530c0c97408837c631" -dependencies = [ - "cfg-if 0.1.10", - "libc", - "winapi 0.3.9", + "wasi 0.11.0+wasi-snapshot-preview1", + "windows-sys 0.42.0", ] [[package]] @@ -1904,15 +1796,6 @@ dependencies = [ "num-traits", ] -[[package]] -name = "num-complex" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ae39348c8bc5fbd7f40c727a9925f03517afd2ab27d46702108b6a7e5414c19" -dependencies = [ - "num-traits", -] - [[package]] name = "num-format" version = "0.4.3" @@ -1945,17 +1828,6 @@ dependencies = [ "num-traits", ] -[[package]] -name = "num-rational" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0" -dependencies = [ - "autocfg", - "num-integer", - "num-traits", -] - [[package]] name = "num-traits" version = "0.2.15" @@ -1963,14 +1835,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" dependencies = [ "autocfg", - "libm", ] [[package]] name = "num_cpus" -version = "1.13.1" +version = "1.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19e64526ebdee182341572e50e9ad03965aa510cd94427a4549448f285e957a1" +checksum = "f6058e64324c71e02bc2b150e4f3bc8286db6c83092132ffa3f6b1eab0f9def5" dependencies = [ "hermit-abi", "libc", @@ -1987,9 +1858,9 @@ dependencies = [ [[package]] name = "once_cell" -version = "1.15.0" +version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e82dad04139b71a90c080c8463fe0dc7902db5192d939bd0950f074d014339e1" +checksum = "86f0b0d4bf799edbc74508c1e8bf170ff5f41238e5f8225603ca7caaae2b7860" [[package]] name = "opaque-debug" @@ -2004,244 +1875,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" [[package]] -name = "openssl" -version = "0.10.42" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12fc0523e3bd51a692c8850d075d74dc062ccf251c0110668cbd921917118a13" -dependencies = [ - "bitflags", - "cfg-if 1.0.0", - "foreign-types", - "libc", - "once_cell", - "openssl-macros", - "openssl-sys", -] - -[[package]] -name = "openssl-macros" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b501e44f11665960c7e7fcf062c7d96a14ade4aa98116c004b2e37b5be7d736c" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "openssl-sys" -version = "0.9.77" +name = "openssl-probe" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b03b84c3b2d099b81f0953422b4d4ad58761589d0229b5506356afca05a3670a" -dependencies = [ - "autocfg", - "cc", - "libc", - "pkg-config", - "vcpkg", -] +checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "os_str_bytes" -version = "6.3.0" +version = "6.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ff7415e9ae3fff1225851df9e0d9e4e5479f947619774677a63572e55e80eff" - -[[package]] -name = "pallet-aleph" -version = "0.5.0" -dependencies = [ - "frame-support", - "frame-system", - "pallet-balances", - "pallet-session", - "pallets-support", - "parity-scale-codec", - "primitives", - "scale-info", - "serde", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", -] - -[[package]] -name = "pallet-authorship" -version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" -dependencies = [ - "frame-support", - "frame-system", - "impl-trait-for-tuples", - "parity-scale-codec", - "scale-info", - "sp-authorship", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", -] - -[[package]] -name = "pallet-balances" -version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" -dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", - "log", - "parity-scale-codec", - "scale-info", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", -] - -[[package]] -name = "pallet-elections" -version = "0.5.0" -dependencies = [ - "frame-election-provider-support", - "frame-support", - "frame-system", - "pallet-authorship", - "pallet-balances", - "pallet-session", - "pallet-staking", - "pallets-support", - "parity-scale-codec", - "primitives", - "scale-info", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-staking", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", -] - -[[package]] -name = "pallet-multisig" -version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" -dependencies = [ - "frame-support", - "frame-system", - "parity-scale-codec", - "scale-info", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", -] - -[[package]] -name = "pallet-session" -version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" -dependencies = [ - "frame-support", - "frame-system", - "impl-trait-for-tuples", - "log", - "pallet-timestamp", - "parity-scale-codec", - "scale-info", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-session", - "sp-staking", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-trie 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", -] - -[[package]] -name = "pallet-staking" -version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" -dependencies = [ - "frame-election-provider-support", - "frame-support", - "frame-system", - "log", - "pallet-authorship", - "pallet-session", - "parity-scale-codec", - "scale-info", - "serde", - "sp-application-crypto 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-staking", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", -] - -[[package]] -name = "pallet-timestamp" -version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" -dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", - "log", - "parity-scale-codec", - "scale-info", - "sp-inherents", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-timestamp", -] - -[[package]] -name = "pallet-transaction-payment" -version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" -dependencies = [ - "frame-support", - "frame-system", - "parity-scale-codec", - "scale-info", - "serde", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", -] - -[[package]] -name = "pallet-treasury" -version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" -dependencies = [ - "frame-support", - "frame-system", - "impl-trait-for-tuples", - "pallet-balances", - "parity-scale-codec", - "scale-info", - "serde", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", -] - -[[package]] -name = "pallet-vesting" -version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" -dependencies = [ - "frame-support", - "frame-system", - "log", - "parity-scale-codec", - "scale-info", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", -] - -[[package]] -name = "pallets-support" -version = "0.1.0" -dependencies = [ - "frame-support", -] +checksum = "7b5bf27447411e9ee3ff51186bf7a08e16c341efdde93f4d823e8844429bed7e" [[package]] name = "parity-scale-codec" @@ -2252,7 +1895,7 @@ dependencies = [ "arrayvec 0.7.2", "bitvec", "byte-slice-cast", - "bytes 1.2.1", + "bytes", "impl-trait-for-tuples", "parity-scale-codec-derive", "serde", @@ -2276,13 +1919,13 @@ version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c32561d248d352148124f036cac253a644685a21dc9fea383eb4907d7bd35a8f" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "hashbrown", "impl-trait-for-tuples", "parity-util-mem-derive", "parking_lot", "primitive-types", - "winapi 0.3.9", + "winapi", ] [[package]] @@ -2302,6 +1945,12 @@ version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "be5e13c266502aadf83426d87d81a0f5d1ef45b8027f5a471c360abfe4bfae92" +[[package]] +name = "parking" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "427c3892f9e783d91cc128285287e70a59e206ca452770ece88a76f7a3eddd72" + [[package]] name = "parking_lot" version = "0.12.1" @@ -2318,11 +1967,11 @@ version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4dc9e0dc2adc1c69d09143aff38d3d30c5c3f0df0dad82e6d25547af174ebec0" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "libc", "redox_syscall", "smallvec", - "windows-sys", + "windows-sys 0.42.0", ] [[package]] @@ -2339,15 +1988,16 @@ dependencies = [ "anyhow", "clap", "env_logger 0.8.4", + "futures", "hex", "log", "parity-scale-codec", "primitives", "rand 0.8.5", - "rayon", "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", "sp-keyring", - "substrate-api-client", + "subxt", + "tokio", ] [[package]] @@ -2374,6 +2024,26 @@ version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e" +[[package]] +name = "pin-project" +version = "1.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad29a609b6bcd67fee905812e544992d216af9d755757c05ed2d0e15a74c6ecc" +dependencies = [ + "pin-project-internal", +] + +[[package]] +name = "pin-project-internal" +version = "1.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "069bdb1e05adc7a8990dce9cc75370895fbe4e3d58b9b73bf1aee56359344a55" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "pin-project-lite" version = "0.2.9" @@ -2386,17 +2056,11 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" -[[package]] -name = "pkg-config" -version = "0.3.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1df8c4ec4b0627e53bdf214615ad287367e482558cf84b109250b37464dc03ae" - [[package]] name = "ppv-lite86" -version = "0.2.16" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb9f9e6e233e5c4a35559a617bf40a4ec447db2e84c20b55a6f83167b7e57872" +checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" [[package]] name = "primitive-types" @@ -2548,16 +2212,6 @@ dependencies = [ "getrandom 0.2.8", ] -[[package]] -name = "rand_distr" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32cb0b9bc82b0a0876c2dd994a7e7a2683d3e7390ca40e6886785ef0c7e3ee31" -dependencies = [ - "num-traits", - "rand 0.8.5", -] - [[package]] name = "rand_hc" version = "0.2.0" @@ -2576,12 +2230,6 @@ dependencies = [ "rand_core 0.5.1", ] -[[package]] -name = "rawpointer" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3" - [[package]] name = "rayon" version = "1.5.3" @@ -2617,18 +2265,18 @@ dependencies = [ [[package]] name = "ref-cast" -version = "1.0.12" +version = "1.0.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12a733f1746c929b4913fe48f8697fcf9c55e3304ba251a79ffb41adfeaf49c2" +checksum = "53b15debb4f9d60d767cd8ca9ef7abb2452922f3214671ff052defc7f3502c44" dependencies = [ "ref-cast-impl", ] [[package]] name = "ref-cast-impl" -version = "1.0.12" +version = "1.0.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5887de4a01acafd221861463be6113e6e87275e79804e56779f4cdc131c60368" +checksum = "abfa8511e9e94fd3de6585a3d3cd00e01ed556dc9814829280af0e8dc72a8f36" dependencies = [ "proc-macro2", "quote", @@ -2637,9 +2285,9 @@ dependencies = [ [[package]] name = "regex" -version = "1.6.0" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c4eb3267174b8c6c2f654116623910a0fef09c4753f8dd83db29c48a0df988b" +checksum = "e076559ef8e241f2ae3479e36f97bd5741c0330689e217ad51ce2c76808b868a" dependencies = [ "aho-corasick", "memchr", @@ -2657,9 +2305,9 @@ dependencies = [ [[package]] name = "regex-syntax" -version = "0.6.27" +version = "0.6.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3f87b73ce11b1619a3c6332f45341e0047173771e8b8b73f87bfeefb7b56244" +checksum = "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848" [[package]] name = "rfc6979" @@ -2672,6 +2320,21 @@ dependencies = [ "zeroize", ] +[[package]] +name = "ring" +version = "0.16.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc" +dependencies = [ + "cc", + "libc", + "once_cell", + "spin", + "untrusted", + "web-sys", + "winapi", +] + [[package]] name = "rlibc" version = "1.0.0" @@ -2697,12 +2360,36 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3e75f6a532d0fd9f7f13144f392b6ad56a32696bfcd9c78f797f16bbb6f072d6" [[package]] -name = "rustc_version" -version = "0.4.0" +name = "rustls" +version = "0.20.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" +checksum = "539a2bfe908f471bfa933876bd1eb6a19cf2176d375f82ef7f99530a40e48c2c" dependencies = [ - "semver", + "log", + "ring", + "sct", + "webpki", +] + +[[package]] +name = "rustls-native-certs" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0167bac7a9f490495f3c33013e7722b53cb087ecbe082fb0c6387c96f634ea50" +dependencies = [ + "openssl-probe", + "rustls-pemfile", + "schannel", + "security-framework", +] + +[[package]] +name = "rustls-pemfile" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0864aeff53f8c05aa08d86e5ef839d3dfcf07aeba2db32f12db0ef716e87bd55" +dependencies = [ + "base64", ] [[package]] @@ -2717,14 +2404,37 @@ version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4501abdff3ae82a1c1b477a17252eb69cee9e66eb915c1abaa4f44d873df9f09" +[[package]] +name = "scale-bits" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8dd7aca73785181cc41f0bbe017263e682b585ca660540ba569133901d013ecf" +dependencies = [ + "parity-scale-codec", + "scale-info", + "serde", +] + +[[package]] +name = "scale-decode" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d823d4be477fc33321f93d08fb6c2698273d044f01362dc27573a750deb7c233" +dependencies = [ + "parity-scale-codec", + "scale-bits", + "scale-info", + "thiserror", +] + [[package]] name = "scale-info" -version = "2.2.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "333af15b02563b8182cd863f925bd31ef8fa86a0e095d30c091956057d436153" +checksum = "88d8a765117b237ef233705cc2cc4c6a27fccd46eea6ef0c8c6dae5f3ef407f8" dependencies = [ "bitvec", - "cfg-if 1.0.0", + "cfg-if", "derive_more", "parity-scale-codec", "scale-info-derive", @@ -2733,9 +2443,9 @@ dependencies = [ [[package]] name = "scale-info-derive" -version = "2.2.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53f56acbd0743d29ffa08f911ab5397def774ad01bab3786804cf6ee057fb5e1" +checksum = "cdcd47b380d8c4541044e341dcd9475f55ba37ddc50c908d945fc036a8642496" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -2743,6 +2453,33 @@ dependencies = [ "syn", ] +[[package]] +name = "scale-value" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "16a5e7810815bd295da73e4216d1dfbced3c7c7c7054d70fa5f6e4c58123fff4" +dependencies = [ + "either", + "frame-metadata", + "parity-scale-codec", + "scale-bits", + "scale-decode", + "scale-info", + "serde", + "thiserror", + "yap", +] + +[[package]] +name = "schannel" +version = "0.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88d6731146462ea25d9244b2ed5fd1d716d25c52e4d54aa4fb0f3c4e9854dbe2" +dependencies = [ + "lazy_static", + "windows-sys 0.36.1", +] + [[package]] name = "schnorrkel" version = "0.9.1" @@ -2773,6 +2510,16 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c8132065adcfd6e02db789d9285a0deb2f3fcb04002865ab67d5fb103533898" +[[package]] +name = "sct" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4" +dependencies = [ + "ring", + "untrusted", +] + [[package]] name = "sec1" version = "0.2.1" @@ -2796,9 +2543,9 @@ dependencies = [ [[package]] name = "secp256k1" -version = "0.24.0" +version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7649a0b3ffb32636e60c7ce0d70511eda9c52c658cd0634e194d5a19943aeff" +checksum = "ff55dc09d460954e9ef2fa8a7ced735a964be9981fd50e870b2b3b0705e14964" dependencies = [ "secp256k1-sys 0.6.1", ] @@ -2830,6 +2577,29 @@ dependencies = [ "zeroize", ] +[[package]] +name = "security-framework" +version = "2.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2bc1bb97804af6631813c55739f771071e0f2ed33ee20b68c86ec505d906356c" +dependencies = [ + "bitflags", + "core-foundation", + "core-foundation-sys", + "libc", + "security-framework-sys", +] + +[[package]] +name = "security-framework-sys" +version = "2.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0160a13a177a45bfb43ce71c01580998474f556ad854dcbca936dd2841a5c556" +dependencies = [ + "core-foundation-sys", + "libc", +] + [[package]] name = "semver" version = "1.0.14" @@ -2861,9 +2631,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.87" +version = "1.0.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ce777b7b150d76b9cf60d28b55f5847135a003f7d7350c6be7a773508ce7d45" +checksum = "8e8b3801309262e8184d9687fb697586833e939767aea0dda89f5a8e650e8bd7" dependencies = [ "itoa", "ryu", @@ -2872,14 +2642,15 @@ dependencies = [ [[package]] name = "sha-1" -version = "0.8.2" +version = "0.9.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7d94d0bede923b3cea61f3f1ff57ff8cdfd77b400fb8f9998949e0cf04163df" +checksum = "99cd6713db3cf16b6c84e06321e049a9b9f699826e16096d23bbcc44d15d51a6" dependencies = [ - "block-buffer 0.7.3", - "digest 0.8.1", - "fake-simd", - "opaque-debug 0.2.3", + "block-buffer 0.9.0", + "cfg-if", + "cpufeatures", + "digest 0.9.0", + "opaque-debug 0.3.0", ] [[package]] @@ -2901,7 +2672,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4d58a1e1bf39749807d89cf2d98ac2dfa0ff1cb3faa38fbb64dd88ac8013d800" dependencies = [ "block-buffer 0.9.0", - "cfg-if 1.0.0", + "cfg-if", "cpufeatures", "digest 0.9.0", "opaque-debug 0.3.0", @@ -2913,9 +2684,9 @@ version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "82e6b795fe2e3b1e845bafcb27aa35405c4d47cdfc92af5fc8d3002f76cebdc0" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "cpufeatures", - "digest 0.10.5", + "digest 0.10.6", ] [[package]] @@ -2924,7 +2695,7 @@ version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bdf0c33fae925bdc080598b84bc15c55e7b9a4a43b3c704da051f977469691c9" dependencies = [ - "digest 0.10.5", + "digest 0.10.6", "keccak", ] @@ -2938,25 +2709,22 @@ dependencies = [ ] [[package]] -name = "signature" +name = "signal-hook-registry" version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02658e48d89f2bec991f9a78e69cfa4c316f8d6a6c4ec12fae1aeb263d486788" +checksum = "e51e73328dc4ac0c7ccbda3a494dfa03df1de2f46018127f60c693f2648455b0" dependencies = [ - "digest 0.9.0", - "rand_core 0.6.4", + "libc", ] [[package]] -name = "simba" -version = "0.5.1" +name = "signature" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e82063457853d00243beda9952e910b82593e4b07ae9f721b9278a99a0d3d5c" +checksum = "02658e48d89f2bec991f9a78e69cfa4c316f8d6a6c4ec12fae1aeb263d486788" dependencies = [ - "approx", - "num-complex", - "num-traits", - "paste", + "digest 0.9.0", + "rand_core 0.6.4", ] [[package]] @@ -2974,6 +2742,31 @@ version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" +[[package]] +name = "socket2" +version = "0.4.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "02e2d2db9033d13a1567121ddd7a095ee144db4e1ca1b1bda3419bc0da294ebd" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "soketto" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41d1c5305e39e09653383c2c7244f2f78b3bcae37cf50c64cb4789c9f5096ec2" +dependencies = [ + "base64", + "bytes", + "futures", + "httparse", + "log", + "rand 0.8.5", + "sha-1", +] + [[package]] name = "sp-api" version = "4.0.0-dev" @@ -3054,23 +2847,11 @@ dependencies = [ "integer-sqrt", "num-traits", "parity-scale-codec", - "scale-info", - "serde", - "sp-debug-derive 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "static_assertions", -] - -[[package]] -name = "sp-authorship" -version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" -dependencies = [ - "async-trait", - "parity-scale-codec", - "sp-inherents", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "scale-info", + "serde", + "sp-debug-derive 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "static_assertions", ] [[package]] @@ -3149,7 +2930,7 @@ dependencies = [ "regex", "scale-info", "schnorrkel", - "secp256k1 0.24.0", + "secp256k1 0.24.1", "secrecy", "serde", "sp-core-hashing 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", @@ -3187,7 +2968,7 @@ source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=alep dependencies = [ "blake2", "byteorder", - "digest 0.10.5", + "digest 0.10.6", "sha2 0.10.6", "sha3", "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", @@ -3294,14 +3075,14 @@ name = "sp-io" version = "6.0.0" source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" dependencies = [ - "bytes 1.2.1", + "bytes", "futures", "hash-db", "libsecp256k1", "log", "parity-scale-codec", "parking_lot", - "secp256k1 0.24.0", + "secp256k1 0.24.1", "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", "sp-keystore 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", @@ -3359,20 +3140,6 @@ dependencies = [ "thiserror", ] -[[package]] -name = "sp-npos-elections" -version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" -dependencies = [ - "parity-scale-codec", - "scale-info", - "serde", - "sp-arithmetic 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", -] - [[package]] name = "sp-panic-handler" version = "4.0.0" @@ -3394,16 +3161,6 @@ dependencies = [ "regex", ] -[[package]] -name = "sp-rpc" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" -dependencies = [ - "rustc-hash", - "serde", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", -] - [[package]] name = "sp-runtime" version = "6.0.0" @@ -3472,7 +3229,7 @@ name = "sp-runtime-interface" version = "6.0.0" source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" dependencies = [ - "bytes 1.2.1", + "bytes", "impl-trait-for-tuples", "parity-scale-codec", "primitive-types", @@ -3510,20 +3267,6 @@ dependencies = [ "syn", ] -[[package]] -name = "sp-session" -version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" -dependencies = [ - "parity-scale-codec", - "scale-info", - "sp-api", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-staking", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", -] - [[package]] name = "sp-staking" version = "4.0.0-dev" @@ -3619,22 +3362,6 @@ dependencies = [ "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", ] -[[package]] -name = "sp-timestamp" -version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" -dependencies = [ - "async-trait", - "futures-timer", - "log", - "parity-scale-codec", - "sp-api", - "sp-inherents", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "thiserror", -] - [[package]] name = "sp-tracing" version = "5.0.0" @@ -3745,11 +3472,17 @@ dependencies = [ "wasmi", ] +[[package]] +name = "spin" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" + [[package]] name = "ss58-registry" -version = "1.33.0" +version = "1.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ab7554f8a8b6f8d71cd5a8e6536ef116e2ce0504cf97ebf16311d58065dc8a6" +checksum = "37a9821878e1f13aba383aa40a86fb1b33c7265774ec91e32563cb1dd1577496" dependencies = [ "Inflector", "num-format", @@ -3766,19 +3499,6 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" -[[package]] -name = "statrs" -version = "0.15.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05bdbb8e4e78216a85785a85d3ec3183144f98d0097b9281802c019bb07a6f05" -dependencies = [ - "approx", - "lazy_static", - "nalgebra", - "num-traits", - "rand 0.8.5", -] - [[package]] name = "strsim" version = "0.10.0" @@ -3807,36 +3527,6 @@ dependencies = [ "syn", ] -[[package]] -name = "substrate-api-client" -version = "0.6.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate-api-client.git?branch=aleph-v0.9.28#92bc66b75428213e4bcdb2484616cf458455813a" -dependencies = [ - "ac-compose-macros", - "ac-node-api", - "ac-primitives", - "frame-metadata 15.0.0 (git+https://github.com/integritee-network/frame-metadata)", - "frame-support", - "frame-system", - "hex", - "log", - "pallet-balances", - "pallet-staking", - "pallet-transaction-payment", - "parity-scale-codec", - "primitive-types", - "serde", - "serde_json", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-rpc", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-version", - "thiserror", - "ws", -] - [[package]] name = "substrate-bip39" version = "0.4.4" @@ -3856,6 +3546,75 @@ version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" +[[package]] +name = "subxt" +version = "0.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0a8757ee0e19f87e722577282ab1386c86592a4b13ff963b9c6ec4176348104c" +dependencies = [ + "bitvec", + "derivative", + "frame-metadata", + "futures", + "hex", + "jsonrpsee", + "parity-scale-codec", + "parking_lot", + "scale-decode", + "scale-info", + "scale-value", + "serde", + "serde_json", + "sp-core 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-runtime 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "subxt-macro", + "subxt-metadata", + "thiserror", + "tracing", +] + +[[package]] +name = "subxt-codegen" +version = "0.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb77f93e11e6ff3ff95fe33e3d24c27c342e16feca8ef47759993614ebe90d2c" +dependencies = [ + "darling", + "frame-metadata", + "heck", + "parity-scale-codec", + "proc-macro-error", + "proc-macro2", + "quote", + "scale-info", + "subxt-metadata", + "syn", +] + +[[package]] +name = "subxt-macro" +version = "0.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "051cc21d77a54ae944b872eafdf9edfe1d9134fdfcfc3477dc10f763c76564a9" +dependencies = [ + "darling", + "proc-macro-error", + "subxt-codegen", + "syn", +] + +[[package]] +name = "subxt-metadata" +version = "0.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ed78d80db3a97d55e8b1cfecc1f6f9e21793a589d4e2e5f4fe2d6d5850c2e54" +dependencies = [ + "frame-metadata", + "parity-scale-codec", + "scale-info", + "sp-core 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "syn" version = "1.0.103" @@ -3896,9 +3655,9 @@ dependencies = [ [[package]] name = "textwrap" -version = "0.15.0" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1141d4d61095b28419e22cb0bbf02755f5e54e0526f97f1e3d1d160e60885fb" +checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d" [[package]] name = "thiserror" @@ -3972,6 +3731,62 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" +[[package]] +name = "tokio" +version = "1.21.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9e03c497dc955702ba729190dc4aac6f2a0ce97f913e5b1b5912fc5039d9099" +dependencies = [ + "autocfg", + "bytes", + "libc", + "memchr", + "mio", + "num_cpus", + "parking_lot", + "pin-project-lite", + "signal-hook-registry", + "socket2", + "tokio-macros", + "winapi", +] + +[[package]] +name = "tokio-macros" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9724f9a975fb987ef7a3cd9be0350edcbe130698af5b8f7a631e23d42d052484" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "tokio-rustls" +version = "0.23.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c43ee83903113e03984cb9e5cebe6c04a5116269e900e3ddba8f068a62adda59" +dependencies = [ + "rustls", + "tokio", + "webpki", +] + +[[package]] +name = "tokio-util" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bb2e075f03b3d66d8d8785356224ba688d2906a371015e225beeb65ca92c740" +dependencies = [ + "bytes", + "futures-core", + "futures-io", + "futures-sink", + "pin-project-lite", + "tokio", +] + [[package]] name = "toml" version = "0.5.9" @@ -3987,7 +3802,7 @@ version = "0.1.37" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "pin-project-lite", "tracing-attributes", "tracing-core", @@ -4014,6 +3829,16 @@ dependencies = [ "valuable", ] +[[package]] +name = "tracing-futures" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2" +dependencies = [ + "pin-project", + "tracing", +] + [[package]] name = "tracing-log" version = "0.1.3" @@ -4091,8 +3916,8 @@ version = "1.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675" dependencies = [ - "cfg-if 0.1.10", - "digest 0.10.5", + "cfg-if", + "digest 0.10.6", "rand 0.8.5", "static_assertions", ] @@ -4148,6 +3973,12 @@ version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" +[[package]] +name = "untrusted" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" + [[package]] name = "url" version = "2.3.1" @@ -4166,18 +3997,18 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" -[[package]] -name = "vcpkg" -version = "0.2.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" - [[package]] name = "version_check" version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" +[[package]] +name = "waker-fn" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d5b2c62b4012a3e1eca5a7e077d13b3bf498c4073e33ccd58626607748ceeca" + [[package]] name = "wasi" version = "0.9.0+wasi-snapshot-preview1" @@ -4196,7 +4027,7 @@ version = "0.2.83" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eaf9f5aceeec8be17c128b2e93e031fb8a4d469bb9c4ae2d7dc1888b26887268" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "wasm-bindgen-macro", ] @@ -4253,7 +4084,7 @@ dependencies = [ "downcast-rs", "libc", "memory_units", - "num-rational 0.2.4", + "num-rational", "num-traits", "parity-wasm", "wasmi-validation", @@ -4269,10 +4100,33 @@ dependencies = [ ] [[package]] -name = "winapi" -version = "0.2.8" +name = "web-sys" +version = "0.3.60" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bcda906d8be16e728fd5adc5b729afad4e444e106ab28cd1c7256e54fa61510f" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "webpki" +version = "0.22.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f095d78192e208183081cc07bc5515ef55216397af48b873e5edcd72637fa1bd" +dependencies = [ + "ring", + "untrusted", +] + +[[package]] +name = "webpki-roots" +version = "0.22.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a" +checksum = "368bfe657969fb01238bb756d351dcade285e0f6fcbd36dcb23359a5169975be" +dependencies = [ + "webpki", +] [[package]] name = "winapi" @@ -4284,12 +4138,6 @@ dependencies = [ "winapi-x86_64-pc-windows-gnu", ] -[[package]] -name = "winapi-build" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc" - [[package]] name = "winapi-i686-pc-windows-gnu" version = "0.4.0" @@ -4302,7 +4150,7 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" dependencies = [ - "winapi 0.3.9", + "winapi", ] [[package]] @@ -4311,6 +4159,19 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" +[[package]] +name = "windows-sys" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea04155a16a59f9eab786fe12a4a450e75cdb175f9e0d80da1e17db09f55b8d2" +dependencies = [ + "windows_aarch64_msvc 0.36.1", + "windows_i686_gnu 0.36.1", + "windows_i686_msvc 0.36.1", + "windows_x86_64_gnu 0.36.1", + "windows_x86_64_msvc 0.36.1", +] + [[package]] name = "windows-sys" version = "0.42.0" @@ -4318,12 +4179,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" dependencies = [ "windows_aarch64_gnullvm", - "windows_aarch64_msvc", - "windows_i686_gnu", - "windows_i686_msvc", - "windows_x86_64_gnu", + "windows_aarch64_msvc 0.42.0", + "windows_i686_gnu 0.42.0", + "windows_i686_msvc 0.42.0", + "windows_x86_64_gnu 0.42.0", "windows_x86_64_gnullvm", - "windows_x86_64_msvc", + "windows_x86_64_msvc 0.42.0", ] [[package]] @@ -4332,24 +4193,48 @@ version = "0.42.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "41d2aa71f6f0cbe00ae5167d90ef3cfe66527d6f613ca78ac8024c3ccab9a19e" +[[package]] +name = "windows_aarch64_msvc" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47" + [[package]] name = "windows_aarch64_msvc" version = "0.42.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dd0f252f5a35cac83d6311b2e795981f5ee6e67eb1f9a7f64eb4500fbc4dcdb4" +[[package]] +name = "windows_i686_gnu" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6" + [[package]] name = "windows_i686_gnu" version = "0.42.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fbeae19f6716841636c28d695375df17562ca208b2b7d0dc47635a50ae6c5de7" +[[package]] +name = "windows_i686_msvc" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024" + [[package]] name = "windows_i686_msvc" version = "0.42.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "84c12f65daa39dd2babe6e442988fc329d6243fdce47d7d2d155b8d874862246" +[[package]] +name = "windows_x86_64_gnu" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1" + [[package]] name = "windows_x86_64_gnu" version = "0.42.0" @@ -4364,47 +4249,30 @@ checksum = "09d525d2ba30eeb3297665bd434a54297e4170c7f1a44cad4ef58095b4cd2028" [[package]] name = "windows_x86_64_msvc" -version = "0.42.0" +version = "0.36.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f40009d85759725a34da6d89a94e63d7bdc50a862acf0dbc7c8e488f1edcb6f5" +checksum = "c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680" [[package]] -name = "ws" -version = "0.9.2" +name = "windows_x86_64_msvc" +version = "0.42.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25fe90c75f236a0a00247d5900226aea4f2d7b05ccc34da9e7a8880ff59b5848" -dependencies = [ - "byteorder", - "bytes 0.4.12", - "httparse", - "log", - "mio", - "mio-extras", - "openssl", - "rand 0.7.3", - "sha-1", - "slab", - "url", -] +checksum = "f40009d85759725a34da6d89a94e63d7bdc50a862acf0dbc7c8e488f1edcb6f5" [[package]] -name = "ws2_32-sys" -version = "0.2.1" +name = "wyz" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e" +checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed" dependencies = [ - "winapi 0.2.8", - "winapi-build", + "tap", ] [[package]] -name = "wyz" -version = "0.5.0" +name = "yap" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30b31594f29d27036c383b53b59ed3476874d518f0efb151b27a4c275141390e" -dependencies = [ - "tap", -] +checksum = "5fc77f52dc9e9b10d55d3f4462c3b7fc393c4f17975d641542833ab2d3bc26ef" [[package]] name = "zeroize" diff --git a/benches/payout-stakers/Cargo.toml b/benches/payout-stakers/Cargo.toml index 428e441eb6..4c1bf5ad5c 100644 --- a/benches/payout-stakers/Cargo.toml +++ b/benches/payout-stakers/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "payout-stakers" -version = "0.2.0" +version = "0.3.0" authors = ["Cardinal Cryptography"] edition = "2021" @@ -11,13 +11,14 @@ codec = { package = 'parity-scale-codec', version = "3.0.0", features = ['derive env_logger = "0.8" hex = { version = "0.4.3", default-features = false, features = ["alloc"] } log = "0.4" -rayon = "1.5" +futures = "0.3.25" rand = "0.8.5" sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28", features = ["full_crypto"] } sp-keyring = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -substrate-api-client = { git = "https://github.com/Cardinal-Cryptography/substrate-api-client.git", branch = "aleph-v0.9.28" } +subxt = "0.24.0" +tokio = { version = "1.21.2", features = ["full"] } aleph_client = { path = "../../aleph-client" } primitives = { path = "../../primitives" } diff --git a/benches/payout-stakers/src/main.rs b/benches/payout-stakers/src/main.rs index 3eac534cef..81aef363a4 100644 --- a/benches/payout-stakers/src/main.rs +++ b/benches/payout-stakers/src/main.rs @@ -1,21 +1,23 @@ use std::{iter, time::Instant}; use aleph_client::{ - balances_batch_transfer, keypair_from_string, payout_stakers_and_assert_locked_balance, - staking_batch_bond, staking_batch_nominate, staking_bond, staking_validate, wait_for_next_era, - AnyConnection, RootConnection, SignedConnection, + keypair_from_string, + pallets::{ + balances::{BalanceApi, BalanceUserBatchExtApi}, + staking::{StakingApi, StakingApiExt, StakingUserApi}, + }, + waiting::{BlockStatus, WaitingExt}, + AccountId, Connection, KeyPair, RootConnection, SignedConnection, TxStatus, }; use clap::{ArgGroup, Parser}; +use futures::future::join_all; use log::{info, trace, warn}; use primitives::{ staking::{MAX_NOMINATORS_REWARDED_PER_VALIDATOR, MIN_NOMINATOR_BOND, MIN_VALIDATOR_BOND}, - TOKEN, + EraIndex, TOKEN, }; use rand::{thread_rng, Rng}; -use rayon::prelude::*; -use sp_core::{crypto::AccountId32, sr25519::Pair as KeyPair, Pair}; use sp_keyring::AccountKeyring; -use substrate_api_client::{extrinsic::staking::RewardDestination, AccountId, XtStatus}; // testcase parameters const NOMINATOR_COUNT: u32 = MAX_NOMINATORS_REWARDED_PER_VALIDATOR; @@ -31,7 +33,7 @@ const TRANSFER_CALL_BATCH_LIMIT: usize = 1024; #[clap(group(ArgGroup::new("valid").required(true)))] struct Config { /// WS endpoint address of the node to connect to. Use IP:port syntax, e.g. 127.0.0.1:9944 - #[clap(long, default_value = "127.0.0.1:9944")] + #[clap(long, default_value = "ws://127.0.0.1:9944")] pub address: String, /// A path to a file that contains the root account seed. @@ -51,7 +53,8 @@ struct Config { pub validator_count: Option, } -fn main() -> anyhow::Result<()> { +#[tokio::main] +async fn main() -> anyhow::Result<()> { env_logger::init(); info!("Running payout_stakers bench."); @@ -66,7 +69,7 @@ fn main() -> anyhow::Result<()> { let sudoer = get_sudoer_keypair(root_seed_file); - let connection = RootConnection::new(&address, sudoer); + let connection = RootConnection::new(address.clone(), sudoer).await.unwrap(); let validators = match validators_seed_file { Some(validators_seed_file) => { @@ -87,18 +90,30 @@ fn main() -> anyhow::Result<()> { let controllers = generate_controllers_for_validators(validator_count); - bond_validators_funds_and_choose_controllers(&address, controllers.clone(), validators.clone()); - send_validate_txs(&address, controllers); + bond_validators_funds_and_choose_controllers( + &address, + controllers + .iter() + .map(|k| KeyPair::new(k.signer().clone())) + .collect(), + validators + .iter() + .map(|k| KeyPair::new(k.signer().clone())) + .collect(), + ) + .await; + send_validate_txs(&address, controllers).await; let validators_and_nominator_stashes = - setup_test_validators_and_nominator_stashes(&connection, validators); + setup_test_validators_and_nominator_stashes(&connection, validators).await; wait_for_successive_eras( &address, - &connection, + &connection.connection, validators_and_nominator_stashes, ERAS_TO_WAIT, - )?; + ) + .await?; let elapsed = Instant::now().duration_since(start); println!("Ok! Elapsed time {}ms", elapsed.as_millis()); @@ -114,7 +129,7 @@ fn get_sudoer_keypair(root_seed_file: Option) -> KeyPair { .unwrap_or_else(|_| panic!("Failed to read file {}", root_seed_file)); keypair_from_string(root_seed.trim()) } - None => AccountKeyring::Alice.pair(), + None => keypair_from_string(&AccountKeyring::Alice.to_seed()), } } @@ -127,31 +142,36 @@ fn generate_controllers_for_validators(validator_count: u32) -> Vec { /// For a given set of validators, generates nominator accounts (controllers and stashes). /// Bonds nominator controllers to the corresponding nominator stashes. -fn setup_test_validators_and_nominator_stashes( +async fn setup_test_validators_and_nominator_stashes( connection: &RootConnection, validators: Vec, -) -> Vec<(KeyPair, Vec)> { - validators - .iter() - .enumerate() - .map(|(validator_index, validator)| { - let (nominator_controller_accounts, nominator_stash_accounts) = - generate_nominator_accounts_with_minimal_bond( - &connection.as_signed(), - validator_index as u32, - validators.len() as u32, - ); - let nominee_account = AccountId::from(validator.public()); - info!("Nominating validator {}", nominee_account); - nominate_validator( - connection, - nominator_controller_accounts, - nominator_stash_accounts.clone(), - nominee_account, - ); - (validator.clone(), nominator_stash_accounts) - }) - .collect() +) -> Vec<(KeyPair, Vec)> { + let mut validators_stashes = vec![]; + let validators_len = validators.len(); + for (validator_index, validator) in validators.into_iter().enumerate() { + let (nominator_controller_accounts, nominator_stash_accounts) = + generate_nominator_accounts_with_minimal_bond( + &connection.as_signed(), + validator_index as u32, + validators_len as u32, + ) + .await; + let nominee_account = validator.account_id().clone(); + info!("Nominating validator {}", nominee_account); + nominate_validator( + connection, + nominator_controller_accounts, + nominator_stash_accounts.clone(), + nominee_account, + ) + .await; + validators_stashes.push(( + KeyPair::new(validator.signer().clone()), + nominator_stash_accounts, + )); + } + + validators_stashes } pub fn derive_user_account_from_numeric_seed(seed: u32) -> KeyPair { @@ -160,44 +180,47 @@ pub fn derive_user_account_from_numeric_seed(seed: u32) -> KeyPair { } /// For a given number of eras, in each era check whether stash balances of a validator are locked. -fn wait_for_successive_eras( +async fn wait_for_successive_eras( address: &str, - connection: &C, + connection: &Connection, validators_and_nominator_stashes: Vec<(KeyPair, Vec)>, eras_to_wait: u32, ) -> anyhow::Result<()> { // in order to have over 8k nominators we need to wait around 60 seconds all calls to be processed // that means not all 8k nominators we'll make i to era 1st, hence we need to wait to 2nd era - wait_for_next_era(connection)?; - wait_for_next_era(connection)?; // then we wait another full era to test rewards - let mut current_era = wait_for_next_era(connection)?; + connection.wait_for_n_eras(3, BlockStatus::Finalized).await; + let mut current_era = connection.get_current_era(None).await; for _ in 0..eras_to_wait { info!( "Era {} started, claiming rewards for era {}", current_era, current_era - 1 ); - validators_and_nominator_stashes - .iter() - .for_each(|(validator, nominators_stashes)| { - let validator_connection = SignedConnection::new(address, validator.clone()); - let validator_account = AccountId::from(validator.public()); - info!("Doing payout_stakers for validator {}", validator_account); - payout_stakers_and_assert_locked_balance( - &validator_connection, - &[&nominators_stashes[..], &[validator_account.clone()]].concat(), - &validator_account, - current_era, - ); - }); - current_era = wait_for_next_era(connection)?; + for (validator, nominators_stashes) in validators_and_nominator_stashes.iter() { + let validator_connection = SignedConnection::new( + address.to_string(), + KeyPair::new(validator.signer().clone()), + ) + .await; + let validator_account = validator.account_id().clone(); + info!("Doing payout_stakers for validator {}", validator_account); + payout_stakers_and_assert_locked_balance( + &validator_connection, + &[&nominators_stashes[..], &[validator_account.clone()]].concat(), + &validator_account, + current_era, + ) + .await; + } + connection.wait_for_n_eras(1, BlockStatus::Finalized).await; + current_era = connection.get_current_era(None).await; } Ok(()) } /// Nominates a specific validator based on the nominator controller and stash accounts. -fn nominate_validator( +async fn nominate_validator( connection: &RootConnection, nominator_controller_accounts: Vec, nominator_stash_accounts: Vec, @@ -205,64 +228,80 @@ fn nominate_validator( ) { let stash_controller_accounts = nominator_stash_accounts .iter() - .zip(nominator_controller_accounts.iter()) + .cloned() + .zip(nominator_controller_accounts.iter().cloned()) .collect::>(); - stash_controller_accounts + + let mut rng = thread_rng(); + for chunk in stash_controller_accounts .chunks(BOND_CALL_BATCH_LIMIT) - .for_each(|chunk| { - let mut rng = thread_rng(); - staking_batch_bond( - connection, - chunk, - (rng.gen::() % 100) * TOKEN + MIN_NOMINATOR_BOND, - RewardDestination::Staked, - ) - }); + .map(|c| c.to_vec()) + { + let stake = (rng.gen::() % 100) * TOKEN + MIN_NOMINATOR_BOND; + connection + .batch_bond(&chunk, stake, TxStatus::Submitted) + .await + .unwrap(); + } + let nominator_nominee_accounts = nominator_controller_accounts .iter() - .zip(iter::repeat(&nominee_account)) + .cloned() + .zip(iter::repeat(&nominee_account).cloned()) .collect::>(); - nominator_nominee_accounts - .chunks(NOMINATE_CALL_BATCH_LIMIT) - .for_each(|chunk| staking_batch_nominate(connection, chunk)); + for chunks in nominator_nominee_accounts.chunks(NOMINATE_CALL_BATCH_LIMIT) { + connection + .batch_nominate(chunks, TxStatus::InBlock) + .await + .unwrap(); + } } /// Bonds the funds of the validators. /// Chooses controller accounts for the corresponding validators. /// We assume stash == validator != controller. -fn bond_validators_funds_and_choose_controllers( +async fn bond_validators_funds_and_choose_controllers( address: &str, controllers: Vec, validators: Vec, ) { - controllers - .into_par_iter() - .zip(validators.into_par_iter()) - .for_each(|(controller, validator)| { - let connection = SignedConnection::new(address, validator); - let controller_account_id = AccountId::from(controller.public()); - staking_bond( - &connection, - MIN_VALIDATOR_BOND, - &controller_account_id, - XtStatus::InBlock, - ); - }); + let mut handles = vec![]; + for (controller, validator) in controllers.into_iter().zip(validators) { + let validator_address = address.to_string(); + handles.push(tokio::spawn(async move { + let connection = SignedConnection::new(validator_address, validator).await; + let controller_account_id = controller.account_id().clone(); + connection + .bond(MIN_VALIDATOR_BOND, controller_account_id, TxStatus::InBlock) + .await + .unwrap(); + })); + } + join_all(handles).await; } /// Submits candidate validators via controller accounts. /// We assume stash == validator != controller. -fn send_validate_txs(address: &str, controllers: Vec) { - controllers.par_iter().for_each(|controller| { +async fn send_validate_txs(address: &str, controllers: Vec) { + let mut handles = vec![]; + for controller in controllers { + let node_address = address.to_string(); let mut rng = thread_rng(); - let connection = SignedConnection::new(address, controller.clone()); - staking_validate(&connection, rng.gen::() % 100, XtStatus::InBlock); - }); + let prc = rng.gen::() % 100; + handles.push(tokio::spawn(async move { + let connection = + SignedConnection::new(node_address, KeyPair::new(controller.signer().clone())) + .await; + connection.validate(prc, TxStatus::InBlock).await.unwrap(); + })); + } + + join_all(handles).await; } /// For a specific validator given by index, generates a predetermined number of nominator accounts. /// Nominator accounts are produced as (controller, stash) tuples with initial endowments. -fn generate_nominator_accounts_with_minimal_bond( +async fn generate_nominator_accounts_with_minimal_bond( connection: &SignedConnection, validator_number: u32, validators_count: u32, @@ -277,20 +316,50 @@ fn generate_nominator_accounts_with_minimal_bond( let idx = validators_count + nominator_number + NOMINATOR_COUNT * validator_number; let controller = keypair_from_string(&format!("//{}//Controller", idx)); let stash = keypair_from_string(&format!("//{}//Stash", idx)); - controller_accounts.push(AccountId::from(controller.public())); - stash_accounts.push(AccountId::from(stash.public())); + controller_accounts.push(controller.account_id().clone()); + stash_accounts.push(stash.account_id().clone()); }); - controller_accounts - .chunks(TRANSFER_CALL_BATCH_LIMIT) - .for_each(|chunk| { - balances_batch_transfer(connection, chunk.to_vec(), TOKEN); - }); - stash_accounts - .chunks(TRANSFER_CALL_BATCH_LIMIT) - .for_each(|chunk| { - balances_batch_transfer(connection, chunk.to_vec(), MIN_NOMINATOR_BOND * 10); - // potentially change to + 1 - }); + for chunk in controller_accounts.chunks(TRANSFER_CALL_BATCH_LIMIT) { + connection + .batch_transfer(chunk, TOKEN, TxStatus::InBlock) + .await + .unwrap(); + } + for chunk in stash_accounts.chunks(TRANSFER_CALL_BATCH_LIMIT) { + // potentially change to + 1 + connection + .batch_transfer(chunk, MIN_NOMINATOR_BOND * 10, TxStatus::InBlock) + .await + .unwrap(); + } (controller_accounts, stash_accounts) } + +async fn payout_stakers_and_assert_locked_balance( + stash_connection: &SignedConnection, + accounts_to_check_balance: &[AccountId], + stash_account: &AccountId, + era: EraIndex, +) { + let locked_stash_balances_before_payout = stash_connection + .connection + .locks(accounts_to_check_balance, None) + .await; + stash_connection + .payout_stakers(stash_account.clone(), era - 1, TxStatus::Finalized) + .await + .unwrap(); + let locked_stash_balances_after_payout = stash_connection + .connection + .locks(accounts_to_check_balance, None) + .await; + locked_stash_balances_before_payout.iter() + .zip(locked_stash_balances_after_payout.iter()) + .zip(accounts_to_check_balance.iter()) + .for_each(|((balances_before, balances_after), account_id)| { + assert!(balances_after[0].amount > balances_before[0].amount, + "Expected payout to be positive in locked balance for account {}. Balance before: {}, balance after: {}", + account_id, balances_before[0].amount, balances_after[0].amount); + }); +} diff --git a/bin/cliain/Cargo.lock b/bin/cliain/Cargo.lock index 9b6ec5cad9..48c2b05542 100644 --- a/bin/cliain/Cargo.lock +++ b/bin/cliain/Cargo.lock @@ -12,55 +12,6 @@ dependencies = [ "regex", ] -[[package]] -name = "ac-compose-macros" -version = "0.1.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate-api-client.git?branch=aleph-v0.9.28#92bc66b75428213e4bcdb2484616cf458455813a" -dependencies = [ - "ac-primitives", - "log", - "parity-scale-codec", - "sp-application-crypto 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", -] - -[[package]] -name = "ac-node-api" -version = "0.1.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate-api-client.git?branch=aleph-v0.9.28#92bc66b75428213e4bcdb2484616cf458455813a" -dependencies = [ - "ac-primitives", - "derive_more", - "frame-metadata 15.0.0 (git+https://github.com/integritee-network/frame-metadata)", - "frame-support", - "frame-system", - "hex", - "log", - "parity-scale-codec", - "scale-info", - "serde", - "serde_json", - "sp-application-crypto 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", -] - -[[package]] -name = "ac-primitives" -version = "0.1.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate-api-client.git?branch=aleph-v0.9.28#92bc66b75428213e4bcdb2484616cf458455813a" -dependencies = [ - "hex", - "parity-scale-codec", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", -] - [[package]] name = "addr2line" version = "0.17.0" @@ -98,31 +49,25 @@ dependencies = [ [[package]] name = "aleph_client" -version = "1.12.0" +version = "2.0.0" dependencies = [ - "ac-node-api", - "ac-primitives", "anyhow", + "async-trait", "contract-metadata 1.5.0", "contract-transcode", "frame-support", + "futures", "hex", "ink_metadata", "log", - "pallet-aleph", - "pallet-balances", - "pallet-elections", - "pallet-multisig", - "pallet-staking", - "pallet-treasury", - "pallet-vesting", + "pallet-contracts-primitives", "parity-scale-codec", "primitives", - "rayon", + "serde", "serde_json", "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "substrate-api-client", + "subxt", "thiserror", ] @@ -141,7 +86,7 @@ version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2" dependencies = [ - "winapi 0.3.9", + "winapi", ] [[package]] @@ -186,6 +131,16 @@ version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6" +[[package]] +name = "async-lock" +version = "2.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8101efe8695a6c17e02911402145357e718ac92d3ff88ae8419e84b1707b685" +dependencies = [ + "event-listener", + "futures-lite", +] + [[package]] name = "async-trait" version = "0.1.58" @@ -205,7 +160,7 @@ checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" dependencies = [ "hermit-abi", "libc", - "winapi 0.3.9", + "winapi", ] [[package]] @@ -222,7 +177,7 @@ checksum = "cab84319d616cfb654d03394f38ab7e6f0919e181b1b57e1fd15e7fb4077d9a7" dependencies = [ "addr2line", "cc", - "cfg-if 1.0.0", + "cfg-if", "libc", "miniz_oxide", "object", @@ -247,6 +202,15 @@ version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" +[[package]] +name = "beef" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a8241f3ebb85c056b509d4327ad0358fbbba6ffb340bf388f26350aeda225b1" +dependencies = [ + "serde", +] + [[package]] name = "bitflags" version = "1.3.2" @@ -267,9 +231,9 @@ dependencies = [ [[package]] name = "blake2" -version = "0.10.4" +version = "0.10.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9cf849ee05b2ee5fba5e36f97ff8ec2533916700fc0758d40d92136a42f3388" +checksum = "b12e5fd123190ce1c2e559308a94c9bacad77907d4c6005d9e58fe1a0689e55e" dependencies = [ "digest 0.10.5", ] @@ -340,9 +304,9 @@ checksum = "572f695136211188308f16ad2ca5c851a712c464060ae6974944458eb83880ba" [[package]] name = "byte-slice-cast" -version = "1.2.1" +version = "1.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87c5fdd0166095e1d463fc6cc01aa8ce547ad77a4e84d42eb6762b084e28067e" +checksum = "c3ac9f8b63eca6fd385229b3675f6cc0dc5c8a5c8a54a59d4f52ffd670d87b0c" [[package]] name = "byte-tools" @@ -356,16 +320,6 @@ version = "1.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" -[[package]] -name = "bytes" -version = "0.4.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "206fdffcfa2df7cbe15601ef46c813fce0965eb3286db6b56c583b814b51c81c" -dependencies = [ - "byteorder", - "iovec", -] - [[package]] name = "bytes" version = "1.2.1" @@ -374,15 +328,9 @@ checksum = "ec8a7b6a70fde80372154c65702f00a0f56f3e1c36abbc6c440484be248856db" [[package]] name = "cc" -version = "1.0.73" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fff2a6927b3bb87f9595d67196a70493f627687a71d87a0d692242c33f58c11" - -[[package]] -name = "cfg-if" -version = "0.1.10" +version = "1.0.76" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822" +checksum = "76a284da2e6fe2092f2353e51713435363112dfd60030e22add80be333fb928f" [[package]] name = "cfg-if" @@ -392,21 +340,21 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "chrono" -version = "0.4.22" +version = "0.4.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfd4d1b31faaa3a89d7934dbded3111da0d2ef28e3ebccdb4f0179f5929d1ef1" +checksum = "16b0a3d9ed01224b22057780a37bb8c5dbfe1be8ba48678e7bf57ec4b385411f" dependencies = [ "iana-time-zone", "num-integer", "num-traits", - "winapi 0.3.9", + "winapi", ] [[package]] name = "clap" -version = "3.2.21" +version = "3.2.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ed5341b2301a26ab80be5cbdced622e80ed808483c52e45e3310a877d3b37d7" +checksum = "71655c45cb9845d3270c9d6df84ebe72b4dad3c2ba3f7023ad47c144e4e473a5" dependencies = [ "atty", "bitflags", @@ -443,7 +391,7 @@ dependencies = [ [[package]] name = "cliain" -version = "0.5.3" +version = "0.6.0" dependencies = [ "aleph_client", "anyhow", @@ -461,7 +409,8 @@ dependencies = [ "serde", "serde_json", "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "substrate-api-client", + "subxt", + "tokio", ] [[package]] @@ -485,7 +434,7 @@ dependencies = [ "libc", "terminal_size", "unicode-width", - "winapi 0.3.9", + "winapi", ] [[package]] @@ -546,7 +495,7 @@ checksum = "cfa6db9d18dd5ef92d29c52d30c8503c857d390d9e4043e12466f1490c43c05e" dependencies = [ "anyhow", "contract-metadata 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", - "env_logger 0.9.1", + "env_logger 0.9.3", "escape8259", "hex", "indexmap", @@ -565,10 +514,14 @@ dependencies = [ ] [[package]] -name = "convert_case" -version = "0.4.0" +name = "core-foundation" +version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" +checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146" +dependencies = [ + "core-foundation-sys", + "libc", +] [[package]] name = "core-foundation-sys" @@ -585,49 +538,6 @@ dependencies = [ "libc", ] -[[package]] -name = "crossbeam-channel" -version = "0.5.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2dd04ddaf88237dc3b8d8f9a3c1004b506b54b3313403944054d23c0870c521" -dependencies = [ - "cfg-if 1.0.0", - "crossbeam-utils", -] - -[[package]] -name = "crossbeam-deque" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "715e8152b692bba2d374b53d4875445368fdf21a94751410af607a5ac677d1fc" -dependencies = [ - "cfg-if 1.0.0", - "crossbeam-epoch", - "crossbeam-utils", -] - -[[package]] -name = "crossbeam-epoch" -version = "0.9.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f916dfc5d356b0ed9dae65f1db9fc9770aa2851d2662b988ccf4fe3516e86348" -dependencies = [ - "autocfg", - "cfg-if 1.0.0", - "crossbeam-utils", - "memoffset", - "scopeguard", -] - -[[package]] -name = "crossbeam-utils" -version = "0.8.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edbafec5fa1f196ca66527c1b12c2ec4745ca14b50f1ad8f9f6f720b55d11fac" -dependencies = [ - "cfg-if 1.0.0", -] - [[package]] name = "crunchy" version = "0.2.2" @@ -704,9 +614,9 @@ dependencies = [ [[package]] name = "cxx" -version = "1.0.80" +version = "1.0.81" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b7d4e43b25d3c994662706a1d4fcfc32aaa6afd287502c111b237093bb23f3a" +checksum = "97abf9f0eca9e52b7f81b945524e76710e6cb2366aead23b7d4fbf72e281f888" dependencies = [ "cc", "cxxbridge-flags", @@ -716,9 +626,9 @@ dependencies = [ [[package]] name = "cxx-build" -version = "1.0.80" +version = "1.0.81" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84f8829ddc213e2c1368e51a2564c552b65a8cb6a28f31e576270ac81d5e5827" +checksum = "7cc32cc5fea1d894b77d269ddb9f192110069a8a9c1f1d441195fba90553dea3" dependencies = [ "cc", "codespan-reporting", @@ -731,18 +641,53 @@ dependencies = [ [[package]] name = "cxxbridge-flags" -version = "1.0.80" +version = "1.0.81" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e72537424b474af1460806647c41d4b6d35d09ef7fe031c5c2fa5766047cc56a" +checksum = "8ca220e4794c934dc6b1207c3b42856ad4c302f2df1712e9f8d2eec5afaacf1f" [[package]] name = "cxxbridge-macro" -version = "1.0.80" +version = "1.0.81" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b846f081361125bfc8dc9d3940c84e1fd83ba54bbca7b17cd29483c828be0704" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "darling" +version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "309e4fb93eed90e1e14bea0da16b209f81813ba9fc7830c20ed151dd7bc0a4d7" +checksum = "b0dd3cd20dc6b5a876612a6e5accfe7f3dd883db6d07acfbf14c128f61550dfa" dependencies = [ + "darling_core", + "darling_macro", +] + +[[package]] +name = "darling_core" +version = "0.14.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a784d2ccaf7c98501746bf0be29b2022ba41fd62a2e622af997a03e9f972859f" +dependencies = [ + "fnv", + "ident_case", "proc-macro2", "quote", + "strsim", + "syn", +] + +[[package]] +name = "darling_macro" +version = "0.14.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7618812407e9402654622dd402b0a89dff9ba93badd6540781526117b92aab7e" +dependencies = [ + "darling_core", + "quote", "syn", ] @@ -755,16 +700,25 @@ dependencies = [ "const-oid", ] +[[package]] +name = "derivative" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "derive_more" version = "0.99.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321" dependencies = [ - "convert_case", "proc-macro2", "quote", - "rustc_version", "syn", ] @@ -921,9 +875,9 @@ dependencies = [ [[package]] name = "env_logger" -version = "0.9.1" +version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c90bf5f19754d10198ccb95b70664fc925bd1fc090a0fd9a6ebc54acc8cd6272" +checksum = "a12e6657c4c97ebab115a42dcee77225f7f482cdd841cf7088c657a42e9e00e7" dependencies = [ "atty", "humantime", @@ -947,6 +901,12 @@ dependencies = [ "rustversion", ] +[[package]] +name = "event-listener" +version = "2.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" + [[package]] name = "fake-simd" version = "0.1.2" @@ -985,19 +945,10 @@ dependencies = [ ] [[package]] -name = "foreign-types" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" -dependencies = [ - "foreign-types-shared", -] - -[[package]] -name = "foreign-types-shared" -version = "0.1.1" +name = "fnv" +version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" +checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "form_urlencoded" @@ -1063,18 +1014,7 @@ version = "15.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "df6bb8542ef006ef0de09a5c4420787d79823c0ed7924225822362fd2bf2ff2d" dependencies = [ - "cfg-if 1.0.0", - "parity-scale-codec", - "scale-info", - "serde", -] - -[[package]] -name = "frame-metadata" -version = "15.0.0" -source = "git+https://github.com/integritee-network/frame-metadata#3b43da9821238681f9431276d55b92a079142083" -dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "parity-scale-codec", "scale-info", "serde", @@ -1086,7 +1026,7 @@ version = "4.0.0-dev" source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" dependencies = [ "bitflags", - "frame-metadata 15.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "frame-metadata", "frame-support-procedural", "impl-trait-for-tuples", "k256", @@ -1162,22 +1102,6 @@ dependencies = [ "sp-version", ] -[[package]] -name = "fuchsia-zircon" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82" -dependencies = [ - "bitflags", - "fuchsia-zircon-sys", -] - -[[package]] -name = "fuchsia-zircon-sys" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7" - [[package]] name = "funty" version = "2.0.0" @@ -1233,6 +1157,21 @@ version = "0.3.25" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "00f5fb52a06bdcadeb54e8d3671f8888a39697dcb0b81b23b55174030427f4eb" +[[package]] +name = "futures-lite" +version = "1.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7694489acd39452c77daa48516b894c153f192c3578d5a839b62c58099fcbf48" +dependencies = [ + "fastrand", + "futures-core", + "futures-io", + "memchr", + "parking", + "pin-project-lite", + "waker-fn", +] + [[package]] name = "futures-macro" version = "0.3.25" @@ -1305,7 +1244,7 @@ version = "0.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "js-sys", "libc", "wasi 0.9.0+wasi-snapshot-preview1", @@ -1318,7 +1257,7 @@ version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "libc", "wasi 0.11.0+wasi-snapshot-preview1", ] @@ -1416,6 +1355,17 @@ dependencies = [ "hmac 0.8.1", ] +[[package]] +name = "http" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75f43d41e26995c17e71ee126451dd3941010b0514a81a9d11f3b341debc2399" +dependencies = [ + "bytes", + "fnv", + "itoa", +] + [[package]] name = "httparse" version = "1.8.0" @@ -1430,16 +1380,16 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" [[package]] name = "iana-time-zone" -version = "0.1.51" +version = "0.1.53" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f5a6ef98976b22b3b7f2f3a806f858cb862044cfa66805aa3ad84cb3d3b785ed" +checksum = "64c122667b287044802d6ce17ee2ddf13207ed924c712de9a66a5814d5b64765" dependencies = [ "android_system_properties", "core-foundation-sys", "iana-time-zone-haiku", "js-sys", "wasm-bindgen", - "winapi 0.3.9", + "winapi", ] [[package]] @@ -1452,6 +1402,12 @@ dependencies = [ "cxx-build", ] +[[package]] +name = "ident_case" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" + [[package]] name = "idna" version = "0.3.0" @@ -1513,7 +1469,7 @@ version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1c9588a59a0e8997c0b2153cd11b5aaa77c06a0537a6b18f3811d1f1aa098b12" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", ] [[package]] @@ -1526,7 +1482,7 @@ dependencies = [ "derive_more", "parity-scale-codec", "rand 0.8.5", - "secp256k1 0.24.0", + "secp256k1 0.24.1", "sha2 0.10.6", "sha3", ] @@ -1539,7 +1495,7 @@ checksum = "a891d34301a3dbb1c7b7424c49ae184282b163491c54f9acd17fcbe14a80447b" dependencies = [ "arrayref", "blake2", - "cfg-if 1.0.0", + "cfg-if", "derive_more", "ink_allocator", "ink_engine", @@ -1552,7 +1508,7 @@ dependencies = [ "rand 0.8.5", "rlibc", "scale-info", - "secp256k1 0.24.0", + "secp256k1 0.24.1", "sha2 0.10.6", "sha3", "static_assertions", @@ -1578,7 +1534,7 @@ version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1f031e6b8495594a7288b089bf4122e76c26b994959d1b2b693bdfe846b14c0e" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", ] [[package]] @@ -1587,7 +1543,7 @@ version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e12cf42dce81d060401c7cec95a392ad6d3c2f18661fa3083f619ce135133c33" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "ink_prelude", "parity-scale-codec", "scale-info", @@ -1599,7 +1555,7 @@ version = "0.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", ] [[package]] @@ -1611,15 +1567,6 @@ dependencies = [ "num-traits", ] -[[package]] -name = "iovec" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2b3ea6ff95e175473f8ffe6a7eb7c00d054240321b84c57051175fe3c1e075e" -dependencies = [ - "libc", -] - [[package]] name = "itertools" version = "0.10.5" @@ -1650,13 +1597,82 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "jsonrpsee" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8bd0d559d5e679b1ab2f869b486a11182923863b1b3ee8b421763cdd707b783a" +dependencies = [ + "jsonrpsee-client-transport", + "jsonrpsee-core", + "jsonrpsee-types", +] + +[[package]] +name = "jsonrpsee-client-transport" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8752740ecd374bcbf8b69f3e80b0327942df76f793f8d4e60d3355650c31fb74" +dependencies = [ + "futures-util", + "http", + "jsonrpsee-core", + "jsonrpsee-types", + "pin-project", + "rustls-native-certs", + "soketto", + "thiserror", + "tokio", + "tokio-rustls", + "tokio-util", + "tracing", + "webpki-roots", +] + +[[package]] +name = "jsonrpsee-core" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3dc3e9cf2ba50b7b1d7d76a667619f82846caa39e8e8daa8a4962d74acaddca" +dependencies = [ + "anyhow", + "async-lock", + "async-trait", + "beef", + "futures-channel", + "futures-timer", + "futures-util", + "jsonrpsee-types", + "rustc-hash", + "serde", + "serde_json", + "thiserror", + "tokio", + "tracing", + "tracing-futures", +] + +[[package]] +name = "jsonrpsee-types" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e290bba767401b646812f608c099b922d8142603c9e73a50fb192d3ac86f4a0d" +dependencies = [ + "anyhow", + "beef", + "serde", + "serde_json", + "thiserror", + "tracing", +] + [[package]] name = "k256" version = "0.10.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "19c3a5e0a0b8450278feda242592512e09f61c72e018b8cd5c859482802daf2d" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "ecdsa", "elliptic-curve", "sec1", @@ -1664,18 +1680,11 @@ dependencies = [ [[package]] name = "keccak" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9b7d56ba4a8344d6be9729995e6b06f928af29998cdf79fe390cbf6b1fee838" - -[[package]] -name = "kernel32-sys" -version = "0.2.2" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d" +checksum = "3afef3b6eff9ce9d8ff9b3601125eec7f0c8cbac7abd14f355d053fa56c98768" dependencies = [ - "winapi 0.2.8", - "winapi-build", + "cpufeatures", ] [[package]] @@ -1684,23 +1693,17 @@ version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" -[[package]] -name = "lazycell" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" - [[package]] name = "libc" -version = "0.2.135" +version = "0.2.137" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68783febc7782c6c5cb401fbda4de5a9898be1762314da0bb2c10ced61f18b0c" +checksum = "fc7fcc620a3bff7cdd7a365be3376c97191aeaccc2a603e600951e452615bf89" [[package]] name = "libm" -version = "0.2.5" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "292a948cd991e376cf75541fe5b97a1081d713c618b4f1b9500f8844e49eb565" +checksum = "348108ab3fba42ec82ff6e9564fc4ca0247bdccdc68dd8af9764bbc79c3c8ffb" [[package]] name = "libsecp256k1" @@ -1785,7 +1788,7 @@ version = "0.4.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", ] [[package]] @@ -1812,15 +1815,6 @@ version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" -[[package]] -name = "memoffset" -version = "0.6.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce" -dependencies = [ - "autocfg", -] - [[package]] name = "memory-db" version = "0.29.0" @@ -1867,52 +1861,21 @@ dependencies = [ [[package]] name = "mio" -version = "0.6.23" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4afd66f5b91bf2a3bc13fad0e21caedac168ca4c707504e75585648ae80e4cc4" +checksum = "e5d732bc30207a6423068df043e3d02e0735b155ad7ce1a6f76fe2baa5b158de" dependencies = [ - "cfg-if 0.1.10", - "fuchsia-zircon", - "fuchsia-zircon-sys", - "iovec", - "kernel32-sys", "libc", "log", - "miow", - "net2", - "slab", - "winapi 0.2.8", + "wasi 0.11.0+wasi-snapshot-preview1", + "windows-sys 0.42.0", ] [[package]] -name = "mio-extras" -version = "2.0.6" +name = "nalgebra" +version = "0.27.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52403fe290012ce777c4626790c8951324a2b9e3316b3143779c72b029742f19" -dependencies = [ - "lazycell", - "log", - "mio", - "slab", -] - -[[package]] -name = "miow" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebd808424166322d4a38da87083bfddd3ac4c131334ed55856112eb06d46944d" -dependencies = [ - "kernel32-sys", - "net2", - "winapi 0.2.8", - "ws2_32-sys", -] - -[[package]] -name = "nalgebra" -version = "0.27.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "462fffe4002f4f2e1f6a9dcf12cc1a6fc0e15989014efc02a941d3e0f5dc2120" +checksum = "462fffe4002f4f2e1f6a9dcf12cc1a6fc0e15989014efc02a941d3e0f5dc2120" dependencies = [ "approx", "matrixmultiply", @@ -1937,17 +1900,6 @@ dependencies = [ "syn", ] -[[package]] -name = "net2" -version = "0.2.38" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74d0df99cfcd2530b2e694f6e17e7f37b8e26bb23983ac530c0c97408837c631" -dependencies = [ - "cfg-if 0.1.10", - "libc", - "winapi 0.3.9", -] - [[package]] name = "nodrop" version = "0.1.14" @@ -2052,9 +2004,9 @@ dependencies = [ [[package]] name = "num_cpus" -version = "1.13.1" +version = "1.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19e64526ebdee182341572e50e9ad03965aa510cd94427a4549448f285e957a1" +checksum = "f6058e64324c71e02bc2b150e4f3bc8286db6c83092132ffa3f6b1eab0f9def5" dependencies = [ "hermit-abi", "libc", @@ -2071,9 +2023,9 @@ dependencies = [ [[package]] name = "once_cell" -version = "1.15.0" +version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e82dad04139b71a90c080c8463fe0dc7902db5192d939bd0950f074d014339e1" +checksum = "86f0b0d4bf799edbc74508c1e8bf170ff5f41238e5f8225603ca7caaae2b7860" [[package]] name = "opaque-debug" @@ -2088,66 +2040,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" [[package]] -name = "openssl" -version = "0.10.42" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12fc0523e3bd51a692c8850d075d74dc062ccf251c0110668cbd921917118a13" -dependencies = [ - "bitflags", - "cfg-if 1.0.0", - "foreign-types", - "libc", - "once_cell", - "openssl-macros", - "openssl-sys", -] - -[[package]] -name = "openssl-macros" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b501e44f11665960c7e7fcf062c7d96a14ade4aa98116c004b2e37b5be7d736c" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "openssl-sys" -version = "0.9.77" +name = "openssl-probe" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b03b84c3b2d099b81f0953422b4d4ad58761589d0229b5506356afca05a3670a" -dependencies = [ - "autocfg", - "cc", - "libc", - "pkg-config", - "vcpkg", -] +checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "os_str_bytes" -version = "6.3.0" +version = "6.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ff7415e9ae3fff1225851df9e0d9e4e5479f947619774677a63572e55e80eff" - -[[package]] -name = "pallet-aleph" -version = "0.5.0" -dependencies = [ - "frame-support", - "frame-system", - "pallet-balances", - "pallet-session", - "pallets-support", - "parity-scale-codec", - "primitives", - "scale-info", - "serde", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", -] +checksum = "7b5bf27447411e9ee3ff51186bf7a08e16c341efdde93f4d823e8844429bed7e" [[package]] name = "pallet-authorship" @@ -2165,52 +2067,16 @@ dependencies = [ ] [[package]] -name = "pallet-balances" -version = "4.0.0-dev" +name = "pallet-contracts-primitives" +version = "6.0.0" source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", - "log", - "parity-scale-codec", - "scale-info", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", -] - -[[package]] -name = "pallet-elections" -version = "0.5.0" -dependencies = [ - "frame-election-provider-support", - "frame-support", - "frame-system", - "pallet-authorship", - "pallet-balances", - "pallet-session", - "pallet-staking", - "pallets-support", + "bitflags", "parity-scale-codec", - "primitives", "scale-info", + "serde", "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-staking", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", -] - -[[package]] -name = "pallet-multisig" -version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" -dependencies = [ - "frame-support", - "frame-system", - "parity-scale-codec", - "scale-info", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-rpc", "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", ] @@ -2274,59 +2140,6 @@ dependencies = [ "sp-timestamp", ] -[[package]] -name = "pallet-transaction-payment" -version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" -dependencies = [ - "frame-support", - "frame-system", - "parity-scale-codec", - "scale-info", - "serde", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", -] - -[[package]] -name = "pallet-treasury" -version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" -dependencies = [ - "frame-support", - "frame-system", - "impl-trait-for-tuples", - "pallet-balances", - "parity-scale-codec", - "scale-info", - "serde", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", -] - -[[package]] -name = "pallet-vesting" -version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" -dependencies = [ - "frame-support", - "frame-system", - "log", - "parity-scale-codec", - "scale-info", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", -] - -[[package]] -name = "pallets-support" -version = "0.1.0" -dependencies = [ - "frame-support", -] - [[package]] name = "parity-scale-codec" version = "3.2.1" @@ -2336,7 +2149,7 @@ dependencies = [ "arrayvec 0.7.2", "bitvec", "byte-slice-cast", - "bytes 1.2.1", + "bytes", "impl-trait-for-tuples", "parity-scale-codec-derive", "serde", @@ -2360,13 +2173,13 @@ version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c32561d248d352148124f036cac253a644685a21dc9fea383eb4907d7bd35a8f" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "hashbrown", "impl-trait-for-tuples", "parity-util-mem-derive", "parking_lot", "primitive-types", - "winapi 0.3.9", + "winapi", ] [[package]] @@ -2386,6 +2199,12 @@ version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "be5e13c266502aadf83426d87d81a0f5d1ef45b8027f5a471c360abfe4bfae92" +[[package]] +name = "parking" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "427c3892f9e783d91cc128285287e70a59e206ca452770ece88a76f7a3eddd72" + [[package]] name = "parking_lot" version = "0.12.1" @@ -2402,11 +2221,11 @@ version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4dc9e0dc2adc1c69d09143aff38d3d30c5c3f0df0dad82e6d25547af174ebec0" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "libc", "redox_syscall", "smallvec", - "windows-sys", + "windows-sys 0.42.0", ] [[package]] @@ -2439,6 +2258,26 @@ version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e" +[[package]] +name = "pin-project" +version = "1.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad29a609b6bcd67fee905812e544992d216af9d755757c05ed2d0e15a74c6ecc" +dependencies = [ + "pin-project-internal", +] + +[[package]] +name = "pin-project-internal" +version = "1.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "069bdb1e05adc7a8990dce9cc75370895fbe4e3d58b9b73bf1aee56359344a55" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "pin-project-lite" version = "0.2.9" @@ -2451,17 +2290,11 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" -[[package]] -name = "pkg-config" -version = "0.3.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1df8c4ec4b0627e53bdf214615ad287367e482558cf84b109250b37464dc03ae" - [[package]] name = "ppv-lite86" -version = "0.2.16" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb9f9e6e233e5c4a35559a617bf40a4ec447db2e84c20b55a6f83167b7e57872" +checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" [[package]] name = "primitive-types" @@ -2647,30 +2480,6 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3" -[[package]] -name = "rayon" -version = "1.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd99e5772ead8baa5215278c9b15bf92087709e9c1b2d1f97cdb5a183c933a7d" -dependencies = [ - "autocfg", - "crossbeam-deque", - "either", - "rayon-core", -] - -[[package]] -name = "rayon-core" -version = "1.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "258bcdb5ac6dad48491bb2992db6b7cf74878b0384908af124823d118c99683f" -dependencies = [ - "crossbeam-channel", - "crossbeam-deque", - "crossbeam-utils", - "num_cpus", -] - [[package]] name = "redox_syscall" version = "0.2.16" @@ -2682,18 +2491,18 @@ dependencies = [ [[package]] name = "ref-cast" -version = "1.0.12" +version = "1.0.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12a733f1746c929b4913fe48f8697fcf9c55e3304ba251a79ffb41adfeaf49c2" +checksum = "53b15debb4f9d60d767cd8ca9ef7abb2452922f3214671ff052defc7f3502c44" dependencies = [ "ref-cast-impl", ] [[package]] name = "ref-cast-impl" -version = "1.0.12" +version = "1.0.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5887de4a01acafd221861463be6113e6e87275e79804e56779f4cdc131c60368" +checksum = "abfa8511e9e94fd3de6585a3d3cd00e01ed556dc9814829280af0e8dc72a8f36" dependencies = [ "proc-macro2", "quote", @@ -2702,9 +2511,9 @@ dependencies = [ [[package]] name = "regex" -version = "1.6.0" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c4eb3267174b8c6c2f654116623910a0fef09c4753f8dd83db29c48a0df988b" +checksum = "e076559ef8e241f2ae3479e36f97bd5741c0330689e217ad51ce2c76808b868a" dependencies = [ "aho-corasick", "memchr", @@ -2722,9 +2531,9 @@ dependencies = [ [[package]] name = "regex-syntax" -version = "0.6.27" +version = "0.6.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3f87b73ce11b1619a3c6332f45341e0047173771e8b8b73f87bfeefb7b56244" +checksum = "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848" [[package]] name = "remove_dir_all" @@ -2732,7 +2541,7 @@ version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7" dependencies = [ - "winapi 0.3.9", + "winapi", ] [[package]] @@ -2746,6 +2555,21 @@ dependencies = [ "zeroize", ] +[[package]] +name = "ring" +version = "0.16.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc" +dependencies = [ + "cc", + "libc", + "once_cell", + "spin", + "untrusted", + "web-sys", + "winapi", +] + [[package]] name = "rlibc" version = "1.0.0" @@ -2771,12 +2595,36 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3e75f6a532d0fd9f7f13144f392b6ad56a32696bfcd9c78f797f16bbb6f072d6" [[package]] -name = "rustc_version" -version = "0.4.0" +name = "rustls" +version = "0.20.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" +checksum = "539a2bfe908f471bfa933876bd1eb6a19cf2176d375f82ef7f99530a40e48c2c" dependencies = [ - "semver", + "log", + "ring", + "sct", + "webpki", +] + +[[package]] +name = "rustls-native-certs" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0167bac7a9f490495f3c33013e7722b53cb087ecbe082fb0c6387c96f634ea50" +dependencies = [ + "openssl-probe", + "rustls-pemfile", + "schannel", + "security-framework", +] + +[[package]] +name = "rustls-pemfile" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0864aeff53f8c05aa08d86e5ef839d3dfcf07aeba2db32f12db0ef716e87bd55" +dependencies = [ + "base64", ] [[package]] @@ -2791,14 +2639,37 @@ version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4501abdff3ae82a1c1b477a17252eb69cee9e66eb915c1abaa4f44d873df9f09" +[[package]] +name = "scale-bits" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8dd7aca73785181cc41f0bbe017263e682b585ca660540ba569133901d013ecf" +dependencies = [ + "parity-scale-codec", + "scale-info", + "serde", +] + +[[package]] +name = "scale-decode" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d823d4be477fc33321f93d08fb6c2698273d044f01362dc27573a750deb7c233" +dependencies = [ + "parity-scale-codec", + "scale-bits", + "scale-info", + "thiserror", +] + [[package]] name = "scale-info" -version = "2.2.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "333af15b02563b8182cd863f925bd31ef8fa86a0e095d30c091956057d436153" +checksum = "88d8a765117b237ef233705cc2cc4c6a27fccd46eea6ef0c8c6dae5f3ef407f8" dependencies = [ "bitvec", - "cfg-if 1.0.0", + "cfg-if", "derive_more", "parity-scale-codec", "scale-info-derive", @@ -2807,9 +2678,9 @@ dependencies = [ [[package]] name = "scale-info-derive" -version = "2.2.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53f56acbd0743d29ffa08f911ab5397def774ad01bab3786804cf6ee057fb5e1" +checksum = "cdcd47b380d8c4541044e341dcd9475f55ba37ddc50c908d945fc036a8642496" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -2817,6 +2688,33 @@ dependencies = [ "syn", ] +[[package]] +name = "scale-value" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "16a5e7810815bd295da73e4216d1dfbced3c7c7c7054d70fa5f6e4c58123fff4" +dependencies = [ + "either", + "frame-metadata", + "parity-scale-codec", + "scale-bits", + "scale-decode", + "scale-info", + "serde", + "thiserror", + "yap", +] + +[[package]] +name = "schannel" +version = "0.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88d6731146462ea25d9244b2ed5fd1d716d25c52e4d54aa4fb0f3c4e9854dbe2" +dependencies = [ + "lazy_static", + "windows-sys 0.36.1", +] + [[package]] name = "schnorrkel" version = "0.9.1" @@ -2847,6 +2745,16 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c8132065adcfd6e02db789d9285a0deb2f3fcb04002865ab67d5fb103533898" +[[package]] +name = "sct" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4" +dependencies = [ + "ring", + "untrusted", +] + [[package]] name = "sec1" version = "0.2.1" @@ -2870,9 +2778,9 @@ dependencies = [ [[package]] name = "secp256k1" -version = "0.24.0" +version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7649a0b3ffb32636e60c7ce0d70511eda9c52c658cd0634e194d5a19943aeff" +checksum = "ff55dc09d460954e9ef2fa8a7ced735a964be9981fd50e870b2b3b0705e14964" dependencies = [ "secp256k1-sys 0.6.1", ] @@ -2904,6 +2812,29 @@ dependencies = [ "zeroize", ] +[[package]] +name = "security-framework" +version = "2.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2bc1bb97804af6631813c55739f771071e0f2ed33ee20b68c86ec505d906356c" +dependencies = [ + "bitflags", + "core-foundation", + "core-foundation-sys", + "libc", + "security-framework-sys", +] + +[[package]] +name = "security-framework-sys" +version = "2.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0160a13a177a45bfb43ce71c01580998474f556ad854dcbca936dd2841a5c556" +dependencies = [ + "core-foundation-sys", + "libc", +] + [[package]] name = "semver" version = "1.0.14" @@ -2946,14 +2877,15 @@ dependencies = [ [[package]] name = "sha-1" -version = "0.8.2" +version = "0.9.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7d94d0bede923b3cea61f3f1ff57ff8cdfd77b400fb8f9998949e0cf04163df" +checksum = "99cd6713db3cf16b6c84e06321e049a9b9f699826e16096d23bbcc44d15d51a6" dependencies = [ - "block-buffer 0.7.3", - "digest 0.8.1", - "fake-simd", - "opaque-debug 0.2.3", + "block-buffer 0.9.0", + "cfg-if", + "cpufeatures", + "digest 0.9.0", + "opaque-debug 0.3.0", ] [[package]] @@ -2975,7 +2907,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4d58a1e1bf39749807d89cf2d98ac2dfa0ff1cb3faa38fbb64dd88ac8013d800" dependencies = [ "block-buffer 0.9.0", - "cfg-if 1.0.0", + "cfg-if", "cpufeatures", "digest 0.9.0", "opaque-debug 0.3.0", @@ -2987,7 +2919,7 @@ version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "82e6b795fe2e3b1e845bafcb27aa35405c4d47cdfc92af5fc8d3002f76cebdc0" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "cpufeatures", "digest 0.10.5", ] @@ -3011,6 +2943,15 @@ dependencies = [ "lazy_static", ] +[[package]] +name = "signal-hook-registry" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e51e73328dc4ac0c7ccbda3a494dfa03df1de2f46018127f60c693f2648455b0" +dependencies = [ + "libc", +] + [[package]] name = "signature" version = "1.4.0" @@ -3048,6 +2989,31 @@ version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" +[[package]] +name = "socket2" +version = "0.4.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "02e2d2db9033d13a1567121ddd7a095ee144db4e1ca1b1bda3419bc0da294ebd" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "soketto" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41d1c5305e39e09653383c2c7244f2f78b3bcae37cf50c64cb4789c9f5096ec2" +dependencies = [ + "base64", + "bytes", + "futures", + "httparse", + "log", + "rand 0.8.5", + "sha-1", +] + [[package]] name = "sp-api" version = "4.0.0-dev" @@ -3223,7 +3189,7 @@ dependencies = [ "regex", "scale-info", "schnorrkel", - "secp256k1 0.24.0", + "secp256k1 0.24.1", "secrecy", "serde", "sp-core-hashing 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", @@ -3368,14 +3334,14 @@ name = "sp-io" version = "6.0.0" source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" dependencies = [ - "bytes 1.2.1", + "bytes", "futures", "hash-db", "libsecp256k1", "log", "parity-scale-codec", "parking_lot", - "secp256k1 0.24.0", + "secp256k1 0.24.1", "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", "sp-keystore 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", @@ -3535,7 +3501,7 @@ name = "sp-runtime-interface" version = "6.0.0" source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" dependencies = [ - "bytes 1.2.1", + "bytes", "impl-trait-for-tuples", "parity-scale-codec", "primitive-types", @@ -3808,11 +3774,17 @@ dependencies = [ "wasmi", ] +[[package]] +name = "spin" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" + [[package]] name = "ss58-registry" -version = "1.33.0" +version = "1.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ab7554f8a8b6f8d71cd5a8e6536ef116e2ce0504cf97ebf16311d58065dc8a6" +checksum = "37a9821878e1f13aba383aa40a86fb1b33c7265774ec91e32563cb1dd1577496" dependencies = [ "Inflector", "num-format", @@ -3848,36 +3820,6 @@ version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" -[[package]] -name = "substrate-api-client" -version = "0.6.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate-api-client.git?branch=aleph-v0.9.28#92bc66b75428213e4bcdb2484616cf458455813a" -dependencies = [ - "ac-compose-macros", - "ac-node-api", - "ac-primitives", - "frame-metadata 15.0.0 (git+https://github.com/integritee-network/frame-metadata)", - "frame-support", - "frame-system", - "hex", - "log", - "pallet-balances", - "pallet-staking", - "pallet-transaction-payment", - "parity-scale-codec", - "primitive-types", - "serde", - "serde_json", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-rpc", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-version", - "thiserror", - "ws", -] - [[package]] name = "substrate-bip39" version = "0.4.4" @@ -3897,6 +3839,75 @@ version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" +[[package]] +name = "subxt" +version = "0.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0a8757ee0e19f87e722577282ab1386c86592a4b13ff963b9c6ec4176348104c" +dependencies = [ + "bitvec", + "derivative", + "frame-metadata", + "futures", + "hex", + "jsonrpsee", + "parity-scale-codec", + "parking_lot", + "scale-decode", + "scale-info", + "scale-value", + "serde", + "serde_json", + "sp-core 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-runtime 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "subxt-macro", + "subxt-metadata", + "thiserror", + "tracing", +] + +[[package]] +name = "subxt-codegen" +version = "0.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb77f93e11e6ff3ff95fe33e3d24c27c342e16feca8ef47759993614ebe90d2c" +dependencies = [ + "darling", + "frame-metadata", + "heck", + "parity-scale-codec", + "proc-macro-error", + "proc-macro2", + "quote", + "scale-info", + "subxt-metadata", + "syn", +] + +[[package]] +name = "subxt-macro" +version = "0.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "051cc21d77a54ae944b872eafdf9edfe1d9134fdfcfc3477dc10f763c76564a9" +dependencies = [ + "darling", + "proc-macro-error", + "subxt-codegen", + "syn", +] + +[[package]] +name = "subxt-metadata" +version = "0.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ed78d80db3a97d55e8b1cfecc1f6f9e21793a589d4e2e5f4fe2d6d5850c2e54" +dependencies = [ + "frame-metadata", + "parity-scale-codec", + "scale-info", + "sp-core 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "syn" version = "1.0.103" @@ -3932,12 +3943,12 @@ version = "3.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5cdb1ef4eaeeaddc8fbd371e5017057064af0911902ef36b39801f67cc6d79e4" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "fastrand", "libc", "redox_syscall", "remove_dir_all", - "winapi 0.3.9", + "winapi", ] [[package]] @@ -3956,14 +3967,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "633c1a546cee861a1a6d0dc69ebeca693bf4296661ba7852b9d21d159e0506df" dependencies = [ "libc", - "winapi 0.3.9", + "winapi", ] [[package]] name = "textwrap" -version = "0.15.0" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1141d4d61095b28419e22cb0bbf02755f5e54e0526f97f1e3d1d160e60885fb" +checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d" [[package]] name = "thiserror" @@ -4037,6 +4048,62 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" +[[package]] +name = "tokio" +version = "1.21.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9e03c497dc955702ba729190dc4aac6f2a0ce97f913e5b1b5912fc5039d9099" +dependencies = [ + "autocfg", + "bytes", + "libc", + "memchr", + "mio", + "num_cpus", + "parking_lot", + "pin-project-lite", + "signal-hook-registry", + "socket2", + "tokio-macros", + "winapi", +] + +[[package]] +name = "tokio-macros" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9724f9a975fb987ef7a3cd9be0350edcbe130698af5b8f7a631e23d42d052484" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "tokio-rustls" +version = "0.23.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c43ee83903113e03984cb9e5cebe6c04a5116269e900e3ddba8f068a62adda59" +dependencies = [ + "rustls", + "tokio", + "webpki", +] + +[[package]] +name = "tokio-util" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bb2e075f03b3d66d8d8785356224ba688d2906a371015e225beeb65ca92c740" +dependencies = [ + "bytes", + "futures-core", + "futures-io", + "futures-sink", + "pin-project-lite", + "tokio", +] + [[package]] name = "toml" version = "0.5.9" @@ -4052,7 +4119,7 @@ version = "0.1.37" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "pin-project-lite", "tracing-attributes", "tracing-core", @@ -4079,6 +4146,16 @@ dependencies = [ "valuable", ] +[[package]] +name = "tracing-futures" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2" +dependencies = [ + "pin-project", + "tracing", +] + [[package]] name = "tracing-log" version = "0.1.3" @@ -4156,7 +4233,7 @@ version = "1.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675" dependencies = [ - "cfg-if 0.1.10", + "cfg-if", "digest 0.10.5", "rand 0.8.5", "static_assertions", @@ -4213,6 +4290,12 @@ version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" +[[package]] +name = "untrusted" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" + [[package]] name = "url" version = "2.3.1" @@ -4231,18 +4314,18 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" -[[package]] -name = "vcpkg" -version = "0.2.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" - [[package]] name = "version_check" version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" +[[package]] +name = "waker-fn" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d5b2c62b4012a3e1eca5a7e077d13b3bf498c4073e33ccd58626607748ceeca" + [[package]] name = "wasi" version = "0.9.0+wasi-snapshot-preview1" @@ -4261,7 +4344,7 @@ version = "0.2.83" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eaf9f5aceeec8be17c128b2e93e031fb8a4d469bb9c4ae2d7dc1888b26887268" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "wasm-bindgen-macro", ] @@ -4334,10 +4417,33 @@ dependencies = [ ] [[package]] -name = "winapi" -version = "0.2.8" +name = "web-sys" +version = "0.3.60" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a" +checksum = "bcda906d8be16e728fd5adc5b729afad4e444e106ab28cd1c7256e54fa61510f" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "webpki" +version = "0.22.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f095d78192e208183081cc07bc5515ef55216397af48b873e5edcd72637fa1bd" +dependencies = [ + "ring", + "untrusted", +] + +[[package]] +name = "webpki-roots" +version = "0.22.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "368bfe657969fb01238bb756d351dcade285e0f6fcbd36dcb23359a5169975be" +dependencies = [ + "webpki", +] [[package]] name = "winapi" @@ -4349,12 +4455,6 @@ dependencies = [ "winapi-x86_64-pc-windows-gnu", ] -[[package]] -name = "winapi-build" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc" - [[package]] name = "winapi-i686-pc-windows-gnu" version = "0.4.0" @@ -4367,7 +4467,7 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" dependencies = [ - "winapi 0.3.9", + "winapi", ] [[package]] @@ -4376,6 +4476,19 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" +[[package]] +name = "windows-sys" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea04155a16a59f9eab786fe12a4a450e75cdb175f9e0d80da1e17db09f55b8d2" +dependencies = [ + "windows_aarch64_msvc 0.36.1", + "windows_i686_gnu 0.36.1", + "windows_i686_msvc 0.36.1", + "windows_x86_64_gnu 0.36.1", + "windows_x86_64_msvc 0.36.1", +] + [[package]] name = "windows-sys" version = "0.42.0" @@ -4383,12 +4496,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" dependencies = [ "windows_aarch64_gnullvm", - "windows_aarch64_msvc", - "windows_i686_gnu", - "windows_i686_msvc", - "windows_x86_64_gnu", + "windows_aarch64_msvc 0.42.0", + "windows_i686_gnu 0.42.0", + "windows_i686_msvc 0.42.0", + "windows_x86_64_gnu 0.42.0", "windows_x86_64_gnullvm", - "windows_x86_64_msvc", + "windows_x86_64_msvc 0.42.0", ] [[package]] @@ -4397,24 +4510,48 @@ version = "0.42.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "41d2aa71f6f0cbe00ae5167d90ef3cfe66527d6f613ca78ac8024c3ccab9a19e" +[[package]] +name = "windows_aarch64_msvc" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47" + [[package]] name = "windows_aarch64_msvc" version = "0.42.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dd0f252f5a35cac83d6311b2e795981f5ee6e67eb1f9a7f64eb4500fbc4dcdb4" +[[package]] +name = "windows_i686_gnu" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6" + [[package]] name = "windows_i686_gnu" version = "0.42.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fbeae19f6716841636c28d695375df17562ca208b2b7d0dc47635a50ae6c5de7" +[[package]] +name = "windows_i686_msvc" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024" + [[package]] name = "windows_i686_msvc" version = "0.42.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "84c12f65daa39dd2babe6e442988fc329d6243fdce47d7d2d155b8d874862246" +[[package]] +name = "windows_x86_64_gnu" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1" + [[package]] name = "windows_x86_64_gnu" version = "0.42.0" @@ -4429,38 +4566,15 @@ checksum = "09d525d2ba30eeb3297665bd434a54297e4170c7f1a44cad4ef58095b4cd2028" [[package]] name = "windows_x86_64_msvc" -version = "0.42.0" +version = "0.36.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f40009d85759725a34da6d89a94e63d7bdc50a862acf0dbc7c8e488f1edcb6f5" +checksum = "c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680" [[package]] -name = "ws" -version = "0.9.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25fe90c75f236a0a00247d5900226aea4f2d7b05ccc34da9e7a8880ff59b5848" -dependencies = [ - "byteorder", - "bytes 0.4.12", - "httparse", - "log", - "mio", - "mio-extras", - "openssl", - "rand 0.7.3", - "sha-1", - "slab", - "url", -] - -[[package]] -name = "ws2_32-sys" -version = "0.2.1" +name = "windows_x86_64_msvc" +version = "0.42.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e" -dependencies = [ - "winapi 0.2.8", - "winapi-build", -] +checksum = "f40009d85759725a34da6d89a94e63d7bdc50a862acf0dbc7c8e488f1edcb6f5" [[package]] name = "wyz" @@ -4471,6 +4585,12 @@ dependencies = [ "tap", ] +[[package]] +name = "yap" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5fc77f52dc9e9b10d55d3f4462c3b7fc393c4f17975d641542833ab2d3bc26ef" + [[package]] name = "zeroize" version = "1.5.7" diff --git a/bin/cliain/Cargo.toml b/bin/cliain/Cargo.toml index 35f5d78ffc..8da0d20ad2 100644 --- a/bin/cliain/Cargo.toml +++ b/bin/cliain/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "cliain" -version = "0.5.3" +version = "0.6.0" edition = "2021" license = "GPL-3.0-or-later" @@ -21,7 +21,8 @@ primitives = { path = "../../primitives" } serde = { version = "1.0.137", features = ["derive"] } serde_json = "1.0.81" sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28", features = ["full_crypto"] } -substrate-api-client = { git = "https://github.com/Cardinal-Cryptography/substrate-api-client.git", branch = "aleph-v0.9.28", features = ["staking-xt"] } +tokio = { version = "1.21.2", features = ["full"] } +subxt = "0.24.0" [features] default = ["std"] diff --git a/bin/cliain/src/commands.rs b/bin/cliain/src/commands.rs index ab49ce095b..0217a376e9 100644 --- a/bin/cliain/src/commands.rs +++ b/bin/cliain/src/commands.rs @@ -3,12 +3,11 @@ use std::{ path::{Path, PathBuf}, }; -use aleph_client::{BlockNumber, XtStatus}; +use aleph_client::{AccountId, TxStatus}; use clap::{clap_derive::ValueEnum, Args, Subcommand}; -use primitives::{Balance, CommitteeSeats, SessionIndex}; +use primitives::{Balance, BlockNumber, CommitteeSeats, SessionIndex}; use serde::{Deserialize, Serialize}; use sp_core::H256; -use substrate_api_client::AccountId; #[derive(Debug, Clone, Args)] pub struct ContractOptions { @@ -16,7 +15,7 @@ pub struct ContractOptions { #[clap(long, default_value = "0")] pub balance: u128, /// The gas limit enforced when executing the constructor - #[clap(long, default_value = "1_000_000_000")] + #[clap(long, default_value = "1000000000")] pub gas_limit: u64, /// The maximum amount of balance that can be charged/reserved from the caller to pay for the storage consumed #[clap(long)] @@ -132,11 +131,11 @@ pub enum ExtrinsicState { Finalized, } -impl From for XtStatus { +impl From for TxStatus { fn from(state: ExtrinsicState) -> Self { match state { - ExtrinsicState::InBlock => XtStatus::InBlock, - ExtrinsicState::Finalized => XtStatus::Finalized, + ExtrinsicState::InBlock => TxStatus::InBlock, + ExtrinsicState::Finalized => TxStatus::Finalized, } } } @@ -321,9 +320,6 @@ pub enum Command { starting_block: BlockNumber, }, - /// Print debug info of storage - DebugStorage, - /// Deploys a new contract, returns its code hash and the AccountId of the instance. /// /// Contract cannot already exist on-chain diff --git a/bin/cliain/src/contracts.rs b/bin/cliain/src/contracts.rs index cd2332989d..5759950939 100644 --- a/bin/cliain/src/contracts.rs +++ b/bin/cliain/src/contracts.rs @@ -3,51 +3,26 @@ use std::{ path::Path, }; -use aleph_client::{send_xt, wait_for_event, AnyConnection, Balance, Connection, SignedConnection}; +use aleph_client::{ + api::contracts::events::{CodeRemoved, CodeStored, Instantiated}, + pallet_contracts::wasm::OwnerInfo, + pallets::contract::{ContractsApi, ContractsUserApi}, + waiting::{AlephWaiting, BlockStatus}, + AccountId, Connection, SignedConnection, TxStatus, +}; use anyhow::anyhow; -use codec::{Compact, Decode, Encode}; +use codec::{Compact, Decode}; use contract_metadata::ContractMetadata; use contract_transcode::ContractMessageTranscoder; use log::{debug, info}; use serde::{Deserialize, Serialize}; -use sp_core::{Pair, H256}; -use substrate_api_client::{ - compose_extrinsic, utils::storage_key, AccountId, GenericAddress, StorageKey, XtStatus, -}; +use subxt::ext::sp_core::H256; use crate::commands::{ ContractCall, ContractInstantiate, ContractInstantiateWithCode, ContractOptions, ContractOwnerInfo, ContractRemoveCode, ContractUploadCode, }; -#[derive(Debug, Decode, Encode, Clone)] -pub struct OwnerInfo { - /// The account that has deployed the contract and hence is allowed to remove it. - pub owner: AccountId, - /// The amount of balance that was deposited by the owner in order to deploy the contract. - #[codec(compact)] - pub deposit: Balance, - /// The number of contracts that share (use) this code. - #[codec(compact)] - pub refcount: u64, -} - -#[derive(Debug, Decode, Clone)] -pub struct ContractCodeRemovedEvent { - code_hash: H256, -} - -#[derive(Debug, Decode, Clone)] -pub struct ContractInstantiatedEvent { - deployer: AccountId, - contract: AccountId, -} - -#[derive(Debug, Decode, Clone)] -pub struct ContractCodeStoredEvent { - code_hash: H256, -} - #[derive(Debug, Decode, Clone, Serialize, Deserialize)] pub struct InstantiateWithCodeReturnValue { pub contract: AccountId, @@ -58,48 +33,47 @@ fn storage_deposit(storage_deposit_limit: Option) -> Option> storage_deposit_limit.map(Compact) } -pub fn upload_code( +pub async fn upload_code( signed_connection: SignedConnection, command: ContractUploadCode, -) -> anyhow::Result { +) -> anyhow::Result { let ContractUploadCode { wasm_path, storage_deposit_limit, } = command; - let connection = signed_connection.as_connection(); - let wasm = fs::read(wasm_path).expect("WASM artifact not found"); debug!(target: "contracts", "Found WASM contract code {:?}", wasm); - let xt = compose_extrinsic!( - connection, - "Contracts", - "upload_code", - wasm, // code - storage_deposit(storage_deposit_limit) - ); - - debug!(target: "contracts", "Prepared `upload_code` extrinsic {:?}", xt); - - let _block_hash = send_xt(&connection, xt, Some("upload_code"), XtStatus::InBlock); - - let code_stored_event: ContractCodeStoredEvent = wait_for_event( - &connection, - ("Contracts", "CodeStored"), - |e: ContractCodeStoredEvent| { - info!(target : "contracts", "Received CodeStored event {:?}", e); - true - }, - )?; + let connection = signed_connection.connection.clone(); + let event_handler = tokio::spawn(async move { + connection + .wait_for_event( + |e: &CodeStored| { + info!(target : "contracts", "Received CodeStored event {:?}", e); + true + }, + BlockStatus::Finalized, + ) + .await + }); + + let _block_hash = signed_connection + .upload_code( + wasm, + storage_deposit(storage_deposit_limit), + TxStatus::InBlock, + ) + .await?; + let code_stored_event = event_handler.await?; Ok(code_stored_event) } -pub fn instantiate( +pub async fn instantiate( signed_connection: SignedConnection, command: ContractInstantiate, -) -> anyhow::Result { +) -> anyhow::Result { let ContractInstantiate { code_hash, metadata_path, @@ -114,46 +88,45 @@ pub fn instantiate( storage_deposit_limit, } = options; - let connection = signed_connection.as_connection(); - let metadata = load_metadata(&metadata_path)?; let transcoder = ContractMessageTranscoder::new(&metadata); let data = transcoder.encode(&constructor, &args.unwrap_or_default())?; debug!("Encoded constructor data {:?}", data); - let xt = compose_extrinsic!( - connection, - "Contracts", - "instantiate", - Compact(balance), - Compact(gas_limit), - storage_deposit(storage_deposit_limit), - code_hash, - data, // The input data to pass to the contract constructor - Vec::::new() // salt used for the address derivation - ); - - debug!(target: "contracts", "Prepared `instantiate` extrinsic {:?}", xt); - - let _block_hash = send_xt(&connection, xt, Some("instantiate"), XtStatus::InBlock); - - let contract_instantiated_event: ContractInstantiatedEvent = wait_for_event( - &connection, - ("Contracts", "Instantiated"), - |e: ContractInstantiatedEvent| { - info!(target : "contracts", "Received ContractInstantiated event {:?}", e); - match &connection.signer { - Some(signer) => AccountId::from(signer.public()).eq(&e.deployer), - None => panic!("Should never get here"), - } - }, - )?; + let connection = signed_connection.connection.clone(); + let signer_id = signed_connection.signer.account_id().clone(); + + let event_handler = tokio::spawn(async move { + connection + .wait_for_event( + |e: &Instantiated| { + info!(target : "contracts", "Received ContractInstantiated event {:?}", e); + signer_id.eq(&e.deployer) + }, + BlockStatus::Finalized, + ) + .await + }); + + let _block_hash = signed_connection + .instantiate( + code_hash, + balance, + gas_limit, + storage_deposit(storage_deposit_limit), + data, + vec![], + TxStatus::InBlock, + ) + .await?; + + let contract_instantiated_event = event_handler.await?; Ok(contract_instantiated_event) } -pub fn instantiate_with_code( +pub async fn instantiate_with_code( signed_connection: SignedConnection, command: ContractInstantiateWithCode, ) -> anyhow::Result { @@ -171,8 +144,6 @@ pub fn instantiate_with_code( storage_deposit_limit, } = options; - let connection = signed_connection.as_connection(); - let wasm = fs::read(wasm_path).expect("WASM artifact not found"); debug!(target: "contracts", "Found WASM contract code {:?}", wasm); @@ -182,48 +153,49 @@ pub fn instantiate_with_code( debug!("Encoded constructor data {:?}", data); - let xt = compose_extrinsic!( - connection, - "Contracts", - "instantiate_with_code", - Compact(balance), - Compact(gas_limit), - storage_deposit(storage_deposit_limit), - wasm, // code - data, // The input data to pass to the contract constructor - Vec::::new() // salt used for the address derivation - ); - - debug!(target: "contracts", "Prepared `instantiate_with_code` extrinsic {:?}", xt); - - let _block_hash = send_xt( - &connection, - xt, - Some("instantiate_with_code"), - XtStatus::InBlock, - ); - - let code_stored_event: ContractCodeStoredEvent = wait_for_event( - &connection, - ("Contracts", "CodeStored"), - |e: ContractCodeStoredEvent| { - info!(target : "contracts", "Received CodeStored event {:?}", e); - // TODO : can we pre-calculate what the code hash will be? - true - }, - )?; - - let contract_instantiated_event: ContractInstantiatedEvent = wait_for_event( - &connection, - ("Contracts", "Instantiated"), - |e: ContractInstantiatedEvent| { - info!(target : "contracts", "Received ContractInstantiated event {:?}", e); - match &connection.signer { - Some(signer) => AccountId::from(signer.public()).eq(&e.deployer), - None => panic!("Should never get here"), - } - }, - )?; + let signer_id = signed_connection.signer.account_id().clone(); + let connection_0 = signed_connection.connection.clone(); + let connection_1 = signed_connection.connection.clone(); + + let event_handler_0 = tokio::spawn(async move { + connection_0 + .wait_for_event( + |e: &CodeStored| { + info!(target : "contracts", "Received CodeStored event {:?}", e); + // TODO : can we pre-calculate what the code hash will be? + true + }, + BlockStatus::Finalized, + ) + .await + }); + + let event_handler_1 = tokio::spawn(async move { + connection_1 + .wait_for_event( + |e: &Instantiated| { + info!(target : "contracts", "Received ContractInstantiated event {:?}", e); + signer_id.eq(&e.deployer) + }, + BlockStatus::Finalized, + ) + .await + }); + + let _block_hash = signed_connection + .instantiate_with_code( + wasm, + balance, + gas_limit, + storage_deposit(storage_deposit_limit), + data, + vec![], + TxStatus::InBlock, + ) + .await?; + + let code_stored_event = event_handler_0.await?; + let contract_instantiated_event = event_handler_1.await?; Ok(InstantiateWithCodeReturnValue { contract: contract_instantiated_event.contract, @@ -231,7 +203,10 @@ pub fn instantiate_with_code( }) } -pub fn call(signed_connection: SignedConnection, command: ContractCall) -> anyhow::Result<()> { +pub async fn call( + signed_connection: SignedConnection, + command: ContractCall, +) -> anyhow::Result<()> { let ContractCall { destination, message, @@ -246,64 +221,57 @@ pub fn call(signed_connection: SignedConnection, command: ContractCall) -> anyho storage_deposit_limit, } = options; - let connection = signed_connection.as_connection(); - let metadata = load_metadata(&metadata_path)?; let transcoder = ContractMessageTranscoder::new(&metadata); let data = transcoder.encode(&message, &args.unwrap_or_default())?; debug!("Encoded call data {:?}", data); - let xt = compose_extrinsic!( - connection, - "Contracts", - "call", - GenericAddress::Id(destination), - Compact(balance), - Compact(gas_limit), - storage_deposit(storage_deposit_limit), - data // The input data to pass to the contract message - ); - - debug!(target: "contracts", "Prepared `call` extrinsic {:?}", xt); + let _block_hash = signed_connection + .call( + destination, + balance, + gas_limit, + storage_deposit(storage_deposit_limit), + data, + TxStatus::InBlock, + ) + .await?; - let _block_hash = send_xt(&connection, xt, Some("call"), XtStatus::Finalized); Ok(()) } -pub fn owner_info(connection: Connection, command: ContractOwnerInfo) -> Option { +pub async fn owner_info(connection: Connection, command: ContractOwnerInfo) -> Option { let ContractOwnerInfo { code_hash } = command; - let mut code_hash_bytes: Vec = Vec::from(code_hash.0); - let mut bytes = storage_key("Contracts", "OwnerInfoOf").0; - bytes.append(&mut code_hash_bytes); - let storage_key = StorageKey(bytes); - - connection - .get_storage_by_key_hash::(storage_key, None) - .ok()? + + connection.get_owner_info(code_hash, None).await } -pub fn remove_code( +pub async fn remove_code( signed_connection: SignedConnection, command: ContractRemoveCode, -) -> anyhow::Result { +) -> anyhow::Result { let ContractRemoveCode { code_hash } = command; - let connection = signed_connection.as_connection(); - - let xt = compose_extrinsic!(connection, "Contracts", "remove_code", code_hash); - - debug!(target: "contracts", "Prepared `remove_code` extrinsic {:?}", xt); - - let _block_hash = send_xt(&connection, xt, Some("remove_code"), XtStatus::InBlock); - let contract_removed_event: ContractCodeRemovedEvent = wait_for_event( - &connection, - ("Contracts", "CodeRemoved"), - |e: ContractCodeRemovedEvent| { - info!(target : "contracts", "Received ContractCodeRemoved event {:?}", e); - e.code_hash.eq(&code_hash) - }, - )?; + let connection = signed_connection.connection.clone(); + + let event_handler = tokio::spawn(async move { + connection + .wait_for_event( + |e: &CodeRemoved| { + info!(target : "contracts", "Received ContractCodeRemoved event {:?}", e); + e.code_hash.eq(&code_hash) + }, + BlockStatus::Finalized, + ) + .await + }); + + let _block_hash = signed_connection + .remove_code(code_hash, TxStatus::InBlock) + .await?; + + let contract_removed_event = event_handler.await?; Ok(contract_removed_event) } diff --git a/bin/cliain/src/finalization.rs b/bin/cliain/src/finalization.rs index 278f007858..9f3833c313 100644 --- a/bin/cliain/src/finalization.rs +++ b/bin/cliain/src/finalization.rs @@ -1,25 +1,31 @@ use std::str::FromStr; use aleph_client::{ - emergency_finalize, finalization_set_emergency_finalizer, AlephKeyPair, BlockHash, BlockNumber, - SignedConnection, + pallets::aleph::{AlephRpc, AlephSudoApi}, + AccountId, AlephKeyPair, Connection, TxStatus, }; -use substrate_api_client::{AccountId, XtStatus}; +use primitives::{BlockHash, BlockNumber}; use crate::RootConnection; /// Sets the emergency finalized, the provided string should be the seed phrase of the desired finalizer. -pub fn set_emergency_finalizer(connection: RootConnection, finalizer: AccountId) { - finalization_set_emergency_finalizer(&connection, finalizer, XtStatus::Finalized) +pub async fn set_emergency_finalizer(connection: RootConnection, finalizer: AccountId) { + connection + .set_emergency_finalizer(finalizer, TxStatus::Finalized) + .await + .unwrap(); } /// Finalizes the given block using the key pair from provided seed as emergency finalizer. -pub fn finalize( - connection: SignedConnection, +pub async fn finalize( + connection: Connection, number: BlockNumber, hash: String, key_pair: AlephKeyPair, ) { let hash = BlockHash::from_str(&hash).expect("Hash is properly hex encoded"); - emergency_finalize(&connection, number, hash, key_pair).unwrap(); + connection + .emergency_finalize(number, hash, key_pair) + .await + .unwrap(); } diff --git a/bin/cliain/src/keys.rs b/bin/cliain/src/keys.rs index 9bfdad0f19..a75ff66cda 100644 --- a/bin/cliain/src/keys.rs +++ b/bin/cliain/src/keys.rs @@ -1,45 +1,56 @@ use aleph_client::{ - get_next_session_keys, rotate_keys as rotate, rotate_keys_raw_result, set_keys as set, - staking_bond, Connection, RootConnection, SessionKeys, SignedConnection, + aleph_runtime::SessionKeys, + pallets::{ + author::AuthorRpc, + session::{SessionApi, SessionUserApi}, + staking::StakingUserApi, + }, + AccountId, Connection, RootConnection, SignedConnection, TxStatus, }; use hex::ToHex; use log::{error, info}; use primitives::staking::MIN_VALIDATOR_BOND; use serde_json::json; -use sp_core::crypto::Ss58Codec; -use substrate_api_client::{AccountId, XtStatus}; +use subxt::ext::sp_core::crypto::Ss58Codec; -pub fn prepare_keys(connection: RootConnection, controller_account_id: AccountId) { - staking_bond( - &connection.as_signed(), - MIN_VALIDATOR_BOND, - &controller_account_id, - XtStatus::Finalized, - ); - let new_keys = rotate(&connection).expect("Failed to retrieve keys"); - set(&connection.as_signed(), new_keys, XtStatus::Finalized); +pub async fn prepare_keys(connection: RootConnection, controller_account_id: AccountId) { + connection + .as_signed() + .bond( + MIN_VALIDATOR_BOND, + controller_account_id, + TxStatus::Finalized, + ) + .await + .unwrap(); + let new_keys = connection.connection.author_rotate_keys().await; + connection + .as_signed() + .set_keys(new_keys, TxStatus::Finalized) + .await + .unwrap(); } -pub fn set_keys(connection: SignedConnection, new_keys: String) { - set( - &connection, - SessionKeys::try_from(new_keys).expect("Failed to parse keys"), - XtStatus::InBlock, - ); +pub async fn set_keys(connection: SignedConnection, new_keys: String) { + connection + .set_keys(SessionKeys::try_from(new_keys).unwrap(), TxStatus::InBlock) + .await + .unwrap(); } -pub fn rotate_keys(connection: Connection) { - let new_keys = rotate_keys_raw_result(&connection).expect("Failed to retrieve keys"); +pub async fn rotate_keys(connection: Connection) { + let new_keys = connection.author_rotate_keys().await; + info!("Rotated keys: {:?}", new_keys); } -pub fn next_session_keys(connection: &Connection, account_id: String) { +pub async fn next_session_keys(connection: Connection, account_id: String) { let account_id = AccountId::from_ss58check(&account_id).expect("Address is valid"); - match get_next_session_keys(connection, account_id) { + match connection.get_next_session_keys(account_id, None).await { Some(keys) => { let keys_json = json!({ - "aura": "0x".to_owned() + keys.aura.encode_hex::().as_str(), - "aleph": "0x".to_owned() + keys.aleph.encode_hex::().as_str(), + "aura": "0x".to_owned() + keys.aura.0.0.encode_hex::().as_str(), + "aleph": "0x".to_owned() + keys.aleph.0.0.encode_hex::().as_str(), }); println!("{}", serde_json::to_string_pretty(&keys_json).unwrap()); } diff --git a/bin/cliain/src/lib.rs b/bin/cliain/src/lib.rs index 6a50a9b4ad..0c49fdc0b5 100644 --- a/bin/cliain/src/lib.rs +++ b/bin/cliain/src/lib.rs @@ -1,3 +1,5 @@ +extern crate core; + mod commands; mod contracts; mod finalization; @@ -11,9 +13,7 @@ mod validators; mod version_upgrade; mod vesting; -use aleph_client::{ - create_connection, keypair_from_string, Connection, RootConnection, SignedConnection, -}; +use aleph_client::{keypair_from_string, Connection, RootConnection, SignedConnection}; pub use commands::Command; pub use contracts::{ call, instantiate, instantiate_with_code, owner_info, remove_code, upload_code, @@ -43,23 +43,25 @@ impl ConnectionConfig { signer_seed, } } -} -impl From for Connection { - fn from(cfg: ConnectionConfig) -> Self { - create_connection(cfg.node_endpoint.as_str()) + pub async fn get_connection(&self) -> Connection { + Connection::new(self.node_endpoint.clone()).await } -} -impl From for SignedConnection { - fn from(cfg: ConnectionConfig) -> Self { - let key = keypair_from_string(&cfg.signer_seed); - SignedConnection::new(cfg.node_endpoint.as_str(), key) + pub async fn get_signed_connection(&self) -> SignedConnection { + SignedConnection::new( + self.node_endpoint.clone(), + keypair_from_string(&self.signer_seed), + ) + .await } -} -impl From for RootConnection { - fn from(cfg: ConnectionConfig) -> Self { - RootConnection::from(Into::::into(cfg)) + pub async fn get_root_connection(&self) -> RootConnection { + RootConnection::new( + self.node_endpoint.clone(), + keypair_from_string(&self.signer_seed), + ) + .await + .expect("signer should be root") } } diff --git a/bin/cliain/src/main.rs b/bin/cliain/src/main.rs index 0e2bea0f39..bd89b9f464 100644 --- a/bin/cliain/src/main.rs +++ b/bin/cliain/src/main.rs @@ -1,9 +1,6 @@ use std::env; -use aleph_client::{ - account_from_keypair, aleph_keypair_from_string, keypair_from_string, print_storages, - Connection, -}; +use aleph_client::{account_from_keypair, aleph_keypair_from_string, keypair_from_string, Pair}; use clap::Parser; use cliain::{ bond, call, change_validators, finalize, force_new_era, instantiate, instantiate_with_code, @@ -13,13 +10,12 @@ use cliain::{ vest, vest_other, vested_transfer, Command, ConnectionConfig, }; use log::{error, info}; -use sp_core::Pair; #[derive(Debug, Parser, Clone)] #[clap(version = "1.0")] struct Config { /// WS endpoint address of the node to connect to - #[clap(long, default_value = "127.0.0.1:9944")] + #[clap(long, default_value = "ws://127.0.0.1:9944")] pub node: String, /// The seed of the key to use for signing calls. @@ -42,7 +38,6 @@ fn read_seed(command: &Command, seed: Option) -> String { } | Command::NextSessionKeys { account_id: _ } | Command::RotateKeys - | Command::DebugStorage | Command::SeedToSS58 { input: _ } | Command::ContractOwnerInfo { .. } => String::new(), _ => read_secret(seed, "Provide seed for the signer account:"), @@ -62,7 +57,8 @@ fn read_secret(secret: Option, message: &str) -> String { } } -fn main() { +#[tokio::main] +async fn main() { init_env(); let Config { @@ -76,16 +72,23 @@ fn main() { match command { Command::ChangeValidators { change_validators_args, - } => change_validators(cfg.into(), change_validators_args), + } => change_validators(cfg.get_root_connection().await, change_validators_args).await, Command::PrepareKeys => { let key = keypair_from_string(&seed); - let controller_account_id = account_from_keypair(&key); - prepare_keys(cfg.into(), controller_account_id); + let controller_account_id = account_from_keypair(key.signer()); + prepare_keys(cfg.get_root_connection().await, controller_account_id).await; } Command::Bond { controller_account, initial_stake_tokens, - } => bond(cfg.into(), initial_stake_tokens, controller_account), + } => { + bond( + cfg.get_signed_connection().await, + initial_stake_tokens, + controller_account, + ) + .await + } Command::Finalize { block, hash, @@ -93,71 +96,102 @@ fn main() { } => { let finalizer_seed = read_secret(finalizer_seed, "Provide finalizer seed:"); let finalizer = aleph_keypair_from_string(&finalizer_seed); - finalize(cfg.into(), block, hash, finalizer); + finalize(cfg.get_connection().await, block, hash, finalizer).await; } Command::SetEmergencyFinalizer { finalizer_seed } => { let finalizer_seed = read_secret(finalizer_seed, "Provide finalizer seed:"); let finalizer = aleph_keypair_from_string(&finalizer_seed); let finalizer = account_from_keypair(&finalizer); - set_emergency_finalizer(cfg.into(), finalizer); + set_emergency_finalizer(cfg.get_root_connection().await, finalizer).await; + } + Command::SetKeys { new_keys } => { + set_keys(cfg.get_signed_connection().await, new_keys).await } - Command::SetKeys { new_keys } => set_keys(cfg.into(), new_keys), Command::Validate { commission_percentage, - } => validate(cfg.into(), commission_percentage), + } => validate(cfg.get_signed_connection().await, commission_percentage).await, Command::Transfer { amount_in_tokens, to_account, - } => transfer(cfg.into(), amount_in_tokens, to_account), + } => { + transfer( + cfg.get_signed_connection().await, + amount_in_tokens, + to_account, + ) + .await + } Command::TreasuryPropose { amount_in_tokens, beneficiary, - } => treasury_propose(cfg.into(), amount_in_tokens, beneficiary), - Command::TreasuryApprove { proposal_id } => treasury_approve(cfg.into(), proposal_id), - Command::TreasuryReject { proposal_id } => treasury_reject(cfg.into(), proposal_id), - Command::RotateKeys => rotate_keys(cfg.into()), - Command::NextSessionKeys { account_id } => next_session_keys(&cfg.into(), account_id), + } => { + treasury_propose( + cfg.get_signed_connection().await, + amount_in_tokens, + beneficiary, + ) + .await + } + Command::TreasuryApprove { proposal_id } => { + treasury_approve(cfg.get_root_connection().await, proposal_id).await + } + Command::TreasuryReject { proposal_id } => { + treasury_reject(cfg.get_root_connection().await, proposal_id).await + } + Command::RotateKeys => rotate_keys(cfg.get_connection().await).await, + Command::NextSessionKeys { account_id } => { + next_session_keys(cfg.get_connection().await, account_id).await + } Command::SetStakingLimits { minimal_nominator_stake, minimal_validator_stake, max_nominators_count, max_validators_count, - } => set_staking_limits( - cfg.into(), - minimal_nominator_stake, - minimal_validator_stake, - max_nominators_count, - max_validators_count, - ), + } => { + set_staking_limits( + cfg.get_root_connection().await, + minimal_nominator_stake, + minimal_validator_stake, + max_nominators_count, + max_validators_count, + ) + .await + } Command::ForceNewEra => { - force_new_era(cfg.into()); + force_new_era(cfg.get_root_connection().await).await; } Command::SeedToSS58 { input } => { let input = read_secret(input, "Provide seed:"); info!( "SS58 Address: {}", - keypair_from_string(&input).public().to_string() + keypair_from_string(&input).signer().public().to_string() ) } - Command::DebugStorage => print_storages::(&cfg.into()), - Command::UpdateRuntime { runtime } => update_runtime(cfg.into(), runtime), - Command::Vest => vest(cfg.into()), - Command::VestOther { vesting_account } => vest_other(cfg.into(), vesting_account), + Command::UpdateRuntime { runtime } => { + update_runtime(cfg.get_root_connection().await, runtime).await + } + Command::Vest => vest(cfg.get_signed_connection().await).await, + Command::VestOther { vesting_account } => { + vest_other(cfg.get_signed_connection().await, vesting_account).await + } Command::VestedTransfer { to_account, amount_in_tokens, per_block, starting_block, - } => vested_transfer( - cfg.into(), - to_account, - amount_in_tokens, - per_block, - starting_block, - ), - Command::Nominate { nominee } => nominate(cfg.into(), nominee), + } => { + vested_transfer( + cfg.get_signed_connection().await, + to_account, + amount_in_tokens, + per_block, + starting_block, + ) + .await + } + Command::Nominate { nominee } => nominate(cfg.get_signed_connection().await, nominee).await, Command::ContractInstantiateWithCode(command) => { - match instantiate_with_code(cfg.into(), command) { + match instantiate_with_code(cfg.get_signed_connection().await, command).await { Ok(result) => println!( "{}", serde_json::to_string(&result).expect("Can't encode the result as JSON") @@ -165,28 +199,48 @@ fn main() { Err(why) => error!("Contract deployment failed {:?}", why), }; } - Command::ContractUploadCode(command) => match upload_code(cfg.into(), command) { - Ok(result) => println!("{:?}", result), - Err(why) => error!("Contract upload failed {:?}", why), - }, - Command::ContractCall(command) => match call(cfg.into(), command) { - Ok(result) => println!("{:?}", result), - Err(why) => error!("Contract call failed {:?}", why), - }, - Command::ContractInstantiate(command) => match instantiate(cfg.into(), command) { - Ok(result) => println!("{:?}", result), - Err(why) => error!("Contract instantiate failed {:?}", why), - }, - Command::ContractOwnerInfo(command) => println!("{:#?}", owner_info(cfg.into(), command)), - Command::ContractRemoveCode(command) => match remove_code(cfg.into(), command) { - Ok(result) => println!("{:?}", result), - Err(why) => error!("Contract remove code failed {:?}", why), - }, + Command::ContractUploadCode(command) => { + match upload_code(cfg.get_signed_connection().await, command).await { + Ok(result) => println!("{:?}", result), + Err(why) => error!("Contract upload failed {:?}", why), + } + } + Command::ContractCall(command) => { + match call(cfg.get_signed_connection().await, command).await { + Ok(result) => println!("{:?}", result), + Err(why) => error!("Contract call failed {:?}", why), + } + } + Command::ContractInstantiate(command) => { + match instantiate(cfg.get_signed_connection().await, command).await { + Ok(result) => println!("{:?}", result), + Err(why) => error!("Contract instantiate failed {:?}", why), + } + } + Command::ContractOwnerInfo(command) => { + println!( + "{:#?}", + owner_info(cfg.get_connection().await, command).await + ) + } + Command::ContractRemoveCode(command) => { + match remove_code(cfg.get_signed_connection().await, command).await { + Ok(result) => println!("{:?}", result), + Err(why) => error!("Contract remove code failed {:?}", why), + } + } Command::VersionUpgradeSchedule { version, session: session_for_upgrade, expected_state, - } => match schedule_upgrade(cfg.into(), version, session_for_upgrade, expected_state) { + } => match schedule_upgrade( + cfg.get_root_connection().await, + version, + session_for_upgrade, + expected_state, + ) + .await + { Ok(_) => {} Err(why) => error!("Unable to schedule an upgrade {:?}", why), }, diff --git a/bin/cliain/src/runtime.rs b/bin/cliain/src/runtime.rs index b1628ae715..5ce32a3727 100644 --- a/bin/cliain/src/runtime.rs +++ b/bin/cliain/src/runtime.rs @@ -1,9 +1,11 @@ use std::fs; -use aleph_client::{set_code, RootConnection}; -use substrate_api_client::XtStatus; +use aleph_client::{pallets::system::SystemSudoApi, RootConnection, TxStatus}; -pub fn update_runtime(connection: RootConnection, runtime: String) { +pub async fn update_runtime(connection: RootConnection, runtime: String) { let runtime = fs::read(runtime).expect("Runtime file not found"); - set_code(&connection, runtime, XtStatus::InBlock); + connection + .set_code(runtime, TxStatus::InBlock) + .await + .unwrap(); } diff --git a/bin/cliain/src/staking.rs b/bin/cliain/src/staking.rs index f1daa139e4..0a5d0186df 100644 --- a/bin/cliain/src/staking.rs +++ b/bin/cliain/src/staking.rs @@ -1,12 +1,11 @@ use aleph_client::{ - staking_bond, staking_force_new_era, staking_nominate, staking_set_staking_limits, - staking_validate, RootConnection, SignedConnection, + pallets::staking::{StakingSudoApi, StakingUserApi}, + AccountId, RootConnection, SignedConnection, TxStatus, }; use primitives::TOKEN; -use sp_core::crypto::Ss58Codec; -use substrate_api_client::{AccountId, XtStatus}; +use subxt::ext::sp_core::crypto::Ss58Codec; -pub fn bond( +pub async fn bond( stash_connection: SignedConnection, initial_stake_in_tokens: u32, controller_account: String, @@ -15,40 +14,49 @@ pub fn bond( AccountId::from_ss58check(&controller_account).expect("Address is valid"); let initial_stake = initial_stake_in_tokens as u128 * TOKEN; - staking_bond( - &stash_connection, - initial_stake, - &controller_account, - XtStatus::Finalized, - ); + stash_connection + .bond(initial_stake, controller_account, TxStatus::Finalized) + .await + .unwrap(); } -pub fn validate(connection: SignedConnection, commission_percentage: u8) { - staking_validate(&connection, commission_percentage, XtStatus::Finalized); +pub async fn validate(connection: SignedConnection, commission_percentage: u8) { + connection + .validate(commission_percentage, TxStatus::Finalized) + .await + .unwrap(); } -pub fn nominate(connection: SignedConnection, nominee: String) { +pub async fn nominate(connection: SignedConnection, nominee: String) { let nominee_account = AccountId::from_ss58check(&nominee).expect("Address is valid"); - staking_nominate(&connection, &nominee_account); + connection + .nominate(nominee_account, TxStatus::InBlock) + .await + .unwrap(); } -pub fn set_staking_limits( +pub async fn set_staking_limits( root_connection: RootConnection, minimal_nominator_stake_tokens: u64, minimal_validator_stake_tokens: u64, max_nominators_count: Option, max_validators_count: Option, ) { - staking_set_staking_limits( - &root_connection, - minimal_nominator_stake_tokens as u128 * TOKEN, - minimal_validator_stake_tokens as u128 * TOKEN, - max_nominators_count, - max_validators_count, - XtStatus::Finalized, - ); + root_connection + .set_staking_config( + Some(minimal_nominator_stake_tokens as u128 * TOKEN), + Some(minimal_validator_stake_tokens as u128 * TOKEN), + max_nominators_count, + max_validators_count, + TxStatus::Finalized, + ) + .await + .unwrap(); } -pub fn force_new_era(root_connection: RootConnection) { - staking_force_new_era(&root_connection, XtStatus::Finalized); +pub async fn force_new_era(root_connection: RootConnection) { + root_connection + .force_new_era(TxStatus::Finalized) + .await + .unwrap(); } diff --git a/bin/cliain/src/transfer.rs b/bin/cliain/src/transfer.rs index 565fab1940..8ca1c92adf 100644 --- a/bin/cliain/src/transfer.rs +++ b/bin/cliain/src/transfer.rs @@ -1,14 +1,15 @@ -use aleph_client::{balances_transfer, SignedConnection}; +use aleph_client::{pallets::balances::BalanceUserApi, AccountId, SignedConnection, TxStatus}; use primitives::TOKEN; -use sp_core::crypto::Ss58Codec; -use substrate_api_client::{AccountId, XtStatus}; +use subxt::ext::sp_core::crypto::Ss58Codec; -pub fn transfer(connection: SignedConnection, amount_in_tokens: u64, to_account: String) { +pub async fn transfer(connection: SignedConnection, amount_in_tokens: u64, to_account: String) { let to_account = AccountId::from_ss58check(&to_account).expect("Address is valid"); - balances_transfer( - &connection, - &to_account, - amount_in_tokens as u128 * TOKEN, - XtStatus::Finalized, - ); + connection + .transfer( + to_account, + amount_in_tokens as u128 * TOKEN, + TxStatus::Finalized, + ) + .await + .unwrap(); } diff --git a/bin/cliain/src/treasury.rs b/bin/cliain/src/treasury.rs index 51b1948d9c..4843b1b10b 100644 --- a/bin/cliain/src/treasury.rs +++ b/bin/cliain/src/treasury.rs @@ -1,28 +1,33 @@ use aleph_client::{ - approve_treasury_proposal, make_treasury_proposal, reject_treasury_proposal, RootConnection, - SignedConnection, + pallets::treasury::{TreasurySudoApi, TreasuryUserApi}, + AccountId, RootConnection, SignedConnection, TxStatus, }; use primitives::{Balance, TOKEN}; -use sp_core::crypto::Ss58Codec; -use substrate_api_client::AccountId; +use subxt::ext::sp_core::crypto::Ss58Codec; /// Delegates to `aleph_client::make_treasury_proposal`. -pub fn propose(connection: SignedConnection, amount_in_tokens: u64, beneficiary: String) { +pub async fn propose(connection: SignedConnection, amount_in_tokens: u64, beneficiary: String) { let beneficiary = AccountId::from_ss58check(&beneficiary).expect("Address should be valid"); let endowment = amount_in_tokens as Balance * TOKEN; - make_treasury_proposal(&connection, endowment, &beneficiary) - .expect("Should successfully make a proposal"); + connection + .propose_spend(endowment, beneficiary, TxStatus::Finalized) + .await + .unwrap(); } /// Delegates to `aleph_client::approve_treasury_proposal`. -pub fn approve(connection: RootConnection, proposal_id: u32) { - approve_treasury_proposal(&connection, proposal_id) - .expect("Should successfully approve the proposal") +pub async fn approve(connection: RootConnection, proposal_id: u32) { + connection + .approve(proposal_id, TxStatus::Finalized) + .await + .unwrap(); } /// Delegates to `aleph_client::reject_treasury_proposal`. -pub fn reject(connection: RootConnection, proposal_id: u32) { - reject_treasury_proposal(&connection, proposal_id) - .expect("Should successfully reject the proposal") +pub async fn reject(connection: RootConnection, proposal_id: u32) { + connection + .reject(proposal_id, TxStatus::Finalized) + .await + .unwrap(); } diff --git a/bin/cliain/src/validators.rs b/bin/cliain/src/validators.rs index 0f735ff4f8..966df1c245 100644 --- a/bin/cliain/src/validators.rs +++ b/bin/cliain/src/validators.rs @@ -1,20 +1,28 @@ -use aleph_client::RootConnection; -use substrate_api_client::XtStatus; +use aleph_client::{ + pallets::elections::ElectionsSudoApi, primitives::CommitteeSeats, RootConnection, TxStatus, +}; use crate::commands::ChangeValidatorArgs; /// Change validators to the provided list by calling the provided node. -pub fn change_validators( +pub async fn change_validators( root_connection: RootConnection, change_validator_args: ChangeValidatorArgs, ) { - aleph_client::change_validators( - &root_connection, - change_validator_args.reserved_validators, - change_validator_args.non_reserved_validators, - change_validator_args.committee_size, - XtStatus::Finalized, - ); + root_connection + .change_validators( + change_validator_args.reserved_validators, + change_validator_args.non_reserved_validators, + change_validator_args + .committee_size + .map(|s| CommitteeSeats { + reserved_seats: s.reserved_seats, + non_reserved_seats: s.non_reserved_seats, + }), + TxStatus::Finalized, + ) + .await + .unwrap(); // TODO we need to check state here whether change members actually succeed // not only here, but for all cliain commands // see https://cardinal-cryptography.atlassian.net/browse/AZ-699 diff --git a/bin/cliain/src/version_upgrade.rs b/bin/cliain/src/version_upgrade.rs index 9f8b07f868..011041ac13 100644 --- a/bin/cliain/src/version_upgrade.rs +++ b/bin/cliain/src/version_upgrade.rs @@ -1,20 +1,17 @@ -use aleph_client::{schedule_upgrade_with_state, RootConnection}; -use anyhow::Error; +use aleph_client::{pallets::aleph::AlephSudoApi, RootConnection}; use primitives::SessionIndex; use crate::commands::{ExtrinsicState, Version}; -pub fn schedule_upgrade( +pub async fn schedule_upgrade( connection: RootConnection, version: Version, session_for_upgrade: SessionIndex, expected_state: ExtrinsicState, ) -> anyhow::Result<()> { - schedule_upgrade_with_state( - &connection, - version, - session_for_upgrade, - expected_state.into(), - ) - .map_err(Error::new) + connection + .schedule_finality_version_change(version, session_for_upgrade, expected_state.into()) + .await?; + + Ok(()) } diff --git a/bin/cliain/src/vesting.rs b/bin/cliain/src/vesting.rs index 2c8a73967f..648e72be82 100644 --- a/bin/cliain/src/vesting.rs +++ b/bin/cliain/src/vesting.rs @@ -1,14 +1,15 @@ use aleph_client::{ - account_from_keypair, keypair_from_string, BlockNumber, SignedConnection, VestingSchedule, + account_from_keypair, keypair_from_string, pallet_vesting::vesting_info::VestingInfo, + pallets::vesting::VestingUserApi, SignedConnection, TxStatus, }; use log::{error, info}; -use primitives::{Balance, TOKEN}; +use primitives::{Balance, BlockNumber, TOKEN}; /// Delegates to `aleph_client::vest`. /// /// Vesting is performed for the signer of `connection`. -pub fn vest(connection: SignedConnection) { - match aleph_client::vest(connection) { +pub async fn vest(connection: SignedConnection) { + match connection.vest(TxStatus::Finalized).await { Ok(_) => info!("Vesting has succeeded"), Err(e) => error!("Vesting has failed with:\n {:?}", e), } @@ -17,9 +18,9 @@ pub fn vest(connection: SignedConnection) { /// Delegates to `aleph_client::vest_other`. /// /// Vesting is performed by the signer of `connection` for `vesting_account_seed`. -pub fn vest_other(connection: SignedConnection, vesting_account_seed: String) { - let vester = account_from_keypair(&keypair_from_string(vesting_account_seed.as_str())); - match aleph_client::vest_other(connection, vester) { +pub async fn vest_other(connection: SignedConnection, vesting_account_seed: String) { + let vester = account_from_keypair(keypair_from_string(vesting_account_seed.as_str()).signer()); + match connection.vest_other(TxStatus::Finalized, vester).await { Ok(_) => info!("Vesting on behalf has succeeded"), Err(e) => error!("Vesting on behalf has failed with:\n {:?}", e), } @@ -30,17 +31,23 @@ pub fn vest_other(connection: SignedConnection, vesting_account_seed: String) { /// The transfer is performed from the signer of `connection` to `target_seed`. /// `amount_in_tokens`, `per_block` and `starting_block` corresponds to the fields of /// `aleph_client::VestingSchedule` struct. -pub fn vested_transfer( +pub async fn vested_transfer( connection: SignedConnection, target_seed: String, amount_in_tokens: u64, per_block: Balance, starting_block: BlockNumber, ) { - let receiver = account_from_keypair(&keypair_from_string(target_seed.as_str())); - let schedule = - VestingSchedule::new(amount_in_tokens as u128 * TOKEN, per_block, starting_block); - match aleph_client::vested_transfer(connection, receiver, schedule) { + let receiver = account_from_keypair(keypair_from_string(target_seed.as_str()).signer()); + let schedule = VestingInfo { + locked: amount_in_tokens as u128 * TOKEN, + per_block, + starting_block, + }; + match connection + .vested_transfer(receiver, schedule, TxStatus::Finalized) + .await + { Ok(_) => info!("Vested transfer has succeeded"), Err(e) => error!("Vested transfer has failed with:\n {:?}", e), } diff --git a/e2e-tests/Cargo.lock b/e2e-tests/Cargo.lock index e2cb7f60ad..e574d80b0e 100644 --- a/e2e-tests/Cargo.lock +++ b/e2e-tests/Cargo.lock @@ -12,55 +12,6 @@ dependencies = [ "regex", ] -[[package]] -name = "ac-compose-macros" -version = "0.1.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate-api-client.git?branch=aleph-v0.9.28#92bc66b75428213e4bcdb2484616cf458455813a" -dependencies = [ - "ac-primitives", - "log", - "parity-scale-codec", - "sp-application-crypto 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", -] - -[[package]] -name = "ac-node-api" -version = "0.1.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate-api-client.git?branch=aleph-v0.9.28#92bc66b75428213e4bcdb2484616cf458455813a" -dependencies = [ - "ac-primitives", - "derive_more", - "frame-metadata 15.0.0 (git+https://github.com/integritee-network/frame-metadata)", - "frame-support", - "frame-system", - "hex", - "log", - "parity-scale-codec", - "scale-info", - "serde", - "serde_json", - "sp-application-crypto 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", -] - -[[package]] -name = "ac-primitives" -version = "0.1.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate-api-client.git?branch=aleph-v0.9.28#92bc66b75428213e4bcdb2484616cf458455813a" -dependencies = [ - "hex", - "parity-scale-codec", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", -] - [[package]] name = "addr2line" version = "0.17.0" @@ -98,7 +49,7 @@ dependencies = [ [[package]] name = "aleph-e2e-client" -version = "0.8.0" +version = "0.9.0" dependencies = [ "aleph_client", "anyhow", @@ -106,6 +57,7 @@ dependencies = [ "env_logger 0.8.4", "frame-support", "frame-system", + "futures", "hex", "log", "pallet-balances", @@ -117,35 +69,29 @@ dependencies = [ "serde_json", "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "tokio", ] [[package]] name = "aleph_client" -version = "1.12.0" +version = "2.0.0" dependencies = [ - "ac-node-api", - "ac-primitives", "anyhow", + "async-trait", "contract-metadata 1.5.0", "contract-transcode", "frame-support", + "futures", "hex", "ink_metadata", "log", - "pallet-aleph", - "pallet-balances", - "pallet-elections", - "pallet-multisig", - "pallet-staking", - "pallet-treasury", - "pallet-vesting", "parity-scale-codec", "primitives", - "rayon", + "serde", "serde_json", "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "substrate-api-client", + "subxt", "thiserror", ] @@ -164,7 +110,7 @@ version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2" dependencies = [ - "winapi 0.3.9", + "winapi", ] [[package]] @@ -209,6 +155,16 @@ version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6" +[[package]] +name = "async-lock" +version = "2.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8101efe8695a6c17e02911402145357e718ac92d3ff88ae8419e84b1707b685" +dependencies = [ + "event-listener", + "futures-lite", +] + [[package]] name = "async-trait" version = "0.1.58" @@ -228,7 +184,7 @@ checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" dependencies = [ "hermit-abi", "libc", - "winapi 0.3.9", + "winapi", ] [[package]] @@ -245,7 +201,7 @@ checksum = "cab84319d616cfb654d03394f38ab7e6f0919e181b1b57e1fd15e7fb4077d9a7" dependencies = [ "addr2line", "cc", - "cfg-if 1.0.0", + "cfg-if", "libc", "miniz_oxide", "object", @@ -270,6 +226,15 @@ version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" +[[package]] +name = "beef" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a8241f3ebb85c056b509d4327ad0358fbbba6ffb340bf388f26350aeda225b1" +dependencies = [ + "serde", +] + [[package]] name = "bitflags" version = "1.3.2" @@ -290,9 +255,9 @@ dependencies = [ [[package]] name = "blake2" -version = "0.10.4" +version = "0.10.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9cf849ee05b2ee5fba5e36f97ff8ec2533916700fc0758d40d92136a42f3388" +checksum = "b12e5fd123190ce1c2e559308a94c9bacad77907d4c6005d9e58fe1a0689e55e" dependencies = [ "digest 0.10.5", ] @@ -363,9 +328,9 @@ checksum = "572f695136211188308f16ad2ca5c851a712c464060ae6974944458eb83880ba" [[package]] name = "byte-slice-cast" -version = "1.2.1" +version = "1.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87c5fdd0166095e1d463fc6cc01aa8ce547ad77a4e84d42eb6762b084e28067e" +checksum = "c3ac9f8b63eca6fd385229b3675f6cc0dc5c8a5c8a54a59d4f52ffd670d87b0c" [[package]] name = "byte-tools" @@ -379,16 +344,6 @@ version = "1.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" -[[package]] -name = "bytes" -version = "0.4.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "206fdffcfa2df7cbe15601ef46c813fce0965eb3286db6b56c583b814b51c81c" -dependencies = [ - "byteorder", - "iovec", -] - [[package]] name = "bytes" version = "1.2.1" @@ -397,15 +352,9 @@ checksum = "ec8a7b6a70fde80372154c65702f00a0f56f3e1c36abbc6c440484be248856db" [[package]] name = "cc" -version = "1.0.73" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fff2a6927b3bb87f9595d67196a70493f627687a71d87a0d692242c33f58c11" - -[[package]] -name = "cfg-if" -version = "0.1.10" +version = "1.0.76" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822" +checksum = "76a284da2e6fe2092f2353e51713435363112dfd60030e22add80be333fb928f" [[package]] name = "cfg-if" @@ -415,14 +364,14 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "chrono" -version = "0.4.22" +version = "0.4.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfd4d1b31faaa3a89d7934dbded3111da0d2ef28e3ebccdb4f0179f5929d1ef1" +checksum = "16b0a3d9ed01224b22057780a37bb8c5dbfe1be8ba48678e7bf57ec4b385411f" dependencies = [ "iana-time-zone", "num-integer", "num-traits", - "winapi 0.3.9", + "winapi", ] [[package]] @@ -520,7 +469,7 @@ checksum = "cfa6db9d18dd5ef92d29c52d30c8503c857d390d9e4043e12466f1490c43c05e" dependencies = [ "anyhow", "contract-metadata 0.6.0", - "env_logger 0.9.1", + "env_logger 0.9.3", "escape8259", "hex", "indexmap", @@ -539,10 +488,14 @@ dependencies = [ ] [[package]] -name = "convert_case" -version = "0.4.0" +name = "core-foundation" +version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" +checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146" +dependencies = [ + "core-foundation-sys", + "libc", +] [[package]] name = "core-foundation-sys" @@ -565,7 +518,7 @@ version = "0.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2dd04ddaf88237dc3b8d8f9a3c1004b506b54b3313403944054d23c0870c521" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "crossbeam-utils", ] @@ -575,7 +528,7 @@ version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "715e8152b692bba2d374b53d4875445368fdf21a94751410af607a5ac677d1fc" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "crossbeam-epoch", "crossbeam-utils", ] @@ -587,7 +540,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f916dfc5d356b0ed9dae65f1db9fc9770aa2851d2662b988ccf4fe3516e86348" dependencies = [ "autocfg", - "cfg-if 1.0.0", + "cfg-if", "crossbeam-utils", "memoffset", "scopeguard", @@ -599,7 +552,7 @@ version = "0.8.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "edbafec5fa1f196ca66527c1b12c2ec4745ca14b50f1ad8f9f6f720b55d11fac" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", ] [[package]] @@ -678,9 +631,9 @@ dependencies = [ [[package]] name = "cxx" -version = "1.0.80" +version = "1.0.81" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b7d4e43b25d3c994662706a1d4fcfc32aaa6afd287502c111b237093bb23f3a" +checksum = "97abf9f0eca9e52b7f81b945524e76710e6cb2366aead23b7d4fbf72e281f888" dependencies = [ "cc", "cxxbridge-flags", @@ -690,9 +643,9 @@ dependencies = [ [[package]] name = "cxx-build" -version = "1.0.80" +version = "1.0.81" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84f8829ddc213e2c1368e51a2564c552b65a8cb6a28f31e576270ac81d5e5827" +checksum = "7cc32cc5fea1d894b77d269ddb9f192110069a8a9c1f1d441195fba90553dea3" dependencies = [ "cc", "codespan-reporting", @@ -705,18 +658,53 @@ dependencies = [ [[package]] name = "cxxbridge-flags" -version = "1.0.80" +version = "1.0.81" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e72537424b474af1460806647c41d4b6d35d09ef7fe031c5c2fa5766047cc56a" +checksum = "8ca220e4794c934dc6b1207c3b42856ad4c302f2df1712e9f8d2eec5afaacf1f" [[package]] name = "cxxbridge-macro" -version = "1.0.80" +version = "1.0.81" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b846f081361125bfc8dc9d3940c84e1fd83ba54bbca7b17cd29483c828be0704" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "darling" +version = "0.14.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b0dd3cd20dc6b5a876612a6e5accfe7f3dd883db6d07acfbf14c128f61550dfa" +dependencies = [ + "darling_core", + "darling_macro", +] + +[[package]] +name = "darling_core" +version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "309e4fb93eed90e1e14bea0da16b209f81813ba9fc7830c20ed151dd7bc0a4d7" +checksum = "a784d2ccaf7c98501746bf0be29b2022ba41fd62a2e622af997a03e9f972859f" dependencies = [ + "fnv", + "ident_case", "proc-macro2", "quote", + "strsim", + "syn", +] + +[[package]] +name = "darling_macro" +version = "0.14.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7618812407e9402654622dd402b0a89dff9ba93badd6540781526117b92aab7e" +dependencies = [ + "darling_core", + "quote", "syn", ] @@ -729,16 +717,25 @@ dependencies = [ "const-oid", ] +[[package]] +name = "derivative" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "derive_more" version = "0.99.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321" dependencies = [ - "convert_case", "proc-macro2", "quote", - "rustc_version", "syn", ] @@ -878,9 +875,9 @@ dependencies = [ [[package]] name = "env_logger" -version = "0.9.1" +version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c90bf5f19754d10198ccb95b70664fc925bd1fc090a0fd9a6ebc54acc8cd6272" +checksum = "a12e6657c4c97ebab115a42dcee77225f7f482cdd841cf7088c657a42e9e00e7" dependencies = [ "atty", "humantime", @@ -904,12 +901,27 @@ dependencies = [ "rustversion", ] +[[package]] +name = "event-listener" +version = "2.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" + [[package]] name = "fake-simd" version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed" +[[package]] +name = "fastrand" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7a407cfaa3385c4ae6b23e84623d48c2798d06e3e6a1878f7f59f17b3f86499" +dependencies = [ + "instant", +] + [[package]] name = "ff" version = "0.11.1" @@ -933,19 +945,10 @@ dependencies = [ ] [[package]] -name = "foreign-types" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" -dependencies = [ - "foreign-types-shared", -] - -[[package]] -name = "foreign-types-shared" -version = "0.1.1" +name = "fnv" +version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" +checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "form_urlencoded" @@ -1011,18 +1014,7 @@ version = "15.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "df6bb8542ef006ef0de09a5c4420787d79823c0ed7924225822362fd2bf2ff2d" dependencies = [ - "cfg-if 1.0.0", - "parity-scale-codec", - "scale-info", - "serde", -] - -[[package]] -name = "frame-metadata" -version = "15.0.0" -source = "git+https://github.com/integritee-network/frame-metadata#3b43da9821238681f9431276d55b92a079142083" -dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "parity-scale-codec", "scale-info", "serde", @@ -1034,7 +1026,7 @@ version = "4.0.0-dev" source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" dependencies = [ "bitflags", - "frame-metadata 15.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "frame-metadata", "frame-support-procedural", "impl-trait-for-tuples", "k256", @@ -1110,22 +1102,6 @@ dependencies = [ "sp-version", ] -[[package]] -name = "fuchsia-zircon" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82" -dependencies = [ - "bitflags", - "fuchsia-zircon-sys", -] - -[[package]] -name = "fuchsia-zircon-sys" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7" - [[package]] name = "funty" version = "2.0.0" @@ -1181,6 +1157,21 @@ version = "0.3.25" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "00f5fb52a06bdcadeb54e8d3671f8888a39697dcb0b81b23b55174030427f4eb" +[[package]] +name = "futures-lite" +version = "1.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7694489acd39452c77daa48516b894c153f192c3578d5a839b62c58099fcbf48" +dependencies = [ + "fastrand", + "futures-core", + "futures-io", + "memchr", + "parking", + "pin-project-lite", + "waker-fn", +] + [[package]] name = "futures-macro" version = "0.3.25" @@ -1253,7 +1244,7 @@ version = "0.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "js-sys", "libc", "wasi 0.9.0+wasi-snapshot-preview1", @@ -1266,7 +1257,7 @@ version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "libc", "wasi 0.11.0+wasi-snapshot-preview1", ] @@ -1364,6 +1355,17 @@ dependencies = [ "hmac 0.8.1", ] +[[package]] +name = "http" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75f43d41e26995c17e71ee126451dd3941010b0514a81a9d11f3b341debc2399" +dependencies = [ + "bytes", + "fnv", + "itoa", +] + [[package]] name = "httparse" version = "1.8.0" @@ -1378,16 +1380,16 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" [[package]] name = "iana-time-zone" -version = "0.1.51" +version = "0.1.53" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f5a6ef98976b22b3b7f2f3a806f858cb862044cfa66805aa3ad84cb3d3b785ed" +checksum = "64c122667b287044802d6ce17ee2ddf13207ed924c712de9a66a5814d5b64765" dependencies = [ "android_system_properties", "core-foundation-sys", "iana-time-zone-haiku", "js-sys", "wasm-bindgen", - "winapi 0.3.9", + "winapi", ] [[package]] @@ -1400,6 +1402,12 @@ dependencies = [ "cxx-build", ] +[[package]] +name = "ident_case" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" + [[package]] name = "idna" version = "0.3.0" @@ -1461,7 +1469,7 @@ version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1c9588a59a0e8997c0b2153cd11b5aaa77c06a0537a6b18f3811d1f1aa098b12" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", ] [[package]] @@ -1487,7 +1495,7 @@ checksum = "a891d34301a3dbb1c7b7424c49ae184282b163491c54f9acd17fcbe14a80447b" dependencies = [ "arrayref", "blake2", - "cfg-if 1.0.0", + "cfg-if", "derive_more", "ink_allocator", "ink_engine", @@ -1526,7 +1534,7 @@ version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1f031e6b8495594a7288b089bf4122e76c26b994959d1b2b693bdfe846b14c0e" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", ] [[package]] @@ -1535,28 +1543,28 @@ version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e12cf42dce81d060401c7cec95a392ad6d3c2f18661fa3083f619ce135133c33" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "ink_prelude", "parity-scale-codec", "scale-info", ] [[package]] -name = "integer-sqrt" -version = "0.1.5" +name = "instant" +version = "0.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "276ec31bcb4a9ee45f58bec6f9ec700ae4cf4f4f8f2fa7e06cb406bd5ffdd770" +checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" dependencies = [ - "num-traits", + "cfg-if", ] [[package]] -name = "iovec" -version = "0.1.4" +name = "integer-sqrt" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2b3ea6ff95e175473f8ffe6a7eb7c00d054240321b84c57051175fe3c1e075e" +checksum = "276ec31bcb4a9ee45f58bec6f9ec700ae4cf4f4f8f2fa7e06cb406bd5ffdd770" dependencies = [ - "libc", + "num-traits", ] [[package]] @@ -1589,13 +1597,82 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "jsonrpsee" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8bd0d559d5e679b1ab2f869b486a11182923863b1b3ee8b421763cdd707b783a" +dependencies = [ + "jsonrpsee-client-transport", + "jsonrpsee-core", + "jsonrpsee-types", +] + +[[package]] +name = "jsonrpsee-client-transport" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8752740ecd374bcbf8b69f3e80b0327942df76f793f8d4e60d3355650c31fb74" +dependencies = [ + "futures-util", + "http", + "jsonrpsee-core", + "jsonrpsee-types", + "pin-project", + "rustls-native-certs", + "soketto", + "thiserror", + "tokio", + "tokio-rustls", + "tokio-util", + "tracing", + "webpki-roots", +] + +[[package]] +name = "jsonrpsee-core" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3dc3e9cf2ba50b7b1d7d76a667619f82846caa39e8e8daa8a4962d74acaddca" +dependencies = [ + "anyhow", + "async-lock", + "async-trait", + "beef", + "futures-channel", + "futures-timer", + "futures-util", + "jsonrpsee-types", + "rustc-hash", + "serde", + "serde_json", + "thiserror", + "tokio", + "tracing", + "tracing-futures", +] + +[[package]] +name = "jsonrpsee-types" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e290bba767401b646812f608c099b922d8142603c9e73a50fb192d3ac86f4a0d" +dependencies = [ + "anyhow", + "beef", + "serde", + "serde_json", + "thiserror", + "tracing", +] + [[package]] name = "k256" version = "0.10.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "19c3a5e0a0b8450278feda242592512e09f61c72e018b8cd5c859482802daf2d" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "ecdsa", "elliptic-curve", "sec1", @@ -1603,18 +1680,11 @@ dependencies = [ [[package]] name = "keccak" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9b7d56ba4a8344d6be9729995e6b06f928af29998cdf79fe390cbf6b1fee838" - -[[package]] -name = "kernel32-sys" -version = "0.2.2" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d" +checksum = "3afef3b6eff9ce9d8ff9b3601125eec7f0c8cbac7abd14f355d053fa56c98768" dependencies = [ - "winapi 0.2.8", - "winapi-build", + "cpufeatures", ] [[package]] @@ -1623,12 +1693,6 @@ version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" -[[package]] -name = "lazycell" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" - [[package]] name = "libc" version = "0.2.137" @@ -1637,9 +1701,9 @@ checksum = "fc7fcc620a3bff7cdd7a365be3376c97191aeaccc2a603e600951e452615bf89" [[package]] name = "libm" -version = "0.2.5" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "292a948cd991e376cf75541fe5b97a1081d713c618b4f1b9500f8844e49eb565" +checksum = "348108ab3fba42ec82ff6e9564fc4ca0247bdccdc68dd8af9764bbc79c3c8ffb" [[package]] name = "libsecp256k1" @@ -1724,7 +1788,7 @@ version = "0.4.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", ] [[package]] @@ -1806,45 +1870,14 @@ dependencies = [ [[package]] name = "mio" -version = "0.6.23" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4afd66f5b91bf2a3bc13fad0e21caedac168ca4c707504e75585648ae80e4cc4" +checksum = "e5d732bc30207a6423068df043e3d02e0735b155ad7ce1a6f76fe2baa5b158de" dependencies = [ - "cfg-if 0.1.10", - "fuchsia-zircon", - "fuchsia-zircon-sys", - "iovec", - "kernel32-sys", "libc", "log", - "miow", - "net2", - "slab", - "winapi 0.2.8", -] - -[[package]] -name = "mio-extras" -version = "2.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52403fe290012ce777c4626790c8951324a2b9e3316b3143779c72b029742f19" -dependencies = [ - "lazycell", - "log", - "mio", - "slab", -] - -[[package]] -name = "miow" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebd808424166322d4a38da87083bfddd3ac4c131334ed55856112eb06d46944d" -dependencies = [ - "kernel32-sys", - "net2", - "winapi 0.2.8", - "ws2_32-sys", + "wasi 0.11.0+wasi-snapshot-preview1", + "windows-sys 0.42.0", ] [[package]] @@ -1876,17 +1909,6 @@ dependencies = [ "syn", ] -[[package]] -name = "net2" -version = "0.2.38" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74d0df99cfcd2530b2e694f6e17e7f37b8e26bb23983ac530c0c97408837c631" -dependencies = [ - "cfg-if 0.1.10", - "libc", - "winapi 0.3.9", -] - [[package]] name = "nodrop" version = "0.1.14" @@ -1991,9 +2013,9 @@ dependencies = [ [[package]] name = "num_cpus" -version = "1.13.1" +version = "1.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19e64526ebdee182341572e50e9ad03965aa510cd94427a4549448f285e957a1" +checksum = "f6058e64324c71e02bc2b150e4f3bc8286db6c83092132ffa3f6b1eab0f9def5" dependencies = [ "hermit-abi", "libc", @@ -2010,9 +2032,9 @@ dependencies = [ [[package]] name = "once_cell" -version = "1.15.0" +version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e82dad04139b71a90c080c8463fe0dc7902db5192d939bd0950f074d014339e1" +checksum = "86f0b0d4bf799edbc74508c1e8bf170ff5f41238e5f8225603ca7caaae2b7860" [[package]] name = "opaque-debug" @@ -2027,66 +2049,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" [[package]] -name = "openssl" -version = "0.10.42" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12fc0523e3bd51a692c8850d075d74dc062ccf251c0110668cbd921917118a13" -dependencies = [ - "bitflags", - "cfg-if 1.0.0", - "foreign-types", - "libc", - "once_cell", - "openssl-macros", - "openssl-sys", -] - -[[package]] -name = "openssl-macros" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b501e44f11665960c7e7fcf062c7d96a14ade4aa98116c004b2e37b5be7d736c" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "openssl-sys" -version = "0.9.77" +name = "openssl-probe" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b03b84c3b2d099b81f0953422b4d4ad58761589d0229b5506356afca05a3670a" -dependencies = [ - "autocfg", - "cc", - "libc", - "pkg-config", - "vcpkg", -] +checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "os_str_bytes" -version = "6.3.0" +version = "6.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ff7415e9ae3fff1225851df9e0d9e4e5479f947619774677a63572e55e80eff" - -[[package]] -name = "pallet-aleph" -version = "0.5.0" -dependencies = [ - "frame-support", - "frame-system", - "pallet-balances", - "pallet-session", - "pallets-support", - "parity-scale-codec", - "primitives", - "scale-info", - "serde", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", -] +checksum = "7b5bf27447411e9ee3ff51186bf7a08e16c341efdde93f4d823e8844429bed7e" [[package]] name = "pallet-authorship" @@ -2140,20 +2112,6 @@ dependencies = [ "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", ] -[[package]] -name = "pallet-multisig" -version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" -dependencies = [ - "frame-support", - "frame-system", - "parity-scale-codec", - "scale-info", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", -] - [[package]] name = "pallet-session" version = "4.0.0-dev" @@ -2213,52 +2171,6 @@ dependencies = [ "sp-timestamp", ] -[[package]] -name = "pallet-transaction-payment" -version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" -dependencies = [ - "frame-support", - "frame-system", - "parity-scale-codec", - "scale-info", - "serde", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", -] - -[[package]] -name = "pallet-treasury" -version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" -dependencies = [ - "frame-support", - "frame-system", - "impl-trait-for-tuples", - "pallet-balances", - "parity-scale-codec", - "scale-info", - "serde", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", -] - -[[package]] -name = "pallet-vesting" -version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" -dependencies = [ - "frame-support", - "frame-system", - "log", - "parity-scale-codec", - "scale-info", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", -] - [[package]] name = "pallets-support" version = "0.1.0" @@ -2275,7 +2187,7 @@ dependencies = [ "arrayvec 0.7.2", "bitvec", "byte-slice-cast", - "bytes 1.2.1", + "bytes", "impl-trait-for-tuples", "parity-scale-codec-derive", "serde", @@ -2299,13 +2211,13 @@ version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c32561d248d352148124f036cac253a644685a21dc9fea383eb4907d7bd35a8f" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "hashbrown", "impl-trait-for-tuples", "parity-util-mem-derive", "parking_lot", "primitive-types", - "winapi 0.3.9", + "winapi", ] [[package]] @@ -2325,6 +2237,12 @@ version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "be5e13c266502aadf83426d87d81a0f5d1ef45b8027f5a471c360abfe4bfae92" +[[package]] +name = "parking" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "427c3892f9e783d91cc128285287e70a59e206ca452770ece88a76f7a3eddd72" + [[package]] name = "parking_lot" version = "0.12.1" @@ -2341,11 +2259,11 @@ version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4dc9e0dc2adc1c69d09143aff38d3d30c5c3f0df0dad82e6d25547af174ebec0" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "libc", "redox_syscall", "smallvec", - "windows-sys", + "windows-sys 0.42.0", ] [[package]] @@ -2378,6 +2296,26 @@ version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e" +[[package]] +name = "pin-project" +version = "1.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad29a609b6bcd67fee905812e544992d216af9d755757c05ed2d0e15a74c6ecc" +dependencies = [ + "pin-project-internal", +] + +[[package]] +name = "pin-project-internal" +version = "1.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "069bdb1e05adc7a8990dce9cc75370895fbe4e3d58b9b73bf1aee56359344a55" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "pin-project-lite" version = "0.2.9" @@ -2390,17 +2328,11 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" -[[package]] -name = "pkg-config" -version = "0.3.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ac9a59f73473f1b8d852421e59e64809f025994837ef743615c6d0c5b305160" - [[package]] name = "ppv-lite86" -version = "0.2.16" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb9f9e6e233e5c4a35559a617bf40a4ec447db2e84c20b55a6f83167b7e57872" +checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" [[package]] name = "primitive-types" @@ -2621,18 +2553,18 @@ dependencies = [ [[package]] name = "ref-cast" -version = "1.0.12" +version = "1.0.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12a733f1746c929b4913fe48f8697fcf9c55e3304ba251a79ffb41adfeaf49c2" +checksum = "53b15debb4f9d60d767cd8ca9ef7abb2452922f3214671ff052defc7f3502c44" dependencies = [ "ref-cast-impl", ] [[package]] name = "ref-cast-impl" -version = "1.0.12" +version = "1.0.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5887de4a01acafd221861463be6113e6e87275e79804e56779f4cdc131c60368" +checksum = "abfa8511e9e94fd3de6585a3d3cd00e01ed556dc9814829280af0e8dc72a8f36" dependencies = [ "proc-macro2", "quote", @@ -2641,9 +2573,9 @@ dependencies = [ [[package]] name = "regex" -version = "1.6.0" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c4eb3267174b8c6c2f654116623910a0fef09c4753f8dd83db29c48a0df988b" +checksum = "e076559ef8e241f2ae3479e36f97bd5741c0330689e217ad51ce2c76808b868a" dependencies = [ "aho-corasick", "memchr", @@ -2661,9 +2593,9 @@ dependencies = [ [[package]] name = "regex-syntax" -version = "0.6.27" +version = "0.6.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3f87b73ce11b1619a3c6332f45341e0047173771e8b8b73f87bfeefb7b56244" +checksum = "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848" [[package]] name = "rfc6979" @@ -2676,6 +2608,21 @@ dependencies = [ "zeroize", ] +[[package]] +name = "ring" +version = "0.16.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc" +dependencies = [ + "cc", + "libc", + "once_cell", + "spin", + "untrusted", + "web-sys", + "winapi", +] + [[package]] name = "rlibc" version = "1.0.0" @@ -2701,12 +2648,36 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3e75f6a532d0fd9f7f13144f392b6ad56a32696bfcd9c78f797f16bbb6f072d6" [[package]] -name = "rustc_version" -version = "0.4.0" +name = "rustls" +version = "0.20.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" +checksum = "539a2bfe908f471bfa933876bd1eb6a19cf2176d375f82ef7f99530a40e48c2c" dependencies = [ - "semver", + "log", + "ring", + "sct", + "webpki", +] + +[[package]] +name = "rustls-native-certs" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0167bac7a9f490495f3c33013e7722b53cb087ecbe082fb0c6387c96f634ea50" +dependencies = [ + "openssl-probe", + "rustls-pemfile", + "schannel", + "security-framework", +] + +[[package]] +name = "rustls-pemfile" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0864aeff53f8c05aa08d86e5ef839d3dfcf07aeba2db32f12db0ef716e87bd55" +dependencies = [ + "base64", ] [[package]] @@ -2721,14 +2692,37 @@ version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4501abdff3ae82a1c1b477a17252eb69cee9e66eb915c1abaa4f44d873df9f09" +[[package]] +name = "scale-bits" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8dd7aca73785181cc41f0bbe017263e682b585ca660540ba569133901d013ecf" +dependencies = [ + "parity-scale-codec", + "scale-info", + "serde", +] + +[[package]] +name = "scale-decode" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d823d4be477fc33321f93d08fb6c2698273d044f01362dc27573a750deb7c233" +dependencies = [ + "parity-scale-codec", + "scale-bits", + "scale-info", + "thiserror", +] + [[package]] name = "scale-info" -version = "2.2.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "333af15b02563b8182cd863f925bd31ef8fa86a0e095d30c091956057d436153" +checksum = "88d8a765117b237ef233705cc2cc4c6a27fccd46eea6ef0c8c6dae5f3ef407f8" dependencies = [ "bitvec", - "cfg-if 1.0.0", + "cfg-if", "derive_more", "parity-scale-codec", "scale-info-derive", @@ -2737,9 +2731,9 @@ dependencies = [ [[package]] name = "scale-info-derive" -version = "2.2.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53f56acbd0743d29ffa08f911ab5397def774ad01bab3786804cf6ee057fb5e1" +checksum = "cdcd47b380d8c4541044e341dcd9475f55ba37ddc50c908d945fc036a8642496" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -2747,6 +2741,33 @@ dependencies = [ "syn", ] +[[package]] +name = "scale-value" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "16a5e7810815bd295da73e4216d1dfbced3c7c7c7054d70fa5f6e4c58123fff4" +dependencies = [ + "either", + "frame-metadata", + "parity-scale-codec", + "scale-bits", + "scale-decode", + "scale-info", + "serde", + "thiserror", + "yap", +] + +[[package]] +name = "schannel" +version = "0.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88d6731146462ea25d9244b2ed5fd1d716d25c52e4d54aa4fb0f3c4e9854dbe2" +dependencies = [ + "lazy_static", + "windows-sys 0.36.1", +] + [[package]] name = "schnorrkel" version = "0.9.1" @@ -2777,6 +2798,16 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c8132065adcfd6e02db789d9285a0deb2f3fcb04002865ab67d5fb103533898" +[[package]] +name = "sct" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4" +dependencies = [ + "ring", + "untrusted", +] + [[package]] name = "sec1" version = "0.2.1" @@ -2834,6 +2865,29 @@ dependencies = [ "zeroize", ] +[[package]] +name = "security-framework" +version = "2.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2bc1bb97804af6631813c55739f771071e0f2ed33ee20b68c86ec505d906356c" +dependencies = [ + "bitflags", + "core-foundation", + "core-foundation-sys", + "libc", + "security-framework-sys", +] + +[[package]] +name = "security-framework-sys" +version = "2.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0160a13a177a45bfb43ce71c01580998474f556ad854dcbca936dd2841a5c556" +dependencies = [ + "core-foundation-sys", + "libc", +] + [[package]] name = "semver" version = "1.0.14" @@ -2876,14 +2930,15 @@ dependencies = [ [[package]] name = "sha-1" -version = "0.8.2" +version = "0.9.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7d94d0bede923b3cea61f3f1ff57ff8cdfd77b400fb8f9998949e0cf04163df" +checksum = "99cd6713db3cf16b6c84e06321e049a9b9f699826e16096d23bbcc44d15d51a6" dependencies = [ - "block-buffer 0.7.3", - "digest 0.8.1", - "fake-simd", - "opaque-debug 0.2.3", + "block-buffer 0.9.0", + "cfg-if", + "cpufeatures", + "digest 0.9.0", + "opaque-debug 0.3.0", ] [[package]] @@ -2905,7 +2960,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4d58a1e1bf39749807d89cf2d98ac2dfa0ff1cb3faa38fbb64dd88ac8013d800" dependencies = [ "block-buffer 0.9.0", - "cfg-if 1.0.0", + "cfg-if", "cpufeatures", "digest 0.9.0", "opaque-debug 0.3.0", @@ -2917,7 +2972,7 @@ version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "82e6b795fe2e3b1e845bafcb27aa35405c4d47cdfc92af5fc8d3002f76cebdc0" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "cpufeatures", "digest 0.10.5", ] @@ -2941,6 +2996,15 @@ dependencies = [ "lazy_static", ] +[[package]] +name = "signal-hook-registry" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e51e73328dc4ac0c7ccbda3a494dfa03df1de2f46018127f60c693f2648455b0" +dependencies = [ + "libc", +] + [[package]] name = "signature" version = "1.4.0" @@ -2978,6 +3042,31 @@ version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" +[[package]] +name = "socket2" +version = "0.4.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "02e2d2db9033d13a1567121ddd7a095ee144db4e1ca1b1bda3419bc0da294ebd" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "soketto" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41d1c5305e39e09653383c2c7244f2f78b3bcae37cf50c64cb4789c9f5096ec2" +dependencies = [ + "base64", + "bytes", + "futures", + "httparse", + "log", + "rand 0.8.5", + "sha-1", +] + [[package]] name = "sp-api" version = "4.0.0-dev" @@ -3298,7 +3387,7 @@ name = "sp-io" version = "6.0.0" source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" dependencies = [ - "bytes 1.2.1", + "bytes", "futures", "hash-db", "libsecp256k1", @@ -3387,16 +3476,6 @@ dependencies = [ "regex", ] -[[package]] -name = "sp-rpc" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" -dependencies = [ - "rustc-hash", - "serde", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", -] - [[package]] name = "sp-runtime" version = "6.0.0" @@ -3465,7 +3544,7 @@ name = "sp-runtime-interface" version = "6.0.0" source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" dependencies = [ - "bytes 1.2.1", + "bytes", "impl-trait-for-tuples", "parity-scale-codec", "primitive-types", @@ -3738,11 +3817,17 @@ dependencies = [ "wasmi", ] +[[package]] +name = "spin" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" + [[package]] name = "ss58-registry" -version = "1.33.0" +version = "1.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ab7554f8a8b6f8d71cd5a8e6536ef116e2ce0504cf97ebf16311d58065dc8a6" +checksum = "37a9821878e1f13aba383aa40a86fb1b33c7265774ec91e32563cb1dd1577496" dependencies = [ "Inflector", "num-format", @@ -3778,36 +3863,6 @@ version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" -[[package]] -name = "substrate-api-client" -version = "0.6.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate-api-client.git?branch=aleph-v0.9.28#92bc66b75428213e4bcdb2484616cf458455813a" -dependencies = [ - "ac-compose-macros", - "ac-node-api", - "ac-primitives", - "frame-metadata 15.0.0 (git+https://github.com/integritee-network/frame-metadata)", - "frame-support", - "frame-system", - "hex", - "log", - "pallet-balances", - "pallet-staking", - "pallet-transaction-payment", - "parity-scale-codec", - "primitive-types", - "serde", - "serde_json", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-rpc", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-version", - "thiserror", - "ws", -] - [[package]] name = "substrate-bip39" version = "0.4.4" @@ -3827,6 +3882,75 @@ version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" +[[package]] +name = "subxt" +version = "0.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0a8757ee0e19f87e722577282ab1386c86592a4b13ff963b9c6ec4176348104c" +dependencies = [ + "bitvec", + "derivative", + "frame-metadata", + "futures", + "hex", + "jsonrpsee", + "parity-scale-codec", + "parking_lot", + "scale-decode", + "scale-info", + "scale-value", + "serde", + "serde_json", + "sp-core 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-runtime 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "subxt-macro", + "subxt-metadata", + "thiserror", + "tracing", +] + +[[package]] +name = "subxt-codegen" +version = "0.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb77f93e11e6ff3ff95fe33e3d24c27c342e16feca8ef47759993614ebe90d2c" +dependencies = [ + "darling", + "frame-metadata", + "heck", + "parity-scale-codec", + "proc-macro-error", + "proc-macro2", + "quote", + "scale-info", + "subxt-metadata", + "syn", +] + +[[package]] +name = "subxt-macro" +version = "0.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "051cc21d77a54ae944b872eafdf9edfe1d9134fdfcfc3477dc10f763c76564a9" +dependencies = [ + "darling", + "proc-macro-error", + "subxt-codegen", + "syn", +] + +[[package]] +name = "subxt-metadata" +version = "0.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ed78d80db3a97d55e8b1cfecc1f6f9e21793a589d4e2e5f4fe2d6d5850c2e54" +dependencies = [ + "frame-metadata", + "parity-scale-codec", + "scale-info", + "sp-core 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "syn" version = "1.0.103" @@ -3943,6 +4067,62 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" +[[package]] +name = "tokio" +version = "1.21.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9e03c497dc955702ba729190dc4aac6f2a0ce97f913e5b1b5912fc5039d9099" +dependencies = [ + "autocfg", + "bytes", + "libc", + "memchr", + "mio", + "num_cpus", + "parking_lot", + "pin-project-lite", + "signal-hook-registry", + "socket2", + "tokio-macros", + "winapi", +] + +[[package]] +name = "tokio-macros" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9724f9a975fb987ef7a3cd9be0350edcbe130698af5b8f7a631e23d42d052484" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "tokio-rustls" +version = "0.23.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c43ee83903113e03984cb9e5cebe6c04a5116269e900e3ddba8f068a62adda59" +dependencies = [ + "rustls", + "tokio", + "webpki", +] + +[[package]] +name = "tokio-util" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bb2e075f03b3d66d8d8785356224ba688d2906a371015e225beeb65ca92c740" +dependencies = [ + "bytes", + "futures-core", + "futures-io", + "futures-sink", + "pin-project-lite", + "tokio", +] + [[package]] name = "toml" version = "0.5.9" @@ -3958,7 +4138,7 @@ version = "0.1.37" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "pin-project-lite", "tracing-attributes", "tracing-core", @@ -3985,6 +4165,16 @@ dependencies = [ "valuable", ] +[[package]] +name = "tracing-futures" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2" +dependencies = [ + "pin-project", + "tracing", +] + [[package]] name = "tracing-log" version = "0.1.3" @@ -4062,7 +4252,7 @@ version = "1.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "digest 0.10.5", "rand 0.8.5", "static_assertions", @@ -4119,6 +4309,12 @@ version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" +[[package]] +name = "untrusted" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" + [[package]] name = "url" version = "2.3.1" @@ -4137,18 +4333,18 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" -[[package]] -name = "vcpkg" -version = "0.2.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" - [[package]] name = "version_check" version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" +[[package]] +name = "waker-fn" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d5b2c62b4012a3e1eca5a7e077d13b3bf498c4073e33ccd58626607748ceeca" + [[package]] name = "wasi" version = "0.9.0+wasi-snapshot-preview1" @@ -4167,7 +4363,7 @@ version = "0.2.83" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eaf9f5aceeec8be17c128b2e93e031fb8a4d469bb9c4ae2d7dc1888b26887268" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "wasm-bindgen-macro", ] @@ -4240,10 +4436,33 @@ dependencies = [ ] [[package]] -name = "winapi" -version = "0.2.8" +name = "web-sys" +version = "0.3.60" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a" +checksum = "bcda906d8be16e728fd5adc5b729afad4e444e106ab28cd1c7256e54fa61510f" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "webpki" +version = "0.22.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f095d78192e208183081cc07bc5515ef55216397af48b873e5edcd72637fa1bd" +dependencies = [ + "ring", + "untrusted", +] + +[[package]] +name = "webpki-roots" +version = "0.22.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "368bfe657969fb01238bb756d351dcade285e0f6fcbd36dcb23359a5169975be" +dependencies = [ + "webpki", +] [[package]] name = "winapi" @@ -4255,12 +4474,6 @@ dependencies = [ "winapi-x86_64-pc-windows-gnu", ] -[[package]] -name = "winapi-build" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc" - [[package]] name = "winapi-i686-pc-windows-gnu" version = "0.4.0" @@ -4273,7 +4486,7 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" dependencies = [ - "winapi 0.3.9", + "winapi", ] [[package]] @@ -4282,6 +4495,19 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" +[[package]] +name = "windows-sys" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea04155a16a59f9eab786fe12a4a450e75cdb175f9e0d80da1e17db09f55b8d2" +dependencies = [ + "windows_aarch64_msvc 0.36.1", + "windows_i686_gnu 0.36.1", + "windows_i686_msvc 0.36.1", + "windows_x86_64_gnu 0.36.1", + "windows_x86_64_msvc 0.36.1", +] + [[package]] name = "windows-sys" version = "0.42.0" @@ -4289,12 +4515,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" dependencies = [ "windows_aarch64_gnullvm", - "windows_aarch64_msvc", - "windows_i686_gnu", - "windows_i686_msvc", - "windows_x86_64_gnu", + "windows_aarch64_msvc 0.42.0", + "windows_i686_gnu 0.42.0", + "windows_i686_msvc 0.42.0", + "windows_x86_64_gnu 0.42.0", "windows_x86_64_gnullvm", - "windows_x86_64_msvc", + "windows_x86_64_msvc 0.42.0", ] [[package]] @@ -4303,24 +4529,48 @@ version = "0.42.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "41d2aa71f6f0cbe00ae5167d90ef3cfe66527d6f613ca78ac8024c3ccab9a19e" +[[package]] +name = "windows_aarch64_msvc" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47" + [[package]] name = "windows_aarch64_msvc" version = "0.42.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dd0f252f5a35cac83d6311b2e795981f5ee6e67eb1f9a7f64eb4500fbc4dcdb4" +[[package]] +name = "windows_i686_gnu" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6" + [[package]] name = "windows_i686_gnu" version = "0.42.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fbeae19f6716841636c28d695375df17562ca208b2b7d0dc47635a50ae6c5de7" +[[package]] +name = "windows_i686_msvc" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024" + [[package]] name = "windows_i686_msvc" version = "0.42.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "84c12f65daa39dd2babe6e442988fc329d6243fdce47d7d2d155b8d874862246" +[[package]] +name = "windows_x86_64_gnu" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1" + [[package]] name = "windows_x86_64_gnu" version = "0.42.0" @@ -4335,38 +4585,15 @@ checksum = "09d525d2ba30eeb3297665bd434a54297e4170c7f1a44cad4ef58095b4cd2028" [[package]] name = "windows_x86_64_msvc" -version = "0.42.0" +version = "0.36.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f40009d85759725a34da6d89a94e63d7bdc50a862acf0dbc7c8e488f1edcb6f5" +checksum = "c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680" [[package]] -name = "ws" -version = "0.9.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25fe90c75f236a0a00247d5900226aea4f2d7b05ccc34da9e7a8880ff59b5848" -dependencies = [ - "byteorder", - "bytes 0.4.12", - "httparse", - "log", - "mio", - "mio-extras", - "openssl", - "rand 0.7.3", - "sha-1", - "slab", - "url", -] - -[[package]] -name = "ws2_32-sys" -version = "0.2.1" +name = "windows_x86_64_msvc" +version = "0.42.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e" -dependencies = [ - "winapi 0.2.8", - "winapi-build", -] +checksum = "f40009d85759725a34da6d89a94e63d7bdc50a862acf0dbc7c8e488f1edcb6f5" [[package]] name = "wyz" @@ -4377,6 +4604,12 @@ dependencies = [ "tap", ] +[[package]] +name = "yap" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5fc77f52dc9e9b10d55d3f4462c3b7fc393c4f17975d641542833ab2d3bc26ef" + [[package]] name = "zeroize" version = "1.5.7" diff --git a/e2e-tests/Cargo.toml b/e2e-tests/Cargo.toml index 64e3bb1d6d..8da6c8e3bb 100644 --- a/e2e-tests/Cargo.toml +++ b/e2e-tests/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "aleph-e2e-client" -version = "0.8.0" +version = "0.9.0" edition = "2021" license = "Apache 2.0" @@ -13,6 +13,8 @@ log = "0.4" serde_json = "1.0" codec = { package = 'parity-scale-codec', version = "3.0", default-features = false, features = ['derive'] } rayon = "1.5" +tokio = { version = "1.21.2", features = ["full"] } +futures = "0.3.25" sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28", default-features = false, features = ["full_crypto"] } sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28", default-features = false } diff --git a/e2e-tests/src/accounts.rs b/e2e-tests/src/accounts.rs index 0292319366..31c8a6fa7e 100644 --- a/e2e-tests/src/accounts.rs +++ b/e2e-tests/src/accounts.rs @@ -1,5 +1,6 @@ -use aleph_client::{keypair_from_string, AccountId, KeyPair}; -use sp_core::Pair; +use aleph_client::{ + keypair_from_string, raw_keypair_from_string, AccountId, KeyPair, Pair, RawKeyPair, +}; use crate::config::Config; @@ -20,6 +21,9 @@ pub fn get_validators_seeds(config: &Config) -> Vec { pub fn get_validators_keys(config: &Config) -> Vec { accounts_seeds_to_keys(&get_validators_seeds(config)) } +pub fn get_validators_raw_keys(config: &Config) -> Vec { + accounts_seeds_to_raw_keys(&get_validators_seeds(config)) +} pub fn accounts_seeds_to_keys(seeds: &[String]) -> Vec { seeds @@ -28,6 +32,13 @@ pub fn accounts_seeds_to_keys(seeds: &[String]) -> Vec { .map(keypair_from_string) .collect() } +pub fn accounts_seeds_to_raw_keys(seeds: &[String]) -> Vec { + seeds + .iter() + .map(String::as_str) + .map(raw_keypair_from_string) + .collect() +} pub fn get_sudo_key(config: &Config) -> KeyPair { keypair_from_string(&config.sudo_seed) @@ -53,6 +64,6 @@ fn get_validators_controller_seed(seed: &str) -> String { pub fn account_ids_from_keys(keys: &[KeyPair]) -> Vec { keys.iter() - .map(|pair| AccountId::from(pair.public())) + .map(|pair| AccountId::from(pair.signer().public())) .collect() } diff --git a/e2e-tests/src/ban.rs b/e2e-tests/src/ban.rs index 227a252e53..f4542853ae 100644 --- a/e2e-tests/src/ban.rs +++ b/e2e-tests/src/ban.rs @@ -1,12 +1,14 @@ use aleph_client::{ - change_validators, get_ban_config, get_ban_info_for_validator, get_block_hash, - get_session_period, get_underperformed_validator_session_count, wait_for_event, - wait_for_full_era_completion, AccountId, AnyConnection, RootConnection, XtStatus, + api::elections::events::BanValidators, + pallets::elections::{ElectionsApi, ElectionsSudoApi}, + primitives::{BanConfig, BanInfo, CommitteeSeats, EraValidators}, + utility::BlocksApi, + waiting::{AlephWaiting, BlockStatus, WaitingExt}, + AccountId, Connection, RootConnection, TxStatus, }; -use codec::Decode; +use codec::Encode; use log::info; -use primitives::{BanConfig, BanInfo, CommitteeSeats, EraValidators, SessionCount, SessionIndex}; -use sp_core::H256; +use primitives::{SessionCount, SessionIndex}; use sp_runtime::Perbill; use crate::{ @@ -17,15 +19,15 @@ use crate::{ const RESERVED_SEATS: u32 = 2; const NON_RESERVED_SEATS: u32 = 2; -type BanTestSetup = ( +pub async fn setup_test( + config: &Config, +) -> anyhow::Result<( RootConnection, Vec, Vec, CommitteeSeats, -); - -pub fn setup_test(config: &Config) -> anyhow::Result { - let root_connection = config.create_root_connection(); +)> { + let root_connection = config.create_root_connection().await; let validator_keys = get_test_validators(config); let reserved_validators = account_ids_from_keys(&validator_keys.reserved); @@ -36,15 +38,19 @@ pub fn setup_test(config: &Config) -> anyhow::Result { non_reserved_seats: NON_RESERVED_SEATS, }; - change_validators( - &root_connection, - Some(reserved_validators.clone()), - Some(non_reserved_validators.clone()), - Some(seats), - XtStatus::InBlock, - ); + root_connection + .change_validators( + Some(reserved_validators.clone()), + Some(non_reserved_validators.clone()), + Some(seats.clone()), + TxStatus::InBlock, + ) + .await?; - wait_for_full_era_completion(&root_connection)?; + root_connection + .connection + .wait_for_n_eras(2, BlockStatus::Best) + .await; Ok(( root_connection, @@ -54,31 +60,28 @@ pub fn setup_test(config: &Config) -> anyhow::Result { )) } -pub fn check_validators( - connection: &C, +pub fn check_validators( expected_reserved: &[AccountId], expected_non_reserved: &[AccountId], - actual_validators_source: fn(&C) -> EraValidators, + era_validators: EraValidators, ) -> EraValidators { - let era_validators = actual_validators_source(connection); - assert_eq!(era_validators.reserved, expected_reserved); assert_eq!(era_validators.non_reserved, expected_non_reserved); era_validators } -pub fn check_ban_config( - connection: &RootConnection, +pub async fn check_ban_config( + connection: &Connection, expected_minimal_expected_performance: Perbill, expected_session_count_threshold: SessionCount, expected_clean_session_counter_delay: SessionCount, ) -> BanConfig { - let ban_config = get_ban_config(connection); + let ban_config = connection.get_ban_config(None).await; assert_eq!( - ban_config.minimal_expected_performance, - expected_minimal_expected_performance + ban_config.minimal_expected_performance.0, + expected_minimal_expected_performance.deconstruct() ); assert_eq!( ban_config.underperformed_session_count_threshold, @@ -92,49 +95,65 @@ pub fn check_ban_config( ban_config } -pub fn check_underperformed_validator_session_count( - connection: &C, +pub async fn check_underperformed_validator_session_count( + connection: &Connection, validator: &AccountId, - expected_session_count: &SessionCount, - block_hash: Option, + expected_session_count: SessionCount, ) -> SessionCount { - let underperformed_validator_session_count = - get_underperformed_validator_session_count(connection, validator, block_hash); + let underperformed_validator_session_count = connection + .get_underperformed_validator_session_count(validator.clone(), None) + .await + .unwrap_or_default(); assert_eq!( - &underperformed_validator_session_count, + underperformed_validator_session_count, expected_session_count ); underperformed_validator_session_count } -pub fn check_ban_info_for_validator( - connection: &C, +pub async fn check_underperformed_validator_reason( + connection: &Connection, validator: &AccountId, expected_info: Option<&BanInfo>, ) -> Option { - let validator_ban_info = get_ban_info_for_validator(connection, validator); + let validator_ban_info = connection + .get_ban_info_for_validator(validator.clone(), None) + .await; assert_eq!(validator_ban_info.as_ref(), expected_info); - validator_ban_info } -#[derive(Debug, Decode, Clone)] -pub struct BanEvent { - banned_validators: Vec<(AccountId, BanInfo)>, +pub async fn check_ban_info_for_validator( + connection: &Connection, + validator: &AccountId, + expected_info: Option<&BanInfo>, +) -> Option { + let validator_ban_info = connection + .get_ban_info_for_validator(validator.clone(), None) + .await; + + assert_eq!(validator_ban_info.as_ref(), expected_info); + + validator_ban_info } -pub fn check_ban_event( - connection: &C, +pub async fn check_ban_event( + connection: &Connection, expected_banned_validators: &[(AccountId, BanInfo)], -) -> anyhow::Result { - let event = wait_for_event(connection, ("Elections", "BanValidators"), |e: BanEvent| { - info!("Received BanValidators event: {:?}", e.banned_validators); - assert_eq!(e.banned_validators, expected_banned_validators); - true - })?; +) -> anyhow::Result { + let event = connection + .wait_for_event( + |event: &BanValidators| { + info!("Received BanValidators event: {:?}", event.0); + true + }, + BlockStatus::Best, + ) + .await; + assert_eq!(event.0.encode(), expected_banned_validators.encode()); Ok(event) } @@ -158,8 +177,8 @@ pub fn get_members_for_session( /// Checks whether underperformed counts for validators change predictably. Assumes: (a) that the /// sessions checked are in the past, (b) that all the checked validators are underperforming in /// those sessions (e.g. due to a prohibitively high performance threshold). -pub fn check_underperformed_count_for_sessions( - connection: &C, +pub async fn check_underperformed_count_for_sessions( + connection: &Connection, reserved_validators: &[AccountId], non_reserved_validators: &[AccountId], seats: &CommitteeSeats, @@ -167,7 +186,7 @@ pub fn check_underperformed_count_for_sessions( end_session: SessionIndex, ban_session_threshold: SessionCount, ) -> anyhow::Result<()> { - let session_period = get_session_period(connection); + let session_period = connection.get_session_period().await; let validators: Vec<_> = reserved_validators .iter() @@ -176,30 +195,31 @@ pub fn check_underperformed_count_for_sessions( for session in start_session..end_session { let session_end_block = (session + 1) * session_period; - let session_end_block_hash = get_block_hash(connection, session_end_block); + let session_end_block_hash = connection.get_block_hash(session_end_block).await; let previous_session_end_block = session_end_block - session_period; let previous_session_end_block_hash = - get_block_hash(connection, previous_session_end_block); + connection.get_block_hash(previous_session_end_block).await; let members = get_members_for_session(reserved_validators, non_reserved_validators, seats, session); - validators.iter().for_each(|&val| { + for &val in validators.iter() { info!( "Checking session count | session {} | validator {}", session, val ); - let session_underperformed_count = get_underperformed_validator_session_count( - connection, - val, - Some(session_end_block_hash), - ); - let previous_session_underperformed_count = get_underperformed_validator_session_count( - connection, - val, - Some(previous_session_end_block_hash), - ); + let session_underperformed_count = connection + .get_underperformed_validator_session_count(val.clone(), session_end_block_hash) + .await + .unwrap_or_default(); + let previous_session_underperformed_count = connection + .get_underperformed_validator_session_count( + val.clone(), + previous_session_end_block_hash, + ) + .await + .unwrap_or_default(); let underperformed_diff = session_underperformed_count.abs_diff(previous_session_underperformed_count); @@ -220,7 +240,7 @@ pub fn check_underperformed_count_for_sessions( val, session, previous_session_underperformed_count, session_underperformed_count ); } - }); + } } Ok(()) diff --git a/e2e-tests/src/cases.rs b/e2e-tests/src/cases.rs index dd0b626eab..813f18dd3a 100644 --- a/e2e-tests/src/cases.rs +++ b/e2e-tests/src/cases.rs @@ -20,56 +20,71 @@ use crate::{ }, }; -pub type TestCase = fn(&Config) -> anyhow::Result<()>; +pub async fn run_testcase(id: &str, config: &Config) -> anyhow::Result<()> { + match id { + "finalization" => test_finalization(config).await, + "version_upgrade" => test_schedule_version_change(config).await, + "rewards_disable_node" => test_disable_node(config).await, + "token_transfer" => test_token_transfer(config).await, + "channeling_fee_and_tip" => test_channeling_fee_and_tip(config).await, + "treasury_access" => test_treasury_access(config).await, + "batch_transactions" => test_batch_transactions(config).await, + "staking_era_payouts" => test_staking_era_payouts(config).await, + "validators_rotate" => test_validators_rotate(config).await, + "staking_new_validator" => test_staking_new_validator(config).await, + "change_validators" => test_change_validators(config).await, + "fee_calculation" => test_fee_calculation(config).await, + "era_payout" => test_era_payout(config).await, + "era_validators" => test_era_validators(config).await, + "rewards_change_stake_and_force_new_era" => { + test_change_stake_and_force_new_era(config).await + } + "points_basic" => test_points_basic(config).await, + "rewards_force_new_era" => test_force_new_era(config).await, + "rewards_stake_change" => test_points_stake_change(config).await, + "authorities_are_staking" => test_authorities_are_staking(config).await, -pub type PossibleTestCases = Vec<(&'static str, TestCase)>; + "clearing_session_count" => test_clearing_session_count(config).await, + "ban_automatic" => test_ban_automatic(config).await, + "ban_manual" => test_ban_manual(config).await, + "ban_threshold" => test_ban_threshold(config).await, + "doomed_version_upgrade" => { + test_schedule_doomed_version_change_and_verify_finalization_stopped(config).await + } + _ => panic!("unknown testcase"), + } +} + +pub async fn run_all_testcases(config: &Config) -> anyhow::Result<()> { + let all = vec![ + "finalization", + "version_upgrade", + "rewards_disable_node", + "token_transfer", + "channeling_fee_and_tip", + "treasury_access", + "batch_transactions", + "staking_era_payouts", + "validators_rotate", + "staking_new_validator", + "change_validators", + "fee_calculation", + "era_payout", + "era_validators", + "rewards_change_stake_and_force_new_era", + "points_basic", + "rewards_force_new_era", + "rewards_stake_change", + "authorities_are_staking", + "clearing_session_count", + "ban_automatic", + "ban_manual", + "ban_threshold", + "doomed_version_upgrade", + ]; -/// Get a Vec with test cases that the e2e suite is able to handle. -/// The order of items is important for tests when more than one case is handled in order. -/// This comes up in local tests. -pub fn possible_test_cases() -> PossibleTestCases { - vec![ - ("finalization", test_finalization as TestCase), - ("version_upgrade", test_schedule_version_change), - ( - "doomed_version_upgrade", - test_schedule_doomed_version_change_and_verify_finalization_stopped, - ), - ("rewards_disable_node", test_disable_node as TestCase), - ("token_transfer", test_token_transfer as TestCase), - ( - "channeling_fee_and_tip", - test_channeling_fee_and_tip as TestCase, - ), - ("treasury_access", test_treasury_access as TestCase), - ("batch_transactions", test_batch_transactions as TestCase), - ("staking_era_payouts", test_staking_era_payouts as TestCase), - ("validators_rotate", test_validators_rotate as TestCase), - ( - "staking_new_validator", - test_staking_new_validator as TestCase, - ), - ("change_validators", test_change_validators as TestCase), - ("fee_calculation", test_fee_calculation as TestCase), - ("era_payout", test_era_payout as TestCase), - ("era_validators", test_era_validators as TestCase), - ( - "rewards_change_stake_and_force_new_era", - test_change_stake_and_force_new_era as TestCase, - ), - ("points_basic", test_points_basic as TestCase), - ("rewards_force_new_era", test_force_new_era as TestCase), - ("rewards_stake_change", test_points_stake_change as TestCase), - ( - "authorities_are_staking", - test_authorities_are_staking as TestCase, - ), - ("ban_automatic", test_ban_automatic as TestCase), - ("ban_manual", test_ban_manual as TestCase), - ( - "clearing_session_count", - test_clearing_session_count as TestCase, - ), - ("ban_threshold", test_ban_threshold as TestCase), - ] + for testcase in all { + run_testcase(testcase, config).await?; + } + Ok(()) } diff --git a/e2e-tests/src/config.rs b/e2e-tests/src/config.rs index 55777282a9..0dd4a68143 100644 --- a/e2e-tests/src/config.rs +++ b/e2e-tests/src/config.rs @@ -8,7 +8,7 @@ use crate::accounts::{get_sudo_key, get_validators_keys, get_validators_seeds, N #[clap(version = "1.0")] pub struct Config { /// WS endpoint address of the node to connect to - #[clap(long, default_value = "127.0.0.1:9943")] + #[clap(long, default_value = "ws://127.0.0.1:9943")] pub node: String, /// Test cases to run. @@ -44,17 +44,19 @@ impl Config { NodeKeys::from(validator_seed) } - pub fn create_root_connection(&self) -> RootConnection { + pub async fn create_root_connection(&self) -> RootConnection { let sudo_keypair = get_sudo_key(self); - RootConnection::new(&self.node, sudo_keypair) + RootConnection::new(self.node.clone(), sudo_keypair) + .await + .unwrap() } /// Get a `SignedConnection` where the signer is the first validator. - pub fn get_first_signed_connection(&self) -> SignedConnection { + pub async fn get_first_signed_connection(&self) -> SignedConnection { let node = &self.node; - let accounts = get_validators_keys(self); - let sender = accounts.first().expect("Using default accounts").to_owned(); - SignedConnection::new(node, sender) + let mut accounts = get_validators_keys(self); + let sender = accounts.remove(0); + SignedConnection::new(node.clone(), sender).await } } diff --git a/e2e-tests/src/elections.rs b/e2e-tests/src/elections.rs index 0d60c3f2f7..fcc9f19edf 100644 --- a/e2e-tests/src/elections.rs +++ b/e2e-tests/src/elections.rs @@ -1,11 +1,16 @@ use std::{collections::HashSet, iter::empty}; -use aleph_client::{get_validators_for_session, AccountId, ReadStorage}; +use aleph_client::{ + pallets::session::SessionApi, + primitives::{CommitteeSeats, EraValidators}, + utility::BlocksApi, + AccountId, Connection, +}; use log::debug; -use primitives::{CommitteeSeats, EraValidators, SessionIndex}; +use primitives::SessionIndex; -pub fn get_and_test_members_for_session( - connection: &C, +pub async fn get_and_test_members_for_session( + connection: &Connection, seats: CommitteeSeats, era_validators: &EraValidators, session: SessionIndex, @@ -35,9 +40,8 @@ pub fn get_and_test_members_for_session( .collect(); let members_active_set: HashSet<_> = members_active.iter().cloned().collect(); - let network_members: HashSet<_> = get_validators_for_session(connection, session) - .into_iter() - .collect(); + let block = connection.first_block_of_session(session).await; + let network_members: HashSet<_> = connection.get_validators(block).await.into_iter().collect(); debug!( "expected era validators for session {}: reserved - {:?}, non-reserved - {:?}", diff --git a/e2e-tests/src/lib.rs b/e2e-tests/src/lib.rs index b5f65039a1..f37546f64a 100644 --- a/e2e-tests/src/lib.rs +++ b/e2e-tests/src/lib.rs @@ -1,4 +1,4 @@ -pub use cases::{possible_test_cases, PossibleTestCases}; +pub use cases::{run_all_testcases, run_testcase}; pub use config::Config; mod accounts; diff --git a/e2e-tests/src/main.rs b/e2e-tests/src/main.rs index acba54a517..c1067bebf3 100644 --- a/e2e-tests/src/main.rs +++ b/e2e-tests/src/main.rs @@ -1,26 +1,25 @@ use std::{env, time::Instant}; -use aleph_e2e_client::{possible_test_cases, Config, PossibleTestCases}; +use aleph_e2e_client::{run_all_testcases, run_testcase, Config}; use clap::Parser; use log::info; -fn main() -> anyhow::Result<()> { +#[tokio::main(flavor = "multi_thread")] +async fn main() -> anyhow::Result<()> { init_env(); let config: Config = Config::parse(); let test_cases = config.test_cases.clone(); - - let possible_test_cases = possible_test_cases(); // Possibility to handle specified vs. default test cases // is helpful to parallelize e2e tests. match test_cases { Some(cases) => { info!("Running specified test cases."); - run_specified_test_cases(cases, possible_test_cases, &config)?; + run_specified_test_cases(cases, &config).await?; } None => { info!("Running all handled test cases."); - run_all_test_cases(possible_test_cases, &config)?; + run_all_testcases(&config).await?; } }; Ok(()) @@ -33,50 +32,20 @@ fn init_env() { env_logger::init(); } -/// Runs all handled test cases in sequence. -fn run_all_test_cases( - possible_test_cases: PossibleTestCases, - config: &Config, -) -> anyhow::Result<()> { - for (test_name, test_case) in possible_test_cases { - run(test_case, test_name, config)?; - } - Ok(()) -} - /// Runs specified test cases in sequence. /// Checks whether each provided test case is valid. -fn run_specified_test_cases( - test_names: Vec, - possible_test_cases: PossibleTestCases, - config: &Config, -) -> anyhow::Result<()> { +async fn run_specified_test_cases(test_names: Vec, config: &Config) -> anyhow::Result<()> { for test_name in test_names { - if let Some(idx) = possible_test_cases - .iter() - .position(|&(name, _)| name == test_name) - { - let (_, case) = possible_test_cases[idx]; - run(case, test_name.as_str(), config)?; - } else { - return Err(anyhow::anyhow!(format!( - "Provided test case '{}' is not handled.", - test_name - ))); - } + run(&test_name, config).await?; } Ok(()) } /// Runs single test case. Allows for a generic return type. -fn run( - testcase: fn(&Config) -> anyhow::Result, - name: &str, - config: &Config, -) -> anyhow::Result<()> { +async fn run(name: &str, config: &Config) -> anyhow::Result<()> { info!("Running test: {}", name); let start = Instant::now(); - testcase(config).map(|_| { + run_testcase(name, config).await.map(|_| { let elapsed = Instant::now().duration_since(start); println!("Ok! Elapsed time {}ms", elapsed.as_millis()); }) diff --git a/e2e-tests/src/rewards.rs b/e2e-tests/src/rewards.rs index ea87a52ced..ad3ef85845 100644 --- a/e2e-tests/src/rewards.rs +++ b/e2e-tests/src/rewards.rs @@ -1,19 +1,22 @@ use std::collections::{HashMap, HashSet}; use aleph_client::{ - account_from_keypair, balances_batch_transfer, balances_transfer, bond_extra_stake, - change_validators, get_block_hash, get_committee_seats, get_current_session, get_era, - get_era_reward_points, get_era_validators, get_exposure, get_session_first_block, - get_session_period, get_validator_block_count, rotate_keys, set_keys, wait_for_at_least_era, - wait_for_at_least_session, wait_for_finalized_block, wait_for_next_era, AccountId, ReadStorage, - RewardPoint, SessionKeys, SignedConnection, XtStatus, + account_from_keypair, + pallets::{ + author::AuthorRpc, + balances::{BalanceUserApi, BalanceUserBatchExtApi}, + elections::{ElectionsApi, ElectionsSudoApi}, + session::{SessionApi, SessionUserApi}, + staking::{StakingApi, StakingUserApi}, + }, + primitives::{CommitteeSeats, EraValidators}, + utility::BlocksApi, + waiting::{AlephWaiting, BlockStatus, WaitingExt}, + AccountId, SignedConnection, TxStatus, }; use log::{debug, info}; use pallet_elections::LENIENT_THRESHOLD; -use pallet_staking::Exposure; -use primitives::{ - Balance, BlockHash, CommitteeSeats, EraIndex, EraValidators, SessionIndex, TOKEN, -}; +use primitives::{Balance, BlockHash, EraIndex, SessionIndex, TOKEN}; use sp_runtime::Perquintill; use crate::{ @@ -25,50 +28,55 @@ const COMMITTEE_SEATS: CommitteeSeats = CommitteeSeats { reserved_seats: 2, non_reserved_seats: 2, }; +type RewardPoint = u32; /// Changes session_keys used by a given `controller` to some `zero`/invalid value, /// making it impossible to create new legal blocks. -pub fn set_invalid_keys_for_validator( +pub async fn set_invalid_keys_for_validator( controller_connection: &SignedConnection, ) -> anyhow::Result<()> { - const ZERO_SESSION_KEYS: SessionKeys = SessionKeys { - aura: [0; 32], - aleph: [0; 32], - }; + let zero_session_keys = [0; 64].to_vec().into(); - set_keys(controller_connection, ZERO_SESSION_KEYS, XtStatus::InBlock); // wait until our node is forced to use new keys, i.e. current session + 2 - let current_session = get_current_session(controller_connection); - wait_for_at_least_session(controller_connection, current_session + 2)?; + controller_connection + .set_keys(zero_session_keys, TxStatus::InBlock) + .await + .unwrap(); + controller_connection + .connection + .wait_for_n_sessions(2, BlockStatus::Best) + .await; Ok(()) } /// Rotates session_keys of a given `controller`, making it able to rejoin the `consensus`. -pub fn reset_validator_keys(controller_connection: &SignedConnection) -> anyhow::Result<()> { - let validator_keys = - rotate_keys(controller_connection).expect("Failed to retrieve keys from chain"); - set_keys(controller_connection, validator_keys, XtStatus::InBlock); +pub async fn reset_validator_keys(controller_connection: &SignedConnection) -> anyhow::Result<()> { + let validator_keys = controller_connection.connection.author_rotate_keys().await; + controller_connection + .set_keys(validator_keys, TxStatus::InBlock) + .await + .unwrap(); // wait until our node is forced to use new keys, i.e. current session + 2 - let current_session = get_current_session(controller_connection); - wait_for_at_least_session(controller_connection, current_session + 2)?; + controller_connection + .connection + .wait_for_n_sessions(2, BlockStatus::Best) + .await; Ok(()) } -pub fn download_exposure( +pub async fn download_exposure( connection: &SignedConnection, era: EraIndex, account_id: &AccountId, beginning_of_session_block_hash: BlockHash, ) -> Balance { - let exposure: Exposure = get_exposure( - connection, - era, - account_id, - Some(beginning_of_session_block_hash), - ); + let exposure = connection + .connection + .get_exposure(era, account_id, Some(beginning_of_session_block_hash)) + .await; info!( "Validator {} has own exposure of {} and total of {}.", account_id, exposure.own, exposure.total @@ -96,11 +104,12 @@ fn check_rewards( .map(|(_, reward)| reward) .sum(); - for (account, reward) in validator_reward_points { - let retrieved_reward = *retrieved_reward_points.get(&account).unwrap_or_else(|| { + for (account, reward) in &validator_reward_points { + let reward = *reward; + let retrieved_reward = *retrieved_reward_points.get(account).unwrap_or_else(|| { panic!( - "missing account={} in retrieved collection of reward points", - account + "missing account={} in retrieved collection of reward points {:?}", + account, validator_reward_points ) }); @@ -121,18 +130,18 @@ fn check_rewards( Ok(()) } -fn get_node_performance( +async fn get_node_performance( connection: &SignedConnection, account_id: &AccountId, before_end_of_session_block_hash: BlockHash, blocks_to_produce_per_session: u32, ) -> f64 { - let block_count = get_validator_block_count( - connection, - account_id, - Some(before_end_of_session_block_hash), - ) - .unwrap_or(0); + let block_count = connection + .connection + .get_validator_block_count(account_id.clone(), Some(before_end_of_session_block_hash)) + .await + .unwrap_or_default(); + info!( "Block count for validator {} is {:?}, block hash is {}.", account_id, block_count, before_end_of_session_block_hash @@ -150,7 +159,7 @@ fn get_node_performance( lenient_performance } -pub fn check_points( +pub async fn check_points( connection: &SignedConnection, session: SessionIndex, era: EraIndex, @@ -159,19 +168,34 @@ pub fn check_points( members_per_session: u32, max_relative_difference: f64, ) -> anyhow::Result<()> { - let session_period = get_session_period(connection); + let session_period = connection.connection.get_session_period().await; info!("Era: {} | session: {}.", era, session); let beginning_of_session_block = session * session_period; let end_of_session_block = beginning_of_session_block + session_period; info!("Waiting for block: {}.", end_of_session_block); - wait_for_finalized_block(connection, end_of_session_block)?; - - let beginning_of_session_block_hash = get_block_hash(connection, beginning_of_session_block); - let end_of_session_block_hash = get_block_hash(connection, end_of_session_block); - let before_end_of_session_block_hash = get_block_hash(connection, end_of_session_block - 1); - info!("End-of-session block hash: {}.", end_of_session_block_hash); + connection + .connection + .wait_for_block(|n| n >= end_of_session_block, BlockStatus::Finalized) + .await; + + let beginning_of_session_block_hash = connection + .connection + .get_block_hash(beginning_of_session_block) + .await; + let end_of_session_block_hash = connection + .connection + .get_block_hash(end_of_session_block) + .await; + let before_end_of_session_block_hash = connection + .connection + .get_block_hash(end_of_session_block - 1) + .await; + info!( + "End-of-session block hash: {:?}.", + end_of_session_block_hash + ); info!("Members per session: {}.", members_per_session); @@ -182,15 +206,21 @@ pub fn check_points( ); // get points stored by the Staking pallet - let validator_reward_points_current_era = - get_era_reward_points(connection, era, Some(end_of_session_block_hash)) - .unwrap_or_default() - .individual; - - let validator_reward_points_previous_session = - get_era_reward_points(connection, era, Some(beginning_of_session_block_hash)) + let validator_reward_points_current_era = connection + .connection + .get_era_reward_points(era, end_of_session_block_hash) + .await + .unwrap_or_default() + .individual; + + let validator_reward_points_previous_session = HashMap::::from_iter( + connection + .connection + .get_era_reward_points(era, beginning_of_session_block_hash) + .await .unwrap_or_default() - .individual; + .individual, + ); let validator_reward_points_current_session: HashMap = validator_reward_points_current_era @@ -209,27 +239,38 @@ pub fn check_points( }) .collect(); - let members_uptime = members.into_iter().map(|account_id| { - ( + let mut members_uptime = vec![]; + for account_id in members.into_iter() { + members_uptime.push(( account_id.clone(), get_node_performance( connection, &account_id, - before_end_of_session_block_hash, + before_end_of_session_block_hash.unwrap(), blocks_to_produce_per_session, - ), - ) - }); + ) + .await, + )); + } let members_bench_uptime = members_bench .into_iter() .map(|account_id| (account_id, 1.0)); - let mut reward_points: HashMap<_, _> = members_uptime.chain(members_bench_uptime).collect(); + let mut reward_points: HashMap<_, _> = members_uptime + .into_iter() + .chain(members_bench_uptime) + .collect(); + let members_count = reward_points.len() as f64; for (account_id, reward_points) in reward_points.iter_mut() { - let exposure = - download_exposure(connection, era, account_id, beginning_of_session_block_hash); + let exposure = download_exposure( + connection, + era, + account_id, + beginning_of_session_block_hash.unwrap(), + ) + .await; *reward_points *= exposure as f64 / members_count; } @@ -240,24 +281,22 @@ pub fn check_points( ) } -pub fn get_era_for_session(connection: &C, session: SessionIndex) -> EraIndex { - let session_first_block = get_session_first_block(connection, session); - get_era(connection, Some(session_first_block)) -} - -pub fn setup_validators( +pub async fn setup_validators( config: &Config, ) -> anyhow::Result<(EraValidators, CommitteeSeats, SessionIndex)> { - let root_connection = config.create_root_connection(); + let root_connection = config.create_root_connection().await; // we need to wait for at least era 1 since some of the storage items are not available at era 0 - wait_for_at_least_era(&root_connection, 1)?; + root_connection + .connection + .wait_for_n_eras(1, BlockStatus::Best) + .await; let seats = COMMITTEE_SEATS; let members_seats = seats.reserved_seats + seats.non_reserved_seats; let members_seats = members_seats.try_into().unwrap(); let members: Vec<_> = get_validators_keys(config) .iter() - .map(account_from_keypair) + .map(|kp| account_from_keypair(kp.signer())) .collect(); let members_size = members.len(); @@ -270,10 +309,20 @@ pub fn setup_validators( let reserved_members = &members[0..reserved_size]; let non_reserved_members = &members[reserved_size..]; - let session = get_current_session(&root_connection); - let network_validators = get_era_validators(&root_connection, session); - let first_block_in_session = get_session_first_block(&root_connection, session); - let network_seats = get_committee_seats(&root_connection, Some(first_block_in_session)); + let session = root_connection.connection.get_session(None).await; + let network_validators = root_connection + .connection + .get_current_era_validators(None) + .await; + let first_block_in_session = root_connection + .connection + .first_block_of_session(session) + .await + .unwrap(); + let network_seats = root_connection + .connection + .get_committee_seats(Some(first_block_in_session)) + .await; let era_validators = EraValidators { reserved: reserved_members.to_vec(), @@ -285,24 +334,38 @@ pub fn setup_validators( return Ok((era_validators, seats, session)); } - change_validators( - &root_connection, - Some(reserved_members.into()), - Some(non_reserved_members.into()), - Some(seats), - XtStatus::Finalized, - ); - - wait_for_next_era(&root_connection)?; - let session = get_current_session(&root_connection); - - let network_validators = get_era_validators(&root_connection, session); + info!("changing validators to {:?}", era_validators); + root_connection + .change_validators( + Some(reserved_members.into()), + Some(non_reserved_members.into()), + Some(seats.clone()), + TxStatus::Finalized, + ) + .await?; + + root_connection + .connection + .wait_for_n_eras(1, BlockStatus::Best) + .await; + let session = root_connection.connection.get_session(None).await; + + let first_block_in_session = root_connection + .connection + .first_block_of_session(session) + .await; + let network_validators = root_connection + .connection + .get_current_era_validators(first_block_in_session) + .await; let reserved: HashSet<_> = era_validators.reserved.iter().cloned().collect(); let network_reserved: HashSet<_> = network_validators.reserved.into_iter().collect(); let non_reserved: HashSet<_> = era_validators.non_reserved.iter().cloned().collect(); let network_non_reserved: HashSet<_> = network_validators.non_reserved.into_iter().collect(); - let first_block_in_session = get_session_first_block(&root_connection, session); - let network_seats = get_committee_seats(&root_connection, Some(first_block_in_session)); + let network_seats = root_connection + .connection + .get_committee_seats(first_block_in_session) + .await; assert_eq!(reserved, network_reserved); assert_eq!(non_reserved, network_non_reserved); @@ -311,9 +374,9 @@ pub fn setup_validators( Ok((era_validators, seats, session)) } -pub fn validators_bond_extra_stakes(config: &Config, additional_stakes: &[Balance]) { +pub async fn validators_bond_extra_stakes(config: &Config, additional_stakes: &[Balance]) { let node = &config.node; - let root_connection = config.create_root_connection(); + let root_connection = config.create_root_connection().await; let accounts_keys: Vec = get_validators_seeds(config) .into_iter() @@ -322,25 +385,30 @@ pub fn validators_bond_extra_stakes(config: &Config, additional_stakes: &[Balanc let controller_accounts: Vec = accounts_keys .iter() - .map(|account_keys| account_from_keypair(&account_keys.controller)) + .map(|account_keys| account_from_keypair(account_keys.controller.signer())) .collect(); // funds to cover fees - balances_batch_transfer(&root_connection.as_signed(), controller_accounts, TOKEN); - - accounts_keys.iter().zip(additional_stakes.iter()).for_each( - |(account_keys, additional_stake)| { - let validator_id = account_from_keypair(&account_keys.validator); - - // Additional TOKEN to cover fees - balances_transfer( - &root_connection.as_signed(), - &validator_id, - *additional_stake + TOKEN, - XtStatus::Finalized, - ); - let stash_connection = SignedConnection::new(node, account_keys.validator.clone()); - bond_extra_stake(&stash_connection, *additional_stake); - }, - ); + root_connection + .as_signed() + .batch_transfer(&controller_accounts, TOKEN, TxStatus::Finalized) + .await + .unwrap(); + + for (account_keys, additional_stake) in accounts_keys.into_iter().zip(additional_stakes.iter()) + { + let validator_id = account_from_keypair(account_keys.validator.signer()); + + // Additional TOKEN to cover fees + root_connection + .as_signed() + .transfer(validator_id, *additional_stake + TOKEN, TxStatus::Finalized) + .await + .unwrap(); + let stash_connection = SignedConnection::new(node.clone(), account_keys.validator).await; + stash_connection + .bond_extra_stake(*additional_stake, TxStatus::Finalized) + .await + .unwrap(); + } } diff --git a/e2e-tests/src/test/ban.rs b/e2e-tests/src/test/ban.rs index ea206ca7a8..8047aac627 100644 --- a/e2e-tests/src/test/ban.rs +++ b/e2e-tests/src/test/ban.rs @@ -1,21 +1,26 @@ use aleph_client::{ - ban_from_committee, change_ban_config, get_current_era, get_current_era_validators, - get_current_session, get_next_era_non_reserved_validators, get_next_era_reserved_validators, - get_underperformed_validator_session_count, wait_for_at_least_session, SignedConnection, - XtStatus, + pallets::{ + elections::{ElectionsApi, ElectionsSudoApi}, + session::SessionApi, + staking::StakingApi, + }, + primitives::{BanInfo, BanReason}, + sp_runtime::bounded::bounded_vec::BoundedVec, + waiting::{BlockStatus, WaitingExt}, + SignedConnection, TxStatus, }; use log::info; use primitives::{ - BanInfo, BanReason, BoundedVec, SessionCount, DEFAULT_BAN_MINIMAL_EXPECTED_PERFORMANCE, - DEFAULT_BAN_SESSION_COUNT_THRESHOLD, DEFAULT_CLEAN_SESSION_COUNTER_DELAY, + SessionCount, DEFAULT_BAN_MINIMAL_EXPECTED_PERFORMANCE, DEFAULT_BAN_SESSION_COUNT_THRESHOLD, + DEFAULT_CLEAN_SESSION_COUNTER_DELAY, }; use crate::{ accounts::{get_validator_seed, NodeKeys}, ban::{ check_ban_config, check_ban_event, check_ban_info_for_validator, - check_underperformed_count_for_sessions, check_underperformed_validator_session_count, - check_validators, setup_test, + check_underperformed_count_for_sessions, check_underperformed_validator_reason, + check_underperformed_validator_session_count, check_validators, setup_test, }, rewards::set_invalid_keys_for_validator, Config, @@ -26,90 +31,106 @@ const SESSIONS_TO_CHECK: SessionCount = 5; const VALIDATOR_TO_DISABLE_NON_RESERVED_INDEX: u32 = 0; const VALIDATOR_TO_DISABLE_OVERALL_INDEX: u32 = 2; // Address for //2 (Node2). Depends on the infrastructure setup. -const NODE_TO_DISABLE_ADDRESS: &str = "127.0.0.1:9945"; +const NODE_TO_DISABLE_ADDRESS: &str = "ws://127.0.0.1:9945"; const SESSIONS_TO_MEET_BAN_THRESHOLD: SessionCount = 4; const VALIDATOR_TO_MANUALLY_BAN_NON_RESERVED_INDEX: u32 = 1; const MANUAL_BAN_REASON: &str = "Manual ban reason"; - const MIN_EXPECTED_PERFORMANCE: u8 = 100; -fn disable_validator(validator_address: &str, validator_seed: u32) -> anyhow::Result<()> { +async fn disable_validator(validator_address: &str, validator_seed: u32) -> anyhow::Result<()> { let validator_seed = get_validator_seed(validator_seed); let stash_controller = NodeKeys::from(validator_seed); let controller_key_to_disable = stash_controller.controller; // This connection has to be set up with the controller key. - let connection_to_disable = SignedConnection::new(validator_address, controller_key_to_disable); + let connection_to_disable = + SignedConnection::new(validator_address.to_string(), controller_key_to_disable).await; - set_invalid_keys_for_validator(&connection_to_disable) + set_invalid_keys_for_validator(&connection_to_disable).await } /// Runs a chain, sets up a committee and validators. Sets an incorrect key for one of the /// validators. Waits for the offending validator to hit the ban threshold of sessions without /// producing blocks. Verifies that the offending validator has in fact been banned out for the /// appropriate reason. -pub fn ban_automatic(config: &Config) -> anyhow::Result<()> { - let (root_connection, reserved_validators, non_reserved_validators, _) = setup_test(config)?; +pub async fn ban_automatic(config: &Config) -> anyhow::Result<()> { + let (root_connection, reserved_validators, non_reserved_validators, _) = + setup_test(config).await?; // Check current era validators. check_validators( - &root_connection, &reserved_validators, &non_reserved_validators, - get_current_era_validators, + root_connection + .connection + .get_current_era_validators(None) + .await, ); check_ban_config( - &root_connection, + &root_connection.connection, DEFAULT_BAN_MINIMAL_EXPECTED_PERFORMANCE, DEFAULT_BAN_SESSION_COUNT_THRESHOLD, DEFAULT_CLEAN_SESSION_COUNTER_DELAY, - ); + ) + .await; let validator_to_disable = &non_reserved_validators[VALIDATOR_TO_DISABLE_NON_RESERVED_INDEX as usize]; info!("Validator to disable: {}", validator_to_disable); - check_underperformed_validator_session_count(&root_connection, validator_to_disable, &0, None); - check_ban_info_for_validator(&root_connection, validator_to_disable, None); - - disable_validator(NODE_TO_DISABLE_ADDRESS, VALIDATOR_TO_DISABLE_OVERALL_INDEX)?; + check_underperformed_validator_session_count( + &root_connection.connection, + validator_to_disable, + 0, + ) + .await; + check_underperformed_validator_reason(&root_connection.connection, validator_to_disable, None) + .await; - let current_session = get_current_session(&root_connection); + disable_validator(NODE_TO_DISABLE_ADDRESS, VALIDATOR_TO_DISABLE_OVERALL_INDEX).await?; - wait_for_at_least_session( - &root_connection, - current_session + SESSIONS_TO_MEET_BAN_THRESHOLD, - )?; + root_connection + .connection + .wait_for_n_sessions(SESSIONS_TO_MEET_BAN_THRESHOLD, BlockStatus::Best) + .await; // The session count for underperforming validators is reset to 0 immediately on reaching the // threshold. - check_underperformed_validator_session_count(&root_connection, validator_to_disable, &0, None); + check_underperformed_validator_session_count( + &root_connection.connection, + validator_to_disable, + 0, + ) + .await; let reason = BanReason::InsufficientUptime(DEFAULT_BAN_SESSION_COUNT_THRESHOLD); - let start = get_current_era(&root_connection) + 1; + let start = root_connection.connection.get_current_era(None).await + 1; let expected_ban_info = BanInfo { reason, start }; - check_ban_info_for_validator( - &root_connection, + check_underperformed_validator_reason( + &root_connection.connection, validator_to_disable, Some(&expected_ban_info), - ); + ) + .await; let expected_non_reserved = &non_reserved_validators[(VALIDATOR_TO_DISABLE_NON_RESERVED_INDEX + 1) as usize..]; let expected_banned_validators = vec![(validator_to_disable.clone(), expected_ban_info)]; - check_ban_event(&root_connection, &expected_banned_validators)?; + check_ban_event(&root_connection.connection, &expected_banned_validators).await?; // Check current validators. check_validators( - &root_connection, &reserved_validators, expected_non_reserved, - get_current_era_validators, + root_connection + .connection + .get_current_era_validators(None) + .await, ); Ok(()) @@ -118,23 +139,27 @@ pub fn ban_automatic(config: &Config) -> anyhow::Result<()> { /// Runs a chain, sets up a committee and validators. Manually bans one of the validators /// from the committee with a specific reason. Verifies that validator marked for ban has in /// fact been banned for the given reason. -pub fn ban_manual(config: &Config) -> anyhow::Result<()> { - let (root_connection, reserved_validators, non_reserved_validators, _) = setup_test(config)?; +pub async fn ban_manual(config: &Config) -> anyhow::Result<()> { + let (root_connection, reserved_validators, non_reserved_validators, _) = + setup_test(config).await?; // Check current era validators. check_validators( - &root_connection, &reserved_validators, &non_reserved_validators, - get_current_era_validators, + root_connection + .connection + .get_current_era_validators(None) + .await, ); check_ban_config( - &root_connection, + &root_connection.connection, DEFAULT_BAN_MINIMAL_EXPECTED_PERFORMANCE, DEFAULT_BAN_SESSION_COUNT_THRESHOLD, DEFAULT_CLEAN_SESSION_COUNTER_DELAY, - ); + ) + .await; let validator_to_manually_ban = &non_reserved_validators[VALIDATOR_TO_MANUALLY_BAN_NON_RESERVED_INDEX as usize]; @@ -142,38 +167,37 @@ pub fn ban_manual(config: &Config) -> anyhow::Result<()> { info!("Validator to manually ban: {}", validator_to_manually_ban); check_underperformed_validator_session_count( - &root_connection, - validator_to_manually_ban, - &0, - None, - ); - check_ban_info_for_validator(&root_connection, validator_to_manually_ban, None); - - let bounded_reason: BoundedVec<_, _> = MANUAL_BAN_REASON - .as_bytes() - .to_vec() - .try_into() - .expect("Incorrect manual ban reason format!"); - - ban_from_committee( - &root_connection, + &root_connection.connection, validator_to_manually_ban, - &bounded_reason, - XtStatus::InBlock, - ); + 0, + ) + .await; + check_ban_info_for_validator(&root_connection.connection, validator_to_manually_ban, None) + .await; + + let bounded_reason = BoundedVec(MANUAL_BAN_REASON.as_bytes().to_vec()); + + root_connection + .ban_from_committee( + validator_to_manually_ban.clone(), + bounded_reason.0.clone(), + TxStatus::InBlock, + ) + .await?; let reason = BanReason::OtherReason(bounded_reason); - let start = get_current_era(&root_connection) + 1; + let start = root_connection.connection.get_current_era(None).await + 1; let expected_ban_info = BanInfo { reason, start }; check_ban_info_for_validator( - &root_connection, + &root_connection.connection, validator_to_manually_ban, Some(&expected_ban_info), - ); + ) + .await; let expected_banned_validators = vec![(validator_to_manually_ban.clone(), expected_ban_info)]; - check_ban_event(&root_connection, &expected_banned_validators)?; + check_ban_event(&root_connection.connection, &expected_banned_validators).await?; let expected_non_reserved: Vec<_> = non_reserved_validators .clone() @@ -183,10 +207,12 @@ pub fn ban_manual(config: &Config) -> anyhow::Result<()> { // Check current validators. check_validators( - &root_connection, &reserved_validators, &expected_non_reserved, - get_current_era_validators, + root_connection + .connection + .get_current_era_validators(None) + .await, ); Ok(()) @@ -196,35 +222,41 @@ pub fn ban_manual(config: &Config) -> anyhow::Result<()> { /// underperformed_session_count_threshold to 3. /// Disable one non_reserved validator. Check if the disabled validator is still in the committee /// and his underperformed session count is less or equal to 2. -pub fn clearing_session_count(config: &Config) -> anyhow::Result<()> { - let (root_connection, reserved_validators, non_reserved_validators, _) = setup_test(config)?; - - change_ban_config( - &root_connection, - None, - Some(3), - Some(2), - None, - XtStatus::InBlock, - ); +pub async fn clearing_session_count(config: &Config) -> anyhow::Result<()> { + let (root_connection, reserved_validators, non_reserved_validators, _) = + setup_test(config).await?; + + root_connection + .set_ban_config(None, Some(3), Some(2), None, TxStatus::InBlock) + .await?; let validator_to_disable = &non_reserved_validators[VALIDATOR_TO_DISABLE_NON_RESERVED_INDEX as usize]; - disable_validator(NODE_TO_DISABLE_ADDRESS, VALIDATOR_TO_DISABLE_OVERALL_INDEX)?; - - info!("Disabling validator {}", validator_to_disable); - let current_session = get_current_session(&root_connection); + info!(target: "aleph-client", "Disabling validator {}", validator_to_disable); + disable_validator(NODE_TO_DISABLE_ADDRESS, VALIDATOR_TO_DISABLE_OVERALL_INDEX).await?; - wait_for_at_least_session(&root_connection, current_session + 5)?; + root_connection + .connection + .wait_for_n_sessions(5, BlockStatus::Best) + .await; - let underperformed_validator_session_count = - get_underperformed_validator_session_count(&root_connection, validator_to_disable, None); + let underperformed_validator_session_count = root_connection + .connection + .get_underperformed_validator_session_count(validator_to_disable.clone(), None) + .await + .unwrap_or_default(); // it only has to be ge than 0 and should be cleared before reaching values larger than 3. assert!(underperformed_validator_session_count <= 2); - let next_era_reserved_validators = get_next_era_reserved_validators(&root_connection); - let next_era_non_reserved_validators = get_next_era_non_reserved_validators(&root_connection); + let next_era_reserved_validators = root_connection + .connection + .get_next_era_reserved_validators(None) + .await; + let next_era_non_reserved_validators = root_connection + .connection + .get_next_era_non_reserved_validators(None) + .await; // checks no one was banned assert_eq!(next_era_reserved_validators, reserved_validators); @@ -236,51 +268,57 @@ pub fn clearing_session_count(config: &Config) -> anyhow::Result<()> { /// Runs a chain, sets up a committee and validators. Changes the ban config to require 100% /// performance. Checks that each validator has all the sessions in which they were chosen for the /// committee marked as ones in which they underperformed. -pub fn ban_threshold(config: &Config) -> anyhow::Result<()> { +pub async fn ban_threshold(config: &Config) -> anyhow::Result<()> { let (root_connection, reserved_validators, non_reserved_validators, seats) = - setup_test(config)?; + setup_test(config).await?; // Check current era validators. check_validators( - &root_connection, &reserved_validators, &non_reserved_validators, - get_current_era_validators, + root_connection + .connection + .get_current_era_validators(None) + .await, ); check_ban_config( - &root_connection, + &root_connection.connection, DEFAULT_BAN_MINIMAL_EXPECTED_PERFORMANCE, DEFAULT_BAN_SESSION_COUNT_THRESHOLD, DEFAULT_CLEAN_SESSION_COUNTER_DELAY, - ); + ) + .await; // Change ban config to require prohibitively high performance from all validators. - change_ban_config( - &root_connection, - Some(MIN_EXPECTED_PERFORMANCE), - None, - None, - None, - XtStatus::InBlock, - ); - - let ban_config_change_session = get_current_session(&root_connection); + root_connection + .set_ban_config( + Some(MIN_EXPECTED_PERFORMANCE), + None, + None, + None, + TxStatus::InBlock, + ) + .await?; + + let ban_config_change_session = root_connection.connection.get_session(None).await; let check_start_session = ban_config_change_session + 1; let check_end_session = check_start_session + SESSIONS_TO_CHECK - 1; - - // Wait until all the sessions to be checked are in the past. - wait_for_at_least_session(&root_connection, check_end_session + 1)?; + root_connection + .connection + .wait_for_n_sessions(SESSIONS_TO_CHECK, BlockStatus::Finalized) + .await; check_underperformed_count_for_sessions( - &root_connection, + &root_connection.connection, &reserved_validators, &non_reserved_validators, &seats, check_start_session, check_end_session, DEFAULT_BAN_SESSION_COUNT_THRESHOLD, - )?; + ) + .await?; Ok(()) } diff --git a/e2e-tests/src/test/electing_validators.rs b/e2e-tests/src/test/electing_validators.rs index fa5f27164d..60d78e7f63 100644 --- a/e2e-tests/src/test/electing_validators.rs +++ b/e2e-tests/src/test/electing_validators.rs @@ -1,18 +1,19 @@ use std::collections::BTreeSet; use aleph_client::{ - change_validators, get_current_session, get_current_validator_count, get_current_validators, - get_eras_stakers_storage_key, get_minimum_validator_count, get_stakers_as_storage_keys, - get_stakers_as_storage_keys_from_storage_key, staking_chill_validators, - wait_for_full_era_completion, wait_for_session, AccountId, AnyConnection, RootConnection, - SignedConnection, XtStatus, + pallets::{ + elections::ElectionsSudoApi, + session::SessionApi, + staking::{StakingApi, StakingRawApi, StakingUserApi}, + }, + primitives::CommitteeSeats, + waiting::{BlockStatus, WaitingExt}, + AccountId, Connection, KeyPair, Pair, SignedConnection, TxStatus, }; use log::info; -use primitives::{CommitteeSeats, EraIndex}; -use sp_core::storage::StorageKey; +use primitives::EraIndex; use crate::{ - accounts::get_sudo_key, validators::{prepare_validators, setup_accounts}, Config, }; @@ -20,19 +21,23 @@ use crate::{ /// Verify that `pallet_staking::ErasStakers` contains all target validators. /// /// We have to do it by comparing keys in storage trie. -fn assert_validators_are_elected_stakers( - connection: &C, +async fn assert_validators_are_elected_stakers( + connection: &Connection, current_era: EraIndex, - expected_validators_as_keys: &BTreeSet, + expected_validators_as_keys: Vec>, ) { - let storage_key = get_eras_stakers_storage_key(current_era); - let stakers = - get_stakers_as_storage_keys_from_storage_key(connection, current_era, storage_key); + let stakers = connection + .get_stakers_storage_keys(current_era, None) + .await + .into_iter() + .map(|key| key.0); + let stakers_tree = BTreeSet::from_iter(stakers); + let expected_validators_as_keys = BTreeSet::from_iter(expected_validators_as_keys); assert_eq!( - *expected_validators_as_keys, stakers, + expected_validators_as_keys, stakers_tree, "Expected another set of staking validators.\n\tExpected: {:?}\n\tActual: {:?}", - expected_validators_as_keys, stakers + expected_validators_as_keys, stakers_tree ); } @@ -54,23 +59,23 @@ fn min_num_sessions_to_see_all_non_reserved_validators( /// Verify that all target validators are included `pallet_session::Validators` across a few /// consecutive sessions. -fn assert_validators_are_used_as_authorities( - connection: &C, +async fn assert_validators_are_used_as_authorities( + connection: &Connection, expected_authorities: &BTreeSet, min_num_sessions: u32, ) { let mut authorities = BTreeSet::new(); for _ in 0..min_num_sessions { - let current_session = get_current_session(connection); + let current_session = connection.get_session(None).await; info!("Reading authorities in session {}", current_session); - let current_authorities = get_current_validators(connection); + let current_authorities = connection.get_validators(None).await; for ca in current_authorities.into_iter() { authorities.insert(ca); } - wait_for_session(connection, current_session + 1).expect("Couldn't wait for next session"); + connection.wait_for_n_sessions(1, BlockStatus::Best).await; } assert_eq!( @@ -80,8 +85,8 @@ fn assert_validators_are_used_as_authorities( ); } -fn assert_enough_validators(connection: &C, min_validator_count: u32) { - let current_validator_count = get_current_validator_count(connection); +async fn assert_enough_validators(connection: &Connection, min_validator_count: u32) { + let current_validator_count = connection.get_validators(None).await.len() as u32; assert!( current_validator_count >= min_validator_count, "{} validators present. Staking enforces a minimum of {} validators.", @@ -117,6 +122,14 @@ fn assert_enough_validators_left_after_chilling( ); } +async fn chill_validators(node: &str, chilling: Vec) { + for validator in chilling.into_iter() { + info!("Chilling validator {:?}", validator.signer().public()); + let connection = SignedConnection::new(node.to_string(), validator).await; + connection.chill(TxStatus::InBlock).await.unwrap(); + } +} + /// 1. Setup `v` brand new validators (e.g. `v=6`) - `r` reserved (e.g. `r=3`) and `n` (e.g. `n=3`) /// non reserved. /// 2. Wait until they are in force. @@ -134,16 +147,18 @@ fn assert_enough_validators_left_after_chilling( /// parameter to set `MinimumValidatorCount` in the chain spec as the chain is set up. /// For this specific test case, we use `node-count = 6` and `min-validator-count = 4`, which /// satisfies the outlined conditions. -pub fn authorities_are_staking(config: &Config) -> anyhow::Result<()> { +pub async fn authorities_are_staking(config: &Config) -> anyhow::Result<()> { let node = &config.node; - let sudo = get_sudo_key(config); - let root_connection = RootConnection::new(node, sudo); + let root_connection = config.create_root_connection().await; const RESERVED_SEATS_DEFAULT: u32 = 3; const NON_RESERVED_SEATS_DEFAULT: u32 = 3; // `MinimumValidatorCount` from `pallet_staking`, set in chain spec. - let min_validator_count = get_minimum_validator_count(&root_connection); + let min_validator_count = root_connection + .connection + .get_minimum_validator_count(None) + .await; let reserved_seats = match config.test_case_params.reserved_seats { Some(seats) => seats, @@ -158,17 +173,18 @@ pub fn authorities_are_staking(config: &Config) -> anyhow::Result<()> { const RESERVED_TO_CHILL_COUNT: u32 = 1; const NON_RESERVED_TO_CHILL_COUNT: u32 = 1; - assert_enough_validators(&root_connection, min_validator_count); + assert_enough_validators(&root_connection.connection, min_validator_count).await; let desired_validator_count = reserved_seats + non_reserved_seats; let accounts = setup_accounts(desired_validator_count); - prepare_validators(&root_connection.as_signed(), node, &accounts); + prepare_validators(&root_connection.as_signed(), node, &accounts).await; info!("New validators are set up"); let reserved_validators = accounts.get_stash_accounts()[..reserved_seats as usize].to_vec(); - let chilling_reserved = accounts.get_controller_keys()[0].clone(); // first reserved validator + let chilling_reserved = KeyPair::new(accounts.get_controller_raw_keys()[0].clone()); // first reserved validator let non_reserved_validators = accounts.get_stash_accounts()[reserved_seats as usize..].to_vec(); - let chilling_non_reserved = accounts.get_controller_keys()[reserved_seats as usize].clone(); // first non-reserved validator + let chilling_non_reserved = + KeyPair::new(accounts.get_controller_raw_keys()[reserved_seats as usize].clone()); // first non-reserved validator let reserved_count = reserved_validators.len() as u32; let non_reserved_count = non_reserved_validators.len() as u32; @@ -192,42 +208,63 @@ pub fn authorities_are_staking(config: &Config) -> anyhow::Result<()> { min_validator_count, ); - change_validators( - &root_connection, - Some(reserved_validators), - Some(non_reserved_validators), - Some(CommitteeSeats { - reserved_seats, - non_reserved_seats, - }), - XtStatus::Finalized, - ); + root_connection + .change_validators( + Some(reserved_validators), + Some(non_reserved_validators), + Some(CommitteeSeats { + reserved_seats, + non_reserved_seats, + }), + TxStatus::Finalized, + ) + .await?; + info!("Changed validators to a new set"); // We need any signed connection. - let connection = SignedConnection::new(node, accounts.get_stash_keys()[0].clone()); - - let current_era = wait_for_full_era_completion(&connection)?; + let connection = root_connection.as_signed(); + connection + .connection + .wait_for_n_eras(2, BlockStatus::Best) + .await; + let current_era = connection.connection.get_current_era(None).await; info!("New validators are in force (era: {})", current_era); assert_validators_are_elected_stakers( - &connection, + &connection.connection, current_era, - &get_stakers_as_storage_keys(&connection, accounts.get_stash_accounts(), current_era), - ); + connection + .connection + .get_stakers_storage_keys_from_accounts( + current_era, + accounts.get_stash_accounts(), + None, + ) + .await + .into_iter() + .map(|k| k.0) + .collect(), + ) + .await; let min_num_sessions = min_num_sessions_to_see_all_non_reserved_validators(non_reserved_count, non_reserved_seats); assert_validators_are_used_as_authorities( - &connection, + &connection.connection, &BTreeSet::from_iter(accounts.get_stash_accounts().clone().into_iter()), min_num_sessions, - ); + ) + .await; - staking_chill_validators(node, vec![chilling_reserved, chilling_non_reserved]); + chill_validators(node, vec![chilling_reserved, chilling_non_reserved]).await; - let current_era = wait_for_full_era_completion(&connection)?; + connection + .connection + .wait_for_n_eras(2, BlockStatus::Best) + .await; + let current_era = connection.connection.get_current_era(None).await; info!( "Subset of validators should be in force (era: {})", current_era @@ -238,15 +275,23 @@ pub fn authorities_are_staking(config: &Config) -> anyhow::Result<()> { left_stashes.remove(0); assert_validators_are_elected_stakers( - &connection, + &connection.connection, current_era, - &get_stakers_as_storage_keys(&connection, &left_stashes, current_era), - ); + connection + .connection + .get_stakers_storage_keys_from_accounts(current_era, &left_stashes, None) + .await + .into_iter() + .map(|k| k.0) + .collect(), + ) + .await; assert_validators_are_used_as_authorities( - &connection, + &connection.connection, &BTreeSet::from_iter(left_stashes.into_iter()), min_num_sessions, - ); + ) + .await; Ok(()) } diff --git a/e2e-tests/src/test/era_payout.rs b/e2e-tests/src/test/era_payout.rs index 11c3a191b4..9124fd403d 100644 --- a/e2e-tests/src/test/era_payout.rs +++ b/e2e-tests/src/test/era_payout.rs @@ -1,6 +1,7 @@ use aleph_client::{ - create_connection, get_active_era, get_payout_for_era, staking_force_new_era, - wait_for_next_era, wait_for_session, ReadStorage, XtStatus, + pallets::staking::{StakingApi, StakingSudoApi}, + waiting::{AlephWaiting, BlockStatus, WaitingExt}, + Connection, TxStatus, }; use primitives::{ staking::era_payout, Balance, EraIndex, DEFAULT_SESSIONS_PER_ERA, DEFAULT_SESSION_PERIOD, @@ -9,9 +10,9 @@ use primitives::{ use crate::Config; -pub fn era_payouts_calculated_correctly(config: &Config) -> anyhow::Result<()> { - normal_era_payout(config)?; - force_era_payout(config)?; +pub async fn era_payouts_calculated_correctly(config: &Config) -> anyhow::Result<()> { + normal_era_payout(config).await?; + force_era_payout(config).await?; Ok(()) } @@ -29,29 +30,40 @@ fn payout_within_two_block_delta(expected_payout: Balance, payout: Balance) { ); } -fn wait_to_second_era(connection: &C) -> EraIndex { - let active_era = get_active_era(connection); +async fn wait_to_second_era(connection: &Connection) -> EraIndex { + let active_era = connection.get_active_era(None).await; if active_era < 2 { - wait_for_next_era(connection).expect("Era is active"); - wait_for_next_era(connection).expect("Era is active"); + connection.wait_for_n_eras(2, BlockStatus::Best).await; } - get_active_era(connection) + connection.get_active_era(None).await } -fn force_era_payout(config: &Config) -> anyhow::Result<()> { - let root_connection = config.create_root_connection(); - let active_era = wait_to_second_era(&root_connection); - wait_for_next_era(&root_connection)?; +async fn force_era_payout(config: &Config) -> anyhow::Result<()> { + let root_connection = config.create_root_connection().await; + let active_era = wait_to_second_era(&root_connection.connection).await; + root_connection + .connection + .wait_for_n_eras(1, BlockStatus::Best) + .await; let active_era = active_era + 1; let starting_session = active_era * DEFAULT_SESSIONS_PER_ERA; - wait_for_session(&root_connection, starting_session + 1)?; + root_connection + .connection + .wait_for_session(starting_session + 1, BlockStatus::Best) + .await; // new era will start in the session `starting_session + 3` - staking_force_new_era(&root_connection, XtStatus::InBlock); - wait_for_session(&root_connection, starting_session + 3)?; - - let payout = get_payout_for_era(&root_connection, active_era); + root_connection.force_new_era(TxStatus::InBlock).await?; + root_connection + .connection + .wait_for_session(starting_session + 3, BlockStatus::Best) + .await; + + let payout = root_connection + .connection + .get_payout_for_era(active_era, None) + .await; let expected_payout = era_payout((3 * DEFAULT_SESSION_PERIOD) as u64 * MILLISECS_PER_BLOCK).0; payout_within_two_block_delta(expected_payout, payout); @@ -59,11 +71,14 @@ fn force_era_payout(config: &Config) -> anyhow::Result<()> { Ok(()) } -fn normal_era_payout(config: &Config) -> anyhow::Result<()> { - let connection = create_connection(&config.node); +async fn normal_era_payout(config: &Config) -> anyhow::Result<()> { + let root_connection = config.create_root_connection().await; - let active_era = wait_to_second_era(&connection); - let payout = get_payout_for_era(&connection, active_era - 1); + let active_era = wait_to_second_era(&root_connection.connection).await; + let payout = root_connection + .connection + .get_payout_for_era(active_era - 1, None) + .await; let expected_payout = era_payout( (DEFAULT_SESSIONS_PER_ERA * DEFAULT_SESSION_PERIOD) as u64 * MILLISECS_PER_BLOCK, ) diff --git a/e2e-tests/src/test/era_validators.rs b/e2e-tests/src/test/era_validators.rs index d5707f67fc..8be1c52db9 100644 --- a/e2e-tests/src/test/era_validators.rs +++ b/e2e-tests/src/test/era_validators.rs @@ -1,51 +1,66 @@ use aleph_client::{ - change_validators, get_current_block_number, get_current_era_non_reserved_validators, - get_current_era_reserved_validators, get_current_session, get_next_era_non_reserved_validators, - get_next_era_reserved_validators, wait_for_finalized_block, wait_for_full_era_completion, - wait_for_next_era, wait_for_session, AccountId, KeyPair, SignedConnection, XtStatus, + pallets::elections::{ElectionsApi, ElectionsSudoApi}, + primitives::CommitteeSeats, + utility::BlocksApi, + waiting::{AlephWaiting, BlockStatus, WaitingExt}, + AccountId, Connection, KeyPair, TxStatus, }; -use primitives::CommitteeSeats; use crate::{ - accounts::{account_ids_from_keys, get_validators_keys}, + accounts::{account_ids_from_keys, get_validators_raw_keys}, Config, }; fn get_initial_reserved_validators(config: &Config) -> Vec { - get_validators_keys(config)[..2].to_vec() + get_validators_raw_keys(config)[..2] + .iter() + .map(|k| KeyPair::new(k.clone())) + .collect() } fn get_initial_non_reserved_validators(config: &Config) -> Vec { - get_validators_keys(config)[2..].to_vec() + get_validators_raw_keys(config)[2..] + .iter() + .map(|k| KeyPair::new(k.clone())) + .collect() } fn get_new_reserved_validators(config: &Config) -> Vec { - get_validators_keys(config)[3..].to_vec() + get_validators_raw_keys(config)[3..] + .iter() + .map(|k| KeyPair::new(k.clone())) + .collect() } fn get_new_non_reserved_validators(config: &Config) -> Vec { - get_validators_keys(config)[..3].to_vec() + get_validators_raw_keys(config)[..3] + .iter() + .map(|k| KeyPair::new(k.clone())) + .collect() } -fn get_current_and_next_era_reserved_validators( - connection: &SignedConnection, +async fn get_current_and_next_era_reserved_validators( + connection: &Connection, ) -> (Vec, Vec) { - let stored_reserved = get_next_era_reserved_validators(connection); - let current_reserved = get_current_era_reserved_validators(connection); + let stored_reserved = connection.get_next_era_reserved_validators(None).await; + let current_reserved = connection.get_current_era_validators(None).await.reserved; (current_reserved, stored_reserved) } -fn get_current_and_next_era_non_reserved_validators( - connection: &SignedConnection, +async fn get_current_and_next_era_non_reserved_validators( + connection: &Connection, ) -> (Vec, Vec) { - let stored_non_reserved = get_next_era_non_reserved_validators(connection); - let current_non_reserved = get_current_era_non_reserved_validators(connection); + let stored_non_reserved = connection.get_next_era_non_reserved_validators(None).await; + let current_non_reserved = connection + .get_current_era_validators(None) + .await + .non_reserved; (current_non_reserved, stored_non_reserved) } -pub fn era_validators(config: &Config) -> anyhow::Result<()> { - let connection = config.get_first_signed_connection(); - let root_connection = config.create_root_connection(); +pub async fn era_validators(config: &Config) -> anyhow::Result<()> { + let connection = config.get_first_signed_connection().await; + let root_connection = config.create_root_connection().await; let initial_reserved_validators_keys = get_initial_reserved_validators(config); let initial_reserved_validators = account_ids_from_keys(&initial_reserved_validators_keys); @@ -60,36 +75,42 @@ pub fn era_validators(config: &Config) -> anyhow::Result<()> { let new_non_reserved_validators_keys = get_new_non_reserved_validators(config); let new_non_reserved_validators = account_ids_from_keys(&new_non_reserved_validators_keys); - change_validators( - &root_connection, - Some(initial_reserved_validators.clone()), - Some(initial_non_reserved_validators.clone()), - Some(CommitteeSeats { - reserved_seats: 2, - non_reserved_seats: 2, - }), - XtStatus::InBlock, - ); - wait_for_full_era_completion(&connection)?; - - change_validators( - &root_connection, - Some(new_reserved_validators.clone()), - Some(new_non_reserved_validators.clone()), - Some(CommitteeSeats { - reserved_seats: 2, - non_reserved_seats: 2, - }), - XtStatus::InBlock, - ); - - let current_session = get_current_session(&connection); - wait_for_session(&connection, current_session + 1)?; - + root_connection + .change_validators( + Some(initial_reserved_validators.clone()), + Some(initial_non_reserved_validators.clone()), + Some(CommitteeSeats { + reserved_seats: 2, + non_reserved_seats: 2, + }), + TxStatus::InBlock, + ) + .await?; + root_connection + .connection + .wait_for_n_eras(1, BlockStatus::Finalized) + .await; + + root_connection + .change_validators( + Some(new_reserved_validators.clone()), + Some(new_non_reserved_validators.clone()), + Some(CommitteeSeats { + reserved_seats: 2, + non_reserved_seats: 2, + }), + TxStatus::InBlock, + ) + .await?; + + root_connection + .connection + .wait_for_session(1, BlockStatus::Finalized) + .await; let (eras_reserved, stored_reserved) = - get_current_and_next_era_reserved_validators(&connection); + get_current_and_next_era_reserved_validators(&connection.connection).await; let (eras_non_reserved, stored_non_reserved) = - get_current_and_next_era_non_reserved_validators(&connection); + get_current_and_next_era_non_reserved_validators(&connection.connection).await; assert_eq!( stored_reserved, new_reserved_validators, @@ -109,12 +130,15 @@ pub fn era_validators(config: &Config) -> anyhow::Result<()> { "Non-reserved validators set has been updated too early." ); - wait_for_next_era(&connection)?; + connection + .connection + .wait_for_n_eras(1, BlockStatus::Finalized) + .await; let (eras_reserved, stored_reserved) = - get_current_and_next_era_reserved_validators(&connection); + get_current_and_next_era_reserved_validators(&connection.connection).await; let (eras_non_reserved, stored_non_reserved) = - get_current_and_next_era_non_reserved_validators(&connection); + get_current_and_next_era_non_reserved_validators(&connection.connection).await; assert_eq!( stored_reserved, new_reserved_validators, @@ -134,8 +158,11 @@ pub fn era_validators(config: &Config) -> anyhow::Result<()> { "Non-reserved validators set is not properly updated in the next era." ); - let block_number = get_current_block_number(&connection); - wait_for_finalized_block(&connection, block_number)?; + let block_number = connection.connection.get_best_block().await; + connection + .connection + .wait_for_block(|n| n >= block_number, BlockStatus::Finalized) + .await; Ok(()) } diff --git a/e2e-tests/src/test/fee.rs b/e2e-tests/src/test/fee.rs index 2375ef3efa..41b4b62259 100644 --- a/e2e-tests/src/test/fee.rs +++ b/e2e-tests/src/test/fee.rs @@ -1,125 +1,138 @@ use aleph_client::{ - balances_transfer, get_next_fee_multiplier, AccountId, BalanceTransfer, CallSystem, FeeInfo, - GetTxInfo, ReadStorage, RootConnection, XtStatus, + api::transaction_payment::events::TransactionFeePaid, + pallets::{balances::BalanceUserApi, fee::TransactionPaymentApi, system::SystemSudoApi}, + waiting::{AlephWaiting, BlockStatus}, + AccountId, RootConnection, SignedConnection, TxStatus, }; -use sp_runtime::{traits::One, FixedPointNumber, FixedU128}; +use log::info; +use primitives::Balance; +use sp_runtime::{FixedPointNumber, FixedU128}; use crate::{config::Config, transfer::setup_for_transfer}; -pub fn fee_calculation(config: &Config) -> anyhow::Result<()> { +pub async fn fee_calculation(config: &Config) -> anyhow::Result<()> { // An initial transfer is needed to establish the fee multiplier. - let (connection, to) = setup_for_transfer(config); - let root_connection = config.create_root_connection(); + let (connection, to) = setup_for_transfer(config).await; + let root_connection = config.create_root_connection().await; let transfer_value = 1000u128; - balances_transfer(&connection, &to, transfer_value, XtStatus::Finalized); - // An example transaction for which we will query fee details at different traffic level. - let tx = prepare_transaction(&connection); - - let (actual_multiplier, fee_info) = check_current_fees(&connection, &tx); - assert_no_scaling( + let minimum_multiplier = FixedU128::saturating_from_integer(1); + let (old_fee, actual_multiplier) = + current_fees(&connection, to.clone(), None, transfer_value).await; + assert_eq!( actual_multiplier, - fee_info, + minimum_multiplier.into_inner(), "In the beginning the fee multiplier should be equal to the minimum value", - "In the beginning fees should not be scaled", ); // The target saturation level is set to 25%, so unless we cross this limit, // the fees should not increase. Note that effectively it is 18.75% of the whole block. - fill_blocks(15, 5, &root_connection); - let (actual_multiplier, fee_info) = check_current_fees(&connection, &tx); - assert_no_scaling( + fill_blocks(15, 5, &root_connection).await; + let (new_fee, actual_multiplier) = + current_fees(&connection, to.clone(), None, transfer_value).await; + assert_eq!( actual_multiplier, - fee_info, - "When the traffic is low the fee multiplier should not increase", - "When the traffic is low fees should not be scaled", + minimum_multiplier.into_inner(), + "In the beginning the fee multiplier should be equal to the minimum value", + ); + + assert_eq!( + new_fee, old_fee, + "In the beginning the fee should not be adjusted", ); // At 60% of occupancy the fees should increase by ~2.4% per block. However, the // intermediate blocks will be empty, so in order to have reliable reads we have to // simulate high traffic for a longer time. - fill_blocks(60, 4, &root_connection); - let (actual_multiplier, fee_info) = check_current_fees(&connection, &tx); + fill_blocks(60, 4, &root_connection).await; + let (new_fee, actual_multiplier) = + current_fees(&connection, to.clone(), None, transfer_value).await; assert!( - actual_multiplier.gt(&FixedU128::one()), - "When the traffic is high the fee multiplier should increase", + actual_multiplier > 1, + "When the traffic is high the fee multiplier should increase, {:?}", + actual_multiplier, ); assert!( - fee_info.unadjusted_weight < fee_info.adjusted_weight, - "When the traffic is high fees should be scaled up", + new_fee > old_fee, + "When the traffic is high fees should be scaled up: {:?} !> {:?}", + new_fee, + old_fee ); - let (prev_multiplier, prev_fee_info) = (actual_multiplier, fee_info); - fill_blocks(60, 4, &root_connection); - let (actual_multiplier, fee_info) = check_current_fees(&connection, &tx); + let (prev_multiplier, prev_fee) = (actual_multiplier, new_fee); + fill_blocks(60, 4, &root_connection).await; + let (new_fee, actual_multiplier) = + current_fees(&connection, to.clone(), None, transfer_value).await; assert!( actual_multiplier.gt(&prev_multiplier), "When the traffic is still high the fee multiplier should still increase", ); assert!( - prev_fee_info.adjusted_weight < fee_info.adjusted_weight, + prev_fee < new_fee, "When the traffic is still high fees should be scaled up even more", ); - let (prev_multiplier, prev_fee_info) = (actual_multiplier, fee_info); - fill_blocks(0, 8, &root_connection); - let (actual_multiplier, fee_info) = check_current_fees(&connection, &tx); + let (prev_multiplier, prev_fee) = (actual_multiplier, new_fee); + fill_blocks(0, 8, &root_connection).await; + let (new_fee, actual_multiplier) = current_fees(&connection, to, None, transfer_value).await; // This is rather an ethical version of sleep. assert!( prev_multiplier.gt(&actual_multiplier), "When the traffic is low again the fee multiplier should decrease", ); assert!( - fee_info.adjusted_weight < prev_fee_info.adjusted_weight, + new_fee < prev_fee, "When the traffic is low again fees should be scaled down", ); Ok(()) } -fn check_current_fees>( - connection: &C, - tx: &C::TransferTx, -) -> (FixedU128, FeeInfo) { - // The storage query will return an u128 value which is the 'inner' representation - // i.e. scaled up by 10^18 (see `implement_fixed!` for `FixedU128). - let actual_multiplier = FixedU128::from_inner(get_next_fee_multiplier(connection)); - let fee_info = connection.get_tx_info(tx); - (actual_multiplier, fee_info) +async fn fill_blocks(target_ratio: u8, blocks: u32, connection: &RootConnection) { + for _ in 0..blocks { + connection + .fill_block(target_ratio, TxStatus::InBlock) + .await + .unwrap_or_else(|err| panic!("Error while sending a fill_block transation: {:?}", err)); + } } -fn assert_no_scaling( - actual_multiplier: FixedU128, - fee_info: FeeInfo, - error_multiplier_msg: &str, - error_fee_msg: &str, -) { - // We should never drop below 1, in particular when there is no traffic. - let minimum_multiplier = FixedU128::saturating_from_integer(1); - - assert_eq!( - minimum_multiplier, actual_multiplier, - "{} (actual multiplier: {})", - error_multiplier_msg, actual_multiplier - ); - assert_eq!( - fee_info.unadjusted_weight, fee_info.adjusted_weight, - "{} ({} was scaled to {})", - error_fee_msg, fee_info.unadjusted_weight, fee_info.adjusted_weight, - ); -} +pub async fn current_fees( + connection: &SignedConnection, + to: AccountId, + tip: Option, + transfer_value: Balance, +) -> (Balance, u128) { + let actual_multiplier = connection.connection.get_next_fee_multiplier(None).await; -fn prepare_transaction(connection: &C) -> C::TransferTx { - let bytes = [0u8; 32]; - let account = AccountId::from(bytes); + let waiting_connection = connection.connection.clone(); + let signer = connection.signer.account_id().clone(); + let event_handle = tokio::spawn(async move { + waiting_connection + .wait_for_event( + |e: &TransactionFeePaid| e.who == signer, + BlockStatus::Finalized, + ) + .await + }); + match tip { + None => { + connection + .transfer(to, transfer_value, TxStatus::Finalized) + .await + .unwrap(); + } + Some(tip) => { + connection + .transfer_with_tip(to, transfer_value, tip, TxStatus::Finalized) + .await + .unwrap(); + } + } + let event = event_handle.await.unwrap(); + let fee = event.actual_fee; - connection.create_transfer_tx(account, 0u128) -} + info!("fee payed: {}", fee); -fn fill_blocks(target_ratio: u32, blocks: u32, connection: &RootConnection) { - for _ in 0..blocks { - connection - .fill_block(target_ratio, XtStatus::InBlock) - .unwrap_or_else(|err| panic!("Error while sending a fill_block transation: {:?}", err)); - } + (fee, actual_multiplier) } diff --git a/e2e-tests/src/test/finalization.rs b/e2e-tests/src/test/finalization.rs index bbc9882829..1aca8bbfc3 100644 --- a/e2e-tests/src/test/finalization.rs +++ b/e2e-tests/src/test/finalization.rs @@ -1,9 +1,22 @@ -use aleph_client::{create_connection, wait_for_finalized_block}; +use aleph_client::{ + utility::BlocksApi, + waiting::{AlephWaiting, BlockStatus}, +}; use crate::config::Config; -pub fn finalization(config: &Config) -> anyhow::Result<()> { - let connection = create_connection(&config.node); - wait_for_finalized_block(&connection, 1)?; +pub async fn finalization(config: &Config) -> anyhow::Result<()> { + let connection = config.create_root_connection().await; + + let finalized = connection.connection.get_finalized_block_hash().await; + let finalized_number = connection + .connection + .get_block_number(finalized) + .await + .unwrap(); + connection + .connection + .wait_for_block(|n| n > finalized_number, BlockStatus::Finalized) + .await; Ok(()) } diff --git a/e2e-tests/src/test/rewards.rs b/e2e-tests/src/test/rewards.rs index 4e749e8fd6..514cdb170a 100644 --- a/e2e-tests/src/test/rewards.rs +++ b/e2e-tests/src/test/rewards.rs @@ -1,17 +1,21 @@ use aleph_client::{ - get_active_era, get_current_session, staking_force_new_era, wait_for_full_era_completion, - wait_for_next_era, wait_for_session, AccountId, SignedConnection, XtStatus, + pallets::{ + session::SessionApi, + staking::{StakingApi, StakingSudoApi}, + }, + primitives::{CommitteeSeats, EraValidators}, + utility::SessionEraApi, + waiting::{AlephWaiting, BlockStatus, WaitingExt}, + AccountId, SignedConnection, TxStatus, }; use log::info; -use primitives::{ - staking::MIN_VALIDATOR_BOND, CommitteeSeats, EraIndex, EraValidators, SessionIndex, -}; +use primitives::{staking::MIN_VALIDATOR_BOND, EraIndex, SessionIndex}; use crate::{ elections::get_and_test_members_for_session, rewards::{ - check_points, get_era_for_session, reset_validator_keys, set_invalid_keys_for_validator, - setup_validators, validators_bond_extra_stakes, + check_points, reset_validator_keys, set_invalid_keys_for_validator, setup_validators, + validators_bond_extra_stakes, }, Config, }; @@ -21,13 +25,16 @@ use crate::{ // retrieved from pallet Staking. const MAX_DIFFERENCE: f64 = 0.07; -pub fn points_basic(config: &Config) -> anyhow::Result<()> { - let (era_validators, committee_size, start_session) = setup_validators(config)?; +pub async fn points_basic(config: &Config) -> anyhow::Result<()> { + let (era_validators, committee_size, start_session) = setup_validators(config).await?; - let connection = config.get_first_signed_connection(); + let connection = config.get_first_signed_connection().await; - wait_for_next_era(&connection)?; - let end_session = get_current_session(&connection); + connection + .connection + .wait_for_n_eras(1, BlockStatus::Best) + .await; + let end_session = connection.connection.get_session(None).await; let members_per_session = committee_size.reserved_seats + committee_size.non_reserved_seats; info!( @@ -36,9 +43,17 @@ pub fn points_basic(config: &Config) -> anyhow::Result<()> { ); for session in start_session..end_session { - let era = get_era_for_session(&connection, session); - let (members_active, members_bench) = - get_and_test_members_for_session(&connection, committee_size, &era_validators, session); + let era = connection + .connection + .get_active_era_for_session(session) + .await; + let (members_active, members_bench) = get_and_test_members_for_session( + &connection.connection, + committee_size.clone(), + &era_validators, + session, + ) + .await; check_points( &connection, @@ -48,7 +63,8 @@ pub fn points_basic(config: &Config) -> anyhow::Result<()> { members_bench, members_per_session, MAX_DIFFERENCE, - )? + ) + .await? } Ok(()) @@ -56,8 +72,8 @@ pub fn points_basic(config: &Config) -> anyhow::Result<()> { /// Runs a chain, bonds extra stakes to validator accounts and checks that reward points /// are calculated correctly afterward. -pub fn points_stake_change(config: &Config) -> anyhow::Result<()> { - let (era_validators, committee_size, _) = setup_validators(config)?; +pub async fn points_stake_change(config: &Config) -> anyhow::Result<()> { + let (era_validators, committee_size, _) = setup_validators(config).await?; validators_bond_extra_stakes( config, @@ -68,12 +84,16 @@ pub fn points_stake_change(config: &Config) -> anyhow::Result<()> { 2 * MIN_VALIDATOR_BOND, 0, ], - ); - - let connection = config.get_first_signed_connection(); - let start_session = get_current_session(&connection); - wait_for_next_era(&connection)?; - let end_session = get_current_session(&connection); + ) + .await; + + let connection = config.get_first_signed_connection().await; + let start_session = connection.connection.get_session(None).await; + connection + .connection + .wait_for_n_eras(1, BlockStatus::Best) + .await; + let end_session = connection.connection.get_session(None).await; let members_per_session = committee_size.reserved_seats + committee_size.non_reserved_seats; info!( @@ -82,9 +102,17 @@ pub fn points_stake_change(config: &Config) -> anyhow::Result<()> { ); for session in start_session..end_session { - let era = get_era_for_session(&connection, session); - let (members_active, members_bench) = - get_and_test_members_for_session(&connection, committee_size, &era_validators, session); + let era = connection + .connection + .get_active_era_for_session(session) + .await; + let (members_active, members_bench) = get_and_test_members_for_session( + &connection.connection, + committee_size.clone(), + &era_validators, + session, + ) + .await; check_points( &connection, @@ -94,7 +122,8 @@ pub fn points_stake_change(config: &Config) -> anyhow::Result<()> { members_bench, members_per_session, MAX_DIFFERENCE, - )? + ) + .await? } Ok(()) @@ -102,19 +131,23 @@ pub fn points_stake_change(config: &Config) -> anyhow::Result<()> { /// Runs a chain, sets invalid session keys for one validator, re-sets the keys to valid ones /// and checks that reward points are calculated correctly afterward. -pub fn disable_node(config: &Config) -> anyhow::Result<()> { - let (era_validators, committee_size, start_session) = setup_validators(config)?; +pub async fn disable_node(config: &Config) -> anyhow::Result<()> { + let (era_validators, committee_size, start_session) = setup_validators(config).await?; - let root_connection = config.create_root_connection(); - let controller_connection = SignedConnection::new(&config.node, config.node_keys().controller); + let root_connection = config.create_root_connection().await; + let controller_connection = + SignedConnection::new(config.node.clone(), config.node_keys().controller).await; // this should `disable` this node by setting invalid session_keys - set_invalid_keys_for_validator(&controller_connection)?; + set_invalid_keys_for_validator(&controller_connection).await?; // this should `re-enable` this node, i.e. by means of the `rotate keys` procedure - reset_validator_keys(&controller_connection)?; + reset_validator_keys(&controller_connection).await?; - wait_for_full_era_completion(&root_connection)?; - let end_session = get_current_session(&root_connection); + root_connection + .connection + .wait_for_n_eras(1, BlockStatus::Best) + .await; + let end_session = root_connection.connection.get_session(None).await; let members_per_session = committee_size.reserved_seats + committee_size.non_reserved_seats; info!( @@ -123,13 +156,17 @@ pub fn disable_node(config: &Config) -> anyhow::Result<()> { ); for session in start_session..end_session { - let era = get_era_for_session(&controller_connection, session); + let era = root_connection + .connection + .get_active_era_for_session(session) + .await; let (members_active, members_bench) = get_and_test_members_for_session( - &controller_connection, - committee_size, + &controller_connection.connection, + committee_size.clone(), &era_validators, session, - ); + ) + .await; check_points( &controller_connection, @@ -139,7 +176,8 @@ pub fn disable_node(config: &Config) -> anyhow::Result<()> { members_bench, members_per_session, MAX_DIFFERENCE, - )?; + ) + .await?; } Ok(()) @@ -149,20 +187,25 @@ pub fn disable_node(config: &Config) -> anyhow::Result<()> { /// for 3 sessions: 1) immediately following the forcing call, 2) in the subsequent, interim /// session, when the new era has not yet started, 3) in the next session, second one after /// the call, when the new era has already begun. -pub fn force_new_era(config: &Config) -> anyhow::Result<()> { - let (era_validators, committee_size, start_session) = setup_validators(config)?; +pub async fn force_new_era(config: &Config) -> anyhow::Result<()> { + let (era_validators, committee_size, start_session) = setup_validators(config).await?; - let connection = config.get_first_signed_connection(); - let root_connection = config.create_root_connection(); - let start_era = get_era_for_session(&connection, start_session); + let connection = config.get_first_signed_connection().await; + let root_connection = config.create_root_connection().await; + let start_era = connection + .connection + .get_active_era_for_session(start_session) + .await; info!("Start | era: {}, session: {}", start_era, start_session); - staking_force_new_era(&root_connection, XtStatus::Finalized); - - wait_for_session(&connection, start_session + 2)?; - let active_era = get_active_era(&connection); - let current_session = get_current_session(&connection); + root_connection.force_new_era(TxStatus::Finalized).await?; + connection + .connection + .wait_for_session(start_session + 2, BlockStatus::Finalized) + .await; + let active_era = connection.connection.get_active_era(None).await; + let current_session = connection.connection.get_session(None).await; info!( "After ForceNewEra | era: {}, session: {}", active_era, current_session @@ -175,7 +218,8 @@ pub fn force_new_era(config: &Config) -> anyhow::Result<()> { &era_validators, committee_size, MAX_DIFFERENCE, - )?; + ) + .await?; Ok(()) } @@ -185,13 +229,16 @@ pub fn force_new_era(config: &Config) -> anyhow::Result<()> { /// Expected behaviour: until the next (forced) era, rewards are calculated using old stakes, /// and after two sessions (required for a new era to be forced) they are adjusted to the new /// stakes. -pub fn change_stake_and_force_new_era(config: &Config) -> anyhow::Result<()> { - let (era_validators, committee_size, start_session) = setup_validators(config)?; +pub async fn change_stake_and_force_new_era(config: &Config) -> anyhow::Result<()> { + let (era_validators, committee_size, start_session) = setup_validators(config).await?; - let connection = config.get_first_signed_connection(); - let root_connection = config.create_root_connection(); + let connection = config.get_first_signed_connection().await; + let root_connection = config.create_root_connection().await; - let start_era = get_era_for_session(&connection, start_session); + let start_era = connection + .connection + .get_active_era_for_session(start_session) + .await; info!("Start | era: {}, session: {}", start_era, start_session); validators_bond_extra_stakes( @@ -203,13 +250,17 @@ pub fn change_stake_and_force_new_era(config: &Config) -> anyhow::Result<()> { 0, 4 * MIN_VALIDATOR_BOND, ], - ); - - staking_force_new_era(&root_connection, XtStatus::Finalized); - - wait_for_session(&connection, start_session + 2)?; - let active_era = get_active_era(&connection); - let current_session = get_current_session(&connection); + ) + .await; + + root_connection.force_new_era(TxStatus::Finalized).await?; + let start_session = root_connection.connection.get_session(None).await; + connection + .connection + .wait_for_session(start_session + 2, BlockStatus::Finalized) + .await; + let active_era = connection.connection.get_active_era(None).await; + let current_session = connection.connection.get_session(None).await; info!( "After ForceNewEra | era: {}, session: {}", active_era, current_session @@ -222,11 +273,12 @@ pub fn change_stake_and_force_new_era(config: &Config) -> anyhow::Result<()> { &era_validators, committee_size, MAX_DIFFERENCE, - )?; + ) + .await?; Ok(()) } -fn check_points_after_force_new_era( +async fn check_points_after_force_new_era( connection: &SignedConnection, start_session: SessionIndex, start_era: EraIndex, @@ -248,8 +300,13 @@ fn check_points_after_force_new_era( era_to_check, session_to_check ); - let (members_active, members_bench) = - get_and_test_members_for_session(connection, seats, era_validators, session_to_check); + let (members_active, members_bench) = get_and_test_members_for_session( + &connection.connection, + seats.clone(), + era_validators, + session_to_check, + ) + .await; check_points( connection, @@ -259,7 +316,8 @@ fn check_points_after_force_new_era( members_bench, seats.reserved_seats + seats.non_reserved_seats, max_relative_difference, - )?; + ) + .await?; } Ok(()) } diff --git a/e2e-tests/src/test/staking.rs b/e2e-tests/src/test/staking.rs index 3ed7419fe1..1c22f1183f 100644 --- a/e2e-tests/src/test/staking.rs +++ b/e2e-tests/src/test/staking.rs @@ -1,20 +1,23 @@ use aleph_client::{ - balances_batch_transfer, change_validators, get_current_session, keypair_from_string, - payout_stakers_and_assert_locked_balance, rotate_keys, set_keys, staking_bond, staking_bonded, - staking_ledger, staking_multi_bond, staking_nominate, staking_validate, - wait_for_full_era_completion, wait_for_session, AccountId, KeyPair, SignedConnection, - StakingLedger, XtStatus, + account_from_keypair, keypair_from_string, + pallet_staking::StakingLedger, + pallets::{ + author::AuthorRpc, + balances::{BalanceApi, BalanceUserApi, BalanceUserBatchExtApi}, + elections::ElectionsSudoApi, + session::SessionUserApi, + staking::{StakingApi, StakingUserApi}, + }, + primitives::CommitteeSeats, + sp_runtime::bounded::bounded_vec::BoundedVec, + waiting::{BlockStatus, WaitingExt}, + AccountId, KeyPair, Pair, SignedConnection, TxStatus, }; -use frame_support::BoundedVec; use log::info; use primitives::{ staking::{MIN_NOMINATOR_BOND, MIN_VALIDATOR_BOND}, - CommitteeSeats, TOKEN, + Balance, BlockNumber, TOKEN, }; -use rayon::iter::{ - IndexedParallelIterator, IntoParallelIterator, IntoParallelRefIterator, ParallelIterator, -}; -use sp_core::Pair; use crate::{ accounts::{account_ids_from_keys, accounts_seeds_to_keys, get_validators_seeds}, @@ -38,44 +41,58 @@ fn get_validator_stashes_key_pairs(config: &Config) -> (Vec, Vec anyhow::Result<()> { +pub async fn staking_era_payouts(config: &Config) -> anyhow::Result<()> { let (stashes_accounts_key_pairs, validator_accounts) = get_validator_stashes_key_pairs(config); let node = &config.node; - let connection = config.get_first_signed_connection(); + let connection = config.get_first_signed_connection().await; let stashes_accounts = account_ids_from_keys(&stashes_accounts_key_pairs); - balances_batch_transfer(&connection, stashes_accounts, MIN_NOMINATOR_BOND + TOKEN); - staking_multi_bond(node, &stashes_accounts_key_pairs, MIN_NOMINATOR_BOND); + connection + .batch_transfer( + &stashes_accounts, + MIN_NOMINATOR_BOND + TOKEN, + TxStatus::InBlock, + ) + .await?; + multi_bond(node, &stashes_accounts_key_pairs, MIN_NOMINATOR_BOND).await; - stashes_accounts_key_pairs - .par_iter() - .zip(validator_accounts.par_iter()) - .for_each(|(nominator, nominee)| { - let connection = SignedConnection::new(node, nominator.clone()); - let nominee_account_id = AccountId::from(nominee.public()); - staking_nominate(&connection, &nominee_account_id) - }); + for (nominator, nominee) in stashes_accounts_key_pairs + .into_iter() + .zip(validator_accounts) + { + let connection = SignedConnection::new(node.clone(), nominator).await; + let nominee_account_id = AccountId::from(nominee.signer().public()); + connection + .nominate(nominee_account_id, TxStatus::InBlock) + .await?; + } // All the above calls influence the next era, so we need to wait that it passes. // this test can be speeded up by forcing new era twice, and waiting 4 sessions in total instead of almost 10 sessions - let current_era = wait_for_full_era_completion(&connection)?; + connection + .connection + .wait_for_n_eras(2, BlockStatus::Finalized) + .await; + let current_era = connection.connection.get_current_era(None).await; info!( "Era {} started, claiming rewards for era {}", current_era, current_era - 1 ); - validator_accounts.into_par_iter().for_each(|key_pair| { - let stash_connection = SignedConnection::new(node, key_pair.clone()); - let stash_account = AccountId::from(key_pair.public()); + let (_, validator_accounts) = get_validator_stashes_key_pairs(config); + for key_pair in validator_accounts { + let stash_account = AccountId::from(key_pair.signer().public()); + let stash_connection = SignedConnection::new(node.to_string(), key_pair).await; payout_stakers_and_assert_locked_balance( &stash_connection, &[stash_account.clone()], &stash_account, current_era, ) - }); + .await; + } Ok(()) } @@ -89,107 +106,119 @@ pub fn staking_era_payouts(config: &Config) -> anyhow::Result<()> { // 7. add 4th validator which is the new stash account // 8. wait for next era // 9. claim rewards for the stash account -pub fn staking_new_validator(config: &Config) -> anyhow::Result<()> { +pub async fn staking_new_validator(config: &Config) -> anyhow::Result<()> { let controller_seed = "//Controller"; let controller = keypair_from_string(controller_seed); - let controller_account = AccountId::from(controller.public()); + let controller_account = AccountId::from(controller.signer().public()); let stash_seed = "//Stash"; let stash = keypair_from_string(stash_seed); - let stash_account = AccountId::from(stash.public()); + let stash_account = AccountId::from(stash.signer().public()); let (_, mut validator_accounts) = get_validator_stashes_key_pairs(config); let node = &config.node; let _ = validator_accounts.remove(0); // signer of this connection is sudo, the same node which in this test is used as the new one // it's essential since keys from rotate_keys() needs to be run against that node - let root_connection = config.create_root_connection(); - - change_validators( - &root_connection, - Some(account_ids_from_keys(&validator_accounts)), - Some(vec![]), - Some(CommitteeSeats { - reserved_seats: 4, - non_reserved_seats: 0, - }), - XtStatus::InBlock, - ); + let root_connection = config.create_root_connection().await; - let current_session = get_current_session(&root_connection); + root_connection + .change_validators( + Some(account_ids_from_keys(&validator_accounts)), + Some(vec![]), + Some(CommitteeSeats { + reserved_seats: 4, + non_reserved_seats: 0, + }), + TxStatus::InBlock, + ) + .await?; - let _ = wait_for_session(&root_connection, current_session + 2)?; + root_connection + .connection + .wait_for_n_sessions(2, BlockStatus::Best) + .await; // to cover tx fees as we need a bit more than VALIDATOR_STAKE - balances_batch_transfer( - &root_connection.as_signed(), - vec![stash_account.clone()], - MIN_VALIDATOR_BOND + TOKEN, - ); + root_connection + .as_signed() + .transfer( + stash_account.clone(), + MIN_VALIDATOR_BOND + TOKEN, + TxStatus::InBlock, + ) + .await?; // to cover txs fees - balances_batch_transfer( - &root_connection.as_signed(), - vec![controller_account.clone()], - TOKEN, - ); + root_connection + .as_signed() + .transfer(controller_account.clone(), TOKEN, TxStatus::InBlock) + .await?; - let stash_connection = SignedConnection::new(node, stash.clone()); + let stash_connection = + SignedConnection::new(node.to_string(), KeyPair::new(stash.signer().clone())).await; - staking_bond( - &stash_connection, - MIN_VALIDATOR_BOND, - &controller_account, - XtStatus::InBlock, - ); - let bonded_controller_account = staking_bonded(&root_connection, &stash).unwrap_or_else(|| { - panic!( - "Expected that stash account {} is bonded to some controller!", - &stash_account + stash_connection + .bond( + MIN_VALIDATOR_BOND, + controller_account.clone(), + TxStatus::InBlock, ) - }); + .await?; + + let bonded_controller_account = root_connection + .connection + .get_bonded(stash_account.clone(), None) + .await + .expect("should be bonded to smth"); assert_eq!( bonded_controller_account, controller_account, "Expected that stash account {} is bonded to the controller account {}, got {} instead!", &stash_account, &controller_account, &bonded_controller_account ); - let validator_keys = rotate_keys(&root_connection).expect("Failed to retrieve keys from chain"); - let controller_connection = SignedConnection::new(node, controller.clone()); - set_keys(&controller_connection, validator_keys, XtStatus::InBlock); - - // to be elected in next era instead of expected validator_account_id - staking_validate(&controller_connection, 10, XtStatus::InBlock); - - let ledger = staking_ledger(&root_connection, &controller); - assert!( - ledger.is_some(), - "Expected controller {} configuration to be non empty", - controller_account - ); - let ledger = ledger.unwrap(); + let validator_keys = root_connection.connection.author_rotate_keys().await; + let controller_connection = + SignedConnection::new(node.to_string(), KeyPair::new(controller.signer().clone())).await; + controller_connection + .set_keys(validator_keys, TxStatus::InBlock) + .await?; + controller_connection + .validate(10, TxStatus::InBlock) + .await?; + let ledger = controller_connection + .connection + .get_ledger(controller_account, None) + .await; assert_eq!( ledger, StakingLedger { stash: stash_account.clone(), total: MIN_VALIDATOR_BOND, active: MIN_VALIDATOR_BOND, - unlocking: BoundedVec::try_from(vec![]).unwrap(), + unlocking: BoundedVec(vec![]), + claimed_rewards: vec![], } ); validator_accounts.push(stash); - change_validators( - &root_connection, - Some(account_ids_from_keys(&validator_accounts)), - Some(vec![]), - Some(CommitteeSeats { - reserved_seats: 5, - non_reserved_seats: 0, - }), - XtStatus::InBlock, - ); - let current_session = get_current_session(&root_connection); - let _ = wait_for_session(&root_connection, current_session + 2)?; - - let current_era = wait_for_full_era_completion(&root_connection)?; + root_connection + .change_validators( + Some(account_ids_from_keys(&validator_accounts)), + Some(vec![]), + Some(CommitteeSeats { + reserved_seats: 5, + non_reserved_seats: 0, + }), + TxStatus::InBlock, + ) + .await?; + root_connection + .connection + .wait_for_n_sessions(2, BlockStatus::Best) + .await; + root_connection + .connection + .wait_for_n_eras(2, BlockStatus::Best) + .await; + let current_era = root_connection.connection.get_current_era(None).await; info!( "Era {} started, claiming rewards for era {}", current_era, @@ -201,7 +230,48 @@ pub fn staking_new_validator(config: &Config) -> anyhow::Result<()> { &[stash_account.clone()], &stash_account, current_era, - ); + ) + .await; Ok(()) } + +pub async fn multi_bond(node: &str, bonders: &[KeyPair], stake: Balance) { + for bonder in bonders { + let controller_account = account_from_keypair(bonder.signer()); + let connection = + SignedConnection::new(node.to_string(), KeyPair::new(bonder.signer().clone())).await; + connection + .bond(stake, controller_account, TxStatus::InBlock) + .await + .unwrap(); + } +} + +async fn payout_stakers_and_assert_locked_balance( + stash_connection: &SignedConnection, + accounts_to_check_balance: &[AccountId], + stash_account: &AccountId, + era: BlockNumber, +) { + let locked_stash_balances_before_payout = stash_connection + .connection + .locks(accounts_to_check_balance, None) + .await; + stash_connection + .payout_stakers(stash_account.clone(), era - 1, TxStatus::Finalized) + .await + .unwrap(); + let locked_stash_balances_after_payout = stash_connection + .connection + .locks(accounts_to_check_balance, None) + .await; + locked_stash_balances_before_payout.iter() + .zip(locked_stash_balances_after_payout.iter()) + .zip(accounts_to_check_balance.iter()) + .for_each(|((balances_before, balances_after), account_id)| { + assert!(balances_after[0].amount > balances_before[0].amount, + "Expected payout to be positive in locked balance for account {}. Balance before: {}, balance after: {}", + account_id, balances_before[0].amount, balances_after[0].amount); + }); +} diff --git a/e2e-tests/src/test/transfer.rs b/e2e-tests/src/test/transfer.rs index 9cb53ab0d9..52eb1792d7 100644 --- a/e2e-tests/src/test/transfer.rs +++ b/e2e-tests/src/test/transfer.rs @@ -1,18 +1,29 @@ -use aleph_client::{balances_transfer, get_free_balance, XtStatus}; +use aleph_client::{ + pallets::{balances::BalanceUserApi, system::SystemApi}, + TxStatus, +}; use log::info; use crate::{config::Config, transfer::setup_for_transfer}; -pub fn token_transfer(config: &Config) -> anyhow::Result<()> { - let (connection, to) = setup_for_transfer(config); +pub async fn token_transfer(config: &Config) -> anyhow::Result<()> { + let (connection, to) = setup_for_transfer(config).await; - let balance_before = get_free_balance(&connection, &to); + let balance_before = connection + .connection + .get_free_balance(to.clone(), None) + .await; info!("[+] Account {} balance before tx: {}", to, balance_before); - let transfer_value = 1000u128; - balances_transfer(&connection, &to, transfer_value, XtStatus::Finalized); + let transfer_value = 1000; + connection + .transfer(to.clone(), transfer_value, TxStatus::Finalized) + .await?; - let balance_after = get_free_balance(&connection, &to); + let balance_after = connection + .connection + .get_free_balance(to.clone(), None) + .await; info!("[+] Account {} balance after tx: {}", to, balance_after); assert_eq!( diff --git a/e2e-tests/src/test/treasury.rs b/e2e-tests/src/test/treasury.rs index b60e2b512f..58348c5798 100644 --- a/e2e-tests/src/test/treasury.rs +++ b/e2e-tests/src/test/treasury.rs @@ -1,23 +1,30 @@ use aleph_client::{ - account_from_keypair, approve_treasury_proposal, get_free_balance, make_treasury_proposal, - reject_treasury_proposal, staking_treasury_payout, total_issuance, treasury_account, - treasury_proposals_counter, Balance, BalanceTransfer, GetTxInfo, ReadStorage, RootConnection, - SignedConnection, XtStatus, + account_from_keypair, + api::treasury::events::Rejected, + pallets::{ + balances::BalanceApi, + system::SystemApi, + treasury::{TreasureApiExt, TreasuryApi, TreasuryUserApi}, + }, + waiting::{AlephWaiting, BlockStatus}, + Connection, KeyPair, RootConnection, SignedConnection, TxStatus, }; use log::info; +use primitives::Balance; use crate::{ - accounts::{get_sudo_key, get_validators_keys}, - config::Config, - transfer::setup_for_tipped_transfer, + accounts::get_validators_raw_keys, config::Config, test::fee::current_fees, + transfer::setup_for_transfer, }; /// Returns current treasury free funds and total issuance. /// /// Takes two storage reads. -fn balance_info(connection: &C) -> (Balance, Balance) { - let treasury_balance = get_free_balance(connection, &treasury_account()); - let issuance = total_issuance(connection); +async fn balance_info(connection: &Connection) -> (Balance, Balance) { + let treasury_balance = connection + .get_free_balance(connection.treasury_account().await, None) + .await; + let issuance = connection.total_issuance(None).await; info!( "[+] Treasury balance: {}. Total issuance: {}.", treasury_balance, issuance @@ -26,31 +33,26 @@ fn balance_info(connection: &C) -> (Balance, Balance) { (treasury_balance, issuance) } -pub fn channeling_fee_and_tip(config: &Config) -> anyhow::Result<()> { +pub async fn channeling_fee_and_tip(config: &Config) -> anyhow::Result<()> { let (transfer_amount, tip) = (1_000u128, 10_000u128); - let (connection, to) = setup_for_tipped_transfer(config, tip); + let (connection, to) = setup_for_transfer(config).await; - let (treasury_balance_before, issuance_before) = balance_info(&connection); - let tx = connection.create_transfer_tx(to, transfer_amount); - connection.transfer(tx.clone(), XtStatus::Finalized)?; - let (treasury_balance_after, issuance_after) = balance_info(&connection); - - let possible_treasury_gain_from_staking = staking_treasury_payout(&connection); + let (treasury_balance_before, issuance_before) = balance_info(&connection.connection).await; + let possible_treasury_gain_from_staking = + connection.connection.possible_treasury_payout().await; + let (fee, _) = current_fees(&connection, to, Some(tip), transfer_amount).await; + let (treasury_balance_after, issuance_after) = balance_info(&connection.connection).await; check_issuance( possible_treasury_gain_from_staking, issuance_before, issuance_after, ); - - let fee_info = connection.get_tx_info(&tx); - let fee = fee_info.fee_without_weight + fee_info.adjusted_weight; check_treasury_balance( possible_treasury_gain_from_staking, treasury_balance_before, treasury_balance_after, fee, - tip, ); Ok(()) @@ -82,33 +84,43 @@ fn check_treasury_balance( treasury_balance_before: Balance, treasury_balance_after: Balance, fee: Balance, - tip: Balance, ) { - let treasury_balance_diff = treasury_balance_after - (treasury_balance_before + fee + tip); + let treasury_balance_diff = treasury_balance_after - (treasury_balance_before + fee); assert_eq!( treasury_balance_diff % possibly_treasury_gain_from_staking, 0, - "Incorrect amount was channeled to the treasury: before = {}, after = {}, fee = {}, tip = \ - {}. We can be different only as multiples of staking treasury reward {}, but the remainder \ + "Incorrect amount was channeled to the treasury: before = {}, after = {}, fee = {}. \ + We can be different only as multiples of staking treasury reward {}, but the remainder \ is {}", treasury_balance_before, treasury_balance_after, fee, - tip, possibly_treasury_gain_from_staking, treasury_balance_diff % possibly_treasury_gain_from_staking, ); } -pub fn treasury_access(config: &Config) -> anyhow::Result<()> { - let proposer = get_validators_keys(config)[0].clone(); - let beneficiary = account_from_keypair(&proposer); - let connection = SignedConnection::new(&config.node, proposer); - - let proposals_counter_before = treasury_proposals_counter(&connection); - make_treasury_proposal(&connection, 10u128, &beneficiary)?; - make_treasury_proposal(&connection, 100u128, &beneficiary)?; - let proposals_counter_after = treasury_proposals_counter(&connection); +pub async fn treasury_access(config: &Config) -> anyhow::Result<()> { + let proposer = KeyPair::new(get_validators_raw_keys(config)[0].clone()); + let beneficiary = account_from_keypair(proposer.signer()); + let connection = SignedConnection::new(config.node.clone(), proposer).await; + + let proposals_counter_before = connection + .connection + .proposals_count(None) + .await + .unwrap_or_default(); + connection + .propose_spend(10, beneficiary.clone(), TxStatus::InBlock) + .await?; + connection + .propose_spend(100, beneficiary.clone(), TxStatus::InBlock) + .await?; + let proposals_counter_after = connection + .connection + .proposals_count(None) + .await + .unwrap_or_default(); assert_eq!( proposals_counter_before + 2, @@ -116,11 +128,40 @@ pub fn treasury_access(config: &Config) -> anyhow::Result<()> { "Proposal has not been created" ); - let sudo = get_sudo_key(config); - let connection = RootConnection::new(&config.node, sudo); + let root_connection = config.create_root_connection().await; + + approve_treasury_proposal(&root_connection, proposals_counter_after - 2).await?; + reject_treasury_proposal(&root_connection, proposals_counter_after - 1).await?; + + Ok(()) +} + +async fn approve_treasury_proposal(connection: &RootConnection, id: u32) -> anyhow::Result<()> { + connection + .as_signed() + .approve(id, TxStatus::Finalized) + .await?; + let approvals = connection.connection.approvals(None).await; + assert!(approvals.contains(&id)); + + Ok(()) +} - approve_treasury_proposal(&connection, proposals_counter_after - 2)?; - reject_treasury_proposal(&connection, proposals_counter_after - 1)?; +async fn reject_treasury_proposal(connection: &RootConnection, id: u32) -> anyhow::Result<()> { + let handle_connection = connection.connection.clone(); + let handle = tokio::spawn(async move { + handle_connection + .wait_for_event( + |e: &Rejected| e.proposal_index == id, + BlockStatus::Finalized, + ) + .await; + }); + connection + .as_signed() + .reject(id, TxStatus::Finalized) + .await?; + handle.await?; Ok(()) } diff --git a/e2e-tests/src/test/utility.rs b/e2e-tests/src/test/utility.rs index 0a38c2a710..aef3d384be 100644 --- a/e2e-tests/src/test/utility.rs +++ b/e2e-tests/src/test/utility.rs @@ -1,26 +1,18 @@ use std::iter::repeat; -use aleph_client::{BalanceTransfer, BatchTransactions, XtStatus}; -use log::info; +use aleph_client::{pallets::balances::BalanceUserBatchExtApi, TxStatus}; use crate::{config::Config, transfer::setup_for_transfer}; -pub fn batch_transactions(config: &Config) -> anyhow::Result<()> { +pub async fn batch_transactions(config: &Config) -> anyhow::Result<()> { const NUMBER_OF_TRANSACTIONS: usize = 100; - let (connection, to) = setup_for_transfer(config); + let (connection, to) = setup_for_transfer(config).await; - let call = connection.create_transfer_tx(to, 1000u128); - let transactions = repeat(&call).take(NUMBER_OF_TRANSACTIONS); - - let finalized_block_hash = connection - .batch_and_send_transactions(transactions, XtStatus::Finalized) - .unwrap_or_else(|err| panic!("error while sending a batch of txs: {:?}", err)) - .expect("Could not get tx hash"); - info!( - "[+] A batch of {} transactions was included in finalized {} block.", - NUMBER_OF_TRANSACTIONS, finalized_block_hash - ); + let accounts: Vec<_> = repeat(to.clone()).take(NUMBER_OF_TRANSACTIONS).collect(); + connection + .batch_transfer(&accounts, 1000, TxStatus::Finalized) + .await?; Ok(()) } diff --git a/e2e-tests/src/test/validators_change.rs b/e2e-tests/src/test/validators_change.rs index 824931d4ff..ec1905f17c 100644 --- a/e2e-tests/src/test/validators_change.rs +++ b/e2e-tests/src/test/validators_change.rs @@ -1,65 +1,77 @@ use aleph_client::{ - get_current_block_number, get_next_era_committee_seats, get_next_era_non_reserved_validators, - get_next_era_reserved_validators, wait_for_event, wait_for_finalized_block, AccountId, - XtStatus, + api::elections::events::ChangeValidators, + pallets::elections::{ElectionsApi, ElectionsSudoApi}, + primitives::CommitteeSeats, + utility::BlocksApi, + waiting::{AlephWaiting, BlockStatus}, + AccountId, Pair, TxStatus, }; -use codec::Decode; use log::info; -use primitives::CommitteeSeats; -use sp_core::Pair; use crate::{accounts::get_validators_keys, config::Config}; -pub fn change_validators(config: &Config) -> anyhow::Result<()> { +pub async fn change_validators(config: &Config) -> anyhow::Result<()> { let accounts = get_validators_keys(config); - let connection = config.create_root_connection(); + let connection = config.create_root_connection().await; - let reserved_before = get_next_era_reserved_validators(&connection); - let non_reserved_before = get_next_era_non_reserved_validators(&connection); - let committee_size_before = get_next_era_committee_seats(&connection); + let reserved_before = connection + .connection + .get_next_era_reserved_validators(None) + .await; + let non_reserved_before = connection + .connection + .get_next_era_non_reserved_validators(None) + .await; + let committee_size_before = connection + .connection + .get_next_era_committee_seats(None) + .await; info!( "[+] state before tx: reserved: {:#?}, non_reserved: {:#?}, committee_size: {:#?}", reserved_before, non_reserved_before, committee_size_before ); - let new_validators: Vec = accounts.iter().map(|pair| pair.public().into()).collect(); - aleph_client::change_validators( - &connection, - Some(new_validators[0..2].to_vec()), - Some(new_validators[2..].to_vec()), - Some(CommitteeSeats { - reserved_seats: 2, - non_reserved_seats: 2, - }), - XtStatus::InBlock, - ); + let new_validators: Vec = accounts + .iter() + .map(|pair| pair.signer().public().into()) + .collect(); + connection + .change_validators( + Some(new_validators[0..2].to_vec()), + Some(new_validators[2..].to_vec()), + Some(CommitteeSeats { + reserved_seats: 2, + non_reserved_seats: 2, + }), + TxStatus::InBlock, + ) + .await?; - #[derive(Debug, Decode, Clone)] - struct NewValidatorsEvent { - reserved: Vec, - non_reserved: Vec, - committee_size: CommitteeSeats, - } - wait_for_event( - &connection, - ("Elections", "ChangeValidators"), - |e: NewValidatorsEvent| { - info!("[+] NewValidatorsEvent: reserved: {:#?}, non_reserved: {:#?}, committee_size: {:#?}", e.reserved, e.non_reserved, e.non_reserved); + connection.connection.wait_for_event(|e: &ChangeValidators| { + info!("[+] NewValidatorsEvent: reserved: {:#?}, non_reserved: {:#?}, committee_size: {:#?}", e.0, e.1, e.2); - e.reserved == new_validators[0..2] - && e.non_reserved == new_validators[2..] - && e.committee_size - == CommitteeSeats { - reserved_seats: 2, - non_reserved_seats: 2, - } - }, - )?; + e.0 == new_validators[0..2] + && e.1 == new_validators[2..] + && e.2 + == CommitteeSeats { + reserved_seats: 2, + non_reserved_seats: 2, + } + }, BlockStatus::Best).await; - let reserved_after = get_next_era_reserved_validators(&connection); - let non_reserved_after = get_next_era_non_reserved_validators(&connection); - let committee_size_after = get_next_era_committee_seats(&connection); + let reserved_after = connection + .connection + .get_next_era_reserved_validators(None) + .await; + let non_reserved_after = connection + .connection + .get_next_era_non_reserved_validators(None) + .await; + let committee_size_after = connection + .connection + .get_next_era_committee_seats(None) + .await; info!( "[+] state before tx: reserved: {:#?}, non_reserved: {:#?}, committee_size: {:#?}", @@ -75,9 +87,11 @@ pub fn change_validators(config: &Config) -> anyhow::Result<()> { }, committee_size_after ); - - let block_number = get_current_block_number(&connection); - wait_for_finalized_block(&connection, block_number)?; + let block_number = connection.connection.get_best_block().await; + connection + .connection + .wait_for_block(|n| n >= block_number, BlockStatus::Finalized) + .await; Ok(()) } diff --git a/e2e-tests/src/test/validators_rotate.rs b/e2e-tests/src/test/validators_rotate.rs index e8d3f5a555..51f9ad9da9 100644 --- a/e2e-tests/src/test/validators_rotate.rs +++ b/e2e-tests/src/test/validators_rotate.rs @@ -1,10 +1,12 @@ use std::collections::HashMap; use aleph_client::{ - change_validators, get_current_block_number, get_current_session, get_validators_for_session, - wait_for_finalized_block, wait_for_full_era_completion, wait_for_session, XtStatus, + pallets::{elections::ElectionsSudoApi, session::SessionApi}, + primitives::CommitteeSeats, + utility::BlocksApi, + waiting::{AlephWaiting, BlockStatus, WaitingExt}, + TxStatus, }; -use primitives::CommitteeSeats; use crate::{ accounts::account_ids_from_keys, elections::get_members_subset_for_session, @@ -13,9 +15,9 @@ use crate::{ const TEST_LENGTH: u32 = 5; -pub fn validators_rotate(config: &Config) -> anyhow::Result<()> { - let connection = config.get_first_signed_connection(); - let root_connection = config.create_root_connection(); +pub async fn validators_rotate(config: &Config) -> anyhow::Result<()> { + let connection = config.get_first_signed_connection().await; + let root_connection = config.create_root_connection().await; let era_validators = get_test_validators(config); let reserved_validators = account_ids_from_keys(&era_validators.reserved); @@ -27,22 +29,31 @@ pub fn validators_rotate(config: &Config) -> anyhow::Result<()> { non_reserved_seats: 2, }; - change_validators( - &root_connection, - Some(reserved_validators.clone()), - Some(non_reserved_validators.clone()), - Some(seats), - XtStatus::InBlock, - ); - wait_for_full_era_completion(&connection)?; - - let current_session = get_current_session(&connection); - wait_for_session(&connection, current_session + TEST_LENGTH)?; + root_connection + .change_validators( + Some(reserved_validators.clone()), + Some(non_reserved_validators.clone()), + Some(seats.clone()), + TxStatus::InBlock, + ) + .await?; + root_connection + .connection + .wait_for_n_eras(2, BlockStatus::Finalized) + .await; + let current_session = root_connection.connection.get_session(None).await; + root_connection + .connection + .wait_for_n_sessions(TEST_LENGTH, BlockStatus::Finalized) + .await; let mut non_reserved_count = HashMap::new(); for session in current_session..current_session + TEST_LENGTH { - let elected = get_validators_for_session(&connection, session); + let elected = connection + .connection + .get_validators(connection.connection.first_block_of_session(session).await) + .await; let non_reserved = get_members_subset_for_session( seats.non_reserved_seats, @@ -88,8 +99,11 @@ pub fn validators_rotate(config: &Config) -> anyhow::Result<()> { let min_elected = non_reserved_count.values().min().unwrap(); assert!(max_elected - min_elected <= 1); - let block_number = get_current_block_number(&connection); - wait_for_finalized_block(&connection, block_number)?; + let block_number = connection.connection.get_best_block().await; + connection + .connection + .wait_for_block(|n| n >= block_number, BlockStatus::Finalized) + .await; Ok(()) } diff --git a/e2e-tests/src/test/version_upgrade.rs b/e2e-tests/src/test/version_upgrade.rs index 1dbd3a5193..1f8fb03617 100644 --- a/e2e-tests/src/test/version_upgrade.rs +++ b/e2e-tests/src/test/version_upgrade.rs @@ -1,8 +1,10 @@ use aleph_client::{ - get_current_session, get_session_period, schedule_upgrade, wait_for_at_least_session, - wait_for_finalized_block, AnyConnection, + pallets::{aleph::AlephSudoApi, elections::ElectionsApi, session::SessionApi}, + utility::BlocksApi, + waiting::{AlephWaiting, BlockStatus}, + TxStatus, }; -use primitives::{Header, SessionIndex}; +use primitives::SessionIndex; use crate::Config; @@ -13,11 +15,11 @@ const UPGRADE_SESSION: SessionIndex = 3; const UPGRADE_FINALIZATION_WAIT_SESSIONS: u32 = 3; // Simple test that schedules a version upgrade, awaits it, and checks if node is still finalizing after planned upgrade session. -pub fn schedule_version_change(config: &Config) -> anyhow::Result<()> { - let connection = config.create_root_connection(); +pub async fn schedule_version_change(config: &Config) -> anyhow::Result<()> { + let connection = config.create_root_connection().await; let test_case_params = config.test_case_params.clone(); - let current_session = get_current_session(&connection); + let current_session = connection.connection.get_session(None).await; let version_for_upgrade = test_case_params .upgrade_to_version .unwrap_or(UPGRADE_TO_VERSION); @@ -28,24 +30,36 @@ pub fn schedule_version_change(config: &Config) -> anyhow::Result<()> { .unwrap_or(UPGRADE_FINALIZATION_WAIT_SESSIONS); let session_after_upgrade = session_for_upgrade + wait_sessions_after_upgrade; - schedule_upgrade(&connection, version_for_upgrade, session_for_upgrade)?; - - wait_for_at_least_session(&connection, session_after_upgrade)?; - let block_number = session_after_upgrade * get_session_period(&connection); - wait_for_finalized_block(&connection, block_number)?; + connection + .schedule_finality_version_change( + version_for_upgrade, + session_for_upgrade, + TxStatus::Finalized, + ) + .await?; + connection + .connection + .wait_for_session(session_after_upgrade + 1, BlockStatus::Finalized) + .await; + + let block_number = connection.connection.get_best_block().await; + connection + .connection + .wait_for_block(|n| n >= block_number, BlockStatus::Finalized) + .await; Ok(()) } // A test that schedules a version upgrade which is supposed to fail, awaits it, and checks if finalization stopped. // It's up to the user of this test to ensure that version upgrade will actually break finalization (non-compatible change in protocol, # updated nodes k is f < k < 2/3n). -pub fn schedule_doomed_version_change_and_verify_finalization_stopped( +pub async fn schedule_doomed_version_change_and_verify_finalization_stopped( config: &Config, ) -> anyhow::Result<()> { - let connection = config.create_root_connection(); + let connection = config.create_root_connection().await; let test_case_params = config.test_case_params.clone(); - let current_session = get_current_session(&connection); + let current_session = connection.connection.get_session(None).await; let version_for_upgrade = test_case_params .upgrade_to_version .unwrap_or(UPGRADE_TO_VERSION); @@ -56,18 +70,28 @@ pub fn schedule_doomed_version_change_and_verify_finalization_stopped( .unwrap_or(UPGRADE_FINALIZATION_WAIT_SESSIONS); let session_after_upgrade = session_for_upgrade + wait_sessions_after_upgrade; - schedule_upgrade(&connection, version_for_upgrade, session_for_upgrade)?; - wait_for_at_least_session(&connection, session_for_upgrade)?; - let last_finalized_block = session_for_upgrade * get_session_period(&connection) - 1; - - wait_for_at_least_session(&connection, session_after_upgrade)?; - let connection = connection.as_connection(); - let finalized_block_head = connection.as_connection().get_finalized_head()?; - let finalized_block = connection.get_header::
(finalized_block_head)?; + connection + .schedule_finality_version_change( + version_for_upgrade, + session_for_upgrade, + TxStatus::Finalized, + ) + .await?; + connection + .connection + .wait_for_session(session_after_upgrade + 1, BlockStatus::Best) + .await; + + let last_finalized_block = + session_for_upgrade * connection.connection.get_session_period().await - 1; + + let connection = connection.connection; + let finalized_block_head = connection.get_finalized_block_hash().await; + let finalized_block = connection.get_block_number(finalized_block_head).await; let finalized_block = match finalized_block { - Some(block) => block.number, - None => { + Some(block) => block, + _ => { return Err(anyhow::Error::msg( "somehow no block was finalized (even though we saw one)", )) diff --git a/e2e-tests/src/transfer.rs b/e2e-tests/src/transfer.rs index 7bb13d37cc..e9d19ee18c 100644 --- a/e2e-tests/src/transfer.rs +++ b/e2e-tests/src/transfer.rs @@ -1,24 +1,18 @@ -use aleph_client::{ - create_connection, AccountId, Balance, Connection, KeyPair, ManageParams, SignedConnection, -}; -use sp_core::Pair; +use aleph_client::{AccountId, Connection, KeyPair, Pair, SignedConnection}; -use crate::{accounts::get_validators_keys, config::Config}; +use crate::{accounts::get_validators_raw_keys, config::Config}; -fn setup(config: &Config) -> (Connection, KeyPair, AccountId) { - let accounts = get_validators_keys(config); - let (from, to) = (accounts[0].clone(), accounts[1].clone()); - let to = AccountId::from(to.public()); - (create_connection(&config.node), from, to) +async fn setup(config: &Config) -> (Connection, KeyPair, AccountId) { + let accounts = get_validators_raw_keys(config); + let (from, to) = ( + KeyPair::new(accounts[0].clone()), + KeyPair::new(accounts[1].clone()), + ); + let to = AccountId::from(to.signer().public()); + (Connection::new(config.node.clone()).await, from, to) } -pub fn setup_for_transfer(config: &Config) -> (SignedConnection, AccountId) { - let (connection, from, to) = setup(config); - (SignedConnection::from_any_connection(&connection, from), to) -} - -pub fn setup_for_tipped_transfer(config: &Config, tip: Balance) -> (SignedConnection, AccountId) { - let (connection, from, to) = setup(config); - let connection = SignedConnection::from_any_connection(&connection, from).set_tip(tip); - (connection, to) +pub async fn setup_for_transfer(config: &Config) -> (SignedConnection, AccountId) { + let (connection, from, to) = setup(config).await; + (SignedConnection::from_connection(connection, from), to) } diff --git a/e2e-tests/src/validators.rs b/e2e-tests/src/validators.rs index fe1676033c..9a8df557e5 100644 --- a/e2e-tests/src/validators.rs +++ b/e2e-tests/src/validators.rs @@ -1,16 +1,28 @@ use aleph_client::{ - account_from_keypair, balances_batch_transfer, keypair_from_string, rotate_keys, set_keys, - staking_bond, staking_validate, AccountId, KeyPair, SignedConnection, XtStatus, + account_from_keypair, keypair_from_string, + pallets::{ + author::AuthorRpc, balances::BalanceUserBatchExtApi, session::SessionUserApi, + staking::StakingUserApi, + }, + primitives::EraValidators, + raw_keypair_from_string, AccountId, KeyPair, RawKeyPair, SignedConnection, TxStatus, }; -use primitives::{staking::MIN_VALIDATOR_BOND, EraValidators, TOKEN}; +use futures::future::join_all; +use primitives::{staking::MIN_VALIDATOR_BOND, TOKEN}; -use crate::{accounts::get_validators_keys, Config}; +use crate::{accounts::get_validators_raw_keys, Config}; /// Get all validators assumed for test pub fn get_test_validators(config: &Config) -> EraValidators { - let all_validators = get_validators_keys(config); - let reserved = all_validators[0..2].to_vec(); - let non_reserved = all_validators[2..].to_vec(); + let all_validators = get_validators_raw_keys(config); + let reserved = all_validators[0..2] + .iter() + .map(|k| KeyPair::new(k.clone())) + .collect(); + let non_reserved = all_validators[2..] + .iter() + .map(|k| KeyPair::new(k.clone())) + .collect(); EraValidators { reserved, @@ -22,21 +34,29 @@ pub fn get_test_validators(config: &Config) -> EraValidators { pub struct Accounts { stash_keys: Vec, stash_accounts: Vec, - + stash_raw_keys: Vec, controller_keys: Vec, controller_accounts: Vec, + controller_raw_keys: Vec, } +#[allow(dead_code)] impl Accounts { pub fn get_stash_keys(&self) -> &Vec { &self.stash_keys } + pub fn get_stash_raw_keys(&self) -> &Vec { + &self.stash_raw_keys + } pub fn get_stash_accounts(&self) -> &Vec { &self.stash_accounts } pub fn get_controller_keys(&self) -> &Vec { &self.controller_keys } + pub fn get_controller_raw_keys(&self) -> &Vec { + &self.controller_raw_keys + } pub fn get_controller_accounts(&self) -> &Vec { &self.controller_accounts } @@ -47,54 +67,84 @@ pub fn setup_accounts(desired_validator_count: u32) -> Accounts { let seeds = (0..desired_validator_count).map(|idx| format!("//Validator//{}", idx)); let stash_seeds = seeds.clone().map(|seed| format!("{}//Stash", seed)); - let stash_keys = stash_seeds.map(|s| keypair_from_string(&s)); - let stash_accounts = stash_keys.clone().map(|k| account_from_keypair(&k)); + let stash_keys: Vec<_> = stash_seeds + .clone() + .map(|s| keypair_from_string(&s)) + .collect(); + let stash_raw_keys = stash_seeds.map(|s| raw_keypair_from_string(&s)).collect(); + let stash_accounts = stash_keys + .iter() + .map(|k| account_from_keypair(k.signer())) + .collect(); let controller_seeds = seeds.map(|seed| format!("{}//Controller", seed)); - let controller_keys = controller_seeds.map(|s| keypair_from_string(&s)); - let controller_accounts = controller_keys.clone().map(|k| account_from_keypair(&k)); + let controller_keys: Vec<_> = controller_seeds + .clone() + .map(|s| keypair_from_string(&s)) + .collect(); + let controller_raw_keys = controller_seeds + .map(|s| raw_keypair_from_string(&s)) + .collect(); + let controller_accounts = controller_keys + .iter() + .map(|k| account_from_keypair(k.signer())) + .collect(); Accounts { - stash_keys: stash_keys.collect(), - stash_accounts: stash_accounts.collect(), - controller_keys: controller_keys.collect(), - controller_accounts: controller_accounts.collect(), + stash_keys, + stash_accounts, + controller_keys, + controller_accounts, + stash_raw_keys, + controller_raw_keys, } } /// Endow validators (stashes and controllers), bond and rotate keys. /// /// Signer of `connection` should have enough balance to endow new accounts. -pub fn prepare_validators(connection: &SignedConnection, node: &str, accounts: &Accounts) { - balances_batch_transfer( - connection, - accounts.stash_accounts.clone(), - MIN_VALIDATOR_BOND + TOKEN, - ); - balances_batch_transfer( - connection, - accounts.get_controller_accounts().to_vec(), - TOKEN, - ); +pub async fn prepare_validators(connection: &SignedConnection, node: &str, accounts: &Accounts) { + connection + .batch_transfer( + &accounts.stash_accounts, + MIN_VALIDATOR_BOND + TOKEN, + TxStatus::Finalized, + ) + .await + .unwrap(); + connection + .batch_transfer(&accounts.controller_accounts, TOKEN, TxStatus::Finalized) + .await + .unwrap(); + let mut handles = vec![]; for (stash, controller) in accounts - .stash_keys + .stash_raw_keys .iter() .zip(accounts.get_controller_accounts().iter()) { - let connection = SignedConnection::new(node, stash.clone()); - staking_bond( - &connection, - MIN_VALIDATOR_BOND, - controller, - XtStatus::Finalized, - ); + let connection = SignedConnection::new(node.to_string(), KeyPair::new(stash.clone())).await; + let contr = controller.clone(); + handles.push(tokio::spawn(async move { + connection + .bond(MIN_VALIDATOR_BOND, contr, TxStatus::Finalized) + .await + .unwrap(); + })); } - for controller in accounts.controller_keys.iter() { - let keys = rotate_keys(connection).expect("Failed to generate new keys"); - let connection = SignedConnection::new(node, controller.clone()); - set_keys(&connection, keys, XtStatus::Finalized); - staking_validate(&connection, 10, XtStatus::Finalized); + for controller in accounts.controller_raw_keys.iter() { + let keys = connection.connection.author_rotate_keys().await; + let connection = + SignedConnection::new(node.to_string(), KeyPair::new(controller.clone())).await; + handles.push(tokio::spawn(async move { + connection + .set_keys(keys, TxStatus::Finalized) + .await + .unwrap(); + connection.validate(10, TxStatus::Finalized).await.unwrap(); + })); } + + join_all(handles).await; } diff --git a/flooder/Cargo.lock b/flooder/Cargo.lock index d71dccc95b..33e3f5d672 100644 --- a/flooder/Cargo.lock +++ b/flooder/Cargo.lock @@ -12,55 +12,6 @@ dependencies = [ "regex", ] -[[package]] -name = "ac-compose-macros" -version = "0.1.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate-api-client.git?branch=aleph-v0.9.28#92bc66b75428213e4bcdb2484616cf458455813a" -dependencies = [ - "ac-primitives", - "log", - "parity-scale-codec", - "sp-application-crypto 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", -] - -[[package]] -name = "ac-node-api" -version = "0.1.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate-api-client.git?branch=aleph-v0.9.28#92bc66b75428213e4bcdb2484616cf458455813a" -dependencies = [ - "ac-primitives", - "derive_more", - "frame-metadata 15.0.0 (git+https://github.com/integritee-network/frame-metadata)", - "frame-support", - "frame-system", - "hex", - "log", - "parity-scale-codec", - "scale-info", - "serde", - "serde_json", - "sp-application-crypto 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", -] - -[[package]] -name = "ac-primitives" -version = "0.1.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate-api-client.git?branch=aleph-v0.9.28#92bc66b75428213e4bcdb2484616cf458455813a" -dependencies = [ - "hex", - "parity-scale-codec", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", -] - [[package]] name = "addr2line" version = "0.17.0" @@ -98,31 +49,25 @@ dependencies = [ [[package]] name = "aleph_client" -version = "1.12.0" +version = "2.0.0" dependencies = [ - "ac-node-api", - "ac-primitives", "anyhow", + "async-trait", "contract-metadata 1.5.0", "contract-transcode", "frame-support", + "futures", "hex", "ink_metadata", "log", - "pallet-aleph", - "pallet-balances", - "pallet-elections", - "pallet-multisig", - "pallet-staking", - "pallet-treasury", - "pallet-vesting", "parity-scale-codec", "primitives", "rayon", + "serde", "serde_json", "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "substrate-api-client", + "subxt", "thiserror", ] @@ -150,15 +95,6 @@ version = "1.0.66" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "216261ddc8289130e551ddcd5ce8a064710c0d064a4d2895c67151c92b5443f6" -[[package]] -name = "approx" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cab112f0a86d568ea0e627cc1d6be74a1e9cd55214684db5561995f6dad897c6" -dependencies = [ - "num-traits", -] - [[package]] name = "arrayref" version = "0.3.6" @@ -186,6 +122,16 @@ version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6" +[[package]] +name = "async-lock" +version = "2.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8101efe8695a6c17e02911402145357e718ac92d3ff88ae8419e84b1707b685" +dependencies = [ + "event-listener", + "futures-lite", +] + [[package]] name = "async-trait" version = "0.1.58" @@ -247,6 +193,15 @@ version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" +[[package]] +name = "beef" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a8241f3ebb85c056b509d4327ad0358fbbba6ffb340bf388f26350aeda225b1" +dependencies = [ + "serde", +] + [[package]] name = "bitflags" version = "1.3.2" @@ -267,11 +222,11 @@ dependencies = [ [[package]] name = "blake2" -version = "0.10.4" +version = "0.10.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9cf849ee05b2ee5fba5e36f97ff8ec2533916700fc0758d40d92136a42f3388" +checksum = "b12e5fd123190ce1c2e559308a94c9bacad77907d4c6005d9e58fe1a0689e55e" dependencies = [ - "digest 0.10.5", + "digest 0.10.6", ] [[package]] @@ -340,9 +295,9 @@ checksum = "572f695136211188308f16ad2ca5c851a712c464060ae6974944458eb83880ba" [[package]] name = "byte-slice-cast" -version = "1.2.1" +version = "1.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87c5fdd0166095e1d463fc6cc01aa8ce547ad77a4e84d42eb6762b084e28067e" +checksum = "c3ac9f8b63eca6fd385229b3675f6cc0dc5c8a5c8a54a59d4f52ffd670d87b0c" [[package]] name = "byte-tools" @@ -395,9 +350,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.73" +version = "1.0.76" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fff2a6927b3bb87f9595d67196a70493f627687a71d87a0d692242c33f58c11" +checksum = "76a284da2e6fe2092f2353e51713435363112dfd60030e22add80be333fb928f" [[package]] name = "cfg-if" @@ -413,9 +368,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "chrono" -version = "0.4.22" +version = "0.4.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfd4d1b31faaa3a89d7934dbded3111da0d2ef28e3ebccdb4f0179f5929d1ef1" +checksum = "16b0a3d9ed01224b22057780a37bb8c5dbfe1be8ba48678e7bf57ec4b385411f" dependencies = [ "iana-time-zone", "num-integer", @@ -425,9 +380,9 @@ dependencies = [ [[package]] name = "clap" -version = "3.2.21" +version = "3.2.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ed5341b2301a26ab80be5cbdced622e80ed808483c52e45e3310a877d3b37d7" +checksum = "71655c45cb9845d3270c9d6df84ebe72b4dad3c2ba3f7023ad47c144e4e473a5" dependencies = [ "atty", "bitflags", @@ -518,7 +473,7 @@ checksum = "cfa6db9d18dd5ef92d29c52d30c8503c857d390d9e4043e12466f1490c43c05e" dependencies = [ "anyhow", "contract-metadata 0.6.0", - "env_logger 0.9.1", + "env_logger 0.9.3", "escape8259", "hex", "indexmap", @@ -537,10 +492,14 @@ dependencies = [ ] [[package]] -name = "convert_case" -version = "0.4.0" +name = "core-foundation" +version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" +checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146" +dependencies = [ + "core-foundation-sys", + "libc", +] [[package]] name = "core-foundation-sys" @@ -685,9 +644,9 @@ dependencies = [ [[package]] name = "cxx" -version = "1.0.80" +version = "1.0.81" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b7d4e43b25d3c994662706a1d4fcfc32aaa6afd287502c111b237093bb23f3a" +checksum = "97abf9f0eca9e52b7f81b945524e76710e6cb2366aead23b7d4fbf72e281f888" dependencies = [ "cc", "cxxbridge-flags", @@ -697,9 +656,9 @@ dependencies = [ [[package]] name = "cxx-build" -version = "1.0.80" +version = "1.0.81" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84f8829ddc213e2c1368e51a2564c552b65a8cb6a28f31e576270ac81d5e5827" +checksum = "7cc32cc5fea1d894b77d269ddb9f192110069a8a9c1f1d441195fba90553dea3" dependencies = [ "cc", "codespan-reporting", @@ -712,18 +671,53 @@ dependencies = [ [[package]] name = "cxxbridge-flags" -version = "1.0.80" +version = "1.0.81" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e72537424b474af1460806647c41d4b6d35d09ef7fe031c5c2fa5766047cc56a" +checksum = "8ca220e4794c934dc6b1207c3b42856ad4c302f2df1712e9f8d2eec5afaacf1f" [[package]] name = "cxxbridge-macro" -version = "1.0.80" +version = "1.0.81" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b846f081361125bfc8dc9d3940c84e1fd83ba54bbca7b17cd29483c828be0704" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "darling" +version = "0.14.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b0dd3cd20dc6b5a876612a6e5accfe7f3dd883db6d07acfbf14c128f61550dfa" +dependencies = [ + "darling_core", + "darling_macro", +] + +[[package]] +name = "darling_core" +version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "309e4fb93eed90e1e14bea0da16b209f81813ba9fc7830c20ed151dd7bc0a4d7" +checksum = "a784d2ccaf7c98501746bf0be29b2022ba41fd62a2e622af997a03e9f972859f" dependencies = [ + "fnv", + "ident_case", "proc-macro2", "quote", + "strsim", + "syn", +] + +[[package]] +name = "darling_macro" +version = "0.14.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7618812407e9402654622dd402b0a89dff9ba93badd6540781526117b92aab7e" +dependencies = [ + "darling_core", + "quote", "syn", ] @@ -736,16 +730,25 @@ dependencies = [ "const-oid", ] +[[package]] +name = "derivative" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "derive_more" version = "0.99.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321" dependencies = [ - "convert_case", "proc-macro2", "quote", - "rustc_version", "syn", ] @@ -769,9 +772,9 @@ dependencies = [ [[package]] name = "digest" -version = "0.10.5" +version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adfbc57365a37acbd2ebf2b64d7e69bb766e2fea813521ed536f5d0520dcf86c" +checksum = "8168378f4e5023e7218c89c891c0fd8ecdb5e5e4f18cb78f38cf245dd021e76f" dependencies = [ "block-buffer 0.10.3", "crypto-common", @@ -885,9 +888,9 @@ dependencies = [ [[package]] name = "env_logger" -version = "0.9.1" +version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c90bf5f19754d10198ccb95b70664fc925bd1fc090a0fd9a6ebc54acc8cd6272" +checksum = "a12e6657c4c97ebab115a42dcee77225f7f482cdd841cf7088c657a42e9e00e7" dependencies = [ "atty", "humantime", @@ -911,12 +914,27 @@ dependencies = [ "rustversion", ] +[[package]] +name = "event-listener" +version = "2.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" + [[package]] name = "fake-simd" version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed" +[[package]] +name = "fastrand" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7a407cfaa3385c4ae6b23e84623d48c2798d06e3e6a1878f7f59f17b3f86499" +dependencies = [ + "instant", +] + [[package]] name = "ff" version = "0.11.1" @@ -960,17 +978,23 @@ dependencies = [ "futures", "hdrhistogram", "log", - "mio", + "mio 0.6.23", "parity-scale-codec", - "rayon", "serde_json", "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "substrate-api-client", + "subxt", + "tokio", "ws", "zip", ] +[[package]] +name = "fnv" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" + [[package]] name = "foreign-types" version = "0.3.2" @@ -995,55 +1019,6 @@ dependencies = [ "percent-encoding", ] -[[package]] -name = "frame-benchmarking" -version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" -dependencies = [ - "frame-support", - "frame-system", - "linregress", - "log", - "parity-scale-codec", - "paste", - "scale-info", - "serde", - "sp-api", - "sp-application-crypto 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-storage 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", -] - -[[package]] -name = "frame-election-provider-solution-type" -version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" -dependencies = [ - "proc-macro-crate", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "frame-election-provider-support" -version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" -dependencies = [ - "frame-election-provider-solution-type", - "frame-support", - "frame-system", - "parity-scale-codec", - "scale-info", - "sp-arithmetic 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-npos-elections", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", -] - [[package]] name = "frame-metadata" version = "15.0.0" @@ -1056,24 +1031,13 @@ dependencies = [ "serde", ] -[[package]] -name = "frame-metadata" -version = "15.0.0" -source = "git+https://github.com/integritee-network/frame-metadata#3b43da9821238681f9431276d55b92a079142083" -dependencies = [ - "cfg-if 1.0.0", - "parity-scale-codec", - "scale-info", - "serde", -] - [[package]] name = "frame-support" version = "4.0.0-dev" source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" dependencies = [ "bitflags", - "frame-metadata 15.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "frame-metadata", "frame-support-procedural", "impl-trait-for-tuples", "k256", @@ -1132,23 +1096,6 @@ dependencies = [ "syn", ] -[[package]] -name = "frame-system" -version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" -dependencies = [ - "frame-support", - "log", - "parity-scale-codec", - "scale-info", - "serde", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-version", -] - [[package]] name = "fuchsia-zircon" version = "0.3.3" @@ -1220,6 +1167,21 @@ version = "0.3.25" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "00f5fb52a06bdcadeb54e8d3671f8888a39697dcb0b81b23b55174030427f4eb" +[[package]] +name = "futures-lite" +version = "1.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7694489acd39452c77daa48516b894c153f192c3578d5a839b62c58099fcbf48" +dependencies = [ + "fastrand", + "futures-core", + "futures-io", + "memchr", + "parking", + "pin-project-lite", + "waker-fn", +] + [[package]] name = "futures-macro" version = "0.3.25" @@ -1417,6 +1379,17 @@ dependencies = [ "hmac 0.8.1", ] +[[package]] +name = "http" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75f43d41e26995c17e71ee126451dd3941010b0514a81a9d11f3b341debc2399" +dependencies = [ + "bytes 1.2.1", + "fnv", + "itoa", +] + [[package]] name = "httparse" version = "1.8.0" @@ -1431,9 +1404,9 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" [[package]] name = "iana-time-zone" -version = "0.1.51" +version = "0.1.53" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f5a6ef98976b22b3b7f2f3a806f858cb862044cfa66805aa3ad84cb3d3b785ed" +checksum = "64c122667b287044802d6ce17ee2ddf13207ed924c712de9a66a5814d5b64765" dependencies = [ "android_system_properties", "core-foundation-sys", @@ -1453,6 +1426,12 @@ dependencies = [ "cxx-build", ] +[[package]] +name = "ident_case" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" + [[package]] name = "idna" version = "0.3.0" @@ -1527,7 +1506,7 @@ dependencies = [ "derive_more", "parity-scale-codec", "rand 0.8.5", - "secp256k1 0.24.0", + "secp256k1 0.24.1", "sha2 0.10.6", "sha3", ] @@ -1553,7 +1532,7 @@ dependencies = [ "rand 0.8.5", "rlibc", "scale-info", - "secp256k1 0.24.0", + "secp256k1 0.24.1", "sha2 0.10.6", "sha3", "static_assertions", @@ -1594,6 +1573,15 @@ dependencies = [ "scale-info", ] +[[package]] +name = "instant" +version = "0.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" +dependencies = [ + "cfg-if 1.0.0", +] + [[package]] name = "integer-sqrt" version = "0.1.5" @@ -1642,6 +1630,75 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "jsonrpsee" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8bd0d559d5e679b1ab2f869b486a11182923863b1b3ee8b421763cdd707b783a" +dependencies = [ + "jsonrpsee-client-transport", + "jsonrpsee-core", + "jsonrpsee-types", +] + +[[package]] +name = "jsonrpsee-client-transport" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8752740ecd374bcbf8b69f3e80b0327942df76f793f8d4e60d3355650c31fb74" +dependencies = [ + "futures-util", + "http", + "jsonrpsee-core", + "jsonrpsee-types", + "pin-project", + "rustls-native-certs", + "soketto", + "thiserror", + "tokio", + "tokio-rustls", + "tokio-util", + "tracing", + "webpki-roots", +] + +[[package]] +name = "jsonrpsee-core" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3dc3e9cf2ba50b7b1d7d76a667619f82846caa39e8e8daa8a4962d74acaddca" +dependencies = [ + "anyhow", + "async-lock", + "async-trait", + "beef", + "futures-channel", + "futures-timer", + "futures-util", + "jsonrpsee-types", + "rustc-hash", + "serde", + "serde_json", + "thiserror", + "tokio", + "tracing", + "tracing-futures", +] + +[[package]] +name = "jsonrpsee-types" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e290bba767401b646812f608c099b922d8142603c9e73a50fb192d3ac86f4a0d" +dependencies = [ + "anyhow", + "beef", + "serde", + "serde_json", + "thiserror", + "tracing", +] + [[package]] name = "k256" version = "0.10.4" @@ -1656,9 +1713,12 @@ dependencies = [ [[package]] name = "keccak" -version = "0.1.2" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9b7d56ba4a8344d6be9729995e6b06f928af29998cdf79fe390cbf6b1fee838" +checksum = "3afef3b6eff9ce9d8ff9b3601125eec7f0c8cbac7abd14f355d053fa56c98768" +dependencies = [ + "cpufeatures", +] [[package]] name = "kernel32-sys" @@ -1684,15 +1744,9 @@ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" [[package]] name = "libc" -version = "0.2.135" +version = "0.2.137" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68783febc7782c6c5cb401fbda4de5a9898be1762314da0bb2c10ced61f18b0c" - -[[package]] -name = "libm" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "292a948cd991e376cf75541fe5b97a1081d713c618b4f1b9500f8844e49eb565" +checksum = "fc7fcc620a3bff7cdd7a365be3376c97191aeaccc2a603e600951e452615bf89" [[package]] name = "libsecp256k1" @@ -1751,16 +1805,6 @@ dependencies = [ "cc", ] -[[package]] -name = "linregress" -version = "0.4.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6c601a85f5ecd1aba625247bca0031585fb1c446461b142878a16f8245ddeb8" -dependencies = [ - "nalgebra", - "statrs", -] - [[package]] name = "lock_api" version = "0.4.9" @@ -1789,15 +1833,6 @@ dependencies = [ "regex-automata", ] -[[package]] -name = "matrixmultiply" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "add85d4dd35074e6fedc608f8c8f513a3548619a9024b751949ef0e8e45a4d84" -dependencies = [ - "rawpointer", -] - [[package]] name = "memchr" version = "2.5.0" @@ -1876,6 +1911,18 @@ dependencies = [ "winapi 0.2.8", ] +[[package]] +name = "mio" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5d732bc30207a6423068df043e3d02e0735b155ad7ce1a6f76fe2baa5b158de" +dependencies = [ + "libc", + "log", + "wasi 0.11.0+wasi-snapshot-preview1", + "windows-sys 0.42.0", +] + [[package]] name = "mio-extras" version = "2.0.6" @@ -1884,7 +1931,7 @@ checksum = "52403fe290012ce777c4626790c8951324a2b9e3316b3143779c72b029742f19" dependencies = [ "lazycell", "log", - "mio", + "mio 0.6.23", "slab", ] @@ -1900,35 +1947,6 @@ dependencies = [ "ws2_32-sys", ] -[[package]] -name = "nalgebra" -version = "0.27.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "462fffe4002f4f2e1f6a9dcf12cc1a6fc0e15989014efc02a941d3e0f5dc2120" -dependencies = [ - "approx", - "matrixmultiply", - "nalgebra-macros", - "num-complex", - "num-rational 0.4.1", - "num-traits", - "rand 0.8.5", - "rand_distr", - "simba", - "typenum", -] - -[[package]] -name = "nalgebra-macros" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01fcc0b8149b4632adc89ac3b7b31a12fb6099a0317a4eb2ebff574ef7de7218" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - [[package]] name = "net2" version = "0.2.38" @@ -1980,15 +1998,6 @@ dependencies = [ "num-traits", ] -[[package]] -name = "num-complex" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ae39348c8bc5fbd7f40c727a9925f03517afd2ab27d46702108b6a7e5414c19" -dependencies = [ - "num-traits", -] - [[package]] name = "num-format" version = "0.4.3" @@ -2021,17 +2030,6 @@ dependencies = [ "num-traits", ] -[[package]] -name = "num-rational" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0" -dependencies = [ - "autocfg", - "num-integer", - "num-traits", -] - [[package]] name = "num-traits" version = "0.2.15" @@ -2039,14 +2037,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" dependencies = [ "autocfg", - "libm", ] [[package]] name = "num_cpus" -version = "1.13.1" +version = "1.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19e64526ebdee182341572e50e9ad03965aa510cd94427a4549448f285e957a1" +checksum = "f6058e64324c71e02bc2b150e4f3bc8286db6c83092132ffa3f6b1eab0f9def5" dependencies = [ "hermit-abi", "libc", @@ -2063,9 +2060,9 @@ dependencies = [ [[package]] name = "once_cell" -version = "1.15.0" +version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e82dad04139b71a90c080c8463fe0dc7902db5192d939bd0950f074d014339e1" +checksum = "86f0b0d4bf799edbc74508c1e8bf170ff5f41238e5f8225603ca7caaae2b7860" [[package]] name = "opaque-debug" @@ -2105,6 +2102,12 @@ dependencies = [ "syn", ] +[[package]] +name = "openssl-probe" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" + [[package]] name = "openssl-sys" version = "0.9.77" @@ -2120,204 +2123,9 @@ dependencies = [ [[package]] name = "os_str_bytes" -version = "6.3.0" +version = "6.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ff7415e9ae3fff1225851df9e0d9e4e5479f947619774677a63572e55e80eff" - -[[package]] -name = "pallet-aleph" -version = "0.5.0" -dependencies = [ - "frame-support", - "frame-system", - "pallet-balances", - "pallet-session", - "pallets-support", - "parity-scale-codec", - "primitives", - "scale-info", - "serde", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", -] - -[[package]] -name = "pallet-authorship" -version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" -dependencies = [ - "frame-support", - "frame-system", - "impl-trait-for-tuples", - "parity-scale-codec", - "scale-info", - "sp-authorship", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", -] - -[[package]] -name = "pallet-balances" -version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" -dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", - "log", - "parity-scale-codec", - "scale-info", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", -] - -[[package]] -name = "pallet-elections" -version = "0.5.0" -dependencies = [ - "frame-election-provider-support", - "frame-support", - "frame-system", - "pallet-authorship", - "pallet-balances", - "pallet-session", - "pallet-staking", - "pallets-support", - "parity-scale-codec", - "primitives", - "scale-info", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-staking", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", -] - -[[package]] -name = "pallet-multisig" -version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" -dependencies = [ - "frame-support", - "frame-system", - "parity-scale-codec", - "scale-info", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", -] - -[[package]] -name = "pallet-session" -version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" -dependencies = [ - "frame-support", - "frame-system", - "impl-trait-for-tuples", - "log", - "pallet-timestamp", - "parity-scale-codec", - "scale-info", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-session", - "sp-staking", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-trie 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", -] - -[[package]] -name = "pallet-staking" -version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" -dependencies = [ - "frame-election-provider-support", - "frame-support", - "frame-system", - "log", - "pallet-authorship", - "pallet-session", - "parity-scale-codec", - "scale-info", - "serde", - "sp-application-crypto 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-staking", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", -] - -[[package]] -name = "pallet-timestamp" -version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" -dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", - "log", - "parity-scale-codec", - "scale-info", - "sp-inherents", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-timestamp", -] - -[[package]] -name = "pallet-transaction-payment" -version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" -dependencies = [ - "frame-support", - "frame-system", - "parity-scale-codec", - "scale-info", - "serde", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", -] - -[[package]] -name = "pallet-treasury" -version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" -dependencies = [ - "frame-support", - "frame-system", - "impl-trait-for-tuples", - "pallet-balances", - "parity-scale-codec", - "scale-info", - "serde", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", -] - -[[package]] -name = "pallet-vesting" -version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" -dependencies = [ - "frame-support", - "frame-system", - "log", - "parity-scale-codec", - "scale-info", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", -] - -[[package]] -name = "pallets-support" -version = "0.1.0" -dependencies = [ - "frame-support", -] +checksum = "7b5bf27447411e9ee3ff51186bf7a08e16c341efdde93f4d823e8844429bed7e" [[package]] name = "parity-scale-codec" @@ -2378,6 +2186,12 @@ version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "be5e13c266502aadf83426d87d81a0f5d1ef45b8027f5a471c360abfe4bfae92" +[[package]] +name = "parking" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "427c3892f9e783d91cc128285287e70a59e206ca452770ece88a76f7a3eddd72" + [[package]] name = "parking_lot" version = "0.12.1" @@ -2398,7 +2212,7 @@ dependencies = [ "libc", "redox_syscall", "smallvec", - "windows-sys", + "windows-sys 0.42.0", ] [[package]] @@ -2431,6 +2245,26 @@ version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e" +[[package]] +name = "pin-project" +version = "1.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad29a609b6bcd67fee905812e544992d216af9d755757c05ed2d0e15a74c6ecc" +dependencies = [ + "pin-project-internal", +] + +[[package]] +name = "pin-project-internal" +version = "1.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "069bdb1e05adc7a8990dce9cc75370895fbe4e3d58b9b73bf1aee56359344a55" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "pin-project-lite" version = "0.2.9" @@ -2445,15 +2279,15 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" [[package]] name = "pkg-config" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1df8c4ec4b0627e53bdf214615ad287367e482558cf84b109250b37464dc03ae" +checksum = "6ac9a59f73473f1b8d852421e59e64809f025994837ef743615c6d0c5b305160" [[package]] name = "ppv-lite86" -version = "0.2.16" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb9f9e6e233e5c4a35559a617bf40a4ec447db2e84c20b55a6f83167b7e57872" +checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" [[package]] name = "primitive-types" @@ -2605,16 +2439,6 @@ dependencies = [ "getrandom 0.2.8", ] -[[package]] -name = "rand_distr" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32cb0b9bc82b0a0876c2dd994a7e7a2683d3e7390ca40e6886785ef0c7e3ee31" -dependencies = [ - "num-traits", - "rand 0.8.5", -] - [[package]] name = "rand_hc" version = "0.2.0" @@ -2633,12 +2457,6 @@ dependencies = [ "rand_core 0.5.1", ] -[[package]] -name = "rawpointer" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3" - [[package]] name = "rayon" version = "1.5.3" @@ -2674,18 +2492,18 @@ dependencies = [ [[package]] name = "ref-cast" -version = "1.0.12" +version = "1.0.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12a733f1746c929b4913fe48f8697fcf9c55e3304ba251a79ffb41adfeaf49c2" +checksum = "53b15debb4f9d60d767cd8ca9ef7abb2452922f3214671ff052defc7f3502c44" dependencies = [ "ref-cast-impl", ] [[package]] name = "ref-cast-impl" -version = "1.0.12" +version = "1.0.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5887de4a01acafd221861463be6113e6e87275e79804e56779f4cdc131c60368" +checksum = "abfa8511e9e94fd3de6585a3d3cd00e01ed556dc9814829280af0e8dc72a8f36" dependencies = [ "proc-macro2", "quote", @@ -2694,9 +2512,9 @@ dependencies = [ [[package]] name = "regex" -version = "1.6.0" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c4eb3267174b8c6c2f654116623910a0fef09c4753f8dd83db29c48a0df988b" +checksum = "e076559ef8e241f2ae3479e36f97bd5741c0330689e217ad51ce2c76808b868a" dependencies = [ "aho-corasick", "memchr", @@ -2714,9 +2532,9 @@ dependencies = [ [[package]] name = "regex-syntax" -version = "0.6.27" +version = "0.6.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3f87b73ce11b1619a3c6332f45341e0047173771e8b8b73f87bfeefb7b56244" +checksum = "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848" [[package]] name = "rfc6979" @@ -2729,6 +2547,21 @@ dependencies = [ "zeroize", ] +[[package]] +name = "ring" +version = "0.16.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc" +dependencies = [ + "cc", + "libc", + "once_cell", + "spin", + "untrusted", + "web-sys", + "winapi 0.3.9", +] + [[package]] name = "rlibc" version = "1.0.0" @@ -2754,12 +2587,36 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3e75f6a532d0fd9f7f13144f392b6ad56a32696bfcd9c78f797f16bbb6f072d6" [[package]] -name = "rustc_version" -version = "0.4.0" +name = "rustls" +version = "0.20.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" +checksum = "539a2bfe908f471bfa933876bd1eb6a19cf2176d375f82ef7f99530a40e48c2c" dependencies = [ - "semver", + "log", + "ring", + "sct", + "webpki", +] + +[[package]] +name = "rustls-native-certs" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0167bac7a9f490495f3c33013e7722b53cb087ecbe082fb0c6387c96f634ea50" +dependencies = [ + "openssl-probe", + "rustls-pemfile", + "schannel", + "security-framework", +] + +[[package]] +name = "rustls-pemfile" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0864aeff53f8c05aa08d86e5ef839d3dfcf07aeba2db32f12db0ef716e87bd55" +dependencies = [ + "base64", ] [[package]] @@ -2774,11 +2631,34 @@ version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4501abdff3ae82a1c1b477a17252eb69cee9e66eb915c1abaa4f44d873df9f09" +[[package]] +name = "scale-bits" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8dd7aca73785181cc41f0bbe017263e682b585ca660540ba569133901d013ecf" +dependencies = [ + "parity-scale-codec", + "scale-info", + "serde", +] + +[[package]] +name = "scale-decode" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d823d4be477fc33321f93d08fb6c2698273d044f01362dc27573a750deb7c233" +dependencies = [ + "parity-scale-codec", + "scale-bits", + "scale-info", + "thiserror", +] + [[package]] name = "scale-info" -version = "2.2.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "333af15b02563b8182cd863f925bd31ef8fa86a0e095d30c091956057d436153" +checksum = "88d8a765117b237ef233705cc2cc4c6a27fccd46eea6ef0c8c6dae5f3ef407f8" dependencies = [ "bitvec", "cfg-if 1.0.0", @@ -2790,9 +2670,9 @@ dependencies = [ [[package]] name = "scale-info-derive" -version = "2.2.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53f56acbd0743d29ffa08f911ab5397def774ad01bab3786804cf6ee057fb5e1" +checksum = "cdcd47b380d8c4541044e341dcd9475f55ba37ddc50c908d945fc036a8642496" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -2800,6 +2680,33 @@ dependencies = [ "syn", ] +[[package]] +name = "scale-value" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "16a5e7810815bd295da73e4216d1dfbced3c7c7c7054d70fa5f6e4c58123fff4" +dependencies = [ + "either", + "frame-metadata", + "parity-scale-codec", + "scale-bits", + "scale-decode", + "scale-info", + "serde", + "thiserror", + "yap", +] + +[[package]] +name = "schannel" +version = "0.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88d6731146462ea25d9244b2ed5fd1d716d25c52e4d54aa4fb0f3c4e9854dbe2" +dependencies = [ + "lazy_static", + "windows-sys 0.36.1", +] + [[package]] name = "schnorrkel" version = "0.9.1" @@ -2830,6 +2737,16 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c8132065adcfd6e02db789d9285a0deb2f3fcb04002865ab67d5fb103533898" +[[package]] +name = "sct" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4" +dependencies = [ + "ring", + "untrusted", +] + [[package]] name = "sec1" version = "0.2.1" @@ -2853,9 +2770,9 @@ dependencies = [ [[package]] name = "secp256k1" -version = "0.24.0" +version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7649a0b3ffb32636e60c7ce0d70511eda9c52c658cd0634e194d5a19943aeff" +checksum = "ff55dc09d460954e9ef2fa8a7ced735a964be9981fd50e870b2b3b0705e14964" dependencies = [ "secp256k1-sys 0.6.1", ] @@ -2887,6 +2804,29 @@ dependencies = [ "zeroize", ] +[[package]] +name = "security-framework" +version = "2.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2bc1bb97804af6631813c55739f771071e0f2ed33ee20b68c86ec505d906356c" +dependencies = [ + "bitflags", + "core-foundation", + "core-foundation-sys", + "libc", + "security-framework-sys", +] + +[[package]] +name = "security-framework-sys" +version = "2.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0160a13a177a45bfb43ce71c01580998474f556ad854dcbca936dd2841a5c556" +dependencies = [ + "core-foundation-sys", + "libc", +] + [[package]] name = "semver" version = "1.0.14" @@ -2939,6 +2879,19 @@ dependencies = [ "opaque-debug 0.2.3", ] +[[package]] +name = "sha-1" +version = "0.9.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "99cd6713db3cf16b6c84e06321e049a9b9f699826e16096d23bbcc44d15d51a6" +dependencies = [ + "block-buffer 0.9.0", + "cfg-if 1.0.0", + "cpufeatures", + "digest 0.9.0", + "opaque-debug 0.3.0", +] + [[package]] name = "sha2" version = "0.8.2" @@ -2972,7 +2925,7 @@ checksum = "82e6b795fe2e3b1e845bafcb27aa35405c4d47cdfc92af5fc8d3002f76cebdc0" dependencies = [ "cfg-if 1.0.0", "cpufeatures", - "digest 0.10.5", + "digest 0.10.6", ] [[package]] @@ -2981,7 +2934,7 @@ version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bdf0c33fae925bdc080598b84bc15c55e7b9a4a43b3c704da051f977469691c9" dependencies = [ - "digest 0.10.5", + "digest 0.10.6", "keccak", ] @@ -2994,6 +2947,15 @@ dependencies = [ "lazy_static", ] +[[package]] +name = "signal-hook-registry" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e51e73328dc4ac0c7ccbda3a494dfa03df1de2f46018127f60c693f2648455b0" +dependencies = [ + "libc", +] + [[package]] name = "signature" version = "1.4.0" @@ -3005,31 +2967,44 @@ dependencies = [ ] [[package]] -name = "simba" -version = "0.5.1" +name = "slab" +version = "0.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e82063457853d00243beda9952e910b82593e4b07ae9f721b9278a99a0d3d5c" +checksum = "4614a76b2a8be0058caa9dbbaf66d988527d86d003c11a94fbd335d7661edcef" dependencies = [ - "approx", - "num-complex", - "num-traits", - "paste", + "autocfg", ] [[package]] -name = "slab" +name = "smallvec" +version = "1.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" + +[[package]] +name = "socket2" version = "0.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4614a76b2a8be0058caa9dbbaf66d988527d86d003c11a94fbd335d7661edcef" +checksum = "02e2d2db9033d13a1567121ddd7a095ee144db4e1ca1b1bda3419bc0da294ebd" dependencies = [ - "autocfg", + "libc", + "winapi 0.3.9", ] [[package]] -name = "smallvec" -version = "1.10.0" +name = "soketto" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" +checksum = "41d1c5305e39e09653383c2c7244f2f78b3bcae37cf50c64cb4789c9f5096ec2" +dependencies = [ + "base64", + "bytes 1.2.1", + "futures", + "httparse", + "log", + "rand 0.8.5", + "sha-1 0.9.8", +] [[package]] name = "sp-api" @@ -3118,18 +3093,6 @@ dependencies = [ "static_assertions", ] -[[package]] -name = "sp-authorship" -version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" -dependencies = [ - "async-trait", - "parity-scale-codec", - "sp-inherents", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", -] - [[package]] name = "sp-core" version = "6.0.0" @@ -3206,7 +3169,7 @@ dependencies = [ "regex", "scale-info", "schnorrkel", - "secp256k1 0.24.0", + "secp256k1 0.24.1", "secrecy", "serde", "sp-core-hashing 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", @@ -3244,7 +3207,7 @@ source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=alep dependencies = [ "blake2", "byteorder", - "digest 0.10.5", + "digest 0.10.6", "sha2 0.10.6", "sha3", "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", @@ -3358,7 +3321,7 @@ dependencies = [ "log", "parity-scale-codec", "parking_lot", - "secp256k1 0.24.0", + "secp256k1 0.24.1", "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", "sp-keystore 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", @@ -3405,20 +3368,6 @@ dependencies = [ "thiserror", ] -[[package]] -name = "sp-npos-elections" -version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" -dependencies = [ - "parity-scale-codec", - "scale-info", - "serde", - "sp-arithmetic 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", -] - [[package]] name = "sp-panic-handler" version = "4.0.0" @@ -3440,16 +3389,6 @@ dependencies = [ "regex", ] -[[package]] -name = "sp-rpc" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" -dependencies = [ - "rustc-hash", - "serde", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", -] - [[package]] name = "sp-runtime" version = "6.0.0" @@ -3556,20 +3495,6 @@ dependencies = [ "syn", ] -[[package]] -name = "sp-session" -version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" -dependencies = [ - "parity-scale-codec", - "scale-info", - "sp-api", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-staking", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", -] - [[package]] name = "sp-staking" version = "4.0.0-dev" @@ -3665,22 +3590,6 @@ dependencies = [ "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", ] -[[package]] -name = "sp-timestamp" -version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" -dependencies = [ - "async-trait", - "futures-timer", - "log", - "parity-scale-codec", - "sp-api", - "sp-inherents", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "thiserror", -] - [[package]] name = "sp-tracing" version = "5.0.0" @@ -3791,11 +3700,17 @@ dependencies = [ "wasmi", ] +[[package]] +name = "spin" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" + [[package]] name = "ss58-registry" -version = "1.33.0" +version = "1.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ab7554f8a8b6f8d71cd5a8e6536ef116e2ce0504cf97ebf16311d58065dc8a6" +checksum = "37a9821878e1f13aba383aa40a86fb1b33c7265774ec91e32563cb1dd1577496" dependencies = [ "Inflector", "num-format", @@ -3812,55 +3727,12 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" -[[package]] -name = "statrs" -version = "0.15.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05bdbb8e4e78216a85785a85d3ec3183144f98d0097b9281802c019bb07a6f05" -dependencies = [ - "approx", - "lazy_static", - "nalgebra", - "num-traits", - "rand 0.8.5", -] - [[package]] name = "strsim" version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" -[[package]] -name = "substrate-api-client" -version = "0.6.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate-api-client.git?branch=aleph-v0.9.28#92bc66b75428213e4bcdb2484616cf458455813a" -dependencies = [ - "ac-compose-macros", - "ac-node-api", - "ac-primitives", - "frame-metadata 15.0.0 (git+https://github.com/integritee-network/frame-metadata)", - "frame-support", - "frame-system", - "hex", - "log", - "pallet-balances", - "pallet-staking", - "pallet-transaction-payment", - "parity-scale-codec", - "primitive-types", - "serde", - "serde_json", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-rpc", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-version", - "thiserror", - "ws", -] - [[package]] name = "substrate-bip39" version = "0.4.4" @@ -3880,6 +3752,75 @@ version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" +[[package]] +name = "subxt" +version = "0.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0a8757ee0e19f87e722577282ab1386c86592a4b13ff963b9c6ec4176348104c" +dependencies = [ + "bitvec", + "derivative", + "frame-metadata", + "futures", + "hex", + "jsonrpsee", + "parity-scale-codec", + "parking_lot", + "scale-decode", + "scale-info", + "scale-value", + "serde", + "serde_json", + "sp-core 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-runtime 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "subxt-macro", + "subxt-metadata", + "thiserror", + "tracing", +] + +[[package]] +name = "subxt-codegen" +version = "0.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb77f93e11e6ff3ff95fe33e3d24c27c342e16feca8ef47759993614ebe90d2c" +dependencies = [ + "darling", + "frame-metadata", + "heck", + "parity-scale-codec", + "proc-macro-error", + "proc-macro2", + "quote", + "scale-info", + "subxt-metadata", + "syn", +] + +[[package]] +name = "subxt-macro" +version = "0.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "051cc21d77a54ae944b872eafdf9edfe1d9134fdfcfc3477dc10f763c76564a9" +dependencies = [ + "darling", + "proc-macro-error", + "subxt-codegen", + "syn", +] + +[[package]] +name = "subxt-metadata" +version = "0.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ed78d80db3a97d55e8b1cfecc1f6f9e21793a589d4e2e5f4fe2d6d5850c2e54" +dependencies = [ + "frame-metadata", + "parity-scale-codec", + "scale-info", + "sp-core 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "syn" version = "1.0.103" @@ -3920,9 +3861,9 @@ dependencies = [ [[package]] name = "textwrap" -version = "0.15.0" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1141d4d61095b28419e22cb0bbf02755f5e54e0526f97f1e3d1d160e60885fb" +checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d" [[package]] name = "thiserror" @@ -4007,6 +3948,62 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" +[[package]] +name = "tokio" +version = "1.21.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9e03c497dc955702ba729190dc4aac6f2a0ce97f913e5b1b5912fc5039d9099" +dependencies = [ + "autocfg", + "bytes 1.2.1", + "libc", + "memchr", + "mio 0.8.5", + "num_cpus", + "parking_lot", + "pin-project-lite", + "signal-hook-registry", + "socket2", + "tokio-macros", + "winapi 0.3.9", +] + +[[package]] +name = "tokio-macros" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9724f9a975fb987ef7a3cd9be0350edcbe130698af5b8f7a631e23d42d052484" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "tokio-rustls" +version = "0.23.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c43ee83903113e03984cb9e5cebe6c04a5116269e900e3ddba8f068a62adda59" +dependencies = [ + "rustls", + "tokio", + "webpki", +] + +[[package]] +name = "tokio-util" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bb2e075f03b3d66d8d8785356224ba688d2906a371015e225beeb65ca92c740" +dependencies = [ + "bytes 1.2.1", + "futures-core", + "futures-io", + "futures-sink", + "pin-project-lite", + "tokio", +] + [[package]] name = "toml" version = "0.5.9" @@ -4049,6 +4046,16 @@ dependencies = [ "valuable", ] +[[package]] +name = "tracing-futures" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2" +dependencies = [ + "pin-project", + "tracing", +] + [[package]] name = "tracing-log" version = "0.1.3" @@ -4126,8 +4133,8 @@ version = "1.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675" dependencies = [ - "cfg-if 0.1.10", - "digest 0.10.5", + "cfg-if 1.0.0", + "digest 0.10.6", "rand 0.8.5", "static_assertions", ] @@ -4183,6 +4190,12 @@ version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" +[[package]] +name = "untrusted" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" + [[package]] name = "url" version = "2.3.1" @@ -4213,6 +4226,12 @@ version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" +[[package]] +name = "waker-fn" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d5b2c62b4012a3e1eca5a7e077d13b3bf498c4073e33ccd58626607748ceeca" + [[package]] name = "wasi" version = "0.9.0+wasi-snapshot-preview1" @@ -4294,7 +4313,7 @@ dependencies = [ "downcast-rs", "libc", "memory_units", - "num-rational 0.2.4", + "num-rational", "num-traits", "parity-wasm", "wasmi-validation", @@ -4309,6 +4328,35 @@ dependencies = [ "parity-wasm", ] +[[package]] +name = "web-sys" +version = "0.3.60" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bcda906d8be16e728fd5adc5b729afad4e444e106ab28cd1c7256e54fa61510f" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "webpki" +version = "0.22.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f095d78192e208183081cc07bc5515ef55216397af48b873e5edcd72637fa1bd" +dependencies = [ + "ring", + "untrusted", +] + +[[package]] +name = "webpki-roots" +version = "0.22.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "368bfe657969fb01238bb756d351dcade285e0f6fcbd36dcb23359a5169975be" +dependencies = [ + "webpki", +] + [[package]] name = "winapi" version = "0.2.8" @@ -4352,6 +4400,19 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" +[[package]] +name = "windows-sys" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea04155a16a59f9eab786fe12a4a450e75cdb175f9e0d80da1e17db09f55b8d2" +dependencies = [ + "windows_aarch64_msvc 0.36.1", + "windows_i686_gnu 0.36.1", + "windows_i686_msvc 0.36.1", + "windows_x86_64_gnu 0.36.1", + "windows_x86_64_msvc 0.36.1", +] + [[package]] name = "windows-sys" version = "0.42.0" @@ -4359,12 +4420,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" dependencies = [ "windows_aarch64_gnullvm", - "windows_aarch64_msvc", - "windows_i686_gnu", - "windows_i686_msvc", - "windows_x86_64_gnu", + "windows_aarch64_msvc 0.42.0", + "windows_i686_gnu 0.42.0", + "windows_i686_msvc 0.42.0", + "windows_x86_64_gnu 0.42.0", "windows_x86_64_gnullvm", - "windows_x86_64_msvc", + "windows_x86_64_msvc 0.42.0", ] [[package]] @@ -4373,24 +4434,48 @@ version = "0.42.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "41d2aa71f6f0cbe00ae5167d90ef3cfe66527d6f613ca78ac8024c3ccab9a19e" +[[package]] +name = "windows_aarch64_msvc" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47" + [[package]] name = "windows_aarch64_msvc" version = "0.42.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dd0f252f5a35cac83d6311b2e795981f5ee6e67eb1f9a7f64eb4500fbc4dcdb4" +[[package]] +name = "windows_i686_gnu" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6" + [[package]] name = "windows_i686_gnu" version = "0.42.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fbeae19f6716841636c28d695375df17562ca208b2b7d0dc47635a50ae6c5de7" +[[package]] +name = "windows_i686_msvc" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024" + [[package]] name = "windows_i686_msvc" version = "0.42.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "84c12f65daa39dd2babe6e442988fc329d6243fdce47d7d2d155b8d874862246" +[[package]] +name = "windows_x86_64_gnu" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1" + [[package]] name = "windows_x86_64_gnu" version = "0.42.0" @@ -4403,6 +4488,12 @@ version = "0.42.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09d525d2ba30eeb3297665bd434a54297e4170c7f1a44cad4ef58095b4cd2028" +[[package]] +name = "windows_x86_64_msvc" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680" + [[package]] name = "windows_x86_64_msvc" version = "0.42.0" @@ -4419,11 +4510,11 @@ dependencies = [ "bytes 0.4.12", "httparse", "log", - "mio", + "mio 0.6.23", "mio-extras", "openssl", "rand 0.7.3", - "sha-1", + "sha-1 0.8.2", "slab", "url", ] @@ -4440,13 +4531,19 @@ dependencies = [ [[package]] name = "wyz" -version = "0.5.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30b31594f29d27036c383b53b59ed3476874d518f0efb151b27a4c275141390e" +checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed" dependencies = [ "tap", ] +[[package]] +name = "yap" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5fc77f52dc9e9b10d55d3f4462c3b7fc393c4f17975d641542833ab2d3bc26ef" + [[package]] name = "zeroize" version = "1.5.7" diff --git a/flooder/Cargo.toml b/flooder/Cargo.toml index 92694e075b..514d608440 100644 --- a/flooder/Cargo.toml +++ b/flooder/Cargo.toml @@ -6,8 +6,6 @@ edition = "2021" license = "Apache 2.0" [dependencies] -substrate-api-client = { git = "https://github.com/Cardinal-Cryptography/substrate-api-client.git", branch = "aleph-v0.9.28" } - sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28", features = ["full_crypto"] } sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } @@ -23,6 +21,7 @@ env_logger = "0.8" futures = { version = "0.3", features = ["alloc"] } hdrhistogram = "7.3" log = "0.4" -rayon = "1.5" +subxt = "0.24.0" +tokio = { version = "1.21.2", features = ["full"] } aleph_client = { path = "../aleph-client" } diff --git a/flooder/src/config.rs b/flooder/src/config.rs index 3d6e4b84a6..48cc3ae413 100644 --- a/flooder/src/config.rs +++ b/flooder/src/config.rs @@ -6,7 +6,7 @@ use clap::Parser; #[clap(version = "1.0")] pub struct Config { /// URL address(es) of the nodes to send transactions to - #[clap(long, default_value = "127.0.0.1:9944")] + #[clap(long, default_value = "ws://127.0.0.1:9944")] pub nodes: Vec, /// how many transactions to send @@ -21,7 +21,7 @@ pub struct Config { #[clap(long, conflicts_with_all = &["phrase"])] pub seed: Option, - /// allows to skip accounts initialization process and just attempt to download their nonces + /// allows to skip accounts #[clap(long)] pub skip_initialization: bool, @@ -29,30 +29,10 @@ pub struct Config { #[clap(long, default_value = "0")] pub first_account_in_range: u64, - /// load transactions from file or generate ad-hoc - #[clap(long)] - pub load_txs: bool, - - /// path to encoded txs - #[clap(long)] - pub tx_store_path: Option, - - /// number of threads spawn during the flooding process - #[clap(long)] - pub threads: Option, - - /// allows to download nonces instead of using zeros for each account - #[clap(long)] - pub download_nonces: bool, - /// changes the awaited status of every transaction from `SubmitOnly` to `Ready` #[clap(long)] pub wait_for_ready: bool, - /// store txs after generation - #[clap(long)] - pub store_txs: bool, - /// How many transactions to put in the interval #[clap(long)] pub transactions_in_interval: Option, diff --git a/flooder/src/main.rs b/flooder/src/main.rs index a932b45888..f9c1b8c9c5 100644 --- a/flooder/src/main.rs +++ b/flooder/src/main.rs @@ -1,41 +1,108 @@ -use std::{ - convert::TryInto, - io::{Read, Write}, - iter::{once, repeat}, - path::Path, - sync::{Arc, Mutex}, - thread, - time::{Duration, Instant}, -}; +use std::time::Duration; -use aleph_client::{create_custom_connection, Extrinsic}; +use aleph_client::{ + account_from_keypair, pallets::balances::BalanceUserApi, raw_keypair_from_string, AccountId, + KeyPair, SignedConnection, TxStatus, +}; use clap::Parser; -use codec::{Compact, Decode, Encode}; use config::Config; -use hdrhistogram::Histogram as HdrHistogram; -use log::{debug, info}; -use rayon::prelude::*; -use sp_core::{sr25519, Pair}; -use sp_runtime::{generic, traits::BlakeTwo256, MultiAddress, OpaqueExtrinsic}; -use substrate_api_client::{ - compose_call, compose_extrinsic_offline, AccountId, Api, GenericAddress, - PlainTipExtrinsicParams, XtStatus, -}; -use ws_rpc_client::WsRpcClient; +use futures::future::join_all; +use log::info; +use subxt::ext::sp_core::{sr25519, Pair}; +use tokio::{time, time::sleep}; mod config; -mod ws_rpc_client; -type TransferTransaction = Extrinsic<([u8; 2], MultiAddress, codec::Compact)>; -type BlockNumber = u32; -type Header = generic::Header; -type Block = generic::Block; -type Nonce = u32; -type Connection = Api; +async fn flood( + connections: Vec, + dest: AccountId, + transfer_amount: u128, + tx_count: u64, + rate_limiting: Option<(u64, u64)>, + status: TxStatus, +) -> anyhow::Result<()> { + let handles: Vec<_> = connections + .into_iter() + .map(|conn| { + let dest = dest.clone(); + tokio::spawn(async move { + let (time, (tx_count, round_count)) = match rate_limiting { + Some((tx_in_interval, interval_secs)) => ( + interval_secs, + (tx_in_interval, (tx_count + tx_in_interval) / tx_in_interval), + ), + _ => (0, (tx_count, 1)), + }; + + for i in 0..round_count { + info!("starting round #{}", i); + let start = time::Instant::now(); + + info!("sending #{} transactions", tx_count); + for _ in 0..tx_count { + conn.transfer(dest.clone(), transfer_amount, status) + .await + .unwrap(); + } + + let dur = time::Instant::now().saturating_duration_since(start); + + let left_duration = Duration::from_secs(time).saturating_sub(dur); + + info!("sleeping for {}ms", left_duration.as_millis()); + sleep(left_duration).await; + } + }) + }) + .collect(); + + join_all(handles).await; + + Ok(()) +} + +async fn initialize_n_accounts String>( + connection: SignedConnection, + n: u32, + node: F, + account_balance: u128, + skip: bool, +) -> Vec { + let mut connections = vec![]; + for i in 0..n { + let seed = i.to_string(); + let signer = KeyPair::new(raw_keypair_from_string(&("//".to_string() + &seed))); + connections.push(SignedConnection::new(node(i), signer).await); + } -fn main() -> Result<(), anyhow::Error> { - let time_stats = Instant::now(); + if skip { + return connections; + } + for conn in connections.iter() { + connection + .transfer( + conn.signer.account_id().clone(), + account_balance, + TxStatus::Submitted, + ) + .await + .unwrap(); + } + connection + .transfer( + connection.signer.account_id().clone(), + 1, + TxStatus::Finalized, + ) + .await + .unwrap(); + + connections +} + +#[tokio::main(flavor = "multi_thread")] +async fn main() -> anyhow::Result<()> { env_logger::init(); let config: Config = Config::parse(); info!("Starting benchmark with config {:#?}", &config); @@ -44,258 +111,20 @@ fn main() -> Result<(), anyhow::Error> { if !config.skip_initialization && config.phrase.is_none() && config.seed.is_none() { panic!("Needs --phrase or --seed"); } + + let tx_count = config.transactions; + let accounts = (tx_count + 1) / 100; + let tx_per_account = 100; let rate_limiting = match (config.transactions_in_interval, config.interval_secs) { (Some(tii), Some(is)) => Some((tii, is)), (None, None) => None, _ => panic!("--transactions-in-interval needs to be specified with --interval-secs"), }; let tx_status = match config.wait_for_ready { - true => XtStatus::Ready, - false => XtStatus::SubmitOnly, - }; - info!( - "initializing thread-pool: {}ms", - time_stats.elapsed().as_millis() - ); - let mut thread_pool_builder = rayon::ThreadPoolBuilder::new(); - if let Some(threads) = config.threads { - let threads = threads.try_into().expect("`threads` within usize range"); - thread_pool_builder = thread_pool_builder.num_threads(threads); - } - let thread_pool = thread_pool_builder - .build() - .expect("thread-pool should be created"); - - info!( - "thread-pool initialized: {}ms", - time_stats.elapsed().as_millis() - ); - let threads = thread_pool.current_num_threads(); - info!("thread-pool reported {} threads", threads); - // each thread should have its own connection - info!( - "creating connection-pool: {}ms", - time_stats.elapsed().as_millis() - ); - let pool = create_connection_pool(&config.nodes, threads); - info!( - "connection-pool created: {}ms", - time_stats.elapsed().as_millis() - ); - let connection = pool.get(0).unwrap().get(0).unwrap().clone(); - - info!( - "preparing transactions: {}ms", - time_stats.elapsed().as_millis() - ); - let txs = thread_pool.install(|| prepare_txs(&config, &connection)); - info!( - "transactions prepared: {}ms", - time_stats.elapsed().as_millis() - ); - - let histogram = Arc::new(Mutex::new( - HdrHistogram::::new_with_bounds(1, u64::MAX, 3).unwrap(), - )); - - let (transactions_in_interval, interval_duration) = rate_limiting.map_or( - (txs.len(), Duration::from_secs(0)), - |(transactions_in_interval, secs)| { - ( - transactions_in_interval - .try_into() - .expect("`transactions_in_interval` should be within usize range"), - Duration::from_secs(secs), - ) - }, - ); - - let pool_getter = |thread_id: ThreadId, tx_ix: usize| { - pool.get(thread_id % pool.len()) - .and_then(|threads_pool| threads_pool.get(tx_ix % threads_pool.len())) - .unwrap() - }; - - info!("flooding: {}ms", time_stats.elapsed().as_millis()); - let tick = Instant::now(); - - flood( - pool_getter, - txs, - tx_status, - &histogram, - transactions_in_interval, - interval_duration, - &thread_pool, - ); - - let tock = tick.elapsed().as_millis(); - let histogram = histogram.lock().unwrap(); - - println!( - "Summary:\n\ - TransferTransactions sent: {}\n\ - Total time: {} ms\n\ - Slowest tx: {} ms\n\ - Fastest tx: {} ms\n\ - Average: {:.1} ms\n\ - Throughput: {:.1} tx/s", - histogram.len(), - tock, - histogram.max(), - histogram.min(), - histogram.mean(), - 1000.0 * histogram.len() as f64 / tock as f64 - ); - - Ok(()) -} - -type ThreadId = usize; - -fn flood<'a>( - pool: impl Fn(ThreadId, usize) -> &'a Connection + Sync, - txs: Vec, - status: XtStatus, - histogram: &Arc>>, - transactions_in_interval: usize, - interval_duration: Duration, - thread_pool: &rayon::ThreadPool, -) { - let mut current_start_ix = 0; - thread_pool.install(|| { - txs - .chunks(transactions_in_interval) - .enumerate() - .for_each(|(interval_idx, interval)| { - let start = Instant::now(); - info!("Starting {} interval", interval_idx); - - let interval_len = interval.len(); - - interval. - into_par_iter() - .enumerate() - .map(|(tx_ix, tx)| (tx_ix + current_start_ix, tx)) - .for_each(|(tx_ix, tx)| { - const DEFAULT_THREAD_ID: usize = 0; - let thread_id = thread_pool.current_thread_index().unwrap_or(DEFAULT_THREAD_ID); - send_tx( - pool(thread_id, tx_ix), - tx, - status, - Arc::clone(histogram), - ); - }); - - let exec_time = start.elapsed(); - - if let Some(remaining_time) = interval_duration.checked_sub(exec_time) { - debug!("Sleeping for {}ms", remaining_time.as_millis()); - thread::sleep(remaining_time); - } else { - debug!( - "Execution for interval {} was slower than desired the target {}ms, was {}ms", - interval_idx, - interval_duration.as_millis(), - exec_time.as_millis() - ); - } - current_start_ix += interval_len; - }); - }); -} - -fn estimate_tx_fee(connection: &Connection, tx: &TransferTransaction) -> u128 { - let block = connection.get_block::(None).unwrap().unwrap(); - let block_hash = block.header.hash(); - let fee = connection - .get_fee_details(&tx.hex_encode(), Some(block_hash)) - .unwrap() - .unwrap(); - - let inclusion_fee = fee.inclusion_fee.unwrap(); - - fee.tip + inclusion_fee.base_fee + inclusion_fee.len_fee + inclusion_fee.adjusted_weight_fee -} - -fn load_transactions(file_path: impl AsRef) -> Vec { - let zipfile = std::fs::File::open(file_path).expect("Missing file with txs"); - let mut archive = zip::ZipArchive::new(zipfile).expect("Zipfile is not properly created"); - assert!(archive.len() == 1, "There should be one file with txs"); - - let mut file = archive.by_index(0).unwrap(); - let mut bytes = Vec::with_capacity(file.size() as usize); - file.read_to_end(&mut bytes).expect("buffer overflow"); - - Vec::::decode(&mut &bytes[..]).expect("Error while decoding txs") -} - -fn prepare_txs(config: &Config, connection: &Connection) -> Vec { - match config.load_txs { - true => { - let path = match &config.tx_store_path { - Some(path) => path, - None => panic!("tx_store_path is not set"), - }; - load_transactions(path) - } - false => generate_txs(config, connection), - } -} - -fn generate_txs(config: &Config, connection: &Connection) -> Vec { - let tx_store_path = match (config.store_txs, &config.tx_store_path) { - (true, None) => panic!("tx_store_path is not set"), - (true, path) => path, - (false, _) => &None, + true => TxStatus::InBlock, + false => TxStatus::Submitted, }; - let first_account_in_range = config.first_account_in_range; - let total_users = config.transactions; - let transfer_amount = 1u128; - let initialize_accounts_flag = !config.skip_initialization; - let accounts = (first_account_in_range..first_account_in_range + total_users) - .into_par_iter() - .map(derive_user_account) - .collect::>(); - - if initialize_accounts_flag { - initialize_accounts(config, connection, transfer_amount, &accounts); - } - - let nonces: Vec<_> = match config.download_nonces { - false => repeat(0).take(accounts.len()).collect(), - true => accounts - .par_iter() - .map(|account| get_nonce(connection, &AccountId::from(account.public()))) - .collect(), - }; - let receiver = accounts - .first() - .expect("we should have some accounts available for this test, but the list is empty") - .clone(); - let txs: Vec<_> = sign_transactions( - connection, - receiver, - accounts.into_par_iter().zip(nonces), - transfer_amount, - ) - .collect(); - - if let Some(tx_store_path) = tx_store_path { - zip_and_store_txs(&txs, tx_store_path); - } - - txs -} - -fn initialize_accounts( - config: &Config, - connection: &Connection, - transfer_amount: u128, - accounts: &[sr25519::Pair], -) { let account = match &config.phrase { Some(phrase) => { sr25519::Pair::from_phrase(&config::read_phrase(phrase.clone()), None) @@ -308,251 +137,29 @@ fn initialize_accounts( ) .unwrap(), }; - let source_account_id = AccountId::from(account.public()); - let source_account_nonce = get_nonce(connection, &source_account_id); - let total_amount = estimate_amount(connection, &account, source_account_nonce, transfer_amount); - - assert!( - get_funds(connection, &source_account_id) - .ge(&(total_amount * u128::from(config.transactions))), - "Account is too poor" - ); - - initialize_accounts_on_chain( - connection, - &account, - source_account_nonce, - accounts, - total_amount, - ); - debug!("all accounts have received funds"); -} - -fn sign_tx( - connection: &Connection, - signer: &sr25519::Pair, - nonce: Nonce, - to: &AccountId, - amount: u128, -) -> TransferTransaction { - let call = compose_call!( - connection.metadata, - "Balances", - "transfer", - GenericAddress::Id(to.clone()), - Compact(amount) - ); - - compose_extrinsic_offline!(signer, call, connection.extrinsic_params(nonce)) -} - -/// prepares payload for flooding -fn sign_transactions<'a>( - connection: &'a Connection, - account: sr25519::Pair, - users_and_nonces: impl IntoParallelIterator + 'a, - transfer_amount: u128, -) -> impl ParallelIterator + 'a { - let to = AccountId::from(account.public()); - // NOTE : assumes one tx per derived user account - // but we could create less accounts and send them round robin fashion - // (will need to seed them with more funds as well, tx_per_account times more to be exact) - users_and_nonces - .into_par_iter() - .map(move |(from, nonce)| sign_tx(connection, &from, nonce, &to, transfer_amount)) -} - -fn estimate_amount( - connection: &Connection, - account: &sr25519::Pair, - account_nonce: u32, - transfer_amount: u128, -) -> u128 { - let existential_deposit = connection.get_existential_deposit().unwrap(); - // start with a heuristic tx fee - let total_amount = existential_deposit + (transfer_amount + 375_000_000); - - let tx = sign_tx( - connection, - account, - account_nonce, - &AccountId::from(account.public()), - total_amount, - ); - - // estimate fees - let tx_fee = estimate_tx_fee(connection, &tx); - info!("Estimated transfer tx fee {}", tx_fee); - // adjust with estimated tx fee - existential_deposit + (transfer_amount + tx_fee) -} - -fn initialize_accounts_on_chain( - connection: &Connection, - source_account: &sr25519::Pair, - mut source_account_nonce: u32, - accounts: &[sr25519::Pair], - total_amount: u128, -) { - // NOTE: use a new connection for the last transaction. - // This is a workaround for issues with accounts initialization using our hacky - // single-threaded WsRpcClient. It seems like `subscriptions` - // for all `wait-until-Ready` transactions should be cancelled, - // otherwise they are producing a lot of noise, which can be incorrectly - // interpreted by the `substrate-api-client` library. Creating a separate - // connection for the last `wait-until-Finalized` transaction should `partially` - // fix this issue. - let conn_copy = connection.clone(); - let connections = repeat(connection) - .take(accounts.len() - 1) - .chain(once(&conn_copy)); - // ensure all txs are finalized by waiting for the last one sent - let status = repeat(XtStatus::Ready) - .take(accounts.len() - 1) - .chain(once(XtStatus::Finalized)); - for ((derived, status), connection) in accounts.iter().zip(status).zip(connections) { - source_account_nonce = initialize_account( - connection, - source_account, - source_account_nonce, - derived, - total_amount, - status, - ); - } -} - -fn initialize_account( - connection: &Connection, - account: &sr25519::Pair, - account_nonce: Nonce, - derived: &sr25519::Pair, - total_amount: u128, - status: XtStatus, -) -> Nonce { - let tx = sign_tx( - connection, - account, - account_nonce, - &AccountId::from(derived.public()), - total_amount, - ); - - info!("sending funds to account {}", &derived.public()); - - let hash = connection - .send_extrinsic(tx.hex_encode(), status) - .expect("Could not send transaction"); + let main_connection = + SignedConnection::new(config.nodes[0].to_string(), KeyPair::new(account.clone())).await; - info!( - "account {} will receive funds, tx hash {:?}", - &derived.public(), - hash - ); + let nodes = config.nodes.clone(); - account_nonce + 1 -} - -fn derive_user_account(seed: u64) -> sr25519::Pair { - debug!("deriving an account from seed={}", seed); - let seed = seed.to_string(); - sr25519::Pair::from_string(&("//".to_string() + &seed), None).unwrap() -} - -fn send_tx( - connection: &Connection, - tx: &Extrinsic, - status: XtStatus, - histogram: Arc>>, -) where - Call: Encode, -{ - let start_time = Instant::now(); - - connection - .send_extrinsic(tx.hex_encode(), status) - .expect("Could not send transaction"); - - let elapsed_time = start_time.elapsed().as_millis(); - - let mut hist = histogram.lock().unwrap(); - *hist += elapsed_time as u64; -} - -fn create_connection_pool(nodes: &[String], threads: usize) -> Vec> { - repeat(nodes) - .cycle() - .take(threads) - .map(|urls| { - urls.iter() - .map(|url| { - create_custom_connection(url).expect("it should return initialized connection") - }) - .collect() - }) - .collect() -} - -fn get_nonce(connection: &Connection, account: &AccountId) -> u32 { - connection - .get_account_info(account) - .map(|acc_opt| acc_opt.map_or_else(|| 0, |acc| acc.nonce)) - .expect("retrieved nonce's value") -} - -fn get_funds(connection: &Connection, account: &AccountId) -> u128 { - match connection.get_account_data(account).unwrap() { - Some(data) => data.free, - None => 0, - } -} - -fn zip_and_store_txs(txs: &[TransferTransaction], path: impl AsRef) { - let file = std::fs::File::create(path).unwrap(); - let mut zip = zip::ZipWriter::new(file); - let options = - zip::write::FileOptions::default().compression_method(zip::CompressionMethod::Deflated); - zip.start_file("tx_store", options) - .expect("Failed to initialize accounts"); - zip.write_all(&txs.encode()) - .expect("Failed to store encoded bytes"); - zip.finish().expect("Failed to zip the encoded txs"); -} - -#[cfg(test)] -mod tests { - use super::*; - - #[ignore] // requires access to a chain - #[test] - fn write_read_txs() { - env_logger::init(); - - let url = "127.0.0.1:9944".to_string(); - let mut config = Config { - nodes: vec![url.clone()], - transactions: 313, - phrase: None, - seed: None, - skip_initialization: true, - first_account_in_range: 0, - load_txs: false, - tx_store_path: Some("/tmp/tx_store".to_string()), - threads: None, - download_nonces: false, - wait_for_ready: false, - store_txs: true, - interval_secs: None, - transactions_in_interval: None, - }; - let conn = create_custom_connection(&url).unwrap(); - - let txs_gen = prepare_txs(&config, &conn); - - config.load_txs = true; + let connections = initialize_n_accounts( + main_connection, + accounts as u32, + |i| nodes[i as usize % nodes.len()].clone(), + tx_per_account + tx_per_account * 10_000, + config.skip_initialization, + ) + .await; - let txs_read = prepare_txs(&config, &conn); + flood( + connections, + account_from_keypair(&account), + 1, + tx_per_account as u64, + rate_limiting, + tx_status, + ) + .await?; - assert!(txs_gen == txs_read) - } + Ok(()) } diff --git a/flooder/src/ws_rpc_client.rs b/flooder/src/ws_rpc_client.rs deleted file mode 100644 index 21dd16c6a3..0000000000 --- a/flooder/src/ws_rpc_client.rs +++ /dev/null @@ -1,249 +0,0 @@ -use std::{ - sync::{mpsc::channel, Arc, Mutex}, - thread, - thread::JoinHandle, -}; - -use aleph_client::FromStr; -use log::info; -use serde_json::Value; -use sp_core::H256 as Hash; -use substrate_api_client::{ - rpc::{ - json_req, - ws_client::{ - on_extrinsic_msg_submit_only, on_extrinsic_msg_until_broadcast, - on_extrinsic_msg_until_finalized, on_extrinsic_msg_until_in_block, - on_extrinsic_msg_until_ready, on_get_request_msg, OnMessageFn, RpcClient, - }, - }, - ApiClientError, ApiResult, FromHexString, RpcClient as RpcClientTrait, XtStatus, -}; -use ws::{ - connect, Error as WsError, ErrorKind, Handler, Message, Result as WsResult, Sender as WsSender, -}; - -// It attempts to run a single thread with a single WebSocket connection that processes all outgoing requests. -// The upstream approach is to open a new socket for every request, but the number of sockets ends -// up being the bottleneck for flooding, so we need to do it better. -pub struct WsRpcClient { - mux: Mutex<()>, - next_handler: Arc>>, - join_handle: Option>>, - out: WsSender, - url: String, -} - -impl WsRpcClient { - pub fn new(url: &str) -> Result { - let RunningRpcClient { - ws_sender, - client_handle, - client, - } = start_rpc_client_thread(url.to_string())?; - - Ok(WsRpcClient { - next_handler: client, - join_handle: Some(client_handle), - out: ws_sender, - mux: Mutex::new(()), - url: url.to_string(), - }) - } -} - -impl Clone for WsRpcClient { - fn clone(&self) -> Self { - Self::new(&self.url).unwrap() - } -} - -impl Drop for WsRpcClient { - fn drop(&mut self) { - self.close(); - } -} - -impl RpcClientTrait for WsRpcClient { - fn get_request(&self, jsonreq: Value) -> ApiResult { - let _mux = self.mux.lock(); - - Ok(self.get(jsonreq.to_string())?) - } - - fn send_extrinsic( - &self, - xthex_prefixed: String, - exit_on: XtStatus, - ) -> ApiResult> { - let _mux = self.mux.lock(); - - let jsonreq = match exit_on { - XtStatus::SubmitOnly => json_req::author_submit_extrinsic(&xthex_prefixed).to_string(), - _ => json_req::author_submit_and_watch_extrinsic(&xthex_prefixed).to_string(), - }; - - let result = match exit_on { - XtStatus::Finalized => { - let res = self.send_extrinsic_and_wait_until_finalized(jsonreq)?; - info!("finalized: {}", res); - Ok(Some(Hash::from_hex(res)?)) - } - XtStatus::InBlock => { - let res = self.send_extrinsic_and_wait_until_in_block(jsonreq)?; - info!("inBlock: {}", res); - Ok(Some(Hash::from_hex(res)?)) - } - XtStatus::Broadcast => { - let res = self.send_extrinsic_and_wait_until_broadcast(jsonreq)?; - info!("broadcast: {}", res); - Ok(None) - } - XtStatus::Ready => { - let res = self.send_extrinsic_until_ready(jsonreq)?; - info!("ready: {}", res); - Ok(None) - } - XtStatus::SubmitOnly => { - let res = self.send_extrinsic(jsonreq)?; - info!("submitted xt: {}", res); - Ok(None) - } - _ => Err(ApiClientError::UnsupportedXtStatus(exit_on)), - }; - - self.set_next_handler(None); - result - } -} - -impl FromStr for WsRpcClient { - type Err = String; - - fn from_str(url: &str) -> Result { - WsRpcClient::new(url) - } -} - -impl WsRpcClient { - fn get(&self, json_req: String) -> WsResult { - self.send_rpc_request(json_req, on_get_request_msg) - } - - fn send_extrinsic(&self, json_req: String) -> WsResult { - self.send_rpc_request(json_req, on_extrinsic_msg_submit_only) - } - - fn send_extrinsic_until_ready(&self, json_req: String) -> WsResult { - self.send_rpc_request(json_req, on_extrinsic_msg_until_ready) - } - - fn send_extrinsic_and_wait_until_broadcast(&self, json_req: String) -> WsResult { - self.send_rpc_request(json_req, on_extrinsic_msg_until_broadcast) - } - - fn send_extrinsic_and_wait_until_in_block(&self, json_req: String) -> WsResult { - self.send_rpc_request(json_req, on_extrinsic_msg_until_in_block) - } - - fn send_extrinsic_and_wait_until_finalized(&self, json_req: String) -> WsResult { - self.send_rpc_request(json_req, on_extrinsic_msg_until_finalized) - } - - // FIXME: - // here we are using a deprecated `mio::channel::sync_channel` instead of the - // now-recommended `mio-extras` channel, because the ws library (in the latest version) - // is not yet updated to use the `mio-extras` version (and no conversion exists). - // We need to change it to `mio-extras` as soon as `ws` is updated. - #[allow(deprecated)] - fn send_rpc_request(&self, jsonreq: String, on_message_fn: OnMessageFn) -> WsResult { - // ws_sender below is used by the RpcClient while being executed by another thread, - // but we don't want it actually to do anything, since we are sending the given request here - // 1 used by `on_open` of RpcClient + 1 for `close` - const MAGIC_SEND_CONST: usize = 2; - let (ws_tx, _ws_rx) = mio::channel::sync_channel(MAGIC_SEND_CONST); - let ws_sender = ws::Sender::new(0.into(), ws_tx, 0); - - let (result_in, result_out) = channel(); - let rpc_client = RpcClient { - out: ws_sender, - request: jsonreq.clone(), - result: result_in, - on_message_fn, - }; - self.set_next_handler(Some(rpc_client)); - self.out.send(jsonreq)?; - let res = result_out.recv().map_err(|err| { - WsError::new( - ErrorKind::Custom(Box::new(err)), - "unable to read an answer from the `result_out` channel", - ) - })?; - self.set_next_handler(None); - WsResult::Ok(res) - } - - pub fn close(&mut self) { - self.out - .shutdown() - .expect("unable to send close on the WebSocket"); - self.join_handle - .take() - .map(|handle| handle.join().expect("unable to join WebSocket's thread")); - } - - fn set_next_handler(&self, handler: Option) { - *self - .next_handler - .lock() - .expect("unable to acquire a lock on RpcClient") = handler; - } -} - -struct RunningRpcClient { - ws_sender: WsSender, - client_handle: JoinHandle>, - client: Arc>>, -} - -fn start_rpc_client_thread(url: String) -> Result { - let (tx, rx) = std::sync::mpsc::sync_channel(0); - let rpc_client = Arc::new(Mutex::new(None)); - let connect_rpc_client = Arc::clone(&rpc_client); - let join = thread::Builder::new() - .name("client".to_owned()) - .spawn(|| -> WsResult<()> { - connect(url, move |out| { - tx.send(out).expect("main thread was already stopped"); - WsHandler { - next_handler: connect_rpc_client.clone(), - } - }) - }) - .map_err(|_| "unable to spawn WebSocket's thread")?; - let out = rx.recv().map_err(|_| "WebSocket's unexpectedly died")?; - Ok(RunningRpcClient { - ws_sender: out, - client_handle: join, - client: rpc_client, - }) -} - -struct WsHandler { - next_handler: Arc>>, -} - -impl Handler for WsHandler { - fn on_message(&mut self, msg: Message) -> WsResult<()> { - if let Some(handler) = self - .next_handler - .lock() - .expect("main thread probably died") - .as_mut() - { - handler.on_message(msg) - } else { - Ok(()) - } - } -} diff --git a/scripts/catchup_version_upgrade_test.sh b/scripts/catchup_version_upgrade_test.sh index baeb1a3c5b..fdfd440ee0 100755 --- a/scripts/catchup_version_upgrade_test.sh +++ b/scripts/catchup_version_upgrade_test.sh @@ -8,7 +8,7 @@ UPGRADE_VERSION=${UPGRADE_VERSION:-1} NODES=${NODES:-"Node1:Node2"} PORTS=${PORTS:-9934:9935} UPGRADE_BEFORE_DISABLE=${UPGRADE_BEFORE_DISABLE:-false} -SEED=${SEED:-"//0"} +SEED=${SEED:-"//Alice"} ALL_NODES=${ALL_NODES:-"Node0:Node1:Node2:Node3:Node4"} ALL_NODES_PORTS=${ALL_NODES_PORTS:-"9933:9934:9935:9936:9937"} WAIT_BLOCKS=${WAIT_BLOCKS:-30} @@ -58,7 +58,7 @@ function set_upgrade_session { local seed=$5 local status=$6 - docker run --rm --network container:$validator cliain:latest --node 127.0.0.1:$port --seed $seed version-upgrade-schedule --version $version --session $session --expected-state $status + docker run --rm --network container:$validator cliain:latest --node ws://127.0.0.1:$port --seed $seed version-upgrade-schedule --version $version --session $session --expected-state $status } function check_if_disconnected() { @@ -163,6 +163,7 @@ ALL_NODES_PORTS=(${result[@]}) log "initializing nodes..." DOCKER_COMPOSE=./docker/docker-compose.bridged.yml ./.github/scripts/run_consensus.sh 1>&2 +sleep 10 log "awaiting finalization of $INIT_BLOCK blocks..." initialize $INIT_BLOCK "Node0" 9933 log "nodes initialized" diff --git a/scripts/run_e2e.sh b/scripts/run_e2e.sh index bf73c7d8a3..56c7343ee1 100755 --- a/scripts/run_e2e.sh +++ b/scripts/run_e2e.sh @@ -4,6 +4,6 @@ set -e cd e2e-tests/ -RUST_LOG=aleph_e2e_client=info,aleph-client=info cargo run -- --node 127.0.0.1:9943 +RUST_LOG=aleph_e2e_client=info,aleph-client=info cargo run -- --node ws://127.0.0.1:9943 exit $? From d2700de1164f33a5eacf3cc7f4c111b81175fa90 Mon Sep 17 00:00:00 2001 From: kostekIV <27210860+kostekIV@users.noreply.github.com> Date: Tue, 22 Nov 2022 12:08:03 +0100 Subject: [PATCH 012/212] disable try-runtime check (#750) --- .github/workflows/e2e-tests-main-devnet.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/e2e-tests-main-devnet.yml b/.github/workflows/e2e-tests-main-devnet.yml index 21aba1058c..06ae9f4b0d 100644 --- a/.github/workflows/e2e-tests-main-devnet.yml +++ b/.github/workflows/e2e-tests-main-devnet.yml @@ -765,7 +765,9 @@ jobs: build-new-runtime-and-try_runtime: name: Build new runtime and try_runtime tool needs: [ check-runtime-change ] - if: ${{ needs.check-runtime-change.outputs.runtime-updated != 0 }} + # Disbled check, reenable once we fix the issue with try-runtime test + # if: ${{ needs.check-runtime-change.outputs.runtime-updated != 0 }} + if: ${{ false }} runs-on: ubuntu-20.04 steps: - name: Checkout source code From 57cefa222b5e14aa50bc79bacdd5812c5e125a7a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maciej=20Nem=C5=9B?= Date: Wed, 23 Nov 2022 11:40:18 +0100 Subject: [PATCH 013/212] Add timeout for upgrade catchup e2e test (#758) --- .github/workflows/e2e-tests-main-devnet.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/e2e-tests-main-devnet.yml b/.github/workflows/e2e-tests-main-devnet.yml index 06ae9f4b0d..fb7a46c8da 100644 --- a/.github/workflows/e2e-tests-main-devnet.yml +++ b/.github/workflows/e2e-tests-main-devnet.yml @@ -589,6 +589,7 @@ jobs: run: docker load -i cliain.tar - name: Call catchup_test.sh + timeout-minutes: 10 env: UPGRADE_BLOCK: 31 NODES: ${{ matrix.nodes }} @@ -596,7 +597,6 @@ jobs: EXT_STATUS: ${{ matrix.ext_status }} UPGRADE_BEFORE_DISABLE: ${{ matrix.upgrade_before_disable }} DOCKER_COMPOSE: docker/docker-compose.bridged.yml - run: | ./scripts/catchup_version_upgrade_test.sh From 321f44b5d2e1c915dea1f108b66abf081c32b890 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maciej=20Nem=C5=9B?= Date: Wed, 23 Nov 2022 13:53:17 +0100 Subject: [PATCH 014/212] Add authentication compatibility tests with fixed bytes (#751) --- .../src/network/manager/compatibility.rs | 95 ++++++++++++++++--- finality-aleph/src/nodes/mod.rs | 5 + finality-aleph/src/nodes/validator_node.rs | 31 +++--- finality-aleph/src/tcp_network.rs | 41 ++++++-- 4 files changed, 138 insertions(+), 34 deletions(-) diff --git a/finality-aleph/src/network/manager/compatibility.rs b/finality-aleph/src/network/manager/compatibility.rs index 8e40afac4e..8d489d34d6 100644 --- a/finality-aleph/src/network/manager/compatibility.rs +++ b/finality-aleph/src/network/manager/compatibility.rs @@ -130,34 +130,107 @@ impl Display for Error { #[cfg(test)] mod test { + use std::sync::Arc; + use codec::{Decode, Encode}; + use sp_keystore::testing::KeyStore; use super::{DiscoveryMessage, VersionedAuthentication}; use crate::{ + crypto::AuthorityVerifier, network::{ manager::{compatibility::MAX_AUTHENTICATION_SIZE, SessionHandler}, - mock::{crypto_basics, MockMultiaddress, MockNetworkIdentity}, + mock::MockMultiaddress, NetworkIdentity, }, - SessionId, Version, + nodes::testing::new_pen, + tcp_network::{testing::new_identity, TcpMultiaddress}, + NodeIndex, SessionId, Version, }; - #[tokio::test] - async fn correctly_decodes_v1() { - let crypto_basics = crypto_basics(1).await; - let handler = SessionHandler::new( - Some(crypto_basics.0[0].clone()), - crypto_basics.1.clone(), - SessionId(43), - MockNetworkIdentity::new().identity().0, + /// Session Handler used for generating versioned authentication in `raw_authentication_v1` + async fn handler() -> SessionHandler { + let mnemonic = "ring cool spatial rookie need wing opinion pond fork garbage more april"; + let external_addresses = vec![ + String::from("addr1"), + String::from("addr2"), + String::from("addr3"), + ]; + + let keystore = Arc::new(KeyStore::new()); + let pen = new_pen(mnemonic, keystore).await; + let identity = new_identity( + external_addresses.into_iter().map(String::from).collect(), + pen.authority_id(), + ); + + SessionHandler::new( + Some((NodeIndex(21), pen)), + AuthorityVerifier::new(vec![]), + SessionId(37), + identity.identity().0, ) .await - .unwrap(); + .unwrap() + } + + /// Versioned authentication for authority with: + /// external_addresses: [String::from("addr1"), String::from("addr2"), String::from("addr3")] + /// derived from mnemonic "ring cool spatial rookie need wing opinion pond fork garbage more april" + /// for node index 21 and session id 37 + /// encoded at version of Aleph Node from r-8.0 + fn raw_authentication_v1() -> Vec { + vec![ + 1, 0, 192, 0, 1, 12, 50, 40, 192, 239, 72, 72, 119, 156, 76, 37, 212, 220, 76, 165, 39, + 73, 20, 89, 77, 66, 171, 174, 61, 31, 254, 137, 186, 1, 7, 141, 187, 219, 20, 97, 100, + 100, 114, 49, 50, 40, 192, 239, 72, 72, 119, 156, 76, 37, 212, 220, 76, 165, 39, 73, + 20, 89, 77, 66, 171, 174, 61, 31, 254, 137, 186, 1, 7, 141, 187, 219, 20, 97, 100, 100, + 114, 50, 50, 40, 192, 239, 72, 72, 119, 156, 76, 37, 212, 220, 76, 165, 39, 73, 20, 89, + 77, 66, 171, 174, 61, 31, 254, 137, 186, 1, 7, 141, 187, 219, 20, 97, 100, 100, 114, + 51, 21, 0, 0, 0, 0, 0, 0, 0, 37, 0, 0, 0, 166, 39, 166, 74, 57, 190, 80, 240, 169, 85, + 240, 126, 250, 119, 54, 24, 244, 91, 199, 127, 32, 78, 52, 98, 159, 182, 227, 170, 251, + 49, 47, 89, 13, 171, 79, 190, 220, 22, 65, 254, 25, 115, 232, 103, 177, 252, 161, 222, + 74, 18, 216, 213, 105, 220, 223, 247, 221, 85, 31, 146, 177, 96, 254, 9, + ] + } + + #[tokio::test] + async fn correcly_encodes_v1_to_bytes() { + let handler = handler().await; + let raw = raw_authentication_v1(); + + let authentication_v1 = VersionedAuthentication::V1(DiscoveryMessage::Authentication( + handler.authentication().unwrap(), + )); + + assert_eq!(authentication_v1.encode(), raw); + } + + #[tokio::test] + async fn correcly_decodes_v1_from_bytes() { + let handler = handler().await; + let raw = raw_authentication_v1(); + let authentication_v1 = VersionedAuthentication::V1(DiscoveryMessage::Authentication( handler.authentication().unwrap(), )); + + let decoded = VersionedAuthentication::decode(&mut raw.as_slice()); + + assert_eq!(decoded, Ok(authentication_v1)); + } + + #[tokio::test] + async fn correctly_decodes_v1_roundtrip() { + let handler = handler().await; + + let authentication_v1 = VersionedAuthentication::V1(DiscoveryMessage::Authentication( + handler.authentication().unwrap(), + )); + let encoded = authentication_v1.encode(); let decoded = VersionedAuthentication::decode(&mut encoded.as_slice()); + assert_eq!(decoded, Ok(authentication_v1)) } diff --git a/finality-aleph/src/nodes/mod.rs b/finality-aleph/src/nodes/mod.rs index fb36090eea..d9e6d52e74 100644 --- a/finality-aleph/src/nodes/mod.rs +++ b/finality-aleph/src/nodes/mod.rs @@ -29,6 +29,11 @@ use crate::{ JustificationNotification, Metrics, MillisecsPerBlock, SessionPeriod, }; +#[cfg(test)] +pub mod testing { + pub use super::validator_node::new_pen; +} + /// Max amount of tries we can not update a finalized block number before we will clear requests queue const MAX_ATTEMPTS: u32 = 5; diff --git a/finality-aleph/src/nodes/validator_node.rs b/finality-aleph/src/nodes/validator_node.rs index b6ed7b619b..6576ac2449 100644 --- a/finality-aleph/src/nodes/validator_node.rs +++ b/finality-aleph/src/nodes/validator_node.rs @@ -1,4 +1,4 @@ -use std::marker::PhantomData; +use std::{marker::PhantomData, sync::Arc}; use bip39::{Language, Mnemonic, MnemonicType}; use futures::channel::oneshot; @@ -6,6 +6,7 @@ use log::{debug, error}; use sc_client_api::Backend; use sc_network::ExHashT; use sp_consensus::SelectChain; +use sp_keystore::CryptoStore; use sp_runtime::traits::Block; use crate::{ @@ -26,6 +27,16 @@ use crate::{ AlephConfig, }; +pub async fn new_pen(mnemonic: &str, keystore: Arc) -> AuthorityPen { + let validator_peer_id = keystore + .ed25519_generate_new(KEY_TYPE, Some(mnemonic)) + .await + .expect("generating a key should work"); + AuthorityPen::new_with_key_type(validator_peer_id.into(), keystore, KEY_TYPE) + .await + .expect("we just generated this key so everything should work") +} + pub async fn run_validator_node(aleph_config: AlephConfig) where B: Block, @@ -55,21 +66,15 @@ where // We generate the phrase manually to only save the key in RAM, we don't want to have these // relatively low-importance keys getting spammed around the absolutely crucial Aleph keys. // The interface of `ed25519_generate_new` only allows to save in RAM by providing a mnemonic. - let validator_peer_id = keystore - .ed25519_generate_new( - KEY_TYPE, - Some(Mnemonic::new(MnemonicType::Words12, Language::English).phrase()), - ) - .await - .expect("generating a key should work"); - let network_authority_pen = - AuthorityPen::new_with_key_type(validator_peer_id.into(), keystore.clone(), KEY_TYPE) - .await - .expect("we just generated this key so everything should work"); + let network_authority_pen = new_pen( + Mnemonic::new(MnemonicType::Words12, Language::English).phrase(), + keystore.clone(), + ) + .await; let (dialer, listener, network_identity) = new_tcp_network( ("0.0.0.0", validator_port), external_addresses, - validator_peer_id.into(), + network_authority_pen.authority_id(), ) .await .expect("we should have working networking"); diff --git a/finality-aleph/src/tcp_network.rs b/finality-aleph/src/tcp_network.rs index dd2ee8ef5b..e338344d18 100644 --- a/finality-aleph/src/tcp_network.rs +++ b/finality-aleph/src/tcp_network.rs @@ -127,6 +127,21 @@ impl NetworkIdentity for TcpNetworkIdentity { } } +impl TcpNetworkIdentity { + fn new(external_addresses: Vec, peer_id: AuthorityId) -> TcpNetworkIdentity { + TcpNetworkIdentity { + addresses: external_addresses + .into_iter() + .map(|address| TcpMultiaddress { + peer_id: peer_id.clone(), + address, + }) + .collect(), + peer_id, + } + } +} + /// Create a new tcp network, including an identity that can be used for constructing /// authentications for other peers. pub async fn new_tcp_network( @@ -139,15 +154,21 @@ pub async fn new_tcp_network( impl NetworkIdentity, )> { let listener = TcpListener::bind(listening_addresses).await?; - let identity = TcpNetworkIdentity { - addresses: external_addresses - .into_iter() - .map(|address| TcpMultiaddress { - peer_id: peer_id.clone(), - address, - }) - .collect(), - peer_id, - }; + let identity = TcpNetworkIdentity::new(external_addresses, peer_id); Ok((TcpDialer {}, listener, identity)) } + +#[cfg(test)] +pub mod testing { + use aleph_primitives::AuthorityId; + + use super::{TcpMultiaddress, TcpNetworkIdentity}; + use crate::network::NetworkIdentity; + + pub fn new_identity( + external_addresses: Vec, + peer_id: AuthorityId, + ) -> impl NetworkIdentity { + TcpNetworkIdentity::new(external_addresses, peer_id) + } +} From dee35e4e5603484bea564d5674bfc8adf2a3a443 Mon Sep 17 00:00:00 2001 From: Michal Swietek Date: Thu, 24 Nov 2022 10:18:33 +0100 Subject: [PATCH 015/212] Update to 0.9.29 (#754) * fix runtime * fix aleph-node * bump spec version * bump versions * update runtime in aleph-client * Temporarily remove try-runtime * review nits * fix tests * reintroduce try-runtime * whitespaces Co-authored-by: Jan Koscisz Co-authored-by: kostekIV <27210860+kostekIV@users.noreply.github.com> --- Cargo.lock | 640 ++++++++++++----------- aleph-client/Cargo.lock | 349 +++++++------ aleph-client/Cargo.toml | 10 +- aleph-client/src/aleph_zero.rs | 495 ++++++++++++------ aleph-client/src/connections.rs | 8 +- aleph-client/src/contract/mod.rs | 9 +- aleph-client/src/pallets/contract.rs | 18 +- aleph-client/src/pallets/multisig.rs | 9 +- aleph-client/src/runtime_types.rs | 7 + benches/payout-stakers/Cargo.lock | 611 +++++++++++++++++----- benches/payout-stakers/Cargo.toml | 4 +- bin/cliain/Cargo.lock | 456 ++++++++++------- bin/cliain/Cargo.toml | 6 +- bin/cliain/src/contracts.rs | 7 +- bin/node/Cargo.toml | 70 +-- bin/runtime/Cargo.toml | 82 +-- bin/runtime/src/lib.rs | 41 +- e2e-tests/Cargo.lock | 511 +++++++++++-------- e2e-tests/Cargo.toml | 14 +- finality-aleph/Cargo.toml | 44 +- finality-aleph/src/substrate_network.rs | 11 +- flooder/Cargo.lock | 608 ++++++++++++++++++---- flooder/Cargo.toml | 4 +- fork-off/Cargo.lock | 651 +++++++++++++++--------- fork-off/Cargo.toml | 8 +- pallets/aleph/Cargo.toml | 20 +- pallets/aleph/src/lib.rs | 4 +- pallets/aleph/src/mock.rs | 4 +- pallets/elections/Cargo.toml | 26 +- pallets/elections/src/lib.rs | 4 +- pallets/elections/src/mock.rs | 4 +- pallets/support/Cargo.toml | 4 +- primitives/Cargo.toml | 14 +- 33 files changed, 3075 insertions(+), 1678 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 728c03f488..467c79163d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -102,9 +102,9 @@ dependencies = [ [[package]] name = "aho-corasick" -version = "0.7.19" +version = "0.7.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4f55bd91a0978cbfd91c457a164bab8b4001c833b7f323132c0a4e1922dd44e" +checksum = "cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac" dependencies = [ "memchr", ] @@ -227,7 +227,7 @@ dependencies = [ [[package]] name = "aleph-node" -version = "0.8.0" +version = "0.8.1" dependencies = [ "aleph-runtime", "clap", @@ -281,7 +281,7 @@ dependencies = [ [[package]] name = "aleph-runtime" -version = "0.8.0" +version = "0.8.1" dependencies = [ "frame-executive", "frame-support", @@ -402,30 +402,30 @@ version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e14485364214912d3b19cc3435dde4df66065127f05fa0d75c712f36f12c2f28" dependencies = [ - "concurrent-queue", + "concurrent-queue 1.2.4", "event-listener", "futures-core", ] [[package]] name = "async-executor" -version = "1.4.1" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "871f9bb5e0a22eeb7e8cf16641feb87c9dc67032ccf8ff49e772eb9941d3a965" +checksum = "17adb73da160dfb475c183343c8cccd80721ea5a605d3eb57125f0a7b7a92d0b" dependencies = [ + "async-lock", "async-task", - "concurrent-queue", + "concurrent-queue 2.0.0", "fastrand", "futures-lite", - "once_cell", "slab", ] [[package]] name = "async-global-executor" -version = "2.3.0" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0da5b41ee986eed3f524c380e6d64965aea573882a8907682ad100f7859305ca" +checksum = "f1b6f5d7df27bd294849f8eec66ecfc63d11814df7a4f5d74168a2394467b776" dependencies = [ "async-channel", "async-executor", @@ -438,16 +438,16 @@ dependencies = [ [[package]] name = "async-io" -version = "1.9.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83e21f3a490c72b3b0cf44962180e60045de2925d8dff97918f7ee43c8f637c7" +checksum = "e8121296a9f05be7f34aa4196b1747243b3b62e048bb7906f644f3fbfc490cf7" dependencies = [ + "async-lock", "autocfg", - "concurrent-queue", + "concurrent-queue 1.2.4", "futures-lite", "libc", "log", - "once_cell", "parking", "polling", "slab", @@ -458,11 +458,12 @@ dependencies = [ [[package]] name = "async-lock" -version = "2.5.0" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e97a171d191782fba31bb902b14ad94e24a68145032b7eedf871ab0bc0d077b6" +checksum = "c8101efe8695a6c17e02911402145357e718ac92d3ff88ae8419e84b1707b685" dependencies = [ "event-listener", + "futures-lite", ] [[package]] @@ -544,9 +545,9 @@ dependencies = [ [[package]] name = "asynchronous-codec" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0de5164e5edbf51c45fb8c2d9664ae1c095cce1b265ecf7569093c0d66ef690" +checksum = "06a0daa378f5fd10634e44b0a29b2a87b890657658e072a30d6f26e57ddee182" dependencies = [ "bytes", "futures-sink", @@ -638,7 +639,7 @@ dependencies = [ [[package]] name = "beefy-merkle-tree" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "beefy-primitives", "sp-api", @@ -647,7 +648,7 @@ dependencies = [ [[package]] name = "beefy-primitives" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "parity-scale-codec", "scale-info", @@ -718,11 +719,11 @@ dependencies = [ [[package]] name = "blake2" -version = "0.10.4" +version = "0.10.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9cf849ee05b2ee5fba5e36f97ff8ec2533916700fc0758d40d92136a42f3388" +checksum = "b12e5fd123190ce1c2e559308a94c9bacad77907d4c6005d9e58fe1a0689e55e" dependencies = [ - "digest 0.10.5", + "digest 0.10.6", ] [[package]] @@ -732,7 +733,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5d6d530bdd2d52966a6d03b7a964add7ae1a288d25214066fd4b600f0f796400" dependencies = [ "arrayvec 0.4.12", - "constant_time_eq", + "constant_time_eq 0.1.5", ] [[package]] @@ -743,7 +744,7 @@ checksum = "72936ee4afc7f8f736d1c38383b56480b5497b4617b4a77bdbf1d2ababc76127" dependencies = [ "arrayref", "arrayvec 0.7.2", - "constant_time_eq", + "constant_time_eq 0.1.5", ] [[package]] @@ -754,20 +755,20 @@ checksum = "db539cc2b5f6003621f1cd9ef92d7ded8ea5232c7de0f9faa2de251cd98730d4" dependencies = [ "arrayref", "arrayvec 0.7.2", - "constant_time_eq", + "constant_time_eq 0.1.5", ] [[package]] name = "blake3" -version = "1.3.1" +version = "1.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a08e53fc5a564bb15bfe6fae56bd71522205f1f91893f9c0116edad6496c183f" +checksum = "895adc16c8b3273fbbc32685a7d55227705eda08c01e77704020f3491924b44b" dependencies = [ "arrayref", "arrayvec 0.7.2", "cc", "cfg-if", - "constant_time_eq", + "constant_time_eq 0.2.4", ] [[package]] @@ -855,9 +856,9 @@ checksum = "572f695136211188308f16ad2ca5c851a712c464060ae6974944458eb83880ba" [[package]] name = "byte-slice-cast" -version = "1.2.1" +version = "1.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87c5fdd0166095e1d463fc6cc01aa8ce547ad77a4e84d42eb6762b084e28067e" +checksum = "c3ac9f8b63eca6fd385229b3675f6cc0dc5c8a5c8a54a59d4f52ffd670d87b0c" [[package]] name = "byte-tools" @@ -873,9 +874,9 @@ checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" [[package]] name = "bytes" -version = "1.2.1" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec8a7b6a70fde80372154c65702f00a0f56f3e1c36abbc6c440484be248856db" +checksum = "dfb24e866b15a1af2a1b663f10c6b6b8f397a84aadb828f12e5b289ec23a3a3c" [[package]] name = "bzip2-sys" @@ -927,9 +928,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.73" +version = "1.0.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fff2a6927b3bb87f9595d67196a70493f627687a71d87a0d692242c33f58c11" +checksum = "e9f73505338f7d905b19d18738976aae232eb46b8efc15554ffc56deb5d9ebe4" dependencies = [ "jobserver", ] @@ -943,6 +944,15 @@ dependencies = [ "nom", ] +[[package]] +name = "cfg-expr" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0aacacf4d96c24b2ad6eb8ee6df040e4f27b0d0b39a5710c30091baa830485db" +dependencies = [ + "smallvec", +] + [[package]] name = "cfg-if" version = "1.0.0" @@ -976,9 +986,9 @@ dependencies = [ [[package]] name = "chrono" -version = "0.4.22" +version = "0.4.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfd4d1b31faaa3a89d7934dbded3111da0d2ef28e3ebccdb4f0179f5929d1ef1" +checksum = "16b0a3d9ed01224b22057780a37bb8c5dbfe1be8ba48678e7bf57ec4b385411f" dependencies = [ "iana-time-zone", "js-sys", @@ -1029,14 +1039,14 @@ checksum = "fa2e27ae6ab525c3d369ded447057bca5438d86dc3a68f6faafb8269ba82ebf3" dependencies = [ "glob", "libc", - "libloading 0.7.3", + "libloading 0.7.4", ] [[package]] name = "clap" -version = "3.2.21" +version = "3.2.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ed5341b2301a26ab80be5cbdced622e80ed808483c52e45e3310a877d3b37d7" +checksum = "71655c45cb9845d3270c9d6df84ebe72b4dad3c2ba3f7023ad47c144e4e473a5" dependencies = [ "atty", "bitflags", @@ -1073,9 +1083,9 @@ dependencies = [ [[package]] name = "cmake" -version = "0.1.48" +version = "0.1.49" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8ad8cef104ac57b68b89df3208164d228503abbdce70f6880ffa3d970e7443a" +checksum = "db34956e100b30725f2eb215f90d4871051239535632f84fea3bc92722c66b7c" dependencies = [ "cc", ] @@ -1099,6 +1109,15 @@ dependencies = [ "cache-padded", ] +[[package]] +name = "concurrent-queue" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd7bef69dc86e3c610e4e7aed41035e2a7ed12e72dd7530f61327a6579a4390b" +dependencies = [ + "crossbeam-utils", +] + [[package]] name = "const-oid" version = "0.7.1" @@ -1111,6 +1130,12 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc" +[[package]] +name = "constant_time_eq" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3ad85c1f65dc7b37604eb0e89748faf0b9653065f2a8ef69f96a687ec1e9279" + [[package]] name = "convert_case" version = "0.4.0" @@ -1288,22 +1313,22 @@ dependencies = [ [[package]] name = "crossbeam-epoch" -version = "0.9.11" +version = "0.9.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f916dfc5d356b0ed9dae65f1db9fc9770aa2851d2662b988ccf4fe3516e86348" +checksum = "01a9af1f4c2ef74bb8aa1f7e19706bc72d03598c8a570bb5de72243c7a9d9d5a" dependencies = [ "autocfg", "cfg-if", "crossbeam-utils", - "memoffset", + "memoffset 0.7.1", "scopeguard", ] [[package]] name = "crossbeam-utils" -version = "0.8.12" +version = "0.8.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edbafec5fa1f196ca66527c1b12c2ec4745ca14b50f1ad8f9f6f720b55d11fac" +checksum = "4fb766fa798726286dbbb842f174001dab8abc7b627a1dd86e0b7222a95d929f" dependencies = [ "cfg-if", ] @@ -1427,9 +1452,9 @@ dependencies = [ [[package]] name = "cxx" -version = "1.0.80" +version = "1.0.82" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b7d4e43b25d3c994662706a1d4fcfc32aaa6afd287502c111b237093bb23f3a" +checksum = "d4a41a86530d0fe7f5d9ea779916b7cadd2d4f9add748b99c2c029cbbdfaf453" dependencies = [ "cc", "cxxbridge-flags", @@ -1439,9 +1464,9 @@ dependencies = [ [[package]] name = "cxx-build" -version = "1.0.80" +version = "1.0.82" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84f8829ddc213e2c1368e51a2564c552b65a8cb6a28f31e576270ac81d5e5827" +checksum = "06416d667ff3e3ad2df1cd8cd8afae5da26cf9cec4d0825040f88b5ca659a2f0" dependencies = [ "cc", "codespan-reporting", @@ -1454,15 +1479,15 @@ dependencies = [ [[package]] name = "cxxbridge-flags" -version = "1.0.80" +version = "1.0.82" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e72537424b474af1460806647c41d4b6d35d09ef7fe031c5c2fa5766047cc56a" +checksum = "820a9a2af1669deeef27cb271f476ffd196a2c4b6731336011e0ba63e2c7cf71" [[package]] name = "cxxbridge-macro" -version = "1.0.80" +version = "1.0.82" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "309e4fb93eed90e1e14bea0da16b209f81813ba9fc7830c20ed151dd7bc0a4d7" +checksum = "a08a6e2fcc370a089ad3b4aaf54db3b1b4cee38ddabce5896b33eb693275f470" dependencies = [ "proc-macro2", "quote", @@ -1548,9 +1573,9 @@ dependencies = [ [[package]] name = "digest" -version = "0.10.5" +version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adfbc57365a37acbd2ebf2b64d7e69bb766e2fea813521ed536f5d0520dcf86c" +checksum = "8168378f4e5023e7218c89c891c0fd8ecdb5e5e4f18cb78f38cf245dd021e76f" dependencies = [ "block-buffer 0.10.3", "crypto-common", @@ -1682,6 +1707,20 @@ dependencies = [ "zeroize", ] +[[package]] +name = "ed25519-zebra" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c24f403d068ad0b359e577a77f92392118be3f3c927538f2bb544a5ecd828c6" +dependencies = [ + "curve25519-dalek 3.2.0", + "hashbrown 0.12.3", + "hex", + "rand_core 0.6.4", + "sha2 0.9.9", + "zeroize", +] + [[package]] name = "either" version = "1.8.0" @@ -1740,9 +1779,9 @@ dependencies = [ [[package]] name = "env_logger" -version = "0.9.1" +version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c90bf5f19754d10198ccb95b70664fc925bd1fc090a0fd9a6ebc54acc8cd6272" +checksum = "a12e6657c4c97ebab115a42dcee77225f7f482cdd841cf7088c657a42e9e00e7" dependencies = [ "atty", "humantime", @@ -1884,7 +1923,7 @@ dependencies = [ [[package]] name = "finality-aleph" -version = "0.5.0" +version = "0.5.1" dependencies = [ "aggregator 0.1.0", "aggregator 0.2.0", @@ -1988,7 +2027,7 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "fork-tree" version = "3.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "parity-scale-codec", ] @@ -2005,7 +2044,7 @@ dependencies = [ [[package]] name = "frame-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "frame-support", "frame-system", @@ -2017,6 +2056,7 @@ dependencies = [ "serde", "sp-api", "sp-application-crypto", + "sp-core", "sp-io", "sp-runtime", "sp-runtime-interface", @@ -2027,7 +2067,7 @@ dependencies = [ [[package]] name = "frame-election-provider-solution-type" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -2038,7 +2078,7 @@ dependencies = [ [[package]] name = "frame-election-provider-support" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "frame-election-provider-solution-type", "frame-support", @@ -2054,10 +2094,11 @@ dependencies = [ [[package]] name = "frame-executive" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "frame-support", "frame-system", + "frame-try-runtime", "parity-scale-codec", "scale-info", "sp-core", @@ -2082,7 +2123,7 @@ dependencies = [ [[package]] name = "frame-support" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "bitflags", "frame-metadata", @@ -2113,10 +2154,12 @@ dependencies = [ [[package]] name = "frame-support-procedural" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "Inflector", + "cfg-expr", "frame-support-procedural-tools", + "itertools", "proc-macro2", "quote", "syn", @@ -2125,7 +2168,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate", @@ -2137,7 +2180,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "proc-macro2", "quote", @@ -2147,7 +2190,7 @@ dependencies = [ [[package]] name = "frame-system" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "frame-support", "log", @@ -2164,7 +2207,7 @@ dependencies = [ [[package]] name = "frame-system-rpc-runtime-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "parity-scale-codec", "sp-api", @@ -2173,9 +2216,10 @@ dependencies = [ [[package]] name = "frame-try-runtime" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "frame-support", + "parity-scale-codec", "sp-api", "sp-runtime", "sp-std", @@ -2454,9 +2498,9 @@ dependencies = [ [[package]] name = "h2" -version = "0.3.14" +version = "0.3.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ca32592cf21ac7ccab1825cd87f6c9b3d9022c44d086172ed0966bec8af30be" +checksum = "5f9f29bc9dda355256b2916cf526ab02ce0aeaaaf2bad60d65ef3f12f11dd0f4" dependencies = [ "bytes", "fnv", @@ -2572,7 +2616,7 @@ version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" dependencies = [ - "digest 0.10.5", + "digest 0.10.6", ] [[package]] @@ -2639,9 +2683,9 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" [[package]] name = "hyper" -version = "0.14.20" +version = "0.14.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02c929dc5c39e335a03c405292728118860721b10190d98c2a0f0efd5baafbac" +checksum = "034711faac9d2166cb1baf1a2fb0b60b1f277f8492fd72176c17f3515e1abd3c" dependencies = [ "bytes", "futures-channel", @@ -2663,9 +2707,9 @@ dependencies = [ [[package]] name = "hyper-rustls" -version = "0.23.0" +version = "0.23.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d87c48c02e0dc5e3b849a2041db3029fd066650f8f717c07bf8ed78ccb895cac" +checksum = "59df7c4e19c950e6e0e868dcc0a300b09a9b88e9ec55bd879ca819087a77355d" dependencies = [ "http", "hyper", @@ -2678,9 +2722,9 @@ dependencies = [ [[package]] name = "iana-time-zone" -version = "0.1.51" +version = "0.1.53" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f5a6ef98976b22b3b7f2f3a806f858cb862044cfa66805aa3ad84cb3d3b785ed" +checksum = "64c122667b287044802d6ce17ee2ddf13207ed924c712de9a66a5814d5b64765" dependencies = [ "android_system_properties", "core-foundation-sys", @@ -2789,9 +2833,9 @@ dependencies = [ [[package]] name = "indexmap" -version = "1.9.1" +version = "1.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10a35a97730320ffe8e2d410b5d3b69279b98d2c14bdb8b70ea89ecf7888d41e" +checksum = "1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399" dependencies = [ "autocfg", "hashbrown 0.12.3", @@ -2833,9 +2877,9 @@ checksum = "ec58677acfea8a15352d42fc87d11d63596ade9239e0a7c9352914417515dbe6" [[package]] name = "io-lifetimes" -version = "0.7.4" +version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6e481ccbe3dea62107216d0d1138bb8ad8e5e5c43009a098bd1990272c497b0" +checksum = "59ce5ef949d49ee85593fc4d3f3f95ad61657076395cbbce23e2121fc5542074" [[package]] name = "ip_network" @@ -2845,9 +2889,9 @@ checksum = "aa2f047c0a98b2f299aa5d6d7088443570faae494e9ae1305e48be000c9e0eb1" [[package]] name = "ipconfig" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "723519edce41262b05d4143ceb95050e4c614f483e78e9fd9e39a8275a84ad98" +checksum = "bd302af1b90f2463a98fa5ad469fc212c8e3175a41c3068601bfa2727591c5be" dependencies = [ "socket2", "widestring", @@ -2857,9 +2901,9 @@ dependencies = [ [[package]] name = "ipnet" -version = "2.5.0" +version = "2.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "879d54834c8c76457ef4293a689b2a8c59b076067ad77b15efafbb05f92a592b" +checksum = "f88c5561171189e69df9d98bcf18fd5f9558300f7ea7b801eb8a0fd748bd8745" [[package]] name = "itertools" @@ -3052,9 +3096,12 @@ dependencies = [ [[package]] name = "keccak" -version = "0.1.2" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9b7d56ba4a8344d6be9729995e6b06f928af29998cdf79fe390cbf6b1fee838" +checksum = "3afef3b6eff9ce9d8ff9b3601125eec7f0c8cbac7abd14f355d053fa56c98768" +dependencies = [ + "cpufeatures", +] [[package]] name = "kv-log-macro" @@ -3118,9 +3165,9 @@ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" [[package]] name = "libc" -version = "0.2.135" +version = "0.2.137" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68783febc7782c6c5cb401fbda4de5a9898be1762314da0bb2c10ced61f18b0c" +checksum = "fc7fcc620a3bff7cdd7a365be3376c97191aeaccc2a603e600951e452615bf89" [[package]] name = "libloading" @@ -3134,9 +3181,9 @@ dependencies = [ [[package]] name = "libloading" -version = "0.7.3" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "efbc0f03f9a775e9f6aed295c6a1ba2253c5757a9e03d55c6caa46a681abcddd" +checksum = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f" dependencies = [ "cfg-if", "winapi", @@ -3144,9 +3191,9 @@ dependencies = [ [[package]] name = "libm" -version = "0.2.5" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "292a948cd991e376cf75541fe5b97a1081d713c618b4f1b9500f8844e49eb565" +checksum = "348108ab3fba42ec82ff6e9564fc4ca0247bdccdc68dd8af9764bbc79c3c8ffb" [[package]] name = "libp2p" @@ -4393,9 +4440,9 @@ dependencies = [ [[package]] name = "memmap2" -version = "0.5.7" +version = "0.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95af15f345b17af2efc8ead6080fb8bc376f8cec1b35277b935637595fe77498" +checksum = "4b182332558b18d807c4ce1ca8ca983b34c3ee32765e47b3f0f69b90355cc1dc" dependencies = [ "libc", ] @@ -4409,6 +4456,15 @@ dependencies = [ "autocfg", ] +[[package]] +name = "memoffset" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4" +dependencies = [ + "autocfg", +] + [[package]] name = "memory-db" version = "0.29.0" @@ -4455,14 +4511,14 @@ dependencies = [ [[package]] name = "mio" -version = "0.8.4" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57ee1c23c7c63b0c9250c339ffdc69255f110b298b901b9f6c82547b7b87caaf" +checksum = "e5d732bc30207a6423068df043e3d02e0735b155ad7ce1a6f76fe2baa5b158de" dependencies = [ "libc", "log", "wasi 0.11.0+wasi-snapshot-preview1", - "windows-sys 0.36.1", + "windows-sys 0.42.0", ] [[package]] @@ -4510,7 +4566,7 @@ dependencies = [ "blake2s_simd", "blake3", "core2", - "digest 0.10.5", + "digest 0.10.6", "multihash-derive", "sha2 0.10.6", "sha3", @@ -4763,9 +4819,9 @@ dependencies = [ [[package]] name = "num_cpus" -version = "1.13.1" +version = "1.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19e64526ebdee182341572e50e9ad03965aa510cd94427a4549448f285e957a1" +checksum = "f6058e64324c71e02bc2b150e4f3bc8286db6c83092132ffa3f6b1eab0f9def5" dependencies = [ "hermit-abi", "libc", @@ -4794,9 +4850,9 @@ dependencies = [ [[package]] name = "once_cell" -version = "1.15.0" +version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e82dad04139b71a90c080c8463fe0dc7902db5192d939bd0950f074d014339e1" +checksum = "86f0b0d4bf799edbc74508c1e8bf170ff5f41238e5f8225603ca7caaae2b7860" [[package]] name = "opaque-debug" @@ -4818,9 +4874,9 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "os_str_bytes" -version = "6.3.0" +version = "6.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ff7415e9ae3fff1225851df9e0d9e4e5479f947619774677a63572e55e80eff" +checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee" [[package]] name = "owning_ref" @@ -4833,7 +4889,7 @@ dependencies = [ [[package]] name = "pallet-aleph" -version = "0.5.0" +version = "0.5.1" dependencies = [ "frame-support", "frame-system", @@ -4854,7 +4910,7 @@ dependencies = [ [[package]] name = "pallet-aura" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "frame-support", "frame-system", @@ -4870,7 +4926,7 @@ dependencies = [ [[package]] name = "pallet-authorship" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "frame-support", "frame-system", @@ -4885,7 +4941,7 @@ dependencies = [ [[package]] name = "pallet-babe" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "frame-benchmarking", "frame-support", @@ -4909,7 +4965,7 @@ dependencies = [ [[package]] name = "pallet-balances" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "frame-benchmarking", "frame-support", @@ -4924,7 +4980,7 @@ dependencies = [ [[package]] name = "pallet-contracts" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "bitflags", "frame-benchmarking", @@ -4951,7 +5007,7 @@ dependencies = [ [[package]] name = "pallet-contracts-primitives" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "bitflags", "parity-scale-codec", @@ -4966,7 +5022,7 @@ dependencies = [ [[package]] name = "pallet-contracts-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "proc-macro2", "quote", @@ -4976,7 +5032,7 @@ dependencies = [ [[package]] name = "pallet-contracts-rpc" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "jsonrpsee", "pallet-contracts-primitives", @@ -4993,7 +5049,7 @@ dependencies = [ [[package]] name = "pallet-contracts-rpc-runtime-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "pallet-contracts-primitives", "parity-scale-codec", @@ -5005,7 +5061,7 @@ dependencies = [ [[package]] name = "pallet-elections" -version = "0.5.0" +version = "0.5.1" dependencies = [ "frame-election-provider-support", "frame-support", @@ -5028,7 +5084,7 @@ dependencies = [ [[package]] name = "pallet-identity" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "enumflags2", "frame-benchmarking", @@ -5044,7 +5100,7 @@ dependencies = [ [[package]] name = "pallet-multisig" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "frame-support", "frame-system", @@ -5058,7 +5114,7 @@ dependencies = [ [[package]] name = "pallet-nomination-pools" version = "1.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "frame-support", "frame-system", @@ -5075,7 +5131,7 @@ dependencies = [ [[package]] name = "pallet-randomness-collective-flip" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "frame-support", "frame-system", @@ -5089,7 +5145,7 @@ dependencies = [ [[package]] name = "pallet-scheduler" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "frame-support", "frame-system", @@ -5104,7 +5160,7 @@ dependencies = [ [[package]] name = "pallet-session" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "frame-support", "frame-system", @@ -5125,7 +5181,7 @@ dependencies = [ [[package]] name = "pallet-staking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "frame-election-provider-support", "frame-support", @@ -5146,7 +5202,7 @@ dependencies = [ [[package]] name = "pallet-sudo" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "frame-support", "frame-system", @@ -5160,7 +5216,7 @@ dependencies = [ [[package]] name = "pallet-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "frame-benchmarking", "frame-support", @@ -5177,7 +5233,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "frame-support", "frame-system", @@ -5193,7 +5249,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "jsonrpsee", "pallet-transaction-payment-rpc-runtime-api", @@ -5208,7 +5264,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc-runtime-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "pallet-transaction-payment", "parity-scale-codec", @@ -5219,7 +5275,7 @@ dependencies = [ [[package]] name = "pallet-treasury" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "frame-support", "frame-system", @@ -5235,7 +5291,7 @@ dependencies = [ [[package]] name = "pallet-utility" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "frame-support", "frame-system", @@ -5250,7 +5306,7 @@ dependencies = [ [[package]] name = "pallet-vesting" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "frame-support", "frame-system", @@ -5263,7 +5319,7 @@ dependencies = [ [[package]] name = "pallets-support" -version = "0.1.0" +version = "0.1.1" dependencies = [ "frame-support", ] @@ -5448,7 +5504,7 @@ version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "83a0692ec44e4cf1ef28ca317f14f8f07da2d95ec3fa01f86e4467b725e60917" dependencies = [ - "digest 0.10.5", + "digest 0.10.6", ] [[package]] @@ -5533,9 +5589,9 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" [[package]] name = "pkg-config" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1df8c4ec4b0627e53bdf214615ad287367e482558cf84b109250b37464dc03ae" +checksum = "6ac9a59f73473f1b8d852421e59e64809f025994837ef743615c6d0c5b305160" [[package]] name = "platforms" @@ -5582,9 +5638,9 @@ dependencies = [ [[package]] name = "ppv-lite86" -version = "0.2.16" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb9f9e6e233e5c4a35559a617bf40a4ec447db2e84c20b55a6f83167b7e57872" +checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" [[package]] name = "primitive-types" @@ -5602,7 +5658,7 @@ dependencies = [ [[package]] name = "primitives" -version = "0.5.0" +version = "0.5.1" dependencies = [ "parity-scale-codec", "scale-info", @@ -5969,11 +6025,10 @@ checksum = "60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3" [[package]] name = "rayon" -version = "1.5.3" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd99e5772ead8baa5215278c9b15bf92087709e9c1b2d1f97cdb5a183c933a7d" +checksum = "1e060280438193c554f654141c9ea9417886713b7acd75974c85b18a69a88e0b" dependencies = [ - "autocfg", "crossbeam-deque", "either", "rayon-core", @@ -5981,9 +6036,9 @@ dependencies = [ [[package]] name = "rayon-core" -version = "1.9.3" +version = "1.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "258bcdb5ac6dad48491bb2992db6b7cf74878b0384908af124823d118c99683f" +checksum = "cac410af5d00ab6884528b4ab69d1e8e146e8d471201800fa1b4524126de6ad3" dependencies = [ "crossbeam-channel", "crossbeam-deque", @@ -6013,18 +6068,18 @@ dependencies = [ [[package]] name = "ref-cast" -version = "1.0.12" +version = "1.0.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12a733f1746c929b4913fe48f8697fcf9c55e3304ba251a79ffb41adfeaf49c2" +checksum = "53b15debb4f9d60d767cd8ca9ef7abb2452922f3214671ff052defc7f3502c44" dependencies = [ "ref-cast-impl", ] [[package]] name = "ref-cast-impl" -version = "1.0.12" +version = "1.0.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5887de4a01acafd221861463be6113e6e87275e79804e56779f4cdc131c60368" +checksum = "abfa8511e9e94fd3de6585a3d3cd00e01ed556dc9814829280af0e8dc72a8f36" dependencies = [ "proc-macro2", "quote", @@ -6045,9 +6100,9 @@ dependencies = [ [[package]] name = "regex" -version = "1.6.0" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c4eb3267174b8c6c2f654116623910a0fef09c4753f8dd83db29c48a0df988b" +checksum = "e076559ef8e241f2ae3479e36f97bd5741c0330689e217ad51ce2c76808b868a" dependencies = [ "aho-corasick", "memchr", @@ -6065,9 +6120,9 @@ dependencies = [ [[package]] name = "regex-syntax" -version = "0.6.27" +version = "0.6.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3f87b73ce11b1619a3c6332f45341e0047173771e8b8b73f87bfeefb7b56244" +checksum = "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848" [[package]] name = "region" @@ -6084,7 +6139,7 @@ dependencies = [ [[package]] name = "remote-externalities" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "env_logger", "jsonrpsee", @@ -6165,9 +6220,9 @@ dependencies = [ [[package]] name = "rpassword" -version = "5.0.1" +version = "7.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffc936cf8a7ea60c58f030fd36a612a48f440610214dc54bc36431f9ea0c3efb" +checksum = "20c9f5d2a0c3e2ea729ab3706d22217177770654c3ef5056b68b69d07332d3f5" dependencies = [ "libc", "winapi", @@ -6240,16 +6295,16 @@ dependencies = [ [[package]] name = "rustix" -version = "0.35.12" +version = "0.35.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "985947f9b6423159c4726323f373be0a21bdb514c5af06a849cb3d2dce2d01e8" +checksum = "727a1a6d65f786ec22df8a81ca3121107f235970dc1705ed681d3e6e8b9cd5f9" dependencies = [ "bitflags", "errno", - "io-lifetimes 0.7.4", + "io-lifetimes 0.7.5", "libc", "linux-raw-sys 0.0.46", - "windows-sys 0.36.1", + "windows-sys 0.42.0", ] [[package]] @@ -6349,7 +6404,7 @@ dependencies = [ [[package]] name = "sc-allocator" version = "4.1.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "log", "sp-core", @@ -6360,7 +6415,7 @@ dependencies = [ [[package]] name = "sc-basic-authorship" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "futures", "futures-timer", @@ -6383,7 +6438,7 @@ dependencies = [ [[package]] name = "sc-block-builder" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "parity-scale-codec", "sc-client-api", @@ -6399,13 +6454,13 @@ dependencies = [ [[package]] name = "sc-chain-spec" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "impl-trait-for-tuples", "memmap2", "parity-scale-codec", "sc-chain-spec-derive", - "sc-network", + "sc-network-common", "sc-telemetry", "serde", "serde_json", @@ -6416,7 +6471,7 @@ dependencies = [ [[package]] name = "sc-chain-spec-derive" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -6427,7 +6482,7 @@ dependencies = [ [[package]] name = "sc-cli" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "chrono", "clap", @@ -6466,7 +6521,7 @@ dependencies = [ [[package]] name = "sc-client-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "fnv", "futures", @@ -6494,7 +6549,7 @@ dependencies = [ [[package]] name = "sc-client-db" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "hash-db", "kvdb", @@ -6519,7 +6574,7 @@ dependencies = [ [[package]] name = "sc-consensus" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "async-trait", "futures", @@ -6543,7 +6598,7 @@ dependencies = [ [[package]] name = "sc-consensus-aura" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "async-trait", "futures", @@ -6572,7 +6627,7 @@ dependencies = [ [[package]] name = "sc-consensus-slots" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "async-trait", "futures", @@ -6597,7 +6652,7 @@ dependencies = [ [[package]] name = "sc-executor" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "lazy_static", "lru", @@ -6624,7 +6679,7 @@ dependencies = [ [[package]] name = "sc-executor-common" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "environmental", "parity-scale-codec", @@ -6640,7 +6695,7 @@ dependencies = [ [[package]] name = "sc-executor-wasmi" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "log", "parity-scale-codec", @@ -6655,7 +6710,7 @@ dependencies = [ [[package]] name = "sc-executor-wasmtime" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "cfg-if", "libc", @@ -6663,7 +6718,8 @@ dependencies = [ "once_cell", "parity-scale-codec", "parity-wasm 0.42.2", - "rustix 0.35.12", + "rustix 0.33.7", + "rustix 0.35.13", "sc-allocator", "sc-executor-common", "sp-runtime-interface", @@ -6675,7 +6731,7 @@ dependencies = [ [[package]] name = "sc-informant" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "ansi_term", "futures", @@ -6692,7 +6748,7 @@ dependencies = [ [[package]] name = "sc-keystore" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "async-trait", "hex", @@ -6707,7 +6763,7 @@ dependencies = [ [[package]] name = "sc-network" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "async-trait", "asynchronous-codec", @@ -6756,7 +6812,7 @@ dependencies = [ [[package]] name = "sc-network-common" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "async-trait", "bitflags", @@ -6767,7 +6823,9 @@ dependencies = [ "prost-build 0.10.4", "sc-consensus", "sc-peerset", + "serde", "smallvec", + "sp-blockchain", "sp-consensus", "sp-finality-grandpa", "sp-runtime", @@ -6777,7 +6835,7 @@ dependencies = [ [[package]] name = "sc-network-light" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "futures", "hex", @@ -6798,7 +6856,7 @@ dependencies = [ [[package]] name = "sc-network-sync" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "fork-tree", "futures", @@ -6826,7 +6884,7 @@ dependencies = [ [[package]] name = "sc-offchain" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "bytes", "fnv", @@ -6835,14 +6893,15 @@ dependencies = [ "hex", "hyper", "hyper-rustls", + "libp2p 0.46.1", "num_cpus", "once_cell", "parity-scale-codec", "parking_lot 0.12.1", "rand 0.7.3", "sc-client-api", - "sc-network", "sc-network-common", + "sc-peerset", "sc-utils", "sp-api", "sp-core", @@ -6855,7 +6914,7 @@ dependencies = [ [[package]] name = "sc-peerset" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "futures", "libp2p 0.46.1", @@ -6868,7 +6927,7 @@ dependencies = [ [[package]] name = "sc-proposer-metrics" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "log", "substrate-prometheus-endpoint", @@ -6877,7 +6936,7 @@ dependencies = [ [[package]] name = "sc-rpc" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "futures", "hash-db", @@ -6907,7 +6966,7 @@ dependencies = [ [[package]] name = "sc-rpc-api" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "futures", "jsonrpsee", @@ -6930,7 +6989,7 @@ dependencies = [ [[package]] name = "sc-rpc-server" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "futures", "jsonrpsee", @@ -6943,7 +7002,7 @@ dependencies = [ [[package]] name = "sc-service" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "async-trait", "directories", @@ -7010,7 +7069,7 @@ dependencies = [ [[package]] name = "sc-state-db" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "log", "parity-scale-codec", @@ -7024,7 +7083,7 @@ dependencies = [ [[package]] name = "sc-sysinfo" version = "6.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "futures", "libc", @@ -7043,7 +7102,7 @@ dependencies = [ [[package]] name = "sc-telemetry" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "chrono", "futures", @@ -7061,7 +7120,7 @@ dependencies = [ [[package]] name = "sc-tracing" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "ansi_term", "atty", @@ -7092,7 +7151,7 @@ dependencies = [ [[package]] name = "sc-tracing-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -7103,7 +7162,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "futures", "futures-timer", @@ -7129,7 +7188,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "futures", "log", @@ -7142,7 +7201,7 @@ dependencies = [ [[package]] name = "sc-utils" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "futures", "futures-timer", @@ -7154,9 +7213,9 @@ dependencies = [ [[package]] name = "scale-info" -version = "2.2.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "333af15b02563b8182cd863f925bd31ef8fa86a0e095d30c091956057d436153" +checksum = "88d8a765117b237ef233705cc2cc4c6a27fccd46eea6ef0c8c6dae5f3ef407f8" dependencies = [ "bitvec", "cfg-if", @@ -7168,9 +7227,9 @@ dependencies = [ [[package]] name = "scale-info-derive" -version = "2.2.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53f56acbd0743d29ffa08f911ab5397def774ad01bab3786804cf6ee057fb5e1" +checksum = "cdcd47b380d8c4541044e341dcd9475f55ba37ddc50c908d945fc036a8642496" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -7242,9 +7301,9 @@ dependencies = [ [[package]] name = "secp256k1" -version = "0.24.0" +version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7649a0b3ffb32636e60c7ce0d70511eda9c52c658cd0634e194d5a19943aeff" +checksum = "ff55dc09d460954e9ef2fa8a7ced735a964be9981fd50e870b2b3b0705e14964" dependencies = [ "secp256k1-sys", ] @@ -7345,9 +7404,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.87" +version = "1.0.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ce777b7b150d76b9cf60d28b55f5847135a003f7d7350c6be7a773508ce7d45" +checksum = "020ff22c755c2ed3f8cf162dbb41a7268d934702f3ed3631656ea597e08fc3db" dependencies = [ "itoa", "ryu", @@ -7400,7 +7459,7 @@ checksum = "82e6b795fe2e3b1e845bafcb27aa35405c4d47cdfc92af5fc8d3002f76cebdc0" dependencies = [ "cfg-if", "cpufeatures", - "digest 0.10.5", + "digest 0.10.6", ] [[package]] @@ -7409,7 +7468,7 @@ version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bdf0c33fae925bdc080598b84bc15c55e7b9a4a43b3c704da051f977469691c9" dependencies = [ - "digest 0.10.5", + "digest 0.10.6", "keccak", ] @@ -7492,9 +7551,9 @@ checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" [[package]] name = "snap" -version = "1.0.5" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45456094d1983e2ee2a18fdfebce3189fa451699d0502cb8e3b49dba5ba41451" +checksum = "5e9f0ab6ef7eb7353d9119c170a436d1bf248eea575ac42d19d12f4e34130831" [[package]] name = "snow" @@ -7542,7 +7601,7 @@ dependencies = [ [[package]] name = "sp-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "hash-db", "log", @@ -7552,6 +7611,7 @@ dependencies = [ "sp-runtime", "sp-state-machine", "sp-std", + "sp-trie", "sp-version", "thiserror", ] @@ -7559,7 +7619,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "blake2", "proc-macro-crate", @@ -7571,7 +7631,7 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "parity-scale-codec", "scale-info", @@ -7584,7 +7644,7 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "integer-sqrt", "num-traits", @@ -7599,7 +7659,7 @@ dependencies = [ [[package]] name = "sp-authorship" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "async-trait", "parity-scale-codec", @@ -7611,7 +7671,7 @@ dependencies = [ [[package]] name = "sp-block-builder" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "parity-scale-codec", "sp-api", @@ -7623,7 +7683,7 @@ dependencies = [ [[package]] name = "sp-blockchain" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "futures", "log", @@ -7641,7 +7701,7 @@ dependencies = [ [[package]] name = "sp-consensus" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "async-trait", "futures", @@ -7660,7 +7720,7 @@ dependencies = [ [[package]] name = "sp-consensus-aura" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "async-trait", "parity-scale-codec", @@ -7678,7 +7738,7 @@ dependencies = [ [[package]] name = "sp-consensus-babe" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "async-trait", "merlin", @@ -7701,7 +7761,7 @@ dependencies = [ [[package]] name = "sp-consensus-slots" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "parity-scale-codec", "scale-info", @@ -7715,7 +7775,7 @@ dependencies = [ [[package]] name = "sp-consensus-vrf" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "parity-scale-codec", "scale-info", @@ -7728,14 +7788,14 @@ dependencies = [ [[package]] name = "sp-core" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "base58", "bitflags", "blake2-rfc", "byteorder", "dyn-clonable", - "ed25519-dalek", + "ed25519-zebra", "futures", "hash-db", "hash256-std-hasher", @@ -7774,11 +7834,11 @@ dependencies = [ [[package]] name = "sp-core-hashing" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "blake2", "byteorder", - "digest 0.10.5", + "digest 0.10.6", "sha2 0.10.6", "sha3", "sp-std", @@ -7788,7 +7848,7 @@ dependencies = [ [[package]] name = "sp-core-hashing-proc-macro" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "proc-macro2", "quote", @@ -7799,7 +7859,7 @@ dependencies = [ [[package]] name = "sp-database" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "kvdb", "parking_lot 0.12.1", @@ -7808,7 +7868,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "proc-macro2", "quote", @@ -7818,7 +7878,7 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "environmental", "parity-scale-codec", @@ -7829,7 +7889,7 @@ dependencies = [ [[package]] name = "sp-finality-grandpa" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "finality-grandpa", "log", @@ -7847,7 +7907,7 @@ dependencies = [ [[package]] name = "sp-inherents" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "async-trait", "impl-trait-for-tuples", @@ -7861,7 +7921,7 @@ dependencies = [ [[package]] name = "sp-io" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "bytes", "futures", @@ -7887,7 +7947,7 @@ dependencies = [ [[package]] name = "sp-keyring" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "lazy_static", "sp-core", @@ -7898,7 +7958,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "async-trait", "futures", @@ -7915,7 +7975,7 @@ dependencies = [ [[package]] name = "sp-maybe-compressed-blob" version = "4.1.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "thiserror", "zstd", @@ -7924,7 +7984,7 @@ dependencies = [ [[package]] name = "sp-npos-elections" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "parity-scale-codec", "scale-info", @@ -7938,7 +7998,7 @@ dependencies = [ [[package]] name = "sp-offchain" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "sp-api", "sp-core", @@ -7948,7 +8008,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "backtrace", "lazy_static", @@ -7958,7 +8018,7 @@ dependencies = [ [[package]] name = "sp-rpc" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "rustc-hash", "serde", @@ -7968,7 +8028,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "either", "hash256-std-hasher", @@ -7990,7 +8050,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "bytes", "impl-trait-for-tuples", @@ -8008,7 +8068,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "Inflector", "proc-macro-crate", @@ -8020,7 +8080,7 @@ dependencies = [ [[package]] name = "sp-sandbox" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "log", "parity-scale-codec", @@ -8034,7 +8094,7 @@ dependencies = [ [[package]] name = "sp-session" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "parity-scale-codec", "scale-info", @@ -8048,7 +8108,7 @@ dependencies = [ [[package]] name = "sp-staking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "parity-scale-codec", "scale-info", @@ -8059,7 +8119,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "hash-db", "log", @@ -8081,12 +8141,12 @@ dependencies = [ [[package]] name = "sp-std" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" [[package]] name = "sp-storage" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "impl-serde", "parity-scale-codec", @@ -8099,7 +8159,7 @@ dependencies = [ [[package]] name = "sp-tasks" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "log", "sp-core", @@ -8112,7 +8172,7 @@ dependencies = [ [[package]] name = "sp-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "async-trait", "futures-timer", @@ -8128,7 +8188,7 @@ dependencies = [ [[package]] name = "sp-tracing" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "parity-scale-codec", "sp-std", @@ -8140,7 +8200,7 @@ dependencies = [ [[package]] name = "sp-transaction-pool" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "sp-api", "sp-runtime", @@ -8149,7 +8209,7 @@ dependencies = [ [[package]] name = "sp-transaction-storage-proof" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "async-trait", "log", @@ -8165,15 +8225,22 @@ dependencies = [ [[package]] name = "sp-trie" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ + "ahash", "hash-db", + "hashbrown 0.12.3", + "lazy_static", + "lru", "memory-db", + "nohash-hasher", "parity-scale-codec", + "parking_lot 0.12.1", "scale-info", "sp-core", "sp-std", "thiserror", + "tracing", "trie-db", "trie-root", ] @@ -8181,7 +8248,7 @@ dependencies = [ [[package]] name = "sp-version" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "impl-serde", "parity-scale-codec", @@ -8198,7 +8265,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "parity-scale-codec", "proc-macro2", @@ -8209,7 +8276,7 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "impl-trait-for-tuples", "log", @@ -8227,9 +8294,9 @@ checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" [[package]] name = "ss58-registry" -version = "1.33.0" +version = "1.35.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ab7554f8a8b6f8d71cd5a8e6536ef116e2ce0504cf97ebf16311d58065dc8a6" +checksum = "fa0813c10b9dbdc842c2305f949f724c64866e4ef4d09c9151e96f6a2106773c" dependencies = [ "Inflector", "num-format", @@ -8309,7 +8376,7 @@ dependencies = [ [[package]] name = "substrate-build-script-utils" version = "3.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "platforms", ] @@ -8317,7 +8384,7 @@ dependencies = [ [[package]] name = "substrate-frame-rpc-system" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "frame-system-rpc-runtime-api", "futures", @@ -8338,7 +8405,7 @@ dependencies = [ [[package]] name = "substrate-prometheus-endpoint" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "futures-util", "hyper", @@ -8351,7 +8418,7 @@ dependencies = [ [[package]] name = "substrate-test-client" version = "2.0.1" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "async-trait", "futures", @@ -8377,7 +8444,7 @@ dependencies = [ [[package]] name = "substrate-test-runtime" version = "2.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "beefy-merkle-tree", "beefy-primitives", @@ -8421,7 +8488,7 @@ dependencies = [ [[package]] name = "substrate-test-runtime-client" version = "2.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "futures", "parity-scale-codec", @@ -8440,7 +8507,7 @@ dependencies = [ [[package]] name = "substrate-wasm-builder" version = "5.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "ansi_term", "build-helper", @@ -8512,9 +8579,9 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" [[package]] name = "target-lexicon" -version = "0.12.4" +version = "0.12.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c02424087780c9b71cc96799eaeddff35af2bc513278cda5c99fc1f5d026d3c1" +checksum = "9410d0f6853b1d94f0e519fb95df60f29d2c1eff2d921ffdf01a4c8a3b54f12d" [[package]] name = "tempfile" @@ -8541,9 +8608,9 @@ dependencies = [ [[package]] name = "textwrap" -version = "0.15.0" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1141d4d61095b28419e22cb0bbf02755f5e54e0526f97f1e3d1d160e60885fb" +checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d" [[package]] name = "thiserror" @@ -8669,9 +8736,9 @@ checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" [[package]] name = "tokio" -version = "1.21.2" +version = "1.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9e03c497dc955702ba729190dc4aac6f2a0ce97f913e5b1b5912fc5039d9099" +checksum = "d76ce4a75fb488c605c54bf610f221cea8b0dafb53333c1a67e8ee199dcd2ae3" dependencies = [ "autocfg", "bytes", @@ -8839,9 +8906,9 @@ dependencies = [ [[package]] name = "trie-db" -version = "0.23.1" +version = "0.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d32d034c0d3db64b43c31de38e945f15b40cd4ca6d2dcfc26d4798ce8de4ab83" +checksum = "004e1e8f92535694b4cb1444dc5a8073ecf0815e3357f729638b9f8fc4062908" dependencies = [ "hash-db", "hashbrown 0.12.3", @@ -8911,9 +8978,10 @@ checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642" [[package]] name = "try-runtime-cli" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "clap", + "frame-try-runtime", "jsonrpsee", "log", "parity-scale-codec", @@ -8946,7 +9014,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675" dependencies = [ "cfg-if", - "digest 0.10.5", + "digest 0.10.6", "rand 0.8.5", "static_assertions", ] @@ -9415,7 +9483,7 @@ dependencies = [ "log", "mach", "memfd", - "memoffset", + "memoffset 0.6.5", "more-asserts", "rand 0.8.5", "region", @@ -9669,18 +9737,18 @@ checksum = "f40009d85759725a34da6d89a94e63d7bdc50a862acf0dbc7c8e488f1edcb6f5" [[package]] name = "winreg" -version = "0.7.0" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0120db82e8a1e0b9fb3345a539c478767c0048d842860994d96113d5b667bd69" +checksum = "80d0f4e272c85def139476380b12f9ac60926689dd2e01d4923222f40580869d" dependencies = [ "winapi", ] [[package]] name = "wyz" -version = "0.5.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30b31594f29d27036c383b53b59ed3476874d518f0efb151b27a4c275141390e" +checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed" dependencies = [ "tap", ] diff --git a/aleph-client/Cargo.lock b/aleph-client/Cargo.lock index 377b507e8e..6d80123527 100644 --- a/aleph-client/Cargo.lock +++ b/aleph-client/Cargo.lock @@ -40,16 +40,16 @@ dependencies = [ [[package]] name = "aho-corasick" -version = "0.7.19" +version = "0.7.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4f55bd91a0978cbfd91c457a164bab8b4001c833b7f323132c0a4e1922dd44e" +checksum = "cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac" dependencies = [ "memchr", ] [[package]] name = "aleph_client" -version = "2.0.0" +version = "2.1.0" dependencies = [ "anyhow", "async-trait", @@ -65,8 +65,8 @@ dependencies = [ "primitives", "serde", "serde_json", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", "subxt", "thiserror", ] @@ -226,7 +226,7 @@ version = "0.10.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b12e5fd123190ce1c2e559308a94c9bacad77907d4c6005d9e58fe1a0689e55e" dependencies = [ - "digest 0.10.5", + "digest 0.10.6", ] [[package]] @@ -313,15 +313,24 @@ checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" [[package]] name = "bytes" -version = "1.2.1" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec8a7b6a70fde80372154c65702f00a0f56f3e1c36abbc6c440484be248856db" +checksum = "dfb24e866b15a1af2a1b663f10c6b6b8f397a84aadb828f12e5b289ec23a3a3c" [[package]] name = "cc" -version = "1.0.76" +version = "1.0.77" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e9f73505338f7d905b19d18738976aae232eb46b8efc15554ffc56deb5d9ebe4" + +[[package]] +name = "cfg-expr" +version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76a284da2e6fe2092f2353e51713435363112dfd60030e22add80be333fb928f" +checksum = "0aacacf4d96c24b2ad6eb8ee6df040e4f27b0d0b39a5710c30091baa830485db" +dependencies = [ + "smallvec", +] [[package]] name = "cfg-if" @@ -516,9 +525,9 @@ dependencies = [ [[package]] name = "cxx" -version = "1.0.81" +version = "1.0.82" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97abf9f0eca9e52b7f81b945524e76710e6cb2366aead23b7d4fbf72e281f888" +checksum = "d4a41a86530d0fe7f5d9ea779916b7cadd2d4f9add748b99c2c029cbbdfaf453" dependencies = [ "cc", "cxxbridge-flags", @@ -528,9 +537,9 @@ dependencies = [ [[package]] name = "cxx-build" -version = "1.0.81" +version = "1.0.82" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cc32cc5fea1d894b77d269ddb9f192110069a8a9c1f1d441195fba90553dea3" +checksum = "06416d667ff3e3ad2df1cd8cd8afae5da26cf9cec4d0825040f88b5ca659a2f0" dependencies = [ "cc", "codespan-reporting", @@ -543,15 +552,15 @@ dependencies = [ [[package]] name = "cxxbridge-flags" -version = "1.0.81" +version = "1.0.82" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ca220e4794c934dc6b1207c3b42856ad4c302f2df1712e9f8d2eec5afaacf1f" +checksum = "820a9a2af1669deeef27cb271f476ffd196a2c4b6731336011e0ba63e2c7cf71" [[package]] name = "cxxbridge-macro" -version = "1.0.81" +version = "1.0.82" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b846f081361125bfc8dc9d3940c84e1fd83ba54bbca7b17cd29483c828be0704" +checksum = "a08a6e2fcc370a089ad3b4aaf54db3b1b4cee38ddabce5896b33eb693275f470" dependencies = [ "proc-macro2", "quote", @@ -644,9 +653,9 @@ dependencies = [ [[package]] name = "digest" -version = "0.10.5" +version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adfbc57365a37acbd2ebf2b64d7e69bb766e2fea813521ed536f5d0520dcf86c" +checksum = "8168378f4e5023e7218c89c891c0fd8ecdb5e5e4f18cb78f38cf245dd021e76f" dependencies = [ "block-buffer 0.10.3", "crypto-common", @@ -721,6 +730,20 @@ dependencies = [ "zeroize", ] +[[package]] +name = "ed25519-zebra" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c24f403d068ad0b359e577a77f92392118be3f3c927538f2bb544a5ecd828c6" +dependencies = [ + "curve25519-dalek 3.2.0", + "hashbrown", + "hex", + "rand_core 0.6.4", + "sha2 0.9.9", + "zeroize", +] + [[package]] name = "either" version = "1.8.0" @@ -846,7 +869,7 @@ dependencies = [ [[package]] name = "frame-support" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "bitflags", "frame-metadata", @@ -861,26 +884,28 @@ dependencies = [ "serde", "smallvec", "sp-api", - "sp-arithmetic 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-arithmetic 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", "sp-core-hashing-proc-macro", "sp-inherents", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", "sp-staking", - "sp-state-machine 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-tracing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-state-machine 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-tracing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", "tt-call", ] [[package]] name = "frame-support-procedural" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "Inflector", + "cfg-expr", "frame-support-procedural-tools", + "itertools", "proc-macro2", "quote", "syn", @@ -889,7 +914,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate", @@ -901,7 +926,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "proc-macro2", "quote", @@ -1261,9 +1286,9 @@ checksum = "0cfe9645a18782869361d9c8732246be7b410ad4e919d3609ebabdac00ba12c3" [[package]] name = "indexmap" -version = "1.9.1" +version = "1.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10a35a97730320ffe8e2d410b5d3b69279b98d2c14bdb8b70ea89ecf7888d41e" +checksum = "1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399" dependencies = [ "autocfg", "hashbrown", @@ -1581,6 +1606,15 @@ dependencies = [ "cfg-if", ] +[[package]] +name = "lru" +version = "0.7.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e999beba7b6e8345721bd280141ed958096a2e4abdf74f67ff4ce49b4b54e47a" +dependencies = [ + "hashbrown", +] + [[package]] name = "matchers" version = "0.0.1" @@ -1658,6 +1692,12 @@ version = "0.1.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb" +[[package]] +name = "nohash-hasher" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2bf50223579dc7cdcfb3bfcacf7069ff68243f8c363f62ffa99cf000a6b9c451" + [[package]] name = "nom" version = "7.1.1" @@ -1779,16 +1819,16 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "pallet-contracts-primitives" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "bitflags", "parity-scale-codec", "scale-info", "serde", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", "sp-rpc", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", ] [[package]] @@ -1962,17 +2002,17 @@ dependencies = [ [[package]] name = "primitives" -version = "0.5.0" +version = "0.5.1" dependencies = [ "parity-scale-codec", "scale-info", "serde", "sp-api", - "sp-application-crypto 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-application-crypto 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", "sp-staking", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", ] [[package]] @@ -2492,9 +2532,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.87" +version = "1.0.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ce777b7b150d76b9cf60d28b55f5847135a003f7d7350c6be7a773508ce7d45" +checksum = "020ff22c755c2ed3f8cf162dbb41a7268d934702f3ed3631656ea597e08fc3db" dependencies = [ "itoa", "ryu", @@ -2547,7 +2587,7 @@ checksum = "82e6b795fe2e3b1e845bafcb27aa35405c4d47cdfc92af5fc8d3002f76cebdc0" dependencies = [ "cfg-if", "cpufeatures", - "digest 0.10.5", + "digest 0.10.6", ] [[package]] @@ -2556,7 +2596,7 @@ version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bdf0c33fae925bdc080598b84bc15c55e7b9a4a43b3c704da051f977469691c9" dependencies = [ - "digest 0.10.5", + "digest 0.10.6", "keccak", ] @@ -2622,16 +2662,17 @@ dependencies = [ [[package]] name = "sp-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "hash-db", "log", "parity-scale-codec", "sp-api-proc-macro", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-state-machine 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-state-machine 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-trie 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", "sp-version", "thiserror", ] @@ -2639,7 +2680,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "blake2", "proc-macro-crate", @@ -2665,14 +2706,14 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", ] [[package]] @@ -2694,15 +2735,15 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "integer-sqrt", "num-traits", "parity-scale-codec", "scale-info", "serde", - "sp-debug-derive 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-debug-derive 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", "static_assertions", ] @@ -2756,14 +2797,14 @@ dependencies = [ [[package]] name = "sp-core" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "base58", "bitflags", "blake2-rfc", "byteorder", "dyn-clonable", - "ed25519-dalek", + "ed25519-zebra", "futures", "hash-db", "hash256-std-hasher", @@ -2785,12 +2826,12 @@ dependencies = [ "secp256k1 0.24.1", "secrecy", "serde", - "sp-core-hashing 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-debug-derive 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-storage 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-core-hashing 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-debug-derive 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-runtime-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-storage 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", "ss58-registry", "substrate-bip39", "thiserror", @@ -2816,25 +2857,25 @@ dependencies = [ [[package]] name = "sp-core-hashing" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "blake2", "byteorder", - "digest 0.10.5", + "digest 0.10.6", "sha2 0.10.6", "sha3", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", "twox-hash", ] [[package]] name = "sp-core-hashing-proc-macro" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "proc-macro2", "quote", - "sp-core-hashing 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-core-hashing 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", "syn", ] @@ -2852,7 +2893,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "proc-macro2", "quote", @@ -2874,25 +2915,25 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "environmental", "parity-scale-codec", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-storage 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-storage 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", ] [[package]] name = "sp-inherents" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "async-trait", "impl-trait-for-tuples", "parity-scale-codec", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", "thiserror", ] @@ -2925,7 +2966,7 @@ dependencies = [ [[package]] name = "sp-io" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "bytes", "futures", @@ -2935,15 +2976,15 @@ dependencies = [ "parity-scale-codec", "parking_lot", "secp256k1 0.24.1", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-keystore 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-state-machine 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-tracing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-trie 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-wasm-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-keystore 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-runtime-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-state-machine 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-tracing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-trie 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-wasm-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", "tracing", "tracing-core", ] @@ -2968,7 +3009,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "async-trait", "futures", @@ -2976,8 +3017,8 @@ dependencies = [ "parity-scale-codec", "parking_lot", "schnorrkel", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", "thiserror", ] @@ -2995,7 +3036,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "backtrace", "lazy_static", @@ -3005,11 +3046,11 @@ dependencies = [ [[package]] name = "sp-rpc" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "rustc-hash", "serde", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", ] [[package]] @@ -3038,7 +3079,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "either", "hash256-std-hasher", @@ -3050,11 +3091,11 @@ dependencies = [ "rand 0.7.3", "scale-info", "serde", - "sp-application-crypto 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-arithmetic 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-application-crypto 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-arithmetic 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", ] [[package]] @@ -3078,18 +3119,18 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "bytes", "impl-trait-for-tuples", "parity-scale-codec", "primitive-types", - "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime-interface-proc-macro 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-storage 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-tracing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-wasm-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-runtime-interface-proc-macro 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-storage 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-tracing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-wasm-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", "static_assertions", ] @@ -3109,7 +3150,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "Inflector", "proc-macro-crate", @@ -3121,12 +3162,12 @@ dependencies = [ [[package]] name = "sp-staking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "parity-scale-codec", "scale-info", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", ] [[package]] @@ -3149,14 +3190,14 @@ dependencies = [ "sp-trie 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "thiserror", "tracing", - "trie-db", + "trie-db 0.23.1", "trie-root", ] [[package]] name = "sp-state-machine" version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "hash-db", "log", @@ -3165,11 +3206,11 @@ dependencies = [ "parking_lot", "rand 0.7.3", "smallvec", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-panic-handler 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-trie 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-panic-handler 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-trie 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", "thiserror", "tracing", "trie-root", @@ -3184,7 +3225,7 @@ checksum = "14804d6069ee7a388240b665f17908d98386ffb0b5d39f89a4099fc7a2a4c03f" [[package]] name = "sp-std" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" [[package]] name = "sp-storage" @@ -3203,14 +3244,14 @@ dependencies = [ [[package]] name = "sp-storage" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "impl-serde", "parity-scale-codec", "ref-cast", "serde", - "sp-debug-derive 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-debug-derive 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", ] [[package]] @@ -3229,10 +3270,10 @@ dependencies = [ [[package]] name = "sp-tracing" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "parity-scale-codec", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", "tracing", "tracing-core", "tracing-subscriber", @@ -3250,30 +3291,37 @@ dependencies = [ "scale-info", "sp-core 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "trie-db", + "trie-db 0.23.1", "trie-root", ] [[package]] name = "sp-trie" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ + "ahash", "hash-db", + "hashbrown", + "lazy_static", + "lru", "memory-db", + "nohash-hasher", "parity-scale-codec", + "parking_lot", "scale-info", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", "thiserror", - "trie-db", + "tracing", + "trie-db 0.24.0", "trie-root", ] [[package]] name = "sp-version" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "impl-serde", "parity-scale-codec", @@ -3281,8 +3329,8 @@ dependencies = [ "scale-info", "serde", "sp-core-hashing-proc-macro", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", "sp-version-proc-macro", "thiserror", ] @@ -3290,7 +3338,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "parity-scale-codec", "proc-macro2", @@ -3314,12 +3362,12 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "impl-trait-for-tuples", "log", "parity-scale-codec", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", "wasmi", ] @@ -3331,9 +3379,9 @@ checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" [[package]] name = "ss58-registry" -version = "1.34.0" +version = "1.35.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37a9821878e1f13aba383aa40a86fb1b33c7265774ec91e32563cb1dd1577496" +checksum = "fa0813c10b9dbdc842c2305f949f724c64866e4ef4d09c9151e96f6a2106773c" dependencies = [ "Inflector", "num-format", @@ -3556,9 +3604,9 @@ checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" [[package]] name = "tokio" -version = "1.21.2" +version = "1.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9e03c497dc955702ba729190dc4aac6f2a0ce97f913e5b1b5912fc5039d9099" +checksum = "d76ce4a75fb488c605c54bf610f221cea8b0dafb53333c1a67e8ee199dcd2ae3" dependencies = [ "autocfg", "libc", @@ -3713,6 +3761,19 @@ dependencies = [ "smallvec", ] +[[package]] +name = "trie-db" +version = "0.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "004e1e8f92535694b4cb1444dc5a8073ecf0815e3357f729638b9f8fc4062908" +dependencies = [ + "hash-db", + "hashbrown", + "log", + "rustc-hex", + "smallvec", +] + [[package]] name = "trie-root" version = "0.17.0" @@ -3735,7 +3796,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675" dependencies = [ "cfg-if", - "digest 0.10.5", + "digest 0.10.6", "rand 0.8.5", "static_assertions", ] @@ -4079,9 +4140,9 @@ checksum = "f40009d85759725a34da6d89a94e63d7bdc50a862acf0dbc7c8e488f1edcb6f5" [[package]] name = "wyz" -version = "0.5.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30b31594f29d27036c383b53b59ed3476874d518f0efb151b27a4c275141390e" +checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed" dependencies = [ "tap", ] diff --git a/aleph-client/Cargo.toml b/aleph-client/Cargo.toml index acc908c76b..9f4f1daa0e 100644 --- a/aleph-client/Cargo.toml +++ b/aleph-client/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "aleph_client" -version = "2.0.0" +version = "2.1.0" edition = "2021" license = "Apache 2.0" @@ -19,8 +19,8 @@ subxt = "0.24.0" futures = "0.3.25" serde = { version = "1.0", features = ["derive"] } -frame-support = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28", features = ["full_crypto"] } -sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -pallet-contracts-primitives = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } +frame-support = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29", features = ["full_crypto"] } +sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +pallet-contracts-primitives = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } primitives = { path = "../primitives" } diff --git a/aleph-client/src/aleph_zero.rs b/aleph-client/src/aleph_zero.rs index 9a863f452e..2afd6d0f14 100644 --- a/aleph-client/src/aleph_zero.rs +++ b/aleph-client/src/aleph_zero.rs @@ -544,7 +544,7 @@ pub mod api { ) -> ::subxt::storage::address::StaticStorageAddress< ::subxt::metadata::DecodeStaticType< runtime_types::frame_support::weights::PerDispatchClass< - ::core::primitive::u64, + runtime_types::frame_support::weights::weight_v2::Weight, >, >, ::subxt::storage::address::Yes, @@ -556,9 +556,9 @@ pub mod api { "BlockWeight", vec![], [ - 91u8, 211u8, 177u8, 36u8, 147u8, 249u8, 55u8, 164u8, 48u8, 49u8, 55u8, - 11u8, 121u8, 193u8, 103u8, 69u8, 38u8, 142u8, 148u8, 36u8, 137u8, 41u8, - 115u8, 195u8, 31u8, 174u8, 163u8, 125u8, 69u8, 5u8, 94u8, 79u8, + 25u8, 97u8, 54u8, 87u8, 196u8, 64u8, 243u8, 40u8, 63u8, 215u8, 225u8, + 108u8, 83u8, 110u8, 180u8, 62u8, 160u8, 84u8, 65u8, 29u8, 225u8, 34u8, + 221u8, 108u8, 242u8, 129u8, 215u8, 27u8, 28u8, 158u8, 72u8, 250u8, ], ) } @@ -762,9 +762,10 @@ pub mod api { "Events", vec![], [ - 136u8, 10u8, 224u8, 245u8, 154u8, 113u8, 236u8, 64u8, 20u8, 3u8, 151u8, - 221u8, 140u8, 30u8, 163u8, 129u8, 68u8, 211u8, 76u8, 197u8, 121u8, - 137u8, 164u8, 50u8, 231u8, 208u8, 123u8, 112u8, 10u8, 65u8, 2u8, 92u8, + 198u8, 187u8, 209u8, 80u8, 9u8, 194u8, 160u8, 190u8, 111u8, 16u8, + 139u8, 41u8, 92u8, 32u8, 174u8, 246u8, 104u8, 217u8, 101u8, 241u8, + 151u8, 49u8, 75u8, 151u8, 123u8, 219u8, 145u8, 242u8, 221u8, 242u8, + 90u8, 76u8, ], ) } @@ -960,10 +961,9 @@ pub mod api { "System", "BlockWeights", [ - 153u8, 164u8, 86u8, 79u8, 97u8, 114u8, 248u8, 181u8, 179u8, 186u8, - 214u8, 124u8, 215u8, 96u8, 116u8, 109u8, 215u8, 182u8, 61u8, 10u8, - 77u8, 74u8, 29u8, 125u8, 131u8, 111u8, 249u8, 208u8, 233u8, 170u8, - 11u8, 14u8, + 64u8, 123u8, 136u8, 20u8, 38u8, 151u8, 254u8, 81u8, 251u8, 41u8, 4u8, + 87u8, 167u8, 25u8, 149u8, 3u8, 17u8, 65u8, 145u8, 192u8, 195u8, 87u8, + 182u8, 78u8, 104u8, 147u8, 9u8, 56u8, 146u8, 20u8, 47u8, 22u8, ], ) } @@ -1038,7 +1038,7 @@ pub mod api { ], ) } - #[doc = " The designated SS85 prefix of this chain."] + #[doc = " The designated SS58 prefix of this chain."] #[doc = ""] #[doc = " This replaces the \"ss58Format\" property declared in the chain spec. Reason is"] #[doc = " that the runtime should know about the prefix in order to make use of it as"] @@ -1234,9 +1234,9 @@ pub mod api { call: ::std::boxed::Box::new(call), }, [ - 58u8, 0u8, 22u8, 96u8, 133u8, 148u8, 237u8, 76u8, 85u8, 28u8, 163u8, - 20u8, 179u8, 80u8, 210u8, 161u8, 81u8, 210u8, 32u8, 29u8, 27u8, 214u8, - 35u8, 16u8, 221u8, 62u8, 217u8, 76u8, 71u8, 160u8, 22u8, 118u8, + 6u8, 154u8, 32u8, 153u8, 117u8, 81u8, 51u8, 50u8, 148u8, 235u8, 254u8, + 44u8, 36u8, 25u8, 80u8, 70u8, 253u8, 1u8, 18u8, 105u8, 141u8, 195u8, + 77u8, 232u8, 142u8, 16u8, 37u8, 46u8, 65u8, 79u8, 204u8, 240u8, ], ) } @@ -1283,10 +1283,10 @@ pub mod api { call: ::std::boxed::Box::new(call), }, [ - 164u8, 210u8, 167u8, 227u8, 122u8, 215u8, 105u8, 10u8, 48u8, 2u8, - 203u8, 183u8, 121u8, 218u8, 65u8, 101u8, 55u8, 122u8, 224u8, 26u8, - 64u8, 19u8, 162u8, 73u8, 214u8, 172u8, 56u8, 250u8, 159u8, 235u8, - 202u8, 97u8, + 64u8, 233u8, 61u8, 193u8, 85u8, 208u8, 101u8, 104u8, 77u8, 103u8, 77u8, + 146u8, 184u8, 3u8, 103u8, 211u8, 146u8, 67u8, 158u8, 188u8, 170u8, + 192u8, 170u8, 136u8, 124u8, 77u8, 242u8, 89u8, 58u8, 230u8, 117u8, + 238u8, ], ) } @@ -1334,10 +1334,10 @@ pub mod api { call: ::std::boxed::Box::new(call), }, [ - 103u8, 53u8, 250u8, 8u8, 211u8, 184u8, 96u8, 235u8, 92u8, 25u8, 43u8, - 88u8, 42u8, 94u8, 235u8, 185u8, 48u8, 177u8, 186u8, 114u8, 222u8, - 162u8, 123u8, 230u8, 112u8, 101u8, 202u8, 89u8, 246u8, 102u8, 24u8, - 65u8, + 12u8, 135u8, 125u8, 198u8, 215u8, 29u8, 73u8, 63u8, 96u8, 170u8, 106u8, + 94u8, 42u8, 145u8, 30u8, 156u8, 215u8, 133u8, 52u8, 205u8, 210u8, + 224u8, 239u8, 22u8, 77u8, 110u8, 164u8, 111u8, 120u8, 153u8, 182u8, + 71u8, ], ) } @@ -1371,9 +1371,10 @@ pub mod api { call: ::std::boxed::Box::new(call), }, [ - 77u8, 231u8, 213u8, 170u8, 21u8, 59u8, 133u8, 4u8, 160u8, 3u8, 114u8, - 212u8, 42u8, 125u8, 16u8, 114u8, 90u8, 179u8, 250u8, 85u8, 2u8, 102u8, - 205u8, 86u8, 177u8, 120u8, 242u8, 40u8, 2u8, 238u8, 20u8, 50u8, + 113u8, 250u8, 238u8, 246u8, 164u8, 180u8, 182u8, 103u8, 11u8, 222u8, + 121u8, 234u8, 107u8, 40u8, 247u8, 206u8, 85u8, 213u8, 101u8, 98u8, + 227u8, 102u8, 144u8, 206u8, 243u8, 205u8, 69u8, 127u8, 45u8, 162u8, + 231u8, 123u8, ], ) } @@ -1490,9 +1491,9 @@ pub mod api { ::subxt::storage::address::StorageHasher::Twox64Concat, )], [ - 59u8, 231u8, 128u8, 61u8, 34u8, 203u8, 172u8, 251u8, 35u8, 14u8, 62u8, - 28u8, 120u8, 20u8, 207u8, 108u8, 39u8, 0u8, 101u8, 62u8, 23u8, 3u8, - 176u8, 161u8, 86u8, 53u8, 107u8, 222u8, 148u8, 54u8, 193u8, 247u8, + 48u8, 134u8, 42u8, 118u8, 158u8, 244u8, 227u8, 33u8, 27u8, 118u8, 41u8, + 58u8, 205u8, 166u8, 6u8, 120u8, 207u8, 48u8, 80u8, 212u8, 1u8, 184u8, + 185u8, 204u8, 71u8, 219u8, 56u8, 165u8, 86u8, 225u8, 48u8, 188u8, ], ) } @@ -1524,9 +1525,9 @@ pub mod api { "Agenda", Vec::new(), [ - 59u8, 231u8, 128u8, 61u8, 34u8, 203u8, 172u8, 251u8, 35u8, 14u8, 62u8, - 28u8, 120u8, 20u8, 207u8, 108u8, 39u8, 0u8, 101u8, 62u8, 23u8, 3u8, - 176u8, 161u8, 86u8, 53u8, 107u8, 222u8, 148u8, 54u8, 193u8, 247u8, + 48u8, 134u8, 42u8, 118u8, 158u8, 244u8, 227u8, 33u8, 27u8, 118u8, 41u8, + 58u8, 205u8, 166u8, 6u8, 120u8, 207u8, 48u8, 80u8, 212u8, 1u8, 184u8, + 185u8, 204u8, 71u8, 219u8, 56u8, 165u8, 86u8, 225u8, 48u8, 188u8, ], ) } @@ -1591,16 +1592,17 @@ pub mod api { pub fn maximum_weight( &self, ) -> ::subxt::constants::StaticConstantAddress< - ::subxt::metadata::DecodeStaticType<::core::primitive::u64>, + ::subxt::metadata::DecodeStaticType< + runtime_types::frame_support::weights::weight_v2::Weight, + >, > { ::subxt::constants::StaticConstantAddress::new( "Scheduler", "MaximumWeight", [ - 128u8, 214u8, 205u8, 242u8, 181u8, 142u8, 124u8, 231u8, 190u8, 146u8, - 59u8, 226u8, 157u8, 101u8, 103u8, 117u8, 249u8, 65u8, 18u8, 191u8, - 103u8, 119u8, 53u8, 85u8, 81u8, 96u8, 220u8, 42u8, 184u8, 239u8, 42u8, - 246u8, + 67u8, 70u8, 203u8, 252u8, 102u8, 92u8, 175u8, 48u8, 35u8, 141u8, 85u8, + 109u8, 102u8, 228u8, 244u8, 116u8, 6u8, 210u8, 54u8, 115u8, 86u8, + 234u8, 159u8, 246u8, 251u8, 91u8, 202u8, 141u8, 32u8, 21u8, 97u8, 85u8, ], ) } @@ -8175,10 +8177,10 @@ pub mod api { "batch", Batch { calls }, [ - 248u8, 73u8, 16u8, 255u8, 21u8, 225u8, 121u8, 194u8, 40u8, 206u8, - 178u8, 127u8, 3u8, 111u8, 86u8, 134u8, 164u8, 19u8, 245u8, 211u8, 36u8, - 156u8, 156u8, 29u8, 47u8, 78u8, 176u8, 168u8, 200u8, 161u8, 194u8, - 175u8, + 38u8, 250u8, 148u8, 115u8, 100u8, 245u8, 235u8, 249u8, 251u8, 73u8, + 39u8, 145u8, 58u8, 252u8, 2u8, 199u8, 221u8, 107u8, 86u8, 205u8, 230u8, + 66u8, 212u8, 222u8, 148u8, 176u8, 74u8, 136u8, 150u8, 32u8, 13u8, + 102u8, ], ) } @@ -8208,9 +8210,9 @@ pub mod api { call: ::std::boxed::Box::new(call), }, [ - 122u8, 219u8, 185u8, 101u8, 96u8, 34u8, 17u8, 22u8, 155u8, 171u8, 35u8, - 46u8, 38u8, 127u8, 40u8, 36u8, 79u8, 136u8, 35u8, 128u8, 7u8, 174u8, - 245u8, 20u8, 235u8, 227u8, 174u8, 40u8, 123u8, 131u8, 18u8, 247u8, + 195u8, 79u8, 52u8, 82u8, 151u8, 192u8, 7u8, 127u8, 13u8, 50u8, 229u8, + 145u8, 126u8, 86u8, 31u8, 129u8, 247u8, 252u8, 189u8, 113u8, 153u8, + 105u8, 248u8, 52u8, 221u8, 139u8, 49u8, 29u8, 41u8, 130u8, 7u8, 141u8, ], ) } @@ -8237,10 +8239,9 @@ pub mod api { "batch_all", BatchAll { calls }, [ - 15u8, 35u8, 102u8, 174u8, 118u8, 216u8, 123u8, 86u8, 206u8, 227u8, - 252u8, 163u8, 51u8, 115u8, 80u8, 212u8, 72u8, 131u8, 95u8, 230u8, - 246u8, 188u8, 236u8, 226u8, 194u8, 101u8, 235u8, 67u8, 132u8, 166u8, - 105u8, 230u8, + 231u8, 3u8, 189u8, 248u8, 206u8, 200u8, 4u8, 157u8, 228u8, 71u8, 25u8, + 40u8, 105u8, 188u8, 104u8, 54u8, 66u8, 118u8, 82u8, 121u8, 42u8, 151u8, + 132u8, 116u8, 32u8, 113u8, 13u8, 96u8, 218u8, 153u8, 138u8, 230u8, ], ) } @@ -8267,9 +8268,10 @@ pub mod api { call: ::std::boxed::Box::new(call), }, [ - 236u8, 210u8, 178u8, 222u8, 59u8, 57u8, 20u8, 80u8, 21u8, 90u8, 222u8, - 227u8, 65u8, 98u8, 182u8, 150u8, 126u8, 250u8, 33u8, 79u8, 57u8, 223u8, - 228u8, 221u8, 117u8, 113u8, 191u8, 144u8, 229u8, 205u8, 204u8, 216u8, + 28u8, 245u8, 216u8, 108u8, 213u8, 229u8, 68u8, 99u8, 211u8, 152u8, + 216u8, 71u8, 188u8, 88u8, 254u8, 146u8, 228u8, 103u8, 45u8, 32u8, + 245u8, 16u8, 140u8, 233u8, 17u8, 0u8, 225u8, 2u8, 13u8, 73u8, 61u8, + 65u8, ], ) } @@ -8296,9 +8298,9 @@ pub mod api { "force_batch", ForceBatch { calls }, [ - 126u8, 213u8, 238u8, 69u8, 61u8, 82u8, 10u8, 147u8, 38u8, 119u8, 241u8, - 4u8, 43u8, 97u8, 140u8, 55u8, 131u8, 53u8, 118u8, 207u8, 211u8, 250u8, - 62u8, 163u8, 67u8, 69u8, 151u8, 70u8, 242u8, 202u8, 252u8, 75u8, + 247u8, 94u8, 55u8, 14u8, 159u8, 16u8, 91u8, 127u8, 164u8, 141u8, 35u8, + 253u8, 61u8, 219u8, 77u8, 27u8, 33u8, 186u8, 215u8, 240u8, 119u8, + 182u8, 61u8, 11u8, 149u8, 203u8, 75u8, 29u8, 126u8, 21u8, 34u8, 60u8, ], ) } @@ -8459,7 +8461,7 @@ pub mod api { >, pub call: ::subxt::utils::WrapperKeepOpaque, pub store_call: ::core::primitive::bool, - pub max_weight: ::core::primitive::u64, + pub max_weight: runtime_types::frame_support::weights::weight_v2::Weight, } #[derive( :: subxt :: ext :: codec :: Decode, @@ -8476,7 +8478,7 @@ pub mod api { runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>, >, pub call_hash: [::core::primitive::u8; 32usize], - pub max_weight: ::core::primitive::u64, + pub max_weight: runtime_types::frame_support::weights::weight_v2::Weight, } #[derive( :: subxt :: ext :: codec :: Decode, @@ -8523,9 +8525,9 @@ pub mod api { call: ::std::boxed::Box::new(call), }, [ - 247u8, 171u8, 115u8, 147u8, 223u8, 173u8, 211u8, 231u8, 93u8, 31u8, - 41u8, 110u8, 207u8, 202u8, 102u8, 216u8, 233u8, 130u8, 169u8, 188u8, - 3u8, 0u8, 5u8, 77u8, 58u8, 5u8, 22u8, 24u8, 20u8, 126u8, 69u8, 240u8, + 53u8, 79u8, 133u8, 170u8, 166u8, 210u8, 72u8, 76u8, 40u8, 101u8, 216u8, + 247u8, 236u8, 120u8, 129u8, 225u8, 247u8, 91u8, 103u8, 56u8, 113u8, + 3u8, 248u8, 23u8, 15u8, 180u8, 234u8, 59u8, 71u8, 214u8, 161u8, 241u8, ], ) } @@ -8583,7 +8585,7 @@ pub mod api { >, call: ::subxt::utils::WrapperKeepOpaque, store_call: ::core::primitive::bool, - max_weight: ::core::primitive::u64, + max_weight: runtime_types::frame_support::weights::weight_v2::Weight, ) -> ::subxt::tx::StaticTxPayload { ::subxt::tx::StaticTxPayload::new( "Multisig", @@ -8597,10 +8599,9 @@ pub mod api { max_weight, }, [ - 83u8, 122u8, 123u8, 255u8, 187u8, 151u8, 115u8, 27u8, 236u8, 123u8, - 13u8, 245u8, 54u8, 176u8, 35u8, 10u8, 224u8, 49u8, 39u8, 4u8, 55u8, - 140u8, 218u8, 38u8, 93u8, 177u8, 159u8, 146u8, 131u8, 241u8, 177u8, - 122u8, + 9u8, 66u8, 214u8, 188u8, 89u8, 24u8, 80u8, 85u8, 17u8, 43u8, 3u8, + 145u8, 241u8, 142u8, 37u8, 84u8, 126u8, 13u8, 42u8, 218u8, 189u8, 52u8, + 18u8, 1u8, 247u8, 123u8, 213u8, 61u8, 203u8, 188u8, 93u8, 38u8, ], ) } @@ -8647,7 +8648,7 @@ pub mod api { runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>, >, call_hash: [::core::primitive::u8; 32usize], - max_weight: ::core::primitive::u64, + max_weight: runtime_types::frame_support::weights::weight_v2::Weight, ) -> ::subxt::tx::StaticTxPayload { ::subxt::tx::StaticTxPayload::new( "Multisig", @@ -8660,9 +8661,9 @@ pub mod api { max_weight, }, [ - 55u8, 94u8, 230u8, 217u8, 37u8, 143u8, 44u8, 108u8, 123u8, 250u8, 26u8, - 44u8, 236u8, 69u8, 63u8, 90u8, 126u8, 15u8, 233u8, 142u8, 213u8, 11u8, - 141u8, 147u8, 151u8, 24u8, 167u8, 62u8, 96u8, 227u8, 181u8, 140u8, + 189u8, 195u8, 146u8, 249u8, 81u8, 54u8, 8u8, 234u8, 99u8, 36u8, 239u8, + 235u8, 17u8, 200u8, 94u8, 153u8, 52u8, 82u8, 38u8, 220u8, 139u8, 180u8, + 4u8, 79u8, 129u8, 230u8, 227u8, 156u8, 242u8, 253u8, 2u8, 196u8, ], ) } @@ -8888,10 +8889,9 @@ pub mod api { ::subxt::storage::address::StorageHasher::Identity, )], [ - 245u8, 208u8, 157u8, 111u8, 182u8, 73u8, 236u8, 91u8, 235u8, 244u8, - 150u8, 126u8, 236u8, 26u8, 219u8, 124u8, 107u8, 255u8, 81u8, 47u8, - 155u8, 163u8, 214u8, 197u8, 63u8, 76u8, 127u8, 101u8, 29u8, 121u8, - 135u8, 220u8, + 93u8, 192u8, 103u8, 44u8, 10u8, 80u8, 11u8, 246u8, 60u8, 200u8, 52u8, + 162u8, 173u8, 15u8, 236u8, 59u8, 87u8, 139u8, 38u8, 24u8, 95u8, 85u8, + 215u8, 46u8, 54u8, 180u8, 172u8, 137u8, 12u8, 237u8, 101u8, 209u8, ], ) } @@ -8912,10 +8912,9 @@ pub mod api { "Calls", Vec::new(), [ - 245u8, 208u8, 157u8, 111u8, 182u8, 73u8, 236u8, 91u8, 235u8, 244u8, - 150u8, 126u8, 236u8, 26u8, 219u8, 124u8, 107u8, 255u8, 81u8, 47u8, - 155u8, 163u8, 214u8, 197u8, 63u8, 76u8, 127u8, 101u8, 29u8, 121u8, - 135u8, 220u8, + 93u8, 192u8, 103u8, 44u8, 10u8, 80u8, 11u8, 246u8, 60u8, 200u8, 52u8, + 162u8, 173u8, 15u8, 236u8, 59u8, 87u8, 139u8, 38u8, 24u8, 95u8, 85u8, + 215u8, 46u8, 54u8, 180u8, 172u8, 137u8, 12u8, 237u8, 101u8, 209u8, ], ) } @@ -9010,7 +9009,7 @@ pub mod api { )] pub struct SudoUncheckedWeight { pub call: ::std::boxed::Box, - pub weight: ::core::primitive::u64, + pub weight: runtime_types::frame_support::weights::weight_v2::Weight, } #[derive( :: subxt :: ext :: codec :: Decode, @@ -9064,10 +9063,10 @@ pub mod api { call: ::std::boxed::Box::new(call), }, [ - 196u8, 104u8, 24u8, 12u8, 26u8, 123u8, 201u8, 129u8, 238u8, 147u8, - 209u8, 157u8, 104u8, 120u8, 191u8, 41u8, 224u8, 131u8, 183u8, 155u8, - 228u8, 52u8, 191u8, 103u8, 252u8, 138u8, 106u8, 225u8, 38u8, 161u8, - 210u8, 39u8, + 243u8, 191u8, 124u8, 124u8, 176u8, 232u8, 194u8, 82u8, 56u8, 166u8, + 123u8, 87u8, 204u8, 103u8, 36u8, 129u8, 245u8, 231u8, 190u8, 166u8, + 187u8, 46u8, 179u8, 55u8, 25u8, 111u8, 82u8, 10u8, 142u8, 192u8, 117u8, + 130u8, ], ) } @@ -9084,7 +9083,7 @@ pub mod api { pub fn sudo_unchecked_weight( &self, call: runtime_types::aleph_runtime::Call, - weight: ::core::primitive::u64, + weight: runtime_types::frame_support::weights::weight_v2::Weight, ) -> ::subxt::tx::StaticTxPayload { ::subxt::tx::StaticTxPayload::new( "Sudo", @@ -9094,9 +9093,9 @@ pub mod api { weight, }, [ - 135u8, 78u8, 105u8, 196u8, 123u8, 10u8, 62u8, 134u8, 91u8, 206u8, 41u8, - 152u8, 64u8, 52u8, 106u8, 64u8, 68u8, 201u8, 112u8, 136u8, 56u8, 245u8, - 172u8, 179u8, 168u8, 22u8, 110u8, 198u8, 59u8, 25u8, 39u8, 60u8, + 255u8, 230u8, 218u8, 33u8, 237u8, 106u8, 5u8, 254u8, 201u8, 7u8, 82u8, + 184u8, 251u8, 33u8, 4u8, 221u8, 86u8, 192u8, 23u8, 68u8, 92u8, 134u8, + 226u8, 27u8, 40u8, 111u8, 246u8, 205u8, 71u8, 254u8, 197u8, 91u8, ], ) } @@ -9155,9 +9154,10 @@ pub mod api { call: ::std::boxed::Box::new(call), }, [ - 140u8, 39u8, 202u8, 191u8, 235u8, 44u8, 171u8, 120u8, 71u8, 236u8, - 116u8, 7u8, 243u8, 61u8, 34u8, 24u8, 31u8, 67u8, 21u8, 79u8, 229u8, - 71u8, 49u8, 193u8, 199u8, 220u8, 184u8, 72u8, 79u8, 22u8, 73u8, 86u8, + 158u8, 173u8, 132u8, 41u8, 58u8, 124u8, 246u8, 45u8, 204u8, 201u8, + 49u8, 115u8, 194u8, 80u8, 2u8, 245u8, 32u8, 99u8, 13u8, 119u8, 127u8, + 68u8, 114u8, 15u8, 235u8, 249u8, 18u8, 13u8, 189u8, 206u8, 194u8, + 254u8, ], ) } @@ -9267,7 +9267,7 @@ pub mod api { #[codec(compact)] pub value: ::core::primitive::u128, #[codec(compact)] - pub gas_limit: ::core::primitive::u64, + pub gas_limit: runtime_types::frame_support::weights::weight_v2::Weight, pub storage_deposit_limit: ::core::option::Option<::subxt::ext::codec::Compact<::core::primitive::u128>>, pub data: ::std::vec::Vec<::core::primitive::u8>, @@ -9284,7 +9284,7 @@ pub mod api { #[codec(compact)] pub value: ::core::primitive::u128, #[codec(compact)] - pub gas_limit: ::core::primitive::u64, + pub gas_limit: runtime_types::frame_support::weights::weight_v2::Weight, pub storage_deposit_limit: ::core::option::Option<::subxt::ext::codec::Compact<::core::primitive::u128>>, pub code: ::std::vec::Vec<::core::primitive::u8>, @@ -9303,7 +9303,7 @@ pub mod api { #[codec(compact)] pub value: ::core::primitive::u128, #[codec(compact)] - pub gas_limit: ::core::primitive::u64, + pub gas_limit: runtime_types::frame_support::weights::weight_v2::Weight, pub storage_deposit_limit: ::core::option::Option<::subxt::ext::codec::Compact<::core::primitive::u128>>, pub code_hash: ::subxt::ext::sp_core::H256, @@ -9374,7 +9374,7 @@ pub mod api { (), >, value: ::core::primitive::u128, - gas_limit: ::core::primitive::u64, + gas_limit: runtime_types::frame_support::weights::weight_v2::Weight, storage_deposit_limit: ::core::option::Option< ::subxt::ext::codec::Compact<::core::primitive::u128>, >, @@ -9391,9 +9391,10 @@ pub mod api { data, }, [ - 22u8, 148u8, 225u8, 3u8, 113u8, 132u8, 125u8, 117u8, 187u8, 51u8, 32u8, - 8u8, 2u8, 125u8, 76u8, 14u8, 227u8, 139u8, 67u8, 136u8, 55u8, 98u8, - 181u8, 163u8, 105u8, 175u8, 43u8, 125u8, 17u8, 123u8, 191u8, 228u8, + 75u8, 7u8, 36u8, 175u8, 84u8, 245u8, 123u8, 80u8, 100u8, 129u8, 80u8, + 52u8, 161u8, 126u8, 253u8, 232u8, 213u8, 241u8, 154u8, 89u8, 58u8, + 164u8, 227u8, 222u8, 116u8, 141u8, 44u8, 205u8, 147u8, 30u8, 153u8, + 137u8, ], ) } @@ -9426,7 +9427,7 @@ pub mod api { pub fn instantiate_with_code( &self, value: ::core::primitive::u128, - gas_limit: ::core::primitive::u64, + gas_limit: runtime_types::frame_support::weights::weight_v2::Weight, storage_deposit_limit: ::core::option::Option< ::subxt::ext::codec::Compact<::core::primitive::u128>, >, @@ -9446,10 +9447,10 @@ pub mod api { salt, }, [ - 232u8, 229u8, 46u8, 91u8, 11u8, 117u8, 3u8, 81u8, 213u8, 34u8, 184u8, - 125u8, 77u8, 214u8, 71u8, 103u8, 244u8, 131u8, 1u8, 211u8, 191u8, - 153u8, 1u8, 80u8, 177u8, 177u8, 205u8, 126u8, 194u8, 166u8, 136u8, - 191u8, + 130u8, 94u8, 159u8, 65u8, 148u8, 107u8, 182u8, 60u8, 74u8, 210u8, + 164u8, 31u8, 235u8, 130u8, 75u8, 145u8, 10u8, 132u8, 131u8, 148u8, + 215u8, 142u8, 124u8, 156u8, 209u8, 121u8, 155u8, 141u8, 94u8, 145u8, + 165u8, 165u8, ], ) } @@ -9461,7 +9462,7 @@ pub mod api { pub fn instantiate( &self, value: ::core::primitive::u128, - gas_limit: ::core::primitive::u64, + gas_limit: runtime_types::frame_support::weights::weight_v2::Weight, storage_deposit_limit: ::core::option::Option< ::subxt::ext::codec::Compact<::core::primitive::u128>, >, @@ -9481,9 +9482,10 @@ pub mod api { salt, }, [ - 69u8, 161u8, 178u8, 243u8, 14u8, 29u8, 15u8, 210u8, 29u8, 106u8, 129u8, - 211u8, 90u8, 73u8, 66u8, 177u8, 245u8, 1u8, 232u8, 117u8, 119u8, 216u8, - 84u8, 160u8, 207u8, 7u8, 237u8, 88u8, 25u8, 85u8, 213u8, 235u8, + 136u8, 140u8, 250u8, 66u8, 185u8, 107u8, 202u8, 135u8, 138u8, 135u8, + 179u8, 133u8, 84u8, 11u8, 135u8, 244u8, 176u8, 99u8, 70u8, 209u8, + 175u8, 241u8, 227u8, 12u8, 23u8, 169u8, 16u8, 117u8, 193u8, 159u8, + 51u8, 130u8, ], ) } @@ -9685,6 +9687,52 @@ pub mod api { const PALLET: &'static str = "Contracts"; const EVENT: &'static str = "ContractCodeUpdated"; } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "A contract was called either by a plain account or another contract."] + #[doc = ""] + #[doc = "# Note"] + #[doc = ""] + #[doc = "Please keep in mind that like all events this is only emitted for successful"] + #[doc = "calls. This is because on failure all storage changes including events are"] + #[doc = "rolled back."] + pub struct Called { + pub caller: ::subxt::ext::sp_core::crypto::AccountId32, + pub contract: ::subxt::ext::sp_core::crypto::AccountId32, + } + impl ::subxt::events::StaticEvent for Called { + const PALLET: &'static str = "Contracts"; + const EVENT: &'static str = "Called"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "A contract delegate called a code hash."] + #[doc = ""] + #[doc = "# Note"] + #[doc = ""] + #[doc = "Please keep in mind that like all events this is only emitted for successful"] + #[doc = "calls. This is because on failure all storage changes including events are"] + #[doc = "rolled back."] + pub struct DelegateCalled { + pub contract: ::subxt::ext::sp_core::crypto::AccountId32, + pub code_hash: ::subxt::ext::sp_core::H256, + } + impl ::subxt::events::StaticEvent for DelegateCalled { + const PALLET: &'static str = "Contracts"; + const EVENT: &'static str = "DelegateCalled"; + } } pub mod storage { use super::runtime_types; @@ -10038,16 +10086,17 @@ pub mod api { pub fn deletion_weight_limit( &self, ) -> ::subxt::constants::StaticConstantAddress< - ::subxt::metadata::DecodeStaticType<::core::primitive::u64>, + ::subxt::metadata::DecodeStaticType< + runtime_types::frame_support::weights::weight_v2::Weight, + >, > { ::subxt::constants::StaticConstantAddress::new( "Contracts", "DeletionWeightLimit", [ - 128u8, 214u8, 205u8, 242u8, 181u8, 142u8, 124u8, 231u8, 190u8, 146u8, - 59u8, 226u8, 157u8, 101u8, 103u8, 117u8, 249u8, 65u8, 18u8, 191u8, - 103u8, 119u8, 53u8, 85u8, 81u8, 96u8, 220u8, 42u8, 184u8, 239u8, 42u8, - 246u8, + 67u8, 70u8, 203u8, 252u8, 102u8, 92u8, 175u8, 48u8, 35u8, 141u8, 85u8, + 109u8, 102u8, 228u8, 244u8, 116u8, 6u8, 210u8, 54u8, 115u8, 86u8, + 234u8, 159u8, 246u8, 251u8, 91u8, 202u8, 141u8, 32u8, 21u8, 97u8, 85u8, ], ) } @@ -10092,16 +10141,17 @@ pub mod api { pub fn contract_access_weight( &self, ) -> ::subxt::constants::StaticConstantAddress< - ::subxt::metadata::DecodeStaticType<::core::primitive::u64>, + ::subxt::metadata::DecodeStaticType< + runtime_types::frame_support::weights::weight_v2::Weight, + >, > { ::subxt::constants::StaticConstantAddress::new( "Contracts", "ContractAccessWeight", [ - 128u8, 214u8, 205u8, 242u8, 181u8, 142u8, 124u8, 231u8, 190u8, 146u8, - 59u8, 226u8, 157u8, 101u8, 103u8, 117u8, 249u8, 65u8, 18u8, 191u8, - 103u8, 119u8, 53u8, 85u8, 81u8, 96u8, 220u8, 42u8, 184u8, 239u8, 42u8, - 246u8, + 67u8, 70u8, 203u8, 252u8, 102u8, 92u8, 175u8, 48u8, 35u8, 141u8, 85u8, + 109u8, 102u8, 228u8, 244u8, 116u8, 6u8, 210u8, 54u8, 115u8, 86u8, + 234u8, 159u8, 246u8, 251u8, 91u8, 202u8, 141u8, 32u8, 21u8, 97u8, 85u8, ], ) } @@ -10177,7 +10227,10 @@ pub mod api { PartialEq, )] pub struct Unbond { - pub member_account: ::subxt::ext::sp_core::crypto::AccountId32, + pub member_account: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, #[codec(compact)] pub unbonding_points: ::core::primitive::u128, } @@ -10202,7 +10255,10 @@ pub mod api { PartialEq, )] pub struct WithdrawUnbonded { - pub member_account: ::subxt::ext::sp_core::crypto::AccountId32, + pub member_account: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, pub num_slashing_spans: ::core::primitive::u32, } #[derive( @@ -10216,9 +10272,18 @@ pub mod api { pub struct Create { #[codec(compact)] pub amount: ::core::primitive::u128, - pub root: ::subxt::ext::sp_core::crypto::AccountId32, - pub nominator: ::subxt::ext::sp_core::crypto::AccountId32, - pub state_toggler: ::subxt::ext::sp_core::crypto::AccountId32, + pub root: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, + pub nominator: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, + pub state_toggler: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, } #[derive( :: subxt :: ext :: codec :: Decode, @@ -10409,7 +10474,10 @@ pub mod api { #[doc = "`NoMoreChunks` error from the staking system."] pub fn unbond( &self, - member_account: ::subxt::ext::sp_core::crypto::AccountId32, + member_account: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, unbonding_points: ::core::primitive::u128, ) -> ::subxt::tx::StaticTxPayload { ::subxt::tx::StaticTxPayload::new( @@ -10420,9 +10488,9 @@ pub mod api { unbonding_points, }, [ - 59u8, 250u8, 74u8, 2u8, 210u8, 41u8, 108u8, 239u8, 55u8, 4u8, 232u8, - 77u8, 115u8, 224u8, 60u8, 216u8, 107u8, 47u8, 3u8, 178u8, 245u8, 113u8, - 67u8, 227u8, 199u8, 241u8, 223u8, 123u8, 97u8, 79u8, 245u8, 239u8, + 78u8, 15u8, 37u8, 18u8, 129u8, 63u8, 31u8, 3u8, 68u8, 10u8, 12u8, 12u8, + 166u8, 179u8, 38u8, 232u8, 97u8, 1u8, 83u8, 53u8, 26u8, 59u8, 42u8, + 219u8, 176u8, 246u8, 169u8, 28u8, 35u8, 67u8, 139u8, 81u8, ], ) } @@ -10473,7 +10541,10 @@ pub mod api { #[doc = "If the target is the depositor, the pool will be destroyed."] pub fn withdraw_unbonded( &self, - member_account: ::subxt::ext::sp_core::crypto::AccountId32, + member_account: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, num_slashing_spans: ::core::primitive::u32, ) -> ::subxt::tx::StaticTxPayload { ::subxt::tx::StaticTxPayload::new( @@ -10484,10 +10555,10 @@ pub mod api { num_slashing_spans, }, [ - 123u8, 29u8, 174u8, 20u8, 225u8, 121u8, 34u8, 168u8, 62u8, 199u8, - 115u8, 154u8, 36u8, 12u8, 228u8, 181u8, 179u8, 25u8, 141u8, 8u8, 189u8, - 146u8, 117u8, 178u8, 211u8, 236u8, 194u8, 154u8, 35u8, 51u8, 158u8, - 255u8, + 61u8, 216u8, 214u8, 166u8, 59u8, 42u8, 186u8, 141u8, 47u8, 50u8, 135u8, + 236u8, 166u8, 88u8, 90u8, 244u8, 57u8, 106u8, 193u8, 211u8, 215u8, + 131u8, 203u8, 33u8, 195u8, 120u8, 213u8, 94u8, 213u8, 66u8, 79u8, + 140u8, ], ) } @@ -10511,9 +10582,18 @@ pub mod api { pub fn create( &self, amount: ::core::primitive::u128, - root: ::subxt::ext::sp_core::crypto::AccountId32, - nominator: ::subxt::ext::sp_core::crypto::AccountId32, - state_toggler: ::subxt::ext::sp_core::crypto::AccountId32, + root: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, + nominator: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, + state_toggler: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, ) -> ::subxt::tx::StaticTxPayload { ::subxt::tx::StaticTxPayload::new( "NominationPools", @@ -10525,10 +10605,9 @@ pub mod api { state_toggler, }, [ - 82u8, 231u8, 186u8, 244u8, 193u8, 132u8, 21u8, 23u8, 49u8, 163u8, - 151u8, 181u8, 77u8, 181u8, 191u8, 170u8, 175u8, 62u8, 253u8, 2u8, - 162u8, 229u8, 78u8, 147u8, 79u8, 12u8, 215u8, 9u8, 100u8, 27u8, 95u8, - 242u8, + 176u8, 210u8, 154u8, 87u8, 218u8, 250u8, 117u8, 90u8, 80u8, 191u8, + 252u8, 146u8, 29u8, 228u8, 36u8, 15u8, 125u8, 102u8, 87u8, 50u8, 146u8, + 108u8, 96u8, 145u8, 135u8, 189u8, 18u8, 159u8, 21u8, 74u8, 165u8, 33u8, ], ) } @@ -11563,7 +11642,10 @@ pub mod api { PartialEq, )] pub struct AddRegistrar { - pub account: ::subxt::ext::sp_core::crypto::AccountId32, + pub account: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, } #[derive( :: subxt :: ext :: codec :: Decode, @@ -11650,7 +11732,10 @@ pub mod api { pub struct SetAccountId { #[codec(compact)] pub index: ::core::primitive::u32, - pub new: ::subxt::ext::sp_core::crypto::AccountId32, + pub new: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, } #[derive( :: subxt :: ext :: codec :: Decode, @@ -11769,17 +11854,20 @@ pub mod api { #[doc = "# "] pub fn add_registrar( &self, - account: ::subxt::ext::sp_core::crypto::AccountId32, + account: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, ) -> ::subxt::tx::StaticTxPayload { ::subxt::tx::StaticTxPayload::new( "Identity", "add_registrar", AddRegistrar { account }, [ - 231u8, 221u8, 79u8, 233u8, 107u8, 34u8, 195u8, 186u8, 192u8, 129u8, - 103u8, 159u8, 159u8, 83u8, 151u8, 161u8, 137u8, 164u8, 143u8, 31u8, - 75u8, 42u8, 27u8, 203u8, 19u8, 70u8, 173u8, 11u8, 241u8, 189u8, 137u8, - 127u8, + 157u8, 232u8, 252u8, 190u8, 203u8, 233u8, 127u8, 63u8, 111u8, 16u8, + 118u8, 200u8, 31u8, 234u8, 144u8, 111u8, 161u8, 224u8, 217u8, 86u8, + 179u8, 254u8, 162u8, 212u8, 248u8, 8u8, 125u8, 89u8, 23u8, 195u8, 4u8, + 231u8, ], ) } @@ -12005,16 +12093,19 @@ pub mod api { pub fn set_account_id( &self, index: ::core::primitive::u32, - new: ::subxt::ext::sp_core::crypto::AccountId32, + new: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, ) -> ::subxt::tx::StaticTxPayload { ::subxt::tx::StaticTxPayload::new( "Identity", "set_account_id", SetAccountId { index, new }, [ - 245u8, 76u8, 110u8, 237u8, 219u8, 246u8, 219u8, 136u8, 146u8, 42u8, - 139u8, 60u8, 30u8, 188u8, 87u8, 10u8, 231u8, 89u8, 225u8, 24u8, 152u8, - 188u8, 59u8, 194u8, 199u8, 78u8, 169u8, 90u8, 122u8, 29u8, 80u8, 42u8, + 13u8, 91u8, 36u8, 7u8, 88u8, 64u8, 151u8, 104u8, 94u8, 174u8, 195u8, + 99u8, 97u8, 181u8, 236u8, 251u8, 26u8, 236u8, 234u8, 40u8, 183u8, 38u8, + 220u8, 216u8, 48u8, 115u8, 7u8, 230u8, 216u8, 28u8, 123u8, 11u8, ], ) } @@ -12955,6 +13046,21 @@ pub mod api { } pub mod weights { use super::runtime_types; + pub mod weight_v2 { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct Weight { + pub ref_time: ::core::primitive::u64, + } + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -12980,7 +13086,7 @@ pub mod api { PartialEq, )] pub struct DispatchInfo { - pub weight: ::core::primitive::u64, + pub weight: runtime_types::frame_support::weights::weight_v2::Weight, pub class: runtime_types::frame_support::weights::DispatchClass, pub pays_fee: runtime_types::frame_support::weights::Pays, } @@ -13135,8 +13241,8 @@ pub mod api { PartialEq, )] pub struct BlockWeights { - pub base_block: ::core::primitive::u64, - pub max_block: ::core::primitive::u64, + pub base_block: runtime_types::frame_support::weights::weight_v2::Weight, + pub max_block: runtime_types::frame_support::weights::weight_v2::Weight, pub per_class: runtime_types::frame_support::weights::PerDispatchClass< runtime_types::frame_system::limits::WeightsPerClass, >, @@ -13150,10 +13256,16 @@ pub mod api { PartialEq, )] pub struct WeightsPerClass { - pub base_extrinsic: ::core::primitive::u64, - pub max_extrinsic: ::core::option::Option<::core::primitive::u64>, - pub max_total: ::core::option::Option<::core::primitive::u64>, - pub reserved: ::core::option::Option<::core::primitive::u64>, + pub base_extrinsic: runtime_types::frame_support::weights::weight_v2::Weight, + pub max_extrinsic: ::core::option::Option< + runtime_types::frame_support::weights::weight_v2::Weight, + >, + pub max_total: ::core::option::Option< + runtime_types::frame_support::weights::weight_v2::Weight, + >, + pub reserved: ::core::option::Option< + runtime_types::frame_support::weights::weight_v2::Weight, + >, } } pub mod pallet { @@ -13860,7 +13972,7 @@ pub mod api { #[codec(compact)] value: ::core::primitive::u128, #[codec(compact)] - gas_limit: ::core::primitive::u64, + gas_limit: runtime_types::frame_support::weights::weight_v2::Weight, storage_deposit_limit: ::core::option::Option< ::subxt::ext::codec::Compact<::core::primitive::u128>, >, @@ -13897,7 +14009,7 @@ pub mod api { #[codec(compact)] value: ::core::primitive::u128, #[codec(compact)] - gas_limit: ::core::primitive::u64, + gas_limit: runtime_types::frame_support::weights::weight_v2::Weight, storage_deposit_limit: ::core::option::Option< ::subxt::ext::codec::Compact<::core::primitive::u128>, >, @@ -13915,7 +14027,7 @@ pub mod api { #[codec(compact)] value: ::core::primitive::u128, #[codec(compact)] - gas_limit: ::core::primitive::u64, + gas_limit: runtime_types::frame_support::weights::weight_v2::Weight, storage_deposit_limit: ::core::option::Option< ::subxt::ext::codec::Compact<::core::primitive::u128>, >, @@ -14138,6 +14250,30 @@ pub mod api { new_code_hash: ::subxt::ext::sp_core::H256, old_code_hash: ::subxt::ext::sp_core::H256, }, + #[codec(index = 6)] + #[doc = "A contract was called either by a plain account or another contract."] + #[doc = ""] + #[doc = "# Note"] + #[doc = ""] + #[doc = "Please keep in mind that like all events this is only emitted for successful"] + #[doc = "calls. This is because on failure all storage changes including events are"] + #[doc = "rolled back."] + Called { + caller: ::subxt::ext::sp_core::crypto::AccountId32, + contract: ::subxt::ext::sp_core::crypto::AccountId32, + }, + #[codec(index = 7)] + #[doc = "A contract delegate called a code hash."] + #[doc = ""] + #[doc = "# Note"] + #[doc = ""] + #[doc = "Please keep in mind that like all events this is only emitted for successful"] + #[doc = "calls. This is because on failure all storage changes including events are"] + #[doc = "rolled back."] + DelegateCalled { + contract: ::subxt::ext::sp_core::crypto::AccountId32, + code_hash: ::subxt::ext::sp_core::H256, + }, } } pub mod schedule { @@ -14523,7 +14659,10 @@ pub mod api { #[doc = "- One event."] #[doc = "# "] add_registrar { - account: ::subxt::ext::sp_core::crypto::AccountId32, + account: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, }, #[codec(index = 1)] #[doc = "Set an account's identity information and reserve the appropriate deposit."] @@ -14683,7 +14822,10 @@ pub mod api { set_account_id { #[codec(compact)] index: ::core::primitive::u32, - new: ::subxt::ext::sp_core::crypto::AccountId32, + new: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, }, #[codec(index = 8)] #[doc = "Set the field information for a registrar."] @@ -15247,7 +15389,7 @@ pub mod api { >, call: ::subxt::utils::WrapperKeepOpaque, store_call: ::core::primitive::bool, - max_weight: ::core::primitive::u64, + max_weight: runtime_types::frame_support::weights::weight_v2::Weight, }, #[codec(index = 2)] #[doc = "Register approval for a dispatch to be made from a deterministic composite account if"] @@ -15293,7 +15435,7 @@ pub mod api { runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>, >, call_hash: [::core::primitive::u8; 32usize], - max_weight: ::core::primitive::u64, + max_weight: runtime_types::frame_support::weights::weight_v2::Weight, }, #[codec(index = 3)] #[doc = "Cancel a pre-existing, on-going multisig transaction. Any deposit reserved previously"] @@ -15539,7 +15681,10 @@ pub mod api { #[doc = "there are too many unlocking chunks, the result of this call will likely be the"] #[doc = "`NoMoreChunks` error from the staking system."] unbond { - member_account: ::subxt::ext::sp_core::crypto::AccountId32, + member_account: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, #[codec(compact)] unbonding_points: ::core::primitive::u128, }, @@ -15575,7 +15720,10 @@ pub mod api { #[doc = ""] #[doc = "If the target is the depositor, the pool will be destroyed."] withdraw_unbonded { - member_account: ::subxt::ext::sp_core::crypto::AccountId32, + member_account: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, num_slashing_spans: ::core::primitive::u32, }, #[codec(index = 6)] @@ -15599,9 +15747,18 @@ pub mod api { create { #[codec(compact)] amount: ::core::primitive::u128, - root: ::subxt::ext::sp_core::crypto::AccountId32, - nominator: ::subxt::ext::sp_core::crypto::AccountId32, - state_toggler: ::subxt::ext::sp_core::crypto::AccountId32, + root: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, + nominator: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, + state_toggler: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, }, #[codec(index = 7)] #[doc = "Nominate on behalf of the pool."] @@ -17269,7 +17426,7 @@ pub mod api { #[doc = "# "] sudo_unchecked_weight { call: ::std::boxed::Box, - weight: ::core::primitive::u64, + weight: runtime_types::frame_support::weights::weight_v2::Weight, }, #[codec(index = 2)] #[doc = "Authenticates the current sudo key and sets the given AccountId (`new`) as the new sudo"] @@ -19311,9 +19468,9 @@ pub mod api { let runtime_metadata_hash = client.metadata().metadata_hash(&PALLETS); if runtime_metadata_hash != [ - 7u8, 142u8, 66u8, 125u8, 15u8, 19u8, 17u8, 117u8, 30u8, 151u8, 44u8, 251u8, 51u8, - 42u8, 53u8, 85u8, 63u8, 235u8, 205u8, 5u8, 103u8, 125u8, 202u8, 7u8, 63u8, 61u8, - 252u8, 75u8, 48u8, 87u8, 252u8, 208u8, + 133u8, 98u8, 249u8, 41u8, 126u8, 95u8, 67u8, 30u8, 158u8, 209u8, 205u8, 127u8, + 176u8, 103u8, 177u8, 238u8, 23u8, 88u8, 154u8, 1u8, 118u8, 141u8, 62u8, 141u8, + 76u8, 64u8, 77u8, 253u8, 74u8, 128u8, 136u8, 70u8, ] { Err(::subxt::error::MetadataError::IncompatibleMetadata) diff --git a/aleph-client/src/connections.rs b/aleph-client/src/connections.rs index ed94c16b1a..5fda28f34a 100644 --- a/aleph-client/src/connections.rs +++ b/aleph-client/src/connections.rs @@ -12,7 +12,9 @@ use subxt::{ SubstrateConfig, }; -use crate::{api, BlockHash, Call, Client, KeyPair, TxStatus}; +use crate::{ + api, frame_support::weights::weight_v2::Weight, BlockHash, Call, Client, KeyPair, TxStatus, +}; #[derive(Clone)] pub struct Connection { @@ -39,7 +41,9 @@ pub trait SudoCall { impl SudoCall for RootConnection { async fn sudo_unchecked(&self, call: Call, status: TxStatus) -> anyhow::Result { info!(target: "aleph-client", "sending call as sudo_unchecked {:?}", call); - let sudo = api::tx().sudo().sudo_unchecked_weight(call, 0); + let sudo = api::tx() + .sudo() + .sudo_unchecked_weight(call, Weight { ref_time: 0 }); self.as_signed().send_tx(sudo, status).await } diff --git a/aleph-client/src/contract/mod.rs b/aleph-client/src/contract/mod.rs index 2157ed52d5..d49f84de0c 100644 --- a/aleph-client/src/contract/mod.rs +++ b/aleph-client/src/contract/mod.rs @@ -58,6 +58,7 @@ use ink_metadata::{InkProject, MetadataVersioned}; use serde_json::{from_reader, from_value}; use crate::{ + frame_support::weights::weight_v2::Weight, pallets::contract::{ContractCallArgs, ContractRpc, ContractsUserApi}, AccountId, Connection, SignedConnection, TxStatus, }; @@ -109,7 +110,9 @@ impl ContractInstance { origin: self.address.clone(), dest: self.address.clone(), value: 0, - gas_limit: Self::MAX_READ_GAS, + gas_limit: Weight { + ref_time: Self::MAX_READ_GAS, + }, input_data: payload, storage_deposit_limit: None, }; @@ -134,7 +137,9 @@ impl ContractInstance { conn.call( self.address.clone(), Self::PAYABLE_VALUE as u128, - Self::MAX_GAS, + Weight { + ref_time: Self::MAX_GAS, + }, Self::STORAGE_FEE_LIMIT, data, TxStatus::InBlock, diff --git a/aleph-client/src/pallets/contract.rs b/aleph-client/src/pallets/contract.rs index 885221d998..71b25693e3 100644 --- a/aleph-client/src/pallets/contract.rs +++ b/aleph-client/src/pallets/contract.rs @@ -7,8 +7,8 @@ use subxt::{ }; use crate::{ - api, pallet_contracts::wasm::OwnerInfo, AccountId, BlockHash, Connection, SignedConnection, - TxStatus, + api, frame_support::weights::weight_v2::Weight, pallet_contracts::wasm::OwnerInfo, AccountId, + BlockHash, Connection, SignedConnection, TxStatus, }; #[derive(Encode)] @@ -16,7 +16,7 @@ pub struct ContractCallArgs { pub origin: AccountId, pub dest: AccountId, pub value: Balance, - pub gas_limit: u64, + pub gas_limit: Weight, pub storage_deposit_limit: Option, pub input_data: Vec, } @@ -43,7 +43,7 @@ pub trait ContractsUserApi { &self, code_hash: BlockHash, balance: Balance, - gas_limit: u64, + gas_limit: Weight, storage_limit: Option>, data: Vec, salt: Vec, @@ -54,7 +54,7 @@ pub trait ContractsUserApi { &self, code: Vec, balance: Balance, - gas_limit: u64, + gas_limit: Weight, storage_limit: Option>, data: Vec, salt: Vec, @@ -64,7 +64,7 @@ pub trait ContractsUserApi { &self, destination: AccountId, balance: Balance, - gas_limit: u64, + gas_limit: Weight, storage_limit: Option>, data: Vec, status: TxStatus, @@ -111,7 +111,7 @@ impl ContractsUserApi for SignedConnection { &self, code_hash: BlockHash, balance: Balance, - gas_limit: u64, + gas_limit: Weight, storage_limit: Option>, data: Vec, salt: Vec, @@ -133,7 +133,7 @@ impl ContractsUserApi for SignedConnection { &self, code: Vec, balance: Balance, - gas_limit: u64, + gas_limit: Weight, storage_limit: Option>, data: Vec, salt: Vec, @@ -155,7 +155,7 @@ impl ContractsUserApi for SignedConnection { &self, destination: AccountId, balance: Balance, - gas_limit: u64, + gas_limit: Weight, storage_limit: Option>, data: Vec, status: TxStatus, diff --git a/aleph-client/src/pallets/multisig.rs b/aleph-client/src/pallets/multisig.rs index ff7f2a519f..aaca2b52b8 100644 --- a/aleph-client/src/pallets/multisig.rs +++ b/aleph-client/src/pallets/multisig.rs @@ -1,6 +1,9 @@ use primitives::{Balance, BlockNumber}; -use crate::{api, api::runtime_types, AccountId, BlockHash, SignedConnection, TxStatus}; +use crate::{ + api, api::runtime_types, frame_support::weights::weight_v2::Weight, AccountId, BlockHash, + SignedConnection, TxStatus, +}; pub type CallHash = [u8; 32]; pub type Call = Vec; @@ -14,7 +17,7 @@ pub trait MultisigUserApi { threshold: u16, other_signatories: Vec, timepoint: Option, - max_weight: u64, + max_weight: Weight, call_hash: CallHash, status: TxStatus, ) -> anyhow::Result; @@ -35,7 +38,7 @@ impl MultisigUserApi for SignedConnection { threshold: u16, other_signatories: Vec, timepoint: Option, - max_weight: u64, + max_weight: Weight, call_hash: CallHash, status: TxStatus, ) -> anyhow::Result { diff --git a/aleph-client/src/runtime_types.rs b/aleph-client/src/runtime_types.rs index 88e7144b81..effcf00191 100644 --- a/aleph-client/src/runtime_types.rs +++ b/aleph-client/src/runtime_types.rs @@ -6,6 +6,7 @@ use crate::{ sp_consensus_aura::sr25519::app_sr25519::Public as AuraPublic, sp_core::{ed25519::Public as EdPublic, sr25519::Public as SrPublic}, }, + frame_support::weights::weight_v2::Weight, pallet_staking::EraRewardPoints, }; @@ -40,3 +41,9 @@ impl TryFrom for SessionKeys { Ok(SessionKeys::from(bytes)) } } + +impl Weight { + pub fn new(ref_time: u64) -> Self { + Self { ref_time } + } +} diff --git a/benches/payout-stakers/Cargo.lock b/benches/payout-stakers/Cargo.lock index 8df218dfc9..930cb5f0ca 100644 --- a/benches/payout-stakers/Cargo.lock +++ b/benches/payout-stakers/Cargo.lock @@ -40,9 +40,9 @@ dependencies = [ [[package]] name = "aho-corasick" -version = "0.7.19" +version = "0.7.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4f55bd91a0978cbfd91c457a164bab8b4001c833b7f323132c0a4e1922dd44e" +checksum = "cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac" dependencies = [ "memchr", ] @@ -60,9 +60,9 @@ dependencies = [ "hex", "ink_metadata", "log", + "pallet-contracts-primitives", "parity-scale-codec", "primitives", - "rayon", "serde", "serde_json", "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", @@ -313,15 +313,15 @@ checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" [[package]] name = "bytes" -version = "1.2.1" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec8a7b6a70fde80372154c65702f00a0f56f3e1c36abbc6c440484be248856db" +checksum = "dfb24e866b15a1af2a1b663f10c6b6b8f397a84aadb828f12e5b289ec23a3a3c" [[package]] name = "cc" -version = "1.0.76" +version = "1.0.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76a284da2e6fe2092f2353e51713435363112dfd60030e22add80be333fb928f" +checksum = "e9f73505338f7d905b19d18738976aae232eb46b8efc15554ffc56deb5d9ebe4" [[package]] name = "cfg-if" @@ -479,49 +479,6 @@ dependencies = [ "libc", ] -[[package]] -name = "crossbeam-channel" -version = "0.5.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2dd04ddaf88237dc3b8d8f9a3c1004b506b54b3313403944054d23c0870c521" -dependencies = [ - "cfg-if", - "crossbeam-utils", -] - -[[package]] -name = "crossbeam-deque" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "715e8152b692bba2d374b53d4875445368fdf21a94751410af607a5ac677d1fc" -dependencies = [ - "cfg-if", - "crossbeam-epoch", - "crossbeam-utils", -] - -[[package]] -name = "crossbeam-epoch" -version = "0.9.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f916dfc5d356b0ed9dae65f1db9fc9770aa2851d2662b988ccf4fe3516e86348" -dependencies = [ - "autocfg", - "cfg-if", - "crossbeam-utils", - "memoffset", - "scopeguard", -] - -[[package]] -name = "crossbeam-utils" -version = "0.8.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edbafec5fa1f196ca66527c1b12c2ec4745ca14b50f1ad8f9f6f720b55d11fac" -dependencies = [ - "cfg-if", -] - [[package]] name = "crunchy" version = "0.2.2" @@ -598,9 +555,9 @@ dependencies = [ [[package]] name = "cxx" -version = "1.0.81" +version = "1.0.82" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97abf9f0eca9e52b7f81b945524e76710e6cb2366aead23b7d4fbf72e281f888" +checksum = "d4a41a86530d0fe7f5d9ea779916b7cadd2d4f9add748b99c2c029cbbdfaf453" dependencies = [ "cc", "cxxbridge-flags", @@ -610,9 +567,9 @@ dependencies = [ [[package]] name = "cxx-build" -version = "1.0.81" +version = "1.0.82" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cc32cc5fea1d894b77d269ddb9f192110069a8a9c1f1d441195fba90553dea3" +checksum = "06416d667ff3e3ad2df1cd8cd8afae5da26cf9cec4d0825040f88b5ca659a2f0" dependencies = [ "cc", "codespan-reporting", @@ -625,15 +582,15 @@ dependencies = [ [[package]] name = "cxxbridge-flags" -version = "1.0.81" +version = "1.0.82" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ca220e4794c934dc6b1207c3b42856ad4c302f2df1712e9f8d2eec5afaacf1f" +checksum = "820a9a2af1669deeef27cb271f476ffd196a2c4b6731336011e0ba63e2c7cf71" [[package]] name = "cxxbridge-macro" -version = "1.0.81" +version = "1.0.82" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b846f081361125bfc8dc9d3940c84e1fd83ba54bbca7b17cd29483c828be0704" +checksum = "a08a6e2fcc370a089ad3b4aaf54db3b1b4cee38ddabce5896b33eb693275f470" dependencies = [ "proc-macro2", "quote", @@ -803,6 +760,20 @@ dependencies = [ "zeroize", ] +[[package]] +name = "ed25519-zebra" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c24f403d068ad0b359e577a77f92392118be3f3c927538f2bb544a5ecd828c6" +dependencies = [ + "curve25519-dalek 3.2.0", + "hashbrown", + "hex", + "rand_core 0.6.4", + "sha2 0.9.9", + "zeroize", +] + [[package]] name = "either" version = "1.8.0" @@ -955,14 +926,14 @@ dependencies = [ "scale-info", "serde", "smallvec", - "sp-api", + "sp-api 4.0.0-dev (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", "sp-arithmetic 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-core-hashing-proc-macro", + "sp-core-hashing-proc-macro 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", "sp-inherents", "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-staking", + "sp-staking 4.0.0-dev (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", "sp-state-machine 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", "sp-tracing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", @@ -1676,6 +1647,15 @@ dependencies = [ "cfg-if", ] +[[package]] +name = "lru" +version = "0.7.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e999beba7b6e8345721bd280141ed958096a2e4abdf74f67ff4ce49b4b54e47a" +dependencies = [ + "hashbrown", +] + [[package]] name = "matchers" version = "0.0.1" @@ -1691,15 +1671,6 @@ version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" -[[package]] -name = "memoffset" -version = "0.6.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce" -dependencies = [ - "autocfg", -] - [[package]] name = "memory-db" version = "0.29.0" @@ -1762,6 +1733,12 @@ version = "0.1.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb" +[[package]] +name = "nohash-hasher" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2bf50223579dc7cdcfb3bfcacf7069ff68243f8c363f62ffa99cf000a6b9c451" + [[package]] name = "nom" version = "7.1.1" @@ -1882,9 +1859,24 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "os_str_bytes" -version = "6.4.0" +version = "6.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b5bf27447411e9ee3ff51186bf7a08e16c341efdde93f4d823e8844429bed7e" +checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee" + +[[package]] +name = "pallet-contracts-primitives" +version = "6.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +dependencies = [ + "bitflags", + "parity-scale-codec", + "scale-info", + "serde", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-rpc", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", +] [[package]] name = "parity-scale-codec" @@ -1982,7 +1974,7 @@ checksum = "b1de2e551fb905ac83f73f7aedf2f0cb4a0da7e35efa24a202a936269f1f18e1" [[package]] name = "payout-stakers" -version = "0.2.0" +version = "0.3.0" dependencies = [ "aleph_client", "anyhow", @@ -1994,7 +1986,7 @@ dependencies = [ "parity-scale-codec", "primitives", "rand 0.8.5", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", "sp-keyring", "subxt", "tokio", @@ -2082,12 +2074,12 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-api", - "sp-application-crypto 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-staking", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-api 4.0.0-dev (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-application-crypto 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-staking 4.0.0-dev (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", ] [[package]] @@ -2230,30 +2222,6 @@ dependencies = [ "rand_core 0.5.1", ] -[[package]] -name = "rayon" -version = "1.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd99e5772ead8baa5215278c9b15bf92087709e9c1b2d1f97cdb5a183c933a7d" -dependencies = [ - "autocfg", - "crossbeam-deque", - "either", - "rayon-core", -] - -[[package]] -name = "rayon-core" -version = "1.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "258bcdb5ac6dad48491bb2992db6b7cf74878b0384908af124823d118c99683f" -dependencies = [ - "crossbeam-channel", - "crossbeam-deque", - "crossbeam-utils", - "num_cpus", -] - [[package]] name = "redox_syscall" version = "0.2.16" @@ -2631,9 +2599,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.88" +version = "1.0.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e8b3801309262e8184d9687fb697586833e939767aea0dda89f5a8e650e8bd7" +checksum = "020ff22c755c2ed3f8cf162dbb41a7268d934702f3ed3631656ea597e08fc3db" dependencies = [ "itoa", "ryu", @@ -2775,12 +2743,30 @@ dependencies = [ "hash-db", "log", "parity-scale-codec", - "sp-api-proc-macro", + "sp-api-proc-macro 4.0.0-dev (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", "sp-state-machine 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-version", + "sp-version 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "thiserror", +] + +[[package]] +name = "sp-api" +version = "4.0.0-dev" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +dependencies = [ + "hash-db", + "log", + "parity-scale-codec", + "sp-api-proc-macro 4.0.0-dev (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-state-machine 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-trie 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-version 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", "thiserror", ] @@ -2796,6 +2782,18 @@ dependencies = [ "syn", ] +[[package]] +name = "sp-api-proc-macro" +version = "4.0.0-dev" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +dependencies = [ + "blake2", + "proc-macro-crate", + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "sp-application-crypto" version = "6.0.0" @@ -2823,6 +2821,19 @@ dependencies = [ "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", ] +[[package]] +name = "sp-application-crypto" +version = "6.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +dependencies = [ + "parity-scale-codec", + "scale-info", + "serde", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", +] + [[package]] name = "sp-arithmetic" version = "5.0.0" @@ -2854,6 +2865,21 @@ dependencies = [ "static_assertions", ] +[[package]] +name = "sp-arithmetic" +version = "5.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +dependencies = [ + "integer-sqrt", + "num-traits", + "parity-scale-codec", + "scale-info", + "serde", + "sp-debug-derive 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "static_assertions", +] + [[package]] name = "sp-core" version = "6.0.0" @@ -2947,6 +2973,52 @@ dependencies = [ "zeroize", ] +[[package]] +name = "sp-core" +version = "6.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +dependencies = [ + "base58", + "bitflags", + "blake2-rfc", + "byteorder", + "dyn-clonable", + "ed25519-zebra", + "futures", + "hash-db", + "hash256-std-hasher", + "hex", + "impl-serde", + "lazy_static", + "libsecp256k1", + "log", + "merlin", + "num-traits", + "parity-scale-codec", + "parity-util-mem", + "parking_lot", + "primitive-types", + "rand 0.7.3", + "regex", + "scale-info", + "schnorrkel", + "secp256k1 0.24.1", + "secrecy", + "serde", + "sp-core-hashing 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-debug-derive 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-runtime-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-storage 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "ss58-registry", + "substrate-bip39", + "thiserror", + "tiny-bip39", + "wasmi", + "zeroize", +] + [[package]] name = "sp-core-hashing" version = "4.0.0" @@ -2975,6 +3047,20 @@ dependencies = [ "twox-hash", ] +[[package]] +name = "sp-core-hashing" +version = "4.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +dependencies = [ + "blake2", + "byteorder", + "digest 0.10.6", + "sha2 0.10.6", + "sha3", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "twox-hash", +] + [[package]] name = "sp-core-hashing-proc-macro" version = "5.0.0" @@ -2986,6 +3072,17 @@ dependencies = [ "syn", ] +[[package]] +name = "sp-core-hashing-proc-macro" +version = "5.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +dependencies = [ + "proc-macro2", + "quote", + "sp-core-hashing 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "syn", +] + [[package]] name = "sp-debug-derive" version = "4.0.0" @@ -3007,6 +3104,16 @@ dependencies = [ "syn", ] +[[package]] +name = "sp-debug-derive" +version = "4.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "sp-externalities" version = "0.12.0" @@ -3030,6 +3137,17 @@ dependencies = [ "sp-storage 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", ] +[[package]] +name = "sp-externalities" +version = "0.12.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +dependencies = [ + "environmental", + "parity-scale-codec", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-storage 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", +] + [[package]] name = "sp-inherents" version = "4.0.0-dev" @@ -3096,14 +3214,40 @@ dependencies = [ "tracing-core", ] +[[package]] +name = "sp-io" +version = "6.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +dependencies = [ + "bytes", + "futures", + "hash-db", + "libsecp256k1", + "log", + "parity-scale-codec", + "parking_lot", + "secp256k1 0.24.1", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-keystore 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-runtime-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-state-machine 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-tracing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-trie 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-wasm-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "tracing", + "tracing-core", +] + [[package]] name = "sp-keyring" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "lazy_static", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", "strum", ] @@ -3140,6 +3284,22 @@ dependencies = [ "thiserror", ] +[[package]] +name = "sp-keystore" +version = "0.12.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +dependencies = [ + "async-trait", + "futures", + "merlin", + "parity-scale-codec", + "parking_lot", + "schnorrkel", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "thiserror", +] + [[package]] name = "sp-panic-handler" version = "4.0.0" @@ -3161,6 +3321,26 @@ dependencies = [ "regex", ] +[[package]] +name = "sp-panic-handler" +version = "4.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +dependencies = [ + "backtrace", + "lazy_static", + "regex", +] + +[[package]] +name = "sp-rpc" +version = "6.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +dependencies = [ + "rustc-hash", + "serde", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", +] + [[package]] name = "sp-runtime" version = "6.0.0" @@ -3206,6 +3386,28 @@ dependencies = [ "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", ] +[[package]] +name = "sp-runtime" +version = "6.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +dependencies = [ + "either", + "hash256-std-hasher", + "impl-trait-for-tuples", + "log", + "parity-scale-codec", + "parity-util-mem", + "paste", + "rand 0.7.3", + "scale-info", + "serde", + "sp-application-crypto 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-arithmetic 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", +] + [[package]] name = "sp-runtime-interface" version = "6.0.0" @@ -3242,6 +3444,24 @@ dependencies = [ "static_assertions", ] +[[package]] +name = "sp-runtime-interface" +version = "6.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +dependencies = [ + "bytes", + "impl-trait-for-tuples", + "parity-scale-codec", + "primitive-types", + "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-runtime-interface-proc-macro 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-storage 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-tracing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-wasm-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "static_assertions", +] + [[package]] name = "sp-runtime-interface-proc-macro" version = "5.0.0" @@ -3267,6 +3487,18 @@ dependencies = [ "syn", ] +[[package]] +name = "sp-runtime-interface-proc-macro" +version = "5.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +dependencies = [ + "Inflector", + "proc-macro-crate", + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "sp-staking" version = "4.0.0-dev" @@ -3278,6 +3510,17 @@ dependencies = [ "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", ] +[[package]] +name = "sp-staking" +version = "4.0.0-dev" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +dependencies = [ + "parity-scale-codec", + "scale-info", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", +] + [[package]] name = "sp-state-machine" version = "0.12.0" @@ -3298,7 +3541,7 @@ dependencies = [ "sp-trie 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "thiserror", "tracing", - "trie-db", + "trie-db 0.23.1", "trie-root", ] @@ -3324,6 +3567,28 @@ dependencies = [ "trie-root", ] +[[package]] +name = "sp-state-machine" +version = "0.12.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +dependencies = [ + "hash-db", + "log", + "num-traits", + "parity-scale-codec", + "parking_lot", + "rand 0.7.3", + "smallvec", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-panic-handler 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-trie 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "thiserror", + "tracing", + "trie-root", +] + [[package]] name = "sp-std" version = "4.0.0" @@ -3335,6 +3600,11 @@ name = "sp-std" version = "4.0.0" source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +[[package]] +name = "sp-std" +version = "4.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" + [[package]] name = "sp-storage" version = "6.0.0" @@ -3362,6 +3632,19 @@ dependencies = [ "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", ] +[[package]] +name = "sp-storage" +version = "6.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +dependencies = [ + "impl-serde", + "parity-scale-codec", + "ref-cast", + "serde", + "sp-debug-derive 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", +] + [[package]] name = "sp-tracing" version = "5.0.0" @@ -3387,6 +3670,18 @@ dependencies = [ "tracing-subscriber", ] +[[package]] +name = "sp-tracing" +version = "5.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +dependencies = [ + "parity-scale-codec", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "tracing", + "tracing-core", + "tracing-subscriber", +] + [[package]] name = "sp-trie" version = "6.0.0" @@ -3399,7 +3694,7 @@ dependencies = [ "scale-info", "sp-core 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "trie-db", + "trie-db 0.23.1", "trie-root", ] @@ -3415,7 +3710,30 @@ dependencies = [ "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", "thiserror", - "trie-db", + "trie-db 0.23.1", + "trie-root", +] + +[[package]] +name = "sp-trie" +version = "6.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +dependencies = [ + "ahash", + "hash-db", + "hashbrown", + "lazy_static", + "lru", + "memory-db", + "nohash-hasher", + "parity-scale-codec", + "parking_lot", + "scale-info", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "thiserror", + "tracing", + "trie-db 0.24.0", "trie-root", ] @@ -3429,10 +3747,27 @@ dependencies = [ "parity-wasm", "scale-info", "serde", - "sp-core-hashing-proc-macro", + "sp-core-hashing-proc-macro 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-version-proc-macro", + "sp-version-proc-macro 4.0.0-dev (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "thiserror", +] + +[[package]] +name = "sp-version" +version = "5.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +dependencies = [ + "impl-serde", + "parity-scale-codec", + "parity-wasm", + "scale-info", + "serde", + "sp-core-hashing-proc-macro 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-version-proc-macro 4.0.0-dev (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", "thiserror", ] @@ -3447,6 +3782,17 @@ dependencies = [ "syn", ] +[[package]] +name = "sp-version-proc-macro" +version = "4.0.0-dev" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +dependencies = [ + "parity-scale-codec", + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "sp-wasm-interface" version = "6.0.0" @@ -3472,6 +3818,18 @@ dependencies = [ "wasmi", ] +[[package]] +name = "sp-wasm-interface" +version = "6.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +dependencies = [ + "impl-trait-for-tuples", + "log", + "parity-scale-codec", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "wasmi", +] + [[package]] name = "spin" version = "0.5.2" @@ -3480,9 +3838,9 @@ checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" [[package]] name = "ss58-registry" -version = "1.34.0" +version = "1.35.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37a9821878e1f13aba383aa40a86fb1b33c7265774ec91e32563cb1dd1577496" +checksum = "fa0813c10b9dbdc842c2305f949f724c64866e4ef4d09c9151e96f6a2106773c" dependencies = [ "Inflector", "num-format", @@ -3733,9 +4091,9 @@ checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" [[package]] name = "tokio" -version = "1.21.2" +version = "1.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9e03c497dc955702ba729190dc4aac6f2a0ce97f913e5b1b5912fc5039d9099" +checksum = "d76ce4a75fb488c605c54bf610f221cea8b0dafb53333c1a67e8ee199dcd2ae3" dependencies = [ "autocfg", "bytes", @@ -3895,6 +4253,19 @@ dependencies = [ "smallvec", ] +[[package]] +name = "trie-db" +version = "0.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "004e1e8f92535694b4cb1444dc5a8073ecf0815e3357f729638b9f8fc4062908" +dependencies = [ + "hash-db", + "hashbrown", + "log", + "rustc-hex", + "smallvec", +] + [[package]] name = "trie-root" version = "0.17.0" diff --git a/benches/payout-stakers/Cargo.toml b/benches/payout-stakers/Cargo.toml index 4c1bf5ad5c..42999ccd84 100644 --- a/benches/payout-stakers/Cargo.toml +++ b/benches/payout-stakers/Cargo.toml @@ -14,8 +14,8 @@ log = "0.4" futures = "0.3.25" rand = "0.8.5" -sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28", features = ["full_crypto"] } -sp-keyring = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } +sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29", features = ["full_crypto"] } +sp-keyring = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } subxt = "0.24.0" tokio = { version = "1.21.2", features = ["full"] } diff --git a/bin/cliain/Cargo.lock b/bin/cliain/Cargo.lock index 48c2b05542..96b588f9dc 100644 --- a/bin/cliain/Cargo.lock +++ b/bin/cliain/Cargo.lock @@ -40,16 +40,16 @@ dependencies = [ [[package]] name = "aho-corasick" -version = "0.7.19" +version = "0.7.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4f55bd91a0978cbfd91c457a164bab8b4001c833b7f323132c0a4e1922dd44e" +checksum = "cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac" dependencies = [ "memchr", ] [[package]] name = "aleph_client" -version = "2.0.0" +version = "2.1.0" dependencies = [ "anyhow", "async-trait", @@ -65,8 +65,8 @@ dependencies = [ "primitives", "serde", "serde_json", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", "subxt", "thiserror", ] @@ -235,7 +235,7 @@ version = "0.10.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b12e5fd123190ce1c2e559308a94c9bacad77907d4c6005d9e58fe1a0689e55e" dependencies = [ - "digest 0.10.5", + "digest 0.10.6", ] [[package]] @@ -322,15 +322,24 @@ checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" [[package]] name = "bytes" -version = "1.2.1" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec8a7b6a70fde80372154c65702f00a0f56f3e1c36abbc6c440484be248856db" +checksum = "dfb24e866b15a1af2a1b663f10c6b6b8f397a84aadb828f12e5b289ec23a3a3c" [[package]] name = "cc" -version = "1.0.76" +version = "1.0.77" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e9f73505338f7d905b19d18738976aae232eb46b8efc15554ffc56deb5d9ebe4" + +[[package]] +name = "cfg-expr" +version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76a284da2e6fe2092f2353e51713435363112dfd60030e22add80be333fb928f" +checksum = "0aacacf4d96c24b2ad6eb8ee6df040e4f27b0d0b39a5710c30091baa830485db" +dependencies = [ + "smallvec", +] [[package]] name = "cfg-if" @@ -391,7 +400,7 @@ dependencies = [ [[package]] name = "cliain" -version = "0.6.0" +version = "0.7.0" dependencies = [ "aleph_client", "anyhow", @@ -408,7 +417,7 @@ dependencies = [ "primitives", "serde", "serde_json", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", "subxt", "tokio", ] @@ -614,9 +623,9 @@ dependencies = [ [[package]] name = "cxx" -version = "1.0.81" +version = "1.0.82" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97abf9f0eca9e52b7f81b945524e76710e6cb2366aead23b7d4fbf72e281f888" +checksum = "d4a41a86530d0fe7f5d9ea779916b7cadd2d4f9add748b99c2c029cbbdfaf453" dependencies = [ "cc", "cxxbridge-flags", @@ -626,9 +635,9 @@ dependencies = [ [[package]] name = "cxx-build" -version = "1.0.81" +version = "1.0.82" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cc32cc5fea1d894b77d269ddb9f192110069a8a9c1f1d441195fba90553dea3" +checksum = "06416d667ff3e3ad2df1cd8cd8afae5da26cf9cec4d0825040f88b5ca659a2f0" dependencies = [ "cc", "codespan-reporting", @@ -641,15 +650,15 @@ dependencies = [ [[package]] name = "cxxbridge-flags" -version = "1.0.81" +version = "1.0.82" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ca220e4794c934dc6b1207c3b42856ad4c302f2df1712e9f8d2eec5afaacf1f" +checksum = "820a9a2af1669deeef27cb271f476ffd196a2c4b6731336011e0ba63e2c7cf71" [[package]] name = "cxxbridge-macro" -version = "1.0.81" +version = "1.0.82" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b846f081361125bfc8dc9d3940c84e1fd83ba54bbca7b17cd29483c828be0704" +checksum = "a08a6e2fcc370a089ad3b4aaf54db3b1b4cee38ddabce5896b33eb693275f470" dependencies = [ "proc-macro2", "quote", @@ -753,9 +762,9 @@ dependencies = [ [[package]] name = "digest" -version = "0.10.5" +version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adfbc57365a37acbd2ebf2b64d7e69bb766e2fea813521ed536f5d0520dcf86c" +checksum = "8168378f4e5023e7218c89c891c0fd8ecdb5e5e4f18cb78f38cf245dd021e76f" dependencies = [ "block-buffer 0.10.3", "crypto-common", @@ -830,6 +839,20 @@ dependencies = [ "zeroize", ] +[[package]] +name = "ed25519-zebra" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c24f403d068ad0b359e577a77f92392118be3f3c927538f2bb544a5ecd828c6" +dependencies = [ + "curve25519-dalek 3.2.0", + "hashbrown", + "hex", + "rand_core 0.6.4", + "sha2 0.9.9", + "zeroize", +] + [[package]] name = "either" version = "1.8.0" @@ -962,7 +985,7 @@ dependencies = [ [[package]] name = "frame-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "frame-support", "frame-system", @@ -973,18 +996,19 @@ dependencies = [ "scale-info", "serde", "sp-api", - "sp-application-crypto 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-storage 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-application-crypto 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-runtime-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-storage 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", ] [[package]] name = "frame-election-provider-solution-type" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -995,17 +1019,17 @@ dependencies = [ [[package]] name = "frame-election-provider-support" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "frame-election-provider-solution-type", "frame-support", "frame-system", "parity-scale-codec", "scale-info", - "sp-arithmetic 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-arithmetic 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", "sp-npos-elections", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", ] [[package]] @@ -1023,7 +1047,7 @@ dependencies = [ [[package]] name = "frame-support" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "bitflags", "frame-metadata", @@ -1038,26 +1062,28 @@ dependencies = [ "serde", "smallvec", "sp-api", - "sp-arithmetic 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-arithmetic 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", "sp-core-hashing-proc-macro", "sp-inherents", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", "sp-staking", - "sp-state-machine 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-tracing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-state-machine 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-tracing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", "tt-call", ] [[package]] name = "frame-support-procedural" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "Inflector", + "cfg-expr", "frame-support-procedural-tools", + "itertools", "proc-macro2", "quote", "syn", @@ -1066,7 +1092,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate", @@ -1078,7 +1104,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "proc-macro2", "quote", @@ -1088,17 +1114,17 @@ dependencies = [ [[package]] name = "frame-system" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "frame-support", "log", "parity-scale-codec", "scale-info", "serde", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", "sp-version", ] @@ -1455,9 +1481,9 @@ checksum = "0cfe9645a18782869361d9c8732246be7b410ad4e919d3609ebabdac00ba12c3" [[package]] name = "indexmap" -version = "1.9.1" +version = "1.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10a35a97730320ffe8e2d410b5d3b69279b98d2c14bdb8b70ea89ecf7888d41e" +checksum = "1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399" dependencies = [ "autocfg", "hashbrown", @@ -1791,6 +1817,15 @@ dependencies = [ "cfg-if", ] +[[package]] +name = "lru" +version = "0.7.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e999beba7b6e8345721bd280141ed958096a2e4abdf74f67ff4ce49b4b54e47a" +dependencies = [ + "hashbrown", +] + [[package]] name = "matchers" version = "0.0.1" @@ -1906,6 +1941,12 @@ version = "0.1.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb" +[[package]] +name = "nohash-hasher" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2bf50223579dc7cdcfb3bfcacf7069ff68243f8c363f62ffa99cf000a6b9c451" + [[package]] name = "nom" version = "7.1.1" @@ -2047,14 +2088,14 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "os_str_bytes" -version = "6.4.0" +version = "6.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b5bf27447411e9ee3ff51186bf7a08e16c341efdde93f4d823e8844429bed7e" +checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee" [[package]] name = "pallet-authorship" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "frame-support", "frame-system", @@ -2062,29 +2103,29 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-authorship", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", ] [[package]] name = "pallet-contracts-primitives" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "bitflags", "parity-scale-codec", "scale-info", "serde", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", "sp-rpc", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", ] [[package]] name = "pallet-session" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "frame-support", "frame-system", @@ -2093,19 +2134,19 @@ dependencies = [ "pallet-timestamp", "parity-scale-codec", "scale-info", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", "sp-session", "sp-staking", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-trie 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-trie 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", ] [[package]] name = "pallet-staking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "frame-election-provider-support", "frame-support", @@ -2116,17 +2157,17 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-application-crypto 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-application-crypto 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", "sp-staking", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", ] [[package]] name = "pallet-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "frame-benchmarking", "frame-support", @@ -2135,8 +2176,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-inherents", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", "sp-timestamp", ] @@ -2311,17 +2352,17 @@ dependencies = [ [[package]] name = "primitives" -version = "0.5.0" +version = "0.5.1" dependencies = [ "parity-scale-codec", "scale-info", "serde", "sp-api", - "sp-application-crypto 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-application-crypto 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", "sp-staking", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", ] [[package]] @@ -2866,9 +2907,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.87" +version = "1.0.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ce777b7b150d76b9cf60d28b55f5847135a003f7d7350c6be7a773508ce7d45" +checksum = "020ff22c755c2ed3f8cf162dbb41a7268d934702f3ed3631656ea597e08fc3db" dependencies = [ "itoa", "ryu", @@ -2921,7 +2962,7 @@ checksum = "82e6b795fe2e3b1e845bafcb27aa35405c4d47cdfc92af5fc8d3002f76cebdc0" dependencies = [ "cfg-if", "cpufeatures", - "digest 0.10.5", + "digest 0.10.6", ] [[package]] @@ -2930,7 +2971,7 @@ version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bdf0c33fae925bdc080598b84bc15c55e7b9a4a43b3c704da051f977469691c9" dependencies = [ - "digest 0.10.5", + "digest 0.10.6", "keccak", ] @@ -3017,16 +3058,17 @@ dependencies = [ [[package]] name = "sp-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "hash-db", "log", "parity-scale-codec", "sp-api-proc-macro", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-state-machine 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-state-machine 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-trie 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", "sp-version", "thiserror", ] @@ -3034,7 +3076,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "blake2", "proc-macro-crate", @@ -3060,14 +3102,14 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", ] [[package]] @@ -3089,28 +3131,28 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "integer-sqrt", "num-traits", "parity-scale-codec", "scale-info", "serde", - "sp-debug-derive 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-debug-derive 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", "static_assertions", ] [[package]] name = "sp-authorship" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "async-trait", "parity-scale-codec", "sp-inherents", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", ] [[package]] @@ -3163,14 +3205,14 @@ dependencies = [ [[package]] name = "sp-core" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "base58", "bitflags", "blake2-rfc", "byteorder", "dyn-clonable", - "ed25519-dalek", + "ed25519-zebra", "futures", "hash-db", "hash256-std-hasher", @@ -3192,12 +3234,12 @@ dependencies = [ "secp256k1 0.24.1", "secrecy", "serde", - "sp-core-hashing 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-debug-derive 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-storage 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-core-hashing 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-debug-derive 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-runtime-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-storage 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", "ss58-registry", "substrate-bip39", "thiserror", @@ -3223,25 +3265,25 @@ dependencies = [ [[package]] name = "sp-core-hashing" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "blake2", "byteorder", - "digest 0.10.5", + "digest 0.10.6", "sha2 0.10.6", "sha3", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", "twox-hash", ] [[package]] name = "sp-core-hashing-proc-macro" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "proc-macro2", "quote", - "sp-core-hashing 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-core-hashing 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", "syn", ] @@ -3259,7 +3301,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "proc-macro2", "quote", @@ -3281,25 +3323,25 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "environmental", "parity-scale-codec", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-storage 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-storage 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", ] [[package]] name = "sp-inherents" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "async-trait", "impl-trait-for-tuples", "parity-scale-codec", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", "thiserror", ] @@ -3332,7 +3374,7 @@ dependencies = [ [[package]] name = "sp-io" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "bytes", "futures", @@ -3342,15 +3384,15 @@ dependencies = [ "parity-scale-codec", "parking_lot", "secp256k1 0.24.1", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-keystore 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-state-machine 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-tracing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-trie 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-wasm-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-keystore 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-runtime-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-state-machine 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-tracing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-trie 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-wasm-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", "tracing", "tracing-core", ] @@ -3375,7 +3417,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "async-trait", "futures", @@ -3383,23 +3425,23 @@ dependencies = [ "parity-scale-codec", "parking_lot", "schnorrkel", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", "thiserror", ] [[package]] name = "sp-npos-elections" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-arithmetic 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-arithmetic 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", ] [[package]] @@ -3416,7 +3458,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "backtrace", "lazy_static", @@ -3426,11 +3468,11 @@ dependencies = [ [[package]] name = "sp-rpc" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "rustc-hash", "serde", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", ] [[package]] @@ -3459,7 +3501,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "either", "hash256-std-hasher", @@ -3471,11 +3513,11 @@ dependencies = [ "rand 0.7.3", "scale-info", "serde", - "sp-application-crypto 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-arithmetic 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-application-crypto 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-arithmetic 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", ] [[package]] @@ -3499,18 +3541,18 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "bytes", "impl-trait-for-tuples", "parity-scale-codec", "primitive-types", - "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime-interface-proc-macro 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-storage 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-tracing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-wasm-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-runtime-interface-proc-macro 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-storage 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-tracing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-wasm-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", "static_assertions", ] @@ -3530,7 +3572,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "Inflector", "proc-macro-crate", @@ -3542,26 +3584,26 @@ dependencies = [ [[package]] name = "sp-session" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "parity-scale-codec", "scale-info", "sp-api", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", "sp-staking", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", ] [[package]] name = "sp-staking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "parity-scale-codec", "scale-info", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", ] [[package]] @@ -3584,14 +3626,14 @@ dependencies = [ "sp-trie 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "thiserror", "tracing", - "trie-db", + "trie-db 0.23.1", "trie-root", ] [[package]] name = "sp-state-machine" version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "hash-db", "log", @@ -3600,11 +3642,11 @@ dependencies = [ "parking_lot", "rand 0.7.3", "smallvec", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-panic-handler 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-trie 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-panic-handler 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-trie 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", "thiserror", "tracing", "trie-root", @@ -3619,7 +3661,7 @@ checksum = "14804d6069ee7a388240b665f17908d98386ffb0b5d39f89a4099fc7a2a4c03f" [[package]] name = "sp-std" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" [[package]] name = "sp-storage" @@ -3638,20 +3680,20 @@ dependencies = [ [[package]] name = "sp-storage" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "impl-serde", "parity-scale-codec", "ref-cast", "serde", - "sp-debug-derive 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-debug-derive 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", ] [[package]] name = "sp-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "async-trait", "futures-timer", @@ -3659,8 +3701,8 @@ dependencies = [ "parity-scale-codec", "sp-api", "sp-inherents", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", "thiserror", ] @@ -3680,10 +3722,10 @@ dependencies = [ [[package]] name = "sp-tracing" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "parity-scale-codec", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", "tracing", "tracing-core", "tracing-subscriber", @@ -3701,30 +3743,37 @@ dependencies = [ "scale-info", "sp-core 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "trie-db", + "trie-db 0.23.1", "trie-root", ] [[package]] name = "sp-trie" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ + "ahash", "hash-db", + "hashbrown", + "lazy_static", + "lru", "memory-db", + "nohash-hasher", "parity-scale-codec", + "parking_lot", "scale-info", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", "thiserror", - "trie-db", + "tracing", + "trie-db 0.24.0", "trie-root", ] [[package]] name = "sp-version" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "impl-serde", "parity-scale-codec", @@ -3732,8 +3781,8 @@ dependencies = [ "scale-info", "serde", "sp-core-hashing-proc-macro", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", "sp-version-proc-macro", "thiserror", ] @@ -3741,7 +3790,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "parity-scale-codec", "proc-macro2", @@ -3765,12 +3814,12 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "impl-trait-for-tuples", "log", "parity-scale-codec", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", "wasmi", ] @@ -3782,9 +3831,9 @@ checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" [[package]] name = "ss58-registry" -version = "1.34.0" +version = "1.35.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37a9821878e1f13aba383aa40a86fb1b33c7265774ec91e32563cb1dd1577496" +checksum = "fa0813c10b9dbdc842c2305f949f724c64866e4ef4d09c9151e96f6a2106773c" dependencies = [ "Inflector", "num-format", @@ -4050,9 +4099,9 @@ checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" [[package]] name = "tokio" -version = "1.21.2" +version = "1.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9e03c497dc955702ba729190dc4aac6f2a0ce97f913e5b1b5912fc5039d9099" +checksum = "d76ce4a75fb488c605c54bf610f221cea8b0dafb53333c1a67e8ee199dcd2ae3" dependencies = [ "autocfg", "bytes", @@ -4212,6 +4261,19 @@ dependencies = [ "smallvec", ] +[[package]] +name = "trie-db" +version = "0.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "004e1e8f92535694b4cb1444dc5a8073ecf0815e3357f729638b9f8fc4062908" +dependencies = [ + "hash-db", + "hashbrown", + "log", + "rustc-hex", + "smallvec", +] + [[package]] name = "trie-root" version = "0.17.0" @@ -4234,7 +4296,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675" dependencies = [ "cfg-if", - "digest 0.10.5", + "digest 0.10.6", "rand 0.8.5", "static_assertions", ] @@ -4578,9 +4640,9 @@ checksum = "f40009d85759725a34da6d89a94e63d7bdc50a862acf0dbc7c8e488f1edcb6f5" [[package]] name = "wyz" -version = "0.5.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30b31594f29d27036c383b53b59ed3476874d518f0efb151b27a4c275141390e" +checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed" dependencies = [ "tap", ] diff --git a/bin/cliain/Cargo.toml b/bin/cliain/Cargo.toml index 8da0d20ad2..c1055cf2d8 100644 --- a/bin/cliain/Cargo.toml +++ b/bin/cliain/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "cliain" -version = "0.6.0" +version = "0.7.0" edition = "2021" license = "GPL-3.0-or-later" @@ -16,11 +16,11 @@ env_logger = "0.8" hex = "0.4.3" ink_metadata = { version = "3.0", features = ["derive"] } log = "0.4" -pallet-staking = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } +pallet-staking = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } primitives = { path = "../../primitives" } serde = { version = "1.0.137", features = ["derive"] } serde_json = "1.0.81" -sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28", features = ["full_crypto"] } +sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29", features = ["full_crypto"] } tokio = { version = "1.21.2", features = ["full"] } subxt = "0.24.0" diff --git a/bin/cliain/src/contracts.rs b/bin/cliain/src/contracts.rs index 5759950939..d5be80a395 100644 --- a/bin/cliain/src/contracts.rs +++ b/bin/cliain/src/contracts.rs @@ -5,6 +5,7 @@ use std::{ use aleph_client::{ api::contracts::events::{CodeRemoved, CodeStored, Instantiated}, + frame_support::weights::weight_v2::Weight, pallet_contracts::wasm::OwnerInfo, pallets::contract::{ContractsApi, ContractsUserApi}, waiting::{AlephWaiting, BlockStatus}, @@ -113,7 +114,7 @@ pub async fn instantiate( .instantiate( code_hash, balance, - gas_limit, + Weight::new(gas_limit), storage_deposit(storage_deposit_limit), data, vec![], @@ -186,7 +187,7 @@ pub async fn instantiate_with_code( .instantiate_with_code( wasm, balance, - gas_limit, + Weight::new(gas_limit), storage_deposit(storage_deposit_limit), data, vec![], @@ -231,7 +232,7 @@ pub async fn call( .call( destination, balance, - gas_limit, + Weight::new(gas_limit), storage_deposit(storage_deposit_limit), data, TxStatus::InBlock, diff --git a/bin/node/Cargo.toml b/bin/node/Cargo.toml index 502a01c86c..73ff9d754e 100644 --- a/bin/node/Cargo.toml +++ b/bin/node/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "aleph-node" -version = "0.8.0" +version = "0.8.1" authors = ["Cardinal Cryptography"] description = "Aleph node binary" edition = "2021" @@ -27,31 +27,31 @@ hex-literal = "0.3" libp2p = "0.44" thiserror = "1.0" -sp-application-crypto = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -sc-block-builder = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -sc-chain-spec = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28"} -sc-cli = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28", features = ["wasmtime"] } -sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -sc-executor = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28", features = ["wasmtime"] } -sc-service = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28", features = ["wasmtime"] } -sc-telemetry = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -sc-keystore = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -sp-keystore = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -sp-inherents = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -sc-basic-authorship = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -sc-network = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -sc-transaction-pool = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -sp-transaction-pool = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -sc-transaction-pool-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -sc-consensus-aura = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -sp-consensus-aura = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -sp-consensus = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -sc-consensus = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -sc-client-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -sp-timestamp = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -pallet-staking = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -try-runtime-cli = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28", optional = true } +sp-application-crypto = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +sc-block-builder = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +sc-chain-spec = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29"} +sc-cli = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29", features = ["wasmtime"] } +sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +sc-executor = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29", features = ["wasmtime"] } +sc-service = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29", features = ["wasmtime"] } +sc-telemetry = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +sc-keystore = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +sp-keystore = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +sp-inherents = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +sc-basic-authorship = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +sc-network = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +sc-transaction-pool = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +sp-transaction-pool = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +sc-transaction-pool-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +sc-consensus-aura = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +sp-consensus-aura = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +sp-consensus = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +sc-consensus = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +sc-client-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +sp-timestamp = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +pallet-staking = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +try-runtime-cli = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29", optional = true } aleph-runtime = { path = "../runtime" } finality-aleph = { path = "../../finality-aleph" } @@ -59,17 +59,17 @@ aleph-primitives = { package = "primitives", path = "../../primitives" } # These dependencies are used for the node's RPCs jsonrpsee = { version = "0.15.1", features = ["server"] } -sc-rpc = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -sp-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -sc-rpc-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -sp-blockchain = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -sp-block-builder = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -substrate-frame-rpc-system = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -pallet-contracts-rpc = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -pallet-transaction-payment-rpc = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } +sc-rpc = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +sp-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +sc-rpc-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +sp-blockchain = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +sp-block-builder = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +substrate-frame-rpc-system = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +pallet-contracts-rpc = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +pallet-transaction-payment-rpc = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } [build-dependencies] -substrate-build-script-utils = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } +substrate-build-script-utils = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } [features] default = [] diff --git a/bin/runtime/Cargo.toml b/bin/runtime/Cargo.toml index 9318bed26b..ae7f7135e5 100644 --- a/bin/runtime/Cargo.toml +++ b/bin/runtime/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "aleph-runtime" -version = "0.8.0" +version = "0.8.1" authors = ["Cardinal Cryptography"] edition = "2021" homepage = "https://alephzero.org" @@ -15,54 +15,54 @@ codec = { package = "parity-scale-codec", version = "3.0", default-features = fa scale-info = { version = "2.0", default-features = false, features = ["derive"] } serde = { version = "1.0", optional = true, features = ["derive"] } -frame-executive = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -frame-support = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -frame-system = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -frame-system-rpc-runtime-api = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -frame-try-runtime = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28", optional = true } +frame-executive = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +frame-support = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +frame-system = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +frame-system-rpc-runtime-api = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +frame-try-runtime = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29", optional = true } -pallet-aura = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -pallet-authorship = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -pallet-balances = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -pallet-contracts = { git = "https://github.com/Cardinal-Cryptography/substrate", default-features = false, branch = "aleph-v0.9.28" } -pallet-contracts-primitives = { git = "https://github.com/Cardinal-Cryptography/substrate", default-features = false, branch = "aleph-v0.9.28" } -pallet-contracts-rpc-runtime-api = { git = "https://github.com/Cardinal-Cryptography/substrate", default-features = false, branch = "aleph-v0.9.28" } -pallet-identity = { git = "https://github.com/Cardinal-Cryptography/substrate", default-features = false, branch = "aleph-v0.9.28" } -pallet-randomness-collective-flip = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -pallet-session = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -pallet-scheduler = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -pallet-staking = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -pallet-sudo = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -pallet-timestamp = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -pallet-transaction-payment = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -pallet-transaction-payment-rpc-runtime-api = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -pallet-treasury = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -pallet-vesting = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -pallet-multisig = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -pallet-utility = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -pallet-nomination-pools = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } +pallet-aura = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +pallet-authorship = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +pallet-balances = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +pallet-contracts = { git = "https://github.com/Cardinal-Cryptography/substrate", default-features = false, branch = "aleph-v0.9.29" } +pallet-contracts-primitives = { git = "https://github.com/Cardinal-Cryptography/substrate", default-features = false, branch = "aleph-v0.9.29" } +pallet-contracts-rpc-runtime-api = { git = "https://github.com/Cardinal-Cryptography/substrate", default-features = false, branch = "aleph-v0.9.29" } +pallet-identity = { git = "https://github.com/Cardinal-Cryptography/substrate", default-features = false, branch = "aleph-v0.9.29" } +pallet-randomness-collective-flip = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +pallet-session = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +pallet-scheduler = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +pallet-staking = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +pallet-sudo = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +pallet-timestamp = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +pallet-transaction-payment = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +pallet-transaction-payment-rpc-runtime-api = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +pallet-treasury = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +pallet-vesting = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +pallet-multisig = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +pallet-utility = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +pallet-nomination-pools = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -sp-api = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -sp-block-builder = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -sp-consensus-aura = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -sp-core = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -sp-inherents = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -sp-offchain = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -sp-runtime = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -sp-session = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -sp-staking = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -sp-std = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -sp-transaction-pool = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -sp-version = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } +sp-api = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +sp-block-builder = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +sp-consensus-aura = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +sp-core = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +sp-inherents = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +sp-offchain = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +sp-runtime = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +sp-session = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +sp-staking = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +sp-std = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +sp-transaction-pool = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +sp-version = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } # NOTE: these two disabled features collide with std in wasm -sp-io = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } +sp-io = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } primitives = { path = "../../primitives", default-features = false } pallet-aleph = { path = "../../pallets/aleph", default-features = false } pallet-elections = { path = "../../pallets/elections", default-features = false } [build-dependencies] -substrate-wasm-builder = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } +substrate-wasm-builder = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } [features] default = ["std"] @@ -113,6 +113,7 @@ std = [ short_session = ["primitives/short_session"] try-runtime = [ "frame-executive/try-runtime", + "frame-support/try-runtime", "frame-try-runtime", "frame-system/try-runtime", "pallet-contracts/try-runtime", @@ -128,6 +129,7 @@ try-runtime = [ "pallet-staking/try-runtime", "pallet-sudo/try-runtime", "pallet-timestamp/try-runtime", + "pallet-scheduler/try-runtime", "pallet-transaction-payment/try-runtime", "pallet-treasury/try-runtime", "pallet-vesting/try-runtime", diff --git a/bin/runtime/src/lib.rs b/bin/runtime/src/lib.rs index b929d4b36b..690360ef67 100644 --- a/bin/runtime/src/lib.rs +++ b/bin/runtime/src/lib.rs @@ -20,7 +20,7 @@ pub use frame_support::{ }; use frame_support::{ sp_runtime::Perquintill, - traits::{ConstU32, ConstU64, EqualPrivilegeOnly, SortedMembers, U128CurrencyToVote}, + traits::{ConstU32, EqualPrivilegeOnly, SortedMembers, U128CurrencyToVote}, weights::constants::WEIGHT_PER_MILLIS, PalletId, }; @@ -108,7 +108,7 @@ pub const VERSION: RuntimeVersion = RuntimeVersion { spec_name: create_runtime_str!("aleph-node"), impl_name: create_runtime_str!("aleph-node"), authoring_version: 1, - spec_version: 38, + spec_version: 40, impl_version: 1, apis: RUNTIME_API_VERSIONS, transaction_version: 13, @@ -135,7 +135,7 @@ pub const PICO_AZERO: Balance = NANO_AZERO / 1000; pub const NORMAL_DISPATCH_RATIO: Perbill = Perbill::from_percent(75); // The whole process for a single block should take 1s, of which 400ms is for creation, // 200ms for propagation and 400ms for validation. Hence the block weight should be within 400ms. -pub const MAX_BLOCK_WEIGHT: Weight = 400 * WEIGHT_PER_MILLIS; +pub const MAX_BLOCK_WEIGHT: Weight = WEIGHT_PER_MILLIS.saturating_mul(400); // We agreed to 5MB as the block size limit. pub const MAX_BLOCK_SIZE: u32 = 5 * 1024 * 1024; @@ -648,10 +648,10 @@ parameter_types! { // Maximum size of the lazy deletion queue of terminated contracts. // The weight needed for decoding the queue should be less or equal than a tenth // of the overall weight dedicated to the lazy deletion. - pub DeletionQueueDepth: u32 = ((DeletionWeightLimit::get() / ( + pub DeletionQueueDepth: u32 = (DeletionWeightLimit::get().saturating_div(( ::WeightInfo::on_initialize_per_queue_item(1) - ::WeightInfo::on_initialize_per_queue_item(0) - )) / 10) as u32; // 2228 + ).ref_time()) * 10).ref_time() as u32; // 2228 pub Schedule: pallet_contracts::Schedule = Default::default(); } @@ -673,7 +673,7 @@ impl pallet_contracts::Config for Runtime { type Schedule = Schedule; type CallStack = [pallet_contracts::Frame; 31]; type AddressGenerator = pallet_contracts::DefaultAddressGenerator; - type ContractAccessWeight = ConstU64<0>; + type ContractAccessWeight = pallet_contracts::DefaultContractAccessWeight; type MaxCodeLen = ConstU32<{ 128 * 1024 }>; type RelaxedMaxCodeLen = ConstU32<{ 256 * 1024 }>; type MaxStorageKeyLen = ConstU32<128>; @@ -922,7 +922,7 @@ impl_runtime_apis! { storage_deposit_limit: Option, input_data: Vec, ) -> ContractExecResult { - Contracts::bare_call(origin, dest, value, gas_limit, storage_deposit_limit, input_data, CONTRACTS_DEBUG_OUTPUT) + Contracts::bare_call(origin, dest, value, Weight::from_ref_time(gas_limit), storage_deposit_limit, input_data, CONTRACTS_DEBUG_OUTPUT) } fn instantiate( @@ -935,7 +935,7 @@ impl_runtime_apis! { salt: Vec, ) -> ContractInstantiateResult { - Contracts::bare_instantiate(origin, value, gas_limit, storage_deposit_limit, code, data, salt, CONTRACTS_DEBUG_OUTPUT) + Contracts::bare_instantiate(origin, value, Weight::from_ref_time(gas_limit), storage_deposit_limit, code, data, salt, CONTRACTS_DEBUG_OUTPUT) } fn upload_code( @@ -957,17 +957,20 @@ impl_runtime_apis! { } #[cfg(feature = "try-runtime")] - impl frame_try_runtime::TryRuntime for Runtime { - fn on_runtime_upgrade() -> (frame_support::weights::Weight, frame_support::weights::Weight) { - log::info!(target: "aleph-runtime", "try-runtime::on_runtime_upgrade"); - let weight = Executive::try_runtime_upgrade().unwrap(); - (weight, BlockWeights::get().max_block) - } - - fn execute_block_no_check(block: Block) -> frame_support::weights::Weight { - Executive::execute_block_no_check(block) - } - } + impl frame_try_runtime::TryRuntime for Runtime { + fn on_runtime_upgrade() -> (Weight, Weight) { + let weight = Executive::try_runtime_upgrade().unwrap(); + (weight, BlockWeights::get().max_block) + } + + fn execute_block( + block: Block, + state_root_check: bool, + select: frame_try_runtime::TryStateSelect + ) -> Weight { + Executive::try_execute_block(block, state_root_check, select).unwrap() + } + } } #[cfg(test)] diff --git a/e2e-tests/Cargo.lock b/e2e-tests/Cargo.lock index e574d80b0e..a5c8101a27 100644 --- a/e2e-tests/Cargo.lock +++ b/e2e-tests/Cargo.lock @@ -40,16 +40,16 @@ dependencies = [ [[package]] name = "aho-corasick" -version = "0.7.19" +version = "0.7.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4f55bd91a0978cbfd91c457a164bab8b4001c833b7f323132c0a4e1922dd44e" +checksum = "cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac" dependencies = [ "memchr", ] [[package]] name = "aleph-e2e-client" -version = "0.9.0" +version = "0.9.1" dependencies = [ "aleph_client", "anyhow", @@ -67,14 +67,14 @@ dependencies = [ "primitives", "rayon", "serde_json", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", "tokio", ] [[package]] name = "aleph_client" -version = "2.0.0" +version = "2.1.0" dependencies = [ "anyhow", "async-trait", @@ -85,12 +85,13 @@ dependencies = [ "hex", "ink_metadata", "log", + "pallet-contracts-primitives", "parity-scale-codec", "primitives", "serde", "serde_json", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", "subxt", "thiserror", ] @@ -259,7 +260,7 @@ version = "0.10.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b12e5fd123190ce1c2e559308a94c9bacad77907d4c6005d9e58fe1a0689e55e" dependencies = [ - "digest 0.10.5", + "digest 0.10.6", ] [[package]] @@ -346,15 +347,24 @@ checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" [[package]] name = "bytes" -version = "1.2.1" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec8a7b6a70fde80372154c65702f00a0f56f3e1c36abbc6c440484be248856db" +checksum = "dfb24e866b15a1af2a1b663f10c6b6b8f397a84aadb828f12e5b289ec23a3a3c" [[package]] name = "cc" -version = "1.0.76" +version = "1.0.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76a284da2e6fe2092f2353e51713435363112dfd60030e22add80be333fb928f" +checksum = "e9f73505338f7d905b19d18738976aae232eb46b8efc15554ffc56deb5d9ebe4" + +[[package]] +name = "cfg-expr" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0aacacf4d96c24b2ad6eb8ee6df040e4f27b0d0b39a5710c30091baa830485db" +dependencies = [ + "smallvec", +] [[package]] name = "cfg-if" @@ -535,9 +545,9 @@ dependencies = [ [[package]] name = "crossbeam-epoch" -version = "0.9.11" +version = "0.9.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f916dfc5d356b0ed9dae65f1db9fc9770aa2851d2662b988ccf4fe3516e86348" +checksum = "01a9af1f4c2ef74bb8aa1f7e19706bc72d03598c8a570bb5de72243c7a9d9d5a" dependencies = [ "autocfg", "cfg-if", @@ -548,9 +558,9 @@ dependencies = [ [[package]] name = "crossbeam-utils" -version = "0.8.12" +version = "0.8.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edbafec5fa1f196ca66527c1b12c2ec4745ca14b50f1ad8f9f6f720b55d11fac" +checksum = "4fb766fa798726286dbbb842f174001dab8abc7b627a1dd86e0b7222a95d929f" dependencies = [ "cfg-if", ] @@ -631,9 +641,9 @@ dependencies = [ [[package]] name = "cxx" -version = "1.0.81" +version = "1.0.82" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97abf9f0eca9e52b7f81b945524e76710e6cb2366aead23b7d4fbf72e281f888" +checksum = "d4a41a86530d0fe7f5d9ea779916b7cadd2d4f9add748b99c2c029cbbdfaf453" dependencies = [ "cc", "cxxbridge-flags", @@ -643,9 +653,9 @@ dependencies = [ [[package]] name = "cxx-build" -version = "1.0.81" +version = "1.0.82" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cc32cc5fea1d894b77d269ddb9f192110069a8a9c1f1d441195fba90553dea3" +checksum = "06416d667ff3e3ad2df1cd8cd8afae5da26cf9cec4d0825040f88b5ca659a2f0" dependencies = [ "cc", "codespan-reporting", @@ -658,15 +668,15 @@ dependencies = [ [[package]] name = "cxxbridge-flags" -version = "1.0.81" +version = "1.0.82" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ca220e4794c934dc6b1207c3b42856ad4c302f2df1712e9f8d2eec5afaacf1f" +checksum = "820a9a2af1669deeef27cb271f476ffd196a2c4b6731336011e0ba63e2c7cf71" [[package]] name = "cxxbridge-macro" -version = "1.0.81" +version = "1.0.82" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b846f081361125bfc8dc9d3940c84e1fd83ba54bbca7b17cd29483c828be0704" +checksum = "a08a6e2fcc370a089ad3b4aaf54db3b1b4cee38ddabce5896b33eb693275f470" dependencies = [ "proc-macro2", "quote", @@ -759,9 +769,9 @@ dependencies = [ [[package]] name = "digest" -version = "0.10.5" +version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adfbc57365a37acbd2ebf2b64d7e69bb766e2fea813521ed536f5d0520dcf86c" +checksum = "8168378f4e5023e7218c89c891c0fd8ecdb5e5e4f18cb78f38cf245dd021e76f" dependencies = [ "block-buffer 0.10.3", "crypto-common", @@ -836,6 +846,20 @@ dependencies = [ "zeroize", ] +[[package]] +name = "ed25519-zebra" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c24f403d068ad0b359e577a77f92392118be3f3c927538f2bb544a5ecd828c6" +dependencies = [ + "curve25519-dalek 3.2.0", + "hashbrown", + "hex", + "rand_core 0.6.4", + "sha2 0.9.9", + "zeroize", +] + [[package]] name = "either" version = "1.8.0" @@ -962,7 +986,7 @@ dependencies = [ [[package]] name = "frame-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "frame-support", "frame-system", @@ -973,18 +997,19 @@ dependencies = [ "scale-info", "serde", "sp-api", - "sp-application-crypto 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-storage 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-application-crypto 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-runtime-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-storage 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", ] [[package]] name = "frame-election-provider-solution-type" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -995,17 +1020,17 @@ dependencies = [ [[package]] name = "frame-election-provider-support" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "frame-election-provider-solution-type", "frame-support", "frame-system", "parity-scale-codec", "scale-info", - "sp-arithmetic 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-arithmetic 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", "sp-npos-elections", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", ] [[package]] @@ -1023,7 +1048,7 @@ dependencies = [ [[package]] name = "frame-support" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "bitflags", "frame-metadata", @@ -1038,26 +1063,28 @@ dependencies = [ "serde", "smallvec", "sp-api", - "sp-arithmetic 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-arithmetic 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", "sp-core-hashing-proc-macro", "sp-inherents", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", "sp-staking", - "sp-state-machine 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-tracing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-state-machine 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-tracing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", "tt-call", ] [[package]] name = "frame-support-procedural" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "Inflector", + "cfg-expr", "frame-support-procedural-tools", + "itertools", "proc-macro2", "quote", "syn", @@ -1066,7 +1093,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate", @@ -1078,7 +1105,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "proc-macro2", "quote", @@ -1088,17 +1115,17 @@ dependencies = [ [[package]] name = "frame-system" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "frame-support", "log", "parity-scale-codec", "scale-info", "serde", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", "sp-version", ] @@ -1455,9 +1482,9 @@ checksum = "0cfe9645a18782869361d9c8732246be7b410ad4e919d3609ebabdac00ba12c3" [[package]] name = "indexmap" -version = "1.9.1" +version = "1.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10a35a97730320ffe8e2d410b5d3b69279b98d2c14bdb8b70ea89ecf7888d41e" +checksum = "1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399" dependencies = [ "autocfg", "hashbrown", @@ -1791,6 +1818,15 @@ dependencies = [ "cfg-if", ] +[[package]] +name = "lru" +version = "0.7.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e999beba7b6e8345721bd280141ed958096a2e4abdf74f67ff4ce49b4b54e47a" +dependencies = [ + "hashbrown", +] + [[package]] name = "matchers" version = "0.0.1" @@ -1817,9 +1853,9 @@ checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" [[package]] name = "memoffset" -version = "0.6.5" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce" +checksum = "5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4" dependencies = [ "autocfg", ] @@ -1915,6 +1951,12 @@ version = "0.1.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb" +[[package]] +name = "nohash-hasher" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2bf50223579dc7cdcfb3bfcacf7069ff68243f8c363f62ffa99cf000a6b9c451" + [[package]] name = "nom" version = "7.1.1" @@ -2056,14 +2098,14 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "os_str_bytes" -version = "6.4.0" +version = "6.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b5bf27447411e9ee3ff51186bf7a08e16c341efdde93f4d823e8844429bed7e" +checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee" [[package]] name = "pallet-authorship" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "frame-support", "frame-system", @@ -2071,14 +2113,14 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-authorship", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", ] [[package]] name = "pallet-balances" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "frame-benchmarking", "frame-support", @@ -2086,13 +2128,28 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", +] + +[[package]] +name = "pallet-contracts-primitives" +version = "6.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +dependencies = [ + "bitflags", + "parity-scale-codec", + "scale-info", + "serde", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-rpc", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", ] [[package]] name = "pallet-elections" -version = "0.5.0" +version = "0.5.1" dependencies = [ "frame-election-provider-support", "frame-support", @@ -2105,17 +2162,17 @@ dependencies = [ "parity-scale-codec", "primitives", "scale-info", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", "sp-staking", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", ] [[package]] name = "pallet-session" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "frame-support", "frame-system", @@ -2124,19 +2181,19 @@ dependencies = [ "pallet-timestamp", "parity-scale-codec", "scale-info", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", "sp-session", "sp-staking", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-trie 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-trie 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", ] [[package]] name = "pallet-staking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "frame-election-provider-support", "frame-support", @@ -2147,17 +2204,17 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-application-crypto 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-application-crypto 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", "sp-staking", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", ] [[package]] name = "pallet-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "frame-benchmarking", "frame-support", @@ -2166,14 +2223,14 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-inherents", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", "sp-timestamp", ] [[package]] name = "pallets-support" -version = "0.1.0" +version = "0.1.1" dependencies = [ "frame-support", ] @@ -2349,17 +2406,17 @@ dependencies = [ [[package]] name = "primitives" -version = "0.5.0" +version = "0.5.1" dependencies = [ "parity-scale-codec", "scale-info", "serde", "sp-api", - "sp-application-crypto 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-application-crypto 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", "sp-staking", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", ] [[package]] @@ -2520,11 +2577,10 @@ checksum = "60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3" [[package]] name = "rayon" -version = "1.5.3" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd99e5772ead8baa5215278c9b15bf92087709e9c1b2d1f97cdb5a183c933a7d" +checksum = "1e060280438193c554f654141c9ea9417886713b7acd75974c85b18a69a88e0b" dependencies = [ - "autocfg", "crossbeam-deque", "either", "rayon-core", @@ -2532,9 +2588,9 @@ dependencies = [ [[package]] name = "rayon-core" -version = "1.9.3" +version = "1.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "258bcdb5ac6dad48491bb2992db6b7cf74878b0384908af124823d118c99683f" +checksum = "cac410af5d00ab6884528b4ab69d1e8e146e8d471201800fa1b4524126de6ad3" dependencies = [ "crossbeam-channel", "crossbeam-deque", @@ -2919,9 +2975,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.87" +version = "1.0.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ce777b7b150d76b9cf60d28b55f5847135a003f7d7350c6be7a773508ce7d45" +checksum = "020ff22c755c2ed3f8cf162dbb41a7268d934702f3ed3631656ea597e08fc3db" dependencies = [ "itoa", "ryu", @@ -2974,7 +3030,7 @@ checksum = "82e6b795fe2e3b1e845bafcb27aa35405c4d47cdfc92af5fc8d3002f76cebdc0" dependencies = [ "cfg-if", "cpufeatures", - "digest 0.10.5", + "digest 0.10.6", ] [[package]] @@ -2983,7 +3039,7 @@ version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bdf0c33fae925bdc080598b84bc15c55e7b9a4a43b3c704da051f977469691c9" dependencies = [ - "digest 0.10.5", + "digest 0.10.6", "keccak", ] @@ -3070,16 +3126,17 @@ dependencies = [ [[package]] name = "sp-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "hash-db", "log", "parity-scale-codec", "sp-api-proc-macro", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-state-machine 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-state-machine 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-trie 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", "sp-version", "thiserror", ] @@ -3087,7 +3144,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "blake2", "proc-macro-crate", @@ -3113,14 +3170,14 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", ] [[package]] @@ -3142,28 +3199,28 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "integer-sqrt", "num-traits", "parity-scale-codec", "scale-info", "serde", - "sp-debug-derive 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-debug-derive 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", "static_assertions", ] [[package]] name = "sp-authorship" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "async-trait", "parity-scale-codec", "sp-inherents", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", ] [[package]] @@ -3216,14 +3273,14 @@ dependencies = [ [[package]] name = "sp-core" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "base58", "bitflags", "blake2-rfc", "byteorder", "dyn-clonable", - "ed25519-dalek", + "ed25519-zebra", "futures", "hash-db", "hash256-std-hasher", @@ -3245,12 +3302,12 @@ dependencies = [ "secp256k1 0.24.1", "secrecy", "serde", - "sp-core-hashing 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-debug-derive 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-storage 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-core-hashing 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-debug-derive 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-runtime-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-storage 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", "ss58-registry", "substrate-bip39", "thiserror", @@ -3276,25 +3333,25 @@ dependencies = [ [[package]] name = "sp-core-hashing" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "blake2", "byteorder", - "digest 0.10.5", + "digest 0.10.6", "sha2 0.10.6", "sha3", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", "twox-hash", ] [[package]] name = "sp-core-hashing-proc-macro" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "proc-macro2", "quote", - "sp-core-hashing 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-core-hashing 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", "syn", ] @@ -3312,7 +3369,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "proc-macro2", "quote", @@ -3334,25 +3391,25 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "environmental", "parity-scale-codec", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-storage 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-storage 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", ] [[package]] name = "sp-inherents" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "async-trait", "impl-trait-for-tuples", "parity-scale-codec", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", "thiserror", ] @@ -3385,7 +3442,7 @@ dependencies = [ [[package]] name = "sp-io" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "bytes", "futures", @@ -3395,15 +3452,15 @@ dependencies = [ "parity-scale-codec", "parking_lot", "secp256k1 0.24.1", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-keystore 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-state-machine 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-tracing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-trie 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-wasm-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-keystore 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-runtime-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-state-machine 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-tracing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-trie 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-wasm-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", "tracing", "tracing-core", ] @@ -3428,7 +3485,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "async-trait", "futures", @@ -3436,23 +3493,23 @@ dependencies = [ "parity-scale-codec", "parking_lot", "schnorrkel", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", "thiserror", ] [[package]] name = "sp-npos-elections" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-arithmetic 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-arithmetic 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", ] [[package]] @@ -3469,13 +3526,23 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "backtrace", "lazy_static", "regex", ] +[[package]] +name = "sp-rpc" +version = "6.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +dependencies = [ + "rustc-hash", + "serde", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", +] + [[package]] name = "sp-runtime" version = "6.0.0" @@ -3502,7 +3569,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "either", "hash256-std-hasher", @@ -3514,11 +3581,11 @@ dependencies = [ "rand 0.7.3", "scale-info", "serde", - "sp-application-crypto 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-arithmetic 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-application-crypto 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-arithmetic 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", ] [[package]] @@ -3542,18 +3609,18 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "bytes", "impl-trait-for-tuples", "parity-scale-codec", "primitive-types", - "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime-interface-proc-macro 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-storage 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-tracing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-wasm-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-runtime-interface-proc-macro 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-storage 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-tracing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-wasm-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", "static_assertions", ] @@ -3573,7 +3640,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "Inflector", "proc-macro-crate", @@ -3585,26 +3652,26 @@ dependencies = [ [[package]] name = "sp-session" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "parity-scale-codec", "scale-info", "sp-api", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", "sp-staking", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", ] [[package]] name = "sp-staking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "parity-scale-codec", "scale-info", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", ] [[package]] @@ -3627,14 +3694,14 @@ dependencies = [ "sp-trie 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "thiserror", "tracing", - "trie-db", + "trie-db 0.23.1", "trie-root", ] [[package]] name = "sp-state-machine" version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "hash-db", "log", @@ -3643,11 +3710,11 @@ dependencies = [ "parking_lot", "rand 0.7.3", "smallvec", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-panic-handler 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-trie 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-panic-handler 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-trie 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", "thiserror", "tracing", "trie-root", @@ -3662,7 +3729,7 @@ checksum = "14804d6069ee7a388240b665f17908d98386ffb0b5d39f89a4099fc7a2a4c03f" [[package]] name = "sp-std" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" [[package]] name = "sp-storage" @@ -3681,20 +3748,20 @@ dependencies = [ [[package]] name = "sp-storage" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "impl-serde", "parity-scale-codec", "ref-cast", "serde", - "sp-debug-derive 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-debug-derive 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", ] [[package]] name = "sp-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "async-trait", "futures-timer", @@ -3702,8 +3769,8 @@ dependencies = [ "parity-scale-codec", "sp-api", "sp-inherents", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", "thiserror", ] @@ -3723,10 +3790,10 @@ dependencies = [ [[package]] name = "sp-tracing" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "parity-scale-codec", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", "tracing", "tracing-core", "tracing-subscriber", @@ -3744,30 +3811,37 @@ dependencies = [ "scale-info", "sp-core 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "trie-db", + "trie-db 0.23.1", "trie-root", ] [[package]] name = "sp-trie" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ + "ahash", "hash-db", + "hashbrown", + "lazy_static", + "lru", "memory-db", + "nohash-hasher", "parity-scale-codec", + "parking_lot", "scale-info", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", "thiserror", - "trie-db", + "tracing", + "trie-db 0.24.0", "trie-root", ] [[package]] name = "sp-version" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "impl-serde", "parity-scale-codec", @@ -3775,8 +3849,8 @@ dependencies = [ "scale-info", "serde", "sp-core-hashing-proc-macro", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", "sp-version-proc-macro", "thiserror", ] @@ -3784,7 +3858,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "parity-scale-codec", "proc-macro2", @@ -3808,12 +3882,12 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "impl-trait-for-tuples", "log", "parity-scale-codec", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", "wasmi", ] @@ -3825,9 +3899,9 @@ checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" [[package]] name = "ss58-registry" -version = "1.34.0" +version = "1.35.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37a9821878e1f13aba383aa40a86fb1b33c7265774ec91e32563cb1dd1577496" +checksum = "fa0813c10b9dbdc842c2305f949f724c64866e4ef4d09c9151e96f6a2106773c" dependencies = [ "Inflector", "num-format", @@ -4069,9 +4143,9 @@ checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" [[package]] name = "tokio" -version = "1.21.2" +version = "1.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9e03c497dc955702ba729190dc4aac6f2a0ce97f913e5b1b5912fc5039d9099" +checksum = "d76ce4a75fb488c605c54bf610f221cea8b0dafb53333c1a67e8ee199dcd2ae3" dependencies = [ "autocfg", "bytes", @@ -4231,6 +4305,19 @@ dependencies = [ "smallvec", ] +[[package]] +name = "trie-db" +version = "0.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "004e1e8f92535694b4cb1444dc5a8073ecf0815e3357f729638b9f8fc4062908" +dependencies = [ + "hash-db", + "hashbrown", + "log", + "rustc-hex", + "smallvec", +] + [[package]] name = "trie-root" version = "0.17.0" @@ -4253,7 +4340,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675" dependencies = [ "cfg-if", - "digest 0.10.5", + "digest 0.10.6", "rand 0.8.5", "static_assertions", ] @@ -4597,9 +4684,9 @@ checksum = "f40009d85759725a34da6d89a94e63d7bdc50a862acf0dbc7c8e488f1edcb6f5" [[package]] name = "wyz" -version = "0.5.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30b31594f29d27036c383b53b59ed3476874d518f0efb151b27a4c275141390e" +checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed" dependencies = [ "tap", ] diff --git a/e2e-tests/Cargo.toml b/e2e-tests/Cargo.toml index 8da6c8e3bb..dfcbba6361 100644 --- a/e2e-tests/Cargo.toml +++ b/e2e-tests/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "aleph-e2e-client" -version = "0.9.0" +version = "0.9.1" edition = "2021" license = "Apache 2.0" @@ -16,12 +16,12 @@ rayon = "1.5" tokio = { version = "1.21.2", features = ["full"] } futures = "0.3.25" -sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28", default-features = false, features = ["full_crypto"] } -sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28", default-features = false } -frame-support = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28", default-features = false } -system = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28", package = "frame-system" } -pallet-staking = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28", default-features = false } -pallet-balances = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28", default-features = false } +sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29", default-features = false, features = ["full_crypto"] } +sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29", default-features = false } +frame-support = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29", default-features = false } +system = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29", package = "frame-system" } +pallet-staking = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29", default-features = false } +pallet-balances = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29", default-features = false } aleph_client = { path = "../aleph-client" } primitives = { path = "../primitives", features = ["short_session"], default-features = false } diff --git a/finality-aleph/Cargo.toml b/finality-aleph/Cargo.toml index d7cc652c69..acf5039bd3 100644 --- a/finality-aleph/Cargo.toml +++ b/finality-aleph/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "finality-aleph" -version = "0.5.0" +version = "0.5.1" authors = ["Cardinal Cryptography"] edition = "2021" license = "Apache 2.0" @@ -36,29 +36,29 @@ serde = "1.0" tiny-bip39 = "1.0" tokio = { version = "1.17", features = [ "sync", "macros", "time", "rt-multi-thread" ] } -prometheus-endpoint = { package = "substrate-prometheus-endpoint", git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -sp-keystore = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -sc-network = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -sc-network-common = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -sc-telemetry = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -sc-service = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -sp-application-crypto = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -sp-state-machine = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -sp-trie = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -sc-utils = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -sp-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -sp-blockchain = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -sc-consensus = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -sp-consensus = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -sc-client-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -sp-io = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } +prometheus-endpoint = { package = "substrate-prometheus-endpoint", git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +sp-keystore = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +sc-network = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +sc-network-common = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +sc-telemetry = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +sc-service = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +sp-application-crypto = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +sp-state-machine = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +sp-trie = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +sc-utils = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +sp-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +sp-blockchain = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +sc-consensus = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +sp-consensus = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +sc-client-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +sp-io = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } [dev-dependencies] -substrate-test-runtime-client = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -substrate-test-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -sc-block-builder = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } +substrate-test-runtime-client = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +substrate-test-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +sc-block-builder = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } [features] only_legacy = [] diff --git a/finality-aleph/src/substrate_network.rs b/finality-aleph/src/substrate_network.rs index e4a14d9818..3c1cddf5ad 100644 --- a/finality-aleph/src/substrate_network.rs +++ b/finality-aleph/src/substrate_network.rs @@ -1,4 +1,4 @@ -use std::{borrow::Cow, collections::HashSet, fmt, iter, pin::Pin, sync::Arc}; +use std::{collections::HashSet, fmt, iter, pin::Pin, sync::Arc}; use async_trait::async_trait; use futures::stream::{Stream, StreamExt}; @@ -8,8 +8,9 @@ use sc_network::{ multiaddr::Protocol as MultiaddressProtocol, Event as SubstrateEvent, ExHashT, Multiaddr, NetworkService, NetworkSyncForkRequest, PeerId, }; -use sc_network_common::service::{ - NetworkEventStream as _, NetworkNotification, NetworkPeers, NotificationSender, +use sc_network_common::{ + protocol::ProtocolName, + service::{NetworkEventStream as _, NetworkNotification, NetworkPeers, NotificationSender}, }; use sp_api::NumberFor; use sp_consensus::SyncOracle; @@ -46,10 +47,10 @@ impl RequestBlocks for Arc> { const AUTHENTICATION_PROTOCOL_NAME: &str = "/aleph/1"; /// Returns the canonical name of the protocol. -pub fn protocol_name(protocol: &Protocol) -> Cow<'static, str> { +pub fn protocol_name(protocol: &Protocol) -> ProtocolName { use Protocol::*; match protocol { - Authentication => Cow::Borrowed(AUTHENTICATION_PROTOCOL_NAME), + Authentication => AUTHENTICATION_PROTOCOL_NAME.into(), } } diff --git a/flooder/Cargo.lock b/flooder/Cargo.lock index 33e3f5d672..d90a4fecd1 100644 --- a/flooder/Cargo.lock +++ b/flooder/Cargo.lock @@ -40,9 +40,9 @@ dependencies = [ [[package]] name = "aho-corasick" -version = "0.7.19" +version = "0.7.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4f55bd91a0978cbfd91c457a164bab8b4001c833b7f323132c0a4e1922dd44e" +checksum = "cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac" dependencies = [ "memchr", ] @@ -60,9 +60,9 @@ dependencies = [ "hex", "ink_metadata", "log", + "pallet-contracts-primitives", "parity-scale-codec", "primitives", - "rayon", "serde", "serde_json", "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", @@ -323,9 +323,9 @@ dependencies = [ [[package]] name = "bytes" -version = "1.2.1" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec8a7b6a70fde80372154c65702f00a0f56f3e1c36abbc6c440484be248856db" +checksum = "dfb24e866b15a1af2a1b663f10c6b6b8f397a84aadb828f12e5b289ec23a3a3c" [[package]] name = "bzip2" @@ -350,9 +350,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.76" +version = "1.0.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76a284da2e6fe2092f2353e51713435363112dfd60030e22add80be333fb928f" +checksum = "e9f73505338f7d905b19d18738976aae232eb46b8efc15554ffc56deb5d9ebe4" [[package]] name = "cfg-if" @@ -535,35 +535,11 @@ dependencies = [ "crossbeam-utils", ] -[[package]] -name = "crossbeam-deque" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "715e8152b692bba2d374b53d4875445368fdf21a94751410af607a5ac677d1fc" -dependencies = [ - "cfg-if 1.0.0", - "crossbeam-epoch", - "crossbeam-utils", -] - -[[package]] -name = "crossbeam-epoch" -version = "0.9.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f916dfc5d356b0ed9dae65f1db9fc9770aa2851d2662b988ccf4fe3516e86348" -dependencies = [ - "autocfg", - "cfg-if 1.0.0", - "crossbeam-utils", - "memoffset", - "scopeguard", -] - [[package]] name = "crossbeam-utils" -version = "0.8.12" +version = "0.8.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edbafec5fa1f196ca66527c1b12c2ec4745ca14b50f1ad8f9f6f720b55d11fac" +checksum = "4fb766fa798726286dbbb842f174001dab8abc7b627a1dd86e0b7222a95d929f" dependencies = [ "cfg-if 1.0.0", ] @@ -644,9 +620,9 @@ dependencies = [ [[package]] name = "cxx" -version = "1.0.81" +version = "1.0.82" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97abf9f0eca9e52b7f81b945524e76710e6cb2366aead23b7d4fbf72e281f888" +checksum = "d4a41a86530d0fe7f5d9ea779916b7cadd2d4f9add748b99c2c029cbbdfaf453" dependencies = [ "cc", "cxxbridge-flags", @@ -656,9 +632,9 @@ dependencies = [ [[package]] name = "cxx-build" -version = "1.0.81" +version = "1.0.82" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cc32cc5fea1d894b77d269ddb9f192110069a8a9c1f1d441195fba90553dea3" +checksum = "06416d667ff3e3ad2df1cd8cd8afae5da26cf9cec4d0825040f88b5ca659a2f0" dependencies = [ "cc", "codespan-reporting", @@ -671,15 +647,15 @@ dependencies = [ [[package]] name = "cxxbridge-flags" -version = "1.0.81" +version = "1.0.82" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ca220e4794c934dc6b1207c3b42856ad4c302f2df1712e9f8d2eec5afaacf1f" +checksum = "820a9a2af1669deeef27cb271f476ffd196a2c4b6731336011e0ba63e2c7cf71" [[package]] name = "cxxbridge-macro" -version = "1.0.81" +version = "1.0.82" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b846f081361125bfc8dc9d3940c84e1fd83ba54bbca7b17cd29483c828be0704" +checksum = "a08a6e2fcc370a089ad3b4aaf54db3b1b4cee38ddabce5896b33eb693275f470" dependencies = [ "proc-macro2", "quote", @@ -849,6 +825,20 @@ dependencies = [ "zeroize", ] +[[package]] +name = "ed25519-zebra" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c24f403d068ad0b359e577a77f92392118be3f3c927538f2bb544a5ecd828c6" +dependencies = [ + "curve25519-dalek 3.2.0", + "hashbrown", + "hex", + "rand_core 0.6.4", + "sha2 0.9.9", + "zeroize", +] + [[package]] name = "either" version = "1.8.0" @@ -981,8 +971,8 @@ dependencies = [ "mio 0.6.23", "parity-scale-codec", "serde_json", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", "subxt", "tokio", "ws", @@ -1048,14 +1038,14 @@ dependencies = [ "scale-info", "serde", "smallvec", - "sp-api", + "sp-api 4.0.0-dev (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", "sp-arithmetic 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-core-hashing-proc-macro", + "sp-core-hashing-proc-macro 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", "sp-inherents", "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-staking", + "sp-staking 4.0.0-dev (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", "sp-state-machine 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", "sp-tracing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", @@ -1385,7 +1375,7 @@ version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "75f43d41e26995c17e71ee126451dd3941010b0514a81a9d11f3b341debc2399" dependencies = [ - "bytes 1.2.1", + "bytes 1.3.0", "fnv", "itoa", ] @@ -1479,9 +1469,9 @@ checksum = "0cfe9645a18782869361d9c8732246be7b410ad4e919d3609ebabdac00ba12c3" [[package]] name = "indexmap" -version = "1.9.1" +version = "1.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10a35a97730320ffe8e2d410b5d3b69279b98d2c14bdb8b70ea89ecf7888d41e" +checksum = "1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399" dependencies = [ "autocfg", "hashbrown", @@ -1824,6 +1814,15 @@ dependencies = [ "cfg-if 1.0.0", ] +[[package]] +name = "lru" +version = "0.7.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e999beba7b6e8345721bd280141ed958096a2e4abdf74f67ff4ce49b4b54e47a" +dependencies = [ + "hashbrown", +] + [[package]] name = "matchers" version = "0.0.1" @@ -1839,15 +1838,6 @@ version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" -[[package]] -name = "memoffset" -version = "0.6.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce" -dependencies = [ - "autocfg", -] - [[package]] name = "memory-db" version = "0.29.0" @@ -1964,6 +1954,12 @@ version = "0.1.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb" +[[package]] +name = "nohash-hasher" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2bf50223579dc7cdcfb3bfcacf7069ff68243f8c363f62ffa99cf000a6b9c451" + [[package]] name = "nom" version = "7.1.1" @@ -2123,9 +2119,24 @@ dependencies = [ [[package]] name = "os_str_bytes" -version = "6.4.0" +version = "6.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b5bf27447411e9ee3ff51186bf7a08e16c341efdde93f4d823e8844429bed7e" +checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee" + +[[package]] +name = "pallet-contracts-primitives" +version = "6.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +dependencies = [ + "bitflags", + "parity-scale-codec", + "scale-info", + "serde", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-rpc", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", +] [[package]] name = "parity-scale-codec" @@ -2136,7 +2147,7 @@ dependencies = [ "arrayvec 0.7.2", "bitvec", "byte-slice-cast", - "bytes 1.2.1", + "bytes 1.3.0", "impl-trait-for-tuples", "parity-scale-codec-derive", "serde", @@ -2309,12 +2320,12 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-api", - "sp-application-crypto 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-staking", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-api 4.0.0-dev (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-application-crypto 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-staking 4.0.0-dev (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", ] [[package]] @@ -2457,30 +2468,6 @@ dependencies = [ "rand_core 0.5.1", ] -[[package]] -name = "rayon" -version = "1.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd99e5772ead8baa5215278c9b15bf92087709e9c1b2d1f97cdb5a183c933a7d" -dependencies = [ - "autocfg", - "crossbeam-deque", - "either", - "rayon-core", -] - -[[package]] -name = "rayon-core" -version = "1.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "258bcdb5ac6dad48491bb2992db6b7cf74878b0384908af124823d118c99683f" -dependencies = [ - "crossbeam-channel", - "crossbeam-deque", - "crossbeam-utils", - "num_cpus", -] - [[package]] name = "redox_syscall" version = "0.2.16" @@ -2858,9 +2845,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.87" +version = "1.0.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ce777b7b150d76b9cf60d28b55f5847135a003f7d7350c6be7a773508ce7d45" +checksum = "020ff22c755c2ed3f8cf162dbb41a7268d934702f3ed3631656ea597e08fc3db" dependencies = [ "itoa", "ryu", @@ -2998,7 +2985,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "41d1c5305e39e09653383c2c7244f2f78b3bcae37cf50c64cb4789c9f5096ec2" dependencies = [ "base64", - "bytes 1.2.1", + "bytes 1.3.0", "futures", "httparse", "log", @@ -3014,12 +3001,30 @@ dependencies = [ "hash-db", "log", "parity-scale-codec", - "sp-api-proc-macro", + "sp-api-proc-macro 4.0.0-dev (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", "sp-state-machine 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-version", + "sp-version 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "thiserror", +] + +[[package]] +name = "sp-api" +version = "4.0.0-dev" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +dependencies = [ + "hash-db", + "log", + "parity-scale-codec", + "sp-api-proc-macro 4.0.0-dev (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-state-machine 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-trie 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-version 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", "thiserror", ] @@ -3035,6 +3040,18 @@ dependencies = [ "syn", ] +[[package]] +name = "sp-api-proc-macro" +version = "4.0.0-dev" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +dependencies = [ + "blake2", + "proc-macro-crate", + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "sp-application-crypto" version = "6.0.0" @@ -3062,6 +3079,19 @@ dependencies = [ "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", ] +[[package]] +name = "sp-application-crypto" +version = "6.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +dependencies = [ + "parity-scale-codec", + "scale-info", + "serde", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", +] + [[package]] name = "sp-arithmetic" version = "5.0.0" @@ -3093,6 +3123,21 @@ dependencies = [ "static_assertions", ] +[[package]] +name = "sp-arithmetic" +version = "5.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +dependencies = [ + "integer-sqrt", + "num-traits", + "parity-scale-codec", + "scale-info", + "serde", + "sp-debug-derive 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "static_assertions", +] + [[package]] name = "sp-core" version = "6.0.0" @@ -3186,6 +3231,52 @@ dependencies = [ "zeroize", ] +[[package]] +name = "sp-core" +version = "6.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +dependencies = [ + "base58", + "bitflags", + "blake2-rfc", + "byteorder", + "dyn-clonable", + "ed25519-zebra", + "futures", + "hash-db", + "hash256-std-hasher", + "hex", + "impl-serde", + "lazy_static", + "libsecp256k1", + "log", + "merlin", + "num-traits", + "parity-scale-codec", + "parity-util-mem", + "parking_lot", + "primitive-types", + "rand 0.7.3", + "regex", + "scale-info", + "schnorrkel", + "secp256k1 0.24.1", + "secrecy", + "serde", + "sp-core-hashing 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-debug-derive 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-runtime-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-storage 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "ss58-registry", + "substrate-bip39", + "thiserror", + "tiny-bip39", + "wasmi", + "zeroize", +] + [[package]] name = "sp-core-hashing" version = "4.0.0" @@ -3214,6 +3305,20 @@ dependencies = [ "twox-hash", ] +[[package]] +name = "sp-core-hashing" +version = "4.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +dependencies = [ + "blake2", + "byteorder", + "digest 0.10.6", + "sha2 0.10.6", + "sha3", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "twox-hash", +] + [[package]] name = "sp-core-hashing-proc-macro" version = "5.0.0" @@ -3225,6 +3330,17 @@ dependencies = [ "syn", ] +[[package]] +name = "sp-core-hashing-proc-macro" +version = "5.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +dependencies = [ + "proc-macro2", + "quote", + "sp-core-hashing 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "syn", +] + [[package]] name = "sp-debug-derive" version = "4.0.0" @@ -3246,6 +3362,16 @@ dependencies = [ "syn", ] +[[package]] +name = "sp-debug-derive" +version = "4.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "sp-externalities" version = "0.12.0" @@ -3269,6 +3395,17 @@ dependencies = [ "sp-storage 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", ] +[[package]] +name = "sp-externalities" +version = "0.12.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +dependencies = [ + "environmental", + "parity-scale-codec", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-storage 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", +] + [[package]] name = "sp-inherents" version = "4.0.0-dev" @@ -3314,7 +3451,7 @@ name = "sp-io" version = "6.0.0" source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" dependencies = [ - "bytes 1.2.1", + "bytes 1.3.0", "futures", "hash-db", "libsecp256k1", @@ -3335,6 +3472,32 @@ dependencies = [ "tracing-core", ] +[[package]] +name = "sp-io" +version = "6.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +dependencies = [ + "bytes 1.3.0", + "futures", + "hash-db", + "libsecp256k1", + "log", + "parity-scale-codec", + "parking_lot", + "secp256k1 0.24.1", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-keystore 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-runtime-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-state-machine 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-tracing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-trie 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-wasm-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "tracing", + "tracing-core", +] + [[package]] name = "sp-keystore" version = "0.12.0" @@ -3368,6 +3531,22 @@ dependencies = [ "thiserror", ] +[[package]] +name = "sp-keystore" +version = "0.12.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +dependencies = [ + "async-trait", + "futures", + "merlin", + "parity-scale-codec", + "parking_lot", + "schnorrkel", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "thiserror", +] + [[package]] name = "sp-panic-handler" version = "4.0.0" @@ -3389,6 +3568,26 @@ dependencies = [ "regex", ] +[[package]] +name = "sp-panic-handler" +version = "4.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +dependencies = [ + "backtrace", + "lazy_static", + "regex", +] + +[[package]] +name = "sp-rpc" +version = "6.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +dependencies = [ + "rustc-hash", + "serde", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", +] + [[package]] name = "sp-runtime" version = "6.0.0" @@ -3434,6 +3633,28 @@ dependencies = [ "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", ] +[[package]] +name = "sp-runtime" +version = "6.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +dependencies = [ + "either", + "hash256-std-hasher", + "impl-trait-for-tuples", + "log", + "parity-scale-codec", + "parity-util-mem", + "paste", + "rand 0.7.3", + "scale-info", + "serde", + "sp-application-crypto 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-arithmetic 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", +] + [[package]] name = "sp-runtime-interface" version = "6.0.0" @@ -3457,7 +3678,7 @@ name = "sp-runtime-interface" version = "6.0.0" source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" dependencies = [ - "bytes 1.2.1", + "bytes 1.3.0", "impl-trait-for-tuples", "parity-scale-codec", "primitive-types", @@ -3470,6 +3691,24 @@ dependencies = [ "static_assertions", ] +[[package]] +name = "sp-runtime-interface" +version = "6.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +dependencies = [ + "bytes 1.3.0", + "impl-trait-for-tuples", + "parity-scale-codec", + "primitive-types", + "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-runtime-interface-proc-macro 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-storage 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-tracing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-wasm-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "static_assertions", +] + [[package]] name = "sp-runtime-interface-proc-macro" version = "5.0.0" @@ -3495,6 +3734,18 @@ dependencies = [ "syn", ] +[[package]] +name = "sp-runtime-interface-proc-macro" +version = "5.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +dependencies = [ + "Inflector", + "proc-macro-crate", + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "sp-staking" version = "4.0.0-dev" @@ -3506,6 +3757,17 @@ dependencies = [ "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", ] +[[package]] +name = "sp-staking" +version = "4.0.0-dev" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +dependencies = [ + "parity-scale-codec", + "scale-info", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", +] + [[package]] name = "sp-state-machine" version = "0.12.0" @@ -3526,7 +3788,7 @@ dependencies = [ "sp-trie 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "thiserror", "tracing", - "trie-db", + "trie-db 0.23.1", "trie-root", ] @@ -3552,6 +3814,28 @@ dependencies = [ "trie-root", ] +[[package]] +name = "sp-state-machine" +version = "0.12.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +dependencies = [ + "hash-db", + "log", + "num-traits", + "parity-scale-codec", + "parking_lot", + "rand 0.7.3", + "smallvec", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-panic-handler 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-trie 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "thiserror", + "tracing", + "trie-root", +] + [[package]] name = "sp-std" version = "4.0.0" @@ -3563,6 +3847,11 @@ name = "sp-std" version = "4.0.0" source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +[[package]] +name = "sp-std" +version = "4.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" + [[package]] name = "sp-storage" version = "6.0.0" @@ -3590,6 +3879,19 @@ dependencies = [ "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", ] +[[package]] +name = "sp-storage" +version = "6.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +dependencies = [ + "impl-serde", + "parity-scale-codec", + "ref-cast", + "serde", + "sp-debug-derive 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", +] + [[package]] name = "sp-tracing" version = "5.0.0" @@ -3615,6 +3917,18 @@ dependencies = [ "tracing-subscriber", ] +[[package]] +name = "sp-tracing" +version = "5.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +dependencies = [ + "parity-scale-codec", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "tracing", + "tracing-core", + "tracing-subscriber", +] + [[package]] name = "sp-trie" version = "6.0.0" @@ -3627,7 +3941,7 @@ dependencies = [ "scale-info", "sp-core 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "trie-db", + "trie-db 0.23.1", "trie-root", ] @@ -3643,7 +3957,30 @@ dependencies = [ "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", "thiserror", - "trie-db", + "trie-db 0.23.1", + "trie-root", +] + +[[package]] +name = "sp-trie" +version = "6.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +dependencies = [ + "ahash", + "hash-db", + "hashbrown", + "lazy_static", + "lru", + "memory-db", + "nohash-hasher", + "parity-scale-codec", + "parking_lot", + "scale-info", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "thiserror", + "tracing", + "trie-db 0.24.0", "trie-root", ] @@ -3657,10 +3994,27 @@ dependencies = [ "parity-wasm", "scale-info", "serde", - "sp-core-hashing-proc-macro", + "sp-core-hashing-proc-macro 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-version-proc-macro", + "sp-version-proc-macro 4.0.0-dev (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "thiserror", +] + +[[package]] +name = "sp-version" +version = "5.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +dependencies = [ + "impl-serde", + "parity-scale-codec", + "parity-wasm", + "scale-info", + "serde", + "sp-core-hashing-proc-macro 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-version-proc-macro 4.0.0-dev (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", "thiserror", ] @@ -3675,6 +4029,17 @@ dependencies = [ "syn", ] +[[package]] +name = "sp-version-proc-macro" +version = "4.0.0-dev" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +dependencies = [ + "parity-scale-codec", + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "sp-wasm-interface" version = "6.0.0" @@ -3700,6 +4065,18 @@ dependencies = [ "wasmi", ] +[[package]] +name = "sp-wasm-interface" +version = "6.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +dependencies = [ + "impl-trait-for-tuples", + "log", + "parity-scale-codec", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "wasmi", +] + [[package]] name = "spin" version = "0.5.2" @@ -3708,9 +4085,9 @@ checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" [[package]] name = "ss58-registry" -version = "1.34.0" +version = "1.35.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37a9821878e1f13aba383aa40a86fb1b33c7265774ec91e32563cb1dd1577496" +checksum = "fa0813c10b9dbdc842c2305f949f724c64866e4ef4d09c9151e96f6a2106773c" dependencies = [ "Inflector", "num-format", @@ -3950,12 +4327,12 @@ checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" [[package]] name = "tokio" -version = "1.21.2" +version = "1.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9e03c497dc955702ba729190dc4aac6f2a0ce97f913e5b1b5912fc5039d9099" +checksum = "d76ce4a75fb488c605c54bf610f221cea8b0dafb53333c1a67e8ee199dcd2ae3" dependencies = [ "autocfg", - "bytes 1.2.1", + "bytes 1.3.0", "libc", "memchr", "mio 0.8.5", @@ -3996,7 +4373,7 @@ version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0bb2e075f03b3d66d8d8785356224ba688d2906a371015e225beeb65ca92c740" dependencies = [ - "bytes 1.2.1", + "bytes 1.3.0", "futures-core", "futures-io", "futures-sink", @@ -4112,6 +4489,19 @@ dependencies = [ "smallvec", ] +[[package]] +name = "trie-db" +version = "0.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "004e1e8f92535694b4cb1444dc5a8073ecf0815e3357f729638b9f8fc4062908" +dependencies = [ + "hash-db", + "hashbrown", + "log", + "rustc-hex", + "smallvec", +] + [[package]] name = "trie-root" version = "0.17.0" diff --git a/flooder/Cargo.toml b/flooder/Cargo.toml index 514d608440..61c0c5e021 100644 --- a/flooder/Cargo.toml +++ b/flooder/Cargo.toml @@ -6,8 +6,8 @@ edition = "2021" license = "Apache 2.0" [dependencies] -sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28", features = ["full_crypto"] } -sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } +sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29", features = ["full_crypto"] } +sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } # other dependencies serde_json = { version = "1.0" } diff --git a/fork-off/Cargo.lock b/fork-off/Cargo.lock index a526b238c9..69fab91f2a 100644 --- a/fork-off/Cargo.lock +++ b/fork-off/Cargo.lock @@ -33,16 +33,16 @@ version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47" dependencies = [ - "getrandom 0.2.7", + "getrandom 0.2.8", "once_cell", "version_check 0.9.4", ] [[package]] name = "aho-corasick" -version = "0.7.19" +version = "0.7.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4f55bd91a0978cbfd91c457a164bab8b4001c833b7f323132c0a4e1922dd44e" +checksum = "cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac" dependencies = [ "memchr", ] @@ -67,9 +67,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.65" +version = "1.0.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98161a4e3e2184da77bb14f02184cdd111e83bbbcc9979dfee3c44b9a85f5602" +checksum = "216261ddc8289130e551ddcd5ce8a064710c0d064a4d2895c67151c92b5443f6" [[package]] name = "approx" @@ -120,9 +120,9 @@ dependencies = [ [[package]] name = "async-trait" -version = "0.1.57" +version = "0.1.58" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76464446b8bc32758d7e88ee1a804d9914cd9b1cb264c029899680b0be29826f" +checksum = "1e805d94e6b5001b651426cf4cd446b1ab5f319d27bab5c644f61de0a804360c" dependencies = [ "proc-macro2", "quote", @@ -162,7 +162,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b62ddb9cb1ec0a098ad4bbf9344d0713fa193ae1a80af55febcff2627b6a00c1" dependencies = [ "futures-core", - "getrandom 0.2.7", + "getrandom 0.2.8", "instant", "pin-project-lite", "rand 0.8.5", @@ -217,9 +217,9 @@ dependencies = [ [[package]] name = "base64" -version = "0.13.0" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd" +checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" [[package]] name = "bitflags" @@ -241,11 +241,11 @@ dependencies = [ [[package]] name = "blake2" -version = "0.10.4" +version = "0.10.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9cf849ee05b2ee5fba5e36f97ff8ec2533916700fc0758d40d92136a42f3388" +checksum = "b12e5fd123190ce1c2e559308a94c9bacad77907d4c6005d9e58fe1a0689e55e" dependencies = [ - "digest 0.10.5", + "digest 0.10.6", ] [[package]] @@ -299,15 +299,15 @@ dependencies = [ [[package]] name = "bumpalo" -version = "3.11.0" +version = "3.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1ad822118d20d2c234f427000d5acc36eabe1e29a348c89b63dd60b13f28e5d" +checksum = "572f695136211188308f16ad2ca5c851a712c464060ae6974944458eb83880ba" [[package]] name = "byte-slice-cast" -version = "1.2.1" +version = "1.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87c5fdd0166095e1d463fc6cc01aa8ce547ad77a4e84d42eb6762b084e28067e" +checksum = "c3ac9f8b63eca6fd385229b3675f6cc0dc5c8a5c8a54a59d4f52ffd670d87b0c" [[package]] name = "byte-tools" @@ -333,9 +333,9 @@ dependencies = [ [[package]] name = "bytes" -version = "1.2.1" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec8a7b6a70fde80372154c65702f00a0f56f3e1c36abbc6c440484be248856db" +checksum = "dfb24e866b15a1af2a1b663f10c6b6b8f397a84aadb828f12e5b289ec23a3a3c" [[package]] name = "cache-padded" @@ -345,9 +345,18 @@ checksum = "c1db59621ec70f09c5e9b597b220c7a2b43611f4710dc03ceb8748637775692c" [[package]] name = "cc" -version = "1.0.73" +version = "1.0.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fff2a6927b3bb87f9595d67196a70493f627687a71d87a0d692242c33f58c11" +checksum = "e9f73505338f7d905b19d18738976aae232eb46b8efc15554ffc56deb5d9ebe4" + +[[package]] +name = "cfg-expr" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0aacacf4d96c24b2ad6eb8ee6df040e4f27b0d0b39a5710c30091baa830485db" +dependencies = [ + "smallvec 1.10.0", +] [[package]] name = "cfg-if" @@ -363,9 +372,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "chrono" -version = "0.4.22" +version = "0.4.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfd4d1b31faaa3a89d7934dbded3111da0d2ef28e3ebccdb4f0179f5929d1ef1" +checksum = "16b0a3d9ed01224b22057780a37bb8c5dbfe1be8ba48678e7bf57ec4b385411f" dependencies = [ "iana-time-zone", "num-integer", @@ -375,9 +384,9 @@ dependencies = [ [[package]] name = "clap" -version = "3.2.22" +version = "3.2.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86447ad904c7fb335a790c9d7fe3d0d971dc523b8ccd1561a520de9a85302750" +checksum = "71655c45cb9845d3270c9d6df84ebe72b4dad3c2ba3f7023ad47c144e4e473a5" dependencies = [ "atty", "bitflags", @@ -421,6 +430,16 @@ dependencies = [ "bitflags", ] +[[package]] +name = "codespan-reporting" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e" +dependencies = [ + "termcolor", + "unicode-width", +] + [[package]] name = "concurrent-queue" version = "1.2.4" @@ -558,6 +577,50 @@ dependencies = [ "zeroize", ] +[[package]] +name = "cxx" +version = "1.0.82" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4a41a86530d0fe7f5d9ea779916b7cadd2d4f9add748b99c2c029cbbdfaf453" +dependencies = [ + "cc", + "cxxbridge-flags", + "cxxbridge-macro", + "link-cplusplus", +] + +[[package]] +name = "cxx-build" +version = "1.0.82" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06416d667ff3e3ad2df1cd8cd8afae5da26cf9cec4d0825040f88b5ca659a2f0" +dependencies = [ + "cc", + "codespan-reporting", + "once_cell", + "proc-macro2", + "quote", + "scratch", + "syn", +] + +[[package]] +name = "cxxbridge-flags" +version = "1.0.82" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "820a9a2af1669deeef27cb271f476ffd196a2c4b6731336011e0ba63e2c7cf71" + +[[package]] +name = "cxxbridge-macro" +version = "1.0.82" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a08a6e2fcc370a089ad3b4aaf54db3b1b4cee38ddabce5896b33eb693275f470" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "der" version = "0.5.1" @@ -600,9 +663,9 @@ dependencies = [ [[package]] name = "digest" -version = "0.10.5" +version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adfbc57365a37acbd2ebf2b64d7e69bb766e2fea813521ed536f5d0520dcf86c" +checksum = "8168378f4e5023e7218c89c891c0fd8ecdb5e5e4f18cb78f38cf245dd021e76f" dependencies = [ "block-buffer 0.10.3", "crypto-common", @@ -655,24 +718,15 @@ dependencies = [ ] [[package]] -name = "ed25519" -version = "1.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e9c280362032ea4203659fc489832d0204ef09f247a0506f170dafcac08c369" -dependencies = [ - "signature", -] - -[[package]] -name = "ed25519-dalek" -version = "1.0.1" +name = "ed25519-zebra" +version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c762bae6dcaf24c4c84667b8579785430908723d5c889f469d76a41d59cc7a9d" +checksum = "7c24f403d068ad0b359e577a77f92392118be3f3c927538f2bb544a5ecd828c6" dependencies = [ "curve25519-dalek 3.2.0", - "ed25519", - "rand 0.7.3", - "serde", + "hashbrown", + "hex", + "rand_core 0.6.4", "sha2 0.9.9", "zeroize", ] @@ -804,7 +858,7 @@ dependencies = [ "env_logger", "frame-support", "frame-system", - "futures 0.3.24", + "futures 0.3.25", "hex", "jsonrpc-core", "jsonrpc-core-client", @@ -832,7 +886,7 @@ dependencies = [ [[package]] name = "frame-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "frame-support", "frame-system", @@ -844,6 +898,7 @@ dependencies = [ "serde", "sp-api", "sp-application-crypto", + "sp-core", "sp-io", "sp-runtime", "sp-runtime-interface", @@ -866,7 +921,7 @@ dependencies = [ [[package]] name = "frame-support" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "bitflags", "frame-metadata", @@ -879,7 +934,7 @@ dependencies = [ "paste", "scale-info", "serde", - "smallvec 1.9.0", + "smallvec 1.10.0", "sp-api", "sp-arithmetic", "sp-core", @@ -897,10 +952,12 @@ dependencies = [ [[package]] name = "frame-support-procedural" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "Inflector", + "cfg-expr", "frame-support-procedural-tools", + "itertools", "proc-macro2", "quote", "syn", @@ -909,7 +966,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate 1.2.1", @@ -921,7 +978,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "proc-macro2", "quote", @@ -931,7 +988,7 @@ dependencies = [ [[package]] name = "frame-system" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "frame-support", "log 0.4.17", @@ -981,9 +1038,9 @@ checksum = "3a471a38ef8ed83cd6e40aa59c1ffe17db6855c18e3604d9c4ed8c08ebc28678" [[package]] name = "futures" -version = "0.3.24" +version = "0.3.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f21eda599937fba36daeb58a22e8f5cee2d14c4a17b5b7739c7c8e5e3b8230c" +checksum = "38390104763dc37a5145a53c29c63c1290b5d316d6086ec32c293f6736051bb0" dependencies = [ "futures-channel", "futures-core", @@ -996,9 +1053,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.24" +version = "0.3.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30bdd20c28fadd505d0fd6712cdfcb0d4b5648baf45faef7f852afb2399bb050" +checksum = "52ba265a92256105f45b719605a571ffe2d1f0fea3807304b522c1d778f79eed" dependencies = [ "futures-core", "futures-sink", @@ -1006,15 +1063,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.24" +version = "0.3.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e5aa3de05362c3fb88de6531e6296e85cde7739cccad4b9dfeeb7f6ebce56bf" +checksum = "04909a7a7e4633ae6c4a9ab280aeb86da1236243a77b694a49eacd659a4bd3ac" [[package]] name = "futures-executor" -version = "0.3.24" +version = "0.3.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ff63c23854bee61b6e9cd331d523909f238fc7636290b96826e9cfa5faa00ab" +checksum = "7acc85df6714c176ab5edf386123fafe217be88c0840ec11f199441134a074e2" dependencies = [ "futures-core", "futures-task", @@ -1024,15 +1081,15 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.24" +version = "0.3.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbf4d2a7a308fd4578637c0b17c7e1c7ba127b8f6ba00b29f717e9655d85eb68" +checksum = "00f5fb52a06bdcadeb54e8d3671f8888a39697dcb0b81b23b55174030427f4eb" [[package]] name = "futures-macro" -version = "0.3.24" +version = "0.3.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42cd15d1c7456c04dbdf7e88bcd69760d74f3a798d6444e16974b505b0e62f17" +checksum = "bdfb8ce053d86b91919aad980c220b1fb8401a9394410e1c289ed7e66b61835d" dependencies = [ "proc-macro2", "quote", @@ -1041,21 +1098,21 @@ dependencies = [ [[package]] name = "futures-sink" -version = "0.3.24" +version = "0.3.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21b20ba5a92e727ba30e72834706623d94ac93a725410b6a6b6fbc1b07f7ba56" +checksum = "39c15cf1a4aa79df40f1bb462fb39676d0ad9e366c2a33b590d7c66f4f81fcf9" [[package]] name = "futures-task" -version = "0.3.24" +version = "0.3.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6508c467c73851293f390476d4491cf4d227dbabcd4170f3bb6044959b294f1" +checksum = "2ffb393ac5d9a6eaa9d3fdf37ae2776656b706e200c8e16b1bdb227f5198e6ea" [[package]] name = "futures-util" -version = "0.3.24" +version = "0.3.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44fb6cb1be61cc1d2e43b262516aafcf63b241cffdb1d3fa115f91d9c7b09c90" +checksum = "197676987abd2f9cadff84926f410af1c183608d36641465df73ae8211dc65d6" dependencies = [ "futures 0.1.31", "futures-channel", @@ -1104,9 +1161,9 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.7" +version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4eb1a864a501629691edf6c15a593b7a51eebaa1e8468e9ddc623de7c9b58ec6" +checksum = "c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31" dependencies = [ "cfg-if 1.0.0", "libc", @@ -1132,11 +1189,11 @@ dependencies = [ [[package]] name = "h2" -version = "0.3.14" +version = "0.3.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ca32592cf21ac7ccab1825cd87f6c9b3d9022c44d086172ed0966bec8af30be" +checksum = "5f9f29bc9dda355256b2916cf526ab02ce0aeaaaf2bad60d65ef3f12f11dd0f4" dependencies = [ - "bytes 1.2.1", + "bytes 1.3.0", "fnv", "futures-core", "futures-sink", @@ -1231,9 +1288,9 @@ version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "75f43d41e26995c17e71ee126451dd3941010b0514a81a9d11f3b341debc2399" dependencies = [ - "bytes 1.2.1", + "bytes 1.3.0", "fnv", - "itoa 1.0.3", + "itoa", ] [[package]] @@ -1242,7 +1299,7 @@ version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1" dependencies = [ - "bytes 1.2.1", + "bytes 1.3.0", "http", "pin-project-lite", ] @@ -1286,11 +1343,11 @@ dependencies = [ [[package]] name = "hyper" -version = "0.14.20" +version = "0.14.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02c929dc5c39e335a03c405292728118860721b10190d98c2a0f0efd5baafbac" +checksum = "034711faac9d2166cb1baf1a2fb0b60b1f277f8492fd72176c17f3515e1abd3c" dependencies = [ - "bytes 1.2.1", + "bytes 1.3.0", "futures-channel", "futures-core", "futures-util", @@ -1299,7 +1356,7 @@ dependencies = [ "http-body", "httparse", "httpdate", - "itoa 1.0.3", + "itoa", "pin-project-lite", "socket2", "tokio", @@ -1314,8 +1371,8 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905" dependencies = [ - "bytes 1.2.1", - "hyper 0.14.20", + "bytes 1.3.0", + "hyper 0.14.23", "native-tls", "tokio", "tokio-native-tls", @@ -1323,17 +1380,28 @@ dependencies = [ [[package]] name = "iana-time-zone" -version = "0.1.50" +version = "0.1.53" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd911b35d940d2bd0bea0f9100068e5b97b51a1cbe13d13382f132e0365257a0" +checksum = "64c122667b287044802d6ce17ee2ddf13207ed924c712de9a66a5814d5b64765" dependencies = [ "android_system_properties", "core-foundation-sys", + "iana-time-zone-haiku", "js-sys", "wasm-bindgen", "winapi 0.3.9", ] +[[package]] +name = "iana-time-zone-haiku" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0703ae284fc167426161c2e3f1da3ea71d94b21bedbcc9494e92b28e334e3dca" +dependencies = [ + "cxx", + "cxx-build", +] + [[package]] name = "idna" version = "0.1.5" @@ -1386,9 +1454,9 @@ dependencies = [ [[package]] name = "indexmap" -version = "1.9.1" +version = "1.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10a35a97730320ffe8e2d410b5d3b69279b98d2c14bdb8b70ea89ecf7888d41e" +checksum = "1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399" dependencies = [ "autocfg 1.1.0", "hashbrown", @@ -1423,21 +1491,24 @@ dependencies = [ [[package]] name = "ipnet" -version = "2.5.0" +version = "2.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "879d54834c8c76457ef4293a689b2a8c59b076067ad77b15efafbb05f92a592b" +checksum = "f88c5561171189e69df9d98bcf18fd5f9558300f7ea7b801eb8a0fd748bd8745" [[package]] -name = "itoa" -version = "0.4.8" +name = "itertools" +version = "0.10.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4" +checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" +dependencies = [ + "either", +] [[package]] name = "itoa" -version = "1.0.3" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c8af84674fe1f223a982c933a0ee1086ac4d4052aa0fb8060c12c6ad838e754" +checksum = "4217ad341ebadf8d8e724e264f13e593e0648f5b3e94b3896a5df283be015ecc" [[package]] name = "js-sys" @@ -1455,7 +1526,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d2b99d4207e2a04fb4581746903c2bb7eb376f88de9c699d0f3e10feeac0cd3a" dependencies = [ "derive_more", - "futures 0.3.24", + "futures 0.3.25", "jsonrpc-core", "jsonrpc-pubsub", "log 0.4.17", @@ -1472,7 +1543,7 @@ version = "18.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "14f7f76aef2d054868398427f6c54943cf3d1caa9a7ec7d0c38d69df97a965eb" dependencies = [ - "futures 0.3.24", + "futures 0.3.25", "futures-executor", "futures-util", "log 0.4.17", @@ -1487,7 +1558,7 @@ version = "18.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b51da17abecbdab3e3d4f26b01c5ec075e88d3abe3ab3b05dc9aa69392764ec0" dependencies = [ - "futures 0.3.24", + "futures 0.3.25", "jsonrpc-client-transports", ] @@ -1509,7 +1580,7 @@ version = "18.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "240f87695e6c6f62fb37f05c02c04953cf68d6408b8c1c89de85c7a0125b1011" dependencies = [ - "futures 0.3.24", + "futures 0.3.25", "jsonrpc-core", "lazy_static", "log 0.4.17", @@ -1532,9 +1603,12 @@ dependencies = [ [[package]] name = "keccak" -version = "0.1.2" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9b7d56ba4a8344d6be9729995e6b06f928af29998cdf79fe390cbf6b1fee838" +checksum = "3afef3b6eff9ce9d8ff9b3601125eec7f0c8cbac7abd14f355d053fa56c98768" +dependencies = [ + "cpufeatures", +] [[package]] name = "kernel32-sys" @@ -1560,15 +1634,15 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" [[package]] name = "libc" -version = "0.2.134" +version = "0.2.137" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "329c933548736bc49fd575ee68c89e8be4d260064184389a5b77517cddd99ffb" +checksum = "fc7fcc620a3bff7cdd7a365be3376c97191aeaccc2a603e600951e452615bf89" [[package]] name = "libm" -version = "0.2.5" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "292a948cd991e376cf75541fe5b97a1081d713c618b4f1b9500f8844e49eb565" +checksum = "348108ab3fba42ec82ff6e9564fc4ca0247bdccdc68dd8af9764bbc79c3c8ffb" [[package]] name = "libsecp256k1" @@ -1577,7 +1651,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "95b09eff1b35ed3b33b877ced3a691fc7a481919c7e29c53c906226fcf55e2a1" dependencies = [ "arrayref", - "base64 0.13.0", + "base64 0.13.1", "digest 0.9.0", "hmac-drbg", "libsecp256k1-core", @@ -1618,6 +1692,15 @@ dependencies = [ "libsecp256k1-core", ] +[[package]] +name = "link-cplusplus" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9272ab7b96c9046fbc5bc56c06c117cb639fe2d509df0c421cad82d2915cf369" +dependencies = [ + "cc", +] + [[package]] name = "linregress" version = "0.4.4" @@ -1665,6 +1748,15 @@ dependencies = [ "cfg-if 1.0.0", ] +[[package]] +name = "lru" +version = "0.7.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e999beba7b6e8345721bd280141ed958096a2e4abdf74f67ff4ce49b4b54e47a" +dependencies = [ + "hashbrown", +] + [[package]] name = "matchers" version = "0.0.1" @@ -1775,14 +1867,14 @@ dependencies = [ [[package]] name = "mio" -version = "0.8.4" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57ee1c23c7c63b0c9250c339ffdc69255f110b298b901b9f6c82547b7b87caaf" +checksum = "e5d732bc30207a6423068df043e3d02e0735b155ad7ce1a6f76fe2baa5b158de" dependencies = [ "libc", "log 0.4.17", "wasi 0.11.0+wasi-snapshot-preview1", - "windows-sys", + "windows-sys 0.42.0", ] [[package]] @@ -1828,9 +1920,9 @@ dependencies = [ [[package]] name = "native-tls" -version = "0.2.10" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd7e2f3618557f980e0b17e8856252eee3c97fa12c54dff0ca290fb6266ca4a9" +checksum = "07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e" dependencies = [ "lazy_static", "libc", @@ -1846,9 +1938,9 @@ dependencies = [ [[package]] name = "net2" -version = "0.2.37" +version = "0.2.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "391630d12b68002ae1e25e8f974306474966550ad82dac6886fb8910c19568ae" +checksum = "74d0df99cfcd2530b2e694f6e17e7f37b8e26bb23983ac530c0c97408837c631" dependencies = [ "cfg-if 0.1.10", "libc", @@ -1861,6 +1953,12 @@ version = "0.1.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb" +[[package]] +name = "nohash-hasher" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2bf50223579dc7cdcfb3bfcacf7069ff68243f8c363f62ffa99cf000a6b9c451" + [[package]] name = "num-bigint" version = "0.2.6" @@ -1883,12 +1981,12 @@ dependencies = [ [[package]] name = "num-format" -version = "0.4.0" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bafe4179722c2894288ee77a9f044f02811c86af699344c498b0840c698a2465" +checksum = "54b862ff8df690cf089058c98b183676a7ed0f974cc08b426800093227cbff3b" dependencies = [ - "arrayvec 0.4.12", - "itoa 0.4.8", + "arrayvec 0.7.2", + "itoa", ] [[package]] @@ -1936,9 +2034,9 @@ dependencies = [ [[package]] name = "num_cpus" -version = "1.13.1" +version = "1.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19e64526ebdee182341572e50e9ad03965aa510cd94427a4549448f285e957a1" +checksum = "f6058e64324c71e02bc2b150e4f3bc8286db6c83092132ffa3f6b1eab0f9def5" dependencies = [ "hermit-abi", "libc", @@ -1955,9 +2053,9 @@ dependencies = [ [[package]] name = "once_cell" -version = "1.15.0" +version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e82dad04139b71a90c080c8463fe0dc7902db5192d939bd0950f074d014339e1" +checksum = "86f0b0d4bf799edbc74508c1e8bf170ff5f41238e5f8225603ca7caaae2b7860" [[package]] name = "opaque-debug" @@ -2005,9 +2103,9 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "openssl-sys" -version = "0.9.76" +version = "0.9.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5230151e44c0f05157effb743e8d517472843121cf9243e8b81393edb5acd9ce" +checksum = "b03b84c3b2d099b81f0953422b4d4ad58761589d0229b5506356afca05a3670a" dependencies = [ "autocfg 1.1.0", "cc", @@ -2018,14 +2116,14 @@ dependencies = [ [[package]] name = "os_str_bytes" -version = "6.3.0" +version = "6.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ff7415e9ae3fff1225851df9e0d9e4e5479f947619774677a63572e55e80eff" +checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee" [[package]] name = "pallet-balances" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "frame-benchmarking", "frame-support", @@ -2046,7 +2144,7 @@ dependencies = [ "arrayvec 0.7.2", "bitvec", "byte-slice-cast", - "bytes 1.2.1", + "bytes 1.3.0", "impl-trait-for-tuples", "parity-scale-codec-derive", "serde", @@ -2125,7 +2223,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" dependencies = [ "lock_api 0.4.9", - "parking_lot_core 0.9.3", + "parking_lot_core 0.9.4", ] [[package]] @@ -2153,21 +2251,21 @@ dependencies = [ "instant", "libc", "redox_syscall 0.2.16", - "smallvec 1.9.0", + "smallvec 1.10.0", "winapi 0.3.9", ] [[package]] name = "parking_lot_core" -version = "0.9.3" +version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09a279cbf25cb0757810394fbc1e359949b59e348145c643a939a525692e6929" +checksum = "4dc9e0dc2adc1c69d09143aff38d3d30c5c3f0df0dad82e6d25547af174ebec0" dependencies = [ "cfg-if 1.0.0", "libc", "redox_syscall 0.2.16", - "smallvec 1.9.0", - "windows-sys", + "smallvec 1.10.0", + "windows-sys 0.42.0", ] [[package]] @@ -2220,15 +2318,15 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" [[package]] name = "pkg-config" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1df8c4ec4b0627e53bdf214615ad287367e482558cf84b109250b37464dc03ae" +checksum = "6ac9a59f73473f1b8d852421e59e64809f025994837ef743615c6d0c5b305160" [[package]] name = "ppv-lite86" -version = "0.2.16" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb9f9e6e233e5c4a35559a617bf40a4ec447db2e84c20b55a6f83167b7e57872" +checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" [[package]] name = "primitive-types" @@ -2289,9 +2387,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.46" +version = "1.0.47" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94e2ef8dbfc347b10c094890f778ee2e36ca9bb4262e86dc99cd217e35f3470b" +checksum = "5ea3d908b0e36316caf9e9e2c4625cdde190a7e6f440d794667ed17a1855e725" dependencies = [ "unicode-ident", ] @@ -2415,7 +2513,7 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom 0.2.7", + "getrandom 0.2.8", ] [[package]] @@ -2540,18 +2638,18 @@ dependencies = [ [[package]] name = "ref-cast" -version = "1.0.9" +version = "1.0.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed13bcd201494ab44900a96490291651d200730904221832b9547d24a87d332b" +checksum = "53b15debb4f9d60d767cd8ca9ef7abb2452922f3214671ff052defc7f3502c44" dependencies = [ "ref-cast-impl", ] [[package]] name = "ref-cast-impl" -version = "1.0.9" +version = "1.0.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5234cd6063258a5e32903b53b1b6ac043a0541c8adc1f610f67b0326c7a578fa" +checksum = "abfa8511e9e94fd3de6585a3d3cd00e01ed556dc9814829280af0e8dc72a8f36" dependencies = [ "proc-macro2", "quote", @@ -2560,9 +2658,9 @@ dependencies = [ [[package]] name = "regex" -version = "1.6.0" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c4eb3267174b8c6c2f654116623910a0fef09c4753f8dd83db29c48a0df988b" +checksum = "e076559ef8e241f2ae3479e36f97bd5741c0330689e217ad51ce2c76808b868a" dependencies = [ "aho-corasick", "memchr", @@ -2580,9 +2678,9 @@ dependencies = [ [[package]] name = "regex-syntax" -version = "0.6.27" +version = "0.6.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3f87b73ce11b1619a3c6332f45341e0047173771e8b8b73f87bfeefb7b56244" +checksum = "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848" [[package]] name = "remove_dir_all" @@ -2595,19 +2693,19 @@ dependencies = [ [[package]] name = "reqwest" -version = "0.11.12" +version = "0.11.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "431949c384f4e2ae07605ccaa56d1d9d2ecdb5cadd4f9577ccfab29f2e5149fc" +checksum = "68cc60575865c7831548863cc02356512e3f1dc2f3f82cb837d7fc4cc8f3c97c" dependencies = [ - "base64 0.13.0", - "bytes 1.2.1", + "base64 0.13.1", + "bytes 1.3.0", "encoding_rs", "futures-core", "futures-util", "h2", "http", "http-body", - "hyper 0.14.20", + "hyper 0.14.23", "hyper-tls", "ipnet", "js-sys", @@ -2691,9 +2789,9 @@ checksum = "ef703b7cb59335eae2eb93ceb664c0eb7ea6bf567079d843e09420219668e072" [[package]] name = "scale-info" -version = "2.2.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "333af15b02563b8182cd863f925bd31ef8fa86a0e095d30c091956057d436153" +checksum = "88d8a765117b237ef233705cc2cc4c6a27fccd46eea6ef0c8c6dae5f3ef407f8" dependencies = [ "bitvec", "cfg-if 1.0.0", @@ -2705,9 +2803,9 @@ dependencies = [ [[package]] name = "scale-info-derive" -version = "2.2.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53f56acbd0743d29ffa08f911ab5397def774ad01bab3786804cf6ee057fb5e1" +checksum = "cdcd47b380d8c4541044e341dcd9475f55ba37ddc50c908d945fc036a8642496" dependencies = [ "proc-macro-crate 1.2.1", "proc-macro2", @@ -2722,7 +2820,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "88d6731146462ea25d9244b2ed5fd1d716d25c52e4d54aa4fb0f3c4e9854dbe2" dependencies = [ "lazy_static", - "windows-sys", + "windows-sys 0.36.1", ] [[package]] @@ -2749,6 +2847,12 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" +[[package]] +name = "scratch" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c8132065adcfd6e02db789d9285a0deb2f3fcb04002865ab67d5fb103533898" + [[package]] name = "sec1" version = "0.2.1" @@ -2763,18 +2867,18 @@ dependencies = [ [[package]] name = "secp256k1" -version = "0.24.0" +version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7649a0b3ffb32636e60c7ce0d70511eda9c52c658cd0634e194d5a19943aeff" +checksum = "ff55dc09d460954e9ef2fa8a7ced735a964be9981fd50e870b2b3b0705e14964" dependencies = [ "secp256k1-sys", ] [[package]] name = "secp256k1-sys" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7058dc8eaf3f2810d7828680320acda0b25a288f6d288e19278e249bbf74226b" +checksum = "83080e2c2fc1006e625be82e5d1eb6a43b7fd9578b617fcc55814daf286bba4b" dependencies = [ "cc", ] @@ -2834,18 +2938,18 @@ checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" [[package]] name = "serde" -version = "1.0.145" +version = "1.0.147" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "728eb6351430bccb993660dfffc5a72f91ccc1295abaa8ce19b27ebe4f75568b" +checksum = "d193d69bae983fc11a79df82342761dfbf28a99fc8d203dca4c3c1b590948965" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.145" +version = "1.0.147" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81fa1584d3d1bcacd84c277a0dfe21f5b0f6accf4a23d04d4c6d61f1af522b4c" +checksum = "4f1d362ca8fc9c3e3a7484440752472d68a6caa98f1ab81d99b5dfe517cec852" dependencies = [ "proc-macro2", "quote", @@ -2854,11 +2958,11 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.85" +version = "1.0.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e55a28e3aaef9d5ce0506d0a14dbba8054ddc7e499ef522dd8b26859ec9d4a44" +checksum = "020ff22c755c2ed3f8cf162dbb41a7268d934702f3ed3631656ea597e08fc3db" dependencies = [ - "itoa 1.0.3", + "itoa", "ryu", "serde", ] @@ -2870,7 +2974,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" dependencies = [ "form_urlencoded", - "itoa 1.0.3", + "itoa", "ryu", "serde", ] @@ -2923,16 +3027,16 @@ checksum = "82e6b795fe2e3b1e845bafcb27aa35405c4d47cdfc92af5fc8d3002f76cebdc0" dependencies = [ "cfg-if 1.0.0", "cpufeatures", - "digest 0.10.5", + "digest 0.10.6", ] [[package]] name = "sha3" -version = "0.10.5" +version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2904bea16a1ae962b483322a1c7b81d976029203aea1f461e51cd7705db7ba9" +checksum = "bdf0c33fae925bdc080598b84bc15c55e7b9a4a43b3c704da051f977469691c9" dependencies = [ - "digest 0.10.5", + "digest 0.10.6", "keccak", ] @@ -2996,9 +3100,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.9.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fd0db749597d91ff862fd1d55ea87f7855a744a8425a64695b6fca237d1dad1" +checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" [[package]] name = "socket2" @@ -3013,7 +3117,7 @@ dependencies = [ [[package]] name = "sp-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "hash-db", "log 0.4.17", @@ -3023,6 +3127,7 @@ dependencies = [ "sp-runtime", "sp-state-machine", "sp-std", + "sp-trie", "sp-version", "thiserror", ] @@ -3030,7 +3135,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "blake2", "proc-macro-crate 1.2.1", @@ -3042,7 +3147,7 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "parity-scale-codec", "scale-info", @@ -3055,7 +3160,7 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "integer-sqrt", "num-traits", @@ -3070,15 +3175,15 @@ dependencies = [ [[package]] name = "sp-core" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "base58", "bitflags", "blake2-rfc", "byteorder", "dyn-clonable", - "ed25519-dalek", - "futures 0.3.24", + "ed25519-zebra", + "futures 0.3.25", "hash-db", "hash256-std-hasher", "hex", @@ -3116,11 +3221,11 @@ dependencies = [ [[package]] name = "sp-core-hashing" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "blake2", "byteorder", - "digest 0.10.5", + "digest 0.10.6", "sha2 0.10.6", "sha3", "sp-std", @@ -3130,7 +3235,7 @@ dependencies = [ [[package]] name = "sp-core-hashing-proc-macro" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "proc-macro2", "quote", @@ -3141,7 +3246,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "proc-macro2", "quote", @@ -3151,7 +3256,7 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "environmental", "parity-scale-codec", @@ -3162,7 +3267,7 @@ dependencies = [ [[package]] name = "sp-inherents" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "async-trait", "impl-trait-for-tuples", @@ -3176,10 +3281,10 @@ dependencies = [ [[package]] name = "sp-io" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ - "bytes 1.2.1", - "futures 0.3.24", + "bytes 1.3.0", + "futures 0.3.25", "hash-db", "libsecp256k1", "log 0.4.17", @@ -3202,10 +3307,10 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "async-trait", - "futures 0.3.24", + "futures 0.3.25", "merlin", "parity-scale-codec", "parking_lot 0.12.1", @@ -3218,7 +3323,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "backtrace", "lazy_static", @@ -3228,7 +3333,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "either", "hash256-std-hasher", @@ -3250,9 +3355,9 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ - "bytes 1.2.1", + "bytes 1.3.0", "impl-trait-for-tuples", "parity-scale-codec", "primitive-types", @@ -3268,7 +3373,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "Inflector", "proc-macro-crate 1.2.1", @@ -3280,7 +3385,7 @@ dependencies = [ [[package]] name = "sp-staking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "parity-scale-codec", "scale-info", @@ -3291,7 +3396,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "hash-db", "log 0.4.17", @@ -3299,7 +3404,7 @@ dependencies = [ "parity-scale-codec", "parking_lot 0.12.1", "rand 0.7.3", - "smallvec 1.9.0", + "smallvec 1.10.0", "sp-core", "sp-externalities", "sp-panic-handler", @@ -3313,12 +3418,12 @@ dependencies = [ [[package]] name = "sp-std" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" [[package]] name = "sp-storage" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "impl-serde", "parity-scale-codec", @@ -3331,7 +3436,7 @@ dependencies = [ [[package]] name = "sp-tracing" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "parity-scale-codec", "sp-std", @@ -3343,15 +3448,22 @@ dependencies = [ [[package]] name = "sp-trie" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ + "ahash", "hash-db", + "hashbrown", + "lazy_static", + "lru", "memory-db", + "nohash-hasher", "parity-scale-codec", + "parking_lot 0.12.1", "scale-info", "sp-core", "sp-std", "thiserror", + "tracing", "trie-db", "trie-root", ] @@ -3359,7 +3471,7 @@ dependencies = [ [[package]] name = "sp-version" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "impl-serde", "parity-scale-codec", @@ -3376,7 +3488,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "parity-scale-codec", "proc-macro2", @@ -3387,7 +3499,7 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" dependencies = [ "impl-trait-for-tuples", "log 0.4.17", @@ -3398,9 +3510,9 @@ dependencies = [ [[package]] name = "ss58-registry" -version = "1.29.1" +version = "1.35.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e4f0cb475a8e58d9ed8a963010108768d79e397f7aff79f9a3972ef490f97de" +checksum = "fa0813c10b9dbdc842c2305f949f724c64866e4ef4d09c9151e96f6a2106773c" dependencies = [ "Inflector", "num-format", @@ -3457,9 +3569,9 @@ checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" [[package]] name = "syn" -version = "1.0.101" +version = "1.0.103" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e90cde112c4b9690b8cbe810cba9ddd8bc1d7472e2cae317b69e9438c1cba7d2" +checksum = "a864042229133ada95abf3b54fdc62ef5ccabe9515b64717bcb9a1919e59445d" dependencies = [ "proc-macro2", "quote", @@ -3509,9 +3621,9 @@ dependencies = [ [[package]] name = "textwrap" -version = "0.15.1" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "949517c0cf1bf4ee812e2e07e08ab448e3ae0d23472aee8a06c985f0c8815b16" +checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d" [[package]] name = "thiserror" @@ -3589,15 +3701,15 @@ checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" [[package]] name = "tokio" -version = "1.21.2" +version = "1.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9e03c497dc955702ba729190dc4aac6f2a0ce97f913e5b1b5912fc5039d9099" +checksum = "d76ce4a75fb488c605c54bf610f221cea8b0dafb53333c1a67e8ee199dcd2ae3" dependencies = [ "autocfg 1.1.0", - "bytes 1.2.1", + "bytes 1.3.0", "libc", "memchr", - "mio 0.8.4", + "mio 0.8.5", "num_cpus", "parking_lot 0.12.1", "pin-project-lite", @@ -3720,7 +3832,7 @@ version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0bb2e075f03b3d66d8d8785356224ba688d2906a371015e225beeb65ca92c740" dependencies = [ - "bytes 1.2.1", + "bytes 1.3.0", "futures-core", "futures-sink", "pin-project-lite", @@ -3745,9 +3857,9 @@ checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" [[package]] name = "tracing" -version = "0.1.36" +version = "0.1.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fce9567bd60a67d08a16488756721ba392f24f29006402881e43b19aac64307" +checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8" dependencies = [ "cfg-if 1.0.0", "pin-project-lite", @@ -3757,9 +3869,9 @@ dependencies = [ [[package]] name = "tracing-attributes" -version = "0.1.22" +version = "0.1.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11c75893af559bc8e10716548bdef5cb2b983f8e637db9d0e15126b61b484ee2" +checksum = "4017f8f45139870ca7e672686113917c71c7a6e02d4924eda67186083c03081a" dependencies = [ "proc-macro2", "quote", @@ -3768,9 +3880,9 @@ dependencies = [ [[package]] name = "tracing-core" -version = "0.1.29" +version = "0.1.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5aeea4303076558a00714b823f9ad67d58a3bbda1df83d8827d21193156e22f7" +checksum = "24eb03ba0eab1fd845050058ce5e616558e8f8d8fca633e6b163fe25c797213a" dependencies = [ "once_cell", "valuable", @@ -3811,7 +3923,7 @@ dependencies = [ "serde", "serde_json", "sharded-slab", - "smallvec 1.9.0", + "smallvec 1.10.0", "thread_local", "tracing", "tracing-core", @@ -3827,15 +3939,15 @@ checksum = "efd1f82c56340fdf16f2a953d7bda4f8fdffba13d93b00844c25572110b26079" [[package]] name = "trie-db" -version = "0.23.1" +version = "0.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d32d034c0d3db64b43c31de38e945f15b40cd4ca6d2dcfc26d4798ce8de4ab83" +checksum = "004e1e8f92535694b4cb1444dc5a8073ecf0815e3357f729638b9f8fc4062908" dependencies = [ "hash-db", "hashbrown", "log 0.4.17", "rustc-hex", - "smallvec 1.9.0", + "smallvec 1.10.0", ] [[package]] @@ -3866,7 +3978,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675" dependencies = [ "cfg-if 1.0.0", - "digest 0.10.5", + "digest 0.10.6", "rand 0.8.5", "static_assertions", ] @@ -3912,9 +4024,9 @@ checksum = "099b7128301d285f79ddd55b9a83d5e6b9e97c92e0ea0daebee7263e932de992" [[package]] name = "unicode-ident" -version = "1.0.4" +version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcc811dc4066ac62f84f11307873c4850cb653bfa9b1719cee2bd2204a4bc5dd" +checksum = "6ceab39d59e4c9499d4e5a8ee0e2735b891bb7308ac83dfb4e80cad195c9f6f3" [[package]] name = "unicode-normalization" @@ -3925,6 +4037,12 @@ dependencies = [ "tinyvec", ] +[[package]] +name = "unicode-width" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b" + [[package]] name = "unicode-xid" version = "0.2.4" @@ -4195,43 +4313,100 @@ version = "0.36.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ea04155a16a59f9eab786fe12a4a450e75cdb175f9e0d80da1e17db09f55b8d2" dependencies = [ - "windows_aarch64_msvc", - "windows_i686_gnu", - "windows_i686_msvc", - "windows_x86_64_gnu", - "windows_x86_64_msvc", + "windows_aarch64_msvc 0.36.1", + "windows_i686_gnu 0.36.1", + "windows_i686_msvc 0.36.1", + "windows_x86_64_gnu 0.36.1", + "windows_x86_64_msvc 0.36.1", ] +[[package]] +name = "windows-sys" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" +dependencies = [ + "windows_aarch64_gnullvm", + "windows_aarch64_msvc 0.42.0", + "windows_i686_gnu 0.42.0", + "windows_i686_msvc 0.42.0", + "windows_x86_64_gnu 0.42.0", + "windows_x86_64_gnullvm", + "windows_x86_64_msvc 0.42.0", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41d2aa71f6f0cbe00ae5167d90ef3cfe66527d6f613ca78ac8024c3ccab9a19e" + [[package]] name = "windows_aarch64_msvc" version = "0.36.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47" +[[package]] +name = "windows_aarch64_msvc" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd0f252f5a35cac83d6311b2e795981f5ee6e67eb1f9a7f64eb4500fbc4dcdb4" + [[package]] name = "windows_i686_gnu" version = "0.36.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6" +[[package]] +name = "windows_i686_gnu" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbeae19f6716841636c28d695375df17562ca208b2b7d0dc47635a50ae6c5de7" + [[package]] name = "windows_i686_msvc" version = "0.36.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024" +[[package]] +name = "windows_i686_msvc" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "84c12f65daa39dd2babe6e442988fc329d6243fdce47d7d2d155b8d874862246" + [[package]] name = "windows_x86_64_gnu" version = "0.36.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1" +[[package]] +name = "windows_x86_64_gnu" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf7b1b21b5362cbc318f686150e5bcea75ecedc74dd157d874d754a2ca44b0ed" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09d525d2ba30eeb3297665bd434a54297e4170c7f1a44cad4ef58095b4cd2028" + [[package]] name = "windows_x86_64_msvc" version = "0.36.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680" +[[package]] +name = "windows_x86_64_msvc" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f40009d85759725a34da6d89a94e63d7bdc50a862acf0dbc7c8e488f1edcb6f5" + [[package]] name = "winreg" version = "0.10.1" @@ -4253,9 +4428,9 @@ dependencies = [ [[package]] name = "wyz" -version = "0.5.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30b31594f29d27036c383b53b59ed3476874d518f0efb151b27a4c275141390e" +checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed" dependencies = [ "tap", ] diff --git a/fork-off/Cargo.toml b/fork-off/Cargo.toml index 88972e5d94..066146db94 100644 --- a/fork-off/Cargo.toml +++ b/fork-off/Cargo.toml @@ -19,10 +19,10 @@ serde = "1" serde_json = "1" tokio = { version = "1.0", features = ["full"] } -sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -frame-support = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -frame-system = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -pallet-balances = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } +sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +frame-support = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +frame-system = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +pallet-balances = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } jsonrpc-core = "18.0" jsonrpc-core-client = { version = "18.0", features = ["ws"] } jsonrpc-derive = "18.0" diff --git a/pallets/aleph/Cargo.toml b/pallets/aleph/Cargo.toml index 3f7d347c53..3447ee514d 100644 --- a/pallets/aleph/Cargo.toml +++ b/pallets/aleph/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "pallet-aleph" -version = "0.5.0" +version = "0.5.1" authors = ["Cardinal Cryptography"] edition = "2021" license = "Apache 2.0" @@ -10,20 +10,20 @@ codec = { package = "parity-scale-codec", version = "3.0", default-features = fa serde = "1.0" scale-info = { version = "2.0", default-features = false, features = ["derive"] } -frame-support = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -frame-system = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -pallet-balances = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -pallet-session = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -sp-io = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -sp-std = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } +frame-support = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +frame-system = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +pallet-balances = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +pallet-session = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +sp-io = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +sp-std = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } pallets-support = { path = "../support", default-features = false } primitives = { path = "../../primitives", default-features = false } [dev-dependencies] -pallet-timestamp = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -sp-runtime = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -sp-core = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } +pallet-timestamp = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +sp-runtime = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +sp-core = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } [features] default = ["std"] diff --git a/pallets/aleph/src/lib.rs b/pallets/aleph/src/lib.rs index eed1fc3e6e..e3af366479 100644 --- a/pallets/aleph/src/lib.rs +++ b/pallets/aleph/src/lib.rs @@ -79,7 +79,7 @@ pub mod pallet { let on_chain = as GetStorageVersion>::on_chain_storage_version(); T::DbWeight::get().reads(1) + match on_chain { - _ if on_chain == STORAGE_VERSION => 0, + _ if on_chain == STORAGE_VERSION => Weight::zero(), _ if on_chain == StorageVersion::new(1) => { migrations::v1_to_v2::Migration::::migrate() } @@ -93,7 +93,7 @@ pub mod pallet { "On chain storage version of pallet aleph is {:?} but it should not be bigger than 2", on_chain ); - 0 + Weight::zero() } } } diff --git a/pallets/aleph/src/mock.rs b/pallets/aleph/src/mock.rs index 2fc82e96e4..c87553ec1c 100644 --- a/pallets/aleph/src/mock.rs +++ b/pallets/aleph/src/mock.rs @@ -3,7 +3,7 @@ use frame_support::{ construct_runtime, parameter_types, sp_io, traits::{OnFinalize, OnInitialize}, - weights::RuntimeDbWeight, + weights::{RuntimeDbWeight, Weight}, }; use primitives::AuthorityId; use sp_api_hidden_includes_construct_runtime::hidden_include::traits::GenesisBuild; @@ -44,7 +44,7 @@ impl_opaque_keys! { parameter_types! { pub const BlockHashCount: u64 = 250; pub BlockWeights: frame_system::limits::BlockWeights = - frame_system::limits::BlockWeights::simple_max(1024); + frame_system::limits::BlockWeights::simple_max(Weight::from_ref_time(1024)); pub const TestDbWeight: RuntimeDbWeight = RuntimeDbWeight { read: 25, write: 100 diff --git a/pallets/elections/Cargo.toml b/pallets/elections/Cargo.toml index 8ae0a40659..f93bc821c0 100644 --- a/pallets/elections/Cargo.toml +++ b/pallets/elections/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "pallet-elections" -version = "0.5.0" +version = "0.5.1" edition = "2021" license = "Apache 2.0" @@ -8,18 +8,18 @@ license = "Apache 2.0" codec = { package = "parity-scale-codec", version = "3.0", default-features = false, features = ["derive"] } scale-info = { version = "2.0", default-features = false, features = ["derive"] } -frame-support = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -frame-system = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -frame-election-provider-support = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -pallet-authorship = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -pallet-balances = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -pallet-session = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -pallet-staking = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -sp-core = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -sp-io = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -sp-staking = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -sp-std = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -sp-runtime = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } +frame-support = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +frame-system = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +frame-election-provider-support = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +pallet-authorship = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +pallet-balances = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +pallet-session = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +pallet-staking = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +sp-core = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +sp-io = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +sp-staking = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +sp-std = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +sp-runtime = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } pallets-support = { path = "../support", default-features = false } primitives = { path = "../../primitives", default-features = false } diff --git a/pallets/elections/src/lib.rs b/pallets/elections/src/lib.rs index a8b96b8f82..61233929f6 100644 --- a/pallets/elections/src/lib.rs +++ b/pallets/elections/src/lib.rs @@ -130,7 +130,7 @@ pub mod pallet { let on_chain = as GetStorageVersion>::on_chain_storage_version(); T::DbWeight::get().reads(1) + match on_chain { - _ if on_chain == STORAGE_VERSION => 0, + _ if on_chain == STORAGE_VERSION => Weight::zero(), _ if on_chain == StorageVersion::new(0) => { migrations::v0_to_v1::Migration::::migrate() + migrations::v1_to_v2::Migration::::migrate() @@ -149,7 +149,7 @@ pub mod pallet { "On chain storage version of pallet elections is {:?} but it should not be bigger than 2", on_chain ); - 0 + Weight::zero() } } } diff --git a/pallets/elections/src/mock.rs b/pallets/elections/src/mock.rs index daf629c084..23070e6fc9 100644 --- a/pallets/elections/src/mock.rs +++ b/pallets/elections/src/mock.rs @@ -4,7 +4,7 @@ use frame_election_provider_support::{data_provider, ElectionDataProvider, VoteW use frame_support::{ construct_runtime, parameter_types, sp_io, traits::{ConstU32, GenesisBuild}, - weights::RuntimeDbWeight, + weights::{RuntimeDbWeight, Weight}, BasicExternalities, BoundedVec, }; use primitives::{BanConfig, CommitteeSeats}; @@ -41,7 +41,7 @@ pub(crate) type Balance = u128; parameter_types! { pub const BlockHashCount: u64 = 250; pub BlockWeights: frame_system::limits::BlockWeights = - frame_system::limits::BlockWeights::simple_max(1024); + frame_system::limits::BlockWeights::simple_max(Weight::from_ref_time(1024)); pub const TestDbWeight: RuntimeDbWeight = RuntimeDbWeight { read: 25, write: 100 diff --git a/pallets/support/Cargo.toml b/pallets/support/Cargo.toml index 77d22c6486..97ea458470 100644 --- a/pallets/support/Cargo.toml +++ b/pallets/support/Cargo.toml @@ -1,10 +1,10 @@ [package] name = "pallets-support" -version = "0.1.0" +version = "0.1.1" edition = "2021" [dependencies] -frame-support = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } +frame-support = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } [features] default = ["std"] diff --git a/primitives/Cargo.toml b/primitives/Cargo.toml index da4b29cbae..683583288c 100644 --- a/primitives/Cargo.toml +++ b/primitives/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "primitives" -version = "0.5.0" +version = "0.5.1" authors = ["Cardinal Cryptography"] edition = "2021" license = "Apache 2.0" @@ -10,12 +10,12 @@ codec = { package = "parity-scale-codec", version = "3.0", default-features = fa serde = { version = "1.0", features = ["derive"] } scale-info = { version = "2.0", default-features = false, features = ["derive"] } -sp-api = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -sp-application-crypto = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -sp-core = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -sp-runtime = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -sp-std = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } -sp-staking = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.28" } +sp-api = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +sp-application-crypto = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +sp-core = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +sp-runtime = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +sp-std = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +sp-staking = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } [features] default = ["std"] From 61fe15e7c2880e0dafb4bea5d5ee0f03d88ac004 Mon Sep 17 00:00:00 2001 From: Michal Swietek Date: Fri, 25 Nov 2022 13:12:48 +0100 Subject: [PATCH 016/212] Update to 0.9.30 (#756) --- .github/workflows/build-and-push-cliain.yaml | 5 + .github/workflows/build-node-and-runtime.yml | 5 + ...build-send-postsync-hook-runtime-image.yml | 5 + .github/workflows/check-excluded-packages.yml | 5 + .github/workflows/e2e-tests-main-devnet.yml | 20 + .github/workflows/nightly-pipeline.yaml | 10 + .github/workflows/unit_tests.yml | 5 + Cargo.lock | 800 +-- aleph-client/Cargo.lock | 372 +- aleph-client/Cargo.toml | 11 +- aleph-client/src/aleph_zero.rs | 1152 ++--- aleph-client/src/connections.rs | 4 +- aleph-client/src/contract/mod.rs | 2 +- aleph-client/src/lib.rs | 2 +- aleph-client/src/pallets/contract.rs | 4 +- aleph-client/src/pallets/multisig.rs | 4 +- aleph-client/src/runtime_types.rs | 2 +- benches/payout-stakers/Cargo.lock | 769 +-- benches/payout-stakers/Cargo.toml | 4 +- bin/cliain/Cargo.lock | 460 +- bin/cliain/Cargo.toml | 6 +- bin/cliain/src/contracts.rs | 2 +- bin/node/Cargo.toml | 70 +- bin/node/src/service.rs | 18 +- bin/runtime/Cargo.toml | 81 +- bin/runtime/src/lib.rs | 68 +- e2e-tests/Cargo.lock | 480 +- e2e-tests/Cargo.toml | 14 +- e2e-tests/src/test/ban.rs | 2 +- e2e-tests/src/test/staking.rs | 4 +- finality-aleph/Cargo.toml | 44 +- finality-aleph/src/lib.rs | 9 +- finality-aleph/src/nodes/mod.rs | 3 +- finality-aleph/src/nodes/nonvalidator_node.rs | 2 +- finality-aleph/src/nodes/validator_node.rs | 2 +- finality-aleph/src/substrate_network.rs | 3 +- flooder/Cargo.lock | 775 +-- flooder/Cargo.toml | 6 +- fork-off/Cargo.lock | 4457 ----------------- fork-off/Cargo.toml | 8 +- pallets/aleph/Cargo.toml | 20 +- pallets/aleph/src/lib.rs | 2 +- pallets/aleph/src/migrations/v0_to_v1.rs | 6 +- pallets/aleph/src/migrations/v1_to_v2.rs | 9 +- pallets/aleph/src/mock.rs | 18 +- pallets/elections/Cargo.toml | 26 +- pallets/elections/src/lib.rs | 6 +- pallets/elections/src/migrations/v0_to_v1.rs | 6 +- pallets/elections/src/migrations/v1_to_v2.rs | 8 +- pallets/elections/src/migrations/v2_to_v3.rs | 8 +- pallets/elections/src/mock.rs | 16 +- pallets/support/Cargo.toml | 6 +- pallets/support/src/migration.rs | 4 +- primitives/Cargo.toml | 14 +- 54 files changed, 2727 insertions(+), 7117 deletions(-) delete mode 100644 fork-off/Cargo.lock diff --git a/.github/workflows/build-and-push-cliain.yaml b/.github/workflows/build-and-push-cliain.yaml index 6db5757121..32a2f983eb 100644 --- a/.github/workflows/build-and-push-cliain.yaml +++ b/.github/workflows/build-and-push-cliain.yaml @@ -17,6 +17,11 @@ jobs: - name: Install Rust toolchain uses: actions-rs/toolchain@v1 + - name: Install Protoc + uses: arduino/setup-protoc@v1 + with: + version: '3.6.1' + - name: Cargo | Build release binary run: | cd ./bin/cliain && cargo build --release diff --git a/.github/workflows/build-node-and-runtime.yml b/.github/workflows/build-node-and-runtime.yml index 2c18a059f7..a34e6b1856 100644 --- a/.github/workflows/build-node-and-runtime.yml +++ b/.github/workflows/build-node-and-runtime.yml @@ -28,6 +28,11 @@ jobs: - name: Install Rust toolchain uses: actions-rs/toolchain@v1 + - name: Install Protoc + uses: arduino/setup-protoc@v1 + with: + version: '3.6.1' + - name: Install WASM target run: rustup target add wasm32-unknown-unknown diff --git a/.github/workflows/build-send-postsync-hook-runtime-image.yml b/.github/workflows/build-send-postsync-hook-runtime-image.yml index 8788e1a1bb..e66e0093cf 100644 --- a/.github/workflows/build-send-postsync-hook-runtime-image.yml +++ b/.github/workflows/build-send-postsync-hook-runtime-image.yml @@ -33,6 +33,11 @@ jobs: - name: Install rust toolchain uses: actions-rs/toolchain@v1 + - name: Install Protoc + uses: arduino/setup-protoc@v1 + with: + version: '3.6.1' + - name: Build binary run: | pushd bin/cliain/ diff --git a/.github/workflows/check-excluded-packages.yml b/.github/workflows/check-excluded-packages.yml index 7aa4047f2e..6a3f6879f9 100644 --- a/.github/workflows/check-excluded-packages.yml +++ b/.github/workflows/check-excluded-packages.yml @@ -27,6 +27,11 @@ jobs: - name: Install rust toolchain uses: actions-rs/toolchain@v1 + - name: Install Protoc + uses: arduino/setup-protoc@v1 + with: + version: '3.6.1' + - name: Install clippy and fmt run: rustup component add clippy rustfmt diff --git a/.github/workflows/e2e-tests-main-devnet.yml b/.github/workflows/e2e-tests-main-devnet.yml index fb7a46c8da..4496db3c09 100644 --- a/.github/workflows/e2e-tests-main-devnet.yml +++ b/.github/workflows/e2e-tests-main-devnet.yml @@ -64,6 +64,11 @@ jobs: - name: Install Rust toolchain uses: actions-rs/toolchain@v1 + - name: Install Protoc + uses: arduino/setup-protoc@v1 + with: + version: '3.6.1' + - name: Restore cache uses: ./.github/actions/restore-cache with: @@ -106,6 +111,11 @@ jobs: - name: Install Rust Toolchain uses: actions-rs/toolchain@v1 + - name: Install Protoc + uses: arduino/setup-protoc@v1 + with: + version: '3.6.1' + - name: Install WASM target run: rustup target add wasm32-unknown-unknown @@ -139,6 +149,11 @@ jobs: - name: Install Rust Toolchain uses: actions-rs/toolchain@v1 + - name: Install Protoc + uses: arduino/setup-protoc@v1 + with: + version: '3.6.1' + - name: Restore cache uses: ./.github/actions/restore-cache with: @@ -776,6 +791,11 @@ jobs: - name: Install Rust toolchain uses: actions-rs/toolchain@v1 + - name: Install Protoc + uses: arduino/setup-protoc@v1 + with: + version: '3.6.1' + - name: Install WASM target run: rustup target add wasm32-unknown-unknown diff --git a/.github/workflows/nightly-pipeline.yaml b/.github/workflows/nightly-pipeline.yaml index 72b5a3df0a..8d8bec3367 100644 --- a/.github/workflows/nightly-pipeline.yaml +++ b/.github/workflows/nightly-pipeline.yaml @@ -55,6 +55,11 @@ jobs: - name: Install Rust toolchain uses: actions-rs/toolchain@v1 + - name: Install Protoc + uses: arduino/setup-protoc@v1 + with: + version: '3.6.1' + - name: Install WASM target run: rustup target add wasm32-unknown-unknown @@ -87,6 +92,11 @@ jobs: - name: Install Rust toolchain uses: actions-rs/toolchain@v1 + - name: Install Protoc + uses: arduino/setup-protoc@v1 + with: + version: '3.6.1' + - name: Restore cache uses: ./.github/actions/restore-cache with: diff --git a/.github/workflows/unit_tests.yml b/.github/workflows/unit_tests.yml index 028bf1018b..1d34aa02ac 100644 --- a/.github/workflows/unit_tests.yml +++ b/.github/workflows/unit_tests.yml @@ -27,6 +27,11 @@ jobs: - name: Install Rust Toolchain uses: actions-rs/toolchain@v1 + - name: Install Protoc + uses: arduino/setup-protoc@v1 + with: + version: '3.6.1' + - name: Install clippy and fmt run: rustup component add clippy rustfmt diff --git a/Cargo.lock b/Cargo.lock index 467c79163d..e44f271687 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -227,7 +227,7 @@ dependencies = [ [[package]] name = "aleph-node" -version = "0.8.1" +version = "0.8.2" dependencies = [ "aleph-runtime", "clap", @@ -281,7 +281,7 @@ dependencies = [ [[package]] name = "aleph-runtime" -version = "0.8.1" +version = "0.8.2" dependencies = [ "frame-executive", "frame-support", @@ -363,6 +363,12 @@ dependencies = [ "num-traits", ] +[[package]] +name = "array-bytes" +version = "4.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f52f63c5c1316a16a4b35eaac8b76a98248961a533f061684cb2a7cb0eafb6c6" + [[package]] name = "arrayref" version = "0.3.6" @@ -599,7 +605,7 @@ dependencies = [ "cfg-if", "libc", "miniz_oxide", - "object 0.29.0", + "object", "rustc-demangle", ] @@ -627,6 +633,12 @@ version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" +[[package]] +name = "base64ct" +version = "1.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b645a089122eccb6111b4f81cbc1a49f5900ac4666bb93ac027feaecf15607bf" + [[package]] name = "beef" version = "0.5.2" @@ -639,7 +651,7 @@ dependencies = [ [[package]] name = "beefy-merkle-tree" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "beefy-primitives", "sp-api", @@ -648,7 +660,7 @@ dependencies = [ [[package]] name = "beefy-primitives" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "parity-scale-codec", "scale-info", @@ -959,6 +971,12 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +[[package]] +name = "cfg_aliases" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e" + [[package]] name = "chacha20" version = "0.8.2" @@ -1187,19 +1205,21 @@ dependencies = [ [[package]] name = "cranelift-bforest" -version = "0.85.3" +version = "0.88.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "749d0d6022c9038dccf480bdde2a38d435937335bf2bb0f14e815d94517cdce8" +checksum = "52056f6d0584484b57fa6c1a65c1fcb15f3780d8b6a758426d9e3084169b2ddd" dependencies = [ "cranelift-entity", ] [[package]] name = "cranelift-codegen" -version = "0.85.3" +version = "0.88.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e94370cc7b37bf652ccd8bb8f09bd900997f7ccf97520edfc75554bb5c4abbea" +checksum = "18fed94c8770dc25d01154c3ffa64ed0b3ba9d583736f305fed7beebe5d9cf74" dependencies = [ + "arrayvec 0.7.2", + "bumpalo", "cranelift-bforest", "cranelift-codegen-meta", "cranelift-codegen-shared", @@ -1214,33 +1234,33 @@ dependencies = [ [[package]] name = "cranelift-codegen-meta" -version = "0.85.3" +version = "0.88.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0a3cea8fdab90e44018c5b9a1dfd460d8ee265ac354337150222a354628bdb6" +checksum = "1c451b81faf237d11c7e4f3165eeb6bac61112762c5cfe7b4c0fb7241474358f" dependencies = [ "cranelift-codegen-shared", ] [[package]] name = "cranelift-codegen-shared" -version = "0.85.3" +version = "0.88.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ac72f76f2698598951ab26d8c96eaa854810e693e7dd52523958b5909fde6b2" +checksum = "e7c940133198426d26128f08be2b40b0bd117b84771fd36798969c4d712d81fc" [[package]] name = "cranelift-entity" -version = "0.85.3" +version = "0.88.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09eaeacfcd2356fe0e66b295e8f9d59fdd1ac3ace53ba50de14d628ec902f72d" +checksum = "87a0f1b2fdc18776956370cf8d9b009ded3f855350c480c1c52142510961f352" dependencies = [ "serde", ] [[package]] name = "cranelift-frontend" -version = "0.85.3" +version = "0.88.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dba69c9980d5ffd62c18a2bde927855fcd7c8dc92f29feaf8636052662cbd99c" +checksum = "34897538b36b216cc8dd324e73263596d51b8cf610da6498322838b2546baf8a" dependencies = [ "cranelift-codegen", "log", @@ -1250,15 +1270,15 @@ dependencies = [ [[package]] name = "cranelift-isle" -version = "0.85.3" +version = "0.88.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2920dc1e05cac40304456ed3301fde2c09bd6a9b0210bcfa2f101398d628d5b" +checksum = "1b2629a569fae540f16a76b70afcc87ad7decb38dc28fa6c648ac73b51e78470" [[package]] name = "cranelift-native" -version = "0.85.3" +version = "0.88.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f04dfa45f9b2a6f587c564d6b63388e00cd6589d2df6ea2758cf79e1a13285e6" +checksum = "20937dab4e14d3e225c5adfc9c7106bafd4ac669bdb43027b911ff794c6fb318" dependencies = [ "cranelift-codegen", "libc", @@ -1267,9 +1287,9 @@ dependencies = [ [[package]] name = "cranelift-wasm" -version = "0.85.3" +version = "0.88.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31a46513ae6f26f3f267d8d75b5373d555fbbd1e68681f348d99df43f747ec54" +checksum = "80fc2288957a94fd342a015811479de1837850924166d1f1856d8406e6f3609b" dependencies = [ "cranelift-codegen", "cranelift-entity", @@ -1714,7 +1734,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7c24f403d068ad0b359e577a77f92392118be3f3c927538f2bb544a5ecd828c6" dependencies = [ "curve25519-dalek 3.2.0", - "hashbrown 0.12.3", + "hashbrown", "hex", "rand_core 0.6.4", "sha2 0.9.9", @@ -1923,7 +1943,7 @@ dependencies = [ [[package]] name = "finality-aleph" -version = "0.5.1" +version = "0.5.2" dependencies = [ "aggregator 0.1.0", "aggregator 0.2.0", @@ -2027,7 +2047,7 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "fork-tree" version = "3.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "parity-scale-codec", ] @@ -2044,7 +2064,7 @@ dependencies = [ [[package]] name = "frame-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "frame-support", "frame-system", @@ -2067,7 +2087,7 @@ dependencies = [ [[package]] name = "frame-election-provider-solution-type" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -2078,7 +2098,7 @@ dependencies = [ [[package]] name = "frame-election-provider-support" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "frame-election-provider-solution-type", "frame-support", @@ -2094,7 +2114,7 @@ dependencies = [ [[package]] name = "frame-executive" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "frame-support", "frame-system", @@ -2123,7 +2143,7 @@ dependencies = [ [[package]] name = "frame-support" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "bitflags", "frame-metadata", @@ -2148,13 +2168,14 @@ dependencies = [ "sp-state-machine", "sp-std", "sp-tracing", + "sp-weights", "tt-call", ] [[package]] name = "frame-support-procedural" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "Inflector", "cfg-expr", @@ -2168,7 +2189,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate", @@ -2180,7 +2201,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "proc-macro2", "quote", @@ -2190,7 +2211,7 @@ dependencies = [ [[package]] name = "frame-system" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "frame-support", "log", @@ -2202,12 +2223,13 @@ dependencies = [ "sp-runtime", "sp-std", "sp-version", + "sp-weights", ] [[package]] name = "frame-system-rpc-runtime-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "parity-scale-codec", "sp-api", @@ -2216,7 +2238,7 @@ dependencies = [ [[package]] name = "frame-try-runtime" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "frame-support", "parity-scale-codec", @@ -2530,15 +2552,6 @@ dependencies = [ "crunchy", ] -[[package]] -name = "hashbrown" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e" -dependencies = [ - "ahash", -] - [[package]] name = "hashbrown" version = "0.12.3" @@ -2838,7 +2851,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399" dependencies = [ "autocfg", - "hashbrown 0.12.3", + "hashbrown", "serde", ] @@ -2871,15 +2884,19 @@ dependencies = [ [[package]] name = "io-lifetimes" -version = "0.5.3" +version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec58677acfea8a15352d42fc87d11d63596ade9239e0a7c9352914417515dbe6" +checksum = "59ce5ef949d49ee85593fc4d3f3f95ad61657076395cbbce23e2121fc5542074" [[package]] name = "io-lifetimes" -version = "0.7.5" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59ce5ef949d49ee85593fc4d3f3f95ad61657076395cbbce23e2121fc5542074" +checksum = "a7d367024b3f3414d8e01f437f704f41a9f64ab36f9067fa73e526ad4c763c87" +dependencies = [ + "libc", + "windows-sys 0.42.0", +] [[package]] name = "ip_network" @@ -4316,15 +4333,15 @@ dependencies = [ [[package]] name = "linux-raw-sys" -version = "0.0.42" +version = "0.0.46" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5284f00d480e1c39af34e72f8ad60b94f47007e3481cd3b731c1d67190ddc7b7" +checksum = "d4d2456c373231a208ad294c33dc5bff30051eafd954cd4caae83a712b12854d" [[package]] name = "linux-raw-sys" -version = "0.0.46" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4d2456c373231a208ad294c33dc5bff30051eafd954cd4caae83a712b12854d" +checksum = "8f9f08d8963a6c613f4b1a78f4f4a4dbfadf8e6545b2d72861731e4858b8b47f" [[package]] name = "lock_api" @@ -4352,7 +4369,7 @@ version = "0.7.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e999beba7b6e8345721bd280141ed958096a2e4abdf74f67ff4ce49b4b54e47a" dependencies = [ - "hashbrown 0.12.3", + "hashbrown", ] [[package]] @@ -4431,11 +4448,11 @@ checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" [[package]] name = "memfd" -version = "0.4.1" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6627dc657574b49d6ad27105ed671822be56e0d2547d413bfbf3e8d8fa92e7a" +checksum = "b20a59d985586e4a5aef64564ac77299f8586d8be6cf9106a5a40207e8908efb" dependencies = [ - "libc", + "rustix 0.36.3", ] [[package]] @@ -4472,15 +4489,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6566c70c1016f525ced45d7b7f97730a2bafb037c788211d0c186ef5b2189f0a" dependencies = [ "hash-db", - "hashbrown 0.12.3", + "hashbrown", "parity-util-mem", ] [[package]] name = "memory_units" -version = "0.3.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71d96e3f3c0b6325d8ccd83c33b28acb183edcb6c67938ba104ec546854b0882" +checksum = "8452105ba047068f40ff7093dd1d9da90898e63dd61736462e9cdda6a90ad3c3" [[package]] name = "merlin" @@ -4521,12 +4538,6 @@ dependencies = [ "windows-sys 0.42.0", ] -[[package]] -name = "more-asserts" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7843ec2de400bcbc6a6328c958dc38e5359da6e93e72e37bc5246bf1ae776389" - [[package]] name = "multiaddr" version = "0.14.0" @@ -4617,7 +4628,7 @@ dependencies = [ "matrixmultiply", "nalgebra-macros", "num-complex", - "num-rational 0.4.1", + "num-rational", "num-traits", "rand 0.8.5", "rand_distr", @@ -4746,9 +4757,9 @@ dependencies = [ [[package]] name = "num-bigint" -version = "0.2.6" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "090c7f9998ee0ff65aa5b723e4009f7b217707f1fb5ea551329cc4d6231fb304" +checksum = "f93ab6289c7b344a8a9f60f88d80aa20032336fe78da341afc91c8a2341fc75f" dependencies = [ "autocfg", "num-integer", @@ -4784,18 +4795,6 @@ dependencies = [ "num-traits", ] -[[package]] -name = "num-rational" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c000134b5dbf44adc5cb772486d335293351644b801551abe8f75c84cfa4aef" -dependencies = [ - "autocfg", - "num-bigint", - "num-integer", - "num-traits", -] - [[package]] name = "num-rational" version = "0.4.1" @@ -4803,6 +4802,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0" dependencies = [ "autocfg", + "num-bigint", "num-integer", "num-traits", ] @@ -4827,24 +4827,15 @@ dependencies = [ "libc", ] -[[package]] -name = "object" -version = "0.28.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e42c982f2d955fac81dd7e1d0e1426a7d702acd9c98d19ab01083a6a0328c424" -dependencies = [ - "crc32fast", - "hashbrown 0.11.2", - "indexmap", - "memchr", -] - [[package]] name = "object" version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "21158b2c33aa6d4561f1c0a6ea283ca92bc54802a93b263e910746d679a7eb53" dependencies = [ + "crc32fast", + "hashbrown", + "indexmap", "memchr", ] @@ -4889,7 +4880,7 @@ dependencies = [ [[package]] name = "pallet-aleph" -version = "0.5.1" +version = "0.5.2" dependencies = [ "frame-support", "frame-system", @@ -4910,7 +4901,7 @@ dependencies = [ [[package]] name = "pallet-aura" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "frame-support", "frame-system", @@ -4926,7 +4917,7 @@ dependencies = [ [[package]] name = "pallet-authorship" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "frame-support", "frame-system", @@ -4941,7 +4932,7 @@ dependencies = [ [[package]] name = "pallet-babe" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "frame-benchmarking", "frame-support", @@ -4965,7 +4956,7 @@ dependencies = [ [[package]] name = "pallet-balances" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "frame-benchmarking", "frame-support", @@ -4980,7 +4971,7 @@ dependencies = [ [[package]] name = "pallet-contracts" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "bitflags", "frame-benchmarking", @@ -5007,7 +4998,7 @@ dependencies = [ [[package]] name = "pallet-contracts-primitives" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "bitflags", "parity-scale-codec", @@ -5022,7 +5013,7 @@ dependencies = [ [[package]] name = "pallet-contracts-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "proc-macro2", "quote", @@ -5032,7 +5023,7 @@ dependencies = [ [[package]] name = "pallet-contracts-rpc" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "jsonrpsee", "pallet-contracts-primitives", @@ -5049,7 +5040,7 @@ dependencies = [ [[package]] name = "pallet-contracts-rpc-runtime-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "pallet-contracts-primitives", "parity-scale-codec", @@ -5061,7 +5052,7 @@ dependencies = [ [[package]] name = "pallet-elections" -version = "0.5.1" +version = "0.5.2" dependencies = [ "frame-election-provider-support", "frame-support", @@ -5084,7 +5075,7 @@ dependencies = [ [[package]] name = "pallet-identity" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "enumflags2", "frame-benchmarking", @@ -5100,8 +5091,9 @@ dependencies = [ [[package]] name = "pallet-multisig" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ + "frame-benchmarking", "frame-support", "frame-system", "parity-scale-codec", @@ -5114,7 +5106,7 @@ dependencies = [ [[package]] name = "pallet-nomination-pools" version = "1.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "frame-support", "frame-system", @@ -5131,7 +5123,7 @@ dependencies = [ [[package]] name = "pallet-randomness-collective-flip" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "frame-support", "frame-system", @@ -5145,7 +5137,7 @@ dependencies = [ [[package]] name = "pallet-scheduler" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "frame-support", "frame-system", @@ -5160,7 +5152,7 @@ dependencies = [ [[package]] name = "pallet-session" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "frame-support", "frame-system", @@ -5181,8 +5173,9 @@ dependencies = [ [[package]] name = "pallet-staking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ + "frame-benchmarking", "frame-election-provider-support", "frame-support", "frame-system", @@ -5202,7 +5195,7 @@ dependencies = [ [[package]] name = "pallet-sudo" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "frame-support", "frame-system", @@ -5216,7 +5209,7 @@ dependencies = [ [[package]] name = "pallet-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "frame-benchmarking", "frame-support", @@ -5225,6 +5218,7 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-inherents", + "sp-io", "sp-runtime", "sp-std", "sp-timestamp", @@ -5233,7 +5227,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "frame-support", "frame-system", @@ -5249,7 +5243,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "jsonrpsee", "pallet-transaction-payment-rpc-runtime-api", @@ -5264,7 +5258,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc-runtime-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "pallet-transaction-payment", "parity-scale-codec", @@ -5275,8 +5269,9 @@ dependencies = [ [[package]] name = "pallet-treasury" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ + "frame-benchmarking", "frame-support", "frame-system", "impl-trait-for-tuples", @@ -5291,8 +5286,9 @@ dependencies = [ [[package]] name = "pallet-utility" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ + "frame-benchmarking", "frame-support", "frame-system", "parity-scale-codec", @@ -5306,8 +5302,9 @@ dependencies = [ [[package]] name = "pallet-vesting" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ + "frame-benchmarking", "frame-support", "frame-system", "log", @@ -5319,9 +5316,10 @@ dependencies = [ [[package]] name = "pallets-support" -version = "0.1.1" +version = "0.1.2" dependencies = [ "frame-support", + "sp-std", ] [[package]] @@ -5384,7 +5382,7 @@ checksum = "c32561d248d352148124f036cac253a644685a21dc9fea383eb4907d7bd35a8f" dependencies = [ "cfg-if", "ethereum-types", - "hashbrown 0.12.3", + "hashbrown", "impl-trait-for-tuples", "lru", "parity-util-mem-derive", @@ -5416,9 +5414,9 @@ dependencies = [ [[package]] name = "parity-wasm" -version = "0.42.2" +version = "0.45.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be5e13c266502aadf83426d87d81a0f5d1ef45b8027f5a471c360abfe4bfae92" +checksum = "e1ad0aff30c1da14b1254fcb2af73e1fa9a28670e584a626f53a369d0e157304" [[package]] name = "parking" @@ -5587,6 +5585,17 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" +[[package]] +name = "pkcs8" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7cabda3fb821068a9a4fab19a683eac3af12edf0f34b94a8be53c4972b8149d0" +dependencies = [ + "der", + "spki", + "zeroize", +] + [[package]] name = "pkg-config" version = "0.3.26" @@ -5642,6 +5651,16 @@ version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" +[[package]] +name = "prettyplease" +version = "0.1.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c142c0e46b57171fe0c528bee8c5b7569e80f0c17e377cd0e30ea57dbc11bb51" +dependencies = [ + "proc-macro2", + "syn", +] + [[package]] name = "primitive-types" version = "0.11.1" @@ -5658,7 +5677,7 @@ dependencies = [ [[package]] name = "primitives" -version = "0.5.1" +version = "0.5.2" dependencies = [ "parity-scale-codec", "scale-info", @@ -5784,6 +5803,16 @@ dependencies = [ "prost-derive 0.10.1", ] +[[package]] +name = "prost" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0841812012b2d4a6145fae9a6af1534873c32aa67fff26bd09f8fa42c83f95a" +dependencies = [ + "bytes", + "prost-derive 0.11.2", +] + [[package]] name = "prost-build" version = "0.9.0" @@ -5826,6 +5855,28 @@ dependencies = [ "which", ] +[[package]] +name = "prost-build" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d8b442418ea0822409d9e7d047cbf1e7e9e1760b172bf9982cf29d517c93511" +dependencies = [ + "bytes", + "heck 0.4.0", + "itertools", + "lazy_static", + "log", + "multimap", + "petgraph", + "prettyplease", + "prost 0.11.2", + "prost-types 0.11.2", + "regex", + "syn", + "tempfile", + "which", +] + [[package]] name = "prost-codec" version = "0.1.0" @@ -5865,6 +5916,19 @@ dependencies = [ "syn", ] +[[package]] +name = "prost-derive" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "164ae68b6587001ca506d3bf7f1000bfa248d0e1217b618108fba4ec1d0cc306" +dependencies = [ + "anyhow", + "itertools", + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "prost-types" version = "0.9.0" @@ -5885,6 +5949,16 @@ dependencies = [ "prost 0.10.4", ] +[[package]] +name = "prost-types" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "747761bc3dc48f9a34553bf65605cf6cb6288ba219f3450b4275dbd81539551a" +dependencies = [ + "bytes", + "prost 0.11.2", +] + [[package]] name = "psm" version = "0.1.21" @@ -6088,9 +6162,9 @@ dependencies = [ [[package]] name = "regalloc2" -version = "0.2.3" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a8d23b35d7177df3b9d31ed8a9ab4bf625c668be77a319d4f5efd4a5257701c" +checksum = "d43a209257d978ef079f3d446331d0f1794f5e0fc19b306a199983857833a779" dependencies = [ "fxhash", "log", @@ -6124,22 +6198,10 @@ version = "0.6.28" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848" -[[package]] -name = "region" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "877e54ea2adcd70d80e9179344c97f93ef0dffd6b03e1f4529e6e83ab2fa9ae0" -dependencies = [ - "bitflags", - "libc", - "mach", - "winapi", -] - [[package]] name = "remote-externalities" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "env_logger", "jsonrpsee", @@ -6281,29 +6343,29 @@ dependencies = [ [[package]] name = "rustix" -version = "0.33.7" +version = "0.35.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "938a344304321a9da4973b9ff4f9f8db9caf4597dfd9dda6a60b523340a0fff0" +checksum = "727a1a6d65f786ec22df8a81ca3121107f235970dc1705ed681d3e6e8b9cd5f9" dependencies = [ "bitflags", "errno", - "io-lifetimes 0.5.3", + "io-lifetimes 0.7.5", "libc", - "linux-raw-sys 0.0.42", - "winapi", + "linux-raw-sys 0.0.46", + "windows-sys 0.42.0", ] [[package]] name = "rustix" -version = "0.35.13" +version = "0.36.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "727a1a6d65f786ec22df8a81ca3121107f235970dc1705ed681d3e6e8b9cd5f9" +checksum = "0b1fbb4dfc4eb1d390c02df47760bb19a84bb80b301ecc947ab5406394d8223e" dependencies = [ "bitflags", "errno", - "io-lifetimes 0.7.5", + "io-lifetimes 1.0.1", "libc", - "linux-raw-sys 0.0.46", + "linux-raw-sys 0.1.3", "windows-sys 0.42.0", ] @@ -6404,7 +6466,7 @@ dependencies = [ [[package]] name = "sc-allocator" version = "4.1.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "log", "sp-core", @@ -6415,7 +6477,7 @@ dependencies = [ [[package]] name = "sc-basic-authorship" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "futures", "futures-timer", @@ -6438,7 +6500,7 @@ dependencies = [ [[package]] name = "sc-block-builder" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "parity-scale-codec", "sc-client-api", @@ -6454,7 +6516,7 @@ dependencies = [ [[package]] name = "sc-chain-spec" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "impl-trait-for-tuples", "memmap2", @@ -6471,7 +6533,7 @@ dependencies = [ [[package]] name = "sc-chain-spec-derive" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -6482,13 +6544,13 @@ dependencies = [ [[package]] name = "sc-cli" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ + "array-bytes", "chrono", "clap", "fdlimit", "futures", - "hex", "libp2p 0.46.1", "log", "names", @@ -6500,6 +6562,7 @@ dependencies = [ "sc-client-db", "sc-keystore", "sc-network", + "sc-network-common", "sc-service", "sc-telemetry", "sc-tracing", @@ -6521,7 +6584,7 @@ dependencies = [ [[package]] name = "sc-client-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "fnv", "futures", @@ -6549,7 +6612,7 @@ dependencies = [ [[package]] name = "sc-client-db" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "hash-db", "kvdb", @@ -6574,7 +6637,7 @@ dependencies = [ [[package]] name = "sc-consensus" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "async-trait", "futures", @@ -6598,7 +6661,7 @@ dependencies = [ [[package]] name = "sc-consensus-aura" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "async-trait", "futures", @@ -6627,7 +6690,7 @@ dependencies = [ [[package]] name = "sc-consensus-slots" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "async-trait", "futures", @@ -6645,14 +6708,13 @@ dependencies = [ "sp-inherents", "sp-runtime", "sp-state-machine", - "sp-timestamp", "thiserror", ] [[package]] name = "sc-executor" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "lazy_static", "lru", @@ -6679,7 +6741,7 @@ dependencies = [ [[package]] name = "sc-executor-common" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "environmental", "parity-scale-codec", @@ -6695,7 +6757,7 @@ dependencies = [ [[package]] name = "sc-executor-wasmi" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "log", "parity-scale-codec", @@ -6710,15 +6772,14 @@ dependencies = [ [[package]] name = "sc-executor-wasmtime" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "cfg-if", "libc", "log", "once_cell", "parity-scale-codec", - "parity-wasm 0.42.2", - "rustix 0.33.7", + "parity-wasm 0.45.0", "rustix 0.35.13", "sc-allocator", "sc-executor-common", @@ -6731,7 +6792,7 @@ dependencies = [ [[package]] name = "sc-informant" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "ansi_term", "futures", @@ -6748,10 +6809,10 @@ dependencies = [ [[package]] name = "sc-keystore" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ + "array-bytes", "async-trait", - "hex", "parking_lot 0.12.1", "serde_json", "sp-application-crypto", @@ -6763,8 +6824,9 @@ dependencies = [ [[package]] name = "sc-network" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ + "array-bytes", "async-trait", "asynchronous-codec", "bitflags", @@ -6775,7 +6837,6 @@ dependencies = [ "fork-tree", "futures", "futures-timer", - "hex", "ip_network", "libp2p 0.46.1", "linked-hash-map", @@ -6786,7 +6847,6 @@ dependencies = [ "parking_lot 0.12.1", "pin-project 1.0.12", "prost 0.10.4", - "prost-build 0.10.4", "rand 0.7.3", "sc-block-builder", "sc-client-api", @@ -6805,20 +6865,41 @@ dependencies = [ "substrate-prometheus-endpoint", "thiserror", "unsigned-varint", - "void", "zeroize", ] +[[package]] +name = "sc-network-bitswap" +version = "0.10.0-dev" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +dependencies = [ + "cid", + "futures", + "libp2p 0.46.1", + "log", + "prost 0.11.2", + "prost-build 0.11.2", + "sc-client-api", + "sc-network-common", + "sp-blockchain", + "sp-runtime", + "thiserror", + "unsigned-varint", + "void", +] + [[package]] name = "sc-network-common" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "async-trait", "bitflags", "bytes", "futures", + "futures-timer", "libp2p 0.46.1", + "linked_hash_set", "parity-scale-codec", "prost-build 0.10.4", "sc-consensus", @@ -6829,16 +6910,17 @@ dependencies = [ "sp-consensus", "sp-finality-grandpa", "sp-runtime", + "substrate-prometheus-endpoint", "thiserror", ] [[package]] name = "sc-network-light" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ + "array-bytes", "futures", - "hex", "libp2p 0.46.1", "log", "parity-scale-codec", @@ -6856,11 +6938,11 @@ dependencies = [ [[package]] name = "sc-network-sync" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ + "array-bytes", "fork-tree", "futures", - "hex", "libp2p 0.46.1", "log", "lru", @@ -6881,16 +6963,35 @@ dependencies = [ "thiserror", ] +[[package]] +name = "sc-network-transactions" +version = "0.10.0-dev" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +dependencies = [ + "array-bytes", + "futures", + "hex", + "libp2p 0.46.1", + "log", + "parity-scale-codec", + "pin-project 1.0.12", + "sc-network-common", + "sc-peerset", + "sp-consensus", + "sp-runtime", + "substrate-prometheus-endpoint", +] + [[package]] name = "sc-offchain" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ + "array-bytes", "bytes", "fnv", "futures", "futures-timer", - "hex", "hyper", "hyper-rustls", "libp2p 0.46.1", @@ -6914,7 +7015,7 @@ dependencies = [ [[package]] name = "sc-peerset" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "futures", "libp2p 0.46.1", @@ -6927,7 +7028,7 @@ dependencies = [ [[package]] name = "sc-proposer-metrics" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "log", "substrate-prometheus-endpoint", @@ -6936,7 +7037,7 @@ dependencies = [ [[package]] name = "sc-rpc" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "futures", "hash-db", @@ -6966,7 +7067,7 @@ dependencies = [ [[package]] name = "sc-rpc-api" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "futures", "jsonrpsee", @@ -6989,7 +7090,7 @@ dependencies = [ [[package]] name = "sc-rpc-server" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "futures", "jsonrpsee", @@ -7002,7 +7103,7 @@ dependencies = [ [[package]] name = "sc-service" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "async-trait", "directories", @@ -7026,9 +7127,11 @@ dependencies = [ "sc-informant", "sc-keystore", "sc-network", + "sc-network-bitswap", "sc-network-common", "sc-network-light", "sc-network-sync", + "sc-network-transactions", "sc-offchain", "sc-rpc", "sc-rpc-server", @@ -7058,6 +7161,7 @@ dependencies = [ "sp-transaction-storage-proof", "sp-trie", "sp-version", + "static_init", "substrate-prometheus-endpoint", "tempfile", "thiserror", @@ -7069,7 +7173,7 @@ dependencies = [ [[package]] name = "sc-state-db" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "log", "parity-scale-codec", @@ -7083,7 +7187,7 @@ dependencies = [ [[package]] name = "sc-sysinfo" version = "6.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "futures", "libc", @@ -7102,7 +7206,7 @@ dependencies = [ [[package]] name = "sc-telemetry" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "chrono", "futures", @@ -7120,7 +7224,7 @@ dependencies = [ [[package]] name = "sc-tracing" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "ansi_term", "atty", @@ -7151,7 +7255,7 @@ dependencies = [ [[package]] name = "sc-tracing-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -7162,7 +7266,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "futures", "futures-timer", @@ -7188,7 +7292,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "futures", "log", @@ -7201,7 +7305,7 @@ dependencies = [ [[package]] name = "sc-utils" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "futures", "futures-timer", @@ -7295,6 +7399,7 @@ checksum = "08da66b8b0965a5555b6bd6639e68ccba85e1e2506f5fbb089e93f8a04e1a2d1" dependencies = [ "der", "generic-array 0.14.6", + "pkcs8", "subtle", "zeroize", ] @@ -7601,7 +7706,7 @@ dependencies = [ [[package]] name = "sp-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "hash-db", "log", @@ -7619,7 +7724,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "blake2", "proc-macro-crate", @@ -7631,7 +7736,7 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "parity-scale-codec", "scale-info", @@ -7644,7 +7749,7 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "integer-sqrt", "num-traits", @@ -7659,7 +7764,7 @@ dependencies = [ [[package]] name = "sp-authorship" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "async-trait", "parity-scale-codec", @@ -7671,7 +7776,7 @@ dependencies = [ [[package]] name = "sp-block-builder" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "parity-scale-codec", "sp-api", @@ -7683,7 +7788,7 @@ dependencies = [ [[package]] name = "sp-blockchain" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "futures", "log", @@ -7701,7 +7806,7 @@ dependencies = [ [[package]] name = "sp-consensus" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "async-trait", "futures", @@ -7720,7 +7825,7 @@ dependencies = [ [[package]] name = "sp-consensus-aura" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "async-trait", "parity-scale-codec", @@ -7738,7 +7843,7 @@ dependencies = [ [[package]] name = "sp-consensus-babe" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "async-trait", "merlin", @@ -7761,7 +7866,7 @@ dependencies = [ [[package]] name = "sp-consensus-slots" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "parity-scale-codec", "scale-info", @@ -7775,7 +7880,7 @@ dependencies = [ [[package]] name = "sp-consensus-vrf" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "parity-scale-codec", "scale-info", @@ -7788,18 +7893,18 @@ dependencies = [ [[package]] name = "sp-core" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ + "array-bytes", "base58", "bitflags", - "blake2-rfc", + "blake2", "byteorder", "dyn-clonable", "ed25519-zebra", "futures", "hash-db", "hash256-std-hasher", - "hex", "impl-serde", "lazy_static", "libsecp256k1", @@ -7834,7 +7939,7 @@ dependencies = [ [[package]] name = "sp-core-hashing" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "blake2", "byteorder", @@ -7848,7 +7953,7 @@ dependencies = [ [[package]] name = "sp-core-hashing-proc-macro" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "proc-macro2", "quote", @@ -7859,7 +7964,7 @@ dependencies = [ [[package]] name = "sp-database" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "kvdb", "parking_lot 0.12.1", @@ -7868,7 +7973,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "proc-macro2", "quote", @@ -7878,7 +7983,7 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "environmental", "parity-scale-codec", @@ -7889,7 +7994,7 @@ dependencies = [ [[package]] name = "sp-finality-grandpa" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "finality-grandpa", "log", @@ -7907,7 +8012,7 @@ dependencies = [ [[package]] name = "sp-inherents" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "async-trait", "impl-trait-for-tuples", @@ -7921,7 +8026,7 @@ dependencies = [ [[package]] name = "sp-io" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "bytes", "futures", @@ -7947,7 +8052,7 @@ dependencies = [ [[package]] name = "sp-keyring" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "lazy_static", "sp-core", @@ -7958,7 +8063,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "async-trait", "futures", @@ -7975,7 +8080,7 @@ dependencies = [ [[package]] name = "sp-maybe-compressed-blob" version = "4.1.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "thiserror", "zstd", @@ -7984,7 +8089,7 @@ dependencies = [ [[package]] name = "sp-npos-elections" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "parity-scale-codec", "scale-info", @@ -7998,7 +8103,7 @@ dependencies = [ [[package]] name = "sp-offchain" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "sp-api", "sp-core", @@ -8008,7 +8113,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "backtrace", "lazy_static", @@ -8018,7 +8123,7 @@ dependencies = [ [[package]] name = "sp-rpc" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "rustc-hash", "serde", @@ -8028,7 +8133,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "either", "hash256-std-hasher", @@ -8045,12 +8150,13 @@ dependencies = [ "sp-core", "sp-io", "sp-std", + "sp-weights", ] [[package]] name = "sp-runtime-interface" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "bytes", "impl-trait-for-tuples", @@ -8068,7 +8174,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "Inflector", "proc-macro-crate", @@ -8080,7 +8186,7 @@ dependencies = [ [[package]] name = "sp-sandbox" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "log", "parity-scale-codec", @@ -8094,7 +8200,7 @@ dependencies = [ [[package]] name = "sp-session" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "parity-scale-codec", "scale-info", @@ -8108,7 +8214,7 @@ dependencies = [ [[package]] name = "sp-staking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "parity-scale-codec", "scale-info", @@ -8119,7 +8225,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "hash-db", "log", @@ -8141,12 +8247,12 @@ dependencies = [ [[package]] name = "sp-std" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" [[package]] name = "sp-storage" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "impl-serde", "parity-scale-codec", @@ -8159,7 +8265,7 @@ dependencies = [ [[package]] name = "sp-tasks" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "log", "sp-core", @@ -8172,7 +8278,7 @@ dependencies = [ [[package]] name = "sp-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "async-trait", "futures-timer", @@ -8188,7 +8294,7 @@ dependencies = [ [[package]] name = "sp-tracing" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "parity-scale-codec", "sp-std", @@ -8200,7 +8306,7 @@ dependencies = [ [[package]] name = "sp-transaction-pool" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "sp-api", "sp-runtime", @@ -8209,7 +8315,7 @@ dependencies = [ [[package]] name = "sp-transaction-storage-proof" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "async-trait", "log", @@ -8225,11 +8331,11 @@ dependencies = [ [[package]] name = "sp-trie" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "ahash", "hash-db", - "hashbrown 0.12.3", + "hashbrown", "lazy_static", "lru", "memory-db", @@ -8248,11 +8354,11 @@ dependencies = [ [[package]] name = "sp-version" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "impl-serde", "parity-scale-codec", - "parity-wasm 0.42.2", + "parity-wasm 0.45.0", "scale-info", "serde", "sp-core-hashing-proc-macro", @@ -8265,7 +8371,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "parity-scale-codec", "proc-macro2", @@ -8276,7 +8382,7 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "impl-trait-for-tuples", "log", @@ -8286,12 +8392,38 @@ dependencies = [ "wasmtime", ] +[[package]] +name = "sp-weights" +version = "4.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +dependencies = [ + "impl-trait-for-tuples", + "parity-scale-codec", + "scale-info", + "serde", + "smallvec", + "sp-arithmetic", + "sp-core", + "sp-debug-derive", + "sp-std", +] + [[package]] name = "spin" version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" +[[package]] +name = "spki" +version = "0.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44d01ac02a6ccf3e07db148d2be087da624fea0221a16152ed01f0496a6b0a27" +dependencies = [ + "base64ct", + "der", +] + [[package]] name = "ss58-registry" version = "1.35.0" @@ -8319,6 +8451,34 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" +[[package]] +name = "static_init" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a2a1c578e98c1c16fc3b8ec1328f7659a500737d7a0c6d625e73e830ff9c1f6" +dependencies = [ + "bitflags", + "cfg_aliases", + "libc", + "parking_lot 0.11.2", + "parking_lot_core 0.8.5", + "static_init_macro", + "winapi", +] + +[[package]] +name = "static_init_macro" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70a2595fc3aa78f2d0e45dd425b22282dd863273761cc77780914b2cf3003acf" +dependencies = [ + "cfg_aliases", + "memchr", + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "statrs" version = "0.15.0" @@ -8376,7 +8536,7 @@ dependencies = [ [[package]] name = "substrate-build-script-utils" version = "3.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "platforms", ] @@ -8384,7 +8544,7 @@ dependencies = [ [[package]] name = "substrate-frame-rpc-system" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "frame-system-rpc-runtime-api", "futures", @@ -8405,7 +8565,7 @@ dependencies = [ [[package]] name = "substrate-prometheus-endpoint" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "futures-util", "hyper", @@ -8418,11 +8578,11 @@ dependencies = [ [[package]] name = "substrate-test-client" version = "2.0.1" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ + "array-bytes", "async-trait", "futures", - "hex", "parity-scale-codec", "sc-client-api", "sc-client-db", @@ -8444,7 +8604,7 @@ dependencies = [ [[package]] name = "substrate-test-runtime" version = "2.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "beefy-merkle-tree", "beefy-primitives", @@ -8488,7 +8648,7 @@ dependencies = [ [[package]] name = "substrate-test-runtime-client" version = "2.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "futures", "parity-scale-codec", @@ -8507,7 +8667,7 @@ dependencies = [ [[package]] name = "substrate-wasm-builder" version = "5.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "ansi_term", "build-helper", @@ -8911,7 +9071,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "004e1e8f92535694b4cb1444dc5a8073ecf0815e3357f729638b9f8fc4062908" dependencies = [ "hash-db", - "hashbrown 0.12.3", + "hashbrown", "log", "rustc-hex", "smallvec", @@ -8978,7 +9138,7 @@ checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642" [[package]] name = "try-runtime-cli" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "clap", "frame-try-runtime", @@ -9282,11 +9442,11 @@ dependencies = [ [[package]] name = "wasm-instrument" -version = "0.1.1" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "962e5b0401bbb6c887f54e69b8c496ea36f704df65db73e81fd5ff8dc3e63a9f" +checksum = "aa1dafb3e60065305741e83db35c6c2584bb3725b692b5b66148a38d72ace6cd" dependencies = [ - "parity-wasm 0.42.2", + "parity-wasm 0.45.0", ] [[package]] @@ -9306,58 +9466,63 @@ dependencies = [ [[package]] name = "wasmi" -version = "0.9.1" +version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca00c5147c319a8ec91ec1a0edbec31e566ce2c9cc93b3f9bb86a9efd0eb795d" +checksum = "06c326c93fbf86419608361a2c925a31754cf109da1b8b55737070b4d6669422" dependencies = [ - "downcast-rs", - "libc", - "libm", - "memory_units", - "num-rational 0.2.4", - "num-traits", - "parity-wasm 0.42.2", + "parity-wasm 0.45.0", "wasmi-validation", + "wasmi_core", ] [[package]] name = "wasmi-validation" -version = "0.4.1" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "165343ecd6c018fc09ebcae280752702c9a2ef3e6f8d02f1cfcbdb53ef6d7937" +checksum = "91ff416ad1ff0c42e5a926ed5d5fab74c0f098749aa0ad8b2a34b982ce0e867b" dependencies = [ - "parity-wasm 0.42.2", + "parity-wasm 0.45.0", +] + +[[package]] +name = "wasmi_core" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57d20cb3c59b788653d99541c646c561c9dd26506f25c0cebfe810659c54c6d7" +dependencies = [ + "downcast-rs", + "libm", + "memory_units", + "num-rational", + "num-traits", ] [[package]] name = "wasmparser" -version = "0.85.0" +version = "0.89.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "570460c58b21e9150d2df0eaaedbb7816c34bcec009ae0dcc976e40ba81463e7" +checksum = "ab5d3e08b13876f96dd55608d03cd4883a0545884932d5adf11925876c96daef" dependencies = [ "indexmap", ] [[package]] name = "wasmtime" -version = "0.38.3" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f50eadf868ab6a04b7b511460233377d0bfbb92e417b2f6a98b98fef2e098f5" +checksum = "4ad5af6ba38311282f2a21670d96e78266e8c8e2f38cbcd52c254df6ccbc7731" dependencies = [ "anyhow", - "backtrace", "bincode", "cfg-if", "indexmap", - "lazy_static", "libc", "log", - "object 0.28.4", + "object", "once_cell", "paste", "psm", "rayon", - "region", "serde", "target-lexicon", "wasmparser", @@ -9366,14 +9531,23 @@ dependencies = [ "wasmtime-environ", "wasmtime-jit", "wasmtime-runtime", - "winapi", + "windows-sys 0.36.1", +] + +[[package]] +name = "wasmtime-asm-macros" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "45de63ddfc8b9223d1adc8f7b2ee5f35d1f6d112833934ad7ea66e4f4339e597" +dependencies = [ + "cfg-if", ] [[package]] name = "wasmtime-cache" -version = "0.38.3" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1df23c642e1376892f3b72f311596976979cbf8b85469680cdd3a8a063d12a2" +checksum = "bcd849399d17d2270141cfe47fa0d91ee52d5f8ea9b98cf7ddde0d53e5f79882" dependencies = [ "anyhow", "base64", @@ -9381,19 +9555,19 @@ dependencies = [ "directories-next", "file-per-thread-logger", "log", - "rustix 0.33.7", + "rustix 0.35.13", "serde", "sha2 0.9.9", "toml", - "winapi", + "windows-sys 0.36.1", "zstd", ] [[package]] name = "wasmtime-cranelift" -version = "0.38.3" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f264ff6b4df247d15584f2f53d009fbc90032cfdc2605b52b961bffc71b6eccd" +checksum = "4bd91339b742ff20bfed4532a27b73c86b5bcbfedd6bea2dcdf2d64471e1b5c6" dependencies = [ "anyhow", "cranelift-codegen", @@ -9403,8 +9577,7 @@ dependencies = [ "cranelift-wasm", "gimli", "log", - "more-asserts", - "object 0.28.4", + "object", "target-lexicon", "thiserror", "wasmparser", @@ -9413,17 +9586,16 @@ dependencies = [ [[package]] name = "wasmtime-environ" -version = "0.38.3" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "839d2820e4b830f4b9e7aa08d4c0acabf4a5036105d639f6dfa1c6891c73bdc6" +checksum = "ebb881c61f4f627b5d45c54e629724974f8a8890d455bcbe634330cc27309644" dependencies = [ "anyhow", "cranelift-entity", "gimli", "indexmap", "log", - "more-asserts", - "object 0.28.4", + "object", "serde", "target-lexicon", "thiserror", @@ -9433,9 +9605,9 @@ dependencies = [ [[package]] name = "wasmtime-jit" -version = "0.38.3" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef0a0bcbfa18b946d890078ba0e1bc76bcc53eccfb40806c0020ec29dcd1bd49" +checksum = "1985c628011fe26adf5e23a5301bdc79b245e0e338f14bb58b39e4e25e4d8681" dependencies = [ "addr2line", "anyhow", @@ -9444,38 +9616,36 @@ dependencies = [ "cpp_demangle", "gimli", "log", - "object 0.28.4", - "region", + "object", "rustc-demangle", - "rustix 0.33.7", + "rustix 0.35.13", "serde", "target-lexicon", "thiserror", "wasmtime-environ", "wasmtime-jit-debug", "wasmtime-runtime", - "winapi", + "windows-sys 0.36.1", ] [[package]] name = "wasmtime-jit-debug" -version = "0.38.3" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f4779d976206c458edd643d1ac622b6c37e4a0800a8b1d25dfbf245ac2f2cac" +checksum = "f671b588486f5ccec8c5a3dba6b4c07eac2e66ab8c60e6f4e53717c77f709731" dependencies = [ - "lazy_static", - "object 0.28.4", - "rustix 0.33.7", + "object", + "once_cell", + "rustix 0.35.13", ] [[package]] name = "wasmtime-runtime" -version = "0.38.3" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7eb6ffa169eb5dcd18ac9473c817358cd57bc62c244622210566d473397954a" +checksum = "ee8f92ad4b61736339c29361da85769ebc200f184361959d1792832e592a1afd" dependencies = [ "anyhow", - "backtrace", "cc", "cfg-if", "indexmap", @@ -9484,21 +9654,21 @@ dependencies = [ "mach", "memfd", "memoffset 0.6.5", - "more-asserts", + "paste", "rand 0.8.5", - "region", - "rustix 0.33.7", + "rustix 0.35.13", "thiserror", + "wasmtime-asm-macros", "wasmtime-environ", "wasmtime-jit-debug", - "winapi", + "windows-sys 0.36.1", ] [[package]] name = "wasmtime-types" -version = "0.38.3" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d932b0ac5336f7308d869703dd225610a6a3aeaa8e968c52b43eed96cefb1c2" +checksum = "d23d61cb4c46e837b431196dd06abb11731541021916d03476a178b54dc07aeb" dependencies = [ "cranelift-entity", "serde", @@ -9820,9 +9990,9 @@ dependencies = [ [[package]] name = "zstd-sys" -version = "2.0.1+zstd.1.5.2" +version = "2.0.2+zstd.1.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fd07cbbc53846d9145dbffdf6dd09a7a0aa52be46741825f5c97bdd4f73f12b" +checksum = "24faa29d97c8ddca9b37b680e3bd2d5439d864a9cac3a0640d086b71c908bb83" dependencies = [ "cc", "libc", diff --git a/aleph-client/Cargo.lock b/aleph-client/Cargo.lock index 6d80123527..9cb19dca50 100644 --- a/aleph-client/Cargo.lock +++ b/aleph-client/Cargo.lock @@ -49,7 +49,7 @@ dependencies = [ [[package]] name = "aleph_client" -version = "2.1.0" +version = "2.2.0" dependencies = [ "anyhow", "async-trait", @@ -65,8 +65,8 @@ dependencies = [ "primitives", "serde", "serde_json", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", "subxt", "thiserror", ] @@ -95,6 +95,12 @@ version = "1.0.66" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "216261ddc8289130e551ddcd5ce8a064710c0d064a4d2895c67151c92b5443f6" +[[package]] +name = "array-bytes" +version = "4.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f52f63c5c1316a16a4b35eaac8b76a98248961a533f061684cb2a7cb0eafb6c6" + [[package]] name = "arrayref" version = "0.3.6" @@ -193,6 +199,12 @@ version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" +[[package]] +name = "base64ct" +version = "1.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b645a089122eccb6111b4f81cbc1a49f5900ac4666bb93ac027feaecf15607bf" + [[package]] name = "beef" version = "0.5.2" @@ -869,7 +881,7 @@ dependencies = [ [[package]] name = "frame-support" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "bitflags", "frame-metadata", @@ -884,23 +896,24 @@ dependencies = [ "serde", "smallvec", "sp-api", - "sp-arithmetic 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-arithmetic 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", "sp-core-hashing-proc-macro", "sp-inherents", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", "sp-staking", - "sp-state-machine 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-tracing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-state-machine 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-tracing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-weights", "tt-call", ] [[package]] name = "frame-support-procedural" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "Inflector", "cfg-expr", @@ -914,7 +927,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate", @@ -926,7 +939,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "proc-macro2", "quote", @@ -1530,6 +1543,12 @@ version = "0.2.137" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc7fcc620a3bff7cdd7a365be3376c97191aeaccc2a603e600951e452615bf89" +[[package]] +name = "libm" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "348108ab3fba42ec82ff6e9564fc4ca0247bdccdc68dd8af9764bbc79c3c8ffb" + [[package]] name = "libsecp256k1" version = "0.7.1" @@ -1647,6 +1666,12 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "71d96e3f3c0b6325d8ccd83c33b28acb183edcb6c67938ba104ec546854b0882" +[[package]] +name = "memory_units" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8452105ba047068f40ff7093dd1d9da90898e63dd61736462e9cdda6a90ad3c3" + [[package]] name = "merlin" version = "2.0.1" @@ -1732,6 +1757,17 @@ dependencies = [ "num-traits", ] +[[package]] +name = "num-bigint" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f93ab6289c7b344a8a9f60f88d80aa20032336fe78da341afc91c8a2341fc75f" +dependencies = [ + "autocfg", + "num-integer", + "num-traits", +] + [[package]] name = "num-format" version = "0.4.3" @@ -1759,7 +1795,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5c000134b5dbf44adc5cb772486d335293351644b801551abe8f75c84cfa4aef" dependencies = [ "autocfg", - "num-bigint", + "num-bigint 0.2.6", + "num-integer", + "num-traits", +] + +[[package]] +name = "num-rational" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0" +dependencies = [ + "autocfg", + "num-bigint 0.4.3", "num-integer", "num-traits", ] @@ -1819,16 +1867,16 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "pallet-contracts-primitives" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "bitflags", "parity-scale-codec", "scale-info", "serde", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", "sp-rpc", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", ] [[package]] @@ -1890,6 +1938,12 @@ version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "be5e13c266502aadf83426d87d81a0f5d1ef45b8027f5a471c360abfe4bfae92" +[[package]] +name = "parity-wasm" +version = "0.45.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1ad0aff30c1da14b1254fcb2af73e1fa9a28670e584a626f53a369d0e157304" + [[package]] name = "parking" version = "2.0.0" @@ -1981,6 +2035,17 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" +[[package]] +name = "pkcs8" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7cabda3fb821068a9a4fab19a683eac3af12edf0f34b94a8be53c4972b8149d0" +dependencies = [ + "der", + "spki", + "zeroize", +] + [[package]] name = "ppv-lite86" version = "0.2.17" @@ -2002,17 +2067,17 @@ dependencies = [ [[package]] name = "primitives" -version = "0.5.1" +version = "0.5.2" dependencies = [ "parity-scale-codec", "scale-info", "serde", "sp-api", - "sp-application-crypto 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-application-crypto 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", "sp-staking", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", ] [[package]] @@ -2429,6 +2494,7 @@ checksum = "08da66b8b0965a5555b6bd6639e68ccba85e1e2506f5fbb089e93f8a04e1a2d1" dependencies = [ "der", "generic-array 0.14.6", + "pkcs8", "subtle", "zeroize", ] @@ -2662,17 +2728,17 @@ dependencies = [ [[package]] name = "sp-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "hash-db", "log", "parity-scale-codec", "sp-api-proc-macro", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-state-machine 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-trie 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-state-machine 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-trie 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", "sp-version", "thiserror", ] @@ -2680,7 +2746,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "blake2", "proc-macro-crate", @@ -2706,14 +2772,14 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", ] [[package]] @@ -2735,15 +2801,15 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "integer-sqrt", "num-traits", "parity-scale-codec", "scale-info", "serde", - "sp-debug-derive 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-debug-derive 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", "static_assertions", ] @@ -2790,25 +2856,25 @@ dependencies = [ "substrate-bip39", "thiserror", "tiny-bip39", - "wasmi", + "wasmi 0.9.1", "zeroize", ] [[package]] name = "sp-core" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ + "array-bytes", "base58", "bitflags", - "blake2-rfc", + "blake2", "byteorder", "dyn-clonable", "ed25519-zebra", "futures", "hash-db", "hash256-std-hasher", - "hex", "impl-serde", "lazy_static", "libsecp256k1", @@ -2826,17 +2892,17 @@ dependencies = [ "secp256k1 0.24.1", "secrecy", "serde", - "sp-core-hashing 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-debug-derive 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-runtime-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-storage 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-core-hashing 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-debug-derive 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-runtime-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-storage 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", "ss58-registry", "substrate-bip39", "thiserror", "tiny-bip39", - "wasmi", + "wasmi 0.13.2", "zeroize", ] @@ -2857,25 +2923,25 @@ dependencies = [ [[package]] name = "sp-core-hashing" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "blake2", "byteorder", "digest 0.10.6", "sha2 0.10.6", "sha3", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", "twox-hash", ] [[package]] name = "sp-core-hashing-proc-macro" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "proc-macro2", "quote", - "sp-core-hashing 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-core-hashing 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", "syn", ] @@ -2893,7 +2959,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "proc-macro2", "quote", @@ -2915,25 +2981,25 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "environmental", "parity-scale-codec", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-storage 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-storage 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", ] [[package]] name = "sp-inherents" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "async-trait", "impl-trait-for-tuples", "parity-scale-codec", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", "thiserror", ] @@ -2966,7 +3032,7 @@ dependencies = [ [[package]] name = "sp-io" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "bytes", "futures", @@ -2976,15 +3042,15 @@ dependencies = [ "parity-scale-codec", "parking_lot", "secp256k1 0.24.1", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-keystore 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-runtime-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-state-machine 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-tracing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-trie 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-wasm-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-keystore 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-runtime-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-state-machine 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-tracing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-trie 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-wasm-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", "tracing", "tracing-core", ] @@ -3009,7 +3075,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "async-trait", "futures", @@ -3017,8 +3083,8 @@ dependencies = [ "parity-scale-codec", "parking_lot", "schnorrkel", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", "thiserror", ] @@ -3036,7 +3102,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "backtrace", "lazy_static", @@ -3046,11 +3112,11 @@ dependencies = [ [[package]] name = "sp-rpc" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "rustc-hash", "serde", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", ] [[package]] @@ -3079,7 +3145,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "either", "hash256-std-hasher", @@ -3091,11 +3157,12 @@ dependencies = [ "rand 0.7.3", "scale-info", "serde", - "sp-application-crypto 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-arithmetic 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-application-crypto 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-arithmetic 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-weights", ] [[package]] @@ -3119,18 +3186,18 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "bytes", "impl-trait-for-tuples", "parity-scale-codec", "primitive-types", - "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-runtime-interface-proc-macro 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-storage 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-tracing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-wasm-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-runtime-interface-proc-macro 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-storage 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-tracing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-wasm-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", "static_assertions", ] @@ -3150,7 +3217,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "Inflector", "proc-macro-crate", @@ -3162,12 +3229,12 @@ dependencies = [ [[package]] name = "sp-staking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "parity-scale-codec", "scale-info", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", ] [[package]] @@ -3197,7 +3264,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "hash-db", "log", @@ -3206,11 +3273,11 @@ dependencies = [ "parking_lot", "rand 0.7.3", "smallvec", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-panic-handler 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-trie 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-panic-handler 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-trie 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", "thiserror", "tracing", "trie-root", @@ -3225,7 +3292,7 @@ checksum = "14804d6069ee7a388240b665f17908d98386ffb0b5d39f89a4099fc7a2a4c03f" [[package]] name = "sp-std" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" [[package]] name = "sp-storage" @@ -3244,14 +3311,14 @@ dependencies = [ [[package]] name = "sp-storage" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "impl-serde", "parity-scale-codec", "ref-cast", "serde", - "sp-debug-derive 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-debug-derive 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", ] [[package]] @@ -3270,10 +3337,10 @@ dependencies = [ [[package]] name = "sp-tracing" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "parity-scale-codec", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", "tracing", "tracing-core", "tracing-subscriber", @@ -3298,7 +3365,7 @@ dependencies = [ [[package]] name = "sp-trie" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "ahash", "hash-db", @@ -3310,8 +3377,8 @@ dependencies = [ "parity-scale-codec", "parking_lot", "scale-info", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", "thiserror", "tracing", "trie-db 0.24.0", @@ -3321,16 +3388,16 @@ dependencies = [ [[package]] name = "sp-version" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "impl-serde", "parity-scale-codec", - "parity-wasm", + "parity-wasm 0.45.0", "scale-info", "serde", "sp-core-hashing-proc-macro", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", "sp-version-proc-macro", "thiserror", ] @@ -3338,7 +3405,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "parity-scale-codec", "proc-macro2", @@ -3356,19 +3423,35 @@ dependencies = [ "log", "parity-scale-codec", "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "wasmi", + "wasmi 0.9.1", ] [[package]] name = "sp-wasm-interface" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "impl-trait-for-tuples", "log", "parity-scale-codec", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "wasmi", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "wasmi 0.13.2", +] + +[[package]] +name = "sp-weights" +version = "4.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +dependencies = [ + "impl-trait-for-tuples", + "parity-scale-codec", + "scale-info", + "serde", + "smallvec", + "sp-arithmetic 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-debug-derive 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", ] [[package]] @@ -3377,6 +3460,16 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" +[[package]] +name = "spki" +version = "0.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44d01ac02a6ccf3e07db148d2be087da624fea0221a16152ed01f0496a6b0a27" +dependencies = [ + "base64ct", + "der", +] + [[package]] name = "ss58-registry" version = "1.35.0" @@ -3962,11 +4055,22 @@ checksum = "ca00c5147c319a8ec91ec1a0edbec31e566ce2c9cc93b3f9bb86a9efd0eb795d" dependencies = [ "downcast-rs", "libc", - "memory_units", - "num-rational", + "memory_units 0.3.0", + "num-rational 0.2.4", "num-traits", - "parity-wasm", - "wasmi-validation", + "parity-wasm 0.42.2", + "wasmi-validation 0.4.1", +] + +[[package]] +name = "wasmi" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06c326c93fbf86419608361a2c925a31754cf109da1b8b55737070b4d6669422" +dependencies = [ + "parity-wasm 0.45.0", + "wasmi-validation 0.5.0", + "wasmi_core", ] [[package]] @@ -3975,7 +4079,29 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "165343ecd6c018fc09ebcae280752702c9a2ef3e6f8d02f1cfcbdb53ef6d7937" dependencies = [ - "parity-wasm", + "parity-wasm 0.42.2", +] + +[[package]] +name = "wasmi-validation" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91ff416ad1ff0c42e5a926ed5d5fab74c0f098749aa0ad8b2a34b982ce0e867b" +dependencies = [ + "parity-wasm 0.45.0", +] + +[[package]] +name = "wasmi_core" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57d20cb3c59b788653d99541c646c561c9dd26506f25c0cebfe810659c54c6d7" +dependencies = [ + "downcast-rs", + "libm", + "memory_units 0.4.0", + "num-rational 0.4.1", + "num-traits", ] [[package]] diff --git a/aleph-client/Cargo.toml b/aleph-client/Cargo.toml index 9f4f1daa0e..735a2e6ccf 100644 --- a/aleph-client/Cargo.toml +++ b/aleph-client/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "aleph_client" -version = "2.1.0" +version = "2.2.0" edition = "2021" license = "Apache 2.0" @@ -19,8 +19,9 @@ subxt = "0.24.0" futures = "0.3.25" serde = { version = "1.0", features = ["derive"] } -frame-support = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29", features = ["full_crypto"] } -sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -pallet-contracts-primitives = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +frame-support = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30", features = ["full_crypto"] } +sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +pallet-contracts-primitives = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } + primitives = { path = "../primitives" } diff --git a/aleph-client/src/aleph_zero.rs b/aleph-client/src/aleph_zero.rs index 2afd6d0f14..0e52588e5c 100644 --- a/aleph-client/src/aleph_zero.rs +++ b/aleph-client/src/aleph_zero.rs @@ -373,7 +373,7 @@ pub mod api { )] #[doc = "An extrinsic completed successfully."] pub struct ExtrinsicSuccess { - pub dispatch_info: runtime_types::frame_support::weights::DispatchInfo, + pub dispatch_info: runtime_types::frame_support::dispatch::DispatchInfo, } impl ::subxt::events::StaticEvent for ExtrinsicSuccess { const PALLET: &'static str = "System"; @@ -390,7 +390,7 @@ pub mod api { #[doc = "An extrinsic failed."] pub struct ExtrinsicFailed { pub dispatch_error: runtime_types::sp_runtime::DispatchError, - pub dispatch_info: runtime_types::frame_support::weights::DispatchInfo, + pub dispatch_info: runtime_types::frame_support::dispatch::DispatchInfo, } impl ::subxt::events::StaticEvent for ExtrinsicFailed { const PALLET: &'static str = "System"; @@ -543,8 +543,8 @@ pub mod api { &self, ) -> ::subxt::storage::address::StaticStorageAddress< ::subxt::metadata::DecodeStaticType< - runtime_types::frame_support::weights::PerDispatchClass< - runtime_types::frame_support::weights::weight_v2::Weight, + runtime_types::frame_support::dispatch::PerDispatchClass< + runtime_types::sp_weights::weight_v2::Weight, >, >, ::subxt::storage::address::Yes, @@ -748,7 +748,7 @@ pub mod api { ::subxt::metadata::DecodeStaticType< ::std::vec::Vec< runtime_types::frame_system::EventRecord< - runtime_types::aleph_runtime::Event, + runtime_types::aleph_runtime::RuntimeEvent, ::subxt::ext::sp_core::H256, >, >, @@ -762,10 +762,9 @@ pub mod api { "Events", vec![], [ - 198u8, 187u8, 209u8, 80u8, 9u8, 194u8, 160u8, 190u8, 111u8, 16u8, - 139u8, 41u8, 92u8, 32u8, 174u8, 246u8, 104u8, 217u8, 101u8, 241u8, - 151u8, 49u8, 75u8, 151u8, 123u8, 219u8, 145u8, 242u8, 221u8, 242u8, - 90u8, 76u8, + 181u8, 0u8, 194u8, 201u8, 102u8, 108u8, 196u8, 46u8, 118u8, 138u8, 2u8, + 221u8, 14u8, 123u8, 40u8, 245u8, 83u8, 140u8, 232u8, 46u8, 206u8, 82u8, + 60u8, 149u8, 231u8, 102u8, 76u8, 193u8, 169u8, 165u8, 215u8, 193u8, ], ) } @@ -1007,9 +1006,7 @@ pub mod api { pub fn db_weight( &self, ) -> ::subxt::constants::StaticConstantAddress< - ::subxt::metadata::DecodeStaticType< - runtime_types::frame_support::weights::RuntimeDbWeight, - >, + ::subxt::metadata::DecodeStaticType, > { ::subxt::constants::StaticConstantAddress::new( "System", @@ -1074,7 +1071,7 @@ pub mod api { &self, ) -> ::subxt::storage::address::StaticStorageAddress< ::subxt::metadata::DecodeStaticType< - runtime_types::sp_runtime::bounded::bounded_vec::BoundedVec< + runtime_types::sp_core::bounded::bounded_vec::BoundedVec< ::subxt::ext::sp_core::H256, >, >, @@ -1118,7 +1115,7 @@ pub mod api { pub priority: ::core::primitive::u8, pub call: ::std::boxed::Box< runtime_types::frame_support::traits::schedule::MaybeHashed< - runtime_types::aleph_runtime::Call, + runtime_types::aleph_runtime::RuntimeCall, ::subxt::ext::sp_core::H256, >, >, @@ -1151,7 +1148,7 @@ pub mod api { pub priority: ::core::primitive::u8, pub call: ::std::boxed::Box< runtime_types::frame_support::traits::schedule::MaybeHashed< - runtime_types::aleph_runtime::Call, + runtime_types::aleph_runtime::RuntimeCall, ::subxt::ext::sp_core::H256, >, >, @@ -1182,7 +1179,7 @@ pub mod api { pub priority: ::core::primitive::u8, pub call: ::std::boxed::Box< runtime_types::frame_support::traits::schedule::MaybeHashed< - runtime_types::aleph_runtime::Call, + runtime_types::aleph_runtime::RuntimeCall, ::subxt::ext::sp_core::H256, >, >, @@ -1203,7 +1200,7 @@ pub mod api { pub priority: ::core::primitive::u8, pub call: ::std::boxed::Box< runtime_types::frame_support::traits::schedule::MaybeHashed< - runtime_types::aleph_runtime::Call, + runtime_types::aleph_runtime::RuntimeCall, ::subxt::ext::sp_core::H256, >, >, @@ -1220,7 +1217,7 @@ pub mod api { )>, priority: ::core::primitive::u8, call: runtime_types::frame_support::traits::schedule::MaybeHashed< - runtime_types::aleph_runtime::Call, + runtime_types::aleph_runtime::RuntimeCall, ::subxt::ext::sp_core::H256, >, ) -> ::subxt::tx::StaticTxPayload { @@ -1234,9 +1231,10 @@ pub mod api { call: ::std::boxed::Box::new(call), }, [ - 6u8, 154u8, 32u8, 153u8, 117u8, 81u8, 51u8, 50u8, 148u8, 235u8, 254u8, - 44u8, 36u8, 25u8, 80u8, 70u8, 253u8, 1u8, 18u8, 105u8, 141u8, 195u8, - 77u8, 232u8, 142u8, 16u8, 37u8, 46u8, 65u8, 79u8, 204u8, 240u8, + 158u8, 134u8, 46u8, 128u8, 150u8, 149u8, 86u8, 229u8, 152u8, 130u8, + 255u8, 63u8, 135u8, 192u8, 100u8, 255u8, 58u8, 249u8, 151u8, 190u8, + 6u8, 200u8, 17u8, 111u8, 183u8, 117u8, 0u8, 211u8, 153u8, 10u8, 137u8, + 134u8, ], ) } @@ -1268,7 +1266,7 @@ pub mod api { )>, priority: ::core::primitive::u8, call: runtime_types::frame_support::traits::schedule::MaybeHashed< - runtime_types::aleph_runtime::Call, + runtime_types::aleph_runtime::RuntimeCall, ::subxt::ext::sp_core::H256, >, ) -> ::subxt::tx::StaticTxPayload { @@ -1283,10 +1281,9 @@ pub mod api { call: ::std::boxed::Box::new(call), }, [ - 64u8, 233u8, 61u8, 193u8, 85u8, 208u8, 101u8, 104u8, 77u8, 103u8, 77u8, - 146u8, 184u8, 3u8, 103u8, 211u8, 146u8, 67u8, 158u8, 188u8, 170u8, - 192u8, 170u8, 136u8, 124u8, 77u8, 242u8, 89u8, 58u8, 230u8, 117u8, - 238u8, + 72u8, 30u8, 92u8, 129u8, 87u8, 235u8, 255u8, 155u8, 130u8, 105u8, 39u8, + 121u8, 35u8, 35u8, 231u8, 216u8, 98u8, 176u8, 90u8, 140u8, 177u8, + 223u8, 121u8, 41u8, 30u8, 178u8, 61u8, 60u8, 38u8, 192u8, 154u8, 229u8, ], ) } @@ -1320,7 +1317,7 @@ pub mod api { )>, priority: ::core::primitive::u8, call: runtime_types::frame_support::traits::schedule::MaybeHashed< - runtime_types::aleph_runtime::Call, + runtime_types::aleph_runtime::RuntimeCall, ::subxt::ext::sp_core::H256, >, ) -> ::subxt::tx::StaticTxPayload { @@ -1334,10 +1331,9 @@ pub mod api { call: ::std::boxed::Box::new(call), }, [ - 12u8, 135u8, 125u8, 198u8, 215u8, 29u8, 73u8, 63u8, 96u8, 170u8, 106u8, - 94u8, 42u8, 145u8, 30u8, 156u8, 215u8, 133u8, 52u8, 205u8, 210u8, - 224u8, 239u8, 22u8, 77u8, 110u8, 164u8, 111u8, 120u8, 153u8, 182u8, - 71u8, + 48u8, 224u8, 37u8, 241u8, 50u8, 54u8, 104u8, 242u8, 164u8, 86u8, 40u8, + 63u8, 228u8, 95u8, 41u8, 107u8, 161u8, 13u8, 133u8, 198u8, 59u8, 201u8, + 213u8, 230u8, 3u8, 187u8, 33u8, 241u8, 200u8, 88u8, 186u8, 197u8, ], ) } @@ -1356,7 +1352,7 @@ pub mod api { )>, priority: ::core::primitive::u8, call: runtime_types::frame_support::traits::schedule::MaybeHashed< - runtime_types::aleph_runtime::Call, + runtime_types::aleph_runtime::RuntimeCall, ::subxt::ext::sp_core::H256, >, ) -> ::subxt::tx::StaticTxPayload { @@ -1371,10 +1367,10 @@ pub mod api { call: ::std::boxed::Box::new(call), }, [ - 113u8, 250u8, 238u8, 246u8, 164u8, 180u8, 182u8, 103u8, 11u8, 222u8, - 121u8, 234u8, 107u8, 40u8, 247u8, 206u8, 85u8, 213u8, 101u8, 98u8, - 227u8, 102u8, 144u8, 206u8, 243u8, 205u8, 69u8, 127u8, 45u8, 162u8, - 231u8, 123u8, + 144u8, 121u8, 50u8, 145u8, 113u8, 132u8, 223u8, 90u8, 53u8, 50u8, 88u8, + 219u8, 243u8, 199u8, 156u8, 236u8, 197u8, 190u8, 72u8, 104u8, 162u8, + 67u8, 194u8, 17u8, 201u8, 159u8, 187u8, 229u8, 233u8, 15u8, 240u8, + 250u8, ], ) } @@ -1469,7 +1465,7 @@ pub mod api { ::core::option::Option< runtime_types::pallet_scheduler::ScheduledV3< runtime_types::frame_support::traits::schedule::MaybeHashed< - runtime_types::aleph_runtime::Call, + runtime_types::aleph_runtime::RuntimeCall, ::subxt::ext::sp_core::H256, >, ::core::primitive::u32, @@ -1491,9 +1487,9 @@ pub mod api { ::subxt::storage::address::StorageHasher::Twox64Concat, )], [ - 48u8, 134u8, 42u8, 118u8, 158u8, 244u8, 227u8, 33u8, 27u8, 118u8, 41u8, - 58u8, 205u8, 166u8, 6u8, 120u8, 207u8, 48u8, 80u8, 212u8, 1u8, 184u8, - 185u8, 204u8, 71u8, 219u8, 56u8, 165u8, 86u8, 225u8, 48u8, 188u8, + 12u8, 109u8, 51u8, 9u8, 116u8, 240u8, 83u8, 98u8, 158u8, 95u8, 46u8, + 168u8, 125u8, 248u8, 111u8, 207u8, 171u8, 20u8, 219u8, 156u8, 222u8, + 42u8, 207u8, 234u8, 206u8, 162u8, 58u8, 1u8, 45u8, 255u8, 124u8, 129u8, ], ) } @@ -1506,7 +1502,7 @@ pub mod api { ::core::option::Option< runtime_types::pallet_scheduler::ScheduledV3< runtime_types::frame_support::traits::schedule::MaybeHashed< - runtime_types::aleph_runtime::Call, + runtime_types::aleph_runtime::RuntimeCall, ::subxt::ext::sp_core::H256, >, ::core::primitive::u32, @@ -1525,9 +1521,9 @@ pub mod api { "Agenda", Vec::new(), [ - 48u8, 134u8, 42u8, 118u8, 158u8, 244u8, 227u8, 33u8, 27u8, 118u8, 41u8, - 58u8, 205u8, 166u8, 6u8, 120u8, 207u8, 48u8, 80u8, 212u8, 1u8, 184u8, - 185u8, 204u8, 71u8, 219u8, 56u8, 165u8, 86u8, 225u8, 48u8, 188u8, + 12u8, 109u8, 51u8, 9u8, 116u8, 240u8, 83u8, 98u8, 158u8, 95u8, 46u8, + 168u8, 125u8, 248u8, 111u8, 207u8, 171u8, 20u8, 219u8, 156u8, 222u8, + 42u8, 207u8, 234u8, 206u8, 162u8, 58u8, 1u8, 45u8, 255u8, 124u8, 129u8, ], ) } @@ -1593,7 +1589,7 @@ pub mod api { &self, ) -> ::subxt::constants::StaticConstantAddress< ::subxt::metadata::DecodeStaticType< - runtime_types::frame_support::weights::weight_v2::Weight, + runtime_types::sp_weights::weight_v2::Weight, >, > { ::subxt::constants::StaticConstantAddress::new( @@ -1638,7 +1634,7 @@ pub mod api { &self, ) -> ::subxt::storage::address::StaticStorageAddress< ::subxt::metadata::DecodeStaticType< - runtime_types::sp_runtime::bounded::bounded_vec::BoundedVec< + runtime_types::sp_core::bounded::bounded_vec::BoundedVec< runtime_types::sp_consensus_aura::sr25519::app_sr25519::Public, >, >, @@ -2425,7 +2421,7 @@ pub mod api { _0: impl ::std::borrow::Borrow<::subxt::ext::sp_core::crypto::AccountId32>, ) -> ::subxt::storage::address::StaticStorageAddress< ::subxt::metadata::DecodeStaticType< - runtime_types::sp_runtime::bounded::weak_bounded_vec::WeakBoundedVec< + runtime_types::sp_core::bounded::weak_bounded_vec::WeakBoundedVec< runtime_types::pallet_balances::BalanceLock<::core::primitive::u128>, >, >, @@ -2453,7 +2449,7 @@ pub mod api { &self, ) -> ::subxt::storage::address::StaticStorageAddress< ::subxt::metadata::DecodeStaticType< - runtime_types::sp_runtime::bounded::weak_bounded_vec::WeakBoundedVec< + runtime_types::sp_core::bounded::weak_bounded_vec::WeakBoundedVec< runtime_types::pallet_balances::BalanceLock<::core::primitive::u128>, >, >, @@ -2478,7 +2474,7 @@ pub mod api { _0: impl ::std::borrow::Borrow<::subxt::ext::sp_core::crypto::AccountId32>, ) -> ::subxt::storage::address::StaticStorageAddress< ::subxt::metadata::DecodeStaticType< - runtime_types::sp_runtime::bounded::bounded_vec::BoundedVec< + runtime_types::sp_core::bounded::bounded_vec::BoundedVec< runtime_types::pallet_balances::ReserveData< [::core::primitive::u8; 8usize], ::core::primitive::u128, @@ -2508,7 +2504,7 @@ pub mod api { &self, ) -> ::subxt::storage::address::StaticStorageAddress< ::subxt::metadata::DecodeStaticType< - runtime_types::sp_runtime::bounded::bounded_vec::BoundedVec< + runtime_types::sp_core::bounded::bounded_vec::BoundedVec< runtime_types::pallet_balances::ReserveData< [::core::primitive::u8; 8usize], ::core::primitive::u128, @@ -2789,7 +2785,7 @@ pub mod api { &self, ) -> ::subxt::storage::address::StaticStorageAddress< ::subxt::metadata::DecodeStaticType< - runtime_types::sp_runtime::bounded::bounded_vec::BoundedVec< + runtime_types::sp_core::bounded::bounded_vec::BoundedVec< runtime_types::pallet_authorship::UncleEntryItem< ::core::primitive::u32, ::subxt::ext::sp_core::H256, @@ -3135,20 +3131,6 @@ pub mod api { Eq, PartialEq, )] - pub struct SetHistoryDepth { - #[codec(compact)] - pub new_history_depth: ::core::primitive::u32, - #[codec(compact)] - pub era_items_deleted: ::core::primitive::u32, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - Clone, - Debug, - Eq, - PartialEq, - )] pub struct ReapStash { pub stash: ::subxt::ext::sp_core::crypto::AccountId32, pub num_slashing_spans: ::core::primitive::u32, @@ -3778,48 +3760,6 @@ pub mod api { ], ) } - #[doc = "Set `HistoryDepth` value. This function will delete any history information"] - #[doc = "when `HistoryDepth` is reduced."] - #[doc = ""] - #[doc = "Parameters:"] - #[doc = "- `new_history_depth`: The new history depth you would like to set."] - #[doc = "- `era_items_deleted`: The number of items that will be deleted by this dispatch. This"] - #[doc = " should report all the storage items that will be deleted by clearing old era history."] - #[doc = " Needed to report an accurate weight for the dispatch. Trusted by `Root` to report an"] - #[doc = " accurate number."] - #[doc = ""] - #[doc = "Origin must be root."] - #[doc = ""] - #[doc = "# "] - #[doc = "- E: Number of history depths removed, i.e. 10 -> 7 = 3"] - #[doc = "- Weight: O(E)"] - #[doc = "- DB Weight:"] - #[doc = " - Reads: Current Era, History Depth"] - #[doc = " - Writes: History Depth"] - #[doc = " - Clear Prefix Each: Era Stakers, EraStakersClipped, ErasValidatorPrefs"] - #[doc = " - Writes Each: ErasValidatorReward, ErasRewardPoints, ErasTotalStake,"] - #[doc = " ErasStartSessionIndex"] - #[doc = "# "] - pub fn set_history_depth( - &self, - new_history_depth: ::core::primitive::u32, - era_items_deleted: ::core::primitive::u32, - ) -> ::subxt::tx::StaticTxPayload { - ::subxt::tx::StaticTxPayload::new( - "Staking", - "set_history_depth", - SetHistoryDepth { - new_history_depth, - era_items_deleted, - }, - [ - 174u8, 55u8, 231u8, 132u8, 219u8, 215u8, 118u8, 202u8, 13u8, 151u8, - 193u8, 248u8, 141u8, 180u8, 56u8, 103u8, 90u8, 182u8, 194u8, 198u8, - 120u8, 251u8, 143u8, 218u8, 81u8, 59u8, 13u8, 161u8, 247u8, 57u8, - 178u8, 122u8, - ], - ) - } #[doc = "Remove all data structures concerning a staker/stash once it is at a state where it can"] #[doc = "be considered `dust` in the staking system. The requirements are:"] #[doc = ""] @@ -3896,7 +3836,7 @@ pub mod api { #[doc = "* `min_commission`: The minimum amount of commission that each validators must maintain."] #[doc = " This is checked only upon calling `validate`. Existing validators are not affected."] #[doc = ""] - #[doc = "Origin must be Root to call this function."] + #[doc = "RuntimeOrigin must be Root to call this function."] #[doc = ""] #[doc = "NOTE: Existing nominators and validators will not be affected by this update."] #[doc = "to kick people under the new limits, `chill_other` should be called."] @@ -4015,12 +3955,11 @@ pub mod api { )] #[doc = "The era payout has been set; the first balance is the validator-payout; the second is"] #[doc = "the remainder from the maximum amount of reward."] - #[doc = "\\[era_index, validator_payout, remainder\\]"] - pub struct EraPaid( - pub ::core::primitive::u32, - pub ::core::primitive::u128, - pub ::core::primitive::u128, - ); + pub struct EraPaid { + pub era_index: ::core::primitive::u32, + pub validator_payout: ::core::primitive::u128, + pub remainder: ::core::primitive::u128, + } impl ::subxt::events::StaticEvent for EraPaid { const PALLET: &'static str = "Staking"; const EVENT: &'static str = "EraPaid"; @@ -4033,11 +3972,11 @@ pub mod api { Eq, PartialEq, )] - #[doc = "The nominator has been rewarded by this amount. \\[stash, amount\\]"] - pub struct Rewarded( - pub ::subxt::ext::sp_core::crypto::AccountId32, - pub ::core::primitive::u128, - ); + #[doc = "The nominator has been rewarded by this amount."] + pub struct Rewarded { + pub stash: ::subxt::ext::sp_core::crypto::AccountId32, + pub amount: ::core::primitive::u128, + } impl ::subxt::events::StaticEvent for Rewarded { const PALLET: &'static str = "Staking"; const EVENT: &'static str = "Rewarded"; @@ -4050,12 +3989,11 @@ pub mod api { Eq, PartialEq, )] - #[doc = "One validator (and its nominators) has been slashed by the given amount."] - #[doc = "\\[validator, amount\\]"] - pub struct Slashed( - pub ::subxt::ext::sp_core::crypto::AccountId32, - pub ::core::primitive::u128, - ); + #[doc = "One staker (and potentially its nominators) has been slashed by the given amount."] + pub struct Slashed { + pub staker: ::subxt::ext::sp_core::crypto::AccountId32, + pub amount: ::core::primitive::u128, + } impl ::subxt::events::StaticEvent for Slashed { const PALLET: &'static str = "Staking"; const EVENT: &'static str = "Slashed"; @@ -4070,8 +4008,10 @@ pub mod api { PartialEq, )] #[doc = "An old slashing report from a prior era was discarded because it could"] - #[doc = "not be processed. \\[session_index\\]"] - pub struct OldSlashingReportDiscarded(pub ::core::primitive::u32); + #[doc = "not be processed."] + pub struct OldSlashingReportDiscarded { + pub session_index: ::core::primitive::u32, + } impl ::subxt::events::StaticEvent for OldSlashingReportDiscarded { const PALLET: &'static str = "Staking"; const EVENT: &'static str = "OldSlashingReportDiscarded"; @@ -4102,10 +4042,10 @@ pub mod api { #[doc = ""] #[doc = "NOTE: This event is only emitted when funds are bonded via a dispatchable. Notably,"] #[doc = "it will not be emitted for staking rewards when they are added to stake."] - pub struct Bonded( - pub ::subxt::ext::sp_core::crypto::AccountId32, - pub ::core::primitive::u128, - ); + pub struct Bonded { + pub stash: ::subxt::ext::sp_core::crypto::AccountId32, + pub amount: ::core::primitive::u128, + } impl ::subxt::events::StaticEvent for Bonded { const PALLET: &'static str = "Staking"; const EVENT: &'static str = "Bonded"; @@ -4118,11 +4058,11 @@ pub mod api { Eq, PartialEq, )] - #[doc = "An account has unbonded this amount. \\[stash, amount\\]"] - pub struct Unbonded( - pub ::subxt::ext::sp_core::crypto::AccountId32, - pub ::core::primitive::u128, - ); + #[doc = "An account has unbonded this amount."] + pub struct Unbonded { + pub stash: ::subxt::ext::sp_core::crypto::AccountId32, + pub amount: ::core::primitive::u128, + } impl ::subxt::events::StaticEvent for Unbonded { const PALLET: &'static str = "Staking"; const EVENT: &'static str = "Unbonded"; @@ -4136,11 +4076,11 @@ pub mod api { PartialEq, )] #[doc = "An account has called `withdraw_unbonded` and removed unbonding chunks worth `Balance`"] - #[doc = "from the unlocking queue. \\[stash, amount\\]"] - pub struct Withdrawn( - pub ::subxt::ext::sp_core::crypto::AccountId32, - pub ::core::primitive::u128, - ); + #[doc = "from the unlocking queue."] + pub struct Withdrawn { + pub stash: ::subxt::ext::sp_core::crypto::AccountId32, + pub amount: ::core::primitive::u128, + } impl ::subxt::events::StaticEvent for Withdrawn { const PALLET: &'static str = "Staking"; const EVENT: &'static str = "Withdrawn"; @@ -4153,11 +4093,11 @@ pub mod api { Eq, PartialEq, )] - #[doc = "A nominator has been kicked from a validator. \\[nominator, stash\\]"] - pub struct Kicked( - pub ::subxt::ext::sp_core::crypto::AccountId32, - pub ::subxt::ext::sp_core::crypto::AccountId32, - ); + #[doc = "A nominator has been kicked from a validator."] + pub struct Kicked { + pub nominator: ::subxt::ext::sp_core::crypto::AccountId32, + pub stash: ::subxt::ext::sp_core::crypto::AccountId32, + } impl ::subxt::events::StaticEvent for Kicked { const PALLET: &'static str = "Staking"; const EVENT: &'static str = "Kicked"; @@ -4185,8 +4125,9 @@ pub mod api { PartialEq, )] #[doc = "An account has stopped participating as either a validator or nominator."] - #[doc = "\\[stash\\]"] - pub struct Chilled(pub ::subxt::ext::sp_core::crypto::AccountId32); + pub struct Chilled { + pub stash: ::subxt::ext::sp_core::crypto::AccountId32, + } impl ::subxt::events::StaticEvent for Chilled { const PALLET: &'static str = "Staking"; const EVENT: &'static str = "Chilled"; @@ -4199,11 +4140,11 @@ pub mod api { Eq, PartialEq, )] - #[doc = "The stakers' rewards are getting paid. \\[era_index, validator_stash\\]"] - pub struct PayoutStarted( - pub ::core::primitive::u32, - pub ::subxt::ext::sp_core::crypto::AccountId32, - ); + #[doc = "The stakers' rewards are getting paid."] + pub struct PayoutStarted { + pub era_index: ::core::primitive::u32, + pub validator_stash: ::subxt::ext::sp_core::crypto::AccountId32, + } impl ::subxt::events::StaticEvent for PayoutStarted { const PALLET: &'static str = "Staking"; const EVENT: &'static str = "PayoutStarted"; @@ -4217,10 +4158,10 @@ pub mod api { PartialEq, )] #[doc = "A validator has set their preferences."] - pub struct ValidatorPrefsSet( - pub ::subxt::ext::sp_core::crypto::AccountId32, - pub runtime_types::pallet_staking::ValidatorPrefs, - ); + pub struct ValidatorPrefsSet { + pub stash: ::subxt::ext::sp_core::crypto::AccountId32, + pub prefs: runtime_types::pallet_staking::ValidatorPrefs, + } impl ::subxt::events::StaticEvent for ValidatorPrefsSet { const PALLET: &'static str = "Staking"; const EVENT: &'static str = "ValidatorPrefsSet"; @@ -4230,33 +4171,6 @@ pub mod api { use super::runtime_types; pub struct StorageApi; impl StorageApi { - #[doc = " Number of eras to keep in history."] - #[doc = ""] - #[doc = " Information is kept for eras in `[current_era - history_depth; current_era]`."] - #[doc = ""] - #[doc = " Must be more than the number of eras delayed by session otherwise. I.e. active era must"] - #[doc = " always be in history. I.e. `active_era > current_era - history_depth` must be"] - #[doc = " guaranteed."] - pub fn history_depth( - &self, - ) -> ::subxt::storage::address::StaticStorageAddress< - ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, - ::subxt::storage::address::Yes, - ::subxt::storage::address::Yes, - (), - > { - ::subxt::storage::address::StaticStorageAddress::new( - "Staking", - "HistoryDepth", - vec![], - [ - 41u8, 54u8, 118u8, 245u8, 75u8, 136u8, 220u8, 25u8, 55u8, 255u8, 149u8, - 177u8, 49u8, 155u8, 167u8, 188u8, 170u8, 29u8, 251u8, 44u8, 240u8, - 250u8, 225u8, 205u8, 102u8, 74u8, 25u8, 47u8, 52u8, 235u8, 204u8, - 167u8, - ], - ) - } #[doc = " The ideal number of staking participants."] pub fn validator_count( &self, @@ -4449,10 +4363,10 @@ pub mod api { ::subxt::storage::address::StorageHasher::Blake2_128Concat, )], [ - 117u8, 177u8, 209u8, 237u8, 0u8, 30u8, 228u8, 128u8, 150u8, 69u8, - 138u8, 21u8, 9u8, 74u8, 178u8, 113u8, 238u8, 111u8, 57u8, 222u8, 242u8, - 241u8, 191u8, 50u8, 225u8, 51u8, 99u8, 211u8, 210u8, 163u8, 60u8, - 205u8, + 31u8, 205u8, 3u8, 165u8, 22u8, 22u8, 62u8, 92u8, 33u8, 189u8, 124u8, + 120u8, 177u8, 70u8, 27u8, 242u8, 188u8, 184u8, 204u8, 188u8, 242u8, + 140u8, 128u8, 230u8, 85u8, 99u8, 181u8, 173u8, 67u8, 252u8, 37u8, + 236u8, ], ) } @@ -4472,10 +4386,10 @@ pub mod api { "Ledger", Vec::new(), [ - 117u8, 177u8, 209u8, 237u8, 0u8, 30u8, 228u8, 128u8, 150u8, 69u8, - 138u8, 21u8, 9u8, 74u8, 178u8, 113u8, 238u8, 111u8, 57u8, 222u8, 242u8, - 241u8, 191u8, 50u8, 225u8, 51u8, 99u8, 211u8, 210u8, 163u8, 60u8, - 205u8, + 31u8, 205u8, 3u8, 165u8, 22u8, 22u8, 62u8, 92u8, 33u8, 189u8, 124u8, + 120u8, 177u8, 70u8, 27u8, 242u8, 188u8, 184u8, 204u8, 188u8, 242u8, + 140u8, 128u8, 230u8, 85u8, 99u8, 181u8, 173u8, 67u8, 252u8, 37u8, + 236u8, ], ) } @@ -5647,10 +5561,9 @@ pub mod api { "StorageVersion", vec![], [ - 8u8, 115u8, 68u8, 36u8, 142u8, 21u8, 152u8, 127u8, 211u8, 17u8, 75u8, - 76u8, 65u8, 237u8, 187u8, 193u8, 176u8, 44u8, 19u8, 166u8, 116u8, - 148u8, 110u8, 234u8, 115u8, 254u8, 73u8, 128u8, 111u8, 140u8, 2u8, - 168u8, + 70u8, 24u8, 179u8, 189u8, 168u8, 164u8, 175u8, 150u8, 215u8, 43u8, + 18u8, 110u8, 180u8, 137u8, 237u8, 187u8, 185u8, 50u8, 31u8, 57u8, 16u8, + 110u8, 6u8, 170u8, 19u8, 7u8, 160u8, 134u8, 232u8, 227u8, 151u8, 116u8, ], ) } @@ -5701,6 +5614,42 @@ pub mod api { ], ) } + #[doc = " Number of eras to keep in history."] + #[doc = ""] + #[doc = " Following information is kept for eras in `[current_era -"] + #[doc = " HistoryDepth, current_era]`: `ErasStakers`, `ErasStakersClipped`,"] + #[doc = " `ErasValidatorPrefs`, `ErasValidatorReward`, `ErasRewardPoints`,"] + #[doc = " `ErasTotalStake`, `ErasStartSessionIndex`,"] + #[doc = " `StakingLedger.claimed_rewards`."] + #[doc = ""] + #[doc = " Must be more than the number of eras delayed by session."] + #[doc = " I.e. active era must always be in history. I.e. `active_era >"] + #[doc = " current_era - history_depth` must be guaranteed."] + #[doc = ""] + #[doc = " If migrating an existing pallet from storage value to config value,"] + #[doc = " this should be set to same value or greater as in storage."] + #[doc = ""] + #[doc = " Note: `HistoryDepth` is used as the upper bound for the `BoundedVec`"] + #[doc = " item `StakingLedger.claimed_rewards`. Setting this value lower than"] + #[doc = " the existing value can lead to inconsistencies in the"] + #[doc = " `StakingLedger` and will need to be handled properly in a migration."] + #[doc = " The test `reducing_history_depth_abrupt` shows this effect."] + pub fn history_depth( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Staking", + "HistoryDepth", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } #[doc = " Number of sessions per era."] pub fn sessions_per_era( &self, @@ -5775,8 +5724,16 @@ pub mod api { ], ) } - #[doc = " The maximum number of `unlocking` chunks a [`StakingLedger`] can have. Effectively"] - #[doc = " determines how many unique eras a staker may be unbonding in."] + #[doc = " The maximum number of `unlocking` chunks a [`StakingLedger`] can"] + #[doc = " have. Effectively determines how many unique eras a staker may be"] + #[doc = " unbonding in."] + #[doc = ""] + #[doc = " Note: `MaxUnlockingChunks` is used as the upper bound for the"] + #[doc = " `BoundedVec` item `StakingLedger.unlocking`. Setting this value"] + #[doc = " lower than the existing value can lead to inconsistencies in the"] + #[doc = " `StakingLedger` and will need to be handled properly in a runtime"] + #[doc = " migration. The test `reducing_max_unlocking_chunks_abrupt` shows"] + #[doc = " this effect."] pub fn max_unlocking_chunks( &self, ) -> ::subxt::constants::StaticConstantAddress< @@ -7495,7 +7452,7 @@ pub mod api { &self, ) -> ::subxt::storage::address::StaticStorageAddress< ::subxt::metadata::DecodeStaticType< - runtime_types::sp_runtime::bounded::bounded_vec::BoundedVec< + runtime_types::sp_core::bounded::bounded_vec::BoundedVec< ::core::primitive::u32, >, >, @@ -7969,7 +7926,7 @@ pub mod api { _0: impl ::std::borrow::Borrow<::subxt::ext::sp_core::crypto::AccountId32>, ) -> ::subxt::storage::address::StaticStorageAddress< ::subxt::metadata::DecodeStaticType< - runtime_types::sp_runtime::bounded::bounded_vec::BoundedVec< + runtime_types::sp_core::bounded::bounded_vec::BoundedVec< runtime_types::pallet_vesting::vesting_info::VestingInfo< ::core::primitive::u128, ::core::primitive::u32, @@ -7999,7 +7956,7 @@ pub mod api { &self, ) -> ::subxt::storage::address::StaticStorageAddress< ::subxt::metadata::DecodeStaticType< - runtime_types::sp_runtime::bounded::bounded_vec::BoundedVec< + runtime_types::sp_core::bounded::bounded_vec::BoundedVec< runtime_types::pallet_vesting::vesting_info::VestingInfo< ::core::primitive::u128, ::core::primitive::u32, @@ -8099,7 +8056,7 @@ pub mod api { PartialEq, )] pub struct Batch { - pub calls: ::std::vec::Vec, + pub calls: ::std::vec::Vec, } #[derive( :: subxt :: ext :: codec :: Decode, @@ -8111,7 +8068,7 @@ pub mod api { )] pub struct AsDerivative { pub index: ::core::primitive::u16, - pub call: ::std::boxed::Box, + pub call: ::std::boxed::Box, } #[derive( :: subxt :: ext :: codec :: Decode, @@ -8122,7 +8079,7 @@ pub mod api { PartialEq, )] pub struct BatchAll { - pub calls: ::std::vec::Vec, + pub calls: ::std::vec::Vec, } #[derive( :: subxt :: ext :: codec :: Decode, @@ -8134,7 +8091,7 @@ pub mod api { )] pub struct DispatchAs { pub as_origin: ::std::boxed::Box, - pub call: ::std::boxed::Box, + pub call: ::std::boxed::Box, } #[derive( :: subxt :: ext :: codec :: Decode, @@ -8145,7 +8102,7 @@ pub mod api { PartialEq, )] pub struct ForceBatch { - pub calls: ::std::vec::Vec, + pub calls: ::std::vec::Vec, } pub struct TransactionApi; impl TransactionApi { @@ -8170,17 +8127,16 @@ pub mod api { #[doc = "event is deposited."] pub fn batch( &self, - calls: ::std::vec::Vec, + calls: ::std::vec::Vec, ) -> ::subxt::tx::StaticTxPayload { ::subxt::tx::StaticTxPayload::new( "Utility", "batch", Batch { calls }, [ - 38u8, 250u8, 148u8, 115u8, 100u8, 245u8, 235u8, 249u8, 251u8, 73u8, - 39u8, 145u8, 58u8, 252u8, 2u8, 199u8, 221u8, 107u8, 86u8, 205u8, 230u8, - 66u8, 212u8, 222u8, 148u8, 176u8, 74u8, 136u8, 150u8, 32u8, 13u8, - 102u8, + 203u8, 218u8, 26u8, 141u8, 185u8, 38u8, 2u8, 26u8, 44u8, 198u8, 56u8, + 113u8, 221u8, 101u8, 145u8, 247u8, 116u8, 14u8, 110u8, 71u8, 69u8, + 127u8, 235u8, 92u8, 94u8, 11u8, 14u8, 40u8, 158u8, 213u8, 20u8, 128u8, ], ) } @@ -8200,7 +8156,7 @@ pub mod api { pub fn as_derivative( &self, index: ::core::primitive::u16, - call: runtime_types::aleph_runtime::Call, + call: runtime_types::aleph_runtime::RuntimeCall, ) -> ::subxt::tx::StaticTxPayload { ::subxt::tx::StaticTxPayload::new( "Utility", @@ -8210,9 +8166,10 @@ pub mod api { call: ::std::boxed::Box::new(call), }, [ - 195u8, 79u8, 52u8, 82u8, 151u8, 192u8, 7u8, 127u8, 13u8, 50u8, 229u8, - 145u8, 126u8, 86u8, 31u8, 129u8, 247u8, 252u8, 189u8, 113u8, 153u8, - 105u8, 248u8, 52u8, 221u8, 139u8, 49u8, 29u8, 41u8, 130u8, 7u8, 141u8, + 172u8, 73u8, 193u8, 237u8, 185u8, 20u8, 72u8, 222u8, 236u8, 223u8, + 203u8, 21u8, 171u8, 242u8, 226u8, 11u8, 73u8, 17u8, 212u8, 125u8, + 213u8, 19u8, 154u8, 31u8, 11u8, 243u8, 164u8, 28u8, 144u8, 140u8, + 102u8, 88u8, ], ) } @@ -8232,16 +8189,17 @@ pub mod api { #[doc = "# "] pub fn batch_all( &self, - calls: ::std::vec::Vec, + calls: ::std::vec::Vec, ) -> ::subxt::tx::StaticTxPayload { ::subxt::tx::StaticTxPayload::new( "Utility", "batch_all", BatchAll { calls }, [ - 231u8, 3u8, 189u8, 248u8, 206u8, 200u8, 4u8, 157u8, 228u8, 71u8, 25u8, - 40u8, 105u8, 188u8, 104u8, 54u8, 66u8, 118u8, 82u8, 121u8, 42u8, 151u8, - 132u8, 116u8, 32u8, 113u8, 13u8, 96u8, 218u8, 153u8, 138u8, 230u8, + 49u8, 35u8, 177u8, 112u8, 162u8, 200u8, 255u8, 226u8, 113u8, 117u8, + 53u8, 121u8, 2u8, 33u8, 52u8, 140u8, 88u8, 184u8, 67u8, 89u8, 169u8, + 78u8, 221u8, 192u8, 120u8, 97u8, 80u8, 252u8, 142u8, 110u8, 214u8, + 55u8, ], ) } @@ -8258,7 +8216,7 @@ pub mod api { pub fn dispatch_as( &self, as_origin: runtime_types::aleph_runtime::OriginCaller, - call: runtime_types::aleph_runtime::Call, + call: runtime_types::aleph_runtime::RuntimeCall, ) -> ::subxt::tx::StaticTxPayload { ::subxt::tx::StaticTxPayload::new( "Utility", @@ -8268,10 +8226,9 @@ pub mod api { call: ::std::boxed::Box::new(call), }, [ - 28u8, 245u8, 216u8, 108u8, 213u8, 229u8, 68u8, 99u8, 211u8, 152u8, - 216u8, 71u8, 188u8, 88u8, 254u8, 146u8, 228u8, 103u8, 45u8, 32u8, - 245u8, 16u8, 140u8, 233u8, 17u8, 0u8, 225u8, 2u8, 13u8, 73u8, 61u8, - 65u8, + 128u8, 45u8, 153u8, 82u8, 118u8, 8u8, 145u8, 1u8, 33u8, 94u8, 150u8, + 203u8, 170u8, 195u8, 5u8, 74u8, 230u8, 129u8, 18u8, 97u8, 46u8, 165u8, + 181u8, 170u8, 158u8, 230u8, 90u8, 243u8, 38u8, 142u8, 167u8, 1u8, ], ) } @@ -8291,16 +8248,17 @@ pub mod api { #[doc = "# "] pub fn force_batch( &self, - calls: ::std::vec::Vec, + calls: ::std::vec::Vec, ) -> ::subxt::tx::StaticTxPayload { ::subxt::tx::StaticTxPayload::new( "Utility", "force_batch", ForceBatch { calls }, [ - 247u8, 94u8, 55u8, 14u8, 159u8, 16u8, 91u8, 127u8, 164u8, 141u8, 35u8, - 253u8, 61u8, 219u8, 77u8, 27u8, 33u8, 186u8, 215u8, 240u8, 119u8, - 182u8, 61u8, 11u8, 149u8, 203u8, 75u8, 29u8, 126u8, 21u8, 34u8, 60u8, + 70u8, 71u8, 250u8, 235u8, 122u8, 250u8, 140u8, 252u8, 37u8, 252u8, + 231u8, 150u8, 115u8, 4u8, 22u8, 122u8, 190u8, 137u8, 37u8, 193u8, 33u8, + 132u8, 111u8, 216u8, 58u8, 178u8, 237u8, 221u8, 160u8, 170u8, 99u8, + 146u8, ], ) } @@ -8443,7 +8401,7 @@ pub mod api { )] pub struct AsMultiThreshold1 { pub other_signatories: ::std::vec::Vec<::subxt::ext::sp_core::crypto::AccountId32>, - pub call: ::std::boxed::Box, + pub call: ::std::boxed::Box, } #[derive( :: subxt :: ext :: codec :: Decode, @@ -8459,9 +8417,10 @@ pub mod api { pub maybe_timepoint: ::core::option::Option< runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>, >, - pub call: ::subxt::utils::WrapperKeepOpaque, + pub call: + ::subxt::utils::WrapperKeepOpaque, pub store_call: ::core::primitive::bool, - pub max_weight: runtime_types::frame_support::weights::weight_v2::Weight, + pub max_weight: runtime_types::sp_weights::weight_v2::Weight, } #[derive( :: subxt :: ext :: codec :: Decode, @@ -8478,7 +8437,7 @@ pub mod api { runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>, >, pub call_hash: [::core::primitive::u8; 32usize], - pub max_weight: runtime_types::frame_support::weights::weight_v2::Weight, + pub max_weight: runtime_types::sp_weights::weight_v2::Weight, } #[derive( :: subxt :: ext :: codec :: Decode, @@ -8515,7 +8474,7 @@ pub mod api { pub fn as_multi_threshold_1( &self, other_signatories: ::std::vec::Vec<::subxt::ext::sp_core::crypto::AccountId32>, - call: runtime_types::aleph_runtime::Call, + call: runtime_types::aleph_runtime::RuntimeCall, ) -> ::subxt::tx::StaticTxPayload { ::subxt::tx::StaticTxPayload::new( "Multisig", @@ -8525,9 +8484,9 @@ pub mod api { call: ::std::boxed::Box::new(call), }, [ - 53u8, 79u8, 133u8, 170u8, 166u8, 210u8, 72u8, 76u8, 40u8, 101u8, 216u8, - 247u8, 236u8, 120u8, 129u8, 225u8, 247u8, 91u8, 103u8, 56u8, 113u8, - 3u8, 248u8, 23u8, 15u8, 180u8, 234u8, 59u8, 71u8, 214u8, 161u8, 241u8, + 117u8, 25u8, 22u8, 247u8, 186u8, 56u8, 97u8, 61u8, 95u8, 86u8, 244u8, + 255u8, 42u8, 239u8, 140u8, 156u8, 167u8, 240u8, 173u8, 245u8, 124u8, + 123u8, 108u8, 112u8, 82u8, 7u8, 91u8, 207u8, 87u8, 149u8, 226u8, 174u8, ], ) } @@ -8583,9 +8542,11 @@ pub mod api { maybe_timepoint: ::core::option::Option< runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>, >, - call: ::subxt::utils::WrapperKeepOpaque, + call: ::subxt::utils::WrapperKeepOpaque< + runtime_types::aleph_runtime::RuntimeCall, + >, store_call: ::core::primitive::bool, - max_weight: runtime_types::frame_support::weights::weight_v2::Weight, + max_weight: runtime_types::sp_weights::weight_v2::Weight, ) -> ::subxt::tx::StaticTxPayload { ::subxt::tx::StaticTxPayload::new( "Multisig", @@ -8599,9 +8560,9 @@ pub mod api { max_weight, }, [ - 9u8, 66u8, 214u8, 188u8, 89u8, 24u8, 80u8, 85u8, 17u8, 43u8, 3u8, - 145u8, 241u8, 142u8, 37u8, 84u8, 126u8, 13u8, 42u8, 218u8, 189u8, 52u8, - 18u8, 1u8, 247u8, 123u8, 213u8, 61u8, 203u8, 188u8, 93u8, 38u8, + 174u8, 185u8, 140u8, 105u8, 222u8, 87u8, 196u8, 57u8, 80u8, 80u8, + 152u8, 83u8, 185u8, 77u8, 54u8, 194u8, 154u8, 131u8, 25u8, 55u8, 59u8, + 8u8, 83u8, 123u8, 208u8, 178u8, 147u8, 35u8, 224u8, 76u8, 100u8, 63u8, ], ) } @@ -8648,7 +8609,7 @@ pub mod api { runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>, >, call_hash: [::core::primitive::u8; 32usize], - max_weight: runtime_types::frame_support::weights::weight_v2::Weight, + max_weight: runtime_types::sp_weights::weight_v2::Weight, ) -> ::subxt::tx::StaticTxPayload { ::subxt::tx::StaticTxPayload::new( "Multisig", @@ -8873,7 +8834,9 @@ pub mod api { _0: impl ::std::borrow::Borrow<[::core::primitive::u8; 32usize]>, ) -> ::subxt::storage::address::StaticStorageAddress< ::subxt::metadata::DecodeStaticType<( - ::subxt::utils::WrapperKeepOpaque, + ::subxt::utils::WrapperKeepOpaque< + runtime_types::aleph_runtime::RuntimeCall, + >, ::subxt::ext::sp_core::crypto::AccountId32, ::core::primitive::u128, )>, @@ -8889,9 +8852,9 @@ pub mod api { ::subxt::storage::address::StorageHasher::Identity, )], [ - 93u8, 192u8, 103u8, 44u8, 10u8, 80u8, 11u8, 246u8, 60u8, 200u8, 52u8, - 162u8, 173u8, 15u8, 236u8, 59u8, 87u8, 139u8, 38u8, 24u8, 95u8, 85u8, - 215u8, 46u8, 54u8, 180u8, 172u8, 137u8, 12u8, 237u8, 101u8, 209u8, + 196u8, 139u8, 54u8, 70u8, 94u8, 123u8, 139u8, 218u8, 234u8, 193u8, + 196u8, 120u8, 195u8, 19u8, 34u8, 51u8, 17u8, 24u8, 16u8, 45u8, 216u8, + 95u8, 109u8, 12u8, 141u8, 90u8, 191u8, 249u8, 201u8, 3u8, 139u8, 214u8, ], ) } @@ -8899,7 +8862,9 @@ pub mod api { &self, ) -> ::subxt::storage::address::StaticStorageAddress< ::subxt::metadata::DecodeStaticType<( - ::subxt::utils::WrapperKeepOpaque, + ::subxt::utils::WrapperKeepOpaque< + runtime_types::aleph_runtime::RuntimeCall, + >, ::subxt::ext::sp_core::crypto::AccountId32, ::core::primitive::u128, )>, @@ -8912,9 +8877,9 @@ pub mod api { "Calls", Vec::new(), [ - 93u8, 192u8, 103u8, 44u8, 10u8, 80u8, 11u8, 246u8, 60u8, 200u8, 52u8, - 162u8, 173u8, 15u8, 236u8, 59u8, 87u8, 139u8, 38u8, 24u8, 95u8, 85u8, - 215u8, 46u8, 54u8, 180u8, 172u8, 137u8, 12u8, 237u8, 101u8, 209u8, + 196u8, 139u8, 54u8, 70u8, 94u8, 123u8, 139u8, 218u8, 234u8, 193u8, + 196u8, 120u8, 195u8, 19u8, 34u8, 51u8, 17u8, 24u8, 16u8, 45u8, 216u8, + 95u8, 109u8, 12u8, 141u8, 90u8, 191u8, 249u8, 201u8, 3u8, 139u8, 214u8, ], ) } @@ -8997,7 +8962,7 @@ pub mod api { PartialEq, )] pub struct Sudo { - pub call: ::std::boxed::Box, + pub call: ::std::boxed::Box, } #[derive( :: subxt :: ext :: codec :: Decode, @@ -9008,8 +8973,8 @@ pub mod api { PartialEq, )] pub struct SudoUncheckedWeight { - pub call: ::std::boxed::Box, - pub weight: runtime_types::frame_support::weights::weight_v2::Weight, + pub call: ::std::boxed::Box, + pub weight: runtime_types::sp_weights::weight_v2::Weight, } #[derive( :: subxt :: ext :: codec :: Decode, @@ -9038,7 +9003,7 @@ pub mod api { ::subxt::ext::sp_core::crypto::AccountId32, (), >, - pub call: ::std::boxed::Box, + pub call: ::std::boxed::Box, } pub struct TransactionApi; impl TransactionApi { @@ -9054,7 +9019,7 @@ pub mod api { #[doc = "# "] pub fn sudo( &self, - call: runtime_types::aleph_runtime::Call, + call: runtime_types::aleph_runtime::RuntimeCall, ) -> ::subxt::tx::StaticTxPayload { ::subxt::tx::StaticTxPayload::new( "Sudo", @@ -9063,10 +9028,10 @@ pub mod api { call: ::std::boxed::Box::new(call), }, [ - 243u8, 191u8, 124u8, 124u8, 176u8, 232u8, 194u8, 82u8, 56u8, 166u8, - 123u8, 87u8, 204u8, 103u8, 36u8, 129u8, 245u8, 231u8, 190u8, 166u8, - 187u8, 46u8, 179u8, 55u8, 25u8, 111u8, 82u8, 10u8, 142u8, 192u8, 117u8, - 130u8, + 217u8, 107u8, 107u8, 64u8, 223u8, 195u8, 140u8, 177u8, 208u8, 243u8, + 205u8, 36u8, 203u8, 134u8, 206u8, 244u8, 122u8, 72u8, 246u8, 106u8, + 114u8, 60u8, 78u8, 138u8, 242u8, 120u8, 60u8, 166u8, 236u8, 155u8, + 245u8, 177u8, ], ) } @@ -9082,8 +9047,8 @@ pub mod api { #[doc = "# "] pub fn sudo_unchecked_weight( &self, - call: runtime_types::aleph_runtime::Call, - weight: runtime_types::frame_support::weights::weight_v2::Weight, + call: runtime_types::aleph_runtime::RuntimeCall, + weight: runtime_types::sp_weights::weight_v2::Weight, ) -> ::subxt::tx::StaticTxPayload { ::subxt::tx::StaticTxPayload::new( "Sudo", @@ -9093,9 +9058,10 @@ pub mod api { weight, }, [ - 255u8, 230u8, 218u8, 33u8, 237u8, 106u8, 5u8, 254u8, 201u8, 7u8, 82u8, - 184u8, 251u8, 33u8, 4u8, 221u8, 86u8, 192u8, 23u8, 68u8, 92u8, 134u8, - 226u8, 27u8, 40u8, 111u8, 246u8, 205u8, 71u8, 254u8, 197u8, 91u8, + 249u8, 63u8, 101u8, 112u8, 31u8, 87u8, 243u8, 248u8, 196u8, 112u8, + 38u8, 195u8, 114u8, 119u8, 116u8, 216u8, 156u8, 236u8, 48u8, 230u8, + 59u8, 51u8, 190u8, 122u8, 183u8, 7u8, 93u8, 96u8, 38u8, 54u8, 44u8, + 254u8, ], ) } @@ -9144,7 +9110,7 @@ pub mod api { ::subxt::ext::sp_core::crypto::AccountId32, (), >, - call: runtime_types::aleph_runtime::Call, + call: runtime_types::aleph_runtime::RuntimeCall, ) -> ::subxt::tx::StaticTxPayload { ::subxt::tx::StaticTxPayload::new( "Sudo", @@ -9154,10 +9120,10 @@ pub mod api { call: ::std::boxed::Box::new(call), }, [ - 158u8, 173u8, 132u8, 41u8, 58u8, 124u8, 246u8, 45u8, 204u8, 201u8, - 49u8, 115u8, 194u8, 80u8, 2u8, 245u8, 32u8, 99u8, 13u8, 119u8, 127u8, - 68u8, 114u8, 15u8, 235u8, 249u8, 18u8, 13u8, 189u8, 206u8, 194u8, - 254u8, + 133u8, 204u8, 27u8, 0u8, 206u8, 196u8, 202u8, 35u8, 241u8, 96u8, 13u8, + 160u8, 103u8, 145u8, 90u8, 30u8, 23u8, 151u8, 146u8, 212u8, 206u8, + 115u8, 179u8, 222u8, 237u8, 112u8, 28u8, 79u8, 93u8, 110u8, 243u8, + 119u8, ], ) } @@ -9267,7 +9233,7 @@ pub mod api { #[codec(compact)] pub value: ::core::primitive::u128, #[codec(compact)] - pub gas_limit: runtime_types::frame_support::weights::weight_v2::Weight, + pub gas_limit: runtime_types::sp_weights::weight_v2::Weight, pub storage_deposit_limit: ::core::option::Option<::subxt::ext::codec::Compact<::core::primitive::u128>>, pub data: ::std::vec::Vec<::core::primitive::u8>, @@ -9284,7 +9250,7 @@ pub mod api { #[codec(compact)] pub value: ::core::primitive::u128, #[codec(compact)] - pub gas_limit: runtime_types::frame_support::weights::weight_v2::Weight, + pub gas_limit: runtime_types::sp_weights::weight_v2::Weight, pub storage_deposit_limit: ::core::option::Option<::subxt::ext::codec::Compact<::core::primitive::u128>>, pub code: ::std::vec::Vec<::core::primitive::u8>, @@ -9303,7 +9269,7 @@ pub mod api { #[codec(compact)] pub value: ::core::primitive::u128, #[codec(compact)] - pub gas_limit: runtime_types::frame_support::weights::weight_v2::Weight, + pub gas_limit: runtime_types::sp_weights::weight_v2::Weight, pub storage_deposit_limit: ::core::option::Option<::subxt::ext::codec::Compact<::core::primitive::u128>>, pub code_hash: ::subxt::ext::sp_core::H256, @@ -9374,7 +9340,7 @@ pub mod api { (), >, value: ::core::primitive::u128, - gas_limit: runtime_types::frame_support::weights::weight_v2::Weight, + gas_limit: runtime_types::sp_weights::weight_v2::Weight, storage_deposit_limit: ::core::option::Option< ::subxt::ext::codec::Compact<::core::primitive::u128>, >, @@ -9427,7 +9393,7 @@ pub mod api { pub fn instantiate_with_code( &self, value: ::core::primitive::u128, - gas_limit: runtime_types::frame_support::weights::weight_v2::Weight, + gas_limit: runtime_types::sp_weights::weight_v2::Weight, storage_deposit_limit: ::core::option::Option< ::subxt::ext::codec::Compact<::core::primitive::u128>, >, @@ -9462,7 +9428,7 @@ pub mod api { pub fn instantiate( &self, value: ::core::primitive::u128, - gas_limit: runtime_types::frame_support::weights::weight_v2::Weight, + gas_limit: runtime_types::sp_weights::weight_v2::Weight, storage_deposit_limit: ::core::option::Option< ::subxt::ext::codec::Compact<::core::primitive::u128>, >, @@ -9744,7 +9710,7 @@ pub mod api { _0: impl ::std::borrow::Borrow<::subxt::ext::sp_core::H256>, ) -> ::subxt::storage::address::StaticStorageAddress< ::subxt::metadata::DecodeStaticType< - runtime_types::sp_runtime::bounded::bounded_vec::BoundedVec< + runtime_types::sp_core::bounded::bounded_vec::BoundedVec< ::core::primitive::u8, >, >, @@ -9772,7 +9738,7 @@ pub mod api { &self, ) -> ::subxt::storage::address::StaticStorageAddress< ::subxt::metadata::DecodeStaticType< - runtime_types::sp_runtime::bounded::bounded_vec::BoundedVec< + runtime_types::sp_core::bounded::bounded_vec::BoundedVec< ::core::primitive::u8, >, >, @@ -9942,10 +9908,7 @@ pub mod api { _0: impl ::std::borrow::Borrow<::subxt::ext::sp_core::crypto::AccountId32>, ) -> ::subxt::storage::address::StaticStorageAddress< ::subxt::metadata::DecodeStaticType< - runtime_types::pallet_contracts::storage::RawContractInfo< - ::subxt::ext::sp_core::H256, - ::core::primitive::u128, - >, + runtime_types::pallet_contracts::storage::ContractInfo, >, ::subxt::storage::address::Yes, (), @@ -9959,10 +9922,10 @@ pub mod api { ::subxt::storage::address::StorageHasher::Twox64Concat, )], [ - 249u8, 249u8, 163u8, 158u8, 30u8, 66u8, 127u8, 176u8, 156u8, 185u8, - 75u8, 198u8, 120u8, 208u8, 233u8, 131u8, 161u8, 49u8, 45u8, 175u8, - 242u8, 171u8, 63u8, 39u8, 76u8, 31u8, 167u8, 140u8, 210u8, 235u8, - 185u8, 240u8, + 176u8, 73u8, 209u8, 119u8, 242u8, 147u8, 64u8, 203u8, 253u8, 178u8, + 8u8, 239u8, 64u8, 68u8, 106u8, 153u8, 28u8, 124u8, 52u8, 226u8, 67u8, + 54u8, 177u8, 206u8, 238u8, 179u8, 222u8, 225u8, 242u8, 0u8, 171u8, + 184u8, ], ) } @@ -9973,10 +9936,7 @@ pub mod api { &self, ) -> ::subxt::storage::address::StaticStorageAddress< ::subxt::metadata::DecodeStaticType< - runtime_types::pallet_contracts::storage::RawContractInfo< - ::subxt::ext::sp_core::H256, - ::core::primitive::u128, - >, + runtime_types::pallet_contracts::storage::ContractInfo, >, (), (), @@ -9987,10 +9947,10 @@ pub mod api { "ContractInfoOf", Vec::new(), [ - 249u8, 249u8, 163u8, 158u8, 30u8, 66u8, 127u8, 176u8, 156u8, 185u8, - 75u8, 198u8, 120u8, 208u8, 233u8, 131u8, 161u8, 49u8, 45u8, 175u8, - 242u8, 171u8, 63u8, 39u8, 76u8, 31u8, 167u8, 140u8, 210u8, 235u8, - 185u8, 240u8, + 176u8, 73u8, 209u8, 119u8, 242u8, 147u8, 64u8, 203u8, 253u8, 178u8, + 8u8, 239u8, 64u8, 68u8, 106u8, 153u8, 28u8, 124u8, 52u8, 226u8, 67u8, + 54u8, 177u8, 206u8, 238u8, 179u8, 222u8, 225u8, 242u8, 0u8, 171u8, + 184u8, ], ) } @@ -10002,7 +9962,7 @@ pub mod api { &self, ) -> ::subxt::storage::address::StaticStorageAddress< ::subxt::metadata::DecodeStaticType< - runtime_types::sp_runtime::bounded::bounded_vec::BoundedVec< + runtime_types::sp_core::bounded::bounded_vec::BoundedVec< runtime_types::pallet_contracts::storage::DeletedContract, >, >, @@ -10087,7 +10047,7 @@ pub mod api { &self, ) -> ::subxt::constants::StaticConstantAddress< ::subxt::metadata::DecodeStaticType< - runtime_types::frame_support::weights::weight_v2::Weight, + runtime_types::sp_weights::weight_v2::Weight, >, > { ::subxt::constants::StaticConstantAddress::new( @@ -10142,7 +10102,7 @@ pub mod api { &self, ) -> ::subxt::constants::StaticConstantAddress< ::subxt::metadata::DecodeStaticType< - runtime_types::frame_support::weights::weight_v2::Weight, + runtime_types::sp_weights::weight_v2::Weight, >, > { ::subxt::constants::StaticConstantAddress::new( @@ -11414,7 +11374,7 @@ pub mod api { _0: impl ::std::borrow::Borrow<::core::primitive::u32>, ) -> ::subxt::storage::address::StaticStorageAddress< ::subxt::metadata::DecodeStaticType< - runtime_types::sp_runtime::bounded::bounded_vec::BoundedVec< + runtime_types::sp_core::bounded::bounded_vec::BoundedVec< ::core::primitive::u8, >, >, @@ -11442,7 +11402,7 @@ pub mod api { &self, ) -> ::subxt::storage::address::StaticStorageAddress< ::subxt::metadata::DecodeStaticType< - runtime_types::sp_runtime::bounded::bounded_vec::BoundedVec< + runtime_types::sp_core::bounded::bounded_vec::BoundedVec< ::core::primitive::u8, >, >, @@ -11769,6 +11729,7 @@ pub mod api { >, pub judgement: runtime_types::pallet_identity::types::Judgement<::core::primitive::u128>, + pub identity: ::subxt::ext::sp_core::H256, } #[derive( :: subxt :: ext :: codec :: Decode, @@ -12149,6 +12110,7 @@ pub mod api { #[doc = "- `target`: the account whose identity the judgement is upon. This must be an account"] #[doc = " with a registered identity."] #[doc = "- `judgement`: the judgement of the registrar of index `reg_index` about `target`."] + #[doc = "- `identity`: The hash of the [`IdentityInfo`] for that the judgement is provided."] #[doc = ""] #[doc = "Emits `JudgementGiven` if successful."] #[doc = ""] @@ -12169,6 +12131,7 @@ pub mod api { judgement: runtime_types::pallet_identity::types::Judgement< ::core::primitive::u128, >, + identity: ::subxt::ext::sp_core::H256, ) -> ::subxt::tx::StaticTxPayload { ::subxt::tx::StaticTxPayload::new( "Identity", @@ -12177,11 +12140,12 @@ pub mod api { reg_index, target, judgement, + identity, }, [ - 221u8, 244u8, 12u8, 17u8, 197u8, 130u8, 189u8, 136u8, 253u8, 143u8, - 5u8, 145u8, 177u8, 105u8, 220u8, 8u8, 157u8, 63u8, 131u8, 5u8, 152u8, - 167u8, 158u8, 47u8, 123u8, 86u8, 225u8, 88u8, 218u8, 20u8, 82u8, 230u8, + 147u8, 66u8, 29u8, 90u8, 149u8, 65u8, 161u8, 115u8, 12u8, 254u8, 188u8, + 248u8, 165u8, 115u8, 191u8, 2u8, 167u8, 223u8, 199u8, 169u8, 203u8, + 64u8, 101u8, 217u8, 73u8, 185u8, 93u8, 109u8, 22u8, 184u8, 146u8, 73u8, ], ) } @@ -12629,7 +12593,7 @@ pub mod api { ) -> ::subxt::storage::address::StaticStorageAddress< ::subxt::metadata::DecodeStaticType<( ::core::primitive::u128, - runtime_types::sp_runtime::bounded::bounded_vec::BoundedVec< + runtime_types::sp_core::bounded::bounded_vec::BoundedVec< ::subxt::ext::sp_core::crypto::AccountId32, >, )>, @@ -12661,7 +12625,7 @@ pub mod api { ) -> ::subxt::storage::address::StaticStorageAddress< ::subxt::metadata::DecodeStaticType<( ::core::primitive::u128, - runtime_types::sp_runtime::bounded::bounded_vec::BoundedVec< + runtime_types::sp_core::bounded::bounded_vec::BoundedVec< ::subxt::ext::sp_core::crypto::AccountId32, >, )>, @@ -12688,7 +12652,7 @@ pub mod api { &self, ) -> ::subxt::storage::address::StaticStorageAddress< ::subxt::metadata::DecodeStaticType< - runtime_types::sp_runtime::bounded::bounded_vec::BoundedVec< + runtime_types::sp_core::bounded::bounded_vec::BoundedVec< ::core::option::Option< runtime_types::pallet_identity::types::RegistrarInfo< ::core::primitive::u128, @@ -12836,7 +12800,34 @@ pub mod api { Eq, PartialEq, )] - pub enum Call { + pub enum OriginCaller { + #[codec(index = 0)] + system( + runtime_types::frame_support::dispatch::RawOrigin< + ::subxt::ext::sp_core::crypto::AccountId32, + >, + ), + #[codec(index = 1)] + Void(runtime_types::sp_core::Void), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct Runtime; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub enum RuntimeCall { #[codec(index = 0)] System(runtime_types::frame_system::pallet::Call), #[codec(index = 2)] @@ -12880,7 +12871,7 @@ pub mod api { Eq, PartialEq, )] - pub enum Event { + pub enum RuntimeEvent { #[codec(index = 0)] System(runtime_types::frame_system::pallet::Event), #[codec(index = 2)] @@ -12922,33 +12913,6 @@ pub mod api { Eq, PartialEq, )] - pub enum OriginCaller { - #[codec(index = 0)] - system( - runtime_types::frame_support::dispatch::RawOrigin< - ::subxt::ext::sp_core::crypto::AccountId32, - >, - ), - #[codec(index = 1)] - Void(runtime_types::sp_core::Void), - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - Clone, - Debug, - Eq, - PartialEq, - )] - pub struct Runtime; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - Clone, - Debug, - Eq, - PartialEq, - )] pub struct SessionKeys { pub aura: runtime_types::sp_consensus_aura::sr25519::app_sr25519::Public, pub aleph: runtime_types::primitives::app::Public, @@ -12966,6 +12930,62 @@ pub mod api { Eq, PartialEq, )] + pub enum DispatchClass { + #[codec(index = 0)] + Normal, + #[codec(index = 1)] + Operational, + #[codec(index = 2)] + Mandatory, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct DispatchInfo { + pub weight: runtime_types::sp_weights::weight_v2::Weight, + pub class: runtime_types::frame_support::dispatch::DispatchClass, + pub pays_fee: runtime_types::frame_support::dispatch::Pays, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub enum Pays { + #[codec(index = 0)] + Yes, + #[codec(index = 1)] + No, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct PerDispatchClass<_0> { + pub normal: _0, + pub operational: _0, + pub mandatory: _0, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] pub enum RawOrigin<_0> { #[codec(index = 0)] Root, @@ -13044,92 +13064,6 @@ pub mod api { } } } - pub mod weights { - use super::runtime_types; - pub mod weight_v2 { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: CompactAs, - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - Clone, - Debug, - Eq, - PartialEq, - )] - pub struct Weight { - pub ref_time: ::core::primitive::u64, - } - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - Clone, - Debug, - Eq, - PartialEq, - )] - pub enum DispatchClass { - #[codec(index = 0)] - Normal, - #[codec(index = 1)] - Operational, - #[codec(index = 2)] - Mandatory, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - Clone, - Debug, - Eq, - PartialEq, - )] - pub struct DispatchInfo { - pub weight: runtime_types::frame_support::weights::weight_v2::Weight, - pub class: runtime_types::frame_support::weights::DispatchClass, - pub pays_fee: runtime_types::frame_support::weights::Pays, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - Clone, - Debug, - Eq, - PartialEq, - )] - pub enum Pays { - #[codec(index = 0)] - Yes, - #[codec(index = 1)] - No, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - Clone, - Debug, - Eq, - PartialEq, - )] - pub struct PerDispatchClass<_0> { - pub normal: _0, - pub operational: _0, - pub mandatory: _0, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - Clone, - Debug, - Eq, - PartialEq, - )] - pub struct RuntimeDbWeight { - pub read: ::core::primitive::u64, - pub write: ::core::primitive::u64, - } - } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -13228,7 +13162,7 @@ pub mod api { PartialEq, )] pub struct BlockLength { - pub max: runtime_types::frame_support::weights::PerDispatchClass< + pub max: runtime_types::frame_support::dispatch::PerDispatchClass< ::core::primitive::u32, >, } @@ -13241,9 +13175,9 @@ pub mod api { PartialEq, )] pub struct BlockWeights { - pub base_block: runtime_types::frame_support::weights::weight_v2::Weight, - pub max_block: runtime_types::frame_support::weights::weight_v2::Weight, - pub per_class: runtime_types::frame_support::weights::PerDispatchClass< + pub base_block: runtime_types::sp_weights::weight_v2::Weight, + pub max_block: runtime_types::sp_weights::weight_v2::Weight, + pub per_class: runtime_types::frame_support::dispatch::PerDispatchClass< runtime_types::frame_system::limits::WeightsPerClass, >, } @@ -13256,16 +13190,13 @@ pub mod api { PartialEq, )] pub struct WeightsPerClass { - pub base_extrinsic: runtime_types::frame_support::weights::weight_v2::Weight, - pub max_extrinsic: ::core::option::Option< - runtime_types::frame_support::weights::weight_v2::Weight, - >, - pub max_total: ::core::option::Option< - runtime_types::frame_support::weights::weight_v2::Weight, - >, - pub reserved: ::core::option::Option< - runtime_types::frame_support::weights::weight_v2::Weight, - >, + pub base_extrinsic: runtime_types::sp_weights::weight_v2::Weight, + pub max_extrinsic: + ::core::option::Option, + pub max_total: + ::core::option::Option, + pub reserved: + ::core::option::Option, } } pub mod pallet { @@ -13400,13 +13331,13 @@ pub mod api { #[codec(index = 0)] #[doc = "An extrinsic completed successfully."] ExtrinsicSuccess { - dispatch_info: runtime_types::frame_support::weights::DispatchInfo, + dispatch_info: runtime_types::frame_support::dispatch::DispatchInfo, }, #[codec(index = 1)] #[doc = "An extrinsic failed."] ExtrinsicFailed { dispatch_error: runtime_types::sp_runtime::DispatchError, - dispatch_info: runtime_types::frame_support::weights::DispatchInfo, + dispatch_info: runtime_types::frame_support::dispatch::DispatchInfo, }, #[codec(index = 2)] #[doc = "`:code` was updated."] @@ -13972,7 +13903,7 @@ pub mod api { #[codec(compact)] value: ::core::primitive::u128, #[codec(compact)] - gas_limit: runtime_types::frame_support::weights::weight_v2::Weight, + gas_limit: runtime_types::sp_weights::weight_v2::Weight, storage_deposit_limit: ::core::option::Option< ::subxt::ext::codec::Compact<::core::primitive::u128>, >, @@ -14009,7 +13940,7 @@ pub mod api { #[codec(compact)] value: ::core::primitive::u128, #[codec(compact)] - gas_limit: runtime_types::frame_support::weights::weight_v2::Weight, + gas_limit: runtime_types::sp_weights::weight_v2::Weight, storage_deposit_limit: ::core::option::Option< ::subxt::ext::codec::Compact<::core::primitive::u128>, >, @@ -14027,7 +13958,7 @@ pub mod api { #[codec(compact)] value: ::core::primitive::u128, #[codec(compact)] - gas_limit: runtime_types::frame_support::weights::weight_v2::Weight, + gas_limit: runtime_types::sp_weights::weight_v2::Weight, storage_deposit_limit: ::core::option::Option< ::subxt::ext::codec::Compact<::core::primitive::u128>, >, @@ -14449,10 +14380,16 @@ pub mod api { Eq, PartialEq, )] - pub struct DeletedContract { - pub trie_id: runtime_types::sp_runtime::bounded::bounded_vec::BoundedVec< + pub struct ContractInfo { + pub trie_id: runtime_types::sp_core::bounded::bounded_vec::BoundedVec< ::core::primitive::u8, >, + pub code_hash: ::subxt::ext::sp_core::H256, + pub storage_bytes: ::core::primitive::u32, + pub storage_items: ::core::primitive::u32, + pub storage_byte_deposit: ::core::primitive::u128, + pub storage_item_deposit: ::core::primitive::u128, + pub storage_base_deposit: ::core::primitive::u128, } #[derive( :: subxt :: ext :: codec :: Decode, @@ -14462,12 +14399,10 @@ pub mod api { Eq, PartialEq, )] - pub struct RawContractInfo<_0, _1> { - pub trie_id: runtime_types::sp_runtime::bounded::bounded_vec::BoundedVec< + pub struct DeletedContract { + pub trie_id: runtime_types::sp_core::bounded::bounded_vec::BoundedVec< ::core::primitive::u8, >, - pub code_hash: _0, - pub storage_deposit: _1, } } pub mod wasm { @@ -14502,7 +14437,7 @@ pub mod api { pub initial: ::core::primitive::u32, #[codec(compact)] pub maximum: ::core::primitive::u32, - pub code: runtime_types::sp_runtime::bounded::bounded_vec::BoundedVec< + pub code: runtime_types::sp_core::bounded::weak_bounded_vec::WeakBoundedVec< ::core::primitive::u8, >, } @@ -14858,6 +14793,7 @@ pub mod api { #[doc = "- `target`: the account whose identity the judgement is upon. This must be an account"] #[doc = " with a registered identity."] #[doc = "- `judgement`: the judgement of the registrar of index `reg_index` about `target`."] + #[doc = "- `identity`: The hash of the [`IdentityInfo`] for that the judgement is provided."] #[doc = ""] #[doc = "Emits `JudgementGiven` if successful."] #[doc = ""] @@ -14878,6 +14814,7 @@ pub mod api { judgement: runtime_types::pallet_identity::types::Judgement< ::core::primitive::u128, >, + identity: ::subxt::ext::sp_core::H256, }, #[codec(index = 10)] #[doc = "Remove an account's identity and sub-account information and slash the deposits."] @@ -15017,6 +14954,9 @@ pub mod api { #[codec(index = 15)] #[doc = "Sub-account isn't owned by sender."] NotOwned, + #[codec(index = 16)] + #[doc = "The provided judgement was for a different identity."] + JudgementForDifferentIdentity, } #[derive( :: subxt :: ext :: codec :: Decode, @@ -15228,7 +15168,7 @@ pub mod api { PartialEq, )] pub struct IdentityInfo { - pub additional: runtime_types::sp_runtime::bounded::bounded_vec::BoundedVec<( + pub additional: runtime_types::sp_core::bounded::bounded_vec::BoundedVec<( runtime_types::pallet_identity::types::Data, runtime_types::pallet_identity::types::Data, )>, @@ -15289,7 +15229,7 @@ pub mod api { PartialEq, )] pub struct Registration<_0> { - pub judgements: runtime_types::sp_runtime::bounded::bounded_vec::BoundedVec<( + pub judgements: runtime_types::sp_core::bounded::bounded_vec::BoundedVec<( ::core::primitive::u32, runtime_types::pallet_identity::types::Judgement<_0>, )>, @@ -15332,7 +15272,7 @@ pub mod api { as_multi_threshold_1 { other_signatories: ::std::vec::Vec<::subxt::ext::sp_core::crypto::AccountId32>, - call: ::std::boxed::Box, + call: ::std::boxed::Box, }, #[codec(index = 1)] #[doc = "Register approval for a dispatch to be made from a deterministic composite account if"] @@ -15387,9 +15327,11 @@ pub mod api { maybe_timepoint: ::core::option::Option< runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>, >, - call: ::subxt::utils::WrapperKeepOpaque, + call: ::subxt::utils::WrapperKeepOpaque< + runtime_types::aleph_runtime::RuntimeCall, + >, store_call: ::core::primitive::bool, - max_weight: runtime_types::frame_support::weights::weight_v2::Weight, + max_weight: runtime_types::sp_weights::weight_v2::Weight, }, #[codec(index = 2)] #[doc = "Register approval for a dispatch to be made from a deterministic composite account if"] @@ -15435,7 +15377,7 @@ pub mod api { runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>, >, call_hash: [::core::primitive::u8; 32usize], - max_weight: runtime_types::frame_support::weights::weight_v2::Weight, + max_weight: runtime_types::sp_weights::weight_v2::Weight, }, #[codec(index = 3)] #[doc = "Cancel a pre-existing, on-going multisig transaction. Any deposit reserved previously"] @@ -16121,7 +16063,7 @@ pub mod api { pub last_recorded_reward_counter: runtime_types::sp_arithmetic::fixed_point::FixedU128, pub unbonding_eras: - runtime_types::sp_runtime::bounded::bounded_btree_map::BoundedBTreeMap< + runtime_types::sp_core::bounded::bounded_btree_map::BoundedBTreeMap< ::core::primitive::u32, ::core::primitive::u128, >, @@ -16180,11 +16122,10 @@ pub mod api { )] pub struct SubPools { pub no_era: runtime_types::pallet_nomination_pools::UnbondPool, - pub with_era: - runtime_types::sp_runtime::bounded::bounded_btree_map::BoundedBTreeMap< - ::core::primitive::u32, - runtime_types::pallet_nomination_pools::UnbondPool, - >, + pub with_era: runtime_types::sp_core::bounded::bounded_btree_map::BoundedBTreeMap< + ::core::primitive::u32, + runtime_types::pallet_nomination_pools::UnbondPool, + >, } #[derive( :: subxt :: ext :: codec :: Decode, @@ -16224,7 +16165,7 @@ pub mod api { priority: ::core::primitive::u8, call: ::std::boxed::Box< runtime_types::frame_support::traits::schedule::MaybeHashed< - runtime_types::aleph_runtime::Call, + runtime_types::aleph_runtime::RuntimeCall, ::subxt::ext::sp_core::H256, >, >, @@ -16247,7 +16188,7 @@ pub mod api { priority: ::core::primitive::u8, call: ::std::boxed::Box< runtime_types::frame_support::traits::schedule::MaybeHashed< - runtime_types::aleph_runtime::Call, + runtime_types::aleph_runtime::RuntimeCall, ::subxt::ext::sp_core::H256, >, >, @@ -16272,7 +16213,7 @@ pub mod api { priority: ::core::primitive::u8, call: ::std::boxed::Box< runtime_types::frame_support::traits::schedule::MaybeHashed< - runtime_types::aleph_runtime::Call, + runtime_types::aleph_runtime::RuntimeCall, ::subxt::ext::sp_core::H256, >, >, @@ -16293,7 +16234,7 @@ pub mod api { priority: ::core::primitive::u8, call: ::std::boxed::Box< runtime_types::frame_support::traits::schedule::MaybeHashed< - runtime_types::aleph_runtime::Call, + runtime_types::aleph_runtime::RuntimeCall, ::subxt::ext::sp_core::H256, >, >, @@ -16820,35 +16761,6 @@ pub mod api { value: ::core::primitive::u128, }, #[codec(index = 20)] - #[doc = "Set `HistoryDepth` value. This function will delete any history information"] - #[doc = "when `HistoryDepth` is reduced."] - #[doc = ""] - #[doc = "Parameters:"] - #[doc = "- `new_history_depth`: The new history depth you would like to set."] - #[doc = "- `era_items_deleted`: The number of items that will be deleted by this dispatch. This"] - #[doc = " should report all the storage items that will be deleted by clearing old era history."] - #[doc = " Needed to report an accurate weight for the dispatch. Trusted by `Root` to report an"] - #[doc = " accurate number."] - #[doc = ""] - #[doc = "Origin must be root."] - #[doc = ""] - #[doc = "# "] - #[doc = "- E: Number of history depths removed, i.e. 10 -> 7 = 3"] - #[doc = "- Weight: O(E)"] - #[doc = "- DB Weight:"] - #[doc = " - Reads: Current Era, History Depth"] - #[doc = " - Writes: History Depth"] - #[doc = " - Clear Prefix Each: Era Stakers, EraStakersClipped, ErasValidatorPrefs"] - #[doc = " - Writes Each: ErasValidatorReward, ErasRewardPoints, ErasTotalStake,"] - #[doc = " ErasStartSessionIndex"] - #[doc = "# "] - set_history_depth { - #[codec(compact)] - new_history_depth: ::core::primitive::u32, - #[codec(compact)] - era_items_deleted: ::core::primitive::u32, - }, - #[codec(index = 21)] #[doc = "Remove all data structures concerning a staker/stash once it is at a state where it can"] #[doc = "be considered `dust` in the staking system. The requirements are:"] #[doc = ""] @@ -16865,7 +16777,7 @@ pub mod api { stash: ::subxt::ext::sp_core::crypto::AccountId32, num_slashing_spans: ::core::primitive::u32, }, - #[codec(index = 22)] + #[codec(index = 21)] #[doc = "Remove the given nominations from the calling validator."] #[doc = ""] #[doc = "Effects will be felt at the beginning of the next era."] @@ -16885,7 +16797,7 @@ pub mod api { >, >, }, - #[codec(index = 23)] + #[codec(index = 22)] #[doc = "Update the various staking configurations ."] #[doc = ""] #[doc = "* `min_nominator_bond`: The minimum active bond needed to be a nominator."] @@ -16899,7 +16811,7 @@ pub mod api { #[doc = "* `min_commission`: The minimum amount of commission that each validators must maintain."] #[doc = " This is checked only upon calling `validate`. Existing validators are not affected."] #[doc = ""] - #[doc = "Origin must be Root to call this function."] + #[doc = "RuntimeOrigin must be Root to call this function."] #[doc = ""] #[doc = "NOTE: Existing nominators and validators will not be affected by this update."] #[doc = "to kick people under the new limits, `chill_other` should be called."] @@ -16928,7 +16840,7 @@ pub mod api { runtime_types::sp_arithmetic::per_things::Perbill, >, }, - #[codec(index = 24)] + #[codec(index = 23)] #[doc = "Declare a `controller` to stop participating as either a validator or nominator."] #[doc = ""] #[doc = "Effects will be felt at the beginning of the next era."] @@ -16958,7 +16870,7 @@ pub mod api { chill_other { controller: ::subxt::ext::sp_core::crypto::AccountId32, }, - #[codec(index = 25)] + #[codec(index = 24)] #[doc = "Force a validator to have at least the minimum commission. This will not affect a"] #[doc = "validator who already has a commission greater than or equal to the minimum. Any account"] #[doc = "can call this."] @@ -17068,6 +16980,9 @@ pub mod api { #[codec(index = 23)] #[doc = "Commission is too low. Must be at least `MinCommission`."] CommissionTooLow, + #[codec(index = 24)] + #[doc = "Some bound is not met."] + BoundNotMet, } #[derive( :: subxt :: ext :: codec :: Decode, @@ -17082,29 +16997,29 @@ pub mod api { #[codec(index = 0)] #[doc = "The era payout has been set; the first balance is the validator-payout; the second is"] #[doc = "the remainder from the maximum amount of reward."] - #[doc = "\\[era_index, validator_payout, remainder\\]"] - EraPaid( - ::core::primitive::u32, - ::core::primitive::u128, - ::core::primitive::u128, - ), + EraPaid { + era_index: ::core::primitive::u32, + validator_payout: ::core::primitive::u128, + remainder: ::core::primitive::u128, + }, #[codec(index = 1)] - #[doc = "The nominator has been rewarded by this amount. \\[stash, amount\\]"] - Rewarded( - ::subxt::ext::sp_core::crypto::AccountId32, - ::core::primitive::u128, - ), + #[doc = "The nominator has been rewarded by this amount."] + Rewarded { + stash: ::subxt::ext::sp_core::crypto::AccountId32, + amount: ::core::primitive::u128, + }, #[codec(index = 2)] - #[doc = "One validator (and its nominators) has been slashed by the given amount."] - #[doc = "\\[validator, amount\\]"] - Slashed( - ::subxt::ext::sp_core::crypto::AccountId32, - ::core::primitive::u128, - ), + #[doc = "One staker (and potentially its nominators) has been slashed by the given amount."] + Slashed { + staker: ::subxt::ext::sp_core::crypto::AccountId32, + amount: ::core::primitive::u128, + }, #[codec(index = 3)] #[doc = "An old slashing report from a prior era was discarded because it could"] - #[doc = "not be processed. \\[session_index\\]"] - OldSlashingReportDiscarded(::core::primitive::u32), + #[doc = "not be processed."] + OldSlashingReportDiscarded { + session_index: ::core::primitive::u32, + }, #[codec(index = 4)] #[doc = "A new set of stakers was elected."] StakersElected, @@ -17113,48 +17028,49 @@ pub mod api { #[doc = ""] #[doc = "NOTE: This event is only emitted when funds are bonded via a dispatchable. Notably,"] #[doc = "it will not be emitted for staking rewards when they are added to stake."] - Bonded( - ::subxt::ext::sp_core::crypto::AccountId32, - ::core::primitive::u128, - ), + Bonded { + stash: ::subxt::ext::sp_core::crypto::AccountId32, + amount: ::core::primitive::u128, + }, #[codec(index = 6)] - #[doc = "An account has unbonded this amount. \\[stash, amount\\]"] - Unbonded( - ::subxt::ext::sp_core::crypto::AccountId32, - ::core::primitive::u128, - ), + #[doc = "An account has unbonded this amount."] + Unbonded { + stash: ::subxt::ext::sp_core::crypto::AccountId32, + amount: ::core::primitive::u128, + }, #[codec(index = 7)] #[doc = "An account has called `withdraw_unbonded` and removed unbonding chunks worth `Balance`"] - #[doc = "from the unlocking queue. \\[stash, amount\\]"] - Withdrawn( - ::subxt::ext::sp_core::crypto::AccountId32, - ::core::primitive::u128, - ), + #[doc = "from the unlocking queue."] + Withdrawn { + stash: ::subxt::ext::sp_core::crypto::AccountId32, + amount: ::core::primitive::u128, + }, #[codec(index = 8)] - #[doc = "A nominator has been kicked from a validator. \\[nominator, stash\\]"] - Kicked( - ::subxt::ext::sp_core::crypto::AccountId32, - ::subxt::ext::sp_core::crypto::AccountId32, - ), + #[doc = "A nominator has been kicked from a validator."] + Kicked { + nominator: ::subxt::ext::sp_core::crypto::AccountId32, + stash: ::subxt::ext::sp_core::crypto::AccountId32, + }, #[codec(index = 9)] #[doc = "The election failed. No new era is planned."] StakingElectionFailed, #[codec(index = 10)] #[doc = "An account has stopped participating as either a validator or nominator."] - #[doc = "\\[stash\\]"] - Chilled(::subxt::ext::sp_core::crypto::AccountId32), + Chilled { + stash: ::subxt::ext::sp_core::crypto::AccountId32, + }, #[codec(index = 11)] - #[doc = "The stakers' rewards are getting paid. \\[era_index, validator_stash\\]"] - PayoutStarted( - ::core::primitive::u32, - ::subxt::ext::sp_core::crypto::AccountId32, - ), + #[doc = "The stakers' rewards are getting paid."] + PayoutStarted { + era_index: ::core::primitive::u32, + validator_stash: ::subxt::ext::sp_core::crypto::AccountId32, + }, #[codec(index = 12)] #[doc = "A validator has set their preferences."] - ValidatorPrefsSet( - ::subxt::ext::sp_core::crypto::AccountId32, - runtime_types::pallet_staking::ValidatorPrefs, - ), + ValidatorPrefsSet { + stash: ::subxt::ext::sp_core::crypto::AccountId32, + prefs: runtime_types::pallet_staking::ValidatorPrefs, + }, } } } @@ -17267,7 +17183,7 @@ pub mod api { PartialEq, )] pub struct Nominations { - pub targets: runtime_types::sp_runtime::bounded::bounded_vec::BoundedVec< + pub targets: runtime_types::sp_core::bounded::bounded_vec::BoundedVec< ::subxt::ext::sp_core::crypto::AccountId32, >, pub submitted_in: ::core::primitive::u32, @@ -17302,6 +17218,10 @@ pub mod api { V9_0_0, #[codec(index = 9)] V10_0_0, + #[codec(index = 10)] + V11_0_0, + #[codec(index = 11)] + V12_0_0, } #[derive( :: subxt :: ext :: codec :: Decode, @@ -17337,10 +17257,12 @@ pub mod api { pub total: ::core::primitive::u128, #[codec(compact)] pub active: ::core::primitive::u128, - pub unlocking: runtime_types::sp_runtime::bounded::bounded_vec::BoundedVec< + pub unlocking: runtime_types::sp_core::bounded::bounded_vec::BoundedVec< runtime_types::pallet_staking::UnlockChunk<::core::primitive::u128>, >, - pub claimed_rewards: ::std::vec::Vec<::core::primitive::u32>, + pub claimed_rewards: runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + ::core::primitive::u32, + >, } #[derive( :: subxt :: ext :: codec :: Decode, @@ -17411,7 +17333,7 @@ pub mod api { #[doc = "- Weight of derivative `call` execution + 10,000."] #[doc = "# "] sudo { - call: ::std::boxed::Box, + call: ::std::boxed::Box, }, #[codec(index = 1)] #[doc = "Authenticates the sudo key and dispatches a function call with `Root` origin."] @@ -17425,8 +17347,8 @@ pub mod api { #[doc = "- The weight of this call is defined by the caller."] #[doc = "# "] sudo_unchecked_weight { - call: ::std::boxed::Box, - weight: runtime_types::frame_support::weights::weight_v2::Weight, + call: ::std::boxed::Box, + weight: runtime_types::sp_weights::weight_v2::Weight, }, #[codec(index = 2)] #[doc = "Authenticates the current sudo key and sets the given AccountId (`new`) as the new sudo"] @@ -17462,7 +17384,7 @@ pub mod api { ::subxt::ext::sp_core::crypto::AccountId32, (), >, - call: ::std::boxed::Box, + call: ::std::boxed::Box, }, } #[derive( @@ -17827,7 +17749,7 @@ pub mod api { #[doc = "and the error of the failed call. If all were successful, then the `BatchCompleted`"] #[doc = "event is deposited."] batch { - calls: ::std::vec::Vec, + calls: ::std::vec::Vec, }, #[codec(index = 1)] #[doc = "Send a call through an indexed pseudonym of the sender."] @@ -17845,7 +17767,7 @@ pub mod api { #[doc = "The dispatch origin for this call must be _Signed_."] as_derivative { index: ::core::primitive::u16, - call: ::std::boxed::Box, + call: ::std::boxed::Box, }, #[codec(index = 2)] #[doc = "Send a batch of dispatch calls and atomically execute them."] @@ -17863,7 +17785,7 @@ pub mod api { #[doc = "- Complexity: O(C) where C is the number of calls to be batched."] #[doc = "# "] batch_all { - calls: ::std::vec::Vec, + calls: ::std::vec::Vec, }, #[codec(index = 3)] #[doc = "Dispatches a function call with a provided origin."] @@ -17878,7 +17800,7 @@ pub mod api { #[doc = "# "] dispatch_as { as_origin: ::std::boxed::Box, - call: ::std::boxed::Box, + call: ::std::boxed::Box, }, #[codec(index = 4)] #[doc = "Send a batch of dispatch calls."] @@ -17896,7 +17818,7 @@ pub mod api { #[doc = "- Complexity: O(C) where C is the number of calls to be batched."] #[doc = "# "] force_batch { - calls: ::std::vec::Vec, + calls: ::std::vec::Vec, }, } #[derive( @@ -18239,9 +18161,7 @@ pub mod api { InsufficientUptime(::core::primitive::u32), #[codec(index = 1)] OtherReason( - runtime_types::sp_runtime::bounded::bounded_vec::BoundedVec< - ::core::primitive::u8, - >, + runtime_types::sp_core::bounded::bounded_vec::BoundedVec<::core::primitive::u8>, ), } #[derive( @@ -18377,6 +18297,45 @@ pub mod api { } pub mod sp_core { use super::runtime_types; + pub mod bounded { + use super::runtime_types; + pub mod bounded_btree_map { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct BoundedBTreeMap<_0, _1>(pub ::subxt::utils::KeyedVec<_0, _1>); + } + pub mod bounded_vec { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct BoundedVec<_0>(pub ::std::vec::Vec<_0>); + } + pub mod weak_bounded_vec { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct WeakBoundedVec<_0>(pub ::std::vec::Vec<_0>); + } + } pub mod crypto { use super::runtime_types; #[derive( @@ -18464,45 +18423,6 @@ pub mod api { } pub mod sp_runtime { use super::runtime_types; - pub mod bounded { - use super::runtime_types; - pub mod bounded_btree_map { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - Clone, - Debug, - Eq, - PartialEq, - )] - pub struct BoundedBTreeMap<_0, _1>(pub ::subxt::utils::KeyedVec<_0, _1>); - } - pub mod bounded_vec { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - Clone, - Debug, - Eq, - PartialEq, - )] - pub struct BoundedVec<_0>(pub ::std::vec::Vec<_0>); - } - pub mod weak_bounded_vec { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - Clone, - Debug, - Eq, - PartialEq, - )] - pub struct WeakBoundedVec<_0>(pub ::std::vec::Vec<_0>); - } - } pub mod generic { use super::runtime_types; pub mod digest { @@ -19281,6 +19201,36 @@ pub mod api { pub state_version: ::core::primitive::u8, } } + pub mod sp_weights { + use super::runtime_types; + pub mod weight_v2 { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct Weight { + pub ref_time: ::core::primitive::u64, + } + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct RuntimeDbWeight { + pub read: ::core::primitive::u64, + pub write: ::core::primitive::u64, + } + } } #[doc = r" The default error type returned when there is a runtime issue,"] #[doc = r" exposed here for ease of use."] @@ -19468,9 +19418,9 @@ pub mod api { let runtime_metadata_hash = client.metadata().metadata_hash(&PALLETS); if runtime_metadata_hash != [ - 133u8, 98u8, 249u8, 41u8, 126u8, 95u8, 67u8, 30u8, 158u8, 209u8, 205u8, 127u8, - 176u8, 103u8, 177u8, 238u8, 23u8, 88u8, 154u8, 1u8, 118u8, 141u8, 62u8, 141u8, - 76u8, 64u8, 77u8, 253u8, 74u8, 128u8, 136u8, 70u8, + 243u8, 4u8, 194u8, 236u8, 110u8, 103u8, 34u8, 147u8, 254u8, 117u8, 205u8, 237u8, + 68u8, 20u8, 176u8, 209u8, 157u8, 106u8, 80u8, 136u8, 50u8, 186u8, 119u8, 248u8, + 34u8, 65u8, 187u8, 187u8, 110u8, 81u8, 88u8, 22u8, ] { Err(::subxt::error::MetadataError::IncompatibleMetadata) diff --git a/aleph-client/src/connections.rs b/aleph-client/src/connections.rs index 5fda28f34a..d4ec50e3f0 100644 --- a/aleph-client/src/connections.rs +++ b/aleph-client/src/connections.rs @@ -12,9 +12,7 @@ use subxt::{ SubstrateConfig, }; -use crate::{ - api, frame_support::weights::weight_v2::Weight, BlockHash, Call, Client, KeyPair, TxStatus, -}; +use crate::{api, sp_weights::weight_v2::Weight, BlockHash, Call, Client, KeyPair, TxStatus}; #[derive(Clone)] pub struct Connection { diff --git a/aleph-client/src/contract/mod.rs b/aleph-client/src/contract/mod.rs index d49f84de0c..cd10a548c3 100644 --- a/aleph-client/src/contract/mod.rs +++ b/aleph-client/src/contract/mod.rs @@ -58,8 +58,8 @@ use ink_metadata::{InkProject, MetadataVersioned}; use serde_json::{from_reader, from_value}; use crate::{ - frame_support::weights::weight_v2::Weight, pallets::contract::{ContractCallArgs, ContractRpc, ContractsUserApi}, + sp_weights::weight_v2::Weight, AccountId, Connection, SignedConnection, TxStatus, }; diff --git a/aleph-client/src/lib.rs b/aleph-client/src/lib.rs index 779dac03ac..3acc5db42d 100644 --- a/aleph-client/src/lib.rs +++ b/aleph-client/src/lib.rs @@ -7,7 +7,7 @@ use subxt::{ OnlineClient, PolkadotConfig, }; -use crate::api::runtime_types::aleph_runtime::Call; +use crate::api::runtime_types::aleph_runtime::RuntimeCall as Call; // generated by running `subxt codegen --derive Clone Debug Eq PartialEq | rustfmt --edition=2021 > src/aleph_zero.rs` #[allow(clippy::all)] mod aleph_zero; diff --git a/aleph-client/src/pallets/contract.rs b/aleph-client/src/pallets/contract.rs index 71b25693e3..3a370799dd 100644 --- a/aleph-client/src/pallets/contract.rs +++ b/aleph-client/src/pallets/contract.rs @@ -7,8 +7,8 @@ use subxt::{ }; use crate::{ - api, frame_support::weights::weight_v2::Weight, pallet_contracts::wasm::OwnerInfo, AccountId, - BlockHash, Connection, SignedConnection, TxStatus, + api, pallet_contracts::wasm::OwnerInfo, sp_weights::weight_v2::Weight, AccountId, BlockHash, + Connection, SignedConnection, TxStatus, }; #[derive(Encode)] diff --git a/aleph-client/src/pallets/multisig.rs b/aleph-client/src/pallets/multisig.rs index aaca2b52b8..a91241135c 100644 --- a/aleph-client/src/pallets/multisig.rs +++ b/aleph-client/src/pallets/multisig.rs @@ -1,8 +1,8 @@ use primitives::{Balance, BlockNumber}; use crate::{ - api, api::runtime_types, frame_support::weights::weight_v2::Weight, AccountId, BlockHash, - SignedConnection, TxStatus, + api, api::runtime_types, sp_weights::weight_v2::Weight, AccountId, BlockHash, SignedConnection, + TxStatus, }; pub type CallHash = [u8; 32]; diff --git a/aleph-client/src/runtime_types.rs b/aleph-client/src/runtime_types.rs index effcf00191..90381e3af3 100644 --- a/aleph-client/src/runtime_types.rs +++ b/aleph-client/src/runtime_types.rs @@ -6,8 +6,8 @@ use crate::{ sp_consensus_aura::sr25519::app_sr25519::Public as AuraPublic, sp_core::{ed25519::Public as EdPublic, sr25519::Public as SrPublic}, }, - frame_support::weights::weight_v2::Weight, pallet_staking::EraRewardPoints, + sp_weights::weight_v2::Weight, }; impl Default for EraRewardPoints { diff --git a/benches/payout-stakers/Cargo.lock b/benches/payout-stakers/Cargo.lock index 930cb5f0ca..fde50f7c27 100644 --- a/benches/payout-stakers/Cargo.lock +++ b/benches/payout-stakers/Cargo.lock @@ -49,7 +49,7 @@ dependencies = [ [[package]] name = "aleph_client" -version = "2.0.0" +version = "2.2.0" dependencies = [ "anyhow", "async-trait", @@ -65,8 +65,8 @@ dependencies = [ "primitives", "serde", "serde_json", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", "subxt", "thiserror", ] @@ -95,6 +95,12 @@ version = "1.0.66" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "216261ddc8289130e551ddcd5ce8a064710c0d064a4d2895c67151c92b5443f6" +[[package]] +name = "array-bytes" +version = "4.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f52f63c5c1316a16a4b35eaac8b76a98248961a533f061684cb2a7cb0eafb6c6" + [[package]] name = "arrayref" version = "0.3.6" @@ -193,6 +199,12 @@ version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" +[[package]] +name = "base64ct" +version = "1.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b645a089122eccb6111b4f81cbc1a49f5900ac4666bb93ac027feaecf15607bf" + [[package]] name = "beef" version = "0.5.2" @@ -323,6 +335,15 @@ version = "1.0.77" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e9f73505338f7d905b19d18738976aae232eb46b8efc15554ffc56deb5d9ebe4" +[[package]] +name = "cfg-expr" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0aacacf4d96c24b2ad6eb8ee6df040e4f27b0d0b39a5710c30091baa830485db" +dependencies = [ + "smallvec", +] + [[package]] name = "cfg-if" version = "1.0.0" @@ -912,7 +933,7 @@ dependencies = [ [[package]] name = "frame-support" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "bitflags", "frame-metadata", @@ -926,27 +947,30 @@ dependencies = [ "scale-info", "serde", "smallvec", - "sp-api 4.0.0-dev (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-arithmetic 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-core-hashing-proc-macro 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-api", + "sp-arithmetic 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-core-hashing-proc-macro", "sp-inherents", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-staking 4.0.0-dev (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-state-machine 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-tracing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-staking", + "sp-state-machine 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-tracing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-weights", "tt-call", ] [[package]] name = "frame-support-procedural" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "Inflector", + "cfg-expr", "frame-support-procedural-tools", + "itertools", "proc-macro2", "quote", "syn", @@ -955,7 +979,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate", @@ -967,7 +991,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "proc-macro2", "quote", @@ -1571,6 +1595,12 @@ version = "0.2.137" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc7fcc620a3bff7cdd7a365be3376c97191aeaccc2a603e600951e452615bf89" +[[package]] +name = "libm" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "348108ab3fba42ec82ff6e9564fc4ca0247bdccdc68dd8af9764bbc79c3c8ffb" + [[package]] name = "libsecp256k1" version = "0.7.1" @@ -1688,6 +1718,12 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "71d96e3f3c0b6325d8ccd83c33b28acb183edcb6c67938ba104ec546854b0882" +[[package]] +name = "memory_units" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8452105ba047068f40ff7093dd1d9da90898e63dd61736462e9cdda6a90ad3c3" + [[package]] name = "merlin" version = "2.0.1" @@ -1773,6 +1809,17 @@ dependencies = [ "num-traits", ] +[[package]] +name = "num-bigint" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f93ab6289c7b344a8a9f60f88d80aa20032336fe78da341afc91c8a2341fc75f" +dependencies = [ + "autocfg", + "num-integer", + "num-traits", +] + [[package]] name = "num-format" version = "0.4.3" @@ -1800,7 +1847,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5c000134b5dbf44adc5cb772486d335293351644b801551abe8f75c84cfa4aef" dependencies = [ "autocfg", - "num-bigint", + "num-bigint 0.2.6", + "num-integer", + "num-traits", +] + +[[package]] +name = "num-rational" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0" +dependencies = [ + "autocfg", + "num-bigint 0.4.3", "num-integer", "num-traits", ] @@ -1866,16 +1925,16 @@ checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee" [[package]] name = "pallet-contracts-primitives" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "bitflags", "parity-scale-codec", "scale-info", "serde", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", "sp-rpc", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", ] [[package]] @@ -1937,6 +1996,12 @@ version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "be5e13c266502aadf83426d87d81a0f5d1ef45b8027f5a471c360abfe4bfae92" +[[package]] +name = "parity-wasm" +version = "0.45.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1ad0aff30c1da14b1254fcb2af73e1fa9a28670e584a626f53a369d0e157304" + [[package]] name = "parking" version = "2.0.0" @@ -1986,7 +2051,7 @@ dependencies = [ "parity-scale-codec", "primitives", "rand 0.8.5", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", "sp-keyring", "subxt", "tokio", @@ -2048,6 +2113,17 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" +[[package]] +name = "pkcs8" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7cabda3fb821068a9a4fab19a683eac3af12edf0f34b94a8be53c4972b8149d0" +dependencies = [ + "der", + "spki", + "zeroize", +] + [[package]] name = "ppv-lite86" version = "0.2.17" @@ -2069,17 +2145,17 @@ dependencies = [ [[package]] name = "primitives" -version = "0.5.0" +version = "0.5.2" dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-api 4.0.0-dev (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-application-crypto 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-staking 4.0.0-dev (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-api", + "sp-application-crypto 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-staking", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", ] [[package]] @@ -2496,6 +2572,7 @@ checksum = "08da66b8b0965a5555b6bd6639e68ccba85e1e2506f5fbb089e93f8a04e1a2d1" dependencies = [ "der", "generic-array 0.14.6", + "pkcs8", "subtle", "zeroize", ] @@ -2738,54 +2815,25 @@ dependencies = [ [[package]] name = "sp-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "hash-db", "log", "parity-scale-codec", - "sp-api-proc-macro 4.0.0-dev (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-state-machine 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-version 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "thiserror", -] - -[[package]] -name = "sp-api" -version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" -dependencies = [ - "hash-db", - "log", - "parity-scale-codec", - "sp-api-proc-macro 4.0.0-dev (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-state-machine 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-trie 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-version 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-api-proc-macro", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-state-machine 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-trie 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-version", "thiserror", ] [[package]] name = "sp-api-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" -dependencies = [ - "blake2", - "proc-macro-crate", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "sp-api-proc-macro" -version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "blake2", "proc-macro-crate", @@ -2811,27 +2859,14 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", -] - -[[package]] -name = "sp-application-crypto" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" -dependencies = [ - "parity-scale-codec", - "scale-info", - "serde", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", ] [[package]] @@ -2853,30 +2888,15 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "integer-sqrt", "num-traits", "parity-scale-codec", "scale-info", "serde", - "sp-debug-derive 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "static_assertions", -] - -[[package]] -name = "sp-arithmetic" -version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" -dependencies = [ - "integer-sqrt", - "num-traits", - "parity-scale-codec", - "scale-info", - "serde", - "sp-debug-derive 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-debug-derive 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", "static_assertions", ] @@ -2923,71 +2943,25 @@ dependencies = [ "substrate-bip39", "thiserror", "tiny-bip39", - "wasmi", + "wasmi 0.9.1", "zeroize", ] [[package]] name = "sp-core" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ + "array-bytes", "base58", "bitflags", - "blake2-rfc", - "byteorder", - "dyn-clonable", - "ed25519-dalek", - "futures", - "hash-db", - "hash256-std-hasher", - "hex", - "impl-serde", - "lazy_static", - "libsecp256k1", - "log", - "merlin", - "num-traits", - "parity-scale-codec", - "parity-util-mem", - "parking_lot", - "primitive-types", - "rand 0.7.3", - "regex", - "scale-info", - "schnorrkel", - "secp256k1 0.24.1", - "secrecy", - "serde", - "sp-core-hashing 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-debug-derive 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-storage 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "ss58-registry", - "substrate-bip39", - "thiserror", - "tiny-bip39", - "wasmi", - "zeroize", -] - -[[package]] -name = "sp-core" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" -dependencies = [ - "base58", - "bitflags", - "blake2-rfc", + "blake2", "byteorder", "dyn-clonable", "ed25519-zebra", "futures", "hash-db", "hash256-std-hasher", - "hex", "impl-serde", "lazy_static", "libsecp256k1", @@ -3005,17 +2979,17 @@ dependencies = [ "secp256k1 0.24.1", "secrecy", "serde", - "sp-core-hashing 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-debug-derive 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-runtime-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-storage 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-core-hashing 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-debug-derive 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-runtime-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-storage 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", "ss58-registry", "substrate-bip39", "thiserror", "tiny-bip39", - "wasmi", + "wasmi 0.13.2", "zeroize", ] @@ -3036,50 +3010,25 @@ dependencies = [ [[package]] name = "sp-core-hashing" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "blake2", "byteorder", "digest 0.10.6", "sha2 0.10.6", "sha3", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "twox-hash", -] - -[[package]] -name = "sp-core-hashing" -version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" -dependencies = [ - "blake2", - "byteorder", - "digest 0.10.6", - "sha2 0.10.6", - "sha3", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", "twox-hash", ] [[package]] name = "sp-core-hashing-proc-macro" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "proc-macro2", "quote", - "sp-core-hashing 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "syn", -] - -[[package]] -name = "sp-core-hashing-proc-macro" -version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" -dependencies = [ - "proc-macro2", - "quote", - "sp-core-hashing 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-core-hashing 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", "syn", ] @@ -3097,17 +3046,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "sp-debug-derive" -version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "proc-macro2", "quote", @@ -3129,36 +3068,25 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "environmental", "parity-scale-codec", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-storage 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", -] - -[[package]] -name = "sp-externalities" -version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" -dependencies = [ - "environmental", - "parity-scale-codec", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-storage 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-storage 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", ] [[package]] name = "sp-inherents" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "async-trait", "impl-trait-for-tuples", "parity-scale-codec", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", "thiserror", ] @@ -3191,7 +3119,7 @@ dependencies = [ [[package]] name = "sp-io" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "bytes", "futures", @@ -3201,41 +3129,15 @@ dependencies = [ "parity-scale-codec", "parking_lot", "secp256k1 0.24.1", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-keystore 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-state-machine 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-tracing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-trie 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-wasm-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "tracing", - "tracing-core", -] - -[[package]] -name = "sp-io" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" -dependencies = [ - "bytes", - "futures", - "hash-db", - "libsecp256k1", - "log", - "parity-scale-codec", - "parking_lot", - "secp256k1 0.24.1", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-keystore 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-runtime-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-state-machine 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-tracing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-trie 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-wasm-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-keystore 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-runtime-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-state-machine 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-tracing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-trie 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-wasm-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", "tracing", "tracing-core", ] @@ -3243,11 +3145,11 @@ dependencies = [ [[package]] name = "sp-keyring" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "lazy_static", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", "strum", ] @@ -3271,23 +3173,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" -dependencies = [ - "async-trait", - "futures", - "merlin", - "parity-scale-codec", - "parking_lot", - "schnorrkel", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "thiserror", -] - -[[package]] -name = "sp-keystore" -version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "async-trait", "futures", @@ -3295,8 +3181,8 @@ dependencies = [ "parity-scale-codec", "parking_lot", "schnorrkel", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", "thiserror", ] @@ -3314,17 +3200,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" -dependencies = [ - "backtrace", - "lazy_static", - "regex", -] - -[[package]] -name = "sp-panic-handler" -version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "backtrace", "lazy_static", @@ -3334,11 +3210,11 @@ dependencies = [ [[package]] name = "sp-rpc" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "rustc-hash", "serde", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", ] [[package]] @@ -3367,29 +3243,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" -dependencies = [ - "either", - "hash256-std-hasher", - "impl-trait-for-tuples", - "log", - "parity-scale-codec", - "parity-util-mem", - "paste", - "rand 0.7.3", - "scale-info", - "serde", - "sp-application-crypto 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-arithmetic 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", -] - -[[package]] -name = "sp-runtime" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "either", "hash256-std-hasher", @@ -3401,11 +3255,12 @@ dependencies = [ "rand 0.7.3", "scale-info", "serde", - "sp-application-crypto 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-arithmetic 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-application-crypto 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-arithmetic 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-weights", ] [[package]] @@ -3429,36 +3284,18 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "bytes", "impl-trait-for-tuples", "parity-scale-codec", "primitive-types", - "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime-interface-proc-macro 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-storage 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-tracing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-wasm-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "static_assertions", -] - -[[package]] -name = "sp-runtime-interface" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" -dependencies = [ - "bytes", - "impl-trait-for-tuples", - "parity-scale-codec", - "primitive-types", - "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-runtime-interface-proc-macro 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-storage 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-tracing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-wasm-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-runtime-interface-proc-macro 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-storage 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-tracing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-wasm-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", "static_assertions", ] @@ -3478,7 +3315,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "Inflector", "proc-macro-crate", @@ -3487,38 +3324,15 @@ dependencies = [ "syn", ] -[[package]] -name = "sp-runtime-interface-proc-macro" -version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" -dependencies = [ - "Inflector", - "proc-macro-crate", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "sp-staking" -version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" -dependencies = [ - "parity-scale-codec", - "scale-info", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", -] - [[package]] name = "sp-staking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "parity-scale-codec", "scale-info", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", ] [[package]] @@ -3548,29 +3362,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" -dependencies = [ - "hash-db", - "log", - "num-traits", - "parity-scale-codec", - "parking_lot", - "rand 0.7.3", - "smallvec", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-panic-handler 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-trie 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "thiserror", - "tracing", - "trie-root", -] - -[[package]] -name = "sp-state-machine" -version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "hash-db", "log", @@ -3579,11 +3371,11 @@ dependencies = [ "parking_lot", "rand 0.7.3", "smallvec", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-panic-handler 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-trie 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-panic-handler 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-trie 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", "thiserror", "tracing", "trie-root", @@ -3598,12 +3390,7 @@ checksum = "14804d6069ee7a388240b665f17908d98386ffb0b5d39f89a4099fc7a2a4c03f" [[package]] name = "sp-std" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" - -[[package]] -name = "sp-std" -version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" [[package]] name = "sp-storage" @@ -3622,27 +3409,14 @@ dependencies = [ [[package]] name = "sp-storage" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" -dependencies = [ - "impl-serde", - "parity-scale-codec", - "ref-cast", - "serde", - "sp-debug-derive 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", -] - -[[package]] -name = "sp-storage" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "impl-serde", "parity-scale-codec", "ref-cast", "serde", - "sp-debug-derive 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-debug-derive 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", ] [[package]] @@ -3661,22 +3435,10 @@ dependencies = [ [[package]] name = "sp-tracing" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" -dependencies = [ - "parity-scale-codec", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "tracing", - "tracing-core", - "tracing-subscriber", -] - -[[package]] -name = "sp-tracing" -version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "parity-scale-codec", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", "tracing", "tracing-core", "tracing-subscriber", @@ -3701,23 +3463,7 @@ dependencies = [ [[package]] name = "sp-trie" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" -dependencies = [ - "hash-db", - "memory-db", - "parity-scale-codec", - "scale-info", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "thiserror", - "trie-db 0.23.1", - "trie-root", -] - -[[package]] -name = "sp-trie" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "ahash", "hash-db", @@ -3729,8 +3475,8 @@ dependencies = [ "parity-scale-codec", "parking_lot", "scale-info", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", "thiserror", "tracing", "trie-db 0.24.0", @@ -3740,52 +3486,24 @@ dependencies = [ [[package]] name = "sp-version" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "impl-serde", "parity-scale-codec", - "parity-wasm", + "parity-wasm 0.45.0", "scale-info", "serde", - "sp-core-hashing-proc-macro 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-version-proc-macro 4.0.0-dev (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-core-hashing-proc-macro", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-version-proc-macro", "thiserror", ] -[[package]] -name = "sp-version" -version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" -dependencies = [ - "impl-serde", - "parity-scale-codec", - "parity-wasm", - "scale-info", - "serde", - "sp-core-hashing-proc-macro 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-version-proc-macro 4.0.0-dev (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "thiserror", -] - -[[package]] -name = "sp-version-proc-macro" -version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" -dependencies = [ - "parity-scale-codec", - "proc-macro2", - "quote", - "syn", -] - [[package]] name = "sp-version-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "parity-scale-codec", "proc-macro2", @@ -3803,31 +3521,35 @@ dependencies = [ "log", "parity-scale-codec", "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "wasmi", + "wasmi 0.9.1", ] [[package]] name = "sp-wasm-interface" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "impl-trait-for-tuples", "log", "parity-scale-codec", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "wasmi", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "wasmi 0.13.2", ] [[package]] -name = "sp-wasm-interface" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +name = "sp-weights" +version = "4.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "impl-trait-for-tuples", - "log", "parity-scale-codec", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "wasmi", + "scale-info", + "serde", + "smallvec", + "sp-arithmetic 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-debug-derive 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", ] [[package]] @@ -3836,6 +3558,16 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" +[[package]] +name = "spki" +version = "0.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44d01ac02a6ccf3e07db148d2be087da624fea0221a16152ed01f0496a6b0a27" +dependencies = [ + "base64ct", + "der", +] + [[package]] name = "ss58-registry" version = "1.35.0" @@ -4454,11 +4186,22 @@ checksum = "ca00c5147c319a8ec91ec1a0edbec31e566ce2c9cc93b3f9bb86a9efd0eb795d" dependencies = [ "downcast-rs", "libc", - "memory_units", - "num-rational", + "memory_units 0.3.0", + "num-rational 0.2.4", "num-traits", - "parity-wasm", - "wasmi-validation", + "parity-wasm 0.42.2", + "wasmi-validation 0.4.1", +] + +[[package]] +name = "wasmi" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06c326c93fbf86419608361a2c925a31754cf109da1b8b55737070b4d6669422" +dependencies = [ + "parity-wasm 0.45.0", + "wasmi-validation 0.5.0", + "wasmi_core", ] [[package]] @@ -4467,7 +4210,29 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "165343ecd6c018fc09ebcae280752702c9a2ef3e6f8d02f1cfcbdb53ef6d7937" dependencies = [ - "parity-wasm", + "parity-wasm 0.42.2", +] + +[[package]] +name = "wasmi-validation" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91ff416ad1ff0c42e5a926ed5d5fab74c0f098749aa0ad8b2a34b982ce0e867b" +dependencies = [ + "parity-wasm 0.45.0", +] + +[[package]] +name = "wasmi_core" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57d20cb3c59b788653d99541c646c561c9dd26506f25c0cebfe810659c54c6d7" +dependencies = [ + "downcast-rs", + "libm", + "memory_units 0.4.0", + "num-rational 0.4.1", + "num-traits", ] [[package]] diff --git a/benches/payout-stakers/Cargo.toml b/benches/payout-stakers/Cargo.toml index 42999ccd84..f59bfb9617 100644 --- a/benches/payout-stakers/Cargo.toml +++ b/benches/payout-stakers/Cargo.toml @@ -14,8 +14,8 @@ log = "0.4" futures = "0.3.25" rand = "0.8.5" -sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29", features = ["full_crypto"] } -sp-keyring = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30", features = ["full_crypto"] } +sp-keyring = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } subxt = "0.24.0" tokio = { version = "1.21.2", features = ["full"] } diff --git a/bin/cliain/Cargo.lock b/bin/cliain/Cargo.lock index 96b588f9dc..4b42a5fd8e 100644 --- a/bin/cliain/Cargo.lock +++ b/bin/cliain/Cargo.lock @@ -49,7 +49,7 @@ dependencies = [ [[package]] name = "aleph_client" -version = "2.1.0" +version = "2.2.0" dependencies = [ "anyhow", "async-trait", @@ -65,8 +65,8 @@ dependencies = [ "primitives", "serde", "serde_json", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", "subxt", "thiserror", ] @@ -104,6 +104,12 @@ dependencies = [ "num-traits", ] +[[package]] +name = "array-bytes" +version = "4.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f52f63c5c1316a16a4b35eaac8b76a98248961a533f061684cb2a7cb0eafb6c6" + [[package]] name = "arrayref" version = "0.3.6" @@ -202,6 +208,12 @@ version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" +[[package]] +name = "base64ct" +version = "1.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b645a089122eccb6111b4f81cbc1a49f5900ac4666bb93ac027feaecf15607bf" + [[package]] name = "beef" version = "0.5.2" @@ -400,7 +412,7 @@ dependencies = [ [[package]] name = "cliain" -version = "0.7.0" +version = "0.8.0" dependencies = [ "aleph_client", "anyhow", @@ -417,7 +429,7 @@ dependencies = [ "primitives", "serde", "serde_json", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", "subxt", "tokio", ] @@ -985,7 +997,7 @@ dependencies = [ [[package]] name = "frame-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "frame-support", "frame-system", @@ -996,19 +1008,19 @@ dependencies = [ "scale-info", "serde", "sp-api", - "sp-application-crypto 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-runtime-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-storage 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-application-crypto 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-runtime-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-storage 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", ] [[package]] name = "frame-election-provider-solution-type" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -1019,17 +1031,17 @@ dependencies = [ [[package]] name = "frame-election-provider-support" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "frame-election-provider-solution-type", "frame-support", "frame-system", "parity-scale-codec", "scale-info", - "sp-arithmetic 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-arithmetic 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", "sp-npos-elections", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", ] [[package]] @@ -1047,7 +1059,7 @@ dependencies = [ [[package]] name = "frame-support" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "bitflags", "frame-metadata", @@ -1062,23 +1074,24 @@ dependencies = [ "serde", "smallvec", "sp-api", - "sp-arithmetic 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-arithmetic 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", "sp-core-hashing-proc-macro", "sp-inherents", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", "sp-staking", - "sp-state-machine 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-tracing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-state-machine 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-tracing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-weights", "tt-call", ] [[package]] name = "frame-support-procedural" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "Inflector", "cfg-expr", @@ -1092,7 +1105,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate", @@ -1104,7 +1117,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "proc-macro2", "quote", @@ -1114,18 +1127,19 @@ dependencies = [ [[package]] name = "frame-system" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "frame-support", "log", "parity-scale-codec", "scale-info", "serde", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", "sp-version", + "sp-weights", ] [[package]] @@ -1867,6 +1881,12 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "71d96e3f3c0b6325d8ccd83c33b28acb183edcb6c67938ba104ec546854b0882" +[[package]] +name = "memory_units" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8452105ba047068f40ff7093dd1d9da90898e63dd61736462e9cdda6a90ad3c3" + [[package]] name = "merlin" version = "2.0.1" @@ -1981,6 +2001,17 @@ dependencies = [ "num-traits", ] +[[package]] +name = "num-bigint" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f93ab6289c7b344a8a9f60f88d80aa20032336fe78da341afc91c8a2341fc75f" +dependencies = [ + "autocfg", + "num-integer", + "num-traits", +] + [[package]] name = "num-complex" version = "0.4.2" @@ -2017,7 +2048,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5c000134b5dbf44adc5cb772486d335293351644b801551abe8f75c84cfa4aef" dependencies = [ "autocfg", - "num-bigint", + "num-bigint 0.2.6", "num-integer", "num-traits", ] @@ -2029,6 +2060,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0" dependencies = [ "autocfg", + "num-bigint 0.4.3", "num-integer", "num-traits", ] @@ -2095,7 +2127,7 @@ checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee" [[package]] name = "pallet-authorship" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "frame-support", "frame-system", @@ -2103,29 +2135,29 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-authorship", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", ] [[package]] name = "pallet-contracts-primitives" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "bitflags", "parity-scale-codec", "scale-info", "serde", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", "sp-rpc", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", ] [[package]] name = "pallet-session" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "frame-support", "frame-system", @@ -2134,20 +2166,21 @@ dependencies = [ "pallet-timestamp", "parity-scale-codec", "scale-info", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", "sp-session", "sp-staking", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-trie 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-trie 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", ] [[package]] name = "pallet-staking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ + "frame-benchmarking", "frame-election-provider-support", "frame-support", "frame-system", @@ -2157,17 +2190,17 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-application-crypto 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-application-crypto 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", "sp-staking", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", ] [[package]] name = "pallet-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "frame-benchmarking", "frame-support", @@ -2176,8 +2209,9 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-inherents", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", "sp-timestamp", ] @@ -2240,6 +2274,12 @@ version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "be5e13c266502aadf83426d87d81a0f5d1ef45b8027f5a471c360abfe4bfae92" +[[package]] +name = "parity-wasm" +version = "0.45.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1ad0aff30c1da14b1254fcb2af73e1fa9a28670e584a626f53a369d0e157304" + [[package]] name = "parking" version = "2.0.0" @@ -2331,6 +2371,17 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" +[[package]] +name = "pkcs8" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7cabda3fb821068a9a4fab19a683eac3af12edf0f34b94a8be53c4972b8149d0" +dependencies = [ + "der", + "spki", + "zeroize", +] + [[package]] name = "ppv-lite86" version = "0.2.17" @@ -2352,17 +2403,17 @@ dependencies = [ [[package]] name = "primitives" -version = "0.5.1" +version = "0.5.2" dependencies = [ "parity-scale-codec", "scale-info", "serde", "sp-api", - "sp-application-crypto 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-application-crypto 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", "sp-staking", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", ] [[package]] @@ -2804,6 +2855,7 @@ checksum = "08da66b8b0965a5555b6bd6639e68ccba85e1e2506f5fbb089e93f8a04e1a2d1" dependencies = [ "der", "generic-array 0.14.6", + "pkcs8", "subtle", "zeroize", ] @@ -3058,17 +3110,17 @@ dependencies = [ [[package]] name = "sp-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "hash-db", "log", "parity-scale-codec", "sp-api-proc-macro", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-state-machine 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-trie 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-state-machine 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-trie 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", "sp-version", "thiserror", ] @@ -3076,7 +3128,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "blake2", "proc-macro-crate", @@ -3102,14 +3154,14 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", ] [[package]] @@ -3131,28 +3183,28 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "integer-sqrt", "num-traits", "parity-scale-codec", "scale-info", "serde", - "sp-debug-derive 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-debug-derive 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", "static_assertions", ] [[package]] name = "sp-authorship" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "async-trait", "parity-scale-codec", "sp-inherents", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", ] [[package]] @@ -3198,25 +3250,25 @@ dependencies = [ "substrate-bip39", "thiserror", "tiny-bip39", - "wasmi", + "wasmi 0.9.1", "zeroize", ] [[package]] name = "sp-core" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ + "array-bytes", "base58", "bitflags", - "blake2-rfc", + "blake2", "byteorder", "dyn-clonable", "ed25519-zebra", "futures", "hash-db", "hash256-std-hasher", - "hex", "impl-serde", "lazy_static", "libsecp256k1", @@ -3234,17 +3286,17 @@ dependencies = [ "secp256k1 0.24.1", "secrecy", "serde", - "sp-core-hashing 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-debug-derive 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-runtime-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-storage 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-core-hashing 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-debug-derive 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-runtime-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-storage 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", "ss58-registry", "substrate-bip39", "thiserror", "tiny-bip39", - "wasmi", + "wasmi 0.13.2", "zeroize", ] @@ -3265,25 +3317,25 @@ dependencies = [ [[package]] name = "sp-core-hashing" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "blake2", "byteorder", "digest 0.10.6", "sha2 0.10.6", "sha3", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", "twox-hash", ] [[package]] name = "sp-core-hashing-proc-macro" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "proc-macro2", "quote", - "sp-core-hashing 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-core-hashing 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", "syn", ] @@ -3301,7 +3353,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "proc-macro2", "quote", @@ -3323,25 +3375,25 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "environmental", "parity-scale-codec", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-storage 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-storage 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", ] [[package]] name = "sp-inherents" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "async-trait", "impl-trait-for-tuples", "parity-scale-codec", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", "thiserror", ] @@ -3374,7 +3426,7 @@ dependencies = [ [[package]] name = "sp-io" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "bytes", "futures", @@ -3384,15 +3436,15 @@ dependencies = [ "parity-scale-codec", "parking_lot", "secp256k1 0.24.1", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-keystore 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-runtime-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-state-machine 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-tracing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-trie 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-wasm-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-keystore 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-runtime-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-state-machine 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-tracing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-trie 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-wasm-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", "tracing", "tracing-core", ] @@ -3417,7 +3469,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "async-trait", "futures", @@ -3425,23 +3477,23 @@ dependencies = [ "parity-scale-codec", "parking_lot", "schnorrkel", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", "thiserror", ] [[package]] name = "sp-npos-elections" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-arithmetic 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-arithmetic 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", ] [[package]] @@ -3458,7 +3510,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "backtrace", "lazy_static", @@ -3468,11 +3520,11 @@ dependencies = [ [[package]] name = "sp-rpc" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "rustc-hash", "serde", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", ] [[package]] @@ -3501,7 +3553,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "either", "hash256-std-hasher", @@ -3513,11 +3565,12 @@ dependencies = [ "rand 0.7.3", "scale-info", "serde", - "sp-application-crypto 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-arithmetic 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-application-crypto 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-arithmetic 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-weights", ] [[package]] @@ -3541,18 +3594,18 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "bytes", "impl-trait-for-tuples", "parity-scale-codec", "primitive-types", - "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-runtime-interface-proc-macro 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-storage 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-tracing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-wasm-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-runtime-interface-proc-macro 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-storage 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-tracing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-wasm-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", "static_assertions", ] @@ -3572,7 +3625,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "Inflector", "proc-macro-crate", @@ -3584,26 +3637,26 @@ dependencies = [ [[package]] name = "sp-session" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "parity-scale-codec", "scale-info", "sp-api", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", "sp-staking", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", ] [[package]] name = "sp-staking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "parity-scale-codec", "scale-info", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", ] [[package]] @@ -3633,7 +3686,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "hash-db", "log", @@ -3642,11 +3695,11 @@ dependencies = [ "parking_lot", "rand 0.7.3", "smallvec", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-panic-handler 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-trie 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-panic-handler 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-trie 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", "thiserror", "tracing", "trie-root", @@ -3661,7 +3714,7 @@ checksum = "14804d6069ee7a388240b665f17908d98386ffb0b5d39f89a4099fc7a2a4c03f" [[package]] name = "sp-std" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" [[package]] name = "sp-storage" @@ -3680,20 +3733,20 @@ dependencies = [ [[package]] name = "sp-storage" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "impl-serde", "parity-scale-codec", "ref-cast", "serde", - "sp-debug-derive 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-debug-derive 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", ] [[package]] name = "sp-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "async-trait", "futures-timer", @@ -3701,8 +3754,8 @@ dependencies = [ "parity-scale-codec", "sp-api", "sp-inherents", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", "thiserror", ] @@ -3722,10 +3775,10 @@ dependencies = [ [[package]] name = "sp-tracing" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "parity-scale-codec", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", "tracing", "tracing-core", "tracing-subscriber", @@ -3750,7 +3803,7 @@ dependencies = [ [[package]] name = "sp-trie" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "ahash", "hash-db", @@ -3762,8 +3815,8 @@ dependencies = [ "parity-scale-codec", "parking_lot", "scale-info", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", "thiserror", "tracing", "trie-db 0.24.0", @@ -3773,16 +3826,16 @@ dependencies = [ [[package]] name = "sp-version" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "impl-serde", "parity-scale-codec", - "parity-wasm", + "parity-wasm 0.45.0", "scale-info", "serde", "sp-core-hashing-proc-macro", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", "sp-version-proc-macro", "thiserror", ] @@ -3790,7 +3843,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "parity-scale-codec", "proc-macro2", @@ -3808,19 +3861,35 @@ dependencies = [ "log", "parity-scale-codec", "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "wasmi", + "wasmi 0.9.1", ] [[package]] name = "sp-wasm-interface" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "impl-trait-for-tuples", "log", "parity-scale-codec", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "wasmi", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "wasmi 0.13.2", +] + +[[package]] +name = "sp-weights" +version = "4.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +dependencies = [ + "impl-trait-for-tuples", + "parity-scale-codec", + "scale-info", + "serde", + "smallvec", + "sp-arithmetic 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-debug-derive 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", ] [[package]] @@ -3829,6 +3898,16 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" +[[package]] +name = "spki" +version = "0.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44d01ac02a6ccf3e07db148d2be087da624fea0221a16152ed01f0496a6b0a27" +dependencies = [ + "base64ct", + "der", +] + [[package]] name = "ss58-registry" version = "1.35.0" @@ -4462,11 +4541,22 @@ checksum = "ca00c5147c319a8ec91ec1a0edbec31e566ce2c9cc93b3f9bb86a9efd0eb795d" dependencies = [ "downcast-rs", "libc", - "memory_units", + "memory_units 0.3.0", "num-rational 0.2.4", "num-traits", - "parity-wasm", - "wasmi-validation", + "parity-wasm 0.42.2", + "wasmi-validation 0.4.1", +] + +[[package]] +name = "wasmi" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06c326c93fbf86419608361a2c925a31754cf109da1b8b55737070b4d6669422" +dependencies = [ + "parity-wasm 0.45.0", + "wasmi-validation 0.5.0", + "wasmi_core", ] [[package]] @@ -4475,7 +4565,29 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "165343ecd6c018fc09ebcae280752702c9a2ef3e6f8d02f1cfcbdb53ef6d7937" dependencies = [ - "parity-wasm", + "parity-wasm 0.42.2", +] + +[[package]] +name = "wasmi-validation" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91ff416ad1ff0c42e5a926ed5d5fab74c0f098749aa0ad8b2a34b982ce0e867b" +dependencies = [ + "parity-wasm 0.45.0", +] + +[[package]] +name = "wasmi_core" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57d20cb3c59b788653d99541c646c561c9dd26506f25c0cebfe810659c54c6d7" +dependencies = [ + "downcast-rs", + "libm", + "memory_units 0.4.0", + "num-rational 0.4.1", + "num-traits", ] [[package]] diff --git a/bin/cliain/Cargo.toml b/bin/cliain/Cargo.toml index c1055cf2d8..0b2468cb10 100644 --- a/bin/cliain/Cargo.toml +++ b/bin/cliain/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "cliain" -version = "0.7.0" +version = "0.8.0" edition = "2021" license = "GPL-3.0-or-later" @@ -16,11 +16,11 @@ env_logger = "0.8" hex = "0.4.3" ink_metadata = { version = "3.0", features = ["derive"] } log = "0.4" -pallet-staking = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +pallet-staking = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } primitives = { path = "../../primitives" } serde = { version = "1.0.137", features = ["derive"] } serde_json = "1.0.81" -sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29", features = ["full_crypto"] } +sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30", features = ["full_crypto"] } tokio = { version = "1.21.2", features = ["full"] } subxt = "0.24.0" diff --git a/bin/cliain/src/contracts.rs b/bin/cliain/src/contracts.rs index d5be80a395..fb33631645 100644 --- a/bin/cliain/src/contracts.rs +++ b/bin/cliain/src/contracts.rs @@ -5,9 +5,9 @@ use std::{ use aleph_client::{ api::contracts::events::{CodeRemoved, CodeStored, Instantiated}, - frame_support::weights::weight_v2::Weight, pallet_contracts::wasm::OwnerInfo, pallets::contract::{ContractsApi, ContractsUserApi}, + sp_weights::weight_v2::Weight, waiting::{AlephWaiting, BlockStatus}, AccountId, Connection, SignedConnection, TxStatus, }; diff --git a/bin/node/Cargo.toml b/bin/node/Cargo.toml index 73ff9d754e..50a67e406e 100644 --- a/bin/node/Cargo.toml +++ b/bin/node/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "aleph-node" -version = "0.8.1" +version = "0.8.2" authors = ["Cardinal Cryptography"] description = "Aleph node binary" edition = "2021" @@ -27,31 +27,31 @@ hex-literal = "0.3" libp2p = "0.44" thiserror = "1.0" -sp-application-crypto = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -sc-block-builder = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -sc-chain-spec = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29"} -sc-cli = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29", features = ["wasmtime"] } -sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -sc-executor = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29", features = ["wasmtime"] } -sc-service = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29", features = ["wasmtime"] } -sc-telemetry = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -sc-keystore = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -sp-keystore = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -sp-inherents = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -sc-basic-authorship = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -sc-network = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -sc-transaction-pool = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -sp-transaction-pool = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -sc-transaction-pool-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -sc-consensus-aura = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -sp-consensus-aura = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -sp-consensus = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -sc-consensus = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -sc-client-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -sp-timestamp = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -pallet-staking = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -try-runtime-cli = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29", optional = true } +sp-application-crypto = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +sc-block-builder = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +sc-chain-spec = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30"} +sc-cli = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30", features = ["wasmtime"] } +sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +sc-executor = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30", features = ["wasmtime"] } +sc-service = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30", features = ["wasmtime"] } +sc-telemetry = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +sc-keystore = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +sp-keystore = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +sp-inherents = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +sc-basic-authorship = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +sc-network = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +sc-transaction-pool = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +sp-transaction-pool = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +sc-transaction-pool-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +sc-consensus-aura = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +sp-consensus-aura = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +sp-consensus = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +sc-consensus = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +sc-client-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +sp-timestamp = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +pallet-staking = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +try-runtime-cli = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30", optional = true } aleph-runtime = { path = "../runtime" } finality-aleph = { path = "../../finality-aleph" } @@ -59,17 +59,17 @@ aleph-primitives = { package = "primitives", path = "../../primitives" } # These dependencies are used for the node's RPCs jsonrpsee = { version = "0.15.1", features = ["server"] } -sc-rpc = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -sp-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -sc-rpc-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -sp-blockchain = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -sp-block-builder = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -substrate-frame-rpc-system = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -pallet-contracts-rpc = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -pallet-transaction-payment-rpc = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +sc-rpc = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +sp-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +sc-rpc-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +sp-blockchain = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +sp-block-builder = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +substrate-frame-rpc-system = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +pallet-contracts-rpc = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +pallet-transaction-payment-rpc = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } [build-dependencies] -substrate-build-script-utils = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +substrate-build-script-utils = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } [features] default = [] diff --git a/bin/node/src/service.rs b/bin/node/src/service.rs index 48549f4df0..53cbec030e 100644 --- a/bin/node/src/service.rs +++ b/bin/node/src/service.rs @@ -13,7 +13,6 @@ use finality_aleph::{ }; use futures::channel::mpsc; use log::warn; -use sc_client_api::ExecutorProvider; use sc_consensus_aura::{ImportQueueParams, SlotProportion, StartAuraParams}; use sc_network::NetworkService; use sc_service::{ @@ -128,7 +127,7 @@ pub fn new_partial( let slot_duration = sc_consensus_aura::slot_duration(&*client)?; - let import_queue = sc_consensus_aura::import_queue::( + let import_queue = sc_consensus_aura::import_queue::( ImportQueueParams { block_import: aleph_block_import.clone(), justification_import: Some(Box::new(aleph_block_import.clone())), @@ -142,13 +141,10 @@ pub fn new_partial( slot_duration, ); - Ok((timestamp, slot)) + Ok((slot, timestamp)) }, spawner: &task_manager.spawn_essential_handle(), registry: config.prometheus_registry(), - can_author_with: sp_consensus::CanAuthorWithNativeVersion::new( - client.executor().clone(), - ), check_for_equivocation: Default::default(), telemetry: telemetry.as_ref().map(|x| x.handle()), }, @@ -197,7 +193,7 @@ fn setup( .extra_sets .push(finality_aleph::peers_set_config(Protocol::Authentication)); - let (network, system_rpc_tx, network_starter) = + let (network, system_rpc_tx, tx_handler_controller, network_starter) = sc_service::build_network(sc_service::BuildNetworkParams { config: &config, client: client.clone(), @@ -233,6 +229,7 @@ fn setup( rpc_builder, backend, system_rpc_tx, + tx_handler_controller, config, telemetry: telemetry.as_mut(), })?; @@ -304,11 +301,9 @@ pub fn new_authority( ); proposer_factory.set_default_block_size_limit(MAX_BLOCK_SIZE as usize); - let can_author_with = sp_consensus::CanAuthorWithNativeVersion::new(client.executor().clone()); - let slot_duration = sc_consensus_aura::slot_duration(&*client)?; - let aura = sc_consensus_aura::start_aura::( + let aura = sc_consensus_aura::start_aura::( StartAuraParams { slot_duration, client: client.clone(), @@ -324,12 +319,11 @@ pub fn new_authority( slot_duration, ); - Ok((timestamp, slot)) + Ok((slot, timestamp)) }, force_authoring, backoff_authoring_blocks, keystore: keystore_container.sync_keystore(), - can_author_with, sync_oracle: network.clone(), justification_sync_link: network.clone(), block_proposal_slot_portion: SlotProportion::new(2f32 / 3f32), diff --git a/bin/runtime/Cargo.toml b/bin/runtime/Cargo.toml index ae7f7135e5..b2c80b491b 100644 --- a/bin/runtime/Cargo.toml +++ b/bin/runtime/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "aleph-runtime" -version = "0.8.1" +version = "0.8.2" authors = ["Cardinal Cryptography"] edition = "2021" homepage = "https://alephzero.org" @@ -15,54 +15,53 @@ codec = { package = "parity-scale-codec", version = "3.0", default-features = fa scale-info = { version = "2.0", default-features = false, features = ["derive"] } serde = { version = "1.0", optional = true, features = ["derive"] } -frame-executive = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -frame-support = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -frame-system = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -frame-system-rpc-runtime-api = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -frame-try-runtime = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29", optional = true } +frame-executive = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +frame-support = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +frame-system = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +frame-system-rpc-runtime-api = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +frame-try-runtime = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30", optional = true } -pallet-aura = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -pallet-authorship = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -pallet-balances = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -pallet-contracts = { git = "https://github.com/Cardinal-Cryptography/substrate", default-features = false, branch = "aleph-v0.9.29" } -pallet-contracts-primitives = { git = "https://github.com/Cardinal-Cryptography/substrate", default-features = false, branch = "aleph-v0.9.29" } -pallet-contracts-rpc-runtime-api = { git = "https://github.com/Cardinal-Cryptography/substrate", default-features = false, branch = "aleph-v0.9.29" } -pallet-identity = { git = "https://github.com/Cardinal-Cryptography/substrate", default-features = false, branch = "aleph-v0.9.29" } -pallet-randomness-collective-flip = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -pallet-session = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -pallet-scheduler = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -pallet-staking = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -pallet-sudo = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -pallet-timestamp = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -pallet-transaction-payment = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -pallet-transaction-payment-rpc-runtime-api = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -pallet-treasury = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -pallet-vesting = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -pallet-multisig = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -pallet-utility = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -pallet-nomination-pools = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +pallet-aura = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +pallet-authorship = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +pallet-balances = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +pallet-contracts = { git = "https://github.com/Cardinal-Cryptography/substrate", default-features = false, branch = "aleph-v0.9.30" } +pallet-contracts-primitives = { git = "https://github.com/Cardinal-Cryptography/substrate", default-features = false, branch = "aleph-v0.9.30" } +pallet-contracts-rpc-runtime-api = { git = "https://github.com/Cardinal-Cryptography/substrate", default-features = false, branch = "aleph-v0.9.30" } +pallet-identity = { git = "https://github.com/Cardinal-Cryptography/substrate", default-features = false, branch = "aleph-v0.9.30" } +pallet-randomness-collective-flip = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +pallet-session = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +pallet-scheduler = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +pallet-staking = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +pallet-sudo = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +pallet-timestamp = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +pallet-transaction-payment = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +pallet-transaction-payment-rpc-runtime-api = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +pallet-treasury = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +pallet-vesting = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +pallet-multisig = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +pallet-utility = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +pallet-nomination-pools = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -sp-api = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -sp-block-builder = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -sp-consensus-aura = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -sp-core = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -sp-inherents = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -sp-offchain = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -sp-runtime = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -sp-session = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -sp-staking = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -sp-std = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -sp-transaction-pool = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -sp-version = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -# NOTE: these two disabled features collide with std in wasm -sp-io = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +sp-api = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +sp-block-builder = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +sp-consensus-aura = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +sp-core = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +sp-inherents = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +sp-offchain = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +sp-runtime = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +sp-session = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +sp-staking = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +sp-std = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +sp-transaction-pool = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +sp-version = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +sp-io = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } primitives = { path = "../../primitives", default-features = false } pallet-aleph = { path = "../../pallets/aleph", default-features = false } pallet-elections = { path = "../../pallets/elections", default-features = false } [build-dependencies] -substrate-wasm-builder = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +substrate-wasm-builder = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } [features] default = ["std"] diff --git a/bin/runtime/src/lib.rs b/bin/runtime/src/lib.rs index 690360ef67..7fa0990ed8 100644 --- a/bin/runtime/src/lib.rs +++ b/bin/runtime/src/lib.rs @@ -108,7 +108,7 @@ pub const VERSION: RuntimeVersion = RuntimeVersion { spec_name: create_runtime_str!("aleph-node"), impl_name: create_runtime_str!("aleph-node"), authoring_version: 1, - spec_version: 40, + spec_version: 41, impl_version: 1, apis: RUNTIME_API_VERSIONS, transaction_version: 13, @@ -164,7 +164,7 @@ impl frame_system::Config for Runtime { /// The identifier used to distinguish between accounts. type AccountId = AccountId; /// The aggregated dispatch type that is available for extrinsics. - type Call = Call; + type RuntimeCall = RuntimeCall; /// The lookup mechanism to get account ID from whatever is passed in dispatchers. type Lookup = AccountIdLookup; /// The index type for storing how many extrinsics an account has signed. @@ -178,9 +178,9 @@ impl frame_system::Config for Runtime { /// The header type. type Header = generic::Header; /// The ubiquitous event type. - type Event = Event; + type RuntimeEvent = RuntimeEvent; /// The ubiquitous origin type. - type Origin = Origin; + type RuntimeOrigin = RuntimeOrigin; /// Maximum number of block number to block hash mappings to keep (oldest pruned first). type BlockHashCount = BlockHashCount; /// The weight of database operations that the runtime can invoke. @@ -239,7 +239,7 @@ impl pallet_balances::Config for Runtime { /// The type for recording an account's balance. type Balance = Balance; /// The ubiquitous event type. - type Event = Event; + type RuntimeEvent = RuntimeEvent; type DustRemoval = (); type ExistentialDeposit = ExistentialDeposit; type AccountStore = System; @@ -277,7 +277,7 @@ parameter_types! { } impl pallet_transaction_payment::Config for Runtime { - type Event = Event; + type RuntimeEvent = RuntimeEvent; type OnChargeTransaction = CurrencyAdapter; type LengthToFee = IdentityFee; type WeightToFee = IdentityFee; @@ -292,10 +292,10 @@ parameter_types! { } impl pallet_scheduler::Config for Runtime { - type Event = Event; - type Origin = Origin; + type RuntimeEvent = RuntimeEvent; + type RuntimeOrigin = RuntimeOrigin; type PalletsOrigin = OriginCaller; - type Call = Call; + type RuntimeCall = RuntimeCall; type MaximumWeight = MaximumSchedulerWeight; type ScheduleOrigin = frame_system::EnsureRoot; type MaxScheduledPerBlock = MaxScheduledPerBlock; @@ -306,13 +306,13 @@ impl pallet_scheduler::Config for Runtime { } impl pallet_sudo::Config for Runtime { - type Event = Event; - type Call = Call; + type RuntimeEvent = RuntimeEvent; + type RuntimeCall = RuntimeCall; } impl pallet_aleph::Config for Runtime { type AuthorityId = AlephId; - type Event = Event; + type RuntimeEvent = RuntimeEvent; type SessionInfoProvider = Session; type SessionManager = Elections; } @@ -331,7 +331,7 @@ parameter_types! { impl pallet_elections::Config for Runtime { type EraInfoProvider = Staking; - type Event = Event; + type RuntimeEvent = RuntimeEvent; type DataProvider = Staking; type SessionInfoProvider = Session; type SessionPeriod = SessionPeriod; @@ -347,7 +347,7 @@ parameter_types! { } impl pallet_session::Config for Runtime { - type Event = Event; + type RuntimeEvent = RuntimeEvent; type ValidatorId = ::AccountId; type ValidatorIdOf = pallet_staking::StashOf; type ShouldEndSession = pallet_session::PeriodicSessions; @@ -385,7 +385,7 @@ impl Convert for U256ToBalance { impl pallet_nomination_pools::Config for Runtime { type WeightInfo = (); - type Event = Event; + type RuntimeEvent = RuntimeEvent; type Currency = Balances; type CurrencyBalance = Balance; type RewardCounter = FixedU128; @@ -407,6 +407,7 @@ parameter_types! { pub const MaxNominatorRewardedPerValidator: u32 = MAX_NOMINATORS_REWARDED_PER_VALIDATOR; pub const OffendingValidatorsThreshold: Perbill = Perbill::from_percent(33); pub const SessionsPerEra: EraIndex = DEFAULT_SESSIONS_PER_ERA; + pub HistoryDepth: u32 = 84; } pub struct UniformEraPayout; @@ -462,7 +463,6 @@ impl pallet_staking::WeightInfo for PayoutStakersDecreasedWeightInfo { Weight ), (rebond(l: u32), SubstrateStakingWeights, Weight), - (set_history_depth(e: u32), SubstrateStakingWeights, Weight), (reap_stash(s: u32), SubstrateStakingWeights, Weight), (new_era(v: u32, n: u32), SubstrateStakingWeights, Weight), ( @@ -505,7 +505,7 @@ impl pallet_staking::Config for Runtime { type GenesisElectionProvider = Elections; type MaxNominations = ConstU32<1>; type RewardRemainder = Treasury; - type Event = Event; + type RuntimeEvent = RuntimeEvent; type Slash = Treasury; type Reward = (); type SessionsPerEra = SessionsPerEra; @@ -523,6 +523,8 @@ impl pallet_staking::Config for Runtime { type WeightInfo = PayoutStakersDecreasedWeightInfo; type CurrencyBalance = Balance; type OnStakerSlash = NominationPools; + type HistoryDepth = HistoryDepth; + type TargetList = pallet_staking::UseValidatorsMap; } parameter_types! { @@ -539,10 +541,10 @@ impl pallet_timestamp::Config for Runtime { impl frame_system::offchain::SendTransactionTypes for Runtime where - Call: From, + RuntimeCall: From, { type Extrinsic = UncheckedExtrinsic; - type OverarchingCall = Call; + type OverarchingCall = RuntimeCall; } parameter_types! { @@ -550,7 +552,7 @@ parameter_types! { } impl pallet_vesting::Config for Runtime { - type Event = Event; + type RuntimeEvent = RuntimeEvent; type Currency = Balances; type BlockNumberToBalance = ConvertInto; type MinVestedTransfer = MinVestedTransfer; @@ -569,8 +571,8 @@ parameter_types! { } impl pallet_multisig::Config for Runtime { - type Event = Event; - type Call = Call; + type RuntimeEvent = RuntimeEvent; + type RuntimeCall = RuntimeCall; type Currency = Balances; type DepositBase = DepositBase; type DepositFactor = DepositFactor; @@ -614,7 +616,7 @@ impl pallet_treasury::Config for Runtime { type Burn = Burn; type BurnDestination = (); type Currency = Balances; - type Event = Event; + type RuntimeEvent = RuntimeEvent; type MaxApprovals = MaxApprovals; type OnSlash = (); type PalletId = TreasuryPalletId; @@ -629,8 +631,8 @@ impl pallet_treasury::Config for Runtime { } impl pallet_utility::Config for Runtime { - type Event = Event; - type Call = Call; + type RuntimeEvent = RuntimeEvent; + type RuntimeCall = RuntimeCall; type WeightInfo = pallet_utility::weights::SubstrateWeight; type PalletsOrigin = OriginCaller; } @@ -648,10 +650,10 @@ parameter_types! { // Maximum size of the lazy deletion queue of terminated contracts. // The weight needed for decoding the queue should be less or equal than a tenth // of the overall weight dedicated to the lazy deletion. - pub DeletionQueueDepth: u32 = (DeletionWeightLimit::get().saturating_div(( + pub DeletionQueueDepth: u32 = DeletionWeightLimit::get().saturating_div(( ::WeightInfo::on_initialize_per_queue_item(1) - ::WeightInfo::on_initialize_per_queue_item(0) - ).ref_time()) * 10).ref_time() as u32; // 2228 + ).ref_time() * 10).ref_time() as u32; // 2228 pub Schedule: pallet_contracts::Schedule = Default::default(); } @@ -659,8 +661,8 @@ impl pallet_contracts::Config for Runtime { type Time = Timestamp; type Randomness = RandomnessCollectiveFlip; type Currency = Balances; - type Event = Event; - type Call = Call; + type RuntimeEvent = RuntimeEvent; + type RuntimeCall = RuntimeCall; // The safest default is to allow no calls at all. This is unsafe experimental feature with no support in ink! type CallFilter = Nothing; type DepositPerItem = DepositPerItem; @@ -675,7 +677,6 @@ impl pallet_contracts::Config for Runtime { type AddressGenerator = pallet_contracts::DefaultAddressGenerator; type ContractAccessWeight = pallet_contracts::DefaultContractAccessWeight; type MaxCodeLen = ConstU32<{ 128 * 1024 }>; - type RelaxedMaxCodeLen = ConstU32<{ 256 * 1024 }>; type MaxStorageKeyLen = ConstU32<128>; } @@ -691,7 +692,7 @@ parameter_types! { } impl pallet_identity::Config for Runtime { - type Event = Event; + type RuntimeEvent = RuntimeEvent; type Currency = Balances; type BasicDeposit = BasicDeposit; type FieldDeposit = FieldDeposit; @@ -757,9 +758,10 @@ pub type SignedExtra = ( pallet_transaction_payment::ChargeTransactionPayment, ); /// Unchecked extrinsic type as expected by this runtime. -pub type UncheckedExtrinsic = generic::UncheckedExtrinsic; +pub type UncheckedExtrinsic = + generic::UncheckedExtrinsic; /// Extrinsic type that has already been checked. -pub type CheckedExtrinsic = generic::CheckedExtrinsic; +pub type CheckedExtrinsic = generic::CheckedExtrinsic; /// Executive: handles dispatch to the various modules. pub type Executive = frame_executive::Executive< Runtime, diff --git a/e2e-tests/Cargo.lock b/e2e-tests/Cargo.lock index a5c8101a27..1bf96b1341 100644 --- a/e2e-tests/Cargo.lock +++ b/e2e-tests/Cargo.lock @@ -49,7 +49,7 @@ dependencies = [ [[package]] name = "aleph-e2e-client" -version = "0.9.1" +version = "0.9.2" dependencies = [ "aleph_client", "anyhow", @@ -67,14 +67,14 @@ dependencies = [ "primitives", "rayon", "serde_json", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", "tokio", ] [[package]] name = "aleph_client" -version = "2.1.0" +version = "2.2.0" dependencies = [ "anyhow", "async-trait", @@ -90,8 +90,8 @@ dependencies = [ "primitives", "serde", "serde_json", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", "subxt", "thiserror", ] @@ -129,6 +129,12 @@ dependencies = [ "num-traits", ] +[[package]] +name = "array-bytes" +version = "4.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f52f63c5c1316a16a4b35eaac8b76a98248961a533f061684cb2a7cb0eafb6c6" + [[package]] name = "arrayref" version = "0.3.6" @@ -227,6 +233,12 @@ version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" +[[package]] +name = "base64ct" +version = "1.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b645a089122eccb6111b4f81cbc1a49f5900ac4666bb93ac027feaecf15607bf" + [[package]] name = "beef" version = "0.5.2" @@ -986,7 +998,7 @@ dependencies = [ [[package]] name = "frame-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "frame-support", "frame-system", @@ -997,19 +1009,19 @@ dependencies = [ "scale-info", "serde", "sp-api", - "sp-application-crypto 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-runtime-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-storage 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-application-crypto 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-runtime-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-storage 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", ] [[package]] name = "frame-election-provider-solution-type" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -1020,17 +1032,17 @@ dependencies = [ [[package]] name = "frame-election-provider-support" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "frame-election-provider-solution-type", "frame-support", "frame-system", "parity-scale-codec", "scale-info", - "sp-arithmetic 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-arithmetic 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", "sp-npos-elections", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", ] [[package]] @@ -1048,7 +1060,7 @@ dependencies = [ [[package]] name = "frame-support" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "bitflags", "frame-metadata", @@ -1063,23 +1075,24 @@ dependencies = [ "serde", "smallvec", "sp-api", - "sp-arithmetic 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-arithmetic 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", "sp-core-hashing-proc-macro", "sp-inherents", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", "sp-staking", - "sp-state-machine 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-tracing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-state-machine 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-tracing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-weights", "tt-call", ] [[package]] name = "frame-support-procedural" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "Inflector", "cfg-expr", @@ -1093,7 +1106,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate", @@ -1105,7 +1118,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "proc-macro2", "quote", @@ -1115,18 +1128,19 @@ dependencies = [ [[package]] name = "frame-system" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "frame-support", "log", "parity-scale-codec", "scale-info", "serde", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", "sp-version", + "sp-weights", ] [[package]] @@ -1877,6 +1891,12 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "71d96e3f3c0b6325d8ccd83c33b28acb183edcb6c67938ba104ec546854b0882" +[[package]] +name = "memory_units" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8452105ba047068f40ff7093dd1d9da90898e63dd61736462e9cdda6a90ad3c3" + [[package]] name = "merlin" version = "2.0.1" @@ -1991,6 +2011,17 @@ dependencies = [ "num-traits", ] +[[package]] +name = "num-bigint" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f93ab6289c7b344a8a9f60f88d80aa20032336fe78da341afc91c8a2341fc75f" +dependencies = [ + "autocfg", + "num-integer", + "num-traits", +] + [[package]] name = "num-complex" version = "0.4.2" @@ -2027,7 +2058,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5c000134b5dbf44adc5cb772486d335293351644b801551abe8f75c84cfa4aef" dependencies = [ "autocfg", - "num-bigint", + "num-bigint 0.2.6", "num-integer", "num-traits", ] @@ -2039,6 +2070,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0" dependencies = [ "autocfg", + "num-bigint 0.4.3", "num-integer", "num-traits", ] @@ -2105,7 +2137,7 @@ checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee" [[package]] name = "pallet-authorship" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "frame-support", "frame-system", @@ -2113,14 +2145,14 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-authorship", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", ] [[package]] name = "pallet-balances" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "frame-benchmarking", "frame-support", @@ -2128,28 +2160,28 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", ] [[package]] name = "pallet-contracts-primitives" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "bitflags", "parity-scale-codec", "scale-info", "serde", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", "sp-rpc", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", ] [[package]] name = "pallet-elections" -version = "0.5.1" +version = "0.5.2" dependencies = [ "frame-election-provider-support", "frame-support", @@ -2162,17 +2194,17 @@ dependencies = [ "parity-scale-codec", "primitives", "scale-info", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", "sp-staking", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", ] [[package]] name = "pallet-session" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "frame-support", "frame-system", @@ -2181,20 +2213,21 @@ dependencies = [ "pallet-timestamp", "parity-scale-codec", "scale-info", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", "sp-session", "sp-staking", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-trie 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-trie 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", ] [[package]] name = "pallet-staking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ + "frame-benchmarking", "frame-election-provider-support", "frame-support", "frame-system", @@ -2204,17 +2237,17 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-application-crypto 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-application-crypto 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", "sp-staking", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", ] [[package]] name = "pallet-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "frame-benchmarking", "frame-support", @@ -2223,14 +2256,15 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-inherents", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", "sp-timestamp", ] [[package]] name = "pallets-support" -version = "0.1.1" +version = "0.1.2" dependencies = [ "frame-support", ] @@ -2294,6 +2328,12 @@ version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "be5e13c266502aadf83426d87d81a0f5d1ef45b8027f5a471c360abfe4bfae92" +[[package]] +name = "parity-wasm" +version = "0.45.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1ad0aff30c1da14b1254fcb2af73e1fa9a28670e584a626f53a369d0e157304" + [[package]] name = "parking" version = "2.0.0" @@ -2385,6 +2425,17 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" +[[package]] +name = "pkcs8" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7cabda3fb821068a9a4fab19a683eac3af12edf0f34b94a8be53c4972b8149d0" +dependencies = [ + "der", + "spki", + "zeroize", +] + [[package]] name = "ppv-lite86" version = "0.2.17" @@ -2406,17 +2457,17 @@ dependencies = [ [[package]] name = "primitives" -version = "0.5.1" +version = "0.5.2" dependencies = [ "parity-scale-codec", "scale-info", "serde", "sp-api", - "sp-application-crypto 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-application-crypto 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", "sp-staking", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", ] [[package]] @@ -2872,6 +2923,7 @@ checksum = "08da66b8b0965a5555b6bd6639e68ccba85e1e2506f5fbb089e93f8a04e1a2d1" dependencies = [ "der", "generic-array 0.14.6", + "pkcs8", "subtle", "zeroize", ] @@ -3126,17 +3178,17 @@ dependencies = [ [[package]] name = "sp-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "hash-db", "log", "parity-scale-codec", "sp-api-proc-macro", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-state-machine 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-trie 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-state-machine 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-trie 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", "sp-version", "thiserror", ] @@ -3144,7 +3196,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "blake2", "proc-macro-crate", @@ -3170,14 +3222,14 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", ] [[package]] @@ -3199,28 +3251,28 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "integer-sqrt", "num-traits", "parity-scale-codec", "scale-info", "serde", - "sp-debug-derive 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-debug-derive 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", "static_assertions", ] [[package]] name = "sp-authorship" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "async-trait", "parity-scale-codec", "sp-inherents", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", ] [[package]] @@ -3266,25 +3318,25 @@ dependencies = [ "substrate-bip39", "thiserror", "tiny-bip39", - "wasmi", + "wasmi 0.9.1", "zeroize", ] [[package]] name = "sp-core" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ + "array-bytes", "base58", "bitflags", - "blake2-rfc", + "blake2", "byteorder", "dyn-clonable", "ed25519-zebra", "futures", "hash-db", "hash256-std-hasher", - "hex", "impl-serde", "lazy_static", "libsecp256k1", @@ -3302,17 +3354,17 @@ dependencies = [ "secp256k1 0.24.1", "secrecy", "serde", - "sp-core-hashing 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-debug-derive 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-runtime-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-storage 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-core-hashing 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-debug-derive 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-runtime-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-storage 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", "ss58-registry", "substrate-bip39", "thiserror", "tiny-bip39", - "wasmi", + "wasmi 0.13.2", "zeroize", ] @@ -3333,25 +3385,25 @@ dependencies = [ [[package]] name = "sp-core-hashing" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "blake2", "byteorder", "digest 0.10.6", "sha2 0.10.6", "sha3", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", "twox-hash", ] [[package]] name = "sp-core-hashing-proc-macro" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "proc-macro2", "quote", - "sp-core-hashing 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-core-hashing 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", "syn", ] @@ -3369,7 +3421,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "proc-macro2", "quote", @@ -3391,25 +3443,25 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "environmental", "parity-scale-codec", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-storage 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-storage 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", ] [[package]] name = "sp-inherents" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "async-trait", "impl-trait-for-tuples", "parity-scale-codec", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", "thiserror", ] @@ -3442,7 +3494,7 @@ dependencies = [ [[package]] name = "sp-io" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "bytes", "futures", @@ -3452,15 +3504,15 @@ dependencies = [ "parity-scale-codec", "parking_lot", "secp256k1 0.24.1", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-keystore 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-runtime-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-state-machine 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-tracing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-trie 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-wasm-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-keystore 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-runtime-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-state-machine 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-tracing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-trie 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-wasm-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", "tracing", "tracing-core", ] @@ -3485,7 +3537,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "async-trait", "futures", @@ -3493,23 +3545,23 @@ dependencies = [ "parity-scale-codec", "parking_lot", "schnorrkel", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", "thiserror", ] [[package]] name = "sp-npos-elections" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-arithmetic 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-arithmetic 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", ] [[package]] @@ -3526,7 +3578,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "backtrace", "lazy_static", @@ -3536,11 +3588,11 @@ dependencies = [ [[package]] name = "sp-rpc" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "rustc-hash", "serde", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", ] [[package]] @@ -3569,7 +3621,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "either", "hash256-std-hasher", @@ -3581,11 +3633,12 @@ dependencies = [ "rand 0.7.3", "scale-info", "serde", - "sp-application-crypto 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-arithmetic 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-application-crypto 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-arithmetic 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-weights", ] [[package]] @@ -3609,18 +3662,18 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "bytes", "impl-trait-for-tuples", "parity-scale-codec", "primitive-types", - "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-runtime-interface-proc-macro 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-storage 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-tracing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-wasm-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-runtime-interface-proc-macro 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-storage 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-tracing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-wasm-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", "static_assertions", ] @@ -3640,7 +3693,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "Inflector", "proc-macro-crate", @@ -3652,26 +3705,26 @@ dependencies = [ [[package]] name = "sp-session" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "parity-scale-codec", "scale-info", "sp-api", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", "sp-staking", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", ] [[package]] name = "sp-staking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "parity-scale-codec", "scale-info", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", ] [[package]] @@ -3701,7 +3754,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "hash-db", "log", @@ -3710,11 +3763,11 @@ dependencies = [ "parking_lot", "rand 0.7.3", "smallvec", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-panic-handler 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-trie 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-panic-handler 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-trie 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", "thiserror", "tracing", "trie-root", @@ -3729,7 +3782,7 @@ checksum = "14804d6069ee7a388240b665f17908d98386ffb0b5d39f89a4099fc7a2a4c03f" [[package]] name = "sp-std" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" [[package]] name = "sp-storage" @@ -3748,20 +3801,20 @@ dependencies = [ [[package]] name = "sp-storage" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "impl-serde", "parity-scale-codec", "ref-cast", "serde", - "sp-debug-derive 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-debug-derive 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", ] [[package]] name = "sp-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "async-trait", "futures-timer", @@ -3769,8 +3822,8 @@ dependencies = [ "parity-scale-codec", "sp-api", "sp-inherents", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", "thiserror", ] @@ -3790,10 +3843,10 @@ dependencies = [ [[package]] name = "sp-tracing" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "parity-scale-codec", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", "tracing", "tracing-core", "tracing-subscriber", @@ -3818,7 +3871,7 @@ dependencies = [ [[package]] name = "sp-trie" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "ahash", "hash-db", @@ -3830,8 +3883,8 @@ dependencies = [ "parity-scale-codec", "parking_lot", "scale-info", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", "thiserror", "tracing", "trie-db 0.24.0", @@ -3841,16 +3894,16 @@ dependencies = [ [[package]] name = "sp-version" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "impl-serde", "parity-scale-codec", - "parity-wasm", + "parity-wasm 0.45.0", "scale-info", "serde", "sp-core-hashing-proc-macro", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", "sp-version-proc-macro", "thiserror", ] @@ -3858,7 +3911,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "parity-scale-codec", "proc-macro2", @@ -3876,19 +3929,35 @@ dependencies = [ "log", "parity-scale-codec", "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "wasmi", + "wasmi 0.9.1", ] [[package]] name = "sp-wasm-interface" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "impl-trait-for-tuples", "log", "parity-scale-codec", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "wasmi", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "wasmi 0.13.2", +] + +[[package]] +name = "sp-weights" +version = "4.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +dependencies = [ + "impl-trait-for-tuples", + "parity-scale-codec", + "scale-info", + "serde", + "smallvec", + "sp-arithmetic 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-debug-derive 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", ] [[package]] @@ -3897,6 +3966,16 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" +[[package]] +name = "spki" +version = "0.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44d01ac02a6ccf3e07db148d2be087da624fea0221a16152ed01f0496a6b0a27" +dependencies = [ + "base64ct", + "der", +] + [[package]] name = "ss58-registry" version = "1.35.0" @@ -4506,11 +4585,22 @@ checksum = "ca00c5147c319a8ec91ec1a0edbec31e566ce2c9cc93b3f9bb86a9efd0eb795d" dependencies = [ "downcast-rs", "libc", - "memory_units", + "memory_units 0.3.0", "num-rational 0.2.4", "num-traits", - "parity-wasm", - "wasmi-validation", + "parity-wasm 0.42.2", + "wasmi-validation 0.4.1", +] + +[[package]] +name = "wasmi" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06c326c93fbf86419608361a2c925a31754cf109da1b8b55737070b4d6669422" +dependencies = [ + "parity-wasm 0.45.0", + "wasmi-validation 0.5.0", + "wasmi_core", ] [[package]] @@ -4519,7 +4609,29 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "165343ecd6c018fc09ebcae280752702c9a2ef3e6f8d02f1cfcbdb53ef6d7937" dependencies = [ - "parity-wasm", + "parity-wasm 0.42.2", +] + +[[package]] +name = "wasmi-validation" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91ff416ad1ff0c42e5a926ed5d5fab74c0f098749aa0ad8b2a34b982ce0e867b" +dependencies = [ + "parity-wasm 0.45.0", +] + +[[package]] +name = "wasmi_core" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57d20cb3c59b788653d99541c646c561c9dd26506f25c0cebfe810659c54c6d7" +dependencies = [ + "downcast-rs", + "libm", + "memory_units 0.4.0", + "num-rational 0.4.1", + "num-traits", ] [[package]] diff --git a/e2e-tests/Cargo.toml b/e2e-tests/Cargo.toml index dfcbba6361..c884ba81c5 100644 --- a/e2e-tests/Cargo.toml +++ b/e2e-tests/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "aleph-e2e-client" -version = "0.9.1" +version = "0.9.2" edition = "2021" license = "Apache 2.0" @@ -16,12 +16,12 @@ rayon = "1.5" tokio = { version = "1.21.2", features = ["full"] } futures = "0.3.25" -sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29", default-features = false, features = ["full_crypto"] } -sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29", default-features = false } -frame-support = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29", default-features = false } -system = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29", package = "frame-system" } -pallet-staking = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29", default-features = false } -pallet-balances = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29", default-features = false } +sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30", default-features = false, features = ["full_crypto"] } +sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30", default-features = false } +frame-support = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30", default-features = false } +system = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30", package = "frame-system" } +pallet-staking = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30", default-features = false } +pallet-balances = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30", default-features = false } aleph_client = { path = "../aleph-client" } primitives = { path = "../primitives", features = ["short_session"], default-features = false } diff --git a/e2e-tests/src/test/ban.rs b/e2e-tests/src/test/ban.rs index 8047aac627..a25711b884 100644 --- a/e2e-tests/src/test/ban.rs +++ b/e2e-tests/src/test/ban.rs @@ -5,7 +5,7 @@ use aleph_client::{ staking::StakingApi, }, primitives::{BanInfo, BanReason}, - sp_runtime::bounded::bounded_vec::BoundedVec, + sp_core::bounded::bounded_vec::BoundedVec, waiting::{BlockStatus, WaitingExt}, SignedConnection, TxStatus, }; diff --git a/e2e-tests/src/test/staking.rs b/e2e-tests/src/test/staking.rs index 1c22f1183f..9f634d50eb 100644 --- a/e2e-tests/src/test/staking.rs +++ b/e2e-tests/src/test/staking.rs @@ -9,7 +9,7 @@ use aleph_client::{ staking::{StakingApi, StakingUserApi}, }, primitives::CommitteeSeats, - sp_runtime::bounded::bounded_vec::BoundedVec, + sp_core::bounded::bounded_vec::BoundedVec, waiting::{BlockStatus, WaitingExt}, AccountId, KeyPair, Pair, SignedConnection, TxStatus, }; @@ -194,7 +194,7 @@ pub async fn staking_new_validator(config: &Config) -> anyhow::Result<()> { total: MIN_VALIDATOR_BOND, active: MIN_VALIDATOR_BOND, unlocking: BoundedVec(vec![]), - claimed_rewards: vec![], + claimed_rewards: BoundedVec(vec![]), } ); diff --git a/finality-aleph/Cargo.toml b/finality-aleph/Cargo.toml index acf5039bd3..89b014f34c 100644 --- a/finality-aleph/Cargo.toml +++ b/finality-aleph/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "finality-aleph" -version = "0.5.1" +version = "0.5.2" authors = ["Cardinal Cryptography"] edition = "2021" license = "Apache 2.0" @@ -36,29 +36,29 @@ serde = "1.0" tiny-bip39 = "1.0" tokio = { version = "1.17", features = [ "sync", "macros", "time", "rt-multi-thread" ] } -prometheus-endpoint = { package = "substrate-prometheus-endpoint", git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -sp-keystore = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -sc-network = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -sc-network-common = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -sc-telemetry = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -sc-service = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -sp-application-crypto = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -sp-state-machine = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -sp-trie = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -sc-utils = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -sp-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -sp-blockchain = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -sc-consensus = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -sp-consensus = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -sc-client-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -sp-io = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +prometheus-endpoint = { package = "substrate-prometheus-endpoint", git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +sp-keystore = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +sc-network = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +sc-network-common = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +sc-telemetry = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +sc-service = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +sp-application-crypto = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +sp-state-machine = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +sp-trie = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +sc-utils = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +sp-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +sp-blockchain = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +sc-consensus = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +sp-consensus = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +sc-client-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +sp-io = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } [dev-dependencies] -substrate-test-runtime-client = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -substrate-test-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -sc-block-builder = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +substrate-test-runtime-client = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +substrate-test-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +sc-block-builder = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } [features] only_legacy = [] diff --git a/finality-aleph/src/lib.rs b/finality-aleph/src/lib.rs index dab38bbbe9..b805b4dfd2 100644 --- a/finality-aleph/src/lib.rs +++ b/finality-aleph/src/lib.rs @@ -10,7 +10,8 @@ use futures::{ }; use sc_client_api::{backend::Backend, BlockchainEvents, Finalizer, LockImportRun, TransactionFor}; use sc_consensus::BlockImport; -use sc_network::{ExHashT, NetworkService}; +use sc_network::NetworkService; +use sc_network_common::ExHashT; use sc_service::SpawnTaskHandle; use sp_api::{NumberFor, ProvideRuntimeApi}; use sp_blockchain::{HeaderBackend, HeaderMetadata}; @@ -70,10 +71,10 @@ enum Error { } /// Returns a NonDefaultSetConfig for the specified protocol. -pub fn peers_set_config(protocol: Protocol) -> sc_network::config::NonDefaultSetConfig { +pub fn peers_set_config(protocol: Protocol) -> sc_network_common::config::NonDefaultSetConfig { let name = protocol_name(&protocol); - let mut config = sc_network::config::NonDefaultSetConfig::new( + let mut config = sc_network_common::config::NonDefaultSetConfig::new( name, // max_notification_size should be larger than the maximum possible honest message size (in bytes). // Max size of alert is UNIT_SIZE * MAX_UNITS_IN_ALERT ~ 100 * 5000 = 50000 bytes @@ -83,7 +84,7 @@ pub fn peers_set_config(protocol: Protocol) -> sc_network::config::NonDefaultSet ); config.set_config = match protocol { - Protocol::Authentication => sc_network::config::SetConfig::default(), + Protocol::Authentication => sc_network_common::config::SetConfig::default(), }; config } diff --git a/finality-aleph/src/nodes/mod.rs b/finality-aleph/src/nodes/mod.rs index d9e6d52e74..28326a287e 100644 --- a/finality-aleph/src/nodes/mod.rs +++ b/finality-aleph/src/nodes/mod.rs @@ -8,7 +8,8 @@ use codec::Encode; use log::warn; pub use nonvalidator_node::run_nonvalidator_node; use sc_client_api::Backend; -use sc_network::{ExHashT, NetworkService}; +use sc_network::NetworkService; +use sc_network_common::ExHashT; use sp_runtime::{ traits::{Block, Header, NumberFor}, RuntimeAppPublic, diff --git a/finality-aleph/src/nodes/nonvalidator_node.rs b/finality-aleph/src/nodes/nonvalidator_node.rs index e70c03f6b3..0e349767d7 100644 --- a/finality-aleph/src/nodes/nonvalidator_node.rs +++ b/finality-aleph/src/nodes/nonvalidator_node.rs @@ -1,6 +1,6 @@ use log::{debug, error}; use sc_client_api::Backend; -use sc_network::ExHashT; +use sc_network_common::ExHashT; use sp_consensus::SelectChain; use sp_runtime::traits::Block; diff --git a/finality-aleph/src/nodes/validator_node.rs b/finality-aleph/src/nodes/validator_node.rs index 6576ac2449..d35c7e8c0c 100644 --- a/finality-aleph/src/nodes/validator_node.rs +++ b/finality-aleph/src/nodes/validator_node.rs @@ -4,7 +4,7 @@ use bip39::{Language, Mnemonic, MnemonicType}; use futures::channel::oneshot; use log::{debug, error}; use sc_client_api::Backend; -use sc_network::ExHashT; +use sc_network_common::ExHashT; use sp_consensus::SelectChain; use sp_keystore::CryptoStore; use sp_runtime::traits::Block; diff --git a/finality-aleph/src/substrate_network.rs b/finality-aleph/src/substrate_network.rs index 3c1cddf5ad..5ce9e126a3 100644 --- a/finality-aleph/src/substrate_network.rs +++ b/finality-aleph/src/substrate_network.rs @@ -5,12 +5,13 @@ use futures::stream::{Stream, StreamExt}; use log::error; use sc_consensus::JustificationSyncLink; use sc_network::{ - multiaddr::Protocol as MultiaddressProtocol, Event as SubstrateEvent, ExHashT, Multiaddr, + multiaddr::Protocol as MultiaddressProtocol, Event as SubstrateEvent, Multiaddr, NetworkService, NetworkSyncForkRequest, PeerId, }; use sc_network_common::{ protocol::ProtocolName, service::{NetworkEventStream as _, NetworkNotification, NetworkPeers, NotificationSender}, + ExHashT, }; use sp_api::NumberFor; use sp_consensus::SyncOracle; diff --git a/flooder/Cargo.lock b/flooder/Cargo.lock index d90a4fecd1..960f668d9a 100644 --- a/flooder/Cargo.lock +++ b/flooder/Cargo.lock @@ -49,7 +49,7 @@ dependencies = [ [[package]] name = "aleph_client" -version = "2.0.0" +version = "2.2.0" dependencies = [ "anyhow", "async-trait", @@ -65,8 +65,8 @@ dependencies = [ "primitives", "serde", "serde_json", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", "subxt", "thiserror", ] @@ -95,6 +95,12 @@ version = "1.0.66" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "216261ddc8289130e551ddcd5ce8a064710c0d064a4d2895c67151c92b5443f6" +[[package]] +name = "array-bytes" +version = "4.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f52f63c5c1316a16a4b35eaac8b76a98248961a533f061684cb2a7cb0eafb6c6" + [[package]] name = "arrayref" version = "0.3.6" @@ -193,6 +199,12 @@ version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" +[[package]] +name = "base64ct" +version = "1.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b645a089122eccb6111b4f81cbc1a49f5900ac4666bb93ac027feaecf15607bf" + [[package]] name = "beef" version = "0.5.2" @@ -354,6 +366,15 @@ version = "1.0.77" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e9f73505338f7d905b19d18738976aae232eb46b8efc15554ffc56deb5d9ebe4" +[[package]] +name = "cfg-expr" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0aacacf4d96c24b2ad6eb8ee6df040e4f27b0d0b39a5710c30091baa830485db" +dependencies = [ + "smallvec", +] + [[package]] name = "cfg-if" version = "0.1.10" @@ -959,7 +980,7 @@ dependencies = [ [[package]] name = "flooder" -version = "0.2.1" +version = "0.2.2" dependencies = [ "aleph_client", "anyhow", @@ -971,8 +992,8 @@ dependencies = [ "mio 0.6.23", "parity-scale-codec", "serde_json", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", "subxt", "tokio", "ws", @@ -1024,7 +1045,7 @@ dependencies = [ [[package]] name = "frame-support" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "bitflags", "frame-metadata", @@ -1038,27 +1059,30 @@ dependencies = [ "scale-info", "serde", "smallvec", - "sp-api 4.0.0-dev (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-arithmetic 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-core-hashing-proc-macro 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-api", + "sp-arithmetic 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-core-hashing-proc-macro", "sp-inherents", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-staking 4.0.0-dev (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-state-machine 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-tracing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-staking", + "sp-state-machine 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-tracing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-weights", "tt-call", ] [[package]] name = "frame-support-procedural" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "Inflector", + "cfg-expr", "frame-support-procedural-tools", + "itertools", "proc-macro2", "quote", "syn", @@ -1067,7 +1091,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate", @@ -1079,7 +1103,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "proc-macro2", "quote", @@ -1738,6 +1762,12 @@ version = "0.2.137" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc7fcc620a3bff7cdd7a365be3376c97191aeaccc2a603e600951e452615bf89" +[[package]] +name = "libm" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "348108ab3fba42ec82ff6e9564fc4ca0247bdccdc68dd8af9764bbc79c3c8ffb" + [[package]] name = "libsecp256k1" version = "0.7.1" @@ -1855,6 +1885,12 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "71d96e3f3c0b6325d8ccd83c33b28acb183edcb6c67938ba104ec546854b0882" +[[package]] +name = "memory_units" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8452105ba047068f40ff7093dd1d9da90898e63dd61736462e9cdda6a90ad3c3" + [[package]] name = "merlin" version = "2.0.1" @@ -1994,6 +2030,17 @@ dependencies = [ "num-traits", ] +[[package]] +name = "num-bigint" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f93ab6289c7b344a8a9f60f88d80aa20032336fe78da341afc91c8a2341fc75f" +dependencies = [ + "autocfg", + "num-integer", + "num-traits", +] + [[package]] name = "num-format" version = "0.4.3" @@ -2021,7 +2068,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5c000134b5dbf44adc5cb772486d335293351644b801551abe8f75c84cfa4aef" dependencies = [ "autocfg", - "num-bigint", + "num-bigint 0.2.6", + "num-integer", + "num-traits", +] + +[[package]] +name = "num-rational" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0" +dependencies = [ + "autocfg", + "num-bigint 0.4.3", "num-integer", "num-traits", ] @@ -2074,9 +2133,9 @@ checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" [[package]] name = "openssl" -version = "0.10.42" +version = "0.10.43" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12fc0523e3bd51a692c8850d075d74dc062ccf251c0110668cbd921917118a13" +checksum = "020433887e44c27ff16365eaa2d380547a94544ad509aff6eb5b6e3e0b27b376" dependencies = [ "bitflags", "cfg-if 1.0.0", @@ -2106,9 +2165,9 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "openssl-sys" -version = "0.9.77" +version = "0.9.78" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b03b84c3b2d099b81f0953422b4d4ad58761589d0229b5506356afca05a3670a" +checksum = "07d5c8cb6e57b3a3612064d7b18b117912b4ce70955c2504d4b741c9e244b132" dependencies = [ "autocfg", "cc", @@ -2126,16 +2185,16 @@ checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee" [[package]] name = "pallet-contracts-primitives" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "bitflags", "parity-scale-codec", "scale-info", "serde", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", "sp-rpc", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", ] [[package]] @@ -2197,6 +2256,12 @@ version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "be5e13c266502aadf83426d87d81a0f5d1ef45b8027f5a471c360abfe4bfae92" +[[package]] +name = "parity-wasm" +version = "0.45.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1ad0aff30c1da14b1254fcb2af73e1fa9a28670e584a626f53a369d0e157304" + [[package]] name = "parking" version = "2.0.0" @@ -2288,6 +2353,17 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" +[[package]] +name = "pkcs8" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7cabda3fb821068a9a4fab19a683eac3af12edf0f34b94a8be53c4972b8149d0" +dependencies = [ + "der", + "spki", + "zeroize", +] + [[package]] name = "pkg-config" version = "0.3.26" @@ -2315,17 +2391,17 @@ dependencies = [ [[package]] name = "primitives" -version = "0.5.0" +version = "0.5.2" dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-api 4.0.0-dev (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-application-crypto 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-staking 4.0.0-dev (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-api", + "sp-application-crypto 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-staking", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", ] [[package]] @@ -2742,6 +2818,7 @@ checksum = "08da66b8b0965a5555b6bd6639e68ccba85e1e2506f5fbb089e93f8a04e1a2d1" dependencies = [ "der", "generic-array 0.14.6", + "pkcs8", "subtle", "zeroize", ] @@ -2996,54 +3073,25 @@ dependencies = [ [[package]] name = "sp-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" -dependencies = [ - "hash-db", - "log", - "parity-scale-codec", - "sp-api-proc-macro 4.0.0-dev (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-state-machine 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-version 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "thiserror", -] - -[[package]] -name = "sp-api" -version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "hash-db", "log", "parity-scale-codec", - "sp-api-proc-macro 4.0.0-dev (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-state-machine 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-trie 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-version 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-api-proc-macro", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-state-machine 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-trie 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-version", "thiserror", ] [[package]] name = "sp-api-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" -dependencies = [ - "blake2", - "proc-macro-crate", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "sp-api-proc-macro" -version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "blake2", "proc-macro-crate", @@ -3069,27 +3117,14 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", -] - -[[package]] -name = "sp-application-crypto" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" -dependencies = [ - "parity-scale-codec", - "scale-info", - "serde", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", ] [[package]] @@ -3111,30 +3146,15 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" -dependencies = [ - "integer-sqrt", - "num-traits", - "parity-scale-codec", - "scale-info", - "serde", - "sp-debug-derive 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "static_assertions", -] - -[[package]] -name = "sp-arithmetic" -version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "integer-sqrt", "num-traits", "parity-scale-codec", "scale-info", "serde", - "sp-debug-derive 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-debug-derive 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", "static_assertions", ] @@ -3181,71 +3201,25 @@ dependencies = [ "substrate-bip39", "thiserror", "tiny-bip39", - "wasmi", - "zeroize", -] - -[[package]] -name = "sp-core" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" -dependencies = [ - "base58", - "bitflags", - "blake2-rfc", - "byteorder", - "dyn-clonable", - "ed25519-dalek", - "futures", - "hash-db", - "hash256-std-hasher", - "hex", - "impl-serde", - "lazy_static", - "libsecp256k1", - "log", - "merlin", - "num-traits", - "parity-scale-codec", - "parity-util-mem", - "parking_lot", - "primitive-types", - "rand 0.7.3", - "regex", - "scale-info", - "schnorrkel", - "secp256k1 0.24.1", - "secrecy", - "serde", - "sp-core-hashing 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-debug-derive 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-storage 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "ss58-registry", - "substrate-bip39", - "thiserror", - "tiny-bip39", - "wasmi", + "wasmi 0.9.1", "zeroize", ] [[package]] name = "sp-core" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ + "array-bytes", "base58", "bitflags", - "blake2-rfc", + "blake2", "byteorder", "dyn-clonable", "ed25519-zebra", "futures", "hash-db", "hash256-std-hasher", - "hex", "impl-serde", "lazy_static", "libsecp256k1", @@ -3263,17 +3237,17 @@ dependencies = [ "secp256k1 0.24.1", "secrecy", "serde", - "sp-core-hashing 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-debug-derive 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-runtime-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-storage 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-core-hashing 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-debug-derive 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-runtime-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-storage 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", "ss58-registry", "substrate-bip39", "thiserror", "tiny-bip39", - "wasmi", + "wasmi 0.13.2", "zeroize", ] @@ -3294,50 +3268,25 @@ dependencies = [ [[package]] name = "sp-core-hashing" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" -dependencies = [ - "blake2", - "byteorder", - "digest 0.10.6", - "sha2 0.10.6", - "sha3", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "twox-hash", -] - -[[package]] -name = "sp-core-hashing" -version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "blake2", "byteorder", "digest 0.10.6", "sha2 0.10.6", "sha3", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", "twox-hash", ] [[package]] name = "sp-core-hashing-proc-macro" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" -dependencies = [ - "proc-macro2", - "quote", - "sp-core-hashing 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "syn", -] - -[[package]] -name = "sp-core-hashing-proc-macro" -version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "proc-macro2", "quote", - "sp-core-hashing 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-core-hashing 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", "syn", ] @@ -3355,17 +3304,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "sp-debug-derive" -version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "proc-macro2", "quote", @@ -3387,36 +3326,25 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "environmental", "parity-scale-codec", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-storage 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", -] - -[[package]] -name = "sp-externalities" -version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" -dependencies = [ - "environmental", - "parity-scale-codec", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-storage 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-storage 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", ] [[package]] name = "sp-inherents" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "async-trait", "impl-trait-for-tuples", "parity-scale-codec", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", "thiserror", ] @@ -3449,7 +3377,7 @@ dependencies = [ [[package]] name = "sp-io" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "bytes 1.3.0", "futures", @@ -3459,41 +3387,15 @@ dependencies = [ "parity-scale-codec", "parking_lot", "secp256k1 0.24.1", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-keystore 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-state-machine 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-tracing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-trie 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-wasm-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "tracing", - "tracing-core", -] - -[[package]] -name = "sp-io" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" -dependencies = [ - "bytes 1.3.0", - "futures", - "hash-db", - "libsecp256k1", - "log", - "parity-scale-codec", - "parking_lot", - "secp256k1 0.24.1", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-keystore 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-runtime-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-state-machine 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-tracing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-trie 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-wasm-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-keystore 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-runtime-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-state-machine 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-tracing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-trie 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-wasm-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", "tracing", "tracing-core", ] @@ -3518,23 +3420,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" -dependencies = [ - "async-trait", - "futures", - "merlin", - "parity-scale-codec", - "parking_lot", - "schnorrkel", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "thiserror", -] - -[[package]] -name = "sp-keystore" -version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "async-trait", "futures", @@ -3542,8 +3428,8 @@ dependencies = [ "parity-scale-codec", "parking_lot", "schnorrkel", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", "thiserror", ] @@ -3561,17 +3447,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" -dependencies = [ - "backtrace", - "lazy_static", - "regex", -] - -[[package]] -name = "sp-panic-handler" -version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "backtrace", "lazy_static", @@ -3581,11 +3457,11 @@ dependencies = [ [[package]] name = "sp-rpc" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "rustc-hash", "serde", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", ] [[package]] @@ -3614,29 +3490,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" -dependencies = [ - "either", - "hash256-std-hasher", - "impl-trait-for-tuples", - "log", - "parity-scale-codec", - "parity-util-mem", - "paste", - "rand 0.7.3", - "scale-info", - "serde", - "sp-application-crypto 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-arithmetic 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", -] - -[[package]] -name = "sp-runtime" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "either", "hash256-std-hasher", @@ -3648,11 +3502,12 @@ dependencies = [ "rand 0.7.3", "scale-info", "serde", - "sp-application-crypto 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-arithmetic 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-application-crypto 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-arithmetic 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-weights", ] [[package]] @@ -3676,36 +3531,18 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" -dependencies = [ - "bytes 1.3.0", - "impl-trait-for-tuples", - "parity-scale-codec", - "primitive-types", - "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime-interface-proc-macro 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-storage 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-tracing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-wasm-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "static_assertions", -] - -[[package]] -name = "sp-runtime-interface" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "bytes 1.3.0", "impl-trait-for-tuples", "parity-scale-codec", "primitive-types", - "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-runtime-interface-proc-macro 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-storage 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-tracing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-wasm-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-runtime-interface-proc-macro 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-storage 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-tracing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-wasm-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", "static_assertions", ] @@ -3725,19 +3562,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" -dependencies = [ - "Inflector", - "proc-macro-crate", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "sp-runtime-interface-proc-macro" -version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "Inflector", "proc-macro-crate", @@ -3749,23 +3574,12 @@ dependencies = [ [[package]] name = "sp-staking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "parity-scale-codec", "scale-info", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", -] - -[[package]] -name = "sp-staking" -version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" -dependencies = [ - "parity-scale-codec", - "scale-info", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", ] [[package]] @@ -3795,29 +3609,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" -dependencies = [ - "hash-db", - "log", - "num-traits", - "parity-scale-codec", - "parking_lot", - "rand 0.7.3", - "smallvec", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-panic-handler 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-trie 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "thiserror", - "tracing", - "trie-root", -] - -[[package]] -name = "sp-state-machine" -version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "hash-db", "log", @@ -3826,11 +3618,11 @@ dependencies = [ "parking_lot", "rand 0.7.3", "smallvec", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-panic-handler 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-trie 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-panic-handler 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-trie 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", "thiserror", "tracing", "trie-root", @@ -3845,12 +3637,7 @@ checksum = "14804d6069ee7a388240b665f17908d98386ffb0b5d39f89a4099fc7a2a4c03f" [[package]] name = "sp-std" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" - -[[package]] -name = "sp-std" -version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" [[package]] name = "sp-storage" @@ -3869,27 +3656,14 @@ dependencies = [ [[package]] name = "sp-storage" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" -dependencies = [ - "impl-serde", - "parity-scale-codec", - "ref-cast", - "serde", - "sp-debug-derive 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", -] - -[[package]] -name = "sp-storage" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "impl-serde", "parity-scale-codec", "ref-cast", "serde", - "sp-debug-derive 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-debug-derive 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", ] [[package]] @@ -3908,22 +3682,10 @@ dependencies = [ [[package]] name = "sp-tracing" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" -dependencies = [ - "parity-scale-codec", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "tracing", - "tracing-core", - "tracing-subscriber", -] - -[[package]] -name = "sp-tracing" -version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "parity-scale-codec", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", "tracing", "tracing-core", "tracing-subscriber", @@ -3948,23 +3710,7 @@ dependencies = [ [[package]] name = "sp-trie" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" -dependencies = [ - "hash-db", - "memory-db", - "parity-scale-codec", - "scale-info", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "thiserror", - "trie-db 0.23.1", - "trie-root", -] - -[[package]] -name = "sp-trie" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "ahash", "hash-db", @@ -3976,8 +3722,8 @@ dependencies = [ "parity-scale-codec", "parking_lot", "scale-info", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", "thiserror", "tracing", "trie-db 0.24.0", @@ -3987,52 +3733,24 @@ dependencies = [ [[package]] name = "sp-version" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "impl-serde", "parity-scale-codec", - "parity-wasm", + "parity-wasm 0.45.0", "scale-info", "serde", - "sp-core-hashing-proc-macro 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "sp-version-proc-macro 4.0.0-dev (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", + "sp-core-hashing-proc-macro", + "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-version-proc-macro", "thiserror", ] -[[package]] -name = "sp-version" -version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" -dependencies = [ - "impl-serde", - "parity-scale-codec", - "parity-wasm", - "scale-info", - "serde", - "sp-core-hashing-proc-macro 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "sp-version-proc-macro 4.0.0-dev (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "thiserror", -] - -[[package]] -name = "sp-version-proc-macro" -version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" -dependencies = [ - "parity-scale-codec", - "proc-macro2", - "quote", - "syn", -] - [[package]] name = "sp-version-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "parity-scale-codec", "proc-macro2", @@ -4050,31 +3768,35 @@ dependencies = [ "log", "parity-scale-codec", "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "wasmi", + "wasmi 0.9.1", ] [[package]] name = "sp-wasm-interface" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28#5e8b6fa2130236497878e53c169e41f1f7871e6b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "impl-trait-for-tuples", "log", "parity-scale-codec", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.28)", - "wasmi", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "wasmi 0.13.2", ] [[package]] -name = "sp-wasm-interface" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" +name = "sp-weights" +version = "4.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" dependencies = [ "impl-trait-for-tuples", - "log", "parity-scale-codec", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29)", - "wasmi", + "scale-info", + "serde", + "smallvec", + "sp-arithmetic 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-debug-derive 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", ] [[package]] @@ -4083,6 +3805,16 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" +[[package]] +name = "spki" +version = "0.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44d01ac02a6ccf3e07db148d2be087da624fea0221a16152ed01f0496a6b0a27" +dependencies = [ + "base64ct", + "der", +] + [[package]] name = "ss58-registry" version = "1.35.0" @@ -4702,11 +4434,22 @@ checksum = "ca00c5147c319a8ec91ec1a0edbec31e566ce2c9cc93b3f9bb86a9efd0eb795d" dependencies = [ "downcast-rs", "libc", - "memory_units", - "num-rational", + "memory_units 0.3.0", + "num-rational 0.2.4", "num-traits", - "parity-wasm", - "wasmi-validation", + "parity-wasm 0.42.2", + "wasmi-validation 0.4.1", +] + +[[package]] +name = "wasmi" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06c326c93fbf86419608361a2c925a31754cf109da1b8b55737070b4d6669422" +dependencies = [ + "parity-wasm 0.45.0", + "wasmi-validation 0.5.0", + "wasmi_core", ] [[package]] @@ -4715,7 +4458,29 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "165343ecd6c018fc09ebcae280752702c9a2ef3e6f8d02f1cfcbdb53ef6d7937" dependencies = [ - "parity-wasm", + "parity-wasm 0.42.2", +] + +[[package]] +name = "wasmi-validation" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91ff416ad1ff0c42e5a926ed5d5fab74c0f098749aa0ad8b2a34b982ce0e867b" +dependencies = [ + "parity-wasm 0.45.0", +] + +[[package]] +name = "wasmi_core" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57d20cb3c59b788653d99541c646c561c9dd26506f25c0cebfe810659c54c6d7" +dependencies = [ + "downcast-rs", + "libm", + "memory_units 0.4.0", + "num-rational 0.4.1", + "num-traits", ] [[package]] diff --git a/flooder/Cargo.toml b/flooder/Cargo.toml index 61c0c5e021..97919d87d4 100644 --- a/flooder/Cargo.toml +++ b/flooder/Cargo.toml @@ -1,13 +1,13 @@ [package] name = "flooder" -version = "0.2.1" +version = "0.2.2" authors = ["Cardinal Cryptography"] edition = "2021" license = "Apache 2.0" [dependencies] -sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29", features = ["full_crypto"] } -sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30", features = ["full_crypto"] } +sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } # other dependencies serde_json = { version = "1.0" } diff --git a/fork-off/Cargo.lock b/fork-off/Cargo.lock deleted file mode 100644 index 69fab91f2a..0000000000 --- a/fork-off/Cargo.lock +++ /dev/null @@ -1,4457 +0,0 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -version = 3 - -[[package]] -name = "Inflector" -version = "0.11.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe438c63458706e03479442743baae6c88256498e6431708f6dfc520a26515d3" -dependencies = [ - "lazy_static", - "regex", -] - -[[package]] -name = "addr2line" -version = "0.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9ecd88a8c8378ca913a680cd98f0f13ac67383d35993f86c90a70e3f137816b" -dependencies = [ - "gimli", -] - -[[package]] -name = "adler" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" - -[[package]] -name = "ahash" -version = "0.7.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47" -dependencies = [ - "getrandom 0.2.8", - "once_cell", - "version_check 0.9.4", -] - -[[package]] -name = "aho-corasick" -version = "0.7.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac" -dependencies = [ - "memchr", -] - -[[package]] -name = "android_system_properties" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" -dependencies = [ - "libc", -] - -[[package]] -name = "ansi_term" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2" -dependencies = [ - "winapi 0.3.9", -] - -[[package]] -name = "anyhow" -version = "1.0.66" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "216261ddc8289130e551ddcd5ce8a064710c0d064a4d2895c67151c92b5443f6" - -[[package]] -name = "approx" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cab112f0a86d568ea0e627cc1d6be74a1e9cd55214684db5561995f6dad897c6" -dependencies = [ - "num-traits", -] - -[[package]] -name = "arrayref" -version = "0.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4c527152e37cf757a3f78aae5a06fbeefdb07ccc535c980a3208ee3060dd544" - -[[package]] -name = "arrayvec" -version = "0.4.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd9fd44efafa8690358b7408d253adf110036b88f55672a933f01d616ad9b1b9" -dependencies = [ - "nodrop", -] - -[[package]] -name = "arrayvec" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b" - -[[package]] -name = "arrayvec" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6" - -[[package]] -name = "async-channel" -version = "1.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e14485364214912d3b19cc3435dde4df66065127f05fa0d75c712f36f12c2f28" -dependencies = [ - "concurrent-queue", - "event-listener", - "futures-core", -] - -[[package]] -name = "async-trait" -version = "0.1.58" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e805d94e6b5001b651426cf4cd446b1ab5f319d27bab5c644f61de0a804360c" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "atty" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" -dependencies = [ - "hermit-abi", - "libc", - "winapi 0.3.9", -] - -[[package]] -name = "autocfg" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0dde43e75fd43e8a1bf86103336bc699aa8d17ad1be60c76c0bdfd4828e19b78" -dependencies = [ - "autocfg 1.1.0", -] - -[[package]] -name = "autocfg" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" - -[[package]] -name = "backoff" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b62ddb9cb1ec0a098ad4bbf9344d0713fa193ae1a80af55febcff2627b6a00c1" -dependencies = [ - "futures-core", - "getrandom 0.2.8", - "instant", - "pin-project-lite", - "rand 0.8.5", - "tokio", -] - -[[package]] -name = "backtrace" -version = "0.3.66" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cab84319d616cfb654d03394f38ab7e6f0919e181b1b57e1fd15e7fb4077d9a7" -dependencies = [ - "addr2line", - "cc", - "cfg-if 1.0.0", - "libc", - "miniz_oxide", - "object", - "rustc-demangle", -] - -[[package]] -name = "base16ct" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "349a06037c7bf932dd7e7d1f653678b2038b9ad46a74102f1fc7bd7872678cce" - -[[package]] -name = "base58" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6107fe1be6682a68940da878d9e9f5e90ca5745b3dec9fd1bb393c8777d4f581" - -[[package]] -name = "base64" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "489d6c0ed21b11d038c31b6ceccca973e65d73ba3bd8ecb9a2babf5546164643" -dependencies = [ - "byteorder", - "safemem", -] - -[[package]] -name = "base64" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b25d992356d2eb0ed82172f5248873db5560c4721f564b13cb5193bda5e668e" -dependencies = [ - "byteorder", -] - -[[package]] -name = "base64" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" - -[[package]] -name = "bitflags" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" - -[[package]] -name = "bitvec" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c" -dependencies = [ - "funty", - "radium", - "tap", - "wyz", -] - -[[package]] -name = "blake2" -version = "0.10.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b12e5fd123190ce1c2e559308a94c9bacad77907d4c6005d9e58fe1a0689e55e" -dependencies = [ - "digest 0.10.6", -] - -[[package]] -name = "blake2-rfc" -version = "0.2.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d6d530bdd2d52966a6d03b7a964add7ae1a288d25214066fd4b600f0f796400" -dependencies = [ - "arrayvec 0.4.12", - "constant_time_eq", -] - -[[package]] -name = "block-buffer" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0940dc441f31689269e10ac70eb1002a3a1d3ad1390e030043662eb7fe4688b" -dependencies = [ - "block-padding", - "byte-tools", - "byteorder", - "generic-array 0.12.4", -] - -[[package]] -name = "block-buffer" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4" -dependencies = [ - "generic-array 0.14.6", -] - -[[package]] -name = "block-buffer" -version = "0.10.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69cce20737498f97b993470a6e536b8523f0af7892a4f928cceb1ac5e52ebe7e" -dependencies = [ - "generic-array 0.14.6", -] - -[[package]] -name = "block-padding" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa79dedbb091f449f1f39e53edf88d5dbe95f895dae6135a8d7b881fb5af73f5" -dependencies = [ - "byte-tools", -] - -[[package]] -name = "bumpalo" -version = "3.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "572f695136211188308f16ad2ca5c851a712c464060ae6974944458eb83880ba" - -[[package]] -name = "byte-slice-cast" -version = "1.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3ac9f8b63eca6fd385229b3675f6cc0dc5c8a5c8a54a59d4f52ffd670d87b0c" - -[[package]] -name = "byte-tools" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7" - -[[package]] -name = "byteorder" -version = "1.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" - -[[package]] -name = "bytes" -version = "0.4.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "206fdffcfa2df7cbe15601ef46c813fce0965eb3286db6b56c583b814b51c81c" -dependencies = [ - "byteorder", - "iovec", -] - -[[package]] -name = "bytes" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfb24e866b15a1af2a1b663f10c6b6b8f397a84aadb828f12e5b289ec23a3a3c" - -[[package]] -name = "cache-padded" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1db59621ec70f09c5e9b597b220c7a2b43611f4710dc03ceb8748637775692c" - -[[package]] -name = "cc" -version = "1.0.77" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9f73505338f7d905b19d18738976aae232eb46b8efc15554ffc56deb5d9ebe4" - -[[package]] -name = "cfg-expr" -version = "0.10.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0aacacf4d96c24b2ad6eb8ee6df040e4f27b0d0b39a5710c30091baa830485db" -dependencies = [ - "smallvec 1.10.0", -] - -[[package]] -name = "cfg-if" -version = "0.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822" - -[[package]] -name = "cfg-if" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" - -[[package]] -name = "chrono" -version = "0.4.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16b0a3d9ed01224b22057780a37bb8c5dbfe1be8ba48678e7bf57ec4b385411f" -dependencies = [ - "iana-time-zone", - "num-integer", - "num-traits", - "winapi 0.3.9", -] - -[[package]] -name = "clap" -version = "3.2.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71655c45cb9845d3270c9d6df84ebe72b4dad3c2ba3f7023ad47c144e4e473a5" -dependencies = [ - "atty", - "bitflags", - "clap_derive", - "clap_lex", - "indexmap", - "once_cell", - "strsim", - "termcolor", - "textwrap", -] - -[[package]] -name = "clap_derive" -version = "3.2.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea0c8bce528c4be4da13ea6fead8965e95b6073585a2f05204bd8f4119f82a65" -dependencies = [ - "heck", - "proc-macro-error", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "clap_lex" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5" -dependencies = [ - "os_str_bytes", -] - -[[package]] -name = "cloudabi" -version = "0.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f" -dependencies = [ - "bitflags", -] - -[[package]] -name = "codespan-reporting" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e" -dependencies = [ - "termcolor", - "unicode-width", -] - -[[package]] -name = "concurrent-queue" -version = "1.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af4780a44ab5696ea9e28294517f1fffb421a83a25af521333c838635509db9c" -dependencies = [ - "cache-padded", -] - -[[package]] -name = "const-oid" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4c78c047431fee22c1a7bb92e00ad095a02a983affe4d8a72e2a2c62c1b94f3" - -[[package]] -name = "constant_time_eq" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc" - -[[package]] -name = "convert_case" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" - -[[package]] -name = "core-foundation" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146" -dependencies = [ - "core-foundation-sys", - "libc", -] - -[[package]] -name = "core-foundation-sys" -version = "0.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc" - -[[package]] -name = "cpufeatures" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28d997bd5e24a5928dd43e46dc529867e207907fe0b239c3477d924f7f2ca320" -dependencies = [ - "libc", -] - -[[package]] -name = "crossbeam-utils" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3c7c73a2d1e9fc0886a08b93e98eb643461230d5f1925e4036204d5f2e261a8" -dependencies = [ - "autocfg 1.1.0", - "cfg-if 0.1.10", - "lazy_static", -] - -[[package]] -name = "crunchy" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" - -[[package]] -name = "crypto-bigint" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03c6a1d5fa1de37e071642dfa44ec552ca5b299adb128fab16138e24b548fd21" -dependencies = [ - "generic-array 0.14.6", - "rand_core 0.6.4", - "subtle", - "zeroize", -] - -[[package]] -name = "crypto-common" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" -dependencies = [ - "generic-array 0.14.6", - "typenum", -] - -[[package]] -name = "crypto-mac" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b584a330336237c1eecd3e94266efb216c56ed91225d634cb2991c5f3fd1aeab" -dependencies = [ - "generic-array 0.14.6", - "subtle", -] - -[[package]] -name = "crypto-mac" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1d1a86f49236c215f271d40892d5fc950490551400b02ef360692c29815c714" -dependencies = [ - "generic-array 0.14.6", - "subtle", -] - -[[package]] -name = "curve25519-dalek" -version = "2.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a9b85542f99a2dfa2a1b8e192662741c9859a846b296bef1c92ef9b58b5a216" -dependencies = [ - "byteorder", - "digest 0.8.1", - "rand_core 0.5.1", - "subtle", - "zeroize", -] - -[[package]] -name = "curve25519-dalek" -version = "3.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b9fdf9972b2bd6af2d913799d9ebc165ea4d2e65878e329d9c6b372c4491b61" -dependencies = [ - "byteorder", - "digest 0.9.0", - "rand_core 0.5.1", - "subtle", - "zeroize", -] - -[[package]] -name = "cxx" -version = "1.0.82" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4a41a86530d0fe7f5d9ea779916b7cadd2d4f9add748b99c2c029cbbdfaf453" -dependencies = [ - "cc", - "cxxbridge-flags", - "cxxbridge-macro", - "link-cplusplus", -] - -[[package]] -name = "cxx-build" -version = "1.0.82" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06416d667ff3e3ad2df1cd8cd8afae5da26cf9cec4d0825040f88b5ca659a2f0" -dependencies = [ - "cc", - "codespan-reporting", - "once_cell", - "proc-macro2", - "quote", - "scratch", - "syn", -] - -[[package]] -name = "cxxbridge-flags" -version = "1.0.82" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "820a9a2af1669deeef27cb271f476ffd196a2c4b6731336011e0ba63e2c7cf71" - -[[package]] -name = "cxxbridge-macro" -version = "1.0.82" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a08a6e2fcc370a089ad3b4aaf54db3b1b4cee38ddabce5896b33eb693275f470" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "der" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6919815d73839e7ad218de758883aae3a257ba6759ce7a9992501efbb53d705c" -dependencies = [ - "const-oid", -] - -[[package]] -name = "derive_more" -version = "0.99.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321" -dependencies = [ - "convert_case", - "proc-macro2", - "quote", - "rustc_version 0.4.0", - "syn", -] - -[[package]] -name = "digest" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3d0c8c8752312f9713efd397ff63acb9f85585afbf179282e720e7704954dd5" -dependencies = [ - "generic-array 0.12.4", -] - -[[package]] -name = "digest" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066" -dependencies = [ - "generic-array 0.14.6", -] - -[[package]] -name = "digest" -version = "0.10.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8168378f4e5023e7218c89c891c0fd8ecdb5e5e4f18cb78f38cf245dd021e76f" -dependencies = [ - "block-buffer 0.10.3", - "crypto-common", - "subtle", -] - -[[package]] -name = "downcast-rs" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650" - -[[package]] -name = "dyn-clonable" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e9232f0e607a262ceb9bd5141a3dfb3e4db6994b31989bbfd845878cba59fd4" -dependencies = [ - "dyn-clonable-impl", - "dyn-clone", -] - -[[package]] -name = "dyn-clonable-impl" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "558e40ea573c374cf53507fd240b7ee2f5477df7cfebdb97323ec61c719399c5" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "dyn-clone" -version = "1.0.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f94fa09c2aeea5b8839e414b7b841bf429fd25b9c522116ac97ee87856d88b2" - -[[package]] -name = "ecdsa" -version = "0.13.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0d69ae62e0ce582d56380743515fefaf1a8c70cec685d9677636d7e30ae9dc9" -dependencies = [ - "der", - "elliptic-curve", - "rfc6979", - "signature", -] - -[[package]] -name = "ed25519-zebra" -version = "3.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c24f403d068ad0b359e577a77f92392118be3f3c927538f2bb544a5ecd828c6" -dependencies = [ - "curve25519-dalek 3.2.0", - "hashbrown", - "hex", - "rand_core 0.6.4", - "sha2 0.9.9", - "zeroize", -] - -[[package]] -name = "either" -version = "1.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90e5c1c8368803113bf0c9584fc495a58b86dc8a29edbf8fe877d21d9507e797" - -[[package]] -name = "elliptic-curve" -version = "0.11.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25b477563c2bfed38a3b7a60964c49e058b2510ad3f12ba3483fd8f62c2306d6" -dependencies = [ - "base16ct", - "crypto-bigint", - "der", - "ff", - "generic-array 0.14.6", - "group", - "rand_core 0.6.4", - "sec1", - "subtle", - "zeroize", -] - -[[package]] -name = "encoding_rs" -version = "0.8.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9852635589dc9f9ea1b6fe9f05b50ef208c85c834a562f0c6abb1c475736ec2b" -dependencies = [ - "cfg-if 1.0.0", -] - -[[package]] -name = "env_logger" -version = "0.8.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a19187fea3ac7e84da7dacf48de0c45d63c6a76f9490dae389aead16c243fce3" -dependencies = [ - "atty", - "humantime", - "log 0.4.17", - "regex", - "termcolor", -] - -[[package]] -name = "environmental" -version = "1.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68b91989ae21441195d7d9b9993a2f9295c7e1a8c96255d8b729accddc124797" - -[[package]] -name = "event-listener" -version = "2.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" - -[[package]] -name = "fake-simd" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed" - -[[package]] -name = "fastrand" -version = "1.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7a407cfaa3385c4ae6b23e84623d48c2798d06e3e6a1878f7f59f17b3f86499" -dependencies = [ - "instant", -] - -[[package]] -name = "ff" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "131655483be284720a17d74ff97592b8e76576dc25563148601df2d7c9080924" -dependencies = [ - "rand_core 0.6.4", - "subtle", -] - -[[package]] -name = "fixed-hash" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfcf0ed7fe52a17a03854ec54a9f76d6d84508d1c0e66bc1793301c73fc8493c" -dependencies = [ - "byteorder", - "rand 0.8.5", - "rustc-hex", - "static_assertions", -] - -[[package]] -name = "fnv" -version = "1.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" - -[[package]] -name = "foreign-types" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" -dependencies = [ - "foreign-types-shared", -] - -[[package]] -name = "foreign-types-shared" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" - -[[package]] -name = "fork-off" -version = "1.3.0" -dependencies = [ - "anyhow", - "async-channel", - "backoff", - "clap", - "env_logger", - "frame-support", - "frame-system", - "futures 0.3.25", - "hex", - "jsonrpc-core", - "jsonrpc-core-client", - "jsonrpc-derive", - "log 0.4.17", - "pallet-balances", - "parity-scale-codec", - "parking_lot 0.12.1", - "reqwest", - "serde", - "serde_json", - "sp-core", - "tokio", -] - -[[package]] -name = "form_urlencoded" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8" -dependencies = [ - "percent-encoding 2.2.0", -] - -[[package]] -name = "frame-benchmarking" -version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" -dependencies = [ - "frame-support", - "frame-system", - "linregress", - "log 0.4.17", - "parity-scale-codec", - "paste", - "scale-info", - "serde", - "sp-api", - "sp-application-crypto", - "sp-core", - "sp-io", - "sp-runtime", - "sp-runtime-interface", - "sp-std", - "sp-storage", -] - -[[package]] -name = "frame-metadata" -version = "15.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df6bb8542ef006ef0de09a5c4420787d79823c0ed7924225822362fd2bf2ff2d" -dependencies = [ - "cfg-if 1.0.0", - "parity-scale-codec", - "scale-info", - "serde", -] - -[[package]] -name = "frame-support" -version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" -dependencies = [ - "bitflags", - "frame-metadata", - "frame-support-procedural", - "impl-trait-for-tuples", - "k256", - "log 0.4.17", - "once_cell", - "parity-scale-codec", - "paste", - "scale-info", - "serde", - "smallvec 1.10.0", - "sp-api", - "sp-arithmetic", - "sp-core", - "sp-core-hashing-proc-macro", - "sp-inherents", - "sp-io", - "sp-runtime", - "sp-staking", - "sp-state-machine", - "sp-std", - "sp-tracing", - "tt-call", -] - -[[package]] -name = "frame-support-procedural" -version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" -dependencies = [ - "Inflector", - "cfg-expr", - "frame-support-procedural-tools", - "itertools", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "frame-support-procedural-tools" -version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" -dependencies = [ - "frame-support-procedural-tools-derive", - "proc-macro-crate 1.2.1", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "frame-support-procedural-tools-derive" -version = "3.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "frame-system" -version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" -dependencies = [ - "frame-support", - "log 0.4.17", - "parity-scale-codec", - "scale-info", - "serde", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", - "sp-version", -] - -[[package]] -name = "fuchsia-cprng" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba" - -[[package]] -name = "fuchsia-zircon" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82" -dependencies = [ - "bitflags", - "fuchsia-zircon-sys", -] - -[[package]] -name = "fuchsia-zircon-sys" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7" - -[[package]] -name = "funty" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" - -[[package]] -name = "futures" -version = "0.1.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a471a38ef8ed83cd6e40aa59c1ffe17db6855c18e3604d9c4ed8c08ebc28678" - -[[package]] -name = "futures" -version = "0.3.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38390104763dc37a5145a53c29c63c1290b5d316d6086ec32c293f6736051bb0" -dependencies = [ - "futures-channel", - "futures-core", - "futures-executor", - "futures-io", - "futures-sink", - "futures-task", - "futures-util", -] - -[[package]] -name = "futures-channel" -version = "0.3.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52ba265a92256105f45b719605a571ffe2d1f0fea3807304b522c1d778f79eed" -dependencies = [ - "futures-core", - "futures-sink", -] - -[[package]] -name = "futures-core" -version = "0.3.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04909a7a7e4633ae6c4a9ab280aeb86da1236243a77b694a49eacd659a4bd3ac" - -[[package]] -name = "futures-executor" -version = "0.3.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7acc85df6714c176ab5edf386123fafe217be88c0840ec11f199441134a074e2" -dependencies = [ - "futures-core", - "futures-task", - "futures-util", - "num_cpus", -] - -[[package]] -name = "futures-io" -version = "0.3.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00f5fb52a06bdcadeb54e8d3671f8888a39697dcb0b81b23b55174030427f4eb" - -[[package]] -name = "futures-macro" -version = "0.3.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bdfb8ce053d86b91919aad980c220b1fb8401a9394410e1c289ed7e66b61835d" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "futures-sink" -version = "0.3.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39c15cf1a4aa79df40f1bb462fb39676d0ad9e366c2a33b590d7c66f4f81fcf9" - -[[package]] -name = "futures-task" -version = "0.3.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ffb393ac5d9a6eaa9d3fdf37ae2776656b706e200c8e16b1bdb227f5198e6ea" - -[[package]] -name = "futures-util" -version = "0.3.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "197676987abd2f9cadff84926f410af1c183608d36641465df73ae8211dc65d6" -dependencies = [ - "futures 0.1.31", - "futures-channel", - "futures-core", - "futures-io", - "futures-macro", - "futures-sink", - "futures-task", - "memchr", - "pin-project-lite", - "pin-utils", - "slab", -] - -[[package]] -name = "generic-array" -version = "0.12.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffdf9f34f1447443d37393cc6c2b8313aebddcd96906caf34e54c68d8e57d7bd" -dependencies = [ - "typenum", -] - -[[package]] -name = "generic-array" -version = "0.14.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bff49e947297f3312447abdca79f45f4738097cc82b06e72054d2223f601f1b9" -dependencies = [ - "typenum", - "version_check 0.9.4", -] - -[[package]] -name = "getrandom" -version = "0.1.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" -dependencies = [ - "cfg-if 1.0.0", - "js-sys", - "libc", - "wasi 0.9.0+wasi-snapshot-preview1", - "wasm-bindgen", -] - -[[package]] -name = "getrandom" -version = "0.2.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31" -dependencies = [ - "cfg-if 1.0.0", - "libc", - "wasi 0.11.0+wasi-snapshot-preview1", -] - -[[package]] -name = "gimli" -version = "0.26.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22030e2c5a68ec659fde1e949a745124b48e6fa8b045b7ed5bd1fe4ccc5c4e5d" - -[[package]] -name = "group" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc5ac374b108929de78460075f3dc439fa66df9d8fc77e8f12caa5165fcf0c89" -dependencies = [ - "ff", - "rand_core 0.6.4", - "subtle", -] - -[[package]] -name = "h2" -version = "0.3.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f9f29bc9dda355256b2916cf526ab02ce0aeaaaf2bad60d65ef3f12f11dd0f4" -dependencies = [ - "bytes 1.3.0", - "fnv", - "futures-core", - "futures-sink", - "futures-util", - "http", - "indexmap", - "slab", - "tokio", - "tokio-util", - "tracing", -] - -[[package]] -name = "hash-db" -version = "0.15.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d23bd4e7b5eda0d0f3a307e8b381fdc8ba9000f26fbe912250c0a4cc3956364a" - -[[package]] -name = "hash256-std-hasher" -version = "0.15.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92c171d55b98633f4ed3860808f004099b36c1cc29c42cfc53aa8591b21efcf2" -dependencies = [ - "crunchy", -] - -[[package]] -name = "hashbrown" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" -dependencies = [ - "ahash", -] - -[[package]] -name = "heck" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9" - -[[package]] -name = "hermit-abi" -version = "0.1.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" -dependencies = [ - "libc", -] - -[[package]] -name = "hex" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" - -[[package]] -name = "hmac" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "126888268dcc288495a26bf004b38c5fdbb31682f992c84ceb046a1f0fe38840" -dependencies = [ - "crypto-mac 0.8.0", - "digest 0.9.0", -] - -[[package]] -name = "hmac" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a2a2320eb7ec0ebe8da8f744d7812d9fc4cb4d09344ac01898dbcb6a20ae69b" -dependencies = [ - "crypto-mac 0.11.1", - "digest 0.9.0", -] - -[[package]] -name = "hmac-drbg" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17ea0a1394df5b6574da6e0c1ade9e78868c9fb0a4e5ef4428e32da4676b85b1" -dependencies = [ - "digest 0.9.0", - "generic-array 0.14.6", - "hmac 0.8.1", -] - -[[package]] -name = "http" -version = "0.2.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75f43d41e26995c17e71ee126451dd3941010b0514a81a9d11f3b341debc2399" -dependencies = [ - "bytes 1.3.0", - "fnv", - "itoa", -] - -[[package]] -name = "http-body" -version = "0.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1" -dependencies = [ - "bytes 1.3.0", - "http", - "pin-project-lite", -] - -[[package]] -name = "httparse" -version = "1.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" - -[[package]] -name = "httpdate" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421" - -[[package]] -name = "humantime" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" - -[[package]] -name = "hyper" -version = "0.10.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a0652d9a2609a968c14be1a9ea00bf4b1d64e2e1f53a1b51b6fff3a6e829273" -dependencies = [ - "base64 0.9.3", - "httparse", - "language-tags", - "log 0.3.9", - "mime 0.2.6", - "num_cpus", - "time", - "traitobject", - "typeable", - "unicase", - "url 1.7.2", -] - -[[package]] -name = "hyper" -version = "0.14.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "034711faac9d2166cb1baf1a2fb0b60b1f277f8492fd72176c17f3515e1abd3c" -dependencies = [ - "bytes 1.3.0", - "futures-channel", - "futures-core", - "futures-util", - "h2", - "http", - "http-body", - "httparse", - "httpdate", - "itoa", - "pin-project-lite", - "socket2", - "tokio", - "tower-service", - "tracing", - "want", -] - -[[package]] -name = "hyper-tls" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905" -dependencies = [ - "bytes 1.3.0", - "hyper 0.14.23", - "native-tls", - "tokio", - "tokio-native-tls", -] - -[[package]] -name = "iana-time-zone" -version = "0.1.53" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64c122667b287044802d6ce17ee2ddf13207ed924c712de9a66a5814d5b64765" -dependencies = [ - "android_system_properties", - "core-foundation-sys", - "iana-time-zone-haiku", - "js-sys", - "wasm-bindgen", - "winapi 0.3.9", -] - -[[package]] -name = "iana-time-zone-haiku" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0703ae284fc167426161c2e3f1da3ea71d94b21bedbcc9494e92b28e334e3dca" -dependencies = [ - "cxx", - "cxx-build", -] - -[[package]] -name = "idna" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38f09e0f0b1fb55fdee1f17470ad800da77af5186a1a76c026b679358b7e844e" -dependencies = [ - "matches", - "unicode-bidi", - "unicode-normalization", -] - -[[package]] -name = "idna" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6" -dependencies = [ - "unicode-bidi", - "unicode-normalization", -] - -[[package]] -name = "impl-codec" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba6a270039626615617f3f36d15fc827041df3b78c439da2cadfa47455a77f2f" -dependencies = [ - "parity-scale-codec", -] - -[[package]] -name = "impl-serde" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4551f042f3438e64dbd6226b20527fc84a6e1fe65688b58746a2f53623f25f5c" -dependencies = [ - "serde", -] - -[[package]] -name = "impl-trait-for-tuples" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11d7a9f6330b71fea57921c9b61c47ee6e84f72d394754eff6163ae67e7395eb" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "indexmap" -version = "1.9.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399" -dependencies = [ - "autocfg 1.1.0", - "hashbrown", -] - -[[package]] -name = "instant" -version = "0.1.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" -dependencies = [ - "cfg-if 1.0.0", -] - -[[package]] -name = "integer-sqrt" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "276ec31bcb4a9ee45f58bec6f9ec700ae4cf4f4f8f2fa7e06cb406bd5ffdd770" -dependencies = [ - "num-traits", -] - -[[package]] -name = "iovec" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2b3ea6ff95e175473f8ffe6a7eb7c00d054240321b84c57051175fe3c1e075e" -dependencies = [ - "libc", -] - -[[package]] -name = "ipnet" -version = "2.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f88c5561171189e69df9d98bcf18fd5f9558300f7ea7b801eb8a0fd748bd8745" - -[[package]] -name = "itertools" -version = "0.10.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" -dependencies = [ - "either", -] - -[[package]] -name = "itoa" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4217ad341ebadf8d8e724e264f13e593e0648f5b3e94b3896a5df283be015ecc" - -[[package]] -name = "js-sys" -version = "0.3.60" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49409df3e3bf0856b916e2ceaca09ee28e6871cf7d9ce97a692cacfdb2a25a47" -dependencies = [ - "wasm-bindgen", -] - -[[package]] -name = "jsonrpc-client-transports" -version = "18.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2b99d4207e2a04fb4581746903c2bb7eb376f88de9c699d0f3e10feeac0cd3a" -dependencies = [ - "derive_more", - "futures 0.3.25", - "jsonrpc-core", - "jsonrpc-pubsub", - "log 0.4.17", - "serde", - "serde_json", - "tokio", - "url 1.7.2", - "websocket", -] - -[[package]] -name = "jsonrpc-core" -version = "18.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14f7f76aef2d054868398427f6c54943cf3d1caa9a7ec7d0c38d69df97a965eb" -dependencies = [ - "futures 0.3.25", - "futures-executor", - "futures-util", - "log 0.4.17", - "serde", - "serde_derive", - "serde_json", -] - -[[package]] -name = "jsonrpc-core-client" -version = "18.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b51da17abecbdab3e3d4f26b01c5ec075e88d3abe3ab3b05dc9aa69392764ec0" -dependencies = [ - "futures 0.3.25", - "jsonrpc-client-transports", -] - -[[package]] -name = "jsonrpc-derive" -version = "18.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b939a78fa820cdfcb7ee7484466746a7377760970f6f9c6fe19f9edcc8a38d2" -dependencies = [ - "proc-macro-crate 0.1.5", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "jsonrpc-pubsub" -version = "18.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "240f87695e6c6f62fb37f05c02c04953cf68d6408b8c1c89de85c7a0125b1011" -dependencies = [ - "futures 0.3.25", - "jsonrpc-core", - "lazy_static", - "log 0.4.17", - "parking_lot 0.11.2", - "rand 0.7.3", - "serde", -] - -[[package]] -name = "k256" -version = "0.10.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19c3a5e0a0b8450278feda242592512e09f61c72e018b8cd5c859482802daf2d" -dependencies = [ - "cfg-if 1.0.0", - "ecdsa", - "elliptic-curve", - "sec1", -] - -[[package]] -name = "keccak" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3afef3b6eff9ce9d8ff9b3601125eec7f0c8cbac7abd14f355d053fa56c98768" -dependencies = [ - "cpufeatures", -] - -[[package]] -name = "kernel32-sys" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d" -dependencies = [ - "winapi 0.2.8", - "winapi-build", -] - -[[package]] -name = "language-tags" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a91d884b6667cd606bb5a69aa0c99ba811a115fc68915e7056ec08a46e93199a" - -[[package]] -name = "lazy_static" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" - -[[package]] -name = "libc" -version = "0.2.137" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc7fcc620a3bff7cdd7a365be3376c97191aeaccc2a603e600951e452615bf89" - -[[package]] -name = "libm" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "348108ab3fba42ec82ff6e9564fc4ca0247bdccdc68dd8af9764bbc79c3c8ffb" - -[[package]] -name = "libsecp256k1" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95b09eff1b35ed3b33b877ced3a691fc7a481919c7e29c53c906226fcf55e2a1" -dependencies = [ - "arrayref", - "base64 0.13.1", - "digest 0.9.0", - "hmac-drbg", - "libsecp256k1-core", - "libsecp256k1-gen-ecmult", - "libsecp256k1-gen-genmult", - "rand 0.8.5", - "serde", - "sha2 0.9.9", - "typenum", -] - -[[package]] -name = "libsecp256k1-core" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5be9b9bb642d8522a44d533eab56c16c738301965504753b03ad1de3425d5451" -dependencies = [ - "crunchy", - "digest 0.9.0", - "subtle", -] - -[[package]] -name = "libsecp256k1-gen-ecmult" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3038c808c55c87e8a172643a7d87187fc6c4174468159cb3090659d55bcb4809" -dependencies = [ - "libsecp256k1-core", -] - -[[package]] -name = "libsecp256k1-gen-genmult" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3db8d6ba2cec9eacc40e6e8ccc98931840301f1006e95647ceb2dd5c3aa06f7c" -dependencies = [ - "libsecp256k1-core", -] - -[[package]] -name = "link-cplusplus" -version = "1.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9272ab7b96c9046fbc5bc56c06c117cb639fe2d509df0c421cad82d2915cf369" -dependencies = [ - "cc", -] - -[[package]] -name = "linregress" -version = "0.4.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6c601a85f5ecd1aba625247bca0031585fb1c446461b142878a16f8245ddeb8" -dependencies = [ - "nalgebra", - "statrs", -] - -[[package]] -name = "lock_api" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4da24a77a3d8a6d4862d95f72e6fdb9c09a643ecdb402d754004a557f2bec75" -dependencies = [ - "scopeguard", -] - -[[package]] -name = "lock_api" -version = "0.4.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df" -dependencies = [ - "autocfg 1.1.0", - "scopeguard", -] - -[[package]] -name = "log" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e19e8d5c34a3e0e2223db8e060f9e8264aeeb5c5fc64a4ee9965c062211c024b" -dependencies = [ - "log 0.4.17", -] - -[[package]] -name = "log" -version = "0.4.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e" -dependencies = [ - "cfg-if 1.0.0", -] - -[[package]] -name = "lru" -version = "0.7.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e999beba7b6e8345721bd280141ed958096a2e4abdf74f67ff4ce49b4b54e47a" -dependencies = [ - "hashbrown", -] - -[[package]] -name = "matchers" -version = "0.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f099785f7595cc4b4553a174ce30dd7589ef93391ff414dbb67f62392b9e0ce1" -dependencies = [ - "regex-automata", -] - -[[package]] -name = "matches" -version = "0.1.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f" - -[[package]] -name = "matrixmultiply" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "add85d4dd35074e6fedc608f8c8f513a3548619a9024b751949ef0e8e45a4d84" -dependencies = [ - "rawpointer", -] - -[[package]] -name = "maybe-uninit" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60302e4db3a61da70c0cb7991976248362f30319e88850c487b9b95bbf059e00" - -[[package]] -name = "memchr" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" - -[[package]] -name = "memory-db" -version = "0.29.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6566c70c1016f525ced45d7b7f97730a2bafb037c788211d0c186ef5b2189f0a" -dependencies = [ - "hash-db", - "hashbrown", - "parity-util-mem", -] - -[[package]] -name = "memory_units" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71d96e3f3c0b6325d8ccd83c33b28acb183edcb6c67938ba104ec546854b0882" - -[[package]] -name = "merlin" -version = "2.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e261cf0f8b3c42ded9f7d2bb59dea03aa52bc8a1cbc7482f9fc3fd1229d3b42" -dependencies = [ - "byteorder", - "keccak", - "rand_core 0.5.1", - "zeroize", -] - -[[package]] -name = "mime" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba626b8a6de5da682e1caa06bdb42a335aee5a84db8e5046a3e8ab17ba0a3ae0" -dependencies = [ - "log 0.3.9", -] - -[[package]] -name = "mime" -version = "0.3.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a60c7ce501c71e03a9c9c0d35b861413ae925bd979cc7a4e30d060069aaac8d" - -[[package]] -name = "miniz_oxide" -version = "0.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96590ba8f175222643a85693f33d26e9c8a015f599c216509b1a6894af675d34" -dependencies = [ - "adler", -] - -[[package]] -name = "mio" -version = "0.6.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4afd66f5b91bf2a3bc13fad0e21caedac168ca4c707504e75585648ae80e4cc4" -dependencies = [ - "cfg-if 0.1.10", - "fuchsia-zircon", - "fuchsia-zircon-sys", - "iovec", - "kernel32-sys", - "libc", - "log 0.4.17", - "miow", - "net2", - "slab", - "winapi 0.2.8", -] - -[[package]] -name = "mio" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5d732bc30207a6423068df043e3d02e0735b155ad7ce1a6f76fe2baa5b158de" -dependencies = [ - "libc", - "log 0.4.17", - "wasi 0.11.0+wasi-snapshot-preview1", - "windows-sys 0.42.0", -] - -[[package]] -name = "miow" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebd808424166322d4a38da87083bfddd3ac4c131334ed55856112eb06d46944d" -dependencies = [ - "kernel32-sys", - "net2", - "winapi 0.2.8", - "ws2_32-sys", -] - -[[package]] -name = "nalgebra" -version = "0.27.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "462fffe4002f4f2e1f6a9dcf12cc1a6fc0e15989014efc02a941d3e0f5dc2120" -dependencies = [ - "approx", - "matrixmultiply", - "nalgebra-macros", - "num-complex", - "num-rational 0.4.1", - "num-traits", - "rand 0.8.5", - "rand_distr", - "simba", - "typenum", -] - -[[package]] -name = "nalgebra-macros" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01fcc0b8149b4632adc89ac3b7b31a12fb6099a0317a4eb2ebff574ef7de7218" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "native-tls" -version = "0.2.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e" -dependencies = [ - "lazy_static", - "libc", - "log 0.4.17", - "openssl", - "openssl-probe", - "openssl-sys", - "schannel", - "security-framework", - "security-framework-sys", - "tempfile", -] - -[[package]] -name = "net2" -version = "0.2.38" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74d0df99cfcd2530b2e694f6e17e7f37b8e26bb23983ac530c0c97408837c631" -dependencies = [ - "cfg-if 0.1.10", - "libc", - "winapi 0.3.9", -] - -[[package]] -name = "nodrop" -version = "0.1.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb" - -[[package]] -name = "nohash-hasher" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bf50223579dc7cdcfb3bfcacf7069ff68243f8c363f62ffa99cf000a6b9c451" - -[[package]] -name = "num-bigint" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "090c7f9998ee0ff65aa5b723e4009f7b217707f1fb5ea551329cc4d6231fb304" -dependencies = [ - "autocfg 1.1.0", - "num-integer", - "num-traits", -] - -[[package]] -name = "num-complex" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ae39348c8bc5fbd7f40c727a9925f03517afd2ab27d46702108b6a7e5414c19" -dependencies = [ - "num-traits", -] - -[[package]] -name = "num-format" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54b862ff8df690cf089058c98b183676a7ed0f974cc08b426800093227cbff3b" -dependencies = [ - "arrayvec 0.7.2", - "itoa", -] - -[[package]] -name = "num-integer" -version = "0.1.45" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9" -dependencies = [ - "autocfg 1.1.0", - "num-traits", -] - -[[package]] -name = "num-rational" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c000134b5dbf44adc5cb772486d335293351644b801551abe8f75c84cfa4aef" -dependencies = [ - "autocfg 1.1.0", - "num-bigint", - "num-integer", - "num-traits", -] - -[[package]] -name = "num-rational" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0" -dependencies = [ - "autocfg 1.1.0", - "num-integer", - "num-traits", -] - -[[package]] -name = "num-traits" -version = "0.2.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" -dependencies = [ - "autocfg 1.1.0", - "libm", -] - -[[package]] -name = "num_cpus" -version = "1.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6058e64324c71e02bc2b150e4f3bc8286db6c83092132ffa3f6b1eab0f9def5" -dependencies = [ - "hermit-abi", - "libc", -] - -[[package]] -name = "object" -version = "0.29.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21158b2c33aa6d4561f1c0a6ea283ca92bc54802a93b263e910746d679a7eb53" -dependencies = [ - "memchr", -] - -[[package]] -name = "once_cell" -version = "1.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86f0b0d4bf799edbc74508c1e8bf170ff5f41238e5f8225603ca7caaae2b7860" - -[[package]] -name = "opaque-debug" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2839e79665f131bdb5782e51f2c6c9599c133c6098982a54c794358bf432529c" - -[[package]] -name = "opaque-debug" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" - -[[package]] -name = "openssl" -version = "0.10.42" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12fc0523e3bd51a692c8850d075d74dc062ccf251c0110668cbd921917118a13" -dependencies = [ - "bitflags", - "cfg-if 1.0.0", - "foreign-types", - "libc", - "once_cell", - "openssl-macros", - "openssl-sys", -] - -[[package]] -name = "openssl-macros" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b501e44f11665960c7e7fcf062c7d96a14ade4aa98116c004b2e37b5be7d736c" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "openssl-probe" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" - -[[package]] -name = "openssl-sys" -version = "0.9.77" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b03b84c3b2d099b81f0953422b4d4ad58761589d0229b5506356afca05a3670a" -dependencies = [ - "autocfg 1.1.0", - "cc", - "libc", - "pkg-config", - "vcpkg", -] - -[[package]] -name = "os_str_bytes" -version = "6.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee" - -[[package]] -name = "pallet-balances" -version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" -dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", - "log 0.4.17", - "parity-scale-codec", - "scale-info", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "parity-scale-codec" -version = "3.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "366e44391a8af4cfd6002ef6ba072bae071a96aafca98d7d448a34c5dca38b6a" -dependencies = [ - "arrayvec 0.7.2", - "bitvec", - "byte-slice-cast", - "bytes 1.3.0", - "impl-trait-for-tuples", - "parity-scale-codec-derive", - "serde", -] - -[[package]] -name = "parity-scale-codec-derive" -version = "3.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9299338969a3d2f491d65f140b00ddec470858402f888af98e8642fb5e8965cd" -dependencies = [ - "proc-macro-crate 1.2.1", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "parity-util-mem" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c32561d248d352148124f036cac253a644685a21dc9fea383eb4907d7bd35a8f" -dependencies = [ - "cfg-if 1.0.0", - "hashbrown", - "impl-trait-for-tuples", - "parity-util-mem-derive", - "parking_lot 0.12.1", - "primitive-types", - "winapi 0.3.9", -] - -[[package]] -name = "parity-util-mem-derive" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f557c32c6d268a07c921471619c0295f5efad3a0e76d4f97a05c091a51d110b2" -dependencies = [ - "proc-macro2", - "syn", - "synstructure", -] - -[[package]] -name = "parity-wasm" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be5e13c266502aadf83426d87d81a0f5d1ef45b8027f5a471c360abfe4bfae92" - -[[package]] -name = "parking_lot" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f842b1982eb6c2fe34036a4fbfb06dd185a3f5c8edfaacdf7d1ea10b07de6252" -dependencies = [ - "lock_api 0.3.4", - "parking_lot_core 0.6.2", - "rustc_version 0.2.3", -] - -[[package]] -name = "parking_lot" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99" -dependencies = [ - "instant", - "lock_api 0.4.9", - "parking_lot_core 0.8.5", -] - -[[package]] -name = "parking_lot" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" -dependencies = [ - "lock_api 0.4.9", - "parking_lot_core 0.9.4", -] - -[[package]] -name = "parking_lot_core" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b876b1b9e7ac6e1a74a6da34d25c42e17e8862aa409cbbbdcfc8d86c6f3bc62b" -dependencies = [ - "cfg-if 0.1.10", - "cloudabi", - "libc", - "redox_syscall 0.1.57", - "rustc_version 0.2.3", - "smallvec 0.6.14", - "winapi 0.3.9", -] - -[[package]] -name = "parking_lot_core" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d76e8e1493bcac0d2766c42737f34458f1c8c50c0d23bcb24ea953affb273216" -dependencies = [ - "cfg-if 1.0.0", - "instant", - "libc", - "redox_syscall 0.2.16", - "smallvec 1.10.0", - "winapi 0.3.9", -] - -[[package]] -name = "parking_lot_core" -version = "0.9.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4dc9e0dc2adc1c69d09143aff38d3d30c5c3f0df0dad82e6d25547af174ebec0" -dependencies = [ - "cfg-if 1.0.0", - "libc", - "redox_syscall 0.2.16", - "smallvec 1.10.0", - "windows-sys 0.42.0", -] - -[[package]] -name = "paste" -version = "1.0.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1de2e551fb905ac83f73f7aedf2f0cb4a0da7e35efa24a202a936269f1f18e1" - -[[package]] -name = "pbkdf2" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "216eaa586a190f0a738f2f918511eecfa90f13295abec0e457cdebcceda80cbd" -dependencies = [ - "crypto-mac 0.8.0", -] - -[[package]] -name = "pbkdf2" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d95f5254224e617595d2cc3cc73ff0a5eaf2637519e25f03388154e9378b6ffa" -dependencies = [ - "crypto-mac 0.11.1", -] - -[[package]] -name = "percent-encoding" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31010dd2e1ac33d5b46a5b413495239882813e0369f8ed8a5e266f173602f831" - -[[package]] -name = "percent-encoding" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e" - -[[package]] -name = "pin-project-lite" -version = "0.2.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116" - -[[package]] -name = "pin-utils" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" - -[[package]] -name = "pkg-config" -version = "0.3.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ac9a59f73473f1b8d852421e59e64809f025994837ef743615c6d0c5b305160" - -[[package]] -name = "ppv-lite86" -version = "0.2.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" - -[[package]] -name = "primitive-types" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e28720988bff275df1f51b171e1b2a18c30d194c4d2b61defdacecd625a5d94a" -dependencies = [ - "fixed-hash", - "impl-codec", - "impl-serde", - "scale-info", - "uint", -] - -[[package]] -name = "proc-macro-crate" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d6ea3c4595b96363c13943497db34af4460fb474a95c43f4446ad341b8c9785" -dependencies = [ - "toml", -] - -[[package]] -name = "proc-macro-crate" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eda0fc3b0fb7c975631757e14d9049da17374063edb6ebbcbc54d880d4fe94e9" -dependencies = [ - "once_cell", - "thiserror", - "toml", -] - -[[package]] -name = "proc-macro-error" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" -dependencies = [ - "proc-macro-error-attr", - "proc-macro2", - "quote", - "syn", - "version_check 0.9.4", -] - -[[package]] -name = "proc-macro-error-attr" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" -dependencies = [ - "proc-macro2", - "quote", - "version_check 0.9.4", -] - -[[package]] -name = "proc-macro2" -version = "1.0.47" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ea3d908b0e36316caf9e9e2c4625cdde190a7e6f440d794667ed17a1855e725" -dependencies = [ - "unicode-ident", -] - -[[package]] -name = "quote" -version = "1.0.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbe448f377a7d6961e30f5955f9b8d106c3f5e449d493ee1b125c1d43c2b5179" -dependencies = [ - "proc-macro2", -] - -[[package]] -name = "radium" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" - -[[package]] -name = "rand" -version = "0.6.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d71dacdc3c88c1fde3885a3be3fbab9f35724e6ce99467f7d9c5026132184ca" -dependencies = [ - "autocfg 0.1.8", - "libc", - "rand_chacha 0.1.1", - "rand_core 0.4.2", - "rand_hc 0.1.0", - "rand_isaac", - "rand_jitter", - "rand_os", - "rand_pcg 0.1.2", - "rand_xorshift", - "winapi 0.3.9", -] - -[[package]] -name = "rand" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03" -dependencies = [ - "getrandom 0.1.16", - "libc", - "rand_chacha 0.2.2", - "rand_core 0.5.1", - "rand_hc 0.2.0", - "rand_pcg 0.2.1", -] - -[[package]] -name = "rand" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" -dependencies = [ - "libc", - "rand_chacha 0.3.1", - "rand_core 0.6.4", -] - -[[package]] -name = "rand_chacha" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "556d3a1ca6600bfcbab7c7c91ccb085ac7fbbcd70e008a98742e7847f4f7bcef" -dependencies = [ - "autocfg 0.1.8", - "rand_core 0.3.1", -] - -[[package]] -name = "rand_chacha" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402" -dependencies = [ - "ppv-lite86", - "rand_core 0.5.1", -] - -[[package]] -name = "rand_chacha" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" -dependencies = [ - "ppv-lite86", - "rand_core 0.6.4", -] - -[[package]] -name = "rand_core" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b" -dependencies = [ - "rand_core 0.4.2", -] - -[[package]] -name = "rand_core" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c33a3c44ca05fa6f1807d8e6743f3824e8509beca625669633be0acbdf509dc" - -[[package]] -name = "rand_core" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19" -dependencies = [ - "getrandom 0.1.16", -] - -[[package]] -name = "rand_core" -version = "0.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" -dependencies = [ - "getrandom 0.2.8", -] - -[[package]] -name = "rand_distr" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32cb0b9bc82b0a0876c2dd994a7e7a2683d3e7390ca40e6886785ef0c7e3ee31" -dependencies = [ - "num-traits", - "rand 0.8.5", -] - -[[package]] -name = "rand_hc" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b40677c7be09ae76218dc623efbf7b18e34bced3f38883af07bb75630a21bc4" -dependencies = [ - "rand_core 0.3.1", -] - -[[package]] -name = "rand_hc" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c" -dependencies = [ - "rand_core 0.5.1", -] - -[[package]] -name = "rand_isaac" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ded997c9d5f13925be2a6fd7e66bf1872597f759fd9dd93513dd7e92e5a5ee08" -dependencies = [ - "rand_core 0.3.1", -] - -[[package]] -name = "rand_jitter" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1166d5c91dc97b88d1decc3285bb0a99ed84b05cfd0bc2341bdf2d43fc41e39b" -dependencies = [ - "libc", - "rand_core 0.4.2", - "winapi 0.3.9", -] - -[[package]] -name = "rand_os" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b75f676a1e053fc562eafbb47838d67c84801e38fc1ba459e8f180deabd5071" -dependencies = [ - "cloudabi", - "fuchsia-cprng", - "libc", - "rand_core 0.4.2", - "rdrand", - "winapi 0.3.9", -] - -[[package]] -name = "rand_pcg" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abf9b09b01790cfe0364f52bf32995ea3c39f4d2dd011eac241d2914146d0b44" -dependencies = [ - "autocfg 0.1.8", - "rand_core 0.4.2", -] - -[[package]] -name = "rand_pcg" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16abd0c1b639e9eb4d7c50c0b8100b0d0f849be2349829c740fe8e6eb4816429" -dependencies = [ - "rand_core 0.5.1", -] - -[[package]] -name = "rand_xorshift" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cbf7e9e623549b0e21f6e97cf8ecf247c1a8fd2e8a992ae265314300b2455d5c" -dependencies = [ - "rand_core 0.3.1", -] - -[[package]] -name = "rawpointer" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3" - -[[package]] -name = "rdrand" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2" -dependencies = [ - "rand_core 0.3.1", -] - -[[package]] -name = "redox_syscall" -version = "0.1.57" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41cc0f7e4d5d4544e8861606a285bb08d3e70712ccc7d2b84d7c0ccfaf4b05ce" - -[[package]] -name = "redox_syscall" -version = "0.2.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" -dependencies = [ - "bitflags", -] - -[[package]] -name = "ref-cast" -version = "1.0.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53b15debb4f9d60d767cd8ca9ef7abb2452922f3214671ff052defc7f3502c44" -dependencies = [ - "ref-cast-impl", -] - -[[package]] -name = "ref-cast-impl" -version = "1.0.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abfa8511e9e94fd3de6585a3d3cd00e01ed556dc9814829280af0e8dc72a8f36" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "regex" -version = "1.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e076559ef8e241f2ae3479e36f97bd5741c0330689e217ad51ce2c76808b868a" -dependencies = [ - "aho-corasick", - "memchr", - "regex-syntax", -] - -[[package]] -name = "regex-automata" -version = "0.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" -dependencies = [ - "regex-syntax", -] - -[[package]] -name = "regex-syntax" -version = "0.6.28" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848" - -[[package]] -name = "remove_dir_all" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7" -dependencies = [ - "winapi 0.3.9", -] - -[[package]] -name = "reqwest" -version = "0.11.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68cc60575865c7831548863cc02356512e3f1dc2f3f82cb837d7fc4cc8f3c97c" -dependencies = [ - "base64 0.13.1", - "bytes 1.3.0", - "encoding_rs", - "futures-core", - "futures-util", - "h2", - "http", - "http-body", - "hyper 0.14.23", - "hyper-tls", - "ipnet", - "js-sys", - "log 0.4.17", - "mime 0.3.16", - "native-tls", - "once_cell", - "percent-encoding 2.2.0", - "pin-project-lite", - "serde", - "serde_json", - "serde_urlencoded", - "tokio", - "tokio-native-tls", - "tower-service", - "url 2.3.1", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", - "winreg", -] - -[[package]] -name = "rfc6979" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96ef608575f6392792f9ecf7890c00086591d29a83910939d430753f7c050525" -dependencies = [ - "crypto-bigint", - "hmac 0.11.0", - "zeroize", -] - -[[package]] -name = "rustc-demangle" -version = "0.1.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ef03e0a2b150c7a90d01faf6254c9c48a41e95fb2a8c2ac1c6f0d2b9aefc342" - -[[package]] -name = "rustc-hash" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" - -[[package]] -name = "rustc-hex" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e75f6a532d0fd9f7f13144f392b6ad56a32696bfcd9c78f797f16bbb6f072d6" - -[[package]] -name = "rustc_version" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a" -dependencies = [ - "semver 0.9.0", -] - -[[package]] -name = "rustc_version" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" -dependencies = [ - "semver 1.0.14", -] - -[[package]] -name = "ryu" -version = "1.0.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4501abdff3ae82a1c1b477a17252eb69cee9e66eb915c1abaa4f44d873df9f09" - -[[package]] -name = "safemem" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef703b7cb59335eae2eb93ceb664c0eb7ea6bf567079d843e09420219668e072" - -[[package]] -name = "scale-info" -version = "2.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88d8a765117b237ef233705cc2cc4c6a27fccd46eea6ef0c8c6dae5f3ef407f8" -dependencies = [ - "bitvec", - "cfg-if 1.0.0", - "derive_more", - "parity-scale-codec", - "scale-info-derive", - "serde", -] - -[[package]] -name = "scale-info-derive" -version = "2.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdcd47b380d8c4541044e341dcd9475f55ba37ddc50c908d945fc036a8642496" -dependencies = [ - "proc-macro-crate 1.2.1", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "schannel" -version = "0.1.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88d6731146462ea25d9244b2ed5fd1d716d25c52e4d54aa4fb0f3c4e9854dbe2" -dependencies = [ - "lazy_static", - "windows-sys 0.36.1", -] - -[[package]] -name = "schnorrkel" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "021b403afe70d81eea68f6ea12f6b3c9588e5d536a94c3bf80f15e7faa267862" -dependencies = [ - "arrayref", - "arrayvec 0.5.2", - "curve25519-dalek 2.1.3", - "getrandom 0.1.16", - "merlin", - "rand 0.7.3", - "rand_core 0.5.1", - "sha2 0.8.2", - "subtle", - "zeroize", -] - -[[package]] -name = "scopeguard" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" - -[[package]] -name = "scratch" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c8132065adcfd6e02db789d9285a0deb2f3fcb04002865ab67d5fb103533898" - -[[package]] -name = "sec1" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08da66b8b0965a5555b6bd6639e68ccba85e1e2506f5fbb089e93f8a04e1a2d1" -dependencies = [ - "der", - "generic-array 0.14.6", - "subtle", - "zeroize", -] - -[[package]] -name = "secp256k1" -version = "0.24.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff55dc09d460954e9ef2fa8a7ced735a964be9981fd50e870b2b3b0705e14964" -dependencies = [ - "secp256k1-sys", -] - -[[package]] -name = "secp256k1-sys" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83080e2c2fc1006e625be82e5d1eb6a43b7fd9578b617fcc55814daf286bba4b" -dependencies = [ - "cc", -] - -[[package]] -name = "secrecy" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9bd1c54ea06cfd2f6b63219704de0b9b4f72dcc2b8fdef820be6cd799780e91e" -dependencies = [ - "zeroize", -] - -[[package]] -name = "security-framework" -version = "2.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bc1bb97804af6631813c55739f771071e0f2ed33ee20b68c86ec505d906356c" -dependencies = [ - "bitflags", - "core-foundation", - "core-foundation-sys", - "libc", - "security-framework-sys", -] - -[[package]] -name = "security-framework-sys" -version = "2.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0160a13a177a45bfb43ce71c01580998474f556ad854dcbca936dd2841a5c556" -dependencies = [ - "core-foundation-sys", - "libc", -] - -[[package]] -name = "semver" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403" -dependencies = [ - "semver-parser", -] - -[[package]] -name = "semver" -version = "1.0.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e25dfac463d778e353db5be2449d1cce89bd6fd23c9f1ea21310ce6e5a1b29c4" - -[[package]] -name = "semver-parser" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" - -[[package]] -name = "serde" -version = "1.0.147" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d193d69bae983fc11a79df82342761dfbf28a99fc8d203dca4c3c1b590948965" -dependencies = [ - "serde_derive", -] - -[[package]] -name = "serde_derive" -version = "1.0.147" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f1d362ca8fc9c3e3a7484440752472d68a6caa98f1ab81d99b5dfe517cec852" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "serde_json" -version = "1.0.89" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "020ff22c755c2ed3f8cf162dbb41a7268d934702f3ed3631656ea597e08fc3db" -dependencies = [ - "itoa", - "ryu", - "serde", -] - -[[package]] -name = "serde_urlencoded" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" -dependencies = [ - "form_urlencoded", - "itoa", - "ryu", - "serde", -] - -[[package]] -name = "sha1" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1da05c97445caa12d05e848c4a4fcbbea29e748ac28f7e80e9b010392063770" -dependencies = [ - "sha1_smol", -] - -[[package]] -name = "sha1_smol" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae1a47186c03a32177042e55dbc5fd5aee900b8e0069a8d70fba96a9375cd012" - -[[package]] -name = "sha2" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a256f46ea78a0c0d9ff00077504903ac881a1dafdc20da66545699e7776b3e69" -dependencies = [ - "block-buffer 0.7.3", - "digest 0.8.1", - "fake-simd", - "opaque-debug 0.2.3", -] - -[[package]] -name = "sha2" -version = "0.9.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d58a1e1bf39749807d89cf2d98ac2dfa0ff1cb3faa38fbb64dd88ac8013d800" -dependencies = [ - "block-buffer 0.9.0", - "cfg-if 1.0.0", - "cpufeatures", - "digest 0.9.0", - "opaque-debug 0.3.0", -] - -[[package]] -name = "sha2" -version = "0.10.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82e6b795fe2e3b1e845bafcb27aa35405c4d47cdfc92af5fc8d3002f76cebdc0" -dependencies = [ - "cfg-if 1.0.0", - "cpufeatures", - "digest 0.10.6", -] - -[[package]] -name = "sha3" -version = "0.10.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bdf0c33fae925bdc080598b84bc15c55e7b9a4a43b3c704da051f977469691c9" -dependencies = [ - "digest 0.10.6", - "keccak", -] - -[[package]] -name = "sharded-slab" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "900fba806f70c630b0a382d0d825e17a0f19fcd059a2ade1ff237bcddf446b31" -dependencies = [ - "lazy_static", -] - -[[package]] -name = "signal-hook-registry" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e51e73328dc4ac0c7ccbda3a494dfa03df1de2f46018127f60c693f2648455b0" -dependencies = [ - "libc", -] - -[[package]] -name = "signature" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02658e48d89f2bec991f9a78e69cfa4c316f8d6a6c4ec12fae1aeb263d486788" -dependencies = [ - "digest 0.9.0", - "rand_core 0.6.4", -] - -[[package]] -name = "simba" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e82063457853d00243beda9952e910b82593e4b07ae9f721b9278a99a0d3d5c" -dependencies = [ - "approx", - "num-complex", - "num-traits", - "paste", -] - -[[package]] -name = "slab" -version = "0.4.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4614a76b2a8be0058caa9dbbaf66d988527d86d003c11a94fbd335d7661edcef" -dependencies = [ - "autocfg 1.1.0", -] - -[[package]] -name = "smallvec" -version = "0.6.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b97fcaeba89edba30f044a10c6a3cc39df9c3f17d7cd829dd1446cab35f890e0" -dependencies = [ - "maybe-uninit", -] - -[[package]] -name = "smallvec" -version = "1.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" - -[[package]] -name = "socket2" -version = "0.4.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02e2d2db9033d13a1567121ddd7a095ee144db4e1ca1b1bda3419bc0da294ebd" -dependencies = [ - "libc", - "winapi 0.3.9", -] - -[[package]] -name = "sp-api" -version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" -dependencies = [ - "hash-db", - "log 0.4.17", - "parity-scale-codec", - "sp-api-proc-macro", - "sp-core", - "sp-runtime", - "sp-state-machine", - "sp-std", - "sp-trie", - "sp-version", - "thiserror", -] - -[[package]] -name = "sp-api-proc-macro" -version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" -dependencies = [ - "blake2", - "proc-macro-crate 1.2.1", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "sp-application-crypto" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" -dependencies = [ - "parity-scale-codec", - "scale-info", - "serde", - "sp-core", - "sp-io", - "sp-std", -] - -[[package]] -name = "sp-arithmetic" -version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" -dependencies = [ - "integer-sqrt", - "num-traits", - "parity-scale-codec", - "scale-info", - "serde", - "sp-debug-derive", - "sp-std", - "static_assertions", -] - -[[package]] -name = "sp-core" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" -dependencies = [ - "base58", - "bitflags", - "blake2-rfc", - "byteorder", - "dyn-clonable", - "ed25519-zebra", - "futures 0.3.25", - "hash-db", - "hash256-std-hasher", - "hex", - "impl-serde", - "lazy_static", - "libsecp256k1", - "log 0.4.17", - "merlin", - "num-traits", - "parity-scale-codec", - "parity-util-mem", - "parking_lot 0.12.1", - "primitive-types", - "rand 0.7.3", - "regex", - "scale-info", - "schnorrkel", - "secp256k1", - "secrecy", - "serde", - "sp-core-hashing", - "sp-debug-derive", - "sp-externalities", - "sp-runtime-interface", - "sp-std", - "sp-storage", - "ss58-registry", - "substrate-bip39", - "thiserror", - "tiny-bip39", - "wasmi", - "zeroize", -] - -[[package]] -name = "sp-core-hashing" -version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" -dependencies = [ - "blake2", - "byteorder", - "digest 0.10.6", - "sha2 0.10.6", - "sha3", - "sp-std", - "twox-hash", -] - -[[package]] -name = "sp-core-hashing-proc-macro" -version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" -dependencies = [ - "proc-macro2", - "quote", - "sp-core-hashing", - "syn", -] - -[[package]] -name = "sp-debug-derive" -version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "sp-externalities" -version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" -dependencies = [ - "environmental", - "parity-scale-codec", - "sp-std", - "sp-storage", -] - -[[package]] -name = "sp-inherents" -version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" -dependencies = [ - "async-trait", - "impl-trait-for-tuples", - "parity-scale-codec", - "sp-core", - "sp-runtime", - "sp-std", - "thiserror", -] - -[[package]] -name = "sp-io" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" -dependencies = [ - "bytes 1.3.0", - "futures 0.3.25", - "hash-db", - "libsecp256k1", - "log 0.4.17", - "parity-scale-codec", - "parking_lot 0.12.1", - "secp256k1", - "sp-core", - "sp-externalities", - "sp-keystore", - "sp-runtime-interface", - "sp-state-machine", - "sp-std", - "sp-tracing", - "sp-trie", - "sp-wasm-interface", - "tracing", - "tracing-core", -] - -[[package]] -name = "sp-keystore" -version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" -dependencies = [ - "async-trait", - "futures 0.3.25", - "merlin", - "parity-scale-codec", - "parking_lot 0.12.1", - "schnorrkel", - "sp-core", - "sp-externalities", - "thiserror", -] - -[[package]] -name = "sp-panic-handler" -version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" -dependencies = [ - "backtrace", - "lazy_static", - "regex", -] - -[[package]] -name = "sp-runtime" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" -dependencies = [ - "either", - "hash256-std-hasher", - "impl-trait-for-tuples", - "log 0.4.17", - "parity-scale-codec", - "parity-util-mem", - "paste", - "rand 0.7.3", - "scale-info", - "serde", - "sp-application-crypto", - "sp-arithmetic", - "sp-core", - "sp-io", - "sp-std", -] - -[[package]] -name = "sp-runtime-interface" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" -dependencies = [ - "bytes 1.3.0", - "impl-trait-for-tuples", - "parity-scale-codec", - "primitive-types", - "sp-externalities", - "sp-runtime-interface-proc-macro", - "sp-std", - "sp-storage", - "sp-tracing", - "sp-wasm-interface", - "static_assertions", -] - -[[package]] -name = "sp-runtime-interface-proc-macro" -version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" -dependencies = [ - "Inflector", - "proc-macro-crate 1.2.1", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "sp-staking" -version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" -dependencies = [ - "parity-scale-codec", - "scale-info", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "sp-state-machine" -version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" -dependencies = [ - "hash-db", - "log 0.4.17", - "num-traits", - "parity-scale-codec", - "parking_lot 0.12.1", - "rand 0.7.3", - "smallvec 1.10.0", - "sp-core", - "sp-externalities", - "sp-panic-handler", - "sp-std", - "sp-trie", - "thiserror", - "tracing", - "trie-root", -] - -[[package]] -name = "sp-std" -version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" - -[[package]] -name = "sp-storage" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" -dependencies = [ - "impl-serde", - "parity-scale-codec", - "ref-cast", - "serde", - "sp-debug-derive", - "sp-std", -] - -[[package]] -name = "sp-tracing" -version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" -dependencies = [ - "parity-scale-codec", - "sp-std", - "tracing", - "tracing-core", - "tracing-subscriber", -] - -[[package]] -name = "sp-trie" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" -dependencies = [ - "ahash", - "hash-db", - "hashbrown", - "lazy_static", - "lru", - "memory-db", - "nohash-hasher", - "parity-scale-codec", - "parking_lot 0.12.1", - "scale-info", - "sp-core", - "sp-std", - "thiserror", - "tracing", - "trie-db", - "trie-root", -] - -[[package]] -name = "sp-version" -version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" -dependencies = [ - "impl-serde", - "parity-scale-codec", - "parity-wasm", - "scale-info", - "serde", - "sp-core-hashing-proc-macro", - "sp-runtime", - "sp-std", - "sp-version-proc-macro", - "thiserror", -] - -[[package]] -name = "sp-version-proc-macro" -version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" -dependencies = [ - "parity-scale-codec", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "sp-wasm-interface" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.29#ffa7dcaf202ddeffc70f1733c39b438d8db3371d" -dependencies = [ - "impl-trait-for-tuples", - "log 0.4.17", - "parity-scale-codec", - "sp-std", - "wasmi", -] - -[[package]] -name = "ss58-registry" -version = "1.35.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa0813c10b9dbdc842c2305f949f724c64866e4ef4d09c9151e96f6a2106773c" -dependencies = [ - "Inflector", - "num-format", - "proc-macro2", - "quote", - "serde", - "serde_json", - "unicode-xid", -] - -[[package]] -name = "static_assertions" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" - -[[package]] -name = "statrs" -version = "0.15.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05bdbb8e4e78216a85785a85d3ec3183144f98d0097b9281802c019bb07a6f05" -dependencies = [ - "approx", - "lazy_static", - "nalgebra", - "num-traits", - "rand 0.8.5", -] - -[[package]] -name = "strsim" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" - -[[package]] -name = "substrate-bip39" -version = "0.4.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49eee6965196b32f882dd2ee85a92b1dbead41b04e53907f269de3b0dc04733c" -dependencies = [ - "hmac 0.11.0", - "pbkdf2 0.8.0", - "schnorrkel", - "sha2 0.9.9", - "zeroize", -] - -[[package]] -name = "subtle" -version = "2.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" - -[[package]] -name = "syn" -version = "1.0.103" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a864042229133ada95abf3b54fdc62ef5ccabe9515b64717bcb9a1919e59445d" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - -[[package]] -name = "synstructure" -version = "0.12.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f" -dependencies = [ - "proc-macro2", - "quote", - "syn", - "unicode-xid", -] - -[[package]] -name = "tap" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" - -[[package]] -name = "tempfile" -version = "3.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cdb1ef4eaeeaddc8fbd371e5017057064af0911902ef36b39801f67cc6d79e4" -dependencies = [ - "cfg-if 1.0.0", - "fastrand", - "libc", - "redox_syscall 0.2.16", - "remove_dir_all", - "winapi 0.3.9", -] - -[[package]] -name = "termcolor" -version = "1.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755" -dependencies = [ - "winapi-util", -] - -[[package]] -name = "textwrap" -version = "0.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d" - -[[package]] -name = "thiserror" -version = "1.0.37" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10deb33631e3c9018b9baf9dcbbc4f737320d2b576bac10f6aefa048fa407e3e" -dependencies = [ - "thiserror-impl", -] - -[[package]] -name = "thiserror-impl" -version = "1.0.37" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "982d17546b47146b28f7c22e3d08465f6b8903d0ea13c1660d9d84a6e7adcdbb" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "thread_local" -version = "1.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5516c27b78311c50bf42c071425c560ac799b11c30b31f87e3081965fe5e0180" -dependencies = [ - "once_cell", -] - -[[package]] -name = "time" -version = "0.1.44" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6db9e6914ab8b1ae1c260a4ae7a49b6c5611b40328a735b21862567685e73255" -dependencies = [ - "libc", - "wasi 0.10.0+wasi-snapshot-preview1", - "winapi 0.3.9", -] - -[[package]] -name = "tiny-bip39" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffc59cb9dfc85bb312c3a78fd6aa8a8582e310b0fa885d5bb877f6dcc601839d" -dependencies = [ - "anyhow", - "hmac 0.8.1", - "once_cell", - "pbkdf2 0.4.0", - "rand 0.7.3", - "rustc-hash", - "sha2 0.9.9", - "thiserror", - "unicode-normalization", - "wasm-bindgen", - "zeroize", -] - -[[package]] -name = "tinyvec" -version = "1.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" -dependencies = [ - "tinyvec_macros", -] - -[[package]] -name = "tinyvec_macros" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" - -[[package]] -name = "tokio" -version = "1.22.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d76ce4a75fb488c605c54bf610f221cea8b0dafb53333c1a67e8ee199dcd2ae3" -dependencies = [ - "autocfg 1.1.0", - "bytes 1.3.0", - "libc", - "memchr", - "mio 0.8.5", - "num_cpus", - "parking_lot 0.12.1", - "pin-project-lite", - "signal-hook-registry", - "socket2", - "tokio-macros", - "winapi 0.3.9", -] - -[[package]] -name = "tokio-codec" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25b2998660ba0e70d18684de5d06b70b70a3a747469af9dea7618cc59e75976b" -dependencies = [ - "bytes 0.4.12", - "futures 0.1.31", - "tokio-io", -] - -[[package]] -name = "tokio-executor" -version = "0.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb2d1b8f4548dbf5e1f7818512e9c406860678f29c300cdf0ebac72d1a3a1671" -dependencies = [ - "crossbeam-utils", - "futures 0.1.31", -] - -[[package]] -name = "tokio-io" -version = "0.1.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57fc868aae093479e3131e3d165c93b1c7474109d13c90ec0dda2a1bbfff0674" -dependencies = [ - "bytes 0.4.12", - "futures 0.1.31", - "log 0.4.17", -] - -[[package]] -name = "tokio-macros" -version = "1.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9724f9a975fb987ef7a3cd9be0350edcbe130698af5b8f7a631e23d42d052484" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "tokio-native-tls" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7d995660bd2b7f8c1568414c1126076c13fbb725c40112dc0120b78eb9b717b" -dependencies = [ - "native-tls", - "tokio", -] - -[[package]] -name = "tokio-reactor" -version = "0.1.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09bc590ec4ba8ba87652da2068d150dcada2cfa2e07faae270a5e0409aa51351" -dependencies = [ - "crossbeam-utils", - "futures 0.1.31", - "lazy_static", - "log 0.4.17", - "mio 0.6.23", - "num_cpus", - "parking_lot 0.9.0", - "slab", - "tokio-executor", - "tokio-io", - "tokio-sync", -] - -[[package]] -name = "tokio-sync" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edfe50152bc8164fcc456dab7891fa9bf8beaf01c5ee7e1dd43a397c3cf87dee" -dependencies = [ - "fnv", - "futures 0.1.31", -] - -[[package]] -name = "tokio-tcp" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98df18ed66e3b72e742f185882a9e201892407957e45fbff8da17ae7a7c51f72" -dependencies = [ - "bytes 0.4.12", - "futures 0.1.31", - "iovec", - "mio 0.6.23", - "tokio-io", - "tokio-reactor", -] - -[[package]] -name = "tokio-tls" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "354b8cd83825b3c20217a9dc174d6a0c67441a2fae5c41bcb1ea6679f6ae0f7c" -dependencies = [ - "futures 0.1.31", - "native-tls", - "tokio-io", -] - -[[package]] -name = "tokio-util" -version = "0.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bb2e075f03b3d66d8d8785356224ba688d2906a371015e225beeb65ca92c740" -dependencies = [ - "bytes 1.3.0", - "futures-core", - "futures-sink", - "pin-project-lite", - "tokio", - "tracing", -] - -[[package]] -name = "toml" -version = "0.5.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d82e1a7758622a465f8cee077614c73484dac5b836c02ff6a40d5d1010324d7" -dependencies = [ - "serde", -] - -[[package]] -name = "tower-service" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" - -[[package]] -name = "tracing" -version = "0.1.37" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8" -dependencies = [ - "cfg-if 1.0.0", - "pin-project-lite", - "tracing-attributes", - "tracing-core", -] - -[[package]] -name = "tracing-attributes" -version = "0.1.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4017f8f45139870ca7e672686113917c71c7a6e02d4924eda67186083c03081a" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "tracing-core" -version = "0.1.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24eb03ba0eab1fd845050058ce5e616558e8f8d8fca633e6b163fe25c797213a" -dependencies = [ - "once_cell", - "valuable", -] - -[[package]] -name = "tracing-log" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78ddad33d2d10b1ed7eb9d1f518a5674713876e97e5bb9b7345a7984fbb4f922" -dependencies = [ - "lazy_static", - "log 0.4.17", - "tracing-core", -] - -[[package]] -name = "tracing-serde" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc6b213177105856957181934e4920de57730fc69bf42c37ee5bb664d406d9e1" -dependencies = [ - "serde", - "tracing-core", -] - -[[package]] -name = "tracing-subscriber" -version = "0.2.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e0d2eaa99c3c2e41547cfa109e910a68ea03823cccad4a0525dcbc9b01e8c71" -dependencies = [ - "ansi_term", - "chrono", - "lazy_static", - "matchers", - "regex", - "serde", - "serde_json", - "sharded-slab", - "smallvec 1.10.0", - "thread_local", - "tracing", - "tracing-core", - "tracing-log", - "tracing-serde", -] - -[[package]] -name = "traitobject" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "efd1f82c56340fdf16f2a953d7bda4f8fdffba13d93b00844c25572110b26079" - -[[package]] -name = "trie-db" -version = "0.24.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "004e1e8f92535694b4cb1444dc5a8073ecf0815e3357f729638b9f8fc4062908" -dependencies = [ - "hash-db", - "hashbrown", - "log 0.4.17", - "rustc-hex", - "smallvec 1.10.0", -] - -[[package]] -name = "trie-root" -version = "0.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a36c5ca3911ed3c9a5416ee6c679042064b93fc637ded67e25f92e68d783891" -dependencies = [ - "hash-db", -] - -[[package]] -name = "try-lock" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642" - -[[package]] -name = "tt-call" -version = "1.0.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e66dcbec4290c69dd03c57e76c2469ea5c7ce109c6dd4351c13055cf71ea055" - -[[package]] -name = "twox-hash" -version = "1.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675" -dependencies = [ - "cfg-if 1.0.0", - "digest 0.10.6", - "rand 0.8.5", - "static_assertions", -] - -[[package]] -name = "typeable" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1410f6f91f21d1612654e7cc69193b0334f909dcf2c790c4826254fbb86f8887" - -[[package]] -name = "typenum" -version = "1.15.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987" - -[[package]] -name = "uint" -version = "0.9.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a45526d29728d135c2900b0d30573fe3ee79fceb12ef534c7bb30e810a91b601" -dependencies = [ - "byteorder", - "crunchy", - "hex", - "static_assertions", -] - -[[package]] -name = "unicase" -version = "1.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f4765f83163b74f957c797ad9253caf97f103fb064d3999aea9568d09fc8a33" -dependencies = [ - "version_check 0.1.5", -] - -[[package]] -name = "unicode-bidi" -version = "0.3.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "099b7128301d285f79ddd55b9a83d5e6b9e97c92e0ea0daebee7263e932de992" - -[[package]] -name = "unicode-ident" -version = "1.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ceab39d59e4c9499d4e5a8ee0e2735b891bb7308ac83dfb4e80cad195c9f6f3" - -[[package]] -name = "unicode-normalization" -version = "0.1.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" -dependencies = [ - "tinyvec", -] - -[[package]] -name = "unicode-width" -version = "0.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b" - -[[package]] -name = "unicode-xid" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" - -[[package]] -name = "url" -version = "1.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd4e7c0d531266369519a4aa4f399d748bd37043b00bde1e4ff1f60a120b355a" -dependencies = [ - "idna 0.1.5", - "matches", - "percent-encoding 1.0.1", -] - -[[package]] -name = "url" -version = "2.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643" -dependencies = [ - "form_urlencoded", - "idna 0.3.0", - "percent-encoding 2.2.0", -] - -[[package]] -name = "valuable" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" - -[[package]] -name = "vcpkg" -version = "0.2.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" - -[[package]] -name = "version_check" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "914b1a6776c4c929a602fafd8bc742e06365d4bcbe48c30f9cca5824f70dc9dd" - -[[package]] -name = "version_check" -version = "0.9.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" - -[[package]] -name = "want" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0" -dependencies = [ - "log 0.4.17", - "try-lock", -] - -[[package]] -name = "wasi" -version = "0.9.0+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" - -[[package]] -name = "wasi" -version = "0.10.0+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f" - -[[package]] -name = "wasi" -version = "0.11.0+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" - -[[package]] -name = "wasm-bindgen" -version = "0.2.83" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eaf9f5aceeec8be17c128b2e93e031fb8a4d469bb9c4ae2d7dc1888b26887268" -dependencies = [ - "cfg-if 1.0.0", - "wasm-bindgen-macro", -] - -[[package]] -name = "wasm-bindgen-backend" -version = "0.2.83" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c8ffb332579b0557b52d268b91feab8df3615f265d5270fec2a8c95b17c1142" -dependencies = [ - "bumpalo", - "log 0.4.17", - "once_cell", - "proc-macro2", - "quote", - "syn", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-futures" -version = "0.4.33" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23639446165ca5a5de86ae1d8896b737ae80319560fbaa4c2887b7da6e7ebd7d" -dependencies = [ - "cfg-if 1.0.0", - "js-sys", - "wasm-bindgen", - "web-sys", -] - -[[package]] -name = "wasm-bindgen-macro" -version = "0.2.83" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "052be0f94026e6cbc75cdefc9bae13fd6052cdcaf532fa6c45e7ae33a1e6c810" -dependencies = [ - "quote", - "wasm-bindgen-macro-support", -] - -[[package]] -name = "wasm-bindgen-macro-support" -version = "0.2.83" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07bc0c051dc5f23e307b13285f9d75df86bfdf816c5721e573dec1f9b8aa193c" -dependencies = [ - "proc-macro2", - "quote", - "syn", - "wasm-bindgen-backend", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-shared" -version = "0.2.83" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c38c045535d93ec4f0b4defec448e4291638ee608530863b1e2ba115d4fff7f" - -[[package]] -name = "wasmi" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca00c5147c319a8ec91ec1a0edbec31e566ce2c9cc93b3f9bb86a9efd0eb795d" -dependencies = [ - "downcast-rs", - "libc", - "memory_units", - "num-rational 0.2.4", - "num-traits", - "parity-wasm", - "wasmi-validation", -] - -[[package]] -name = "wasmi-validation" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "165343ecd6c018fc09ebcae280752702c9a2ef3e6f8d02f1cfcbdb53ef6d7937" -dependencies = [ - "parity-wasm", -] - -[[package]] -name = "web-sys" -version = "0.3.60" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcda906d8be16e728fd5adc5b729afad4e444e106ab28cd1c7256e54fa61510f" -dependencies = [ - "js-sys", - "wasm-bindgen", -] - -[[package]] -name = "websocket" -version = "0.24.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "413b37840b9e27b340ce91b319ede10731de8c72f5bc4cb0206ec1ca4ce581d0" -dependencies = [ - "bytes 0.4.12", - "futures 0.1.31", - "hyper 0.10.16", - "native-tls", - "rand 0.6.5", - "tokio-codec", - "tokio-io", - "tokio-reactor", - "tokio-tcp", - "tokio-tls", - "unicase", - "url 1.7.2", - "websocket-base", -] - -[[package]] -name = "websocket-base" -version = "0.24.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e3810f0d00c4dccb54c30a4eee815e703232819dec7b007db115791c42aa374" -dependencies = [ - "base64 0.10.1", - "bitflags", - "byteorder", - "bytes 0.4.12", - "futures 0.1.31", - "native-tls", - "rand 0.6.5", - "sha1", - "tokio-codec", - "tokio-io", - "tokio-tcp", - "tokio-tls", -] - -[[package]] -name = "winapi" -version = "0.2.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a" - -[[package]] -name = "winapi" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" -dependencies = [ - "winapi-i686-pc-windows-gnu", - "winapi-x86_64-pc-windows-gnu", -] - -[[package]] -name = "winapi-build" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc" - -[[package]] -name = "winapi-i686-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" - -[[package]] -name = "winapi-util" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" -dependencies = [ - "winapi 0.3.9", -] - -[[package]] -name = "winapi-x86_64-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" - -[[package]] -name = "windows-sys" -version = "0.36.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea04155a16a59f9eab786fe12a4a450e75cdb175f9e0d80da1e17db09f55b8d2" -dependencies = [ - "windows_aarch64_msvc 0.36.1", - "windows_i686_gnu 0.36.1", - "windows_i686_msvc 0.36.1", - "windows_x86_64_gnu 0.36.1", - "windows_x86_64_msvc 0.36.1", -] - -[[package]] -name = "windows-sys" -version = "0.42.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" -dependencies = [ - "windows_aarch64_gnullvm", - "windows_aarch64_msvc 0.42.0", - "windows_i686_gnu 0.42.0", - "windows_i686_msvc 0.42.0", - "windows_x86_64_gnu 0.42.0", - "windows_x86_64_gnullvm", - "windows_x86_64_msvc 0.42.0", -] - -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.42.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41d2aa71f6f0cbe00ae5167d90ef3cfe66527d6f613ca78ac8024c3ccab9a19e" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.36.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.42.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd0f252f5a35cac83d6311b2e795981f5ee6e67eb1f9a7f64eb4500fbc4dcdb4" - -[[package]] -name = "windows_i686_gnu" -version = "0.36.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6" - -[[package]] -name = "windows_i686_gnu" -version = "0.42.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbeae19f6716841636c28d695375df17562ca208b2b7d0dc47635a50ae6c5de7" - -[[package]] -name = "windows_i686_msvc" -version = "0.36.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024" - -[[package]] -name = "windows_i686_msvc" -version = "0.42.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84c12f65daa39dd2babe6e442988fc329d6243fdce47d7d2d155b8d874862246" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.36.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.42.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf7b1b21b5362cbc318f686150e5bcea75ecedc74dd157d874d754a2ca44b0ed" - -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.42.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09d525d2ba30eeb3297665bd434a54297e4170c7f1a44cad4ef58095b4cd2028" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.36.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.42.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f40009d85759725a34da6d89a94e63d7bdc50a862acf0dbc7c8e488f1edcb6f5" - -[[package]] -name = "winreg" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80d0f4e272c85def139476380b12f9ac60926689dd2e01d4923222f40580869d" -dependencies = [ - "winapi 0.3.9", -] - -[[package]] -name = "ws2_32-sys" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e" -dependencies = [ - "winapi 0.2.8", - "winapi-build", -] - -[[package]] -name = "wyz" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed" -dependencies = [ - "tap", -] - -[[package]] -name = "zeroize" -version = "1.5.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c394b5bd0c6f669e7275d9c20aa90ae064cb22e75a1cad54e1b34088034b149f" -dependencies = [ - "zeroize_derive", -] - -[[package]] -name = "zeroize_derive" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f8f187641dad4f680d25c4bfc4225b418165984179f26ca76ec4fb6441d3a17" -dependencies = [ - "proc-macro2", - "quote", - "syn", - "synstructure", -] diff --git a/fork-off/Cargo.toml b/fork-off/Cargo.toml index 066146db94..db5113acb3 100644 --- a/fork-off/Cargo.toml +++ b/fork-off/Cargo.toml @@ -19,10 +19,10 @@ serde = "1" serde_json = "1" tokio = { version = "1.0", features = ["full"] } -sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -frame-support = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -frame-system = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -pallet-balances = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +frame-support = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +frame-system = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +pallet-balances = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } jsonrpc-core = "18.0" jsonrpc-core-client = { version = "18.0", features = ["ws"] } jsonrpc-derive = "18.0" diff --git a/pallets/aleph/Cargo.toml b/pallets/aleph/Cargo.toml index 3447ee514d..31232a45a8 100644 --- a/pallets/aleph/Cargo.toml +++ b/pallets/aleph/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "pallet-aleph" -version = "0.5.1" +version = "0.5.2" authors = ["Cardinal Cryptography"] edition = "2021" license = "Apache 2.0" @@ -10,20 +10,20 @@ codec = { package = "parity-scale-codec", version = "3.0", default-features = fa serde = "1.0" scale-info = { version = "2.0", default-features = false, features = ["derive"] } -frame-support = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -frame-system = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -pallet-balances = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -pallet-session = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -sp-io = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -sp-std = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +frame-support = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +frame-system = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +pallet-balances = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +pallet-session = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +sp-io = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +sp-std = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } pallets-support = { path = "../support", default-features = false } primitives = { path = "../../primitives", default-features = false } [dev-dependencies] -pallet-timestamp = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -sp-runtime = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -sp-core = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +pallet-timestamp = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +sp-runtime = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +sp-core = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } [features] default = ["std"] diff --git a/pallets/aleph/src/lib.rs b/pallets/aleph/src/lib.rs index e3af366479..a7198039b9 100644 --- a/pallets/aleph/src/lib.rs +++ b/pallets/aleph/src/lib.rs @@ -55,7 +55,7 @@ pub mod pallet { #[pallet::config] pub trait Config: frame_system::Config { type AuthorityId: Member + Parameter + RuntimeAppPublic + MaybeSerializeDeserialize; - type Event: From> + IsType<::Event>; + type RuntimeEvent: From> + IsType<::RuntimeEvent>; type SessionInfoProvider: SessionInfoProvider; type SessionManager: SessionManager<::AccountId>; } diff --git a/pallets/aleph/src/migrations/v0_to_v1.rs b/pallets/aleph/src/migrations/v0_to_v1.rs index f38a5474d0..3fe634e69e 100644 --- a/pallets/aleph/src/migrations/v0_to_v1.rs +++ b/pallets/aleph/src/migrations/v0_to_v1.rs @@ -79,7 +79,7 @@ impl OnRuntimeUpgrade for Migration { } #[cfg(feature = "try-runtime")] - fn pre_upgrade() -> Result<(), &'static str> { + fn pre_upgrade() -> Result, &'static str> { #[storage_alias] type SessionForValidatorsChange = StorageValue>; #[storage_alias] @@ -90,11 +90,11 @@ impl OnRuntimeUpgrade for Migration { Self::store_temp("session", SessionForValidatorsChange::get()); Self::store_temp("validators", Validators::::get()); - Ok(()) + Ok(Vec::new()) } #[cfg(feature = "try-runtime")] - fn post_upgrade() -> Result<(), &'static str> { + fn post_upgrade(_state: Vec) -> Result<(), &'static str> { ensure_storage_version::

(1)?; let new_session = SessionForValidatorsChange::get(); diff --git a/pallets/aleph/src/migrations/v1_to_v2.rs b/pallets/aleph/src/migrations/v1_to_v2.rs index 99b739a1fb..8db71da49e 100644 --- a/pallets/aleph/src/migrations/v1_to_v2.rs +++ b/pallets/aleph/src/migrations/v1_to_v2.rs @@ -8,6 +8,8 @@ use frame_support::{ #[cfg(feature = "try-runtime")] use pallets_support::ensure_storage_version; use pallets_support::StorageMigration; +#[cfg(feature = "try-runtime")] +use sp_std::vec::Vec; use crate::Config; @@ -81,12 +83,13 @@ impl OnRuntimeUpgrade for Migration { } #[cfg(feature = "try-runtime")] - fn pre_upgrade() -> Result<(), &'static str> { - ensure_storage_version::

(1) + fn pre_upgrade() -> Result, &'static str> { + ensure_storage_version::

(1)?; + Ok(Vec::new()) } #[cfg(feature = "try-runtime")] - fn post_upgrade() -> Result<(), &'static str> { + fn post_upgrade(_state: Vec) -> Result<(), &'static str> { ensure_storage_version::

(2)?; ensure!( diff --git a/pallets/aleph/src/mock.rs b/pallets/aleph/src/mock.rs index c87553ec1c..2b1306f959 100644 --- a/pallets/aleph/src/mock.rs +++ b/pallets/aleph/src/mock.rs @@ -55,8 +55,8 @@ impl frame_system::Config for Test { type BaseCallFilter = frame_support::traits::Everything; type BlockWeights = (); type BlockLength = (); - type Origin = Origin; - type Call = Call; + type RuntimeOrigin = RuntimeOrigin; + type RuntimeCall = RuntimeCall; type Index = u64; type BlockNumber = u64; type Hash = H256; @@ -64,7 +64,7 @@ impl frame_system::Config for Test { type AccountId = AccountId; type Lookup = IdentityLookup; type Header = Header; - type Event = Event; + type RuntimeEvent = RuntimeEvent; type BlockHashCount = BlockHashCount; type DbWeight = TestDbWeight; type Version = (); @@ -92,7 +92,7 @@ impl pallet_balances::Config for Test { type MaxReserves = (); type ReserveIdentifier = [u8; 8]; type DustRemoval = (); - type Event = Event; + type RuntimeEvent = RuntimeEvent; type ExistentialDeposit = ExistentialDeposit; type AccountStore = System; type WeightInfo = (); @@ -100,7 +100,7 @@ impl pallet_balances::Config for Test { } impl pallet_session::Config for Test { - type Event = Event; + type RuntimeEvent = RuntimeEvent; type ValidatorId = u64; type ValidatorIdOf = ConvertInto; type ShouldEndSession = pallet_session::PeriodicSessions; @@ -113,10 +113,10 @@ impl pallet_session::Config for Test { impl frame_system::offchain::SendTransactionTypes for Test where - Call: From, + RuntimeCall: From, { - type Extrinsic = TestXt; - type OverarchingCall = Call; + type Extrinsic = TestXt; + type OverarchingCall = RuntimeCall; } parameter_types! { @@ -132,7 +132,7 @@ impl pallet_timestamp::Config for Test { impl Config for Test { type AuthorityId = AuthorityId; - type Event = Event; + type RuntimeEvent = RuntimeEvent; type SessionInfoProvider = Session; type SessionManager = (); } diff --git a/pallets/elections/Cargo.toml b/pallets/elections/Cargo.toml index f93bc821c0..1efe8b8a68 100644 --- a/pallets/elections/Cargo.toml +++ b/pallets/elections/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "pallet-elections" -version = "0.5.1" +version = "0.5.2" edition = "2021" license = "Apache 2.0" @@ -8,18 +8,18 @@ license = "Apache 2.0" codec = { package = "parity-scale-codec", version = "3.0", default-features = false, features = ["derive"] } scale-info = { version = "2.0", default-features = false, features = ["derive"] } -frame-support = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -frame-system = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -frame-election-provider-support = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -pallet-authorship = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -pallet-balances = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -pallet-session = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -pallet-staking = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -sp-core = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -sp-io = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -sp-staking = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -sp-std = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -sp-runtime = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +frame-support = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +frame-system = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +frame-election-provider-support = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +pallet-authorship = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +pallet-balances = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +pallet-session = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +pallet-staking = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +sp-core = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +sp-io = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +sp-staking = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +sp-std = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +sp-runtime = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } pallets-support = { path = "../support", default-features = false } primitives = { path = "../../primitives", default-features = false } diff --git a/pallets/elections/src/lib.rs b/pallets/elections/src/lib.rs index 61233929f6..41e3e8eb68 100644 --- a/pallets/elections/src/lib.rs +++ b/pallets/elections/src/lib.rs @@ -85,7 +85,7 @@ pub mod pallet { pub trait Config: frame_system::Config { /// Something that provides information about ongoing eras. type EraInfoProvider: EraInfoProvider; - type Event: From> + IsType<::Event>; + type RuntimeEvent: From> + IsType<::RuntimeEvent>; /// Something that provides data for elections. type DataProvider: ElectionDataProvider< AccountId = Self::AccountId, @@ -541,5 +541,9 @@ pub mod pallet { Ok(supports.into_iter().collect()) } + + fn ongoing() -> bool { + false + } } } diff --git a/pallets/elections/src/migrations/v0_to_v1.rs b/pallets/elections/src/migrations/v0_to_v1.rs index f9635d06b6..589b87188d 100644 --- a/pallets/elections/src/migrations/v0_to_v1.rs +++ b/pallets/elections/src/migrations/v0_to_v1.rs @@ -83,17 +83,17 @@ impl OnRuntimeUpgrade for Migration { } #[cfg(feature = "try-runtime")] - fn pre_upgrade() -> Result<(), &'static str> { + fn pre_upgrade() -> Result, &'static str> { ensure_storage_version::

(0)?; let members = Members::::get().ok_or("No `Members` storage")?; Self::store_temp("members", members); - Ok(()) + Ok(Vec::new()) } #[cfg(feature = "try-runtime")] - fn post_upgrade() -> Result<(), &'static str> { + fn post_upgrade(_state: Vec) -> Result<(), &'static str> { ensure_storage_version::

(1)?; let mps = MembersPerSession::get().ok_or("No `MembersPerSession` in the storage")?; diff --git a/pallets/elections/src/migrations/v1_to_v2.rs b/pallets/elections/src/migrations/v1_to_v2.rs index 8978a86b87..b6e141e758 100644 --- a/pallets/elections/src/migrations/v1_to_v2.rs +++ b/pallets/elections/src/migrations/v1_to_v2.rs @@ -8,6 +8,8 @@ use frame_support::{ #[cfg(feature = "try-runtime")] use pallets_support::ensure_storage_version; use pallets_support::StorageMigration; +#[cfg(feature = "try-runtime")] +use sp_std::vec::Vec; use crate::{migrations::Validators, Config, EraValidators}; @@ -82,7 +84,7 @@ impl OnRuntimeUpgrade for Migration { } #[cfg(feature = "try-runtime")] - fn pre_upgrade() -> Result<(), &'static str> { + fn pre_upgrade() -> Result, &'static str> { ensure_storage_version::

(1)?; let members_per_session = @@ -100,11 +102,11 @@ impl OnRuntimeUpgrade for Migration { let eras_members = ErasMembers::::get().ok_or("No `ErasMembers` in the storage")?; Self::store_temp("eras_members", eras_members); - Ok(()) + Ok(Vec::new()) } #[cfg(feature = "try-runtime")] - fn post_upgrade() -> Result<(), &'static str> { + fn post_upgrade(_state: Vec) -> Result<(), &'static str> { ensure_storage_version::

(2)?; let committee_size = CommitteeSize::get().ok_or("No `CommitteeSize` in the storage")?; diff --git a/pallets/elections/src/migrations/v2_to_v3.rs b/pallets/elections/src/migrations/v2_to_v3.rs index 1044f41f17..27e29bd75b 100644 --- a/pallets/elections/src/migrations/v2_to_v3.rs +++ b/pallets/elections/src/migrations/v2_to_v3.rs @@ -9,6 +9,8 @@ use frame_support::{ use pallets_support::ensure_storage_version; use pallets_support::StorageMigration; use primitives::CommitteeSeats; +#[cfg(feature = "try-runtime")] +use sp_std::vec::Vec; use crate::{migrations::Validators, Config, EraValidators}; @@ -97,7 +99,7 @@ impl OnRuntimeUpgrade for Migration { } #[cfg(feature = "try-runtime")] - fn pre_upgrade() -> Result<(), &'static str> { + fn pre_upgrade() -> Result, &'static str> { #[storage_alias] type CommitteeSize = StorageValue; #[storage_alias] @@ -111,11 +113,11 @@ impl OnRuntimeUpgrade for Migration { let next_era_committee_size = NextEraCommitteeSize::get(); Self::store_temp("next_era_committee_size", next_era_committee_size); - Ok(()) + Ok(Vec::new()) } #[cfg(feature = "try-runtime")] - fn post_upgrade() -> Result<(), &'static str> { + fn post_upgrade(_state: Vec) -> Result<(), &'static str> { ensure_storage_version::

, AuthorityId) { + async fn container_with_id() -> (DirectedPeers, AuthorityId) { let (id, _) = key().await; let container = DirectedPeers::new(id.clone()); (container, id) @@ -118,7 +116,8 @@ mod tests { ); } - async fn container_with_added_connecting_peer() -> (DirectedPeers
, AuthorityId) { + async fn container_with_added_connecting_peer( + ) -> (DirectedPeers, AuthorityId) { let (mut container0, id0) = container_with_id().await; let (mut container1, id1) = container_with_id().await; let addresses = some_addresses(); @@ -131,7 +130,8 @@ mod tests { } } - async fn container_with_added_nonconnecting_peer() -> (DirectedPeers
, AuthorityId) { + async fn container_with_added_nonconnecting_peer( + ) -> (DirectedPeers, AuthorityId) { let (mut container0, id0) = container_with_id().await; let (mut container1, id1) = container_with_id().await; let addresses = some_addresses(); diff --git a/finality-aleph/src/validator_network/manager/legacy.rs b/finality-aleph/src/validator_network/manager/legacy.rs index f305c716f8..6e7e13697c 100644 --- a/finality-aleph/src/validator_network/manager/legacy.rs +++ b/finality-aleph/src/validator_network/manager/legacy.rs @@ -3,35 +3,34 @@ use std::{ fmt::{Display, Error as FmtError, Formatter}, }; -use aleph_primitives::AuthorityId; use futures::channel::mpsc; use crate::{ network::PeerId, validator_network::{ manager::{AddResult, SendError}, - Data, + Data, PublicKey, }, }; /// Network component responsible for holding the list of peers that we /// want to connect to, and managing the established connections. -pub struct Manager { - addresses: HashMap>, - outgoing: HashMap>, - incoming: HashMap>, +pub struct Manager { + addresses: HashMap>, + outgoing: HashMap>, + incoming: HashMap>, } -struct ManagerStatus { +struct ManagerStatus { wanted_peers: usize, - both_ways_peers: HashSet, - outgoing_peers: HashSet, - incoming_peers: HashSet, - missing_peers: HashSet, + both_ways_peers: HashSet, + outgoing_peers: HashSet, + incoming_peers: HashSet, + missing_peers: HashSet, } -impl ManagerStatus { - fn new(manager: &Manager) -> Self { +impl ManagerStatus { + fn new(manager: &Manager) -> Self { let incoming: HashSet<_> = manager .incoming .iter() @@ -65,7 +64,7 @@ impl ManagerStatus { } } -impl Display for ManagerStatus { +impl Display for ManagerStatus { fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), FmtError> { if self.wanted_peers == 0 { return write!(f, "not maintaining any connections; "); @@ -81,7 +80,7 @@ impl Display for ManagerStatus { let peers = self .both_ways_peers .iter() - .map(|authority_id| authority_id.to_short_string()) + .map(|peer_id| peer_id.to_short_string()) .collect::>() .join(", "); write!( @@ -96,7 +95,7 @@ impl Display for ManagerStatus { let peers = self .incoming_peers .iter() - .map(|authority_id| authority_id.to_short_string()) + .map(|peer_id| peer_id.to_short_string()) .collect::>() .join(", "); write!( @@ -111,7 +110,7 @@ impl Display for ManagerStatus { let peers = self .outgoing_peers .iter() - .map(|authority_id| authority_id.to_short_string()) + .map(|peer_id| peer_id.to_short_string()) .collect::>() .join(", "); write!( @@ -126,7 +125,7 @@ impl Display for ManagerStatus { let peers = self .missing_peers .iter() - .map(|authority_id| authority_id.to_short_string()) + .map(|peer_id| peer_id.to_short_string()) .collect::>() .join(", "); write!(f, "missing - {:?} [{}];", self.missing_peers.len(), peers)?; @@ -136,7 +135,7 @@ impl Display for ManagerStatus { } } -impl Manager { +impl Manager { /// Create a new Manager with empty list of peers. pub fn new() -> Self { Manager { @@ -149,13 +148,13 @@ impl Manager { /// Add a peer to the list of peers we want to stay connected to, or /// update the list of addresses if the peer was already added. /// Returns whether this peer is a new peer. - pub fn add_peer(&mut self, peer_id: AuthorityId, addresses: Vec) -> bool { + pub fn add_peer(&mut self, peer_id: PK, addresses: Vec) -> bool { self.addresses.insert(peer_id, addresses).is_none() } /// Return Option containing addresses of the given peer, or None if /// the peer is unknown. - pub fn peer_addresses(&self, peer_id: &AuthorityId) -> Option> { + pub fn peer_addresses(&self, peer_id: &PK) -> Option> { self.addresses.get(peer_id).cloned() } @@ -163,7 +162,7 @@ impl Manager { /// but only if the peer is on the list of peers that we want to stay connected with. pub fn add_outgoing( &mut self, - peer_id: AuthorityId, + peer_id: PK, data_for_network: mpsc::UnboundedSender, ) -> AddResult { use AddResult::*; @@ -178,11 +177,7 @@ impl Manager { /// Add an established incoming connection with a known peer, /// but only if the peer is on the list of peers that we want to stay connected with. - pub fn add_incoming( - &mut self, - peer_id: AuthorityId, - exit: mpsc::UnboundedSender, - ) -> AddResult { + pub fn add_incoming(&mut self, peer_id: PK, exit: mpsc::UnboundedSender) -> AddResult { use AddResult::*; if !self.addresses.contains_key(&peer_id) { return Uninterested; @@ -195,7 +190,7 @@ impl Manager { /// Remove a peer from the list of peers that we want to stay connected with. /// Close any incoming and outgoing connections that were established. - pub fn remove_peer(&mut self, peer_id: &AuthorityId) { + pub fn remove_peer(&mut self, peer_id: &PK) { self.addresses.remove(peer_id); self.incoming.remove(peer_id); self.outgoing.remove(peer_id); @@ -204,7 +199,7 @@ impl Manager { /// Send data to a peer. /// Returns error if there is no outgoing connection to the peer, /// or if the connection is dead. - pub fn send_to(&mut self, peer_id: &AuthorityId, data: D) -> Result<(), SendError> { + pub fn send_to(&mut self, peer_id: &PK, data: D) -> Result<(), SendError> { self.outgoing .get(peer_id) .ok_or(SendError::PeerNotFound)? @@ -220,6 +215,7 @@ impl Manager { #[cfg(test)] mod tests { + use aleph_primitives::AuthorityId; use futures::{channel::mpsc, StreamExt}; use super::{AddResult::*, Manager, SendError}; @@ -230,7 +226,7 @@ mod tests { #[tokio::test] async fn add_remove() { - let mut manager = Manager::::new(); + let mut manager = Manager::::new(); let (peer_id, _) = key().await; let (peer_id_b, _) = key().await; let addresses = vec![ @@ -254,7 +250,7 @@ mod tests { #[tokio::test] async fn outgoing() { - let mut manager = Manager::::new(); + let mut manager = Manager::::new(); let data = String::from("DATA"); let (peer_id, _) = key().await; let addresses = vec![ @@ -285,7 +281,7 @@ mod tests { #[tokio::test] async fn incoming() { - let mut manager = Manager::::new(); + let mut manager = Manager::::new(); let (peer_id, _) = key().await; let addresses = vec![ String::from(""), diff --git a/finality-aleph/src/validator_network/manager/mod.rs b/finality-aleph/src/validator_network/manager/mod.rs index bbfe0641b5..dd9288e7d7 100644 --- a/finality-aleph/src/validator_network/manager/mod.rs +++ b/finality-aleph/src/validator_network/manager/mod.rs @@ -3,10 +3,12 @@ use std::{ fmt::{Display, Error as FmtError, Formatter}, }; -use aleph_primitives::AuthorityId; use futures::channel::mpsc; -use crate::{network::PeerId, validator_network::Data}; +use crate::{ + network::PeerId, + validator_network::{Data, PublicKey}, +}; mod direction; mod legacy; @@ -44,15 +46,15 @@ pub enum AddResult { Replaced, } -struct ManagerStatus { - outgoing_peers: HashSet, - missing_outgoing: HashSet, - incoming_peers: HashSet, - missing_incoming: HashSet, +struct ManagerStatus { + outgoing_peers: HashSet, + missing_outgoing: HashSet, + incoming_peers: HashSet, + missing_incoming: HashSet, } -impl ManagerStatus { - fn new(manager: &Manager) -> Self { +impl ManagerStatus { + fn new(manager: &Manager) -> Self { let mut incoming_peers = HashSet::new(); let mut missing_incoming = HashSet::new(); let mut outgoing_peers = HashSet::new(); @@ -87,14 +89,14 @@ impl ManagerStatus { } } -fn pretty_authority_id_set(set: &HashSet) -> String { +fn pretty_peer_id_set(set: &HashSet) -> String { set.iter() - .map(|authority_id| authority_id.to_short_string()) + .map(|peer_id| peer_id.to_short_string()) .collect::>() .join(", ") } -impl Display for ManagerStatus { +impl Display for ManagerStatus { fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), FmtError> { let wanted_incoming = self.wanted_incoming(); let wanted_outgoing = self.wanted_outgoing(); @@ -114,7 +116,7 @@ impl Display for ManagerStatus { f, "have - {:?} [{}]; ", self.incoming_peers.len(), - pretty_authority_id_set(&self.incoming_peers), + pretty_peer_id_set(&self.incoming_peers), )?, } if !self.missing_incoming.is_empty() { @@ -122,7 +124,7 @@ impl Display for ManagerStatus { f, "missing - {:?} [{}]; ", self.missing_incoming.len(), - pretty_authority_id_set(&self.missing_incoming), + pretty_peer_id_set(&self.missing_incoming), )?; } } @@ -137,7 +139,7 @@ impl Display for ManagerStatus { f, "have - {:?} [{}]; ", self.incoming_peers.len(), - pretty_authority_id_set(&self.outgoing_peers), + pretty_peer_id_set(&self.outgoing_peers), )?; } if !self.missing_outgoing.is_empty() { @@ -145,7 +147,7 @@ impl Display for ManagerStatus { f, "missing - {:?} [{}]; ", self.missing_incoming.len(), - pretty_authority_id_set(&self.missing_outgoing), + pretty_peer_id_set(&self.missing_outgoing), )?; } } @@ -158,23 +160,23 @@ impl Display for ManagerStatus { /// Network component responsible for holding the list of peers that we /// want to connect to or let them connect to us, and managing the established /// connections. -pub struct Manager { +pub struct Manager { // Which peers we want to be connected with, and which way. - wanted: DirectedPeers, + wanted: DirectedPeers, // This peers we are connected with. We ensure that this is always a subset of what we want. - have: HashMap>, + have: HashMap>, } -impl Manager { +impl Manager { /// Create a new Manager with empty list of peers. - pub fn new(own_id: AuthorityId) -> Self { + pub fn new(own_id: PK) -> Self { Manager { wanted: DirectedPeers::new(own_id), have: HashMap::new(), } } - fn active_connection(&self, peer_id: &AuthorityId) -> bool { + fn active_connection(&self, peer_id: &PK) -> bool { self.have .get(peer_id) .map(|sender| !sender.is_closed()) @@ -186,19 +188,19 @@ impl Manager { /// Returns whether we should start attempts at connecting with the peer, which depends on the /// coorddinated pseudorandom decision on the direction of the connection and whether this was /// added for the first time. - pub fn add_peer(&mut self, peer_id: AuthorityId, addresses: Vec) -> bool { + pub fn add_peer(&mut self, peer_id: PK, addresses: Vec) -> bool { self.wanted.add_peer(peer_id, addresses) } /// Return the addresses of the given peer, or None if we shouldn't attempt connecting with the peer. - pub fn peer_addresses(&self, peer_id: &AuthorityId) -> Option> { + pub fn peer_addresses(&self, peer_id: &PK) -> Option> { self.wanted.peer_addresses(peer_id) } /// Add an established connection with a known peer, but only if the peer is among the peers we want to be connected to. pub fn add_connection( &mut self, - peer_id: AuthorityId, + peer_id: PK, data_for_network: mpsc::UnboundedSender, ) -> AddResult { use AddResult::*; @@ -213,7 +215,7 @@ impl Manager { /// Remove a peer from the list of peers that we want to stay connected with. /// Close any incoming and outgoing connections that were established. - pub fn remove_peer(&mut self, peer_id: &AuthorityId) { + pub fn remove_peer(&mut self, peer_id: &PK) { self.wanted.remove_peer(peer_id); self.have.remove(peer_id); } @@ -221,7 +223,7 @@ impl Manager { /// Send data to a peer. /// Returns error if there is no outgoing connection to the peer, /// or if the connection is dead. - pub fn send_to(&mut self, peer_id: &AuthorityId, data: D) -> Result<(), SendError> { + pub fn send_to(&mut self, peer_id: &PK, data: D) -> Result<(), SendError> { self.have .get(peer_id) .ok_or(SendError::PeerNotFound)? @@ -237,6 +239,7 @@ impl Manager { #[cfg(test)] mod tests { + use aleph_primitives::AuthorityId; use futures::{channel::mpsc, StreamExt}; use super::{AddResult::*, Manager, SendError}; @@ -248,7 +251,7 @@ mod tests { #[tokio::test] async fn add_remove() { let (own_id, _) = key().await; - let mut manager = Manager::::new(own_id); + let mut manager = Manager::::new(own_id); let (peer_id, _) = key().await; let (peer_id_b, _) = key().await; let addresses = vec![ @@ -280,9 +283,11 @@ mod tests { #[tokio::test] async fn send_receive() { let (mut connecting_id, _) = key().await; - let mut connecting_manager = Manager::::new(connecting_id.clone()); + let mut connecting_manager = + Manager::::new(connecting_id.clone()); let (mut listening_id, _) = key().await; - let mut listening_manager = Manager::::new(listening_id.clone()); + let mut listening_manager = + Manager::::new(listening_id.clone()); let data = String::from("DATA"); let addresses = vec![ String::from(""), diff --git a/finality-aleph/src/validator_network/mod.rs b/finality-aleph/src/validator_network/mod.rs index b9f3d2524b..5a35646ec0 100644 --- a/finality-aleph/src/validator_network/mod.rs +++ b/finality-aleph/src/validator_network/mod.rs @@ -1,10 +1,9 @@ use std::fmt::Display; -use aleph_primitives::AuthorityId; use codec::Codec; -use sp_core::crypto::KeyTypeId; use tokio::io::{AsyncRead, AsyncWrite}; +mod crypto; mod incoming; mod io; mod manager; @@ -14,10 +13,9 @@ mod outgoing; mod protocols; mod service; +pub use crypto::{PublicKey, SecretKey}; pub use service::Service; -pub const KEY_TYPE: KeyTypeId = KeyTypeId(*b"a0vn"); - /// What the data sent using the network has to satisfy. pub trait Data: Clone + Codec + Send + Sync + 'static {} @@ -31,16 +29,16 @@ impl Data for D {} /// implementation might fail to deliver any specific message, so messages have to be resent while /// they still should be delivered. #[async_trait::async_trait] -pub trait Network: Send + 'static { +pub trait Network: Send + 'static { /// Add the peer to the set of connected peers. - fn add_connection(&mut self, peer: AuthorityId, addresses: Vec); + fn add_connection(&mut self, peer: PK, addresses: Vec); /// Remove the peer from the set of connected peers and close the connection. - fn remove_connection(&mut self, peer: AuthorityId); + fn remove_connection(&mut self, peer: PK); /// Send a message to a single peer. /// This function should be implemented in a non-blocking manner. - fn send(&self, data: D, recipient: AuthorityId); + fn send(&self, data: D, recipient: PK); /// Receive a message from the network. async fn next(&mut self) -> Option; diff --git a/finality-aleph/src/validator_network/outgoing.rs b/finality-aleph/src/validator_network/outgoing.rs index d22858497b..679b9d0b9b 100644 --- a/finality-aleph/src/validator_network/outgoing.rs +++ b/finality-aleph/src/validator_network/outgoing.rs @@ -1,27 +1,23 @@ use std::fmt::{Debug, Display, Error as FmtError, Formatter}; -use aleph_primitives::AuthorityId; use futures::channel::mpsc; use log::{debug, info}; use tokio::time::{sleep, Duration}; -use crate::{ - crypto::AuthorityPen, - validator_network::{ - protocols::{ - protocol, ConnectionType, ProtocolError, ProtocolNegotiationError, ResultForService, - }, - ConnectionInfo, Data, Dialer, PeerAddressInfo, +use crate::validator_network::{ + protocols::{ + protocol, ConnectionType, ProtocolError, ProtocolNegotiationError, ResultForService, }, + ConnectionInfo, Data, Dialer, PeerAddressInfo, PublicKey, SecretKey, }; -enum OutgoingError> { +enum OutgoingError> { Dial(ND::Error), ProtocolNegotiation(PeerAddressInfo, ProtocolNegotiationError), - Protocol(PeerAddressInfo, ProtocolError), + Protocol(PeerAddressInfo, ProtocolError), } -impl> Display for OutgoingError { +impl> Display for OutgoingError { fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), FmtError> { use OutgoingError::*; match self { @@ -40,15 +36,15 @@ impl> Display for OutgoingError { } } -async fn manage_outgoing>( - authority_pen: AuthorityPen, - peer_id: AuthorityId, +async fn manage_outgoing>( + secret_key: SK, + public_key: SK::PublicKey, mut dialer: ND, addresses: Vec, - result_for_parent: mpsc::UnboundedSender>, + result_for_parent: mpsc::UnboundedSender>, data_for_user: mpsc::UnboundedSender, -) -> Result<(), OutgoingError> { - debug!(target: "validator-network", "Trying to connect to {}.", peer_id); +) -> Result<(), OutgoingError> { + debug!(target: "validator-network", "Trying to connect to {}.", public_key); let stream = dialer .connect(addresses) .await @@ -62,8 +58,8 @@ async fn manage_outgoing>( protocol .manage_outgoing( stream, - authority_pen, - peer_id, + secret_key, + public_key, result_for_parent, data_for_user, ) @@ -76,17 +72,17 @@ const RETRY_DELAY: Duration = Duration::from_secs(10); /// Establish an outgoing connection to the provided peer using the dialer and then manage it. /// While this works it will send any data from the user to the peer. Any failures will be reported /// to the parent, so that connections can be reestablished if necessary. -pub async fn outgoing>( - authority_pen: AuthorityPen, - peer_id: AuthorityId, +pub async fn outgoing>( + secret_key: SK, + public_key: SK::PublicKey, dialer: ND, addresses: Vec, - result_for_parent: mpsc::UnboundedSender>, + result_for_parent: mpsc::UnboundedSender>, data_for_user: mpsc::UnboundedSender, ) { if let Err(e) = manage_outgoing( - authority_pen, - peer_id.clone(), + secret_key, + public_key.clone(), dialer, addresses.clone(), result_for_parent.clone(), @@ -94,12 +90,12 @@ pub async fn outgoing>( ) .await { - info!(target: "validator-network", "Outgoing connection to {} {:?} failed: {}, will retry after {}s.", peer_id, addresses, e, RETRY_DELAY.as_secs()); + info!(target: "validator-network", "Outgoing connection to {} {:?} failed: {}, will retry after {}s.", public_key, addresses, e, RETRY_DELAY.as_secs()); sleep(RETRY_DELAY).await; // we send the "new" connection type, because we always assume it's new until proven // otherwise, and here we did not even get the chance to attempt negotiating a protocol if result_for_parent - .unbounded_send((peer_id, None, ConnectionType::New)) + .unbounded_send((public_key, None, ConnectionType::New)) .is_err() { debug!(target: "validator-network", "Could not send the closing message, we've probably been terminated by the parent service."); diff --git a/finality-aleph/src/validator_network/protocols/handshake.rs b/finality-aleph/src/validator_network/protocols/handshake.rs index 54f0bf8820..3286d5733e 100644 --- a/finality-aleph/src/validator_network/protocols/handshake.rs +++ b/finality-aleph/src/validator_network/protocols/handshake.rs @@ -1,23 +1,19 @@ use std::fmt::{Display, Error as FmtError, Formatter}; -use aleph_primitives::AuthorityId; use codec::{Decode, Encode}; use rand::Rng; use tokio::time::{timeout, Duration}; -use crate::{ - crypto::{verify, AuthorityPen, Signature}, - validator_network::{ - io::{receive_data, send_data, ReceiveError, SendError}, - Splittable, - }, +use crate::validator_network::{ + io::{receive_data, send_data, ReceiveError, SendError}, + PublicKey, SecretKey, Splittable, }; pub const HANDSHAKE_TIMEOUT: Duration = Duration::from_secs(10); /// Handshake error. #[derive(Debug)] -pub enum HandshakeError { +pub enum HandshakeError { /// Send error. SendError(SendError), /// Receive error. @@ -25,12 +21,12 @@ pub enum HandshakeError { /// Signature error. SignatureError, /// Challenge contains invalid peer id. - ChallengeError(AuthorityId, AuthorityId), + ChallengeError(PK, PK), /// Timeout. TimedOut, } -impl Display for HandshakeError { +impl Display for HandshakeError { fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), FmtError> { use HandshakeError::*; match self { @@ -47,13 +43,13 @@ impl Display for HandshakeError { } } -impl From for HandshakeError { +impl From for HandshakeError { fn from(e: SendError) -> Self { HandshakeError::SendError(e) } } -impl From for HandshakeError { +impl From for HandshakeError { fn from(e: ReceiveError) -> Self { HandshakeError::ReceiveError(e) } @@ -61,39 +57,44 @@ impl From for HandshakeError { /// Handshake challenge. Contains public key of the creator, and a random nonce. #[derive(Debug, Clone, Encode, Decode)] -struct Challenge { - id: AuthorityId, +struct Challenge { + public_key: PK, nonce: [u8; 32], } -impl Challenge { +impl Challenge { /// Prepare new challenge that contains ID of the creator. - fn new(id: AuthorityId) -> Self { + fn new(public_key: PK) -> Self { let nonce = rand::thread_rng().gen::<[u8; 32]>(); - Self { id, nonce } + Self { public_key, nonce } } } /// Handshake response. Contains public key of the creator, and signature /// related to the received challenge. #[derive(Debug, Clone, Encode, Decode)] -struct Response { - id: AuthorityId, - signature: Signature, +struct Response { + public_key: PK, + signature: PK::Signature, } -impl Response { +impl Response { + // Amusingly the `Signature = PK::Signature` is necessary, the compiler cannot even do this + // simple reasoning. :/ /// Create a new response by signing the challenge. - async fn new(pen: &AuthorityPen, challenge: &Challenge) -> Self { + async fn new>( + secret_key: &SK, + challenge: &Challenge, + ) -> Self { Self { - id: pen.authority_id(), - signature: pen.sign(&challenge.encode()).await, + public_key: secret_key.public_key(), + signature: secret_key.sign(&challenge.encode()).await, } } /// Verify the Response sent by the peer. - fn verify(&self, challenge: &Challenge) -> bool { - verify(&self.id, &challenge.encode(), &self.signature) + fn verify(&self, challenge: &Challenge) -> bool { + self.public_key.verify(&challenge.encode(), &self.signature) } } @@ -105,22 +106,22 @@ impl Response { /// will NOT be secured in any way. We assume that if the channel is /// compromised after the handshake, the peer will establish another connection, /// which will replace the current one. -pub async fn execute_v0_handshake_incoming( +pub async fn execute_v0_handshake_incoming( stream: S, - authority_pen: AuthorityPen, -) -> Result<(S::Sender, S::Receiver, AuthorityId), HandshakeError> { + secret_key: SK, +) -> Result<(S::Sender, S::Receiver, SK::PublicKey), HandshakeError> { // send challenge - let our_challenge = Challenge::new(authority_pen.authority_id()); + let our_challenge = Challenge::new(secret_key.public_key()); let stream = send_data(stream, our_challenge.clone()).await?; // receive response - let (stream, peer_response) = receive_data::<_, Response>(stream).await?; + let (stream, peer_response) = receive_data::<_, Response>(stream).await?; // validate response if !peer_response.verify(&our_challenge) { return Err(HandshakeError::SignatureError); } let (sender, receiver) = stream.split(); - let peer_id = peer_response.id; - Ok((sender, receiver, peer_id)) + let public_key = peer_response.public_key; + Ok((sender, receiver, public_key)) } /// Performs the handshake with a peer that we called. We assume that their @@ -132,45 +133,48 @@ pub async fn execute_v0_handshake_incoming( /// will NOT be secured in any way. We assume that if the channel is /// compromised after the handshake, we will establish another connection, /// which will replace the current one. -pub async fn execute_v0_handshake_outgoing( +pub async fn execute_v0_handshake_outgoing( stream: S, - authority_pen: AuthorityPen, - peer_id: AuthorityId, -) -> Result<(S::Sender, S::Receiver), HandshakeError> { + secret_key: SK, + public_key: SK::PublicKey, +) -> Result<(S::Sender, S::Receiver), HandshakeError> { // receive challenge - let (stream, peer_challenge) = receive_data::<_, Challenge>(stream).await?; - if peer_id != peer_challenge.id { - return Err(HandshakeError::ChallengeError(peer_id, peer_challenge.id)); + let (stream, peer_challenge) = receive_data::<_, Challenge>(stream).await?; + if public_key != peer_challenge.public_key { + return Err(HandshakeError::ChallengeError( + public_key, + peer_challenge.public_key, + )); } // send response - let our_response = Response::new(&authority_pen, &peer_challenge).await; + let our_response = Response::new(&secret_key, &peer_challenge).await; let stream = send_data(stream, our_response).await?; let (sender, receiver) = stream.split(); Ok((sender, receiver)) } /// Wrapper that adds timeout to the function performing handshake. -pub async fn v0_handshake_incoming( +pub async fn v0_handshake_incoming( stream: S, - authority_pen: AuthorityPen, -) -> Result<(S::Sender, S::Receiver, AuthorityId), HandshakeError> { + secret_key: SK, +) -> Result<(S::Sender, S::Receiver, SK::PublicKey), HandshakeError> { timeout( HANDSHAKE_TIMEOUT, - execute_v0_handshake_incoming(stream, authority_pen), + execute_v0_handshake_incoming(stream, secret_key), ) .await .map_err(|_| HandshakeError::TimedOut)? } /// Wrapper that adds timeout to the function performing handshake. -pub async fn v0_handshake_outgoing( +pub async fn v0_handshake_outgoing( stream: S, - authority_pen: AuthorityPen, - peer_id: AuthorityId, -) -> Result<(S::Sender, S::Receiver), HandshakeError> { + secret_key: SK, + public_key: SK::PublicKey, +) -> Result<(S::Sender, S::Receiver), HandshakeError> { timeout( HANDSHAKE_TIMEOUT, - execute_v0_handshake_outgoing(stream, authority_pen, peer_id), + execute_v0_handshake_outgoing(stream, secret_key, public_key), ) .await .map_err(|_| HandshakeError::TimedOut)? @@ -178,6 +182,7 @@ pub async fn v0_handshake_outgoing( #[cfg(test)] mod tests { + use aleph_primitives::AuthorityId; use futures::{join, try_join}; use super::{ @@ -193,7 +198,7 @@ mod tests { }, }; - fn assert_send_error(result: Result) { + fn assert_send_error(result: Result>) { match result { Err(HandshakeError::SendError(_)) => (), x => panic!( @@ -203,7 +208,7 @@ mod tests { }; } - fn assert_receive_error(result: Result) { + fn assert_receive_error(result: Result>) { match result { Err(HandshakeError::ReceiveError(_)) => (), x => panic!( @@ -213,7 +218,7 @@ mod tests { }; } - fn assert_signature_error(result: Result) { + fn assert_signature_error(result: Result>) { match result { Err(HandshakeError::SignatureError) => (), x => panic!( @@ -223,7 +228,7 @@ mod tests { }; } - fn assert_challenge_error(result: Result) { + fn assert_challenge_error(result: Result>) { match result { Err(HandshakeError::ChallengeError(_, _)) => (), x => panic!( @@ -276,7 +281,7 @@ mod tests { authority_pen: AuthorityPen, ) { // receive challenge - let (stream, _) = receive_data::<_, Challenge>(stream) + let (stream, _) = receive_data::<_, Challenge>(stream) .await .expect("should receive"); // prepare fake challenge @@ -304,14 +309,14 @@ mod tests { authority_pen: AuthorityPen, ) { // receive challenge - let (stream, challenge) = receive_data::<_, Challenge>(stream) + let (stream, challenge) = receive_data::<_, Challenge>(stream) .await .expect("should receive"); // prepare fake id let (fake_id, _) = key().await; // send response with substituted id let mut our_response = Response::new(&authority_pen, &challenge).await; - our_response.id = fake_id; + our_response.public_key = fake_id; send_data(stream, our_response).await.expect("should send"); futures::future::pending::<()>().await; } @@ -341,7 +346,7 @@ mod tests { execute_v0_handshake_incoming(stream_a, pen_a), // mock outgoing handshake: receive the first message and terminate async { - receive_data::<_, Challenge>(stream_b) + receive_data::<_, Challenge>(stream_b) .await .expect("should receive"); }, diff --git a/finality-aleph/src/validator_network/protocols/mod.rs b/finality-aleph/src/validator_network/protocols/mod.rs index d16430d205..c37e2d4253 100644 --- a/finality-aleph/src/validator_network/protocols/mod.rs +++ b/finality-aleph/src/validator_network/protocols/mod.rs @@ -1,14 +1,10 @@ use std::fmt::{Display, Error as FmtError, Formatter}; -use aleph_primitives::AuthorityId; use futures::channel::mpsc; -use crate::{ - crypto::AuthorityPen, - validator_network::{ - io::{ReceiveError, SendError}, - Data, Splittable, - }, +use crate::validator_network::{ + io::{ReceiveError, SendError}, + Data, PublicKey, SecretKey, Splittable, }; mod handshake; @@ -30,15 +26,11 @@ pub enum ConnectionType { LegacyOutgoing, } -/// What connections send back to the service after they become established. Starts with a peer id -/// of the remote node, followed by a channel for sending data to that node, with None if the +/// What connections send back to the service after they become established. Starts with a public +/// key of the remote node, followed by a channel for sending data to that node, with None if the /// connection was unsuccessful and should be reestablished. Finally a marker for legacy /// compatibility. -pub type ResultForService = ( - AuthorityId, - Option>, - ConnectionType, -); +pub type ResultForService = (PK, Option>, ConnectionType); /// Defines the protocol for communication. #[derive(Debug, PartialEq, Eq)] @@ -52,9 +44,9 @@ pub enum Protocol { /// Protocol error. #[derive(Debug)] -pub enum ProtocolError { +pub enum ProtocolError { /// Error during performing a handshake. - HandshakeError(HandshakeError), + HandshakeError(HandshakeError), /// Sending failed. SendError(SendError), /// Receiving failed. @@ -67,7 +59,7 @@ pub enum ProtocolError { NoUserConnection, } -impl Display for ProtocolError { +impl Display for ProtocolError { fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), FmtError> { use ProtocolError::*; match self { @@ -81,19 +73,19 @@ impl Display for ProtocolError { } } -impl From for ProtocolError { - fn from(e: HandshakeError) -> Self { +impl From> for ProtocolError { + fn from(e: HandshakeError) -> Self { ProtocolError::HandshakeError(e) } } -impl From for ProtocolError { +impl From for ProtocolError { fn from(e: SendError) -> Self { ProtocolError::SendError(e) } } -impl From for ProtocolError { +impl From for ProtocolError { fn from(e: ReceiveError) -> Self { ProtocolError::ReceiveError(e) } @@ -107,37 +99,37 @@ impl Protocol { const MAX_VERSION: Version = 1; /// Launches the proper variant of the protocol (receiver half). - pub async fn manage_incoming( + pub async fn manage_incoming( &self, stream: S, - authority_pen: AuthorityPen, - result_for_service: mpsc::UnboundedSender>, + secret_key: SK, + result_for_service: mpsc::UnboundedSender>, data_for_user: mpsc::UnboundedSender, - ) -> Result<(), ProtocolError> { + ) -> Result<(), ProtocolError> { use Protocol::*; match self { - V0 => v0::incoming(stream, authority_pen, result_for_service, data_for_user).await, - V1 => v1::incoming(stream, authority_pen, result_for_service, data_for_user).await, + V0 => v0::incoming(stream, secret_key, result_for_service, data_for_user).await, + V1 => v1::incoming(stream, secret_key, result_for_service, data_for_user).await, } } /// Launches the proper variant of the protocol (sender half). - pub async fn manage_outgoing( + pub async fn manage_outgoing( &self, stream: S, - authority_pen: AuthorityPen, - peer_id: AuthorityId, - result_for_service: mpsc::UnboundedSender>, + secret_key: SK, + public_key: SK::PublicKey, + result_for_service: mpsc::UnboundedSender>, data_for_user: mpsc::UnboundedSender, - ) -> Result<(), ProtocolError> { + ) -> Result<(), ProtocolError> { use Protocol::*; match self { - V0 => v0::outgoing(stream, authority_pen, peer_id, result_for_service).await, + V0 => v0::outgoing(stream, secret_key, public_key, result_for_service).await, V1 => { v1::outgoing( stream, - authority_pen, - peer_id, + secret_key, + public_key, result_for_service, data_for_user, ) diff --git a/finality-aleph/src/validator_network/protocols/v0/mod.rs b/finality-aleph/src/validator_network/protocols/v0/mod.rs index 1f80de2baf..c0c1af3ea0 100644 --- a/finality-aleph/src/validator_network/protocols/v0/mod.rs +++ b/finality-aleph/src/validator_network/protocols/v0/mod.rs @@ -1,18 +1,14 @@ -use aleph_primitives::AuthorityId; use futures::{channel::mpsc, StreamExt}; use log::{debug, info, trace}; use tokio::io::{AsyncRead, AsyncWrite}; -use crate::{ - crypto::AuthorityPen, - validator_network::{ - io::{receive_data, send_data}, - protocols::{ - handshake::{v0_handshake_incoming, v0_handshake_outgoing}, - ConnectionType, ProtocolError, ResultForService, - }, - Data, Splittable, +use crate::validator_network::{ + io::{receive_data, send_data}, + protocols::{ + handshake::{v0_handshake_incoming, v0_handshake_outgoing}, + ConnectionType, ProtocolError, ResultForService, }, + Data, PublicKey, SecretKey, Splittable, }; mod heartbeat; @@ -21,10 +17,10 @@ use heartbeat::{heartbeat_receiver, heartbeat_sender}; /// Receives data from the parent service and sends it over the network. /// Exits when the parent channel is closed, or if the network connection is broken. -async fn sending( +async fn sending( mut sender: S, mut data_from_user: mpsc::UnboundedReceiver, -) -> Result<(), ProtocolError> { +) -> Result<(), ProtocolError> { loop { sender = match data_from_user.next().await { Some(data) => send_data(sender, data).await?, @@ -36,19 +32,19 @@ async fn sending( /// Performs the handshake, and then keeps sending data received from the parent service. /// Exits on parent request, or in case of broken or dead network connection. -pub async fn outgoing( +pub async fn outgoing( stream: S, - authority_pen: AuthorityPen, - peer_id: AuthorityId, - result_for_parent: mpsc::UnboundedSender>, -) -> Result<(), ProtocolError> { - trace!(target: "validator-network", "Extending hand to {}.", peer_id); - let (sender, receiver) = v0_handshake_outgoing(stream, authority_pen, peer_id.clone()).await?; - info!(target: "validator-network", "Outgoing handshake with {} finished successfully.", peer_id); + secret_key: SK, + public_key: SK::PublicKey, + result_for_parent: mpsc::UnboundedSender>, +) -> Result<(), ProtocolError> { + trace!(target: "validator-network", "Extending hand to {}.", public_key); + let (sender, receiver) = v0_handshake_outgoing(stream, secret_key, public_key.clone()).await?; + info!(target: "validator-network", "Outgoing handshake with {} finished successfully.", public_key); let (data_for_network, data_from_user) = mpsc::unbounded(); result_for_parent .unbounded_send(( - peer_id.clone(), + public_key.clone(), Some(data_for_network), ConnectionType::LegacyOutgoing, )) @@ -57,7 +53,7 @@ pub async fn outgoing( let sending = sending(sender, data_from_user); let heartbeat = heartbeat_receiver(receiver); - debug!(target: "validator-network", "Starting worker for sending to {}.", peer_id); + debug!(target: "validator-network", "Starting worker for sending to {}.", public_key); loop { tokio::select! { _ = heartbeat => return Err(ProtocolError::CardiacArrest), @@ -68,10 +64,10 @@ pub async fn outgoing( /// Receives data from the network and sends it to the parent service. /// Exits when the parent channel is closed, or if the network connection is broken. -async fn receiving( +async fn receiving( mut stream: S, data_for_user: mpsc::UnboundedSender, -) -> Result<(), ProtocolError> { +) -> Result<(), ProtocolError> { loop { let (old_stream, data) = receive_data(stream).await?; stream = old_stream; @@ -83,20 +79,20 @@ async fn receiving( /// Performs the handshake, and then keeps sending data received from the network to the parent service. /// Exits on parent request, or in case of broken or dead network connection. -pub async fn incoming( +pub async fn incoming( stream: S, - authority_pen: AuthorityPen, - result_for_parent: mpsc::UnboundedSender>, + secret_key: SK, + result_for_parent: mpsc::UnboundedSender>, data_for_user: mpsc::UnboundedSender, -) -> Result<(), ProtocolError> { +) -> Result<(), ProtocolError> { trace!(target: "validator-network", "Waiting for extended hand..."); - let (sender, receiver, peer_id) = v0_handshake_incoming(stream, authority_pen).await?; - info!(target: "validator-network", "Incoming handshake with {} finished successfully.", peer_id); + let (sender, receiver, public_key) = v0_handshake_incoming(stream, secret_key).await?; + info!(target: "validator-network", "Incoming handshake with {} finished successfully.", public_key); let (tx_exit, mut exit) = mpsc::unbounded(); result_for_parent .unbounded_send(( - peer_id.clone(), + public_key.clone(), Some(tx_exit), ConnectionType::LegacyIncoming, )) @@ -105,7 +101,7 @@ pub async fn incoming( let receiving = receiving(receiver, data_for_user); let heartbeat = heartbeat_sender(sender); - debug!(target: "validator-network", "Starting worker for receiving from {}.", peer_id); + debug!(target: "validator-network", "Starting worker for receiving from {}.", public_key); loop { tokio::select! { _ = heartbeat => return Err(ProtocolError::CardiacArrest), @@ -138,11 +134,11 @@ mod tests { AuthorityPen, AuthorityId, AuthorityPen, - impl futures::Future>, - impl futures::Future>, + impl futures::Future>>, + impl futures::Future>>, UnboundedReceiver, - UnboundedReceiver>, - UnboundedReceiver>, + UnboundedReceiver>, + UnboundedReceiver>, ) { let (stream_incoming, stream_outgoing) = MockSplittable::new(4096); let (id_incoming, pen_incoming) = key().await; diff --git a/finality-aleph/src/validator_network/protocols/v1/mod.rs b/finality-aleph/src/validator_network/protocols/v1/mod.rs index b1599f243e..372a00dfac 100644 --- a/finality-aleph/src/validator_network/protocols/v1/mod.rs +++ b/finality-aleph/src/validator_network/protocols/v1/mod.rs @@ -1,4 +1,3 @@ -use aleph_primitives::AuthorityId; use codec::{Decode, Encode}; use futures::{channel::mpsc, StreamExt}; use log::{debug, info, trace}; @@ -7,16 +6,13 @@ use tokio::{ time::{timeout, Duration}, }; -use crate::{ - crypto::AuthorityPen, - validator_network::{ - io::{receive_data, send_data}, - protocols::{ - handshake::{v0_handshake_incoming, v0_handshake_outgoing}, - ConnectionType, ProtocolError, ResultForService, - }, - Data, Splittable, +use crate::validator_network::{ + io::{receive_data, send_data}, + protocols::{ + handshake::{v0_handshake_incoming, v0_handshake_outgoing}, + ConnectionType, ProtocolError, ResultForService, }, + Data, PublicKey, SecretKey, Splittable, }; const HEARTBEAT_TIMEOUT: Duration = Duration::from_secs(5); @@ -28,10 +24,10 @@ enum Message { Heartbeat, } -async fn sending( +async fn sending( mut sender: S, mut data_from_user: mpsc::UnboundedReceiver, -) -> Result<(), ProtocolError> { +) -> Result<(), ProtocolError> { use Message::*; loop { let to_send = match timeout(HEARTBEAT_TIMEOUT, data_from_user.next()).await { @@ -46,10 +42,10 @@ async fn sending( } } -async fn receiving( +async fn receiving( mut stream: S, data_for_user: mpsc::UnboundedSender, -) -> Result<(), ProtocolError> { +) -> Result<(), ProtocolError> { use Message::*; loop { let (old_stream, message) = timeout( @@ -68,12 +64,17 @@ async fn receiving( } } -async fn manage_connection( +async fn manage_connection< + PK: PublicKey, + D: Data, + S: AsyncWrite + Unpin + Send, + R: AsyncRead + Unpin + Send, +>( sender: S, receiver: R, data_from_user: mpsc::UnboundedReceiver, data_for_user: mpsc::UnboundedSender, -) -> Result<(), ProtocolError> { +) -> Result<(), ProtocolError> { let sending = sending(sender, data_from_user); let receiving = receiving(receiver, data_for_user); tokio::select! { @@ -84,41 +85,49 @@ async fn manage_connection( +pub async fn outgoing( stream: S, - authority_pen: AuthorityPen, - peer_id: AuthorityId, - result_for_parent: mpsc::UnboundedSender>, + secret_key: SK, + public_key: SK::PublicKey, + result_for_parent: mpsc::UnboundedSender>, data_for_user: mpsc::UnboundedSender, -) -> Result<(), ProtocolError> { - trace!(target: "validator-network", "Extending hand to {}.", peer_id); - let (sender, receiver) = v0_handshake_outgoing(stream, authority_pen, peer_id.clone()).await?; - info!(target: "validator-network", "Outgoing handshake with {} finished successfully.", peer_id); +) -> Result<(), ProtocolError> { + trace!(target: "validator-network", "Extending hand to {}.", public_key); + let (sender, receiver) = v0_handshake_outgoing(stream, secret_key, public_key.clone()).await?; + info!(target: "validator-network", "Outgoing handshake with {} finished successfully.", public_key); let (data_for_network, data_from_user) = mpsc::unbounded(); result_for_parent - .unbounded_send((peer_id.clone(), Some(data_for_network), ConnectionType::New)) + .unbounded_send(( + public_key.clone(), + Some(data_for_network), + ConnectionType::New, + )) .map_err(|_| ProtocolError::NoParentConnection)?; - debug!(target: "validator-network", "Starting worker for communicating with {}.", peer_id); + debug!(target: "validator-network", "Starting worker for communicating with {}.", public_key); manage_connection(sender, receiver, data_from_user, data_for_user).await } /// Performs the incoming handshake, and then manages a connection sending and receiving data. /// Exits on parent request (when the data source is dropped), or in case of broken or dead /// network connection. -pub async fn incoming( +pub async fn incoming( stream: S, - authority_pen: AuthorityPen, - result_for_parent: mpsc::UnboundedSender>, + secret_key: SK, + result_for_parent: mpsc::UnboundedSender>, data_for_user: mpsc::UnboundedSender, -) -> Result<(), ProtocolError> { +) -> Result<(), ProtocolError> { trace!(target: "validator-network", "Waiting for extended hand..."); - let (sender, receiver, peer_id) = v0_handshake_incoming(stream, authority_pen).await?; - info!(target: "validator-network", "Incoming handshake with {} finished successfully.", peer_id); + let (sender, receiver, public_key) = v0_handshake_incoming(stream, secret_key).await?; + info!(target: "validator-network", "Incoming handshake with {} finished successfully.", public_key); let (data_for_network, data_from_user) = mpsc::unbounded(); result_for_parent - .unbounded_send((peer_id.clone(), Some(data_for_network), ConnectionType::New)) + .unbounded_send(( + public_key.clone(), + Some(data_for_network), + ConnectionType::New, + )) .map_err(|_| ProtocolError::NoParentConnection)?; - debug!(target: "validator-network", "Starting worker for communicating with {}.", peer_id); + debug!(target: "validator-network", "Starting worker for communicating with {}.", public_key); manage_connection(sender, receiver, data_from_user, data_for_user).await } @@ -145,12 +154,12 @@ mod tests { AuthorityPen, AuthorityId, AuthorityPen, - impl futures::Future>, - impl futures::Future>, + impl futures::Future>>, + impl futures::Future>>, UnboundedReceiver, UnboundedReceiver, - UnboundedReceiver>, - UnboundedReceiver>, + UnboundedReceiver>, + UnboundedReceiver>, ) { let (stream_incoming, stream_outgoing) = MockSplittable::new(4096); let (id_incoming, pen_incoming) = key().await; diff --git a/finality-aleph/src/validator_network/service.rs b/finality-aleph/src/validator_network/service.rs index 86a2aca44c..c1c2f4a762 100644 --- a/finality-aleph/src/validator_network/service.rs +++ b/finality-aleph/src/validator_network/service.rs @@ -1,6 +1,5 @@ use std::{collections::HashSet, fmt::Debug}; -use aleph_primitives::AuthorityId; use futures::{ channel::{mpsc, oneshot}, StreamExt, @@ -9,32 +8,32 @@ use log::{debug, info, trace, warn}; use tokio::time; use crate::{ - crypto::AuthorityPen, + network::PeerId, validator_network::{ incoming::incoming, manager::{AddResult, LegacyManager, Manager}, outgoing::outgoing, protocols::{ConnectionType, ResultForService}, - Data, Dialer, Listener, Network, + Data, Dialer, Listener, Network, PublicKey, SecretKey, }, SpawnTaskHandle, STATUS_REPORT_INTERVAL, }; -enum ServiceCommand { - AddConnection(AuthorityId, Vec), - DelConnection(AuthorityId), - SendData(D, AuthorityId), +enum ServiceCommand { + AddConnection(PK, Vec), + DelConnection(PK), + SendData(D, PK), } -struct ServiceInterface { - commands_for_service: mpsc::UnboundedSender>, +struct ServiceInterface { + commands_for_service: mpsc::UnboundedSender>, next_from_service: mpsc::UnboundedReceiver, } #[async_trait::async_trait] -impl Network for ServiceInterface { +impl Network for ServiceInterface { /// Add the peer to the set of connected peers. - fn add_connection(&mut self, peer: AuthorityId, addresses: Vec) { + fn add_connection(&mut self, peer: PK, addresses: Vec) { if self .commands_for_service .unbounded_send(ServiceCommand::AddConnection(peer, addresses)) @@ -45,7 +44,7 @@ impl Network for ServiceInterface { } /// Remove the peer from the set of connected peers and close the connection. - fn remove_connection(&mut self, peer: AuthorityId) { + fn remove_connection(&mut self, peer: PK) { if self .commands_for_service .unbounded_send(ServiceCommand::DelConnection(peer)) @@ -57,7 +56,7 @@ impl Network for ServiceInterface { /// Send a message to a single peer. /// This function should be implemented in a non-blocking manner. - fn send(&self, data: D, recipient: AuthorityId) { + fn send(&self, data: D, recipient: PK) { if self .commands_for_service .unbounded_send(ServiceCommand::SendData(data, recipient)) @@ -74,27 +73,33 @@ impl Network for ServiceInterface { } /// A service that has to be run for the validator network to work. -pub struct Service, NL: Listener> { - commands_from_interface: mpsc::UnboundedReceiver>, +pub struct Service, NL: Listener> +where + SK::PublicKey: PeerId, +{ + commands_from_interface: mpsc::UnboundedReceiver>, next_to_interface: mpsc::UnboundedSender, - manager: Manager, + manager: Manager, dialer: ND, listener: NL, spawn_handle: SpawnTaskHandle, - authority_pen: AuthorityPen, + secret_key: SK, // Backwards compatibility with the one-sided connections, remove when no longer needed. - legacy_connected: HashSet, - legacy_manager: LegacyManager, + legacy_connected: HashSet, + legacy_manager: LegacyManager, } -impl, NL: Listener> Service { +impl, NL: Listener> Service +where + SK::PublicKey: PeerId, +{ /// Create a new validator network service plus an interface for interacting with it. pub fn new( dialer: ND, listener: NL, - authority_pen: AuthorityPen, + secret_key: SK, spawn_handle: SpawnTaskHandle, - ) -> (Self, impl Network) { + ) -> (Self, impl Network) { // Channel for sending commands between the service and interface let (commands_for_service, commands_from_interface) = mpsc::unbounded(); // Channel for receiving data from the network @@ -103,11 +108,11 @@ impl, NL: Listener> Service, NL: Listener> Service, - result_for_parent: mpsc::UnboundedSender>, + result_for_parent: mpsc::UnboundedSender>, ) { - let authority_pen = self.authority_pen.clone(); + let secret_key = self.secret_key.clone(); let dialer = self.dialer.clone(); let next_to_interface = self.next_to_interface.clone(); self.spawn_handle .spawn("aleph/validator_network_outgoing", None, async move { outgoing( - authority_pen, - peer_id, + secret_key, + public_key, dialer, addresses, result_for_parent, @@ -144,26 +149,26 @@ impl, NL: Listener> Service>, + result_for_parent: mpsc::UnboundedSender>, ) { - let authority_pen = self.authority_pen.clone(); + let secret_key = self.secret_key.clone(); let next_to_interface = self.next_to_interface.clone(); self.spawn_handle .spawn("aleph/validator_network_incoming", None, async move { - incoming(authority_pen, stream, result_for_parent, next_to_interface).await; + incoming(secret_key, stream, result_for_parent, next_to_interface).await; }); } - fn peer_addresses(&self, peer_id: &AuthorityId) -> Option> { - match self.legacy_connected.contains(peer_id) { - true => self.legacy_manager.peer_addresses(peer_id), - false => self.manager.peer_addresses(peer_id), + fn peer_addresses(&self, public_key: &SK::PublicKey) -> Option> { + match self.legacy_connected.contains(public_key) { + true => self.legacy_manager.peer_addresses(public_key), + false => self.manager.peer_addresses(public_key), } } fn add_connection( &mut self, - peer_id: AuthorityId, + public_key: SK::PublicKey, data_for_network: mpsc::UnboundedSender, connection_type: ConnectionType, ) -> AddResult { @@ -173,37 +178,45 @@ impl, NL: Listener> Service self.legacy_manager.add_incoming(peer_id, data_for_network), - LegacyOutgoing => self.legacy_manager.add_outgoing(peer_id, data_for_network), + LegacyIncoming => self + .legacy_manager + .add_incoming(public_key, data_for_network), + LegacyOutgoing => self + .legacy_manager + .add_outgoing(public_key, data_for_network), } } // Mark a peer as legacy and return whether it is the first time we do so. - fn mark_legacy(&mut self, peer_id: &AuthorityId) -> bool { - self.manager.remove_peer(peer_id); - self.legacy_connected.insert(peer_id.clone()) + fn mark_legacy(&mut self, public_key: &SK::PublicKey) -> bool { + self.manager.remove_peer(public_key); + self.legacy_connected.insert(public_key.clone()) } // Unmark a peer as legacy, putting it back in the normal set. - fn unmark_legacy(&mut self, peer_id: &AuthorityId) { - self.legacy_connected.remove(peer_id); + fn unmark_legacy(&mut self, public_key: &SK::PublicKey) { + self.legacy_connected.remove(public_key); // Put it back if we still want to be connected. - if let Some(addresses) = self.legacy_manager.peer_addresses(peer_id) { - self.manager.add_peer(peer_id.clone(), addresses); + if let Some(addresses) = self.legacy_manager.peer_addresses(public_key) { + self.manager.add_peer(public_key.clone(), addresses); } } // Checks whether this peer should now be marked as one using the legacy protocol and handled // accordingly. Returns whether we should spawn a new connection worker because of that. - fn check_for_legacy(&mut self, peer_id: &AuthorityId, connection_type: ConnectionType) -> bool { + fn check_for_legacy( + &mut self, + public_key: &SK::PublicKey, + connection_type: ConnectionType, + ) -> bool { use ConnectionType::*; match connection_type { - LegacyIncoming => self.mark_legacy(peer_id), + LegacyIncoming => self.mark_legacy(public_key), LegacyOutgoing => { - self.mark_legacy(peer_id); + self.mark_legacy(public_key); false } // We don't unmark here, because we always return New when a connection @@ -230,59 +243,59 @@ impl, NL: Listener> Service match command { // register new peer in manager or update its list of addresses if already there // spawn a worker managing outgoing connection if the peer was not known - AddConnection(peer_id, addresses) => { + AddConnection(public_key, addresses) => { // we add all the peers to the legacy manager so we don't lose the // addresses, but only care about its opinion when it turns out we have to // in particular the first time we add a peer we never know whether it // requires legacy connecting, so we only attempt to connect to it if the // new criterion is satisfied, otherwise we wait for it to connect to us - self.legacy_manager.add_peer(peer_id.clone(), addresses.clone()); - if self.manager.add_peer(peer_id.clone(), addresses.clone()) { - self.spawn_new_outgoing(peer_id, addresses, result_for_parent.clone()); + self.legacy_manager.add_peer(public_key.clone(), addresses.clone()); + if self.manager.add_peer(public_key.clone(), addresses.clone()) { + self.spawn_new_outgoing(public_key, addresses, result_for_parent.clone()); }; }, // remove the peer from the manager all workers will be killed automatically, due to closed channels - DelConnection(peer_id) => { - self.manager.remove_peer(&peer_id); - self.legacy_manager.remove_peer(&peer_id); - self.legacy_connected.remove(&peer_id); + DelConnection(public_key) => { + self.manager.remove_peer(&public_key); + self.legacy_manager.remove_peer(&public_key); + self.legacy_connected.remove(&public_key); }, // pass the data to the manager - SendData(data, peer_id) => { - match self.legacy_connected.contains(&peer_id) { - true => match self.legacy_manager.send_to(&peer_id, data) { - Ok(_) => trace!(target: "validator-network", "Sending data to {} through legacy.", peer_id), - Err(e) => trace!(target: "validator-network", "Failed sending to {} through legacy: {}", peer_id, e), + SendData(data, public_key) => { + match self.legacy_connected.contains(&public_key) { + true => match self.legacy_manager.send_to(&public_key, data) { + Ok(_) => trace!(target: "validator-network", "Sending data to {} through legacy.", public_key), + Err(e) => trace!(target: "validator-network", "Failed sending to {} through legacy: {}", public_key, e), }, - false => match self.manager.send_to(&peer_id, data) { - Ok(_) => trace!(target: "validator-network", "Sending data to {}.", peer_id), - Err(e) => trace!(target: "validator-network", "Failed sending to {}: {}", peer_id, e), + false => match self.manager.send_to(&public_key, data) { + Ok(_) => trace!(target: "validator-network", "Sending data to {}.", public_key), + Err(e) => trace!(target: "validator-network", "Failed sending to {}: {}", public_key, e), }, } }, }, // received information from a spawned worker managing a connection // check if we still want to be connected to the peer, and if so, spawn a new worker or actually add proper connection - Some((peer_id, maybe_data_for_network, connection_type)) = worker_results.next() => { - if self.check_for_legacy(&peer_id, connection_type) { - match self.legacy_manager.peer_addresses(&peer_id) { - Some(addresses) => self.spawn_new_outgoing(peer_id.clone(), addresses, result_for_parent.clone()), + Some((public_key, maybe_data_for_network, connection_type)) = worker_results.next() => { + if self.check_for_legacy(&public_key, connection_type) { + match self.legacy_manager.peer_addresses(&public_key) { + Some(addresses) => self.spawn_new_outgoing(public_key.clone(), addresses, result_for_parent.clone()), None => { // We received a result from a worker we are no longer interested // in. - self.legacy_connected.remove(&peer_id); + self.legacy_connected.remove(&public_key); }, } } use AddResult::*; match maybe_data_for_network { - Some(data_for_network) => match self.add_connection(peer_id.clone(), data_for_network, connection_type) { - Uninterested => warn!(target: "validator-network", "Established connection with peer {} for unknown reasons.", peer_id), - Added => info!(target: "validator-network", "New connection with peer {}.", peer_id), - Replaced => info!(target: "validator-network", "Replaced connection with peer {}.", peer_id), + Some(data_for_network) => match self.add_connection(public_key.clone(), data_for_network, connection_type) { + Uninterested => warn!(target: "validator-network", "Established connection with peer {} for unknown reasons.", public_key), + Added => info!(target: "validator-network", "New connection with peer {}.", public_key), + Replaced => info!(target: "validator-network", "Replaced connection with peer {}.", public_key), }, - None => if let Some(addresses) = self.peer_addresses(&peer_id) { - self.spawn_new_outgoing(peer_id, addresses, result_for_parent.clone()); + None => if let Some(addresses) = self.peer_addresses(&public_key) { + self.spawn_new_outgoing(public_key, addresses, result_for_parent.clone()); } } }, From 7867c35b42197a7090cdde42acb19fcfbd6c5c99 Mon Sep 17 00:00:00 2001 From: Michal Swietek Date: Mon, 28 Nov 2022 16:33:28 +0100 Subject: [PATCH 018/212] Request justification from forks (#764) * add backend * request justification from forks * change requesting logic * Request penultimate block * review changes * fix rename leftover * simplify backend dependecy * Rework justification request status * Revert "simplify backend dependecy" This reverts commit abf26055b33cde4770d60f34a0ed88439adebcce. * fix revert * fix service * warn about missing blocks * improve comment * Review changes * improve comment * split and simplify request logic * Do do_request wanted * Clearer? * fix inequality after moving surrounding block * Always count child tries * impl BB * prepare for tests * Fix tests * bump version * fmt * Simplify backend trait * fmt * Missing generic --- Cargo.lock | 2 +- bin/node/src/service.rs | 37 +++- finality-aleph/Cargo.toml | 2 +- finality-aleph/src/justification/handler.rs | 25 +-- finality-aleph/src/justification/mod.rs | 19 +- finality-aleph/src/justification/requester.rs | 173 ++++++++++++------ finality-aleph/src/lib.rs | 14 +- finality-aleph/src/nodes/mod.rs | 13 +- finality-aleph/src/nodes/nonvalidator_node.rs | 7 +- finality-aleph/src/nodes/validator_node.rs | 7 +- finality-aleph/src/testing/justification.rs | 52 +++--- .../mocks/{header_backend.rs => backend.rs} | 55 +++--- .../mocks/justification_handler_config.rs | 5 +- finality-aleph/src/testing/mocks/mod.rs | 4 +- 14 files changed, 255 insertions(+), 160 deletions(-) rename finality-aleph/src/testing/mocks/{header_backend.rs => backend.rs} (72%) diff --git a/Cargo.lock b/Cargo.lock index e44f271687..8179605794 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1943,7 +1943,7 @@ dependencies = [ [[package]] name = "finality-aleph" -version = "0.5.2" +version = "0.5.3" dependencies = [ "aggregator 0.1.0", "aggregator 0.2.0", diff --git a/bin/node/src/service.rs b/bin/node/src/service.rs index 53cbec030e..561899ef35 100644 --- a/bin/node/src/service.rs +++ b/bin/node/src/service.rs @@ -13,6 +13,7 @@ use finality_aleph::{ }; use futures::channel::mpsc; use log::warn; +use sc_client_api::{Backend, HeaderBackend}; use sc_consensus_aura::{ImportQueueParams, SlotProportion, StartAuraParams}; use sc_network::NetworkService; use sc_service::{ @@ -21,6 +22,7 @@ use sc_service::{ }; use sc_telemetry::{Telemetry, TelemetryWorker}; use sp_api::ProvideRuntimeApi; +use sp_blockchain::Backend as _; use sp_consensus_aura::sr25519::AuthorityPair as AuraPair; use sp_runtime::{ generic::BlockId, @@ -33,7 +35,7 @@ type FullClient = sc_service::TFullClient; type FullBackend = sc_service::TFullBackend; type FullSelectChain = sc_consensus::LongestChain; -fn get_backup_path(aleph_config: &AlephCli, base_path: &Path) -> Option { +fn backup_path(aleph_config: &AlephCli, base_path: &Path) -> Option { if aleph_config.no_backup() { return None; } @@ -253,7 +255,7 @@ pub fn new_authority( other: (block_import, justification_tx, justification_rx, mut telemetry, metrics), } = new_partial(&config)?; - let backup_path = get_backup_path( + let backup_path = backup_path( &aleph_config, config .base_path @@ -282,7 +284,7 @@ pub fn new_authority( let (_rpc_handlers, network, network_starter) = setup( config, - backend, + backend.clone(), &keystore_container, import_queue, transaction_pool.clone(), @@ -339,9 +341,11 @@ pub fn new_authority( if aleph_config.external_addresses().is_empty() { panic!("Cannot run a validator node without external addresses, stopping."); } + let blockchain_backend = BlockchainBackendImpl { backend }; let aleph_config = AlephConfig { network, client, + blockchain_backend, select_chain, session_period, millisecs_per_block, @@ -379,7 +383,7 @@ pub fn new_full( other: (_, justification_tx, justification_rx, mut telemetry, metrics), } = new_partial(&config)?; - let backup_path = get_backup_path( + let backup_path = backup_path( &aleph_config, config .base_path @@ -390,7 +394,7 @@ pub fn new_full( let (_rpc_handlers, network, network_starter) = setup( config, - backend, + backend.clone(), &keystore_container, import_queue, transaction_pool, @@ -414,9 +418,11 @@ pub fn new_full( .unwrap(), ); + let blockchain_backend = BlockchainBackendImpl { backend }; let aleph_config = AlephConfig { network, client, + blockchain_backend, select_chain, session_period, millisecs_per_block, @@ -439,3 +445,24 @@ pub fn new_full( network_starter.start_network(); Ok(task_manager) } + +struct BlockchainBackendImpl { + backend: Arc, +} +impl finality_aleph::BlockchainBackend for BlockchainBackendImpl { + fn children(&self, parent_hash: ::Hash) -> Vec<::Hash> { + self.backend + .blockchain() + .children(parent_hash) + .unwrap_or_default() + } + fn info(&self) -> sp_blockchain::Info { + self.backend.blockchain().info() + } + fn header( + &self, + block_id: sp_api::BlockId, + ) -> sp_blockchain::Result::Header>> { + self.backend.blockchain().header(block_id) + } +} diff --git a/finality-aleph/Cargo.toml b/finality-aleph/Cargo.toml index 89b014f34c..cb59ffb654 100644 --- a/finality-aleph/Cargo.toml +++ b/finality-aleph/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "finality-aleph" -version = "0.5.2" +version = "0.5.3" authors = ["Cardinal Cryptography"] edition = "2021" license = "Apache 2.0" diff --git a/finality-aleph/src/justification/handler.rs b/finality-aleph/src/justification/handler.rs index cf2b752549..2c038fa0e2 100644 --- a/finality-aleph/src/justification/handler.rs +++ b/finality-aleph/src/justification/handler.rs @@ -1,12 +1,8 @@ -use std::{ - sync::Arc, - time::{Duration, Instant}, -}; +use std::time::{Duration, Instant}; use futures::{channel::mpsc, Stream, StreamExt}; use futures_timer::Delay; use log::{debug, error}; -use sc_client_api::HeaderBackend; use sp_api::BlockT; use sp_runtime::traits::Header; use tokio::time::timeout; @@ -17,53 +13,52 @@ use crate::{ requester::BlockRequester, JustificationHandlerConfig, JustificationNotification, JustificationRequestScheduler, SessionInfo, SessionInfoProvider, Verifier, }, - network, Metrics, STATUS_REPORT_INTERVAL, + network, BlockchainBackend, Metrics, STATUS_REPORT_INTERVAL, }; -pub struct JustificationHandler +pub struct JustificationHandler where B: BlockT, V: Verifier, RB: network::RequestBlocks + 'static, - C: HeaderBackend + Send + Sync + 'static, S: JustificationRequestScheduler, SI: SessionInfoProvider, F: BlockFinalizer, + BB: BlockchainBackend + 'static, { session_info_provider: SI, - block_requester: BlockRequester, + block_requester: BlockRequester, verifier_timeout: Duration, notification_timeout: Duration, } -impl JustificationHandler +impl JustificationHandler where B: BlockT, V: Verifier, RB: network::RequestBlocks + 'static, - C: HeaderBackend + Send + Sync + 'static, S: JustificationRequestScheduler, SI: SessionInfoProvider, F: BlockFinalizer, + BB: BlockchainBackend + 'static, { pub fn new( session_info_provider: SI, block_requester: RB, - client: Arc, + blockchain_backend: BB, finalizer: F, justification_request_scheduler: S, metrics: Option::Hash>>, - justification_handler_config: JustificationHandlerConfig, + justification_handler_config: JustificationHandlerConfig, ) -> Self { Self { session_info_provider, block_requester: BlockRequester::new( block_requester, - client, + blockchain_backend, finalizer, justification_request_scheduler, metrics, - justification_handler_config.min_allowed_delay, ), verifier_timeout: justification_handler_config.verifier_timeout, notification_timeout: justification_handler_config.notification_timeout, diff --git a/finality-aleph/src/justification/mod.rs b/finality-aleph/src/justification/mod.rs index fcc16bf9b5..f5cde9d497 100644 --- a/finality-aleph/src/justification/mod.rs +++ b/finality-aleph/src/justification/mod.rs @@ -55,36 +55,29 @@ pub struct JustificationNotification { } #[derive(Clone)] -pub struct JustificationHandlerConfig { +pub struct JustificationHandlerConfig { /// How long should we wait when the session verifier is not yet available. verifier_timeout: Duration, /// How long should we wait for any notification. notification_timeout: Duration, - ///Distance (in amount of blocks) between the best and the block we want to request justification - min_allowed_delay: NumberFor, } -impl Default for JustificationHandlerConfig { +impl Default for JustificationHandlerConfig { fn default() -> Self { Self { verifier_timeout: Duration::from_millis(500), - notification_timeout: Duration::from_millis(1000), - min_allowed_delay: 3u32.into(), + // request justifications slightly more frequently than they're created + notification_timeout: Duration::from_millis(800), } } } #[cfg(test)] -impl JustificationHandlerConfig { - pub fn new( - verifier_timeout: Duration, - notification_timeout: Duration, - min_allowed_delay: NumberFor, - ) -> Self { +impl JustificationHandlerConfig { + pub fn new(verifier_timeout: Duration, notification_timeout: Duration) -> Self { Self { verifier_timeout, notification_timeout, - min_allowed_delay, } } } diff --git a/finality-aleph/src/justification/requester.rs b/finality-aleph/src/justification/requester.rs index 1e140f8c8d..1bc4595df9 100644 --- a/finality-aleph/src/justification/requester.rs +++ b/finality-aleph/src/justification/requester.rs @@ -1,10 +1,10 @@ -use std::{fmt, marker::PhantomData, sync::Arc, time::Instant}; +use std::{fmt, marker::PhantomData, time::Instant}; use aleph_primitives::ALEPH_ENGINE_ID; use log::{debug, error, info, warn}; -use sc_client_api::HeaderBackend; +use sc_client_api::blockchain::Info; use sp_api::{BlockId, BlockT, NumberFor}; -use sp_runtime::traits::Header; +use sp_runtime::traits::{Header, One, Saturating}; use crate::{ finalization::BlockFinalizer, @@ -13,7 +13,7 @@ use crate::{ JustificationRequestScheduler, Verifier, }, metrics::Checkpoint, - network, Metrics, + network, BlockHashNum, BlockchainBackend, Metrics, }; /// Threshold for how many tries are needed so that JustificationRequestStatus is logged @@ -21,100 +21,114 @@ const REPORT_THRESHOLD: u32 = 2; /// This structure is created for keeping and reporting status of BlockRequester pub struct JustificationRequestStatus { - block_number: Option>, - block_hash: Option, - tries: u32, + block_hash_number: Option>, + block_tries: u32, + parent: Option, + n_children: usize, + children_tries: u32, report_threshold: u32, } impl JustificationRequestStatus { fn new() -> Self { Self { - block_number: None, - block_hash: None, - tries: 0, + block_hash_number: None, + block_tries: 0, + parent: None, + n_children: 0, + children_tries: 0, report_threshold: REPORT_THRESHOLD, } } - fn save_block_number(&mut self, num: NumberFor) { - if Some(num) == self.block_number { - self.tries += 1; + fn save_children(&mut self, hash: B::Hash, n_children: usize) { + if self.parent == Some(hash) { + self.children_tries += 1; } else { - self.block_number = Some(num); - self.block_hash = None; - self.tries = 1; + self.parent = Some(hash); + self.children_tries = 1; } + self.n_children = n_children; } - fn insert_hash(&mut self, hash: B::Hash) { - self.block_hash = Some(hash); + fn save_block(&mut self, hn: BlockHashNum) { + if self.block_hash_number == Some(hn.clone()) { + self.block_tries += 1; + } else { + self.block_hash_number = Some(hn); + self.block_tries = 1; + } } fn should_report(&self) -> bool { - self.tries >= self.report_threshold + self.block_tries >= self.report_threshold || self.children_tries >= self.report_threshold } } impl fmt::Display for JustificationRequestStatus { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - if let Some(n) = self.block_number { - let mut status = format!("tries - {}; requested block number - {}; ", self.tries, n); - if let Some(header) = self.block_hash { - status.push_str(&format!("hash - {}; ", header)); - } else { - status.push_str("hash - unknown; "); + if self.block_tries >= self.report_threshold { + if let Some(hn) = &self.block_hash_number { + write!( + f, + "tries - {}; requested block number - {}; hash - {};", + self.block_tries, hn.num, hn.hash, + )?; + } + } + if self.children_tries >= self.report_threshold { + if let Some(parent) = self.parent { + write!( + f, + "tries - {}; requested {} children of finalized block {}; ", + self.children_tries, self.n_children, parent + )?; } - - write!(f, "{}", status)?; } Ok(()) } } -pub struct BlockRequester +pub struct BlockRequester where B: BlockT, RB: network::RequestBlocks + 'static, - C: HeaderBackend + Send + Sync + 'static, S: JustificationRequestScheduler, F: BlockFinalizer, V: Verifier, + BB: BlockchainBackend + 'static, { block_requester: RB, - client: Arc, + blockchain_backend: BB, finalizer: F, justification_request_scheduler: S, metrics: Option::Hash>>, - min_allowed_delay: NumberFor, request_status: JustificationRequestStatus, _phantom: PhantomData, } -impl BlockRequester +impl BlockRequester where B: BlockT, RB: network::RequestBlocks + 'static, - C: HeaderBackend + Send + Sync + 'static, S: JustificationRequestScheduler, F: BlockFinalizer, V: Verifier, + BB: BlockchainBackend + 'static, { pub fn new( block_requester: RB, - client: Arc, + blockchain_backend: BB, finalizer: F, justification_request_scheduler: S, metrics: Option::Hash>>, - min_allowed_delay: NumberFor, ) -> Self { BlockRequester { block_requester, - client, + blockchain_backend, finalizer, justification_request_scheduler, metrics, - min_allowed_delay, request_status: JustificationRequestStatus::new(), _phantom: PhantomData, } @@ -169,29 +183,12 @@ where } } - pub fn request_justification(&mut self, num: NumberFor) { + pub fn request_justification(&mut self, wanted: NumberFor) { match self.justification_request_scheduler.schedule_action() { SchedulerActions::Request => { - let num = if num > self.client.info().best_number - && self.client.info().best_number > self.min_allowed_delay - { - self.client.info().best_number - self.min_allowed_delay - } else { - num - }; - - debug!(target: "aleph-justification", "Trying to request block {:?}", num); - self.request_status.save_block_number(num); - - if let Ok(Some(header)) = self.client.header(BlockId::Number(num)) { - self.request_status.insert_hash(header.hash()); - debug!(target: "aleph-justification", "We have block {:?} with hash {:?}. Requesting justification.", num, header.hash()); - self.justification_request_scheduler.on_request_sent(); - self.block_requester - .request_justification(&header.hash(), *header.number()); - } else { - debug!(target: "aleph-justification", "Cancelling request, because we don't have block {:?}.", num); - } + let info = self.blockchain_backend.info(); + self.request_children(&info); + self.request_wanted(wanted, &info); } SchedulerActions::ClearQueue => { debug!(target: "aleph-justification", "Clearing justification request queue"); @@ -202,6 +199,64 @@ where } pub fn finalized_number(&self) -> NumberFor { - self.client.info().finalized_number + self.blockchain_backend.info().finalized_number + } + + fn do_request(&mut self, hash: &::Hash, num: NumberFor) { + debug!(target: "aleph-justification", + "We have block {:?} with hash {:?}. Requesting justification.", num, hash); + self.justification_request_scheduler.on_request_sent(); + self.block_requester.request_justification(hash, num); + } + + // We request justifications for all the children of last finalized block. + // Assuming that we request at the same pace that finalization is progressing, it ensures + // that we are up to date with finalization. + // We also request the child that it's on the same branch as top_wanted since a fork may happen + // somewhere in between them. + fn request_children(&mut self, info: &Info) { + let finalized_hash = info.finalized_hash; + let finalized_number = info.finalized_number; + + let children = self.blockchain_backend.children(finalized_hash); + + if !children.is_empty() { + self.request_status + .save_children(finalized_hash, children.len()); + } + + for child in &children { + self.do_request(child, finalized_number + NumberFor::::one()); + } + } + + // This request is important in the case when we are far behind and want to catch up. + fn request_wanted(&mut self, mut top_wanted: NumberFor, info: &Info) { + let best_number = info.best_number; + if best_number <= top_wanted { + // most probably block best_number is not yet finalized + top_wanted = best_number.saturating_sub(NumberFor::::one()); + } + let finalized_number = info.finalized_number; + // We know that top_wanted >= finalized_number, so + // - if top_wanted == finalized_number, then we don't want to request it + // - if top_wanted == finalized_number + 1, then we already requested it + if top_wanted <= finalized_number + NumberFor::::one() { + return; + } + match self.blockchain_backend.header(BlockId::Number(top_wanted)) { + Ok(Some(header)) => { + let hash = header.hash(); + let num = *header.number(); + self.do_request(&hash, num); + self.request_status.save_block((hash, num).into()); + } + Ok(None) => { + warn!(target: "aleph-justification", "Cancelling request, because we don't have block {:?}.", top_wanted); + } + Err(err) => { + warn!(target: "aleph-justification", "Cancelling request, because fetching block {:?} failed {:?}.", top_wanted, err); + } + } } } diff --git a/finality-aleph/src/lib.rs b/finality-aleph/src/lib.rs index b805b4dfd2..7dc23e2bc9 100644 --- a/finality-aleph/src/lib.rs +++ b/finality-aleph/src/lib.rs @@ -8,7 +8,7 @@ use futures::{ channel::{mpsc, oneshot}, Future, }; -use sc_client_api::{backend::Backend, BlockchainEvents, Finalizer, LockImportRun, TransactionFor}; +use sc_client_api::{Backend, BlockchainEvents, Finalizer, LockImportRun, TransactionFor}; use sc_consensus::BlockImport; use sc_network::NetworkService; use sc_network_common::ExHashT; @@ -243,9 +243,10 @@ impl From<(H, N)> for HashNum { pub type BlockHashNum = HashNum<::Hash, NumberFor>; -pub struct AlephConfig { +pub struct AlephConfig { pub network: Arc>, pub client: Arc, + pub blockchain_backend: BB, pub select_chain: SC, pub spawn_handle: SpawnTaskHandle, pub keystore: Arc, @@ -258,3 +259,12 @@ pub struct AlephConfig { pub external_addresses: Vec, pub validator_port: u16, } + +pub trait BlockchainBackend { + fn children(&self, parent_hash: ::Hash) -> Vec<::Hash>; + fn info(&self) -> sp_blockchain::Info; + fn header( + &self, + block_id: sp_api::BlockId, + ) -> sp_blockchain::Result::Header>>; +} diff --git a/finality-aleph/src/nodes/mod.rs b/finality-aleph/src/nodes/mod.rs index 28326a287e..91e063284d 100644 --- a/finality-aleph/src/nodes/mod.rs +++ b/finality-aleph/src/nodes/mod.rs @@ -27,7 +27,7 @@ use crate::{ mpsc::UnboundedSender, session_id_from_block_num, session_map::ReadOnlySessionMap, - JustificationNotification, Metrics, MillisecsPerBlock, SessionPeriod, + BlockchainBackend, JustificationNotification, Metrics, MillisecsPerBlock, SessionPeriod, }; #[cfg(test)] @@ -84,9 +84,10 @@ impl Verifier for JustificationVerifier { } } -struct JustificationParams { +struct JustificationParams { pub network: Arc>, pub client: Arc, + pub blockchain_backend: BB, pub justification_rx: mpsc::UnboundedReceiver>, pub metrics: Option::Hash>>, pub session_period: SessionPeriod, @@ -127,8 +128,8 @@ impl SessionInfoProvider for SessionInfoProv } } -fn setup_justification_handler( - just_params: JustificationParams, +fn setup_justification_handler( + just_params: JustificationParams, ) -> ( UnboundedSender>, impl Future, @@ -139,10 +140,12 @@ where C: crate::ClientForAleph + Send + Sync + 'static, C::Api: aleph_primitives::AlephSessionApi, BE: Backend + 'static, + BB: BlockchainBackend + 'static + Send, { let JustificationParams { network, client, + blockchain_backend, justification_rx, metrics, session_period, @@ -153,7 +156,7 @@ where let handler = JustificationHandler::new( SessionInfoProviderImpl::new(session_map, session_period), network, - client.clone(), + blockchain_backend, AlephFinalizer::new(client), JustificationRequestSchedulerImpl::new(&session_period, &millisecs_per_block, MAX_ATTEMPTS), metrics, diff --git a/finality-aleph/src/nodes/nonvalidator_node.rs b/finality-aleph/src/nodes/nonvalidator_node.rs index 0e349767d7..a768f1cfd5 100644 --- a/finality-aleph/src/nodes/nonvalidator_node.rs +++ b/finality-aleph/src/nodes/nonvalidator_node.rs @@ -7,21 +7,23 @@ use sp_runtime::traits::Block; use crate::{ nodes::{setup_justification_handler, JustificationParams}, session_map::{AuthorityProviderImpl, FinalityNotificatorImpl, SessionMapUpdater}, - AlephConfig, + AlephConfig, BlockchainBackend, }; -pub async fn run_nonvalidator_node(aleph_config: AlephConfig) +pub async fn run_nonvalidator_node(aleph_config: AlephConfig) where B: Block, H: ExHashT, C: crate::ClientForAleph + Send + Sync + 'static, C::Api: aleph_primitives::AlephSessionApi, BE: Backend + 'static, + BB: BlockchainBackend + Send + 'static, SC: SelectChain + 'static, { let AlephConfig { network, client, + blockchain_backend, metrics, session_period, millisecs_per_block, @@ -42,6 +44,7 @@ where justification_rx, network, client, + blockchain_backend, metrics, session_period, millisecs_per_block, diff --git a/finality-aleph/src/nodes/validator_node.rs b/finality-aleph/src/nodes/validator_node.rs index 9cb3dda2a3..ec06def4bb 100644 --- a/finality-aleph/src/nodes/validator_node.rs +++ b/finality-aleph/src/nodes/validator_node.rs @@ -24,7 +24,7 @@ use crate::{ session_map::{AuthorityProviderImpl, FinalityNotificatorImpl, SessionMapUpdater}, tcp_network::{new_tcp_network, KEY_TYPE}, validator_network::Service, - AlephConfig, + AlephConfig, BlockchainBackend, }; pub async fn new_pen(mnemonic: &str, keystore: Arc) -> AuthorityPen { @@ -37,18 +37,20 @@ pub async fn new_pen(mnemonic: &str, keystore: Arc) -> Authorit .expect("we just generated this key so everything should work") } -pub async fn run_validator_node(aleph_config: AlephConfig) +pub async fn run_validator_node(aleph_config: AlephConfig) where B: Block, H: ExHashT, C: crate::ClientForAleph + Send + Sync + 'static, C::Api: aleph_primitives::AlephSessionApi, BE: Backend + 'static, + BB: BlockchainBackend + Send + 'static, SC: SelectChain + 'static, { let AlephConfig { network, client, + blockchain_backend, select_chain, spawn_handle, keystore, @@ -106,6 +108,7 @@ where justification_rx, network: network.clone(), client: client.clone(), + blockchain_backend, metrics: metrics.clone(), session_period, millisecs_per_block, diff --git a/finality-aleph/src/testing/justification.rs b/finality-aleph/src/testing/justification.rs index 5777d4e72d..9cb3fd4373 100644 --- a/finality-aleph/src/testing/justification.rs +++ b/finality-aleph/src/testing/justification.rs @@ -1,4 +1,4 @@ -use std::{cell::RefCell, collections::VecDeque, sync::Arc, time::Duration}; +use std::{cell::RefCell, collections::VecDeque, time::Duration}; use futures::{ channel::mpsc::{unbounded, UnboundedSender}, @@ -12,7 +12,7 @@ use AcceptancePolicy::*; use crate::{ justification::{AlephJustification, JustificationHandler, JustificationHandlerConfig}, testing::mocks::{ - create_block, AcceptancePolicy, Client, JustificationRequestSchedulerImpl, + create_block, AcceptancePolicy, Backend, JustificationRequestSchedulerImpl, MockedBlockFinalizer, MockedBlockRequester, SessionInfoProviderImpl, TBlock, VerifierWrapper, }, @@ -26,15 +26,15 @@ type TJustHandler = JustificationHandler< TBlock, VerifierWrapper, MockedBlockRequester, - Client, JustificationRequestSchedulerImpl, SessionInfoProviderImpl, MockedBlockFinalizer, + Backend, >; type Sender = UnboundedSender>; type Environment = ( TJustHandler, - Client, + Backend, MockedBlockRequester, MockedBlockFinalizer, JustificationRequestSchedulerImpl, @@ -67,7 +67,7 @@ fn prepare_env( verification_policy: AcceptancePolicy, request_policy: AcceptancePolicy, ) -> Environment { - let client = Client::new(finalization_height); + let backend = Backend::new(finalization_height); let info_provider = SessionInfoProviderImpl::new(SESSION_PERIOD, verification_policy); let finalizer = MockedBlockFinalizer::new(); let requester = MockedBlockRequester::new(); @@ -77,7 +77,7 @@ fn prepare_env( let justification_handler = JustificationHandler::new( info_provider, requester.clone(), - Arc::new(client.clone()), + backend.clone(), finalizer.clone(), justification_request_scheduler.clone(), None, @@ -86,7 +86,7 @@ fn prepare_env( ( justification_handler, - client, + backend, requester, finalizer, justification_request_scheduler, @@ -125,19 +125,19 @@ where S: FnOnce( Sender, Sender, - Client, + Backend, MockedBlockRequester, MockedBlockFinalizer, JustificationRequestSchedulerImpl, ) -> F, { - let (justification_handler, client, requester, finalizer, justification_request_scheduler) = + let (justification_handler, backend, requester, finalizer, justification_request_scheduler) = env; let (handle_run, auth_just_tx, imp_just_tx) = run_justification_handler(justification_handler); scenario( auth_just_tx.clone(), imp_just_tx.clone(), - client, + backend, requester, finalizer, justification_request_scheduler, @@ -186,8 +186,8 @@ async fn expect_not_requested( async fn leads_to_finalization_when_appropriate_justification_comes() { run_test( prepare_env(FINALIZED_HEIGHT, AlwaysAccept, AlwaysReject), - |_, imp_just_tx, client, _, finalizer, justification_request_scheduler| async move { - let block = client.next_block_to_finalize(); + |_, imp_just_tx, backend, _, finalizer, justification_request_scheduler| async move { + let block = backend.next_block_to_finalize(); let message = create_justification_notification_for(block.clone()); imp_just_tx.unbounded_send(message).unwrap(); expect_finalized(&finalizer, &justification_request_scheduler, block).await; @@ -201,8 +201,8 @@ async fn waits_for_verifier_before_finalizing() { let verification_policy = FromSequence(RefCell::new(VecDeque::from(vec![false, false, true]))); run_test( prepare_env(FINALIZED_HEIGHT, verification_policy, AlwaysReject), - |_, imp_just_tx, client, _, finalizer, justification_request_scheduler| async move { - let block = client.next_block_to_finalize(); + |_, imp_just_tx, backend, _, finalizer, justification_request_scheduler| async move { + let block = backend.next_block_to_finalize(); let message = create_justification_notification_for(block.clone()); imp_just_tx.unbounded_send(message.clone()).unwrap(); @@ -222,8 +222,8 @@ async fn waits_for_verifier_before_finalizing() { async fn keeps_finalizing_block_if_not_finalized_yet() { run_test( prepare_env(FINALIZED_HEIGHT, AlwaysAccept, AlwaysReject), - |auth_just_tx, imp_just_tx, client, _, finalizer, justification_request_scheduler| async move { - let block = client.next_block_to_finalize(); + |auth_just_tx, imp_just_tx, backend, _, finalizer, justification_request_scheduler| async move { + let block = backend.next_block_to_finalize(); let message = create_justification_notification_for(block.clone()); imp_just_tx.unbounded_send(message.clone()).unwrap(); @@ -240,8 +240,8 @@ async fn keeps_finalizing_block_if_not_finalized_yet() { async fn ignores_notifications_for_old_blocks() { run_test( prepare_env(FINALIZED_HEIGHT, AlwaysAccept, AlwaysReject), - |_, imp_just_tx, client, _, finalizer, justification_request_scheduler| async move { - let block = client.get_block(BlockId::Number(1u64)).unwrap(); + |_, imp_just_tx, backend, _, finalizer, justification_request_scheduler| async move { + let block = backend.get_block(BlockId::Number(1u64)).unwrap(); let message = create_justification_notification_for(block); imp_just_tx.unbounded_send(message).unwrap(); expect_not_finalized(&finalizer, &justification_request_scheduler).await; @@ -268,8 +268,8 @@ async fn ignores_notifications_from_future_session() { async fn does_not_buffer_notifications_from_future_session() { run_test( prepare_env((SESSION_PERIOD.0 - 2) as u64, AlwaysAccept, AlwaysReject), - |_, imp_just_tx, client, _, finalizer, justification_request_scheduler| async move { - let current_block = client.next_block_to_finalize(); + |_, imp_just_tx, backend, _, finalizer, justification_request_scheduler| async move { + let current_block = backend.next_block_to_finalize(); let future_block = create_block(current_block.hash(), SESSION_PERIOD.0 as u64); let message = create_justification_notification_for(future_block); @@ -290,8 +290,8 @@ async fn does_not_buffer_notifications_from_future_session() { async fn requests_for_session_ending_justification() { run_test( prepare_env((SESSION_PERIOD.0 - 2) as u64, AlwaysReject, AlwaysAccept), - |_, imp_just_tx, client, requester, _, justification_request_scheduler| async move { - let last_block = client.next_block_to_finalize(); + |_, imp_just_tx, backend, requester, _, justification_request_scheduler| async move { + let last_block = backend.next_block_to_finalize(); // doesn't need any notification passed to keep asking expect_requested( @@ -321,14 +321,14 @@ async fn requests_for_session_ending_justification() { async fn does_not_request_for_session_ending_justification_too_often() { run_test( prepare_env((SESSION_PERIOD.0 - 2) as u64, AlwaysReject, AlwaysReject), - |_, _, client, requester, _, justification_request_scheduler| async move { + |_, _, backend, requester, _, justification_request_scheduler| async move { expect_not_requested(&requester, &justification_request_scheduler).await; justification_request_scheduler.update_policy(AlwaysAccept); expect_requested( &requester, &justification_request_scheduler, - client.next_block_to_finalize(), + backend.next_block_to_finalize(), ) .await; @@ -343,10 +343,10 @@ async fn does_not_request_for_session_ending_justification_too_often() { async fn does_not_request_nor_finalize_when_verifier_is_not_available() { run_test( prepare_env((SESSION_PERIOD.0 - 2) as u64, Unavailable, AlwaysAccept), - |_, imp_just_tx, client, requester, finalizer, justification_request_scheduler| async move { + |_, imp_just_tx, backend, requester, finalizer, justification_request_scheduler| async move { expect_not_requested(&requester, &justification_request_scheduler).await; - let block = client.next_block_to_finalize(); + let block = backend.next_block_to_finalize(); imp_just_tx .unbounded_send(create_justification_notification_for(block)) .unwrap(); diff --git a/finality-aleph/src/testing/mocks/header_backend.rs b/finality-aleph/src/testing/mocks/backend.rs similarity index 72% rename from finality-aleph/src/testing/mocks/header_backend.rs rename to finality-aleph/src/testing/mocks/backend.rs index 4adaf2c8f2..a2365ad7b4 100644 --- a/finality-aleph/src/testing/mocks/header_backend.rs +++ b/finality-aleph/src/testing/mocks/backend.rs @@ -1,11 +1,14 @@ use sp_api::BlockId; -use sp_blockchain::{BlockStatus, HeaderBackend, Info}; +use sp_blockchain::Info; use sp_runtime::traits::Block; -use crate::testing::mocks::{TBlock, THash, THeader, TNumber}; +use crate::{ + testing::mocks::{TBlock, THash, THeader, TNumber}, + BlockchainBackend, +}; #[derive(Clone)] -pub(crate) struct Client { +pub(crate) struct Backend { blocks: Vec, next_block_to_finalize: TBlock, } @@ -25,7 +28,7 @@ pub(crate) fn create_block(parent_hash: THash, number: TNumber) -> TBlock { const GENESIS_HASH: [u8; 32] = [0u8; 32]; -impl Client { +impl Backend { pub(crate) fn new(finalized_height: u64) -> Self { let mut blocks: Vec = vec![]; @@ -40,7 +43,7 @@ impl Client { let next_block_to_finalize = create_block(blocks.last().unwrap().hash(), finalized_height + 1); - Client { + Backend { blocks, next_block_to_finalize, } @@ -70,11 +73,30 @@ impl Client { } } -impl HeaderBackend for Client { +impl BlockchainBackend for Backend { + fn children(&self, parent_hash: THash) -> Vec { + if self.next_block_to_finalize.hash() == parent_hash { + Vec::new() + } else if self + .blocks + .last() + .map(|b| b.hash()) + .unwrap() + .eq(&parent_hash) + { + vec![self.next_block_to_finalize.hash()] + } else { + self.blocks + .windows(2) + .flat_map(<&[TBlock; 2]>::try_from) + .find(|[parent, _]| parent.header.hash().eq(&parent_hash)) + .map(|[_, c]| vec![c.hash()]) + .unwrap_or_default() + } + } fn header(&self, id: BlockId) -> sp_blockchain::Result> { Ok(self.get_block(id).map(|b| b.header)) } - fn info(&self) -> Info { Info { best_hash: self.next_block_to_finalize.hash(), @@ -87,23 +109,8 @@ impl HeaderBackend for Client { block_gap: None, } } - - fn status(&self, id: BlockId) -> sp_blockchain::Result { - Ok(match self.get_block(id) { - Some(_) => BlockStatus::InChain, - _ => BlockStatus::Unknown, - }) - } - - fn number(&self, hash: THash) -> sp_blockchain::Result> { - Ok(self.get_block(BlockId::hash(hash)).map(|b| b.header.number)) - } - - fn hash(&self, number: TNumber) -> sp_blockchain::Result> { - Ok(self.get_block(BlockId::Number(number)).map(|b| b.hash())) - } } -unsafe impl Send for Client {} +unsafe impl Send for Backend {} -unsafe impl Sync for Client {} +unsafe impl Sync for Backend {} diff --git a/finality-aleph/src/testing/mocks/justification_handler_config.rs b/finality-aleph/src/testing/mocks/justification_handler_config.rs index 49dee9543e..6db2ec7f16 100644 --- a/finality-aleph/src/testing/mocks/justification_handler_config.rs +++ b/finality-aleph/src/testing/mocks/justification_handler_config.rs @@ -5,7 +5,7 @@ use std::{ use crate::{ justification::{JustificationHandlerConfig, JustificationRequestScheduler, SchedulerActions}, - testing::mocks::{single_action_mock::SingleActionMock, AcceptancePolicy, TBlock}, + testing::mocks::{single_action_mock::SingleActionMock, AcceptancePolicy}, }; #[derive(Clone)] @@ -58,12 +58,11 @@ impl JustificationRequestScheduler for JustificationRequestSchedulerImpl { const DEFAULT_VERIFIER_TIMEOUT_MS: u64 = 10u64; const DEFAULT_NOTIFICATION_TIMEOUT_MS: u64 = 10u64; -impl JustificationHandlerConfig { +impl JustificationHandlerConfig { pub fn test() -> Self { JustificationHandlerConfig::new( Duration::from_millis(DEFAULT_VERIFIER_TIMEOUT_MS), Duration::from_millis(DEFAULT_NOTIFICATION_TIMEOUT_MS), - 3u32.into(), ) } } diff --git a/finality-aleph/src/testing/mocks/mod.rs b/finality-aleph/src/testing/mocks/mod.rs index 3a95478e8d..dee1ad4e89 100644 --- a/finality-aleph/src/testing/mocks/mod.rs +++ b/finality-aleph/src/testing/mocks/mod.rs @@ -1,7 +1,7 @@ pub(crate) use acceptance_policy::AcceptancePolicy; +pub(crate) use backend::{create_block, Backend}; pub(crate) use block_finalizer::MockedBlockFinalizer; pub(crate) use block_request::MockedBlockRequester; -pub(crate) use header_backend::{create_block, Client}; pub(crate) use justification_handler_config::JustificationRequestSchedulerImpl; pub(crate) use proposal::{ aleph_data_from_blocks, aleph_data_from_headers, unvalidated_proposal_from_headers, @@ -14,9 +14,9 @@ pub(crate) type THash = substrate_test_runtime::Hash; pub(crate) type TNumber = substrate_test_runtime::BlockNumber; mod acceptance_policy; +mod backend; mod block_finalizer; mod block_request; -mod header_backend; mod justification_handler_config; mod proposal; mod session_info; From 4d8ca62587a478246249010cabbc6a195bc495c6 Mon Sep 17 00:00:00 2001 From: timorl Date: Mon, 28 Nov 2022 17:21:54 +0100 Subject: [PATCH 019/212] A0-1584: Unify MockMultiaddress (#770) * Unify MockMultiaddress * Random multiaddress function * Some clippy warnings --- .../src/network/manager/compatibility.rs | 2 +- .../src/network/manager/connections.rs | 9 +- .../src/network/manager/discovery.rs | 12 +-- finality-aleph/src/network/manager/session.rs | 8 +- finality-aleph/src/network/mock.rs | 87 ++++------------- finality-aleph/src/network/service.rs | 85 ++++++++--------- .../src/testing/mocks/validator_network.rs | 90 +++++++++--------- finality-aleph/src/testing/network.rs | 30 +++--- .../validator_network/manager/direction.rs | 93 +++++++++---------- .../src/validator_network/manager/legacy.rs | 27 +++--- .../src/validator_network/manager/mod.rs | 31 +++---- finality-aleph/src/validator_network/mock.rs | 92 +++++++++++++----- .../validator_network/protocols/handshake.rs | 74 +++++++-------- .../src/validator_network/protocols/v0/mod.rs | 52 +++++------ .../src/validator_network/protocols/v1/mod.rs | 48 +++++----- 15 files changed, 354 insertions(+), 386 deletions(-) diff --git a/finality-aleph/src/network/manager/compatibility.rs b/finality-aleph/src/network/manager/compatibility.rs index 8d489d34d6..5c68521dea 100644 --- a/finality-aleph/src/network/manager/compatibility.rs +++ b/finality-aleph/src/network/manager/compatibility.rs @@ -140,11 +140,11 @@ mod test { crypto::AuthorityVerifier, network::{ manager::{compatibility::MAX_AUTHENTICATION_SIZE, SessionHandler}, - mock::MockMultiaddress, NetworkIdentity, }, nodes::testing::new_pen, tcp_network::{testing::new_identity, TcpMultiaddress}, + testing::mocks::validator_network::MockMultiaddress, NodeIndex, SessionId, Version, }; diff --git a/finality-aleph/src/network/manager/connections.rs b/finality-aleph/src/network/manager/connections.rs index 0982acede3..4023a54ca4 100644 --- a/finality-aleph/src/network/manager/connections.rs +++ b/finality-aleph/src/network/manager/connections.rs @@ -56,10 +56,13 @@ mod tests { use std::collections::HashSet; use super::Connections; - use crate::{network::mock::MockPeerId, SessionId}; + use crate::{ + validator_network::mock::{random_keys, MockPublicKey}, + SessionId, + }; - fn random_peer_ids(num: usize) -> HashSet { - (0..num).map(|_| MockPeerId::random()).collect() + fn random_peer_ids(num: usize) -> HashSet { + random_keys(num).into_keys().collect() } #[test] diff --git a/finality-aleph/src/network/manager/discovery.rs b/finality-aleph/src/network/manager/discovery.rs index 4a4f1bb833..112fceadf3 100644 --- a/finality-aleph/src/network/manager/discovery.rs +++ b/finality-aleph/src/network/manager/discovery.rs @@ -136,9 +136,9 @@ mod tests { use super::{Discovery, DiscoveryMessage}; use crate::{ - network::{ - manager::SessionHandler, - mock::{crypto_basics, MockMultiaddress, MockPeerId}, + network::{manager::SessionHandler, mock::crypto_basics}, + testing::mocks::validator_network::{ + random_identity, random_multiaddress, MockMultiaddress, }, SessionId, }; @@ -147,9 +147,7 @@ mod tests { const MS_COOLDOWN: u64 = 200; fn addresses() -> Vec { - (0..NUM_NODES) - .map(|_| MockMultiaddress::random_with_id(MockPeerId::random())) - .collect() + (0..NUM_NODES).map(|_| random_multiaddress()).collect() } async fn build_number( @@ -177,7 +175,7 @@ mod tests { None, crypto_basics.1.clone(), SessionId(43), - vec![MockMultiaddress::random_with_id(MockPeerId::random())], + random_identity().0, ) .await .unwrap(); diff --git a/finality-aleph/src/network/manager/session.rs b/finality-aleph/src/network/manager/session.rs index 209ecc1658..1c8f84906d 100644 --- a/finality-aleph/src/network/manager/session.rs +++ b/finality-aleph/src/network/manager/session.rs @@ -275,9 +275,10 @@ mod tests { use super::{get_common_peer_id, Handler, HandlerError}; use crate::{ network::{ - mock::{crypto_basics, MockMultiaddress, MockNetworkIdentity, MockPeerId}, + mock::{crypto_basics, MockNetworkIdentity}, NetworkIdentity, }, + testing::mocks::validator_network::{random_multiaddress, MockMultiaddress}, NodeIndex, SessionId, }; @@ -378,10 +379,7 @@ mod tests { #[tokio::test] async fn fails_to_create_with_non_unique_peer_id() { let mut crypto_basics = crypto_basics(NUM_NODES).await; - let addresses = vec![ - MockMultiaddress::random_with_id(MockPeerId::random()), - MockMultiaddress::random_with_id(MockPeerId::random()), - ]; + let addresses = vec![random_multiaddress(), random_multiaddress()]; assert!(matches!( Handler::new( Some(crypto_basics.0.pop().unwrap()), diff --git a/finality-aleph/src/network/mock.rs b/finality-aleph/src/network/mock.rs index 885b5bbcea..83db534947 100644 --- a/finality-aleph/src/network/mock.rs +++ b/finality-aleph/src/network/mock.rs @@ -7,13 +7,11 @@ use std::{ use aleph_primitives::KEY_TYPE; use async_trait::async_trait; -use codec::{Decode, Encode}; use futures::{ channel::{mpsc, oneshot}, StreamExt, }; use parking_lot::Mutex; -use rand::random; use sp_keystore::{testing::KeyStore, CryptoStore}; use tokio::time::timeout; @@ -21,84 +19,31 @@ use crate::{ crypto::{AuthorityPen, AuthorityVerifier}, network::{ manager::VersionedAuthentication, AddressedData, ConnectionCommand, Event, EventStream, - Multiaddress, Network, NetworkIdentity, NetworkSender, NetworkServiceIO, PeerId, Protocol, + Multiaddress, Network, NetworkIdentity, NetworkSender, NetworkServiceIO, Protocol, }, + testing::mocks::validator_network::{random_identity, MockMultiaddress}, + validator_network::mock::MockPublicKey, AuthorityId, NodeIndex, }; -#[derive(PartialEq, Eq, Copy, Clone, Debug, Hash, Encode, Decode)] -pub struct MockPeerId(u32); - -impl MockPeerId { - pub fn random() -> Self { - MockPeerId(random()) - } -} -impl fmt::Display for MockPeerId { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - write!(f, "{}", self.0) - } -} - -impl PeerId for MockPeerId {} - -#[derive(PartialEq, Eq, Clone, Debug, Hash, Encode, Decode)] -pub struct MockMultiaddress { - peer_id: Option, - address: u32, -} - -impl MockMultiaddress { - pub fn random_with_id(peer_id: MockPeerId) -> Self { - MockMultiaddress { - peer_id: Some(peer_id), - address: random(), - } - } -} - -impl Multiaddress for MockMultiaddress { - type PeerId = MockPeerId; - - fn get_peer_id(&self) -> Option { - self.peer_id - } - - fn add_matching_peer_id(mut self, peer_id: Self::PeerId) -> Option { - match self.peer_id { - Some(old_peer_id) => match old_peer_id == peer_id { - true => Some(self), - false => None, - }, - None => { - self.peer_id = Some(peer_id); - Some(self) - } - } - } -} - pub struct MockNetworkIdentity { addresses: Vec, - peer_id: MockPeerId, + peer_id: MockPublicKey, } impl MockNetworkIdentity { pub fn new() -> Self { - let peer_id = MockPeerId::random(); - let addresses = (0..3) - .map(|_| MockMultiaddress::random_with_id(peer_id)) - .collect(); + let (addresses, peer_id) = random_identity(); MockNetworkIdentity { addresses, peer_id } } } impl NetworkIdentity for MockNetworkIdentity { - type PeerId = MockPeerId; + type PeerId = MockPublicKey; type Multiaddress = MockMultiaddress; fn identity(&self) -> (Vec, Self::PeerId) { - (self.addresses.clone(), self.peer_id) + (self.addresses.clone(), self.peer_id.clone()) } } @@ -133,7 +78,7 @@ impl Channel { self.1.lock().await.by_ref().take(n).collect::>(), ) .await - .unwrap_or(Vec::new()) + .unwrap_or_default() } pub async fn try_next(&self) -> Option { @@ -152,7 +97,7 @@ impl Default for Channel { } } -pub type MockEvent = Event; +pub type MockEvent = Event; pub type MockData = Vec; @@ -196,15 +141,15 @@ impl MockIO { pub struct MockEventStream(mpsc::UnboundedReceiver); #[async_trait] -impl EventStream for MockEventStream { +impl EventStream for MockEventStream { async fn next_event(&mut self) -> Option { self.0.next().await } } pub struct MockNetworkSender { - sender: mpsc::UnboundedSender<(Vec, MockPeerId, Protocol)>, - peer_id: MockPeerId, + sender: mpsc::UnboundedSender<(Vec, MockPublicKey, Protocol)>, + peer_id: MockPublicKey, protocol: Protocol, error: Result<(), MockSenderError>, } @@ -219,7 +164,7 @@ impl NetworkSender for MockNetworkSender { ) -> Result<(), MockSenderError> { self.error?; self.sender - .unbounded_send((data.into(), self.peer_id, self.protocol)) + .unbounded_send((data.into(), self.peer_id.clone(), self.protocol)) .unwrap(); Ok(()) } @@ -228,8 +173,8 @@ impl NetworkSender for MockNetworkSender { #[derive(Clone)] pub struct MockNetwork { pub add_reserved: Channel<(HashSet, Protocol)>, - pub remove_reserved: Channel<(HashSet, Protocol)>, - pub send_message: Channel<(Vec, MockPeerId, Protocol)>, + pub remove_reserved: Channel<(HashSet, Protocol)>, + pub send_message: Channel<(Vec, MockPublicKey, Protocol)>, pub event_sinks: Arc>>>, event_stream_taken_oneshot: Arc>>>, pub create_sender_errors: Arc>>, @@ -256,7 +201,7 @@ impl std::error::Error for MockSenderError {} impl Network for MockNetwork { type SenderError = MockSenderError; type NetworkSender = MockNetworkSender; - type PeerId = MockPeerId; + type PeerId = MockPublicKey; type Multiaddress = MockMultiaddress; type EventStream = MockEventStream; diff --git a/finality-aleph/src/network/service.rs b/finality-aleph/src/network/service.rs index 154ac69b12..42c2ef954b 100644 --- a/finality-aleph/src/network/service.rs +++ b/finality-aleph/src/network/service.rs @@ -348,16 +348,13 @@ mod tests { use crate::{ network::{ manager::{SessionHandler, VersionedAuthentication}, - mock::{ - crypto_basics, MockData, MockEvent, MockIO, - MockMultiaddress as MockAuthMultiaddress, MockNetwork, - MockPeerId as MockAuthPeerId, MockSenderError, - }, + mock::{crypto_basics, MockData, MockEvent, MockIO, MockNetwork, MockSenderError}, testing::DiscoveryMessage, NetworkIdentity, Protocol, }, testing::mocks::validator_network::{ - random_authority_id, MockMultiaddress, MockNetwork as MockValidatorNetwork, + random_multiaddress, random_peer_id, MockMultiaddress, + MockNetwork as MockValidatorNetwork, }, SessionId, }; @@ -419,7 +416,7 @@ mod tests { // We do this only to make sure that NotificationStreamOpened/NotificationStreamClosed events are handled async fn wait_for_events_handled(&mut self) { - let address = MockAuthMultiaddress::random_with_id(MockAuthPeerId::random()); + let address = random_multiaddress(); self.network .emit_event(MockEvent::Connected(address.clone())); assert_eq!( @@ -458,7 +455,7 @@ mod tests { async fn test_sync_connected() { let mut test_data = TestData::prepare().await; - let address = MockAuthMultiaddress::random_with_id(MockAuthPeerId::random()); + let address = random_multiaddress(); test_data .network .emit_event(MockEvent::Connected(address.clone())); @@ -482,11 +479,11 @@ mod tests { async fn test_sync_disconnected() { let mut test_data = TestData::prepare().await; - let peer_id = MockAuthPeerId::random(); + let peer_id = random_peer_id(); test_data .network - .emit_event(MockEvent::Disconnected(peer_id)); + .emit_event(MockEvent::Disconnected(peer_id.clone())); let expected = (iter::once(peer_id).collect(), Protocol::Authentication); @@ -507,12 +504,13 @@ mod tests { async fn test_notification_stream_opened() { let mut test_data = TestData::prepare().await; - let peer_ids: Vec<_> = (0..3).map(|_| MockAuthPeerId::random()).collect(); + let peer_ids: Vec<_> = (0..3).map(|_| random_peer_id()).collect(); peer_ids.iter().for_each(|peer_id| { - test_data - .network - .emit_event(MockEvent::StreamOpened(*peer_id, Protocol::Authentication)); + test_data.network.emit_event(MockEvent::StreamOpened( + peer_id.clone(), + Protocol::Authentication, + )); }); // We do this only to make sure that NotificationStreamOpened events are handled @@ -549,22 +547,24 @@ mod tests { async fn test_notification_stream_closed() { let mut test_data = TestData::prepare().await; - let peer_ids: Vec<_> = (0..3).map(|_| MockAuthPeerId::random()).collect(); + let peer_ids: Vec<_> = (0..3).map(|_| random_peer_id()).collect(); let opened_authorities_n = 2; peer_ids.iter().for_each(|peer_id| { - test_data - .network - .emit_event(MockEvent::StreamOpened(*peer_id, Protocol::Authentication)); + test_data.network.emit_event(MockEvent::StreamOpened( + peer_id.clone(), + Protocol::Authentication, + )); }); peer_ids .iter() .skip(opened_authorities_n) .for_each(|peer_id| { - test_data - .network - .emit_event(MockEvent::StreamClosed(*peer_id, Protocol::Authentication)); + test_data.network.emit_event(MockEvent::StreamClosed( + peer_id.clone(), + Protocol::Authentication, + )); }); // We do this only to make sure that NotificationStreamClosed events are handled @@ -602,7 +602,7 @@ mod tests { async fn test_send_validator_data() { let mut test_data = TestData::prepare().await; - let peer_id = random_authority_id().await; + let peer_id = random_peer_id(); let message = message(1); @@ -658,16 +658,15 @@ mod tests { .lock() .push_back(MockSenderError::SomeError); - let peer_id = MockAuthPeerId::random(); + let peer_id = random_peer_id(); - let message_1 = - authentication(vec![(random_authority_id().await, String::from("other_1"))]).await; - let message_2 = - authentication(vec![(random_authority_id().await, String::from("other_2"))]).await; + let message_1 = authentication(vec![(random_peer_id(), String::from("other_1"))]).await; + let message_2 = authentication(vec![(random_peer_id(), String::from("other_2"))]).await; - test_data - .network - .emit_event(MockEvent::StreamOpened(peer_id, Protocol::Authentication)); + test_data.network.emit_event(MockEvent::StreamOpened( + peer_id.clone(), + Protocol::Authentication, + )); // We do this only to make sure that NotificationStreamOpened events are handled test_data.wait_for_events_handled().await; @@ -709,16 +708,15 @@ mod tests { .lock() .push_back(MockSenderError::SomeError); - let peer_id = MockAuthPeerId::random(); + let peer_id = random_peer_id(); - let message_1 = - authentication(vec![(random_authority_id().await, String::from("other_1"))]).await; - let message_2 = - authentication(vec![(random_authority_id().await, String::from("other_2"))]).await; + let message_1 = authentication(vec![(random_peer_id(), String::from("other_1"))]).await; + let message_2 = authentication(vec![(random_peer_id(), String::from("other_2"))]).await; - test_data - .network - .emit_event(MockEvent::StreamOpened(peer_id, Protocol::Authentication)); + test_data.network.emit_event(MockEvent::StreamOpened( + peer_id.clone(), + Protocol::Authentication, + )); // We do this only to make sure that NotificationStreamOpened events are handled test_data.wait_for_events_handled().await; @@ -754,11 +752,7 @@ mod tests { async fn test_notification_received() { let mut test_data = TestData::prepare().await; - let message = authentication(vec![( - random_authority_id().await, - String::from("other_addr"), - )]) - .await; + let message = authentication(vec![(random_peer_id(), String::from("other_addr"))]).await; test_data.network.emit_event(MockEvent::Messages(vec![( Protocol::Authentication, @@ -782,8 +776,7 @@ mod tests { async fn test_command_add_reserved() { let mut test_data = TestData::prepare().await; - let multiaddress: MockMultiaddress = - (random_authority_id().await, String::from("other_addr")); + let multiaddress: MockMultiaddress = (random_peer_id(), String::from("other_addr")); test_data .mock_io @@ -812,7 +805,7 @@ mod tests { async fn test_command_remove_reserved() { let mut test_data = TestData::prepare().await; - let peer_id = random_authority_id().await; + let peer_id = random_peer_id(); test_data .mock_io diff --git a/finality-aleph/src/testing/mocks/validator_network.rs b/finality-aleph/src/testing/mocks/validator_network.rs index 2ea14775b3..7de0771818 100644 --- a/finality-aleph/src/testing/mocks/validator_network.rs +++ b/finality-aleph/src/testing/mocks/validator_network.rs @@ -2,11 +2,9 @@ use std::{ collections::{BTreeMap, HashMap, HashSet}, io::Result as IoResult, pin::Pin, - sync::Arc, task::{Context, Poll}, }; -use aleph_primitives::{AuthorityId, KEY_TYPE}; use codec::{Decode, Encode, Output}; use futures::{ channel::{mpsc, oneshot}, @@ -15,7 +13,6 @@ use futures::{ use log::info; use rand::{thread_rng, Rng}; use sc_service::{SpawnTaskHandle, TaskManager}; -use sp_keystore::{testing::KeyStore, CryptoStore}; use tokio::{ io::{duplex, AsyncRead, AsyncWrite, DuplexStream, ReadBuf}, runtime::Handle, @@ -23,18 +20,18 @@ use tokio::{ }; use crate::{ - crypto::AuthorityPen, network::{mock::Channel, Data, Multiaddress, NetworkIdentity}, validator_network::{ - mock::random_keys, ConnectionInfo, Dialer as DialerT, Listener as ListenerT, Network, - PeerAddressInfo, Service, Splittable, + mock::{key, random_keys, MockPublicKey, MockSecretKey}, + ConnectionInfo, Dialer as DialerT, Listener as ListenerT, Network, PeerAddressInfo, + SecretKey, Service, Splittable, }, }; -pub type MockMultiaddress = (AuthorityId, String); +pub type MockMultiaddress = (MockPublicKey, String); impl Multiaddress for MockMultiaddress { - type PeerId = AuthorityId; + type PeerId = MockPublicKey; fn get_peer_id(&self) -> Option { Some(self.0.clone()) @@ -50,25 +47,25 @@ impl Multiaddress for MockMultiaddress { #[derive(Clone)] pub struct MockNetwork { - pub add_connection: Channel<(AuthorityId, Vec)>, - pub remove_connection: Channel, - pub send: Channel<(D, AuthorityId)>, + pub add_connection: Channel<(MockPublicKey, Vec)>, + pub remove_connection: Channel, + pub send: Channel<(D, MockPublicKey)>, pub next: Channel, - id: AuthorityId, + id: MockPublicKey, addresses: Vec, } #[async_trait::async_trait] -impl Network for MockNetwork { - fn add_connection(&mut self, peer: AuthorityId, addresses: Vec) { +impl Network for MockNetwork { + fn add_connection(&mut self, peer: MockPublicKey, addresses: Vec) { self.add_connection.send((peer, addresses)); } - fn remove_connection(&mut self, peer: AuthorityId) { + fn remove_connection(&mut self, peer: MockPublicKey) { self.remove_connection.send(peer); } - fn send(&self, data: D, recipient: AuthorityId) { + fn send(&self, data: D, recipient: MockPublicKey) { self.send.send((data, recipient)); } @@ -78,7 +75,7 @@ impl Network for MockNetwork { } impl NetworkIdentity for MockNetwork { - type PeerId = AuthorityId; + type PeerId = MockPublicKey; type Multiaddress = MockMultiaddress; fn identity(&self) -> (Vec, Self::PeerId) { @@ -86,23 +83,32 @@ impl NetworkIdentity for MockNetwork { } } -pub async fn random_authority_id() -> AuthorityId { - let key_store = Arc::new(KeyStore::new()); - key_store - .ed25519_generate_new(KEY_TYPE, None) - .await - .unwrap() - .into() +pub fn random_peer_id() -> MockPublicKey { + key().0 } -pub async fn random_identity(address: String) -> (Vec, AuthorityId) { - let id = random_authority_id().await; +pub fn random_identity_with_address(address: String) -> (Vec, MockPublicKey) { + let id = random_peer_id(); (vec![(id.clone(), address)], id) } +pub fn random_identity() -> (Vec, MockPublicKey) { + random_identity_with_address( + rand::thread_rng() + .sample_iter(&rand::distributions::Alphanumeric) + .map(char::from) + .take(43) + .collect(), + ) +} + +pub fn random_multiaddress() -> MockMultiaddress { + random_identity().0.pop().expect("we created an address") +} + impl MockNetwork { pub async fn new(address: &str) -> Self { - let id = random_authority_id().await; + let id = random_peer_id(); let addresses = vec![(id.clone(), String::from(address))]; MockNetwork { add_connection: Channel::new(), @@ -114,7 +120,7 @@ impl MockNetwork { } } - pub fn from(addresses: Vec, id: AuthorityId) -> Self { + pub fn from(addresses: Vec, id: MockPublicKey) -> Self { MockNetwork { add_connection: Channel::new(), remove_connection: Channel::new(), @@ -272,8 +278,8 @@ impl Splittable for UnreliableSplittable { } type Address = u32; -type Addresses = HashMap>; -type Callers = HashMap; +type Addresses = HashMap>; +type Callers = HashMap; type Connection = UnreliableSplittable; const TWICE_MAX_DATA_SIZE: usize = 32 * 1024 * 1024; @@ -319,7 +325,7 @@ pub struct UnreliableConnectionMaker { } impl UnreliableConnectionMaker { - pub fn new(ids: Vec) -> (Self, Callers, Addresses) { + pub fn new(ids: Vec) -> (Self, Callers, Addresses) { let mut listeners = Vec::with_capacity(ids.len()); let mut callers = HashMap::with_capacity(ids.len()); let (tx_dialer, dialers) = mpsc::unbounded(); @@ -422,18 +428,18 @@ impl Decode for MockData { #[allow(clippy::too_many_arguments)] fn spawn_peer( - pen: AuthorityPen, + secret_key: MockSecretKey, addr: Addresses, n_msg: usize, large_message_interval: Option, corrupted_message_interval: Option, dialer: MockDialer, listener: MockListener, - report: mpsc::UnboundedSender<(AuthorityId, usize)>, + report: mpsc::UnboundedSender<(MockPublicKey, usize)>, spawn_handle: SpawnTaskHandle, ) { - let our_id = pen.authority_id(); - let (service, mut interface) = Service::new(dialer, listener, pen, spawn_handle); + let our_id = secret_key.public_key(); + let (service, mut interface) = Service::new(dialer, listener, secret_key, spawn_handle); // run the service tokio::spawn(async { let (_exit, rx) = oneshot::channel(); @@ -470,7 +476,7 @@ fn spawn_peer( } let data: MockData = MockData::new(thread_rng().gen_range(0..n_msg) as u32, filler_size, decodes); // choose a peer - let peer: AuthorityId = peer_ids[thread_rng().gen_range(0..peer_ids.len())].clone(); + let peer: MockPublicKey = peer_ids[thread_rng().gen_range(0..peer_ids.len())].clone(); // send interface.send(data, peer); }, @@ -502,7 +508,7 @@ pub async fn scenario( let spawn_handle = task_manager.spawn_handle(); // create peer identities info!(target: "validator-network", "generating keys..."); - let keys = random_keys(n_peers).await; + let keys = random_keys(n_peers); info!(target: "validator-network", "done"); // prepare and run the manager let (mut connection_manager, mut callers, addr) = @@ -511,17 +517,17 @@ pub async fn scenario( connection_manager.run(broken_connection_interval).await; }); // channel for receiving status updates from spawned peers - let (tx_report, mut rx_report) = mpsc::unbounded::<(AuthorityId, usize)>(); - let mut reports: BTreeMap = + let (tx_report, mut rx_report) = mpsc::unbounded::<(MockPublicKey, usize)>(); + let mut reports: BTreeMap = keys.keys().cloned().map(|id| (id, 0)).collect(); // spawn peers - for (id, pen) in keys.into_iter() { + for (id, secret_key) in keys.into_iter() { let mut addr = addr.clone(); // do not connect with itself - addr.remove(&pen.authority_id()); + addr.remove(&secret_key.public_key()); let (dialer, listener) = callers.remove(&id).expect("should contain all ids"); spawn_peer( - pen, + secret_key, addr, n_msg, large_message_interval, diff --git a/finality-aleph/src/testing/network.rs b/finality-aleph/src/testing/network.rs index d1f6b36648..13a243001f 100644 --- a/finality-aleph/src/testing/network.rs +++ b/finality-aleph/src/testing/network.rs @@ -4,7 +4,6 @@ use std::{ time::Duration, }; -use aleph_primitives::AuthorityId as MockPeerId; use codec::{Decode, Encode}; use futures::channel::oneshot; use sc_service::TaskManager; @@ -13,15 +12,16 @@ use tokio::{runtime::Handle, task::JoinHandle, time::timeout}; use crate::{ crypto::{AuthorityPen, AuthorityVerifier}, network::{ - mock::{crypto_basics, MockData, MockEvent, MockNetwork, MockPeerId as MockAuthPeerId}, + mock::{crypto_basics, MockData, MockEvent, MockNetwork}, setup_io, testing::{DataInSession, DiscoveryMessage, SessionHandler, VersionedAuthentication}, ConnectionManager, ConnectionManagerConfig, DataNetwork, NetworkIdentity, Protocol, Service as NetworkService, SessionManager, }, testing::mocks::validator_network::{ - random_identity, MockMultiaddress, MockNetwork as MockValidatorNetwork, + random_identity_with_address, MockMultiaddress, MockNetwork as MockValidatorNetwork, }, + validator_network::mock::{key, MockPublicKey}, MillisecsPerBlock, NodeIndex, Recipient, SessionId, SessionPeriod, }; @@ -34,8 +34,8 @@ const NODES_N: usize = 3; struct Authority { pen: AuthorityPen, addresses: Vec, - peer_id: MockPeerId, - auth_peer_id: MockAuthPeerId, + peer_id: MockPublicKey, + auth_peer_id: MockPublicKey, } impl Authority { @@ -47,17 +47,17 @@ impl Authority { self.addresses.clone() } - fn peer_id(&self) -> MockPeerId { + fn peer_id(&self) -> MockPublicKey { self.peer_id.clone() } - fn auth_peer_id(&self) -> MockAuthPeerId { - self.auth_peer_id + fn auth_peer_id(&self) -> MockPublicKey { + self.auth_peer_id.clone() } } impl NetworkIdentity for Authority { - type PeerId = MockPeerId; + type PeerId = MockPublicKey; type Multiaddress = MockMultiaddress; fn identity(&self) -> (Vec, Self::PeerId) { @@ -84,8 +84,8 @@ async fn prepare_one_session_test_data() -> TestData { let (authority_pens, authority_verifier) = crypto_basics(NODES_N).await; let mut authorities = Vec::new(); for (index, p) in authority_pens { - let identity = random_identity(index.0.to_string()).await; - let auth_peer_id = MockAuthPeerId::random(); + let identity = random_identity_with_address(index.0.to_string()); + let auth_peer_id = key().0; authorities.push(Authority { pen: p, addresses: identity.0, @@ -152,7 +152,7 @@ async fn prepare_one_session_test_data() -> TestData { } impl TestData { - fn connect_identity_to_network(&mut self, peer_id: MockAuthPeerId, protocol: Protocol) { + fn connect_identity_to_network(&mut self, peer_id: MockPublicKey, protocol: Protocol) { self.network .emit_event(MockEvent::StreamOpened(peer_id, protocol)); } @@ -248,7 +248,7 @@ impl TestData { &mut self, ) -> Option<( VersionedAuthentication, - MockAuthPeerId, + MockPublicKey, Protocol, )> { loop { @@ -275,7 +275,7 @@ impl TestData { self.network_service_exit_tx.send(()).unwrap(); self.network_manager_handle.await.unwrap(); self.network_service_handle.await.unwrap(); - while let Some(_) = self.network.send_message.try_next().await {} + while self.network.send_message.try_next().await.is_some() {} self.network.close_channels().await; self.validator_network.close_channels().await; } @@ -286,7 +286,7 @@ async fn test_sends_discovery_message() { let session_id = 43; let mut test_data = prepare_one_session_test_data().await; let connected_peer_id = test_data.authorities[1].auth_peer_id(); - test_data.connect_identity_to_network(connected_peer_id, Protocol::Authentication); + test_data.connect_identity_to_network(connected_peer_id.clone(), Protocol::Authentication); let mut data_network = test_data.start_validator_session(0, session_id).await; let handler = test_data.get_session_handler(0, session_id).await; diff --git a/finality-aleph/src/validator_network/manager/direction.rs b/finality-aleph/src/validator_network/manager/direction.rs index 7d32eab0f1..3197b1a12d 100644 --- a/finality-aleph/src/validator_network/manager/direction.rs +++ b/finality-aleph/src/validator_network/manager/direction.rs @@ -84,15 +84,13 @@ impl DirectedPeers { #[cfg(test)] mod tests { - use aleph_primitives::AuthorityId; - use super::DirectedPeers; - use crate::validator_network::mock::key; + use crate::validator_network::mock::{key, MockPublicKey}; type Address = String; - async fn container_with_id() -> (DirectedPeers, AuthorityId) { - let (id, _) = key().await; + fn container_with_id() -> (DirectedPeers, MockPublicKey) { + let (id, _) = key(); let container = DirectedPeers::new(id.clone()); (container, id) } @@ -105,21 +103,18 @@ mod tests { ] } - #[tokio::test] - async fn exactly_one_direction_attempts_connections() { - let (mut container0, id0) = container_with_id().await; - let (mut container1, id1) = container_with_id().await; + #[test] + fn exactly_one_direction_attempts_connections() { + let (mut container0, id0) = container_with_id(); + let (mut container1, id1) = container_with_id(); let addresses = some_addresses(); - assert!( - container0.add_peer(id1, addresses.clone()) - != container1.add_peer(id0, addresses.clone()) - ); + assert!(container0.add_peer(id1, addresses.clone()) != container1.add_peer(id0, addresses)); } - async fn container_with_added_connecting_peer( - ) -> (DirectedPeers, AuthorityId) { - let (mut container0, id0) = container_with_id().await; - let (mut container1, id1) = container_with_id().await; + fn container_with_added_connecting_peer( + ) -> (DirectedPeers, MockPublicKey) { + let (mut container0, id0) = container_with_id(); + let (mut container1, id1) = container_with_id(); let addresses = some_addresses(); match container0.add_peer(id1.clone(), addresses.clone()) { true => (container0, id1), @@ -130,10 +125,10 @@ mod tests { } } - async fn container_with_added_nonconnecting_peer( - ) -> (DirectedPeers, AuthorityId) { - let (mut container0, id0) = container_with_id().await; - let (mut container1, id1) = container_with_id().await; + fn container_with_added_nonconnecting_peer( + ) -> (DirectedPeers, MockPublicKey) { + let (mut container0, id0) = container_with_id(); + let (mut container1, id1) = container_with_id(); let addresses = some_addresses(); match container0.add_peer(id1.clone(), addresses.clone()) { false => (container0, id1), @@ -144,61 +139,61 @@ mod tests { } } - #[tokio::test] - async fn no_connecting_on_subsequent_add() { - let (mut container0, id1) = container_with_added_connecting_peer().await; + #[test] + fn no_connecting_on_subsequent_add() { + let (mut container0, id1) = container_with_added_connecting_peer(); let addresses = some_addresses(); assert!(!container0.add_peer(id1, addresses)); } - #[tokio::test] - async fn peer_addresses_when_connecting() { - let (container0, id1) = container_with_added_connecting_peer().await; + #[test] + fn peer_addresses_when_connecting() { + let (container0, id1) = container_with_added_connecting_peer(); assert!(container0.peer_addresses(&id1).is_some()); } - #[tokio::test] - async fn no_peer_addresses_when_nonconnecting() { - let (container0, id1) = container_with_added_nonconnecting_peer().await; + #[test] + fn no_peer_addresses_when_nonconnecting() { + let (container0, id1) = container_with_added_nonconnecting_peer(); assert!(container0.peer_addresses(&id1).is_none()); } - #[tokio::test] - async fn interested_in_connecting() { - let (container0, id1) = container_with_added_connecting_peer().await; + #[test] + fn interested_in_connecting() { + let (container0, id1) = container_with_added_connecting_peer(); assert!(container0.interested(&id1)); } - #[tokio::test] - async fn interested_in_nonconnecting() { - let (container0, id1) = container_with_added_nonconnecting_peer().await; + #[test] + fn interested_in_nonconnecting() { + let (container0, id1) = container_with_added_nonconnecting_peer(); assert!(container0.interested(&id1)); } - #[tokio::test] - async fn uninterested_in_unknown() { - let (container0, _) = container_with_id().await; - let (_, id1) = container_with_id().await; + #[test] + fn uninterested_in_unknown() { + let (container0, _) = container_with_id(); + let (_, id1) = container_with_id(); assert!(!container0.interested(&id1)); } - #[tokio::test] - async fn connecting_are_outgoing() { - let (container0, id1) = container_with_added_connecting_peer().await; + #[test] + fn connecting_are_outgoing() { + let (container0, id1) = container_with_added_connecting_peer(); assert_eq!(container0.outgoing_peers().collect::>(), vec![&id1]); assert_eq!(container0.incoming_peers().next(), None); } - #[tokio::test] - async fn nonconnecting_are_incoming() { - let (container0, id1) = container_with_added_nonconnecting_peer().await; + #[test] + fn nonconnecting_are_incoming() { + let (container0, id1) = container_with_added_nonconnecting_peer(); assert_eq!(container0.incoming_peers().collect::>(), vec![&id1]); assert_eq!(container0.outgoing_peers().next(), None); } - #[tokio::test] - async fn uninterested_in_removed() { - let (mut container0, id1) = container_with_added_connecting_peer().await; + #[test] + fn uninterested_in_removed() { + let (mut container0, id1) = container_with_added_connecting_peer(); assert!(container0.interested(&id1)); container0.remove_peer(&id1); assert!(!container0.interested(&id1)); diff --git a/finality-aleph/src/validator_network/manager/legacy.rs b/finality-aleph/src/validator_network/manager/legacy.rs index 6e7e13697c..3162161983 100644 --- a/finality-aleph/src/validator_network/manager/legacy.rs +++ b/finality-aleph/src/validator_network/manager/legacy.rs @@ -215,20 +215,19 @@ impl Manager { #[cfg(test)] mod tests { - use aleph_primitives::AuthorityId; use futures::{channel::mpsc, StreamExt}; use super::{AddResult::*, Manager, SendError}; - use crate::validator_network::mock::key; + use crate::validator_network::mock::{key, MockPublicKey}; type Data = String; type Address = String; - #[tokio::test] - async fn add_remove() { - let mut manager = Manager::::new(); - let (peer_id, _) = key().await; - let (peer_id_b, _) = key().await; + #[test] + fn add_remove() { + let mut manager = Manager::::new(); + let (peer_id, _) = key(); + let (peer_id_b, _) = key(); let addresses = vec![ String::from(""), String::from("a/b/c"), @@ -250,9 +249,9 @@ mod tests { #[tokio::test] async fn outgoing() { - let mut manager = Manager::::new(); + let mut manager = Manager::::new(); let data = String::from("DATA"); - let (peer_id, _) = key().await; + let (peer_id, _) = key(); let addresses = vec![ String::from(""), String::from("a/b/c"), @@ -279,10 +278,10 @@ mod tests { assert!(rx.next().await.is_none()); } - #[tokio::test] - async fn incoming() { - let mut manager = Manager::::new(); - let (peer_id, _) = key().await; + #[test] + fn incoming() { + let mut manager = Manager::::new(); + let (peer_id, _) = key(); let addresses = vec![ String::from(""), String::from("a/b/c"), @@ -294,7 +293,7 @@ mod tests { // rx should fail assert!(rx.try_next().expect("channel should be closed").is_none()); // add peer, this time for real - assert!(manager.add_peer(peer_id.clone(), addresses.clone())); + assert!(manager.add_peer(peer_id.clone(), addresses)); let (tx, mut rx) = mpsc::unbounded(); // should just add assert_eq!(manager.add_incoming(peer_id.clone(), tx), Added); diff --git a/finality-aleph/src/validator_network/manager/mod.rs b/finality-aleph/src/validator_network/manager/mod.rs index dd9288e7d7..c309ac5af5 100644 --- a/finality-aleph/src/validator_network/manager/mod.rs +++ b/finality-aleph/src/validator_network/manager/mod.rs @@ -239,21 +239,20 @@ impl Manager { #[cfg(test)] mod tests { - use aleph_primitives::AuthorityId; use futures::{channel::mpsc, StreamExt}; use super::{AddResult::*, Manager, SendError}; - use crate::validator_network::mock::key; + use crate::validator_network::mock::{key, MockPublicKey}; type Data = String; type Address = String; - #[tokio::test] - async fn add_remove() { - let (own_id, _) = key().await; - let mut manager = Manager::::new(own_id); - let (peer_id, _) = key().await; - let (peer_id_b, _) = key().await; + #[test] + fn add_remove() { + let (own_id, _) = key(); + let mut manager = Manager::::new(own_id); + let (peer_id, _) = key(); + let (peer_id_b, _) = key(); let addresses = vec![ String::from(""), String::from("a/b/c"), @@ -282,12 +281,12 @@ mod tests { #[tokio::test] async fn send_receive() { - let (mut connecting_id, _) = key().await; + let (mut connecting_id, _) = key(); let mut connecting_manager = - Manager::::new(connecting_id.clone()); - let (mut listening_id, _) = key().await; + Manager::::new(connecting_id.clone()); + let (mut listening_id, _) = key(); let mut listening_manager = - Manager::::new(listening_id.clone()); + Manager::::new(listening_id.clone()); let data = String::from("DATA"); let addresses = vec![ String::from(""), @@ -311,12 +310,8 @@ mod tests { } else { // We need to switch the names around, because the connection was randomly the // other way around. - let temp_id = connecting_id; - connecting_id = listening_id; - listening_id = temp_id; - let temp_manager = connecting_manager; - connecting_manager = listening_manager; - listening_manager = temp_manager; + std::mem::swap(&mut connecting_id, &mut listening_id); + std::mem::swap(&mut connecting_manager, &mut listening_manager); assert!(connecting_manager.add_peer(listening_id.clone(), addresses.clone())); } // add outgoing to connecting diff --git a/finality-aleph/src/validator_network/mock.rs b/finality-aleph/src/validator_network/mock.rs index 383a365501..37858f5858 100644 --- a/finality-aleph/src/validator_network/mock.rs +++ b/finality-aleph/src/validator_network/mock.rs @@ -1,43 +1,87 @@ -use std::sync::Arc; -#[cfg(test)] use std::{ collections::HashMap, + fmt::{Display, Error as FmtError, Formatter}, io::Result as IoResult, pin::Pin, task::{Context, Poll}, }; -use aleph_primitives::{AuthorityId, KEY_TYPE}; -use sp_keystore::{testing::KeyStore, CryptoStore}; +use codec::{Decode, Encode}; use tokio::io::{duplex, AsyncRead, AsyncWrite, DuplexStream, ReadBuf}; use crate::{ - crypto::AuthorityPen, - validator_network::{ConnectionInfo, PeerAddressInfo, Splittable}, + network::PeerId, + validator_network::{ConnectionInfo, PeerAddressInfo, PublicKey, SecretKey, Splittable}, }; -/// Create a random authority id and pen pair. -pub async fn key() -> (AuthorityId, AuthorityPen) { - let keystore = Arc::new(KeyStore::new()); - let id: AuthorityId = keystore - .ed25519_generate_new(KEY_TYPE, None) - .await - .unwrap() - .into(); - let pen = AuthorityPen::new(id.clone(), keystore) - .await - .expect("keys shoud sign successfully"); - (id, pen) +/// A mock secret key that is able to sign messages. +#[derive(Debug, PartialEq, Eq, Clone, Hash)] +pub struct MockSecretKey([u8; 4]); + +/// A mock public key for verifying signatures. +#[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Clone, Hash, Encode, Decode)] +pub struct MockPublicKey([u8; 4]); + +impl Display for MockPublicKey { + fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), FmtError> { + write!(f, "PublicKey({:?})", self.0) + } +} + +impl AsRef<[u8]> for MockPublicKey { + fn as_ref(&self) -> &[u8] { + self.0.as_ref() + } +} + +/// A mock signature, able to discern whether the correct key has been used to sign a specific +/// message. +#[derive(Debug, PartialEq, Eq, Clone, Hash, Encode, Decode)] +pub struct MockSignature { + message: Vec, + key_id: [u8; 4], +} + +impl PublicKey for MockPublicKey { + type Signature = MockSignature; + + fn verify(&self, message: &[u8], signature: &Self::Signature) -> bool { + (message == signature.message.as_slice()) && (self.0 == signature.key_id) + } +} + +impl PeerId for MockPublicKey {} + +#[async_trait::async_trait] +impl SecretKey for MockSecretKey { + type Signature = MockSignature; + type PublicKey = MockPublicKey; + + async fn sign(&self, message: &[u8]) -> Self::Signature { + MockSignature { + message: message.to_vec(), + key_id: self.0, + } + } + + fn public_key(&self) -> Self::PublicKey { + MockPublicKey(self.0) + } +} + +/// Create a random key pair. +pub fn key() -> (MockPublicKey, MockSecretKey) { + let secret_key = MockSecretKey(rand::random()); + (secret_key.public_key(), secret_key) } -/// Create a HashMap with authority ids as keys and pens as values. -pub async fn random_keys(n_peers: usize) -> HashMap { +/// Create a HashMap with public keys as keys and secret keys as values. +pub fn random_keys(n_peers: usize) -> HashMap { let mut result = HashMap::with_capacity(n_peers); - for _ in 0..n_peers { - let (id, pen) = key().await; - result.insert(id, pen); + while result.len() < n_peers { + let (pk, sk) = key(); + result.insert(pk, sk); } - assert_eq!(result.len(), n_peers); result } diff --git a/finality-aleph/src/validator_network/protocols/handshake.rs b/finality-aleph/src/validator_network/protocols/handshake.rs index 3286d5733e..d436fca91b 100644 --- a/finality-aleph/src/validator_network/protocols/handshake.rs +++ b/finality-aleph/src/validator_network/protocols/handshake.rs @@ -182,23 +182,19 @@ pub async fn v0_handshake_outgoing( #[cfg(test)] mod tests { - use aleph_primitives::AuthorityId; use futures::{join, try_join}; use super::{ execute_v0_handshake_incoming, execute_v0_handshake_outgoing, Challenge, HandshakeError, Response, }; - use crate::{ - crypto::AuthorityPen, - validator_network::{ - io::{receive_data, send_data}, - mock::{key, MockSplittable}, - Splittable, - }, + use crate::validator_network::{ + io::{receive_data, send_data}, + mock::{key, MockPublicKey, MockSecretKey, MockSplittable}, + SecretKey, Splittable, }; - fn assert_send_error(result: Result>) { + fn assert_send_error(result: Result>) { match result { Err(HandshakeError::SendError(_)) => (), x => panic!( @@ -208,7 +204,7 @@ mod tests { }; } - fn assert_receive_error(result: Result>) { + fn assert_receive_error(result: Result>) { match result { Err(HandshakeError::ReceiveError(_)) => (), x => panic!( @@ -218,7 +214,9 @@ mod tests { }; } - fn assert_signature_error(result: Result>) { + fn assert_signature_error( + result: Result>, + ) { match result { Err(HandshakeError::SignatureError) => (), x => panic!( @@ -228,7 +226,9 @@ mod tests { }; } - fn assert_challenge_error(result: Result>) { + fn assert_challenge_error( + result: Result>, + ) { match result { Err(HandshakeError::ChallengeError(_, _)) => (), x => panic!( @@ -241,8 +241,8 @@ mod tests { #[tokio::test] async fn handshake() { let (stream_a, stream_b) = MockSplittable::new(4096); - let (id_a, pen_a) = key().await; - let (id_b, pen_b) = key().await; + let (id_a, pen_a) = key(); + let (id_b, pen_b) = key(); assert_ne!(id_a, id_b); let ((_, _, received_id_b), (_, _)) = try_join!( execute_v0_handshake_incoming(stream_a, pen_a), @@ -255,7 +255,7 @@ mod tests { #[tokio::test] async fn handshake_with_malicious_server_peer() { async fn execute_malicious_v0_handshake_incoming(stream: S) { - let (fake_id, _) = key().await; + let (fake_id, _) = key(); // send challenge with incorrect id let our_challenge = Challenge::new(fake_id); send_data(stream, our_challenge.clone()) @@ -266,8 +266,8 @@ mod tests { } let (stream_a, stream_b) = MockSplittable::new(4096); - let (id_a, _) = key().await; - let (_, pen_b) = key().await; + let (id_a, _) = key(); + let (_, pen_b) = key(); tokio::select! { _ = execute_malicious_v0_handshake_incoming(stream_a) => panic!("should wait"), result = execute_v0_handshake_outgoing(stream_b, pen_b, id_a) => assert_challenge_error(result), @@ -278,24 +278,24 @@ mod tests { async fn handshake_with_malicious_client_peer_fake_challenge() { pub async fn execute_malicious_v0_handshake_outgoing_fake_challenge( stream: S, - authority_pen: AuthorityPen, + secret_key: MockSecretKey, ) { // receive challenge - let (stream, _) = receive_data::<_, Challenge>(stream) + let (stream, _) = receive_data::<_, Challenge>(stream) .await .expect("should receive"); // prepare fake challenge - let (fake_id, _) = key().await; + let (fake_id, _) = key(); let fake_challenge = Challenge::new(fake_id); // send response with substituted challenge - let our_response = Response::new(&authority_pen, &fake_challenge).await; + let our_response = Response::new(&secret_key, &fake_challenge).await; send_data(stream, our_response).await.expect("should send"); futures::future::pending::<()>().await; } let (stream_a, stream_b) = MockSplittable::new(4096); - let (_, pen_a) = key().await; - let (_, pen_b) = key().await; + let (_, pen_a) = key(); + let (_, pen_b) = key(); tokio::select! { result = execute_v0_handshake_incoming(stream_a, pen_a) => assert_signature_error(result), _ = execute_malicious_v0_handshake_outgoing_fake_challenge(stream_b, pen_b) => panic!("should wait"), @@ -306,24 +306,24 @@ mod tests { async fn handshake_with_malicious_client_peer_fake_signature() { pub async fn execute_malicious_v0_handshake_outgoing_fake_signature( stream: S, - authority_pen: AuthorityPen, + secret_key: MockSecretKey, ) { // receive challenge - let (stream, challenge) = receive_data::<_, Challenge>(stream) + let (stream, challenge) = receive_data::<_, Challenge>(stream) .await .expect("should receive"); // prepare fake id - let (fake_id, _) = key().await; + let (fake_id, _) = key(); // send response with substituted id - let mut our_response = Response::new(&authority_pen, &challenge).await; + let mut our_response = Response::new(&secret_key, &challenge).await; our_response.public_key = fake_id; send_data(stream, our_response).await.expect("should send"); futures::future::pending::<()>().await; } let (stream_a, stream_b) = MockSplittable::new(4096); - let (_, pen_a) = key().await; - let (_, pen_b) = key().await; + let (_, pen_a) = key(); + let (_, pen_b) = key(); tokio::select! { result = execute_v0_handshake_incoming(stream_a, pen_a) => assert_signature_error(result), _ = execute_malicious_v0_handshake_outgoing_fake_signature(stream_b, pen_b) => panic!("should wait"), @@ -334,19 +334,19 @@ mod tests { async fn broken_incoming_connection_step_one() { // break the connection even before the handshake starts by dropping the stream let (stream_a, _) = MockSplittable::new(4096); - let (_, pen_a) = key().await; + let (_, pen_a) = key(); assert_send_error(execute_v0_handshake_incoming(stream_a, pen_a).await); } #[tokio::test] async fn broken_incoming_connection_step_two() { let (stream_a, stream_b) = MockSplittable::new(4096); - let (_, pen_a) = key().await; + let (_, pen_a) = key(); let (result, _) = join!( execute_v0_handshake_incoming(stream_a, pen_a), // mock outgoing handshake: receive the first message and terminate async { - receive_data::<_, Challenge>(stream_b) + receive_data::<_, Challenge>(stream_b) .await .expect("should receive"); }, @@ -358,18 +358,18 @@ mod tests { async fn broken_outgoing_connection_step_one() { // break the connection even before the handshake starts by dropping the stream let (stream_a, _) = MockSplittable::new(4096); - let (_, pen_a) = key().await; - let (id_b, _) = key().await; + let (_, pen_a) = key(); + let (id_b, _) = key(); assert_receive_error(execute_v0_handshake_outgoing(stream_a, pen_a, id_b).await); } #[tokio::test] async fn broken_outgoing_connection_step_two() { let (stream_a, stream_b) = MockSplittable::new(4096); - let (id_a, pen_a) = key().await; - let (_, pen_b) = key().await; + let (id_a, pen_a) = key(); + let (_, pen_b) = key(); // mock incoming handshake: send the first message and terminate - send_data(stream_a, Challenge::new(pen_a.authority_id())) + send_data(stream_a, Challenge::new(pen_a.public_key())) .await .expect("should send"); assert_send_error(execute_v0_handshake_outgoing(stream_b, pen_b, id_a).await); diff --git a/finality-aleph/src/validator_network/protocols/v0/mod.rs b/finality-aleph/src/validator_network/protocols/v0/mod.rs index c0c1af3ea0..7510f71b6e 100644 --- a/finality-aleph/src/validator_network/protocols/v0/mod.rs +++ b/finality-aleph/src/validator_network/protocols/v0/mod.rs @@ -113,36 +113,32 @@ pub async fn incoming( #[cfg(test)] mod tests { - use aleph_primitives::AuthorityId; use futures::{ channel::{mpsc, mpsc::UnboundedReceiver}, pin_mut, FutureExt, StreamExt, }; use super::{incoming, outgoing, ProtocolError}; - use crate::{ - crypto::AuthorityPen, - validator_network::{ - mock::{key, MockSplittable}, - protocols::{ConnectionType, ResultForService}, - Data, - }, + use crate::validator_network::{ + mock::{key, MockPublicKey, MockSecretKey, MockSplittable}, + protocols::{ConnectionType, ResultForService}, + Data, }; - async fn prepare() -> ( - AuthorityId, - AuthorityPen, - AuthorityId, - AuthorityPen, - impl futures::Future>>, - impl futures::Future>>, + fn prepare() -> ( + MockPublicKey, + MockSecretKey, + MockPublicKey, + MockSecretKey, + impl futures::Future>>, + impl futures::Future>>, UnboundedReceiver, - UnboundedReceiver>, - UnboundedReceiver>, + UnboundedReceiver>, + UnboundedReceiver>, ) { let (stream_incoming, stream_outgoing) = MockSplittable::new(4096); - let (id_incoming, pen_incoming) = key().await; - let (id_outgoing, pen_outgoing) = key().await; + let (id_incoming, pen_incoming) = key(); + let (id_outgoing, pen_outgoing) = key(); assert_ne!(id_incoming, id_outgoing); let (incoming_result_for_service, result_from_incoming) = mpsc::unbounded(); let (outgoing_result_for_service, result_from_outgoing) = mpsc::unbounded(); @@ -184,7 +180,7 @@ mod tests { mut data_from_incoming, _result_from_incoming, mut result_from_outgoing, - ) = prepare::>().await; + ) = prepare::>(); let incoming_handle = incoming_handle.fuse(); let outgoing_handle = outgoing_handle.fuse(); pin_mut!(incoming_handle); @@ -233,7 +229,7 @@ mod tests { _data_from_incoming, mut result_from_incoming, _result_from_outgoing, - ) = prepare::>().await; + ) = prepare::>(); let incoming_handle = incoming_handle.fuse(); let outgoing_handle = outgoing_handle.fuse(); pin_mut!(incoming_handle); @@ -265,7 +261,7 @@ mod tests { _data_from_incoming, result_from_incoming, _result_from_outgoing, - ) = prepare::>().await; + ) = prepare::>(); std::mem::drop(result_from_incoming); let incoming_handle = incoming_handle.fuse(); let outgoing_handle = outgoing_handle.fuse(); @@ -293,7 +289,7 @@ mod tests { data_from_incoming, _result_from_incoming, mut result_from_outgoing, - ) = prepare::>().await; + ) = prepare::>(); std::mem::drop(data_from_incoming); let incoming_handle = incoming_handle.fuse(); let outgoing_handle = outgoing_handle.fuse(); @@ -334,7 +330,7 @@ mod tests { _data_from_incoming, _result_from_incoming, _result_from_outgoing, - ) = prepare::>().await; + ) = prepare::>(); std::mem::drop(outgoing_handle); match incoming_handle.await { Err(ProtocolError::HandshakeError(_)) => (), @@ -355,7 +351,7 @@ mod tests { _data_from_incoming, mut result_from_incoming, _result_from_outgoing, - ) = prepare::>().await; + ) = prepare::>(); let incoming_handle = incoming_handle.fuse(); pin_mut!(incoming_handle); let (_, _exit, connection_type) = tokio::select! { @@ -384,7 +380,7 @@ mod tests { _data_from_incoming, _result_from_incoming, _result_from_outgoing, - ) = prepare::>().await; + ) = prepare::>(); std::mem::drop(incoming_handle); match outgoing_handle.await { Err(ProtocolError::HandshakeError(_)) => (), @@ -405,7 +401,7 @@ mod tests { _data_from_incoming, mut result_from_incoming, _result_from_outgoing, - ) = prepare::>().await; + ) = prepare::>(); let outgoing_handle = outgoing_handle.fuse(); pin_mut!(outgoing_handle); let (_, _exit, connection_type) = tokio::select! { @@ -436,7 +432,7 @@ mod tests { _data_from_incoming, mut result_from_incoming, _result_from_outgoing, - ) = prepare::>().await; + ) = prepare::>(); let outgoing_handle = outgoing_handle.fuse(); pin_mut!(outgoing_handle); let (_, _exit, connection_type) = tokio::select! { diff --git a/finality-aleph/src/validator_network/protocols/v1/mod.rs b/finality-aleph/src/validator_network/protocols/v1/mod.rs index 372a00dfac..ca138f9170 100644 --- a/finality-aleph/src/validator_network/protocols/v1/mod.rs +++ b/finality-aleph/src/validator_network/protocols/v1/mod.rs @@ -133,37 +133,33 @@ pub async fn incoming( #[cfg(test)] mod tests { - use aleph_primitives::AuthorityId; use futures::{ channel::{mpsc, mpsc::UnboundedReceiver}, pin_mut, FutureExt, StreamExt, }; use super::{incoming, outgoing, ProtocolError}; - use crate::{ - crypto::AuthorityPen, - validator_network::{ - mock::{key, MockSplittable}, - protocols::{ConnectionType, ResultForService}, - Data, - }, + use crate::validator_network::{ + mock::{key, MockPublicKey, MockSecretKey, MockSplittable}, + protocols::{ConnectionType, ResultForService}, + Data, }; - async fn prepare() -> ( - AuthorityId, - AuthorityPen, - AuthorityId, - AuthorityPen, - impl futures::Future>>, - impl futures::Future>>, + fn prepare() -> ( + MockPublicKey, + MockSecretKey, + MockPublicKey, + MockSecretKey, + impl futures::Future>>, + impl futures::Future>>, UnboundedReceiver, UnboundedReceiver, - UnboundedReceiver>, - UnboundedReceiver>, + UnboundedReceiver>, + UnboundedReceiver>, ) { let (stream_incoming, stream_outgoing) = MockSplittable::new(4096); - let (id_incoming, pen_incoming) = key().await; - let (id_outgoing, pen_outgoing) = key().await; + let (id_incoming, pen_incoming) = key(); + let (id_outgoing, pen_outgoing) = key(); assert_ne!(id_incoming, id_outgoing); let (incoming_result_for_service, result_from_incoming) = mpsc::unbounded(); let (outgoing_result_for_service, result_from_outgoing) = mpsc::unbounded(); @@ -209,7 +205,7 @@ mod tests { mut data_from_outgoing, mut result_from_incoming, mut result_from_outgoing, - ) = prepare::>().await; + ) = prepare::>(); let incoming_handle = incoming_handle.fuse(); let outgoing_handle = outgoing_handle.fuse(); pin_mut!(incoming_handle); @@ -289,7 +285,7 @@ mod tests { _data_from_outgoing, mut result_from_incoming, _result_from_outgoing, - ) = prepare::>().await; + ) = prepare::>(); let incoming_handle = incoming_handle.fuse(); let outgoing_handle = outgoing_handle.fuse(); pin_mut!(incoming_handle); @@ -322,7 +318,7 @@ mod tests { _data_from_outgoing, result_from_incoming, _result_from_outgoing, - ) = prepare::>().await; + ) = prepare::>(); std::mem::drop(result_from_incoming); let incoming_handle = incoming_handle.fuse(); let outgoing_handle = outgoing_handle.fuse(); @@ -351,7 +347,7 @@ mod tests { _data_from_outgoing, _result_from_incoming, mut result_from_outgoing, - ) = prepare::>().await; + ) = prepare::>(); std::mem::drop(data_from_incoming); let incoming_handle = incoming_handle.fuse(); let outgoing_handle = outgoing_handle.fuse(); @@ -393,7 +389,7 @@ mod tests { _data_from_outgoing, _result_from_incoming, _result_from_outgoing, - ) = prepare::>().await; + ) = prepare::>(); std::mem::drop(outgoing_handle); match incoming_handle.await { Err(ProtocolError::HandshakeError(_)) => (), @@ -415,7 +411,7 @@ mod tests { _data_from_outgoing, mut result_from_incoming, _result_from_outgoing, - ) = prepare::>().await; + ) = prepare::>(); let incoming_handle = incoming_handle.fuse(); pin_mut!(incoming_handle); let (_, _exit, connection_type) = tokio::select! { @@ -445,7 +441,7 @@ mod tests { _data_from_outgoing, _result_from_incoming, _result_from_outgoing, - ) = prepare::>().await; + ) = prepare::>(); std::mem::drop(incoming_handle); match outgoing_handle.await { Err(ProtocolError::HandshakeError(_)) => (), From 83c63fe5f6e41c7f031f0641aaee5345afe8a08c Mon Sep 17 00:00:00 2001 From: fixxxedpoint Date: Tue, 29 Nov 2022 02:07:40 +0100 Subject: [PATCH 020/212] network delay (#762) * docker related configs for network-delay tests * shell script for simple network-delay test * - renamed dockerfile for network tests - chmod +x for network_tests scripts * added common.sh for scripts; more user friendly run_consensus_network_delay.sh * refactored run_consensus_network_delay.sh * checking relative-finalization --- docker/Dockerfile.network_tests | 5 ++ docker/docker-compose.network_tests.yml | 50 +++++++++++ scripts/catchup_version_upgrade_test.sh | 71 +-------------- scripts/common.sh | 112 ++++++++++++++++++++++++ scripts/run_consensus_network_delay.sh | 110 +++++++++++++++++++++++ 5 files changed, 278 insertions(+), 70 deletions(-) create mode 100644 docker/Dockerfile.network_tests create mode 100644 docker/docker-compose.network_tests.yml create mode 100644 scripts/common.sh create mode 100755 scripts/run_consensus_network_delay.sh diff --git a/docker/Dockerfile.network_tests b/docker/Dockerfile.network_tests new file mode 100644 index 0000000000..18741d6f19 --- /dev/null +++ b/docker/Dockerfile.network_tests @@ -0,0 +1,5 @@ +FROM aleph-node:latest + +RUN apt update && \ + apt install curl iproute2 iputils-ping net-tools netwox tcpdump gdb gdbserver -y && \ + apt clean diff --git a/docker/docker-compose.network_tests.yml b/docker/docker-compose.network_tests.yml new file mode 100644 index 0000000000..c437d05bc1 --- /dev/null +++ b/docker/docker-compose.network_tests.yml @@ -0,0 +1,50 @@ +services: + Node0: + image: aleph-node:network_tests + networks: + - main + environment: + - PURGE_BEFORE_START=false + cap_add: + - NET_ADMIN + - SYS_PTRACE + + Node1: + image: aleph-node:network_tests + networks: + - main + environment: + - PURGE_BEFORE_START=false + cap_add: + - NET_ADMIN + - SYS_PTRACE + + Node2: + image: aleph-node:network_tests + networks: + - main + environment: + - PURGE_BEFORE_START=false + cap_add: + - NET_ADMIN + - SYS_PTRACE + + Node3: + image: aleph-node:network_tests + networks: + - main + environment: + - PURGE_BEFORE_START=false + cap_add: + - NET_ADMIN + - SYS_PTRACE + + Node4: + image: aleph-node:network_tests + networks: + - main + environment: + - PURGE_BEFORE_START=false + cap_add: + - NET_ADMIN + - SYS_PTRACE diff --git a/scripts/catchup_version_upgrade_test.sh b/scripts/catchup_version_upgrade_test.sh index fdfd440ee0..9f42d5fb55 100755 --- a/scripts/catchup_version_upgrade_test.sh +++ b/scripts/catchup_version_upgrade_test.sh @@ -14,42 +14,12 @@ ALL_NODES_PORTS=${ALL_NODES_PORTS:-"9933:9934:9935:9936:9937"} WAIT_BLOCKS=${WAIT_BLOCKS:-30} EXT_STATUS=${EXT_STATUS:-"in-block"} -function log() { - echo $1 1>&2 -} - -function into_array() { - result=() - local tmp=$IFS - IFS=: - for e in $1; do - result+=($e) - done - IFS=$tmp -} +source ./scripts/common.sh function initialize { wait_for_finalized_block $1 $2 $3 } -function wait_for_finalized_block() { - local block_to_be_finalized=$1 - local node=$2 - local port=$3 - - while [[ $(get_best_finalized $node $port) -le $block_to_be_finalized ]]; do - sleep 3 - done -} - -function get_best_finalized { - local validator=$1 - local rpc_port=$2 - - local best_finalized=$(VALIDATOR=$validator RPC_HOST="127.0.0.1" RPC_PORT=$rpc_port ./.github/scripts/check_finalization.sh | sed 's/Last finalized block number: "\(.*\)"/\1/') - printf "%d" $best_finalized -} - function set_upgrade_session { local session=$1 local version=$2 @@ -110,45 +80,6 @@ function disconnect_nodes { done } -function wait_for_block { - local block=$1 - local validator=$2 - local rpc_port=$3 - - local last_block="" - while [[ -z "$last_block" ]]; do - last_block=$(docker run --rm --network container:$validator appropriate/curl:latest \ - -H "Content-Type: application/json" \ - -d '{"id":1, "jsonrpc":"2.0", "method": "chain_getBlockHash", "params": '$block'}' http://127.0.0.1:$rpc_port | jq '.result') - done -} - -function get_last_block { - local validator=$1 - local rpc_port=$2 - - local last_block_number=$(docker run --rm --network container:$validator appropriate/curl:latest \ - -H "Content-Type: application/json" \ - -d '{"id":1, "jsonrpc":"2.0", "method": "chain_getBlock"}' http://127.0.0.1:$rpc_port | jq '.result.block.header.number') - printf "%d" $last_block_number -} - -function check_finalization { - local block_to_check=$1 - local -n nodes=$2 - local -n ports=$3 - - log "checking finalization for block $block_to_check" - - for i in "${!nodes[@]}"; do - local node=${nodes[$i]} - local rpc_port=${ports[$i]} - - log "checking finalization at node $node" - wait_for_finalized_block $block_to_check $node $rpc_port - done -} - into_array $NODES NODES=(${result[@]}) diff --git a/scripts/common.sh b/scripts/common.sh new file mode 100644 index 0000000000..7e575d265b --- /dev/null +++ b/scripts/common.sh @@ -0,0 +1,112 @@ +#!/bin/env bash + +function log() { + echo $1 1>&2 +} + +function into_array() { + result=() + local tmp=$IFS + IFS=: + for e in $1; do + result+=($e) + done + IFS=$tmp +} + +function check_finalization() { + local block_to_check=$1 + local -n nodes=$2 + local -n ports=$3 + + log "checking finalization for block $block_to_check" + + for i in "${!nodes[@]}"; do + local node=${nodes[$i]} + local rpc_port=${ports[$i]} + + log "checking finalization at node $node" + wait_for_finalized_block $block_to_check $node $rpc_port + done +} + +function check_relative_finalization_at_node() { + local node=$1 + local rpc_port=$2 + local awaited_blocks=$3 + + local last_block=$(get_last_block $node $rpc_port) + local awaited_finalized=$(($last_block+$awaited_blocks)) + + log "Last block seen at node $node was $last_block, awaiting block $awaited_finalized to be finalized" + + wait_for_finalized_block $awaited_finalized $node $rpc_port +} + +function check_relative_finalization() { + local awaited_blocks=$1 + local -n nodes=$2 + local -n ports=$3 + + log "checking finalization for $awaited_blocks block(s) in the future" + + for i in "${!nodes[@]}"; do + local node=${nodes[$i]} + local rpc_port=${ports[$i]} + + log "checking finalization at node $node (${node}:$rpc_port)" + check_relative_finalization_at_node $node $rpc_port $awaited_blocks + done +} + +function get_best_finalized() { + local validator=$1 + local rpc_port=$2 + + local best_finalized=$(VALIDATOR=$validator RPC_HOST="127.0.0.1" RPC_PORT=$rpc_port ./.github/scripts/check_finalization.sh | sed 's/Last finalized block number: "\(.*\)"/\1/') + printf "%d" $best_finalized +} + +function wait_for_finalized_block() { + local block_to_be_finalized=$1 + local node=$2 + local port=$3 + + while [[ $(get_best_finalized $node $port) -le $block_to_be_finalized ]]; do + sleep 3 + done +} + +function wait_for_block() { + local block=$1 + local validator=$2 + local rpc_port=$3 + + local last_block="" + while [[ -z "$last_block" ]]; do + last_block=$(docker run --rm --network container:$validator appropriate/curl:latest \ + -H "Content-Type: application/json" \ + -d '{"id":1, "jsonrpc":"2.0", "method": "chain_getBlockHash", "params": '$block'}' http://127.0.0.1:$rpc_port | jq '.result') + done +} + +function retrieve_last_block() { + local validator=$1 + local rpc_port=$2 + + docker run --rm --network container:$validator appropriate/curl:latest \ + -H "Content-Type: application/json" \ + -d '{"id":1, "jsonrpc":"2.0", "method": "chain_getBlock"}' http://127.0.0.1:$rpc_port | jq '.result.block.header.number' +} + +function get_last_block() { + local validator=$1 + local rpc_port=$2 + + local last_block=0 + while [[ -z "$last_block" ]]; do + last_block=$(retrieve_last_block $validator $rpc_port) + sleep 1 + done + printf "%d" $last_block +} diff --git a/scripts/run_consensus_network_delay.sh b/scripts/run_consensus_network_delay.sh new file mode 100755 index 0000000000..133a57f643 --- /dev/null +++ b/scripts/run_consensus_network_delay.sh @@ -0,0 +1,110 @@ +#!/bin/env bash + +set -euo pipefail + +source ./scripts/common.sh + +function usage(){ + cat << EOF +Usage: + $0 + --network-delays "500:300" + list of delays for each node in ms; default="500:500:500:500:500" + --no-build-image + skip docker image build + --nodes "Node0:9933:Node1:9934" + list of pairs node:rpc_port; default="Node0:9933:Node1:9934:Node2:9935:Node3:9936:Node4:9937" + --check-block number + check finalization for a given block number, 0 means no-check; default=42 +EOF + exit 0 +} + +function build_test_image() { + docker build -t aleph-node:network_tests -f docker/Dockerfile.network_tests . +} + +function set_network_delay() { + local node=$1 + local delay=$2 + + log "setting network delay for node $node" + docker exec $node tc qdisc add dev eth1 root netem delay ${delay}ms +} + +while [[ $# -gt 0 ]]; do + case $1 in + --network-delays) + NETWORK_DELAYS="$2" + shift;shift + ;; + --no-build-image) + BUILD_IMAGE=false + shift + ;; + --nodes) + NODES="$2" + shift;shift + ;; + --check-block) + CHECK_BLOCK_FINALIZATION="$2" + shift;shift + ;; + --help) + usage + shift + ;; + *) + error "Unrecognized argument $1!" + ;; + esac +done + +NETWORK_DELAYS=${NETWORK_DELAYS:-"500:500:500:500:500"} +BUILD_IMAGE=${BUILD_IMAGE:-true} +NODE_PAIRS=${NODES:-"Node0:9933:Node1:9934:Node2:9935:Node3:9936:Node4:9937"} +NODES_PORTS=${NODES_PORTS:-"9933:9934:9935:9936:9937"} +CHECK_BLOCK_FINALIZATION=${CHECK_BLOCK_FINALIZATION:-44} + +into_array $NETWORK_DELAYS +NETWORK_DELAYS=(${result[@]}) + +into_array $NODE_PAIRS +NODE_PAIRS=(${result[@]}) +NODES=() +NODES_PORTS=() +for ((i=0; i<${#NODE_PAIRS[@]}; i+=2)); do + node=${NODE_PAIRS[$i]} + port=${NODE_PAIRS[(($i + 1))]} + + NODES+=($node) + NODES_PORTS+=($port) +done + + +if [[ "$BUILD_IMAGE" = true ]]; then + log "building custom docker image for network tests" + build_test_image +fi + +log "starting network" +OVERRIDE_DOCKER_COMPOSE=./docker/docker-compose.network_tests.yml DOCKER_COMPOSE=./docker/docker-compose.bridged.yml ./.github/scripts/run_consensus.sh 1>&2 +log "network started" + +for i in "${!NODES[@]}"; do + node=${NODES[$i]} + delay=${NETWORK_DELAYS[$i]} + log "setting network delay for node $node to ${delay}ms" + + set_network_delay $node $delay +done + +if [[ $CHECK_BLOCK_FINALIZATION -gt 0 ]]; then + log "checking finalization" + check_relative_finalization $CHECK_BLOCK_FINALIZATION NODES NODES_PORTS + log "finalization checked" +fi + +log "done" + +exit 0 From 4ca112381973b10e62317674c8993f3d474ed428 Mon Sep 17 00:00:00 2001 From: timorl Date: Tue, 29 Nov 2022 11:39:54 +0100 Subject: [PATCH 021/212] A0-1635: Limit nonfinalized block production (#769) * Limit nonfinalized block production * Better saturation handling * Add log when delaying block production * Disable two tests that were operating under outdated assumptions * Disable one more test --- .github/workflows/e2e-tests-main-devnet.yml | 200 ++++++++++---------- Cargo.lock | 2 + bin/node/Cargo.toml | 2 + bin/node/src/aleph_cli.rs | 14 ++ bin/node/src/service.rs | 30 ++- 5 files changed, 147 insertions(+), 101 deletions(-) diff --git a/.github/workflows/e2e-tests-main-devnet.yml b/.github/workflows/e2e-tests-main-devnet.yml index 4496db3c09..9f1547e4c8 100644 --- a/.github/workflows/e2e-tests-main-devnet.yml +++ b/.github/workflows/e2e-tests-main-devnet.yml @@ -439,23 +439,23 @@ jobs: follow-up-finalization-check: true timeout-minutes: 10 - run-e2e-authorities-are-staking: - needs: [build-test-docker, build-test-client] - name: Run authorities are staking test - runs-on: ubuntu-20.04 - steps: - - name: Checkout source code - uses: actions/checkout@v2 - - - name: Run e2e test - uses: ./.github/actions/run-e2e-test - with: - test-case: authorities_are_staking - node-count: 6 - reserved-seats: 3 - non-reserved-seats: 3 - follow-up-finalization-check: false - timeout-minutes: 15 +# run-e2e-authorities-are-staking: +# needs: [build-test-docker, build-test-client] +# name: Run authorities are staking test +# runs-on: ubuntu-20.04 +# steps: +# - name: Checkout source code +# uses: actions/checkout@v2 +# +# - name: Run e2e test +# uses: ./.github/actions/run-e2e-test +# with: +# test-case: authorities_are_staking +# node-count: 6 +# reserved-seats: 3 +# non-reserved-seats: 3 +# follow-up-finalization-check: false +# timeout-minutes: 15 run-e2e-ban-automatic: needs: [build-test-docker, build-test-client] @@ -535,85 +535,87 @@ jobs: UPGRADE_FINALIZATION_WAIT_SESSIONS: 2 timeout-minutes: 10 - run-e2e-failing-version-upgrade: - needs: [build-test-docker, build-test-client] - name: Run basic (failing) version-upgrade test - runs-on: ubuntu-20.04 - steps: - - name: Checkout source code - uses: actions/checkout@v2 - - - name: Run e2e test - uses: ./.github/actions/run-e2e-test - with: - test-case: doomed_version_upgrade - env: - OVERRIDE_DOCKER_COMPOSE: ./.github/scripts/docker-compose.no_quorum_without_old.override.yml - UPGRADE_VERSION: 1 - UPGRADE_SESSION: 3 - UPGRADE_FINALIZATION_WAIT_SESSIONS: 2 - ONLY_LEGACY: true - timeout-minutes: 10 - - run-e2e-version-upgrade-catchup: - needs: [build-test-docker, build-cliain-image] - name: Run series of tests where some of the nodes need to do version-upgrade during catch-up - runs-on: ubuntu-20.04 - strategy: - matrix: - include: - - nodes: "Node1" - ports: "9934" - ext_status: "finalized" - upgrade_before_disable: "true" - - - nodes: "Node1" - ports: "9934" - ext_status: "finalized" - upgrade_before_disable: "false" - - - nodes: "Node1:Node2" - ports: "9934:9935" - ext_status: "in-block" - upgrade_before_disable: "true" - - - nodes: "Node1:Node2" - ports: "9934:9935" - ext_status: "in-block" - upgrade_before_disable: "false" - steps: - - name: Checkout source code - uses: actions/checkout@v2 - - - name: Download artifact with docker image for aleph-node - uses: actions/download-artifact@v2 - with: - name: aleph-test-docker - - - name: Load node docker image - shell: bash - run: docker load -i aleph-node.tar - - - name: Download artifact with docker image for cliain - uses: actions/download-artifact@v2 - with: - name: cliain-docker - - - name: Load cliain docker image - shell: bash - run: docker load -i cliain.tar - - - name: Call catchup_test.sh - timeout-minutes: 10 - env: - UPGRADE_BLOCK: 31 - NODES: ${{ matrix.nodes }} - PORTS: ${{ matrix.ports }} - EXT_STATUS: ${{ matrix.ext_status }} - UPGRADE_BEFORE_DISABLE: ${{ matrix.upgrade_before_disable }} - DOCKER_COMPOSE: docker/docker-compose.bridged.yml - run: | - ./scripts/catchup_version_upgrade_test.sh +# The tests below were written under the assumption that nonfinalized blocks are being produced, they need a rewrite before being reenabled. +# TODO(A0-1644): Reenable these tests. +# run-e2e-failing-version-upgrade: +# needs: [build-test-docker, build-test-client] +# name: Run basic (failing) version-upgrade test +# runs-on: ubuntu-20.04 +# steps: +# - name: Checkout source code +# uses: actions/checkout@v2 +# +# - name: Run e2e test +# uses: ./.github/actions/run-e2e-test +# with: +# test-case: doomed_version_upgrade +# env: +# OVERRIDE_DOCKER_COMPOSE: ./.github/scripts/docker-compose.no_quorum_without_old.override.yml +# UPGRADE_VERSION: 1 +# UPGRADE_SESSION: 3 +# UPGRADE_FINALIZATION_WAIT_SESSIONS: 2 +# ONLY_LEGACY: true +# timeout-minutes: 10 + +# run-e2e-version-upgrade-catchup: +# needs: [build-test-docker, build-cliain-image] +# name: Run series of tests where some of the nodes need to do version-upgrade during catch-up +# runs-on: ubuntu-20.04 +# strategy: +# matrix: +# include: +# - nodes: "Node1" +# ports: "9934" +# ext_status: "finalized" +# upgrade_before_disable: "true" +# +# - nodes: "Node1" +# ports: "9934" +# ext_status: "finalized" +# upgrade_before_disable: "false" +# +# - nodes: "Node1:Node2" +# ports: "9934:9935" +# ext_status: "in-block" +# upgrade_before_disable: "true" +# +# - nodes: "Node1:Node2" +# ports: "9934:9935" +# ext_status: "in-block" +# upgrade_before_disable: "false" +# steps: +# - name: Checkout source code +# uses: actions/checkout@v2 +# +# - name: Download artifact with docker image for aleph-node +# uses: actions/download-artifact@v2 +# with: +# name: aleph-test-docker +# +# - name: Load node docker image +# shell: bash +# run: docker load -i aleph-node.tar +# +# - name: Download artifact with docker image for cliain +# uses: actions/download-artifact@v2 +# with: +# name: cliain-docker +# +# - name: Load cliain docker image +# shell: bash +# run: docker load -i cliain.tar +# +# - name: Call catchup_test.sh +# timeout-minutes: 10 +# env: +# UPGRADE_BLOCK: 31 +# NODES: ${{ matrix.nodes }} +# PORTS: ${{ matrix.ports }} +# EXT_STATUS: ${{ matrix.ext_status }} +# UPGRADE_BEFORE_DISABLE: ${{ matrix.upgrade_before_disable }} +# DOCKER_COMPOSE: docker/docker-compose.bridged.yml +# run: | +# ./scripts/catchup_version_upgrade_test.sh check-e2e-test-suite-completion: needs: [ @@ -634,14 +636,14 @@ jobs: run-e2e-rewards-stake-change, run-e2e-rewards-change-stake-force-new-era, run-e2e-rewards-points-basic, - run-e2e-authorities-are-staking, +# run-e2e-authorities-are-staking, run-e2e-ban-automatic, run-e2e-ban-manual, run-e2e-ban-counter-clearing, run-e2e-ban-threshold, run-e2e-version-upgrade, - run-e2e-failing-version-upgrade, - run-e2e-version-upgrade-catchup, +# run-e2e-failing-version-upgrade, +# run-e2e-version-upgrade-catchup, ] name: Check e2e test suite completion runs-on: ubuntu-20.04 diff --git a/Cargo.lock b/Cargo.lock index 8179605794..1d2230e8f9 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -250,6 +250,7 @@ dependencies = [ "sc-client-api", "sc-consensus", "sc-consensus-aura", + "sc-consensus-slots", "sc-executor", "sc-keystore", "sc-network", @@ -263,6 +264,7 @@ dependencies = [ "serde_json", "sp-api", "sp-application-crypto", + "sp-arithmetic", "sp-block-builder", "sp-blockchain", "sp-consensus", diff --git a/bin/node/Cargo.toml b/bin/node/Cargo.toml index 50a67e406e..f414bcce88 100644 --- a/bin/node/Cargo.toml +++ b/bin/node/Cargo.toml @@ -43,6 +43,8 @@ sc-network = { git = "https://github.com/Cardinal-Cryptography/substrate.git", b sc-transaction-pool = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } sp-transaction-pool = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } sc-transaction-pool-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +sp-arithmetic = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +sc-consensus-slots = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } sc-consensus-aura = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } sp-consensus-aura = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } sp-consensus = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } diff --git a/bin/node/src/aleph_cli.rs b/bin/node/src/aleph_cli.rs index c43c3e336f..f2324c14b2 100644 --- a/bin/node/src/aleph_cli.rs +++ b/bin/node/src/aleph_cli.rs @@ -3,6 +3,7 @@ use std::path::PathBuf; use aleph_primitives::DEFAULT_UNIT_CREATION_DELAY; use clap::{ArgGroup, Parser}; use finality_aleph::UnitCreationDelay; +use log::warn; #[derive(Debug, Parser, Clone)] #[clap(group(ArgGroup::new("backup")))] @@ -33,6 +34,12 @@ pub struct AlephCli { /// with `--no-backup`, but note that that limits crash recoverability. #[clap(long, value_name = "PATH", group = "backup")] backup_path: Option, + + /// The maximum number of nonfinalized blocks, after which block production should be locally + /// stopped. DO NOT CHANGE THIS, PRODUCING MORE OR FEWER BLOCKS MIGHT BE CONSIDERED MALICIOUS + /// BEHAVIOUR AND PUNISHED ACCORDINGLY! + #[clap(long, default_value_t = 20)] + max_nonfinalized_blocks: u32, } impl AlephCli { @@ -55,4 +62,11 @@ impl AlephCli { pub fn no_backup(&self) -> bool { self.no_backup } + + pub fn max_nonfinalized_blocks(&self) -> u32 { + if self.max_nonfinalized_blocks != 20 { + warn!("Running block production with a value of max-nonfinalized-blocks {}, which is not the default of 20. THIS MIGHT BE CONSIDERED MALICIOUS BEHAVIOUR AND RESULT IN PENALTIES!", self.max_nonfinalized_blocks); + } + self.max_nonfinalized_blocks + } } diff --git a/bin/node/src/service.rs b/bin/node/src/service.rs index 561899ef35..044cfa2021 100644 --- a/bin/node/src/service.rs +++ b/bin/node/src/service.rs @@ -15,6 +15,7 @@ use futures::channel::mpsc; use log::warn; use sc_client_api::{Backend, HeaderBackend}; use sc_consensus_aura::{ImportQueueParams, SlotProportion, StartAuraParams}; +use sc_consensus_slots::BackoffAuthoringBlocksStrategy; use sc_network::NetworkService; use sc_service::{ error::Error as ServiceError, Configuration, KeystoreContainer, NetworkStarter, RpcHandlers, @@ -22,8 +23,9 @@ use sc_service::{ }; use sc_telemetry::{Telemetry, TelemetryWorker}; use sp_api::ProvideRuntimeApi; +use sp_arithmetic::traits::BaseArithmetic; use sp_blockchain::Backend as _; -use sp_consensus_aura::sr25519::AuthorityPair as AuraPair; +use sp_consensus_aura::{sr25519::AuthorityPair as AuraPair, Slot}; use sp_runtime::{ generic::BlockId, traits::{Block as BlockT, Header as HeaderT, Zero}, @@ -35,6 +37,30 @@ type FullClient = sc_service::TFullClient; type FullBackend = sc_service::TFullBackend; type FullSelectChain = sc_consensus::LongestChain; +struct LimitNonfinalized(u32); + +impl BackoffAuthoringBlocksStrategy for LimitNonfinalized { + fn should_backoff( + &self, + chain_head_number: N, + _chain_head_slot: Slot, + finalized_number: N, + _slow_now: Slot, + _logging_target: &str, + ) -> bool { + let nonfinalized_blocks: u32 = chain_head_number + .saturating_sub(finalized_number) + .unique_saturated_into(); + match nonfinalized_blocks >= self.0 { + true => { + warn!("We have {} nonfinalized blocks, with the limit being {}, delaying block production.", nonfinalized_blocks, self.0); + true + } + false => false, + } + } +} + fn backup_path(aleph_config: &AlephCli, base_path: &Path) -> Option { if aleph_config.no_backup() { return None; @@ -279,7 +305,7 @@ pub fn new_authority( ); let force_authoring = config.force_authoring; - let backoff_authoring_blocks: Option<()> = None; + let backoff_authoring_blocks = Some(LimitNonfinalized(aleph_config.max_nonfinalized_blocks())); let prometheus_registry = config.prometheus_registry().cloned(); let (_rpc_handlers, network, network_starter) = setup( From 9415bd79feeedb53b496ecb4da07656121befacc Mon Sep 17 00:00:00 2001 From: Michal Swietek Date: Wed, 30 Nov 2022 10:03:49 +0000 Subject: [PATCH 022/212] Chillout (#749) * Remove validators from candidates in elections when they're got benned * Add missing config item * bump spec version * Adjust mock * Don't ban nice guys * fmt * typo Co-authored-by: Marcin --- bin/runtime/src/lib.rs | 3 ++- pallets/elections/src/impls.rs | 7 ++++++- pallets/elections/src/lib.rs | 6 +++++- pallets/elections/src/mock.rs | 11 ++++++++++- pallets/elections/src/traits.rs | 18 ++++++++++++++++++ 5 files changed, 41 insertions(+), 4 deletions(-) diff --git a/bin/runtime/src/lib.rs b/bin/runtime/src/lib.rs index 7fa0990ed8..1fe077cf4a 100644 --- a/bin/runtime/src/lib.rs +++ b/bin/runtime/src/lib.rs @@ -108,7 +108,7 @@ pub const VERSION: RuntimeVersion = RuntimeVersion { spec_name: create_runtime_str!("aleph-node"), impl_name: create_runtime_str!("aleph-node"), authoring_version: 1, - spec_version: 41, + spec_version: 42, impl_version: 1, apis: RUNTIME_API_VERSIONS, transaction_version: 13, @@ -337,6 +337,7 @@ impl pallet_elections::Config for Runtime { type SessionPeriod = SessionPeriod; type SessionManager = pallet_session::historical::NoteHistoricalRoot; type ValidatorRewardsHandler = Staking; + type ValidatorExtractor = Staking; type MaximumBanReasonLength = MaximumBanReasonLength; } diff --git a/pallets/elections/src/impls.rs b/pallets/elections/src/impls.rs index ee7585b478..64bbbf7fe8 100644 --- a/pallets/elections/src/impls.rs +++ b/pallets/elections/src/impls.rs @@ -12,7 +12,7 @@ use sp_std::{ }; use crate::{ - traits::{EraInfoProvider, SessionInfoProvider, ValidatorRewardsHandler}, + traits::{EraInfoProvider, SessionInfoProvider, ValidatorExtractor, ValidatorRewardsHandler}, BanConfig, Banned, CommitteeSize, Config, CurrentEraValidators, NextEraCommitteeSize, NextEraNonReservedValidators, NextEraReservedValidators, Pallet, SessionValidatorBlockCount, UnderperformedValidatorSessionCount, ValidatorEraTotalReward, ValidatorTotalRewards, @@ -347,11 +347,16 @@ where } pub fn ban_validator(validator: &T::AccountId, reason: BanReason) { + // we do not ban reserved validators + if NextEraReservedValidators::::get().contains(validator) { + return; + } // current era is the latest planned era for which validators are already chosen // so we ban from the next era let start: EraIndex = T::EraInfoProvider::current_era() .unwrap_or(0) .saturating_add(1); + T::ValidatorExtractor::remove_validator(validator); Banned::::insert(validator, BanInfo { reason, start }); } diff --git a/pallets/elections/src/lib.rs b/pallets/elections/src/lib.rs index 41e3e8eb68..2f8ab75ca8 100644 --- a/pallets/elections/src/lib.rs +++ b/pallets/elections/src/lib.rs @@ -79,7 +79,9 @@ pub mod pallet { use sp_runtime::Perbill; use super::*; - use crate::traits::{EraInfoProvider, SessionInfoProvider, ValidatorRewardsHandler}; + use crate::traits::{ + EraInfoProvider, SessionInfoProvider, ValidatorExtractor, ValidatorRewardsHandler, + }; #[pallet::config] pub trait Config: frame_system::Config { @@ -100,6 +102,8 @@ pub mod pallet { type SessionInfoProvider: SessionInfoProvider; /// Something that handles addition of rewards for validators. type ValidatorRewardsHandler: ValidatorRewardsHandler; + /// Something that removes validators from candidates in elections + type ValidatorExtractor: ValidatorExtractor; /// Maximum acceptable ban reason length. #[pallet::constant] diff --git a/pallets/elections/src/mock.rs b/pallets/elections/src/mock.rs index 666787a9b0..492823bfb5 100644 --- a/pallets/elections/src/mock.rs +++ b/pallets/elections/src/mock.rs @@ -18,7 +18,9 @@ use sp_std::{cell::RefCell, collections::btree_set::BTreeSet}; use super::*; use crate as pallet_elections; -use crate::traits::{EraInfoProvider, SessionInfoProvider, ValidatorRewardsHandler}; +use crate::traits::{ + EraInfoProvider, SessionInfoProvider, ValidatorExtractor, ValidatorRewardsHandler, +}; type UncheckedExtrinsic = frame_system::mocking::MockUncheckedExtrinsic; type Block = frame_system::mocking::MockBlock; @@ -168,6 +170,12 @@ impl EraInfoProvider for MockProvider { } } +impl ValidatorExtractor for MockProvider { + type AccountId = AccountId; + + fn remove_validator(_who: &AccountId) {} +} + impl Config for Test { type EraInfoProvider = MockProvider; type RuntimeEvent = RuntimeEvent; @@ -176,6 +184,7 @@ impl Config for Test { type SessionManager = (); type SessionInfoProvider = MockProvider; type ValidatorRewardsHandler = MockProvider; + type ValidatorExtractor = MockProvider; type MaximumBanReasonLength = ConstU32<300>; } diff --git a/pallets/elections/src/traits.rs b/pallets/elections/src/traits.rs index f60172f266..9767622fe6 100644 --- a/pallets/elections/src/traits.rs +++ b/pallets/elections/src/traits.rs @@ -86,3 +86,21 @@ where pallet_staking::ErasStakers::::iter_key_prefix(era).collect() } } + +pub trait ValidatorExtractor { + type AccountId; + + /// Removes given validator from pallet's staking validators list + fn remove_validator(who: &Self::AccountId); +} + +impl ValidatorExtractor for pallet_staking::Pallet +where + T: pallet_staking::Config, +{ + type AccountId = T::AccountId; + + fn remove_validator(who: &Self::AccountId) { + pallet_staking::Pallet::::do_remove_validator(who); + } +} From 8fc5f7e21e1f5c481ed92222c25b8ff16d4c68dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Obrok?= Date: Thu, 1 Dec 2022 16:55:57 +0100 Subject: [PATCH 023/212] A0-1503: Use the default rust test runner (#755) * Use the default rust test runner * Update CI flow to use the new runner * Refer to finalization test unambiguously in CI * Remove accidentally commited .idea * Fix mismerge * Refer explicitly to some more testcases * Refer explicitly to some more testcases * Initialize logging in e2e tests * Ignore ban_automatic test for now See https://cardinal-cryptography.atlassian.net/browse/A0-1634 * Rename config() -> setup_test() * Take e2e test binary location from cargo * Update e2e docker build in nightly * Fix typo --- .github/actions/run-e2e-test/action.yml | 2 +- .github/workflows/e2e-tests-main-devnet.yml | 18 ++--- .github/workflows/nightly-pipeline.yaml | 3 +- e2e-tests/.dockerignore | 2 + e2e-tests/Cargo.lock | 2 + e2e-tests/Cargo.toml | 1 + e2e-tests/docker_entrypoint.sh | 2 +- e2e-tests/src/ban.rs | 4 +- e2e-tests/src/cases.rs | 90 --------------------- e2e-tests/src/config.rs | 14 ++++ e2e-tests/src/lib.rs | 12 ++- e2e-tests/src/main.rs | 52 ------------ e2e-tests/src/rewards.rs | 6 +- e2e-tests/src/test/ban.rs | 19 +++-- e2e-tests/src/test/electing_validators.rs | 7 +- e2e-tests/src/test/era_payout.rs | 6 +- e2e-tests/src/test/era_validators.rs | 6 +- e2e-tests/src/test/fee.rs | 6 +- e2e-tests/src/test/finalization.rs | 7 +- e2e-tests/src/test/mod.rs | 1 - e2e-tests/src/test/rewards.rs | 22 +++-- e2e-tests/src/test/staking.rs | 10 ++- e2e-tests/src/test/transfer.rs | 6 +- e2e-tests/src/test/treasury.rs | 10 ++- e2e-tests/src/test/utility.rs | 6 +- e2e-tests/src/test/validators_change.rs | 7 +- e2e-tests/src/test/validators_rotate.rs | 8 +- e2e-tests/src/test/version_upgrade.rs | 13 +-- e2e-tests/src/validators.rs | 2 +- scripts/run_e2e.sh | 2 +- 30 files changed, 140 insertions(+), 206 deletions(-) create mode 100644 e2e-tests/.dockerignore delete mode 100644 e2e-tests/src/cases.rs delete mode 100644 e2e-tests/src/main.rs diff --git a/.github/actions/run-e2e-test/action.yml b/.github/actions/run-e2e-test/action.yml index 9a79c5cf74..870a248989 100644 --- a/.github/actions/run-e2e-test/action.yml +++ b/.github/actions/run-e2e-test/action.yml @@ -89,4 +89,4 @@ runs: - name: Run finalization e2e test if: inputs.follow-up-finalization-check == 'true' shell: bash - run: ./.github/scripts/run_e2e_test.sh -t finalization -m "${{ inputs.min-validator-count }}" + run: ./.github/scripts/run_e2e_test.sh -t finalization::finalization -m "${{ inputs.min-validator-count }}" diff --git a/.github/workflows/e2e-tests-main-devnet.yml b/.github/workflows/e2e-tests-main-devnet.yml index 9f1547e4c8..fd9047eb87 100644 --- a/.github/workflows/e2e-tests-main-devnet.yml +++ b/.github/workflows/e2e-tests-main-devnet.yml @@ -165,7 +165,8 @@ jobs: - name: Build binary and docker image run: | cd e2e-tests/ - cargo build --release + rm -f target/release/deps/aleph_e2e_client* + cp $(cargo test --no-run --release --message-format=json | jq -r .executable | grep aleph_e2e_client) target/release/aleph-e2e-client docker build --tag aleph-e2e-client:latest -f Dockerfile . docker save -o aleph-e2e-client.tar aleph-e2e-client:latest @@ -192,7 +193,7 @@ jobs: - name: Run e2e test uses: ./.github/actions/run-e2e-test with: - test-case: finalization + test-case: finalization::finalization timeout-minutes: 2 @@ -207,7 +208,7 @@ jobs: - name: Run e2e test uses: ./.github/actions/run-e2e-test with: - test-case: rewards_disable_node + test-case: rewards::disable_node follow-up-finalization-check: true timeout-minutes: 15 @@ -360,7 +361,7 @@ jobs: - name: Run e2e test uses: ./.github/actions/run-e2e-test with: - test-case: era_payout + test-case: era_payout::era_payout follow-up-finalization-check: true timeout-minutes: 10 @@ -390,7 +391,7 @@ jobs: - name: Run e2e test uses: ./.github/actions/run-e2e-test with: - test-case: rewards_force_new_era + test-case: rewards::force_new_era follow-up-finalization-check: true timeout-minutes: 10 @@ -405,7 +406,7 @@ jobs: - name: Run e2e test uses: ./.github/actions/run-e2e-test with: - test-case: rewards_stake_change + test-case: rewards::points_stake_change follow-up-finalization-check: true timeout-minutes: 10 @@ -420,7 +421,7 @@ jobs: - name: Run e2e test uses: ./.github/actions/run-e2e-test with: - test-case: rewards_change_stake_and_force_new_era + test-case: rewards::change_stake_and_force_new_era follow-up-finalization-check: true timeout-minutes: 10 @@ -528,7 +529,7 @@ jobs: - name: Run e2e test uses: ./.github/actions/run-e2e-test with: - test-case: version_upgrade + test-case: version_upgrade::schedule_version_change env: UPGRADE_VERSION: 1 UPGRADE_SESSION: 3 @@ -556,7 +557,6 @@ jobs: # UPGRADE_FINALIZATION_WAIT_SESSIONS: 2 # ONLY_LEGACY: true # timeout-minutes: 10 - # run-e2e-version-upgrade-catchup: # needs: [build-test-docker, build-cliain-image] # name: Run series of tests where some of the nodes need to do version-upgrade during catch-up diff --git a/.github/workflows/nightly-pipeline.yaml b/.github/workflows/nightly-pipeline.yaml index 8d8bec3367..25ee16ca50 100644 --- a/.github/workflows/nightly-pipeline.yaml +++ b/.github/workflows/nightly-pipeline.yaml @@ -108,7 +108,8 @@ jobs: - name: Build binary and docker image run: | cd e2e-tests/ - cargo build --release + rm -f target/release/deps/aleph_e2e_client* + cp $(cargo test --no-run --release --message-format=json | jq -r .executable | grep aleph_e2e_client) target/release/aleph-e2e-client docker build --tag aleph-e2e-client:latest -f Dockerfile . docker save -o aleph-e2e-client.tar aleph-e2e-client:latest diff --git a/e2e-tests/.dockerignore b/e2e-tests/.dockerignore new file mode 100644 index 0000000000..9b2ec2d766 --- /dev/null +++ b/e2e-tests/.dockerignore @@ -0,0 +1,2 @@ +target +!target/release/aleph-e2e-client diff --git a/e2e-tests/Cargo.lock b/e2e-tests/Cargo.lock index 1bf96b1341..8d3e01291e 100644 --- a/e2e-tests/Cargo.lock +++ b/e2e-tests/Cargo.lock @@ -60,6 +60,7 @@ dependencies = [ "futures", "hex", "log", + "once_cell", "pallet-balances", "pallet-elections", "pallet-staking", @@ -2267,6 +2268,7 @@ name = "pallets-support" version = "0.1.2" dependencies = [ "frame-support", + "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", ] [[package]] diff --git a/e2e-tests/Cargo.toml b/e2e-tests/Cargo.toml index c884ba81c5..e472076061 100644 --- a/e2e-tests/Cargo.toml +++ b/e2e-tests/Cargo.toml @@ -15,6 +15,7 @@ codec = { package = 'parity-scale-codec', version = "3.0", default-features = fa rayon = "1.5" tokio = { version = "1.21.2", features = ["full"] } futures = "0.3.25" +once_cell = "1.16" sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30", default-features = false, features = ["full_crypto"] } sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30", default-features = false } diff --git a/e2e-tests/docker_entrypoint.sh b/e2e-tests/docker_entrypoint.sh index 3ab44def91..3fa2fe11d0 100644 --- a/e2e-tests/docker_entrypoint.sh +++ b/e2e-tests/docker_entrypoint.sh @@ -25,6 +25,6 @@ if [[ -n "${UPGRADE_VERSION:-}" && -n "${UPGRADE_SESSION:-}" && -n "${UPGRADE_FI ) fi -aleph-e2e-client "${ARGS[@]}" +E2E_CONFIG="${ARGS[*]}" aleph-e2e-client $TEST_CASES --nocapture echo "Done!" diff --git a/e2e-tests/src/ban.rs b/e2e-tests/src/ban.rs index f4542853ae..3972508623 100644 --- a/e2e-tests/src/ban.rs +++ b/e2e-tests/src/ban.rs @@ -12,8 +12,8 @@ use primitives::{SessionCount, SessionIndex}; use sp_runtime::Perbill; use crate::{ - accounts::account_ids_from_keys, elections::get_members_subset_for_session, - validators::get_test_validators, Config, + accounts::account_ids_from_keys, config::Config, elections::get_members_subset_for_session, + validators::get_test_validators, }; const RESERVED_SEATS: u32 = 2; diff --git a/e2e-tests/src/cases.rs b/e2e-tests/src/cases.rs deleted file mode 100644 index 813f18dd3a..0000000000 --- a/e2e-tests/src/cases.rs +++ /dev/null @@ -1,90 +0,0 @@ -use crate::{ - config::Config, - test::{ - authorities_are_staking as test_authorities_are_staking, - ban_automatic as test_ban_automatic, ban_manual as test_ban_manual, - ban_threshold as test_ban_threshold, batch_transactions as test_batch_transactions, - change_stake_and_force_new_era as test_change_stake_and_force_new_era, - change_validators as test_change_validators, - channeling_fee_and_tip as test_channeling_fee_and_tip, - clearing_session_count as test_clearing_session_count, disable_node as test_disable_node, - era_payouts_calculated_correctly as test_era_payout, era_validators as test_era_validators, - fee_calculation as test_fee_calculation, finalization as test_finalization, - force_new_era as test_force_new_era, points_basic as test_points_basic, - points_stake_change as test_points_stake_change, - schedule_doomed_version_change_and_verify_finalization_stopped as test_schedule_doomed_version_change_and_verify_finalization_stopped, - schedule_version_change as test_schedule_version_change, - staking_era_payouts as test_staking_era_payouts, - staking_new_validator as test_staking_new_validator, token_transfer as test_token_transfer, - treasury_access as test_treasury_access, validators_rotate as test_validators_rotate, - }, -}; - -pub async fn run_testcase(id: &str, config: &Config) -> anyhow::Result<()> { - match id { - "finalization" => test_finalization(config).await, - "version_upgrade" => test_schedule_version_change(config).await, - "rewards_disable_node" => test_disable_node(config).await, - "token_transfer" => test_token_transfer(config).await, - "channeling_fee_and_tip" => test_channeling_fee_and_tip(config).await, - "treasury_access" => test_treasury_access(config).await, - "batch_transactions" => test_batch_transactions(config).await, - "staking_era_payouts" => test_staking_era_payouts(config).await, - "validators_rotate" => test_validators_rotate(config).await, - "staking_new_validator" => test_staking_new_validator(config).await, - "change_validators" => test_change_validators(config).await, - "fee_calculation" => test_fee_calculation(config).await, - "era_payout" => test_era_payout(config).await, - "era_validators" => test_era_validators(config).await, - "rewards_change_stake_and_force_new_era" => { - test_change_stake_and_force_new_era(config).await - } - "points_basic" => test_points_basic(config).await, - "rewards_force_new_era" => test_force_new_era(config).await, - "rewards_stake_change" => test_points_stake_change(config).await, - "authorities_are_staking" => test_authorities_are_staking(config).await, - - "clearing_session_count" => test_clearing_session_count(config).await, - "ban_automatic" => test_ban_automatic(config).await, - "ban_manual" => test_ban_manual(config).await, - "ban_threshold" => test_ban_threshold(config).await, - "doomed_version_upgrade" => { - test_schedule_doomed_version_change_and_verify_finalization_stopped(config).await - } - _ => panic!("unknown testcase"), - } -} - -pub async fn run_all_testcases(config: &Config) -> anyhow::Result<()> { - let all = vec![ - "finalization", - "version_upgrade", - "rewards_disable_node", - "token_transfer", - "channeling_fee_and_tip", - "treasury_access", - "batch_transactions", - "staking_era_payouts", - "validators_rotate", - "staking_new_validator", - "change_validators", - "fee_calculation", - "era_payout", - "era_validators", - "rewards_change_stake_and_force_new_era", - "points_basic", - "rewards_force_new_era", - "rewards_stake_change", - "authorities_are_staking", - "clearing_session_count", - "ban_automatic", - "ban_manual", - "ban_threshold", - "doomed_version_upgrade", - ]; - - for testcase in all { - run_testcase(testcase, config).await?; - } - Ok(()) -} diff --git a/e2e-tests/src/config.rs b/e2e-tests/src/config.rs index 0dd4a68143..f3364a218c 100644 --- a/e2e-tests/src/config.rs +++ b/e2e-tests/src/config.rs @@ -1,9 +1,23 @@ +use std::env; + use aleph_client::{RootConnection, SignedConnection}; use clap::{Args, Parser}; +use once_cell::sync::Lazy; use primitives::SessionIndex; use crate::accounts::{get_sudo_key, get_validators_keys, get_validators_seeds, NodeKeys}; +static GLOBAL_CONFIG: Lazy = Lazy::new(|| { + let unparsed = env::var("E2E_CONFIG").unwrap_or("".to_string()); + let unparsed = format!("e2e {}", unparsed); + Config::parse_from(unparsed.split_whitespace()) +}); + +pub fn setup_test() -> &'static Config { + let _ = env_logger::builder().is_test(true).try_init(); + &GLOBAL_CONFIG +} + #[derive(Debug, Parser, Clone)] #[clap(version = "1.0")] pub struct Config { diff --git a/e2e-tests/src/lib.rs b/e2e-tests/src/lib.rs index f37546f64a..9f150c60b8 100644 --- a/e2e-tests/src/lib.rs +++ b/e2e-tests/src/lib.rs @@ -1,12 +1,16 @@ -pub use cases::{run_all_testcases, run_testcase}; -pub use config::Config; - +#[cfg(test)] mod accounts; +#[cfg(test)] mod ban; -mod cases; +#[cfg(test)] mod config; +#[cfg(test)] mod elections; +#[cfg(test)] mod rewards; +#[cfg(test)] mod test; +#[cfg(test)] mod transfer; +#[cfg(test)] mod validators; diff --git a/e2e-tests/src/main.rs b/e2e-tests/src/main.rs deleted file mode 100644 index c1067bebf3..0000000000 --- a/e2e-tests/src/main.rs +++ /dev/null @@ -1,52 +0,0 @@ -use std::{env, time::Instant}; - -use aleph_e2e_client::{run_all_testcases, run_testcase, Config}; -use clap::Parser; -use log::info; - -#[tokio::main(flavor = "multi_thread")] -async fn main() -> anyhow::Result<()> { - init_env(); - - let config: Config = Config::parse(); - let test_cases = config.test_cases.clone(); - // Possibility to handle specified vs. default test cases - // is helpful to parallelize e2e tests. - match test_cases { - Some(cases) => { - info!("Running specified test cases."); - run_specified_test_cases(cases, &config).await?; - } - None => { - info!("Running all handled test cases."); - run_all_testcases(&config).await?; - } - }; - Ok(()) -} - -fn init_env() { - if env::var(env_logger::DEFAULT_FILTER_ENV).is_err() { - env::set_var(env_logger::DEFAULT_FILTER_ENV, "warn"); - } - env_logger::init(); -} - -/// Runs specified test cases in sequence. -/// Checks whether each provided test case is valid. -async fn run_specified_test_cases(test_names: Vec, config: &Config) -> anyhow::Result<()> { - for test_name in test_names { - run(&test_name, config).await?; - } - Ok(()) -} - -/// Runs single test case. Allows for a generic return type. -async fn run(name: &str, config: &Config) -> anyhow::Result<()> { - info!("Running test: {}", name); - let start = Instant::now(); - run_testcase(name, config).await.map(|_| { - let elapsed = Instant::now().duration_since(start); - println!("Ok! Elapsed time {}ms", elapsed.as_millis()); - }) -} diff --git a/e2e-tests/src/rewards.rs b/e2e-tests/src/rewards.rs index ad3ef85845..0ba70fcb6e 100644 --- a/e2e-tests/src/rewards.rs +++ b/e2e-tests/src/rewards.rs @@ -21,7 +21,7 @@ use sp_runtime::Perquintill; use crate::{ accounts::{get_validators_keys, get_validators_seeds, NodeKeys}, - Config, + config::Config, }; const COMMITTEE_SEATS: CommitteeSeats = CommitteeSeats { @@ -51,7 +51,9 @@ pub async fn set_invalid_keys_for_validator( } /// Rotates session_keys of a given `controller`, making it able to rejoin the `consensus`. -pub async fn reset_validator_keys(controller_connection: &SignedConnection) -> anyhow::Result<()> { +pub(super) async fn reset_validator_keys( + controller_connection: &SignedConnection, +) -> anyhow::Result<()> { let validator_keys = controller_connection.connection.author_rotate_keys().await; controller_connection .set_keys(validator_keys, TxStatus::InBlock) diff --git a/e2e-tests/src/test/ban.rs b/e2e-tests/src/test/ban.rs index a25711b884..c7b8869ff1 100644 --- a/e2e-tests/src/test/ban.rs +++ b/e2e-tests/src/test/ban.rs @@ -22,8 +22,8 @@ use crate::{ check_underperformed_count_for_sessions, check_underperformed_validator_reason, check_underperformed_validator_session_count, check_validators, setup_test, }, + config, rewards::set_invalid_keys_for_validator, - Config, }; const SESSIONS_TO_CHECK: SessionCount = 5; @@ -54,7 +54,10 @@ async fn disable_validator(validator_address: &str, validator_seed: u32) -> anyh /// validators. Waits for the offending validator to hit the ban threshold of sessions without /// producing blocks. Verifies that the offending validator has in fact been banned out for the /// appropriate reason. -pub async fn ban_automatic(config: &Config) -> anyhow::Result<()> { +#[tokio::test] +#[ignore] +pub async fn ban_automatic() -> anyhow::Result<()> { + let config = config::setup_test(); let (root_connection, reserved_validators, non_reserved_validators, _) = setup_test(config).await?; @@ -139,7 +142,9 @@ pub async fn ban_automatic(config: &Config) -> anyhow::Result<()> { /// Runs a chain, sets up a committee and validators. Manually bans one of the validators /// from the committee with a specific reason. Verifies that validator marked for ban has in /// fact been banned for the given reason. -pub async fn ban_manual(config: &Config) -> anyhow::Result<()> { +#[tokio::test] +pub async fn ban_manual() -> anyhow::Result<()> { + let config = config::setup_test(); let (root_connection, reserved_validators, non_reserved_validators, _) = setup_test(config).await?; @@ -222,7 +227,9 @@ pub async fn ban_manual(config: &Config) -> anyhow::Result<()> { /// underperformed_session_count_threshold to 3. /// Disable one non_reserved validator. Check if the disabled validator is still in the committee /// and his underperformed session count is less or equal to 2. -pub async fn clearing_session_count(config: &Config) -> anyhow::Result<()> { +#[tokio::test] +pub async fn clearing_session_count() -> anyhow::Result<()> { + let config = config::setup_test(); let (root_connection, reserved_validators, non_reserved_validators, _) = setup_test(config).await?; @@ -268,7 +275,9 @@ pub async fn clearing_session_count(config: &Config) -> anyhow::Result<()> { /// Runs a chain, sets up a committee and validators. Changes the ban config to require 100% /// performance. Checks that each validator has all the sessions in which they were chosen for the /// committee marked as ones in which they underperformed. -pub async fn ban_threshold(config: &Config) -> anyhow::Result<()> { +#[tokio::test] +pub async fn ban_threshold() -> anyhow::Result<()> { + let config = config::setup_test(); let (root_connection, reserved_validators, non_reserved_validators, seats) = setup_test(config).await?; diff --git a/e2e-tests/src/test/electing_validators.rs b/e2e-tests/src/test/electing_validators.rs index 60d78e7f63..31994843b3 100644 --- a/e2e-tests/src/test/electing_validators.rs +++ b/e2e-tests/src/test/electing_validators.rs @@ -14,8 +14,8 @@ use log::info; use primitives::EraIndex; use crate::{ + config::setup_test, validators::{prepare_validators, setup_accounts}, - Config, }; /// Verify that `pallet_staking::ErasStakers` contains all target validators. @@ -147,7 +147,10 @@ async fn chill_validators(node: &str, chilling: Vec) { /// parameter to set `MinimumValidatorCount` in the chain spec as the chain is set up. /// For this specific test case, we use `node-count = 6` and `min-validator-count = 4`, which /// satisfies the outlined conditions. -pub async fn authorities_are_staking(config: &Config) -> anyhow::Result<()> { +#[tokio::test] +pub async fn authorities_are_staking() -> anyhow::Result<()> { + let config = setup_test(); + let node = &config.node; let root_connection = config.create_root_connection().await; diff --git a/e2e-tests/src/test/era_payout.rs b/e2e-tests/src/test/era_payout.rs index 9124fd403d..d2576d1584 100644 --- a/e2e-tests/src/test/era_payout.rs +++ b/e2e-tests/src/test/era_payout.rs @@ -8,9 +8,11 @@ use primitives::{ MILLISECS_PER_BLOCK, }; -use crate::Config; +use crate::config::{setup_test, Config}; -pub async fn era_payouts_calculated_correctly(config: &Config) -> anyhow::Result<()> { +#[tokio::test] +pub async fn era_payouts_calculated_correctly() -> anyhow::Result<()> { + let config = setup_test(); normal_era_payout(config).await?; force_era_payout(config).await?; diff --git a/e2e-tests/src/test/era_validators.rs b/e2e-tests/src/test/era_validators.rs index 8be1c52db9..81c2570116 100644 --- a/e2e-tests/src/test/era_validators.rs +++ b/e2e-tests/src/test/era_validators.rs @@ -8,7 +8,7 @@ use aleph_client::{ use crate::{ accounts::{account_ids_from_keys, get_validators_raw_keys}, - Config, + config::{setup_test, Config}, }; fn get_initial_reserved_validators(config: &Config) -> Vec { @@ -58,7 +58,9 @@ async fn get_current_and_next_era_non_reserved_validators( (current_non_reserved, stored_non_reserved) } -pub async fn era_validators(config: &Config) -> anyhow::Result<()> { +#[tokio::test] +pub async fn era_validators() -> anyhow::Result<()> { + let config = setup_test(); let connection = config.get_first_signed_connection().await; let root_connection = config.create_root_connection().await; diff --git a/e2e-tests/src/test/fee.rs b/e2e-tests/src/test/fee.rs index 41b4b62259..3fcf1a4132 100644 --- a/e2e-tests/src/test/fee.rs +++ b/e2e-tests/src/test/fee.rs @@ -8,9 +8,11 @@ use log::info; use primitives::Balance; use sp_runtime::{FixedPointNumber, FixedU128}; -use crate::{config::Config, transfer::setup_for_transfer}; +use crate::{config::setup_test, transfer::setup_for_transfer}; -pub async fn fee_calculation(config: &Config) -> anyhow::Result<()> { +#[tokio::test] +pub async fn fee_calculation() -> anyhow::Result<()> { + let config = setup_test(); // An initial transfer is needed to establish the fee multiplier. let (connection, to) = setup_for_transfer(config).await; let root_connection = config.create_root_connection().await; diff --git a/e2e-tests/src/test/finalization.rs b/e2e-tests/src/test/finalization.rs index 1aca8bbfc3..2c28b5d32f 100644 --- a/e2e-tests/src/test/finalization.rs +++ b/e2e-tests/src/test/finalization.rs @@ -3,9 +3,11 @@ use aleph_client::{ waiting::{AlephWaiting, BlockStatus}, }; -use crate::config::Config; +use crate::config::setup_test; -pub async fn finalization(config: &Config) -> anyhow::Result<()> { +#[tokio::test] +pub async fn finalization() -> anyhow::Result<()> { + let config = setup_test(); let connection = config.create_root_connection().await; let finalized = connection.connection.get_finalized_block_hash().await; @@ -18,5 +20,6 @@ pub async fn finalization(config: &Config) -> anyhow::Result<()> { .connection .wait_for_block(|n| n > finalized_number, BlockStatus::Finalized) .await; + Ok(()) } diff --git a/e2e-tests/src/test/mod.rs b/e2e-tests/src/test/mod.rs index 79e4d51b3b..052e5184ea 100644 --- a/e2e-tests/src/test/mod.rs +++ b/e2e-tests/src/test/mod.rs @@ -11,7 +11,6 @@ pub use staking::{staking_era_payouts, staking_new_validator}; pub use transfer::token_transfer; pub use treasury::{channeling_fee_and_tip, treasury_access}; pub use utility::batch_transactions; -pub use validators_change::change_validators; pub use validators_rotate::validators_rotate; pub use version_upgrade::{ schedule_doomed_version_change_and_verify_finalization_stopped, schedule_version_change, diff --git a/e2e-tests/src/test/rewards.rs b/e2e-tests/src/test/rewards.rs index 514cdb170a..9ca7ff4e16 100644 --- a/e2e-tests/src/test/rewards.rs +++ b/e2e-tests/src/test/rewards.rs @@ -12,12 +12,12 @@ use log::info; use primitives::{staking::MIN_VALIDATOR_BOND, EraIndex, SessionIndex}; use crate::{ + config::setup_test, elections::get_and_test_members_for_session, rewards::{ check_points, reset_validator_keys, set_invalid_keys_for_validator, setup_validators, validators_bond_extra_stakes, }, - Config, }; // Maximum difference between fractions of total reward that a validator gets. @@ -25,7 +25,9 @@ use crate::{ // retrieved from pallet Staking. const MAX_DIFFERENCE: f64 = 0.07; -pub async fn points_basic(config: &Config) -> anyhow::Result<()> { +#[tokio::test] +pub async fn points_basic() -> anyhow::Result<()> { + let config = setup_test(); let (era_validators, committee_size, start_session) = setup_validators(config).await?; let connection = config.get_first_signed_connection().await; @@ -72,7 +74,9 @@ pub async fn points_basic(config: &Config) -> anyhow::Result<()> { /// Runs a chain, bonds extra stakes to validator accounts and checks that reward points /// are calculated correctly afterward. -pub async fn points_stake_change(config: &Config) -> anyhow::Result<()> { +#[tokio::test] +pub async fn points_stake_change() -> anyhow::Result<()> { + let config = setup_test(); let (era_validators, committee_size, _) = setup_validators(config).await?; validators_bond_extra_stakes( @@ -131,7 +135,9 @@ pub async fn points_stake_change(config: &Config) -> anyhow::Result<()> { /// Runs a chain, sets invalid session keys for one validator, re-sets the keys to valid ones /// and checks that reward points are calculated correctly afterward. -pub async fn disable_node(config: &Config) -> anyhow::Result<()> { +#[tokio::test] +pub async fn disable_node() -> anyhow::Result<()> { + let config = setup_test(); let (era_validators, committee_size, start_session) = setup_validators(config).await?; let root_connection = config.create_root_connection().await; @@ -187,7 +193,9 @@ pub async fn disable_node(config: &Config) -> anyhow::Result<()> { /// for 3 sessions: 1) immediately following the forcing call, 2) in the subsequent, interim /// session, when the new era has not yet started, 3) in the next session, second one after /// the call, when the new era has already begun. -pub async fn force_new_era(config: &Config) -> anyhow::Result<()> { +#[tokio::test] +pub async fn force_new_era() -> anyhow::Result<()> { + let config = setup_test(); let (era_validators, committee_size, start_session) = setup_validators(config).await?; let connection = config.get_first_signed_connection().await; @@ -229,7 +237,9 @@ pub async fn force_new_era(config: &Config) -> anyhow::Result<()> { /// Expected behaviour: until the next (forced) era, rewards are calculated using old stakes, /// and after two sessions (required for a new era to be forced) they are adjusted to the new /// stakes. -pub async fn change_stake_and_force_new_era(config: &Config) -> anyhow::Result<()> { +#[tokio::test] +pub async fn change_stake_and_force_new_era() -> anyhow::Result<()> { + let config = setup_test(); let (era_validators, committee_size, start_session) = setup_validators(config).await?; let connection = config.get_first_signed_connection().await; diff --git a/e2e-tests/src/test/staking.rs b/e2e-tests/src/test/staking.rs index 9f634d50eb..82d4957191 100644 --- a/e2e-tests/src/test/staking.rs +++ b/e2e-tests/src/test/staking.rs @@ -21,7 +21,7 @@ use primitives::{ use crate::{ accounts::{account_ids_from_keys, accounts_seeds_to_keys, get_validators_seeds}, - config::Config, + config::{setup_test, Config}, }; fn get_validator_stashes_key_pairs(config: &Config) -> (Vec, Vec) { @@ -41,7 +41,9 @@ fn get_validator_stashes_key_pairs(config: &Config) -> (Vec, Vec anyhow::Result<()> { +#[tokio::test] +pub async fn staking_era_payouts() -> anyhow::Result<()> { + let config = setup_test(); let (stashes_accounts_key_pairs, validator_accounts) = get_validator_stashes_key_pairs(config); let node = &config.node; @@ -106,7 +108,9 @@ pub async fn staking_era_payouts(config: &Config) -> anyhow::Result<()> { // 7. add 4th validator which is the new stash account // 8. wait for next era // 9. claim rewards for the stash account -pub async fn staking_new_validator(config: &Config) -> anyhow::Result<()> { +#[tokio::test] +pub async fn staking_new_validator() -> anyhow::Result<()> { + let config = setup_test(); let controller_seed = "//Controller"; let controller = keypair_from_string(controller_seed); let controller_account = AccountId::from(controller.signer().public()); diff --git a/e2e-tests/src/test/transfer.rs b/e2e-tests/src/test/transfer.rs index 52eb1792d7..8cd33daa3c 100644 --- a/e2e-tests/src/test/transfer.rs +++ b/e2e-tests/src/test/transfer.rs @@ -4,9 +4,11 @@ use aleph_client::{ }; use log::info; -use crate::{config::Config, transfer::setup_for_transfer}; +use crate::{config::setup_test, transfer::setup_for_transfer}; -pub async fn token_transfer(config: &Config) -> anyhow::Result<()> { +#[tokio::test] +pub async fn token_transfer() -> anyhow::Result<()> { + let config = setup_test(); let (connection, to) = setup_for_transfer(config).await; let balance_before = connection diff --git a/e2e-tests/src/test/treasury.rs b/e2e-tests/src/test/treasury.rs index 58348c5798..50df832815 100644 --- a/e2e-tests/src/test/treasury.rs +++ b/e2e-tests/src/test/treasury.rs @@ -13,7 +13,7 @@ use log::info; use primitives::Balance; use crate::{ - accounts::get_validators_raw_keys, config::Config, test::fee::current_fees, + accounts::get_validators_raw_keys, config::setup_test, test::fee::current_fees, transfer::setup_for_transfer, }; @@ -33,7 +33,9 @@ async fn balance_info(connection: &Connection) -> (Balance, Balance) { (treasury_balance, issuance) } -pub async fn channeling_fee_and_tip(config: &Config) -> anyhow::Result<()> { +#[tokio::test] +pub async fn channeling_fee_and_tip() -> anyhow::Result<()> { + let config = setup_test(); let (transfer_amount, tip) = (1_000u128, 10_000u128); let (connection, to) = setup_for_transfer(config).await; @@ -100,7 +102,9 @@ fn check_treasury_balance( ); } -pub async fn treasury_access(config: &Config) -> anyhow::Result<()> { +#[tokio::test] +pub async fn treasury_access() -> anyhow::Result<()> { + let config = setup_test(); let proposer = KeyPair::new(get_validators_raw_keys(config)[0].clone()); let beneficiary = account_from_keypair(proposer.signer()); let connection = SignedConnection::new(config.node.clone(), proposer).await; diff --git a/e2e-tests/src/test/utility.rs b/e2e-tests/src/test/utility.rs index aef3d384be..c675dc32c3 100644 --- a/e2e-tests/src/test/utility.rs +++ b/e2e-tests/src/test/utility.rs @@ -2,9 +2,11 @@ use std::iter::repeat; use aleph_client::{pallets::balances::BalanceUserBatchExtApi, TxStatus}; -use crate::{config::Config, transfer::setup_for_transfer}; +use crate::{config::setup_test, transfer::setup_for_transfer}; -pub async fn batch_transactions(config: &Config) -> anyhow::Result<()> { +#[tokio::test] +pub async fn batch_transactions() -> anyhow::Result<()> { + let config = setup_test(); const NUMBER_OF_TRANSACTIONS: usize = 100; let (connection, to) = setup_for_transfer(config).await; diff --git a/e2e-tests/src/test/validators_change.rs b/e2e-tests/src/test/validators_change.rs index ec1905f17c..e1e0e8cb4a 100644 --- a/e2e-tests/src/test/validators_change.rs +++ b/e2e-tests/src/test/validators_change.rs @@ -8,9 +8,12 @@ use aleph_client::{ }; use log::info; -use crate::{accounts::get_validators_keys, config::Config}; +use crate::{accounts::get_validators_keys, config::setup_test}; + +#[tokio::test] +pub async fn change_validators() -> anyhow::Result<()> { + let config = setup_test(); -pub async fn change_validators(config: &Config) -> anyhow::Result<()> { let accounts = get_validators_keys(config); let connection = config.create_root_connection().await; diff --git a/e2e-tests/src/test/validators_rotate.rs b/e2e-tests/src/test/validators_rotate.rs index 51f9ad9da9..56d222346c 100644 --- a/e2e-tests/src/test/validators_rotate.rs +++ b/e2e-tests/src/test/validators_rotate.rs @@ -9,13 +9,15 @@ use aleph_client::{ }; use crate::{ - accounts::account_ids_from_keys, elections::get_members_subset_for_session, - validators::get_test_validators, Config, + accounts::account_ids_from_keys, config::setup_test, elections::get_members_subset_for_session, + validators::get_test_validators, }; const TEST_LENGTH: u32 = 5; -pub async fn validators_rotate(config: &Config) -> anyhow::Result<()> { +#[tokio::test] +pub async fn validators_rotate() -> anyhow::Result<()> { + let config = setup_test(); let connection = config.get_first_signed_connection().await; let root_connection = config.create_root_connection().await; diff --git a/e2e-tests/src/test/version_upgrade.rs b/e2e-tests/src/test/version_upgrade.rs index 1f8fb03617..8f718335b3 100644 --- a/e2e-tests/src/test/version_upgrade.rs +++ b/e2e-tests/src/test/version_upgrade.rs @@ -6,7 +6,7 @@ use aleph_client::{ }; use primitives::SessionIndex; -use crate::Config; +use crate::config::setup_test; const UPGRADE_TO_VERSION: u32 = 1; @@ -15,7 +15,9 @@ const UPGRADE_SESSION: SessionIndex = 3; const UPGRADE_FINALIZATION_WAIT_SESSIONS: u32 = 3; // Simple test that schedules a version upgrade, awaits it, and checks if node is still finalizing after planned upgrade session. -pub async fn schedule_version_change(config: &Config) -> anyhow::Result<()> { +#[tokio::test] +pub async fn schedule_version_change() -> anyhow::Result<()> { + let config = setup_test(); let connection = config.create_root_connection().await; let test_case_params = config.test_case_params.clone(); @@ -53,9 +55,10 @@ pub async fn schedule_version_change(config: &Config) -> anyhow::Result<()> { // A test that schedules a version upgrade which is supposed to fail, awaits it, and checks if finalization stopped. // It's up to the user of this test to ensure that version upgrade will actually break finalization (non-compatible change in protocol, # updated nodes k is f < k < 2/3n). -pub async fn schedule_doomed_version_change_and_verify_finalization_stopped( - config: &Config, -) -> anyhow::Result<()> { +#[tokio::test] +pub async fn schedule_doomed_version_change_and_verify_finalization_stopped() -> anyhow::Result<()> +{ + let config = setup_test(); let connection = config.create_root_connection().await; let test_case_params = config.test_case_params.clone(); diff --git a/e2e-tests/src/validators.rs b/e2e-tests/src/validators.rs index 9a8df557e5..a4567e429c 100644 --- a/e2e-tests/src/validators.rs +++ b/e2e-tests/src/validators.rs @@ -10,7 +10,7 @@ use aleph_client::{ use futures::future::join_all; use primitives::{staking::MIN_VALIDATOR_BOND, TOKEN}; -use crate::{accounts::get_validators_raw_keys, Config}; +use crate::{accounts::get_validators_raw_keys, config::Config}; /// Get all validators assumed for test pub fn get_test_validators(config: &Config) -> EraValidators { diff --git a/scripts/run_e2e.sh b/scripts/run_e2e.sh index 56c7343ee1..d7d0266cc0 100755 --- a/scripts/run_e2e.sh +++ b/scripts/run_e2e.sh @@ -4,6 +4,6 @@ set -e cd e2e-tests/ -RUST_LOG=aleph_e2e_client=info,aleph-client=info cargo run -- --node ws://127.0.0.1:9943 +E2E_CONFIG="--node ws://127.0.0.1:9943" RUST_LOG=info cargo test -- --nocapture exit $? From 7d41148ecc9c55f511dd8f1f7a8fc084420ecc7a Mon Sep 17 00:00:00 2001 From: Michal Swietek Date: Thu, 1 Dec 2022 21:30:32 +0000 Subject: [PATCH 024/212] Update to 0.9.31 (#759) --- Cargo.lock | 2155 ++++--------- aleph-client/Cargo.lock | 993 +++--- aleph-client/Cargo.toml | 19 +- aleph-client/src/aleph_zero.rs | 1067 ++++--- aleph-client/src/connections.rs | 10 +- aleph-client/src/contract/mod.rs | 16 +- aleph-client/src/pallets/contract.rs | 2 +- aleph-client/src/pallets/staking.rs | 4 +- aleph-client/src/runtime_types.rs | 7 +- aleph-client/src/waiting.rs | 32 +- benches/payout-stakers/Cargo.lock | 1004 +++---- benches/payout-stakers/Cargo.toml | 8 +- bin/cliain/Cargo.lock | 1129 +++---- bin/cliain/Cargo.toml | 12 +- bin/cliain/src/commands.rs | 2 +- bin/cliain/src/contracts.rs | 27 +- bin/node/Cargo.toml | 76 +- bin/node/src/aleph_cli.rs | 2 +- bin/node/src/chain_spec.rs | 31 +- bin/node/src/cli.rs | 14 +- bin/node/src/commands.rs | 44 +- bin/node/src/main.rs | 3 +- bin/node/src/rpc.rs | 8 +- bin/runtime/Cargo.toml | 83 +- bin/runtime/src/lib.rs | 72 +- e2e-tests/Cargo.lock | 1138 ++++--- e2e-tests/Cargo.toml | 14 +- e2e-tests/src/rewards.rs | 10 +- finality-aleph/Cargo.toml | 43 +- finality-aleph/src/data_io/proposal.rs | 2 +- finality-aleph/src/party/backup.rs | 6 +- .../src/testing/mocks/validator_network.rs | 16 +- flooder/Cargo.toml | 8 +- {flooder => fork-off}/Cargo.lock | 2667 ++++++++--------- fork-off/Cargo.toml | 8 +- fork-off/src/fsio.rs | 2 +- pallets/aleph/Cargo.toml | 20 +- pallets/elections/Cargo.toml | 26 +- pallets/elections/src/impls.rs | 4 +- pallets/elections/src/lib.rs | 18 +- pallets/support/Cargo.toml | 6 +- pallets/support/src/migration.rs | 3 +- primitives/Cargo.toml | 14 +- rust-toolchain | 2 +- 44 files changed, 4876 insertions(+), 5951 deletions(-) rename {flooder => fork-off}/Cargo.lock (71%) diff --git a/Cargo.lock b/Cargo.lock index 1d2230e8f9..5aab6a0715 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -43,7 +43,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9e8b47f52ea9bae42228d07ec09eb676433d7c4ed1ebdf0f1d1c29ed446f1ab8" dependencies = [ "cfg-if", - "cipher 0.3.0", + "cipher", "cpufeatures", "opaque-debug 0.3.0", ] @@ -56,7 +56,7 @@ checksum = "df5f85a83a7d8b0442b6aa7b504b8212c1733da07b98aae43d4bc21b2cb3cdf6" dependencies = [ "aead", "aes", - "cipher 0.3.0", + "cipher", "ctr", "ghash", "subtle", @@ -227,18 +227,16 @@ dependencies = [ [[package]] name = "aleph-node" -version = "0.8.2" +version = "0.8.3" dependencies = [ "aleph-runtime", - "clap", "finality-aleph", "futures", "hex", "hex-literal", "jsonrpsee", - "libp2p 0.44.0", + "libp2p", "log", - "pallet-contracts-rpc", "pallet-staking", "pallet-transaction-payment-rpc", "parity-scale-codec", @@ -283,7 +281,7 @@ dependencies = [ [[package]] name = "aleph-runtime" -version = "0.8.2" +version = "0.8.3" dependencies = [ "frame-executive", "frame-support", @@ -296,7 +294,6 @@ dependencies = [ "pallet-balances", "pallet-contracts", "pallet-contracts-primitives", - "pallet-contracts-rpc-runtime-api", "pallet-elections", "pallet-identity", "pallet-multisig", @@ -406,11 +403,11 @@ checksum = "e22d1f4b888c298a027c99dc9048015fac177587de20fc30232a057dfbe24a21" [[package]] name = "async-channel" -version = "1.7.1" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e14485364214912d3b19cc3435dde4df66065127f05fa0d75c712f36f12c2f28" +checksum = "cf46fee83e5ccffc220104713af3292ff9bc7c64c7de289f66dae8e38d826833" dependencies = [ - "concurrent-queue 1.2.4", + "concurrent-queue", "event-listener", "futures-core", ] @@ -423,7 +420,7 @@ checksum = "17adb73da160dfb475c183343c8cccd80721ea5a605d3eb57125f0a7b7a92d0b" dependencies = [ "async-lock", "async-task", - "concurrent-queue 2.0.0", + "concurrent-queue", "fastrand", "futures-lite", "slab", @@ -446,13 +443,13 @@ dependencies = [ [[package]] name = "async-io" -version = "1.10.0" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8121296a9f05be7f34aa4196b1747243b3b62e048bb7906f644f3fbfc490cf7" +checksum = "8c374dda1ed3e7d8f0d9ba58715f924862c63eae6849c92d3a18e7fbde9e2794" dependencies = [ "async-lock", "autocfg", - "concurrent-queue 1.2.4", + "concurrent-queue", "futures-lite", "libc", "log", @@ -461,7 +458,7 @@ dependencies = [ "slab", "socket2", "waker-fn", - "winapi", + "windows-sys 0.42.0", ] [[package]] @@ -476,20 +473,20 @@ dependencies = [ [[package]] name = "async-process" -version = "1.5.0" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02111fd8655a613c25069ea89fc8d9bb89331fa77486eb3bc059ee757cfa481c" +checksum = "6381ead98388605d0d9ff86371043b5aa922a3905824244de40dc263a14fcba4" dependencies = [ "async-io", + "async-lock", "autocfg", "blocking", "cfg-if", "event-listener", "futures-lite", "libc", - "once_cell", "signal-hook", - "winapi", + "windows-sys 0.42.0", ] [[package]] @@ -521,9 +518,9 @@ dependencies = [ [[package]] name = "async-std-resolver" -version = "0.21.2" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f2f8a4a203be3325981310ab243a28e6e4ea55b6519bffce05d41ab60e09ad8" +checksum = "6ba50e24d9ee0a8950d3d03fc6d0dd10aa14b5de3b101949b4e160f7fee7c723" dependencies = [ "async-std", "async-trait", @@ -542,9 +539,9 @@ checksum = "7a40729d2133846d9ed0ea60a8b9541bccddab49cd30f0715a1da672fe9a2524" [[package]] name = "async-trait" -version = "0.1.58" +version = "0.1.59" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e805d94e6b5001b651426cf4cd446b1ab5f319d27bab5c644f61de0a804360c" +checksum = "31e6e93155431f3931513b243d371981bb2770112b370c82745a1d19d2f99364" dependencies = [ "proc-macro2", "quote", @@ -564,15 +561,6 @@ dependencies = [ "pin-project-lite 0.2.9", ] -[[package]] -name = "atomic" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b88d82667eca772c4aa12f0f1348b3ae643424c8876448f3f7bd5787032e234c" -dependencies = [ - "autocfg", -] - [[package]] name = "atomic-waker" version = "1.0.0" @@ -585,7 +573,7 @@ version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" dependencies = [ - "hermit-abi", + "hermit-abi 0.1.19", "libc", "winapi", ] @@ -606,7 +594,7 @@ dependencies = [ "cc", "cfg-if", "libc", - "miniz_oxide", + "miniz_oxide 0.5.4", "object", "rustc-demangle", ] @@ -653,32 +641,30 @@ dependencies = [ [[package]] name = "beefy-merkle-tree" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "beefy-primitives", "sp-api", + "sp-runtime", ] [[package]] name = "beefy-primitives" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "parity-scale-codec", "scale-info", + "serde", "sp-api", "sp-application-crypto", "sp-core", + "sp-io", + "sp-mmr-primitives", "sp-runtime", "sp-std", ] -[[package]] -name = "bimap" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc0455254eb5c6964c4545d8bac815e1a1be4f3afe0ae695ea539c12d728d44b" - [[package]] name = "bincode" version = "1.3.3" @@ -690,9 +676,9 @@ dependencies = [ [[package]] name = "bindgen" -version = "0.59.2" +version = "0.60.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bd2a9a458e8f4304c52c43ebb0cfbd520289f8379a52e329a38afda99bf8eb8" +checksum = "062dddbc1ba4aca46de6338e2bf87771414c335f7b2f2036e8f3e9befebf88e6" dependencies = [ "bitflags", "cexpr", @@ -774,9 +760,9 @@ dependencies = [ [[package]] name = "blake3" -version = "1.3.2" +version = "1.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "895adc16c8b3273fbbc32685a7d55227705eda08c01e77704020f3491924b44b" +checksum = "42ae2468a89544a466886840aa467a25b766499f4f04bf7d9fcd10ecee9fccef" dependencies = [ "arrayref", "arrayvec 0.7.2", @@ -826,16 +812,16 @@ dependencies = [ [[package]] name = "blocking" -version = "1.2.0" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6ccb65d468978a086b69884437ded69a90faab3bbe6e67f242173ea728acccc" +checksum = "3c67b173a56acffd6d2326fb7ab938ba0b00a71480e14902b2591c87bc5741e8" dependencies = [ "async-channel", + "async-lock", "async-task", "atomic-waker", "fastrand", "futures-lite", - "once_cell", ] [[package]] @@ -903,12 +889,6 @@ dependencies = [ "pkg-config", ] -[[package]] -name = "cache-padded" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1db59621ec70f09c5e9b597b220c7a2b43611f4710dc03ceb8748637775692c" - [[package]] name = "camino" version = "1.1.1" @@ -986,7 +966,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5c80e5460aa66fe3b91d40bcbdab953a597b60053e34d684ac6903f863b680a6" dependencies = [ "cfg-if", - "cipher 0.3.0", + "cipher", "cpufeatures", "zeroize", ] @@ -999,7 +979,7 @@ checksum = "a18446b09be63d457bbec447509e85f662f32952b035ce892290396bc0b0cff5" dependencies = [ "aead", "chacha20", - "cipher 0.3.0", + "cipher", "poly1305", "zeroize", ] @@ -1041,16 +1021,6 @@ dependencies = [ "generic-array 0.14.6", ] -[[package]] -name = "cipher" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1873270f8f7942c191139cb8a40fd228da6c3fd2fc376d7e92d47aa14aeb59e" -dependencies = [ - "crypto-common", - "inout", -] - [[package]] name = "clang-sys" version = "1.4.0" @@ -1059,33 +1029,31 @@ checksum = "fa2e27ae6ab525c3d369ded447057bca5438d86dc3a68f6faafb8269ba82ebf3" dependencies = [ "glob", "libc", - "libloading 0.7.4", + "libloading", ] [[package]] name = "clap" -version = "3.2.23" +version = "4.0.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71655c45cb9845d3270c9d6df84ebe72b4dad3c2ba3f7023ad47c144e4e473a5" +checksum = "4d63b9e9c07271b9957ad22c173bae2a4d9a81127680962039296abcd2f8251d" dependencies = [ - "atty", "bitflags", "clap_derive", "clap_lex", - "indexmap", + "is-terminal", "once_cell", "strsim", "termcolor", - "textwrap", ] [[package]] name = "clap_derive" -version = "3.2.18" +version = "4.0.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea0c8bce528c4be4da13ea6fead8965e95b6073585a2f05204bd8f4119f82a65" +checksum = "0177313f9f02afc995627906bbd8967e2be069f5261954222dac78290c2b9014" dependencies = [ - "heck 0.4.0", + "heck", "proc-macro-error", "proc-macro2", "quote", @@ -1094,22 +1062,13 @@ dependencies = [ [[package]] name = "clap_lex" -version = "0.2.4" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5" +checksum = "0d4198f73e42b4936b35b5bb248d81d2b595ecb170da0bac7655c54eedfa8da8" dependencies = [ "os_str_bytes", ] -[[package]] -name = "cmake" -version = "0.1.49" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db34956e100b30725f2eb215f90d4871051239535632f84fea3bc92722c66b7c" -dependencies = [ - "cc", -] - [[package]] name = "codespan-reporting" version = "0.11.1" @@ -1120,15 +1079,6 @@ dependencies = [ "unicode-width", ] -[[package]] -name = "concurrent-queue" -version = "1.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af4780a44ab5696ea9e28294517f1fffb421a83a25af521333c838635509db9c" -dependencies = [ - "cache-padded", -] - [[package]] name = "concurrent-queue" version = "2.0.0" @@ -1419,18 +1369,7 @@ version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "049bb91fb4aaf0e3c7efa6cd5ef877dbbbd15b39dad06d9948de4ec8a75761ea" dependencies = [ - "cipher 0.3.0", -] - -[[package]] -name = "cuckoofilter" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b810a8449931679f64cd7eef1bbd0fa315801b6d5d9cdc1ace2804d6529eee18" -dependencies = [ - "byteorder", - "fnv", - "rand 0.7.3", + "cipher", ] [[package]] @@ -1575,6 +1514,12 @@ dependencies = [ "syn", ] +[[package]] +name = "difflib" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6184e33543162437515c2e2b48714794e37845ec9851711914eec9d308f6ebe8" + [[package]] name = "digest" version = "0.8.1" @@ -1655,6 +1600,12 @@ dependencies = [ "quick-error", ] +[[package]] +name = "downcast" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1435fa1053d8b2fbbe9be7e97eca7f33d37b28409959813daefc1446a14247f1" + [[package]] name = "downcast-rs" version = "1.2.0" @@ -1769,11 +1720,11 @@ dependencies = [ [[package]] name = "enum-as-inner" -version = "0.4.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21cdad81446a7f7dc43f6a77409efeb9733d2fa65553efef6018ef257c959b73" +checksum = "c9720bba047d567ffc8a3cba48bf19126600e249ab7f128e9233e6376976a116" dependencies = [ - "heck 0.4.0", + "heck", "proc-macro2", "quote", "syn", @@ -1839,33 +1790,6 @@ dependencies = [ "libc", ] -[[package]] -name = "ethbloom" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11da94e443c60508eb62cf256243a64da87304c2802ac2528847f79d750007ef" -dependencies = [ - "crunchy", - "fixed-hash", - "impl-rlp", - "impl-serde", - "tiny-keccak", -] - -[[package]] -name = "ethereum-types" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2827b94c556145446fcce834ca86b7abf0c39a805883fe20e72c5bfdb5a0dc6" -dependencies = [ - "ethbloom", - "fixed-hash", - "impl-rlp", - "impl-serde", - "primitive-types", - "uint", -] - [[package]] name = "event-listener" version = "2.5.3" @@ -1963,9 +1887,8 @@ dependencies = [ "hash-db", "ip_network", "log", - "lru", + "lru 0.7.8", "parity-scale-codec", - "parity-util-mem", "parking_lot 0.12.1", "primitives", "rand 0.8.5", @@ -2013,9 +1936,9 @@ dependencies = [ [[package]] name = "fixed-hash" -version = "0.7.0" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfcf0ed7fe52a17a03854ec54a9f76d6d84508d1c0e66bc1793301c73fc8493c" +checksum = "835c052cb0c08c1acf6ffd71c022172e18723949c8282f2b9f27efbc51e64534" dependencies = [ "byteorder", "rand 0.8.5", @@ -2031,13 +1954,22 @@ checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" [[package]] name = "flate2" -version = "1.0.24" +version = "1.0.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f82b0f4c27ad9f8bfd1f3208d882da2b09c301bc1c828fd3a00d0216d2fbbff6" +checksum = "a8a2db397cb1c8772f31494cb8917e48cd1e64f0fa7efac59fbd741a0a8ce841" dependencies = [ "crc32fast", "libz-sys", - "miniz_oxide", + "miniz_oxide 0.6.2", +] + +[[package]] +name = "float-cmp" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "98de4bbd547a563b716d8dfa9aad1cb19bfab00f4fa09a6a4ed21dbcf44ce9c4" +dependencies = [ + "num-traits", ] [[package]] @@ -2049,7 +1981,7 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "fork-tree" version = "3.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "parity-scale-codec", ] @@ -2063,10 +1995,16 @@ dependencies = [ "percent-encoding", ] +[[package]] +name = "fragile" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c2141d6d6c8512188a7891b4b01590a45f6dac67afb4f255c4124dbb86d4eaa" + [[package]] name = "frame-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "frame-support", "frame-system", @@ -2089,7 +2027,7 @@ dependencies = [ [[package]] name = "frame-election-provider-solution-type" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -2100,7 +2038,7 @@ dependencies = [ [[package]] name = "frame-election-provider-support" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "frame-election-provider-solution-type", "frame-support", @@ -2116,7 +2054,7 @@ dependencies = [ [[package]] name = "frame-executive" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "frame-support", "frame-system", @@ -2145,7 +2083,7 @@ dependencies = [ [[package]] name = "frame-support" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "bitflags", "frame-metadata", @@ -2177,7 +2115,7 @@ dependencies = [ [[package]] name = "frame-support-procedural" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "Inflector", "cfg-expr", @@ -2191,7 +2129,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate", @@ -2203,7 +2141,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "proc-macro2", "quote", @@ -2213,7 +2151,7 @@ dependencies = [ [[package]] name = "frame-system" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "frame-support", "log", @@ -2231,7 +2169,7 @@ dependencies = [ [[package]] name = "frame-system-rpc-runtime-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "parity-scale-codec", "sp-api", @@ -2240,7 +2178,7 @@ dependencies = [ [[package]] name = "frame-try-runtime" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "frame-support", "parity-scale-codec", @@ -2249,18 +2187,6 @@ dependencies = [ "sp-std", ] -[[package]] -name = "fs-swap" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03d47dad3685eceed8488986cad3d5027165ea5edb164331770e2059555f10a5" -dependencies = [ - "lazy_static", - "libc", - "libloading 0.5.2", - "winapi", -] - [[package]] name = "fs2" version = "0.4.3" @@ -2499,9 +2425,9 @@ dependencies = [ [[package]] name = "gloo-timers" -version = "0.2.4" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fb7d06c1c8cc2a29bee7ec961009a0b2caa0793ee4900c2ffb348734ba1c8f9" +checksum = "98c4a8d6391675c6b2ee1a6c8d06e8e2d03605c44cec1270675985a4c2a5500b" dependencies = [ "futures-channel", "futures-core", @@ -2563,15 +2489,6 @@ dependencies = [ "ahash", ] -[[package]] -name = "heck" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c" -dependencies = [ - "unicode-segmentation", -] - [[package]] name = "heck" version = "0.4.0" @@ -2587,6 +2504,15 @@ dependencies = [ "libc", ] +[[package]] +name = "hermit-abi" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7" +dependencies = [ + "libc", +] + [[package]] name = "hex" version = "0.4.3" @@ -2599,12 +2525,6 @@ version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7ebdb29d2ea9ed0083cd8cece49bbd968021bd99b0849edb4a9a7ee0fdf6a4e0" -[[package]] -name = "hex_fmt" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b07f60793ff0a4d9cef0f18e63b5357e06209987153a64648c972c1e5aff336f" - [[package]] name = "hmac" version = "0.8.1" @@ -2792,9 +2712,9 @@ dependencies = [ [[package]] name = "if-watch" -version = "1.1.1" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "015a7df1eb6dda30df37f34b63ada9b7b352984b0e84de2a20ed526345000791" +checksum = "065c008e570a43c00de6aed9714035e5ea6a498c255323db9091722af6ee67dd" dependencies = [ "async-io", "core-foundation", @@ -2817,20 +2737,11 @@ dependencies = [ "parity-scale-codec", ] -[[package]] -name = "impl-rlp" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f28220f89297a075ddc7245cd538076ee98b01f2a9c23a53a4f1105d5a322808" -dependencies = [ - "rlp", -] - [[package]] name = "impl-serde" -version = "0.3.2" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4551f042f3438e64dbd6226b20527fc84a6e1fe65688b58746a2f53623f25f5c" +checksum = "ebc88fc67028ae3db0c853baa36269d398d5f45b6982f95549ff5def78c935cd" dependencies = [ "serde", ] @@ -2857,15 +2768,6 @@ dependencies = [ "serde", ] -[[package]] -name = "inout" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5" -dependencies = [ - "generic-array 0.14.6", -] - [[package]] name = "instant" version = "0.1.12" @@ -2892,9 +2794,9 @@ checksum = "59ce5ef949d49ee85593fc4d3f3f95ad61657076395cbbce23e2121fc5542074" [[package]] name = "io-lifetimes" -version = "1.0.1" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7d367024b3f3414d8e01f437f704f41a9f64ab36f9067fa73e526ad4c763c87" +checksum = "46112a93252b123d31a119a8d1a1ac19deac4fac6e0e8b0df58f0d4e5870e63c" dependencies = [ "libc", "windows-sys 0.42.0", @@ -2924,6 +2826,18 @@ version = "2.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f88c5561171189e69df9d98bcf18fd5f9558300f7ea7b801eb8a0fd748bd8745" +[[package]] +name = "is-terminal" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "927609f78c2913a6f6ac3c27a4fe87f43e2a35367c0c4b0f8265e8f49a104330" +dependencies = [ + "hermit-abi 0.2.6", + "io-lifetimes 1.0.3", + "rustix 0.36.4", + "windows-sys 0.42.0", +] + [[package]] name = "itertools" version = "0.10.5" @@ -2982,7 +2896,7 @@ dependencies = [ "http", "jsonrpsee-core", "jsonrpsee-types", - "pin-project 1.0.12", + "pin-project", "rustls-native-certs", "soketto", "thiserror", @@ -3133,9 +3047,9 @@ dependencies = [ [[package]] name = "kvdb" -version = "0.11.0" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a301d8ecb7989d4a6e2c57a49baca77d353bdbf879909debe3f375fe25d61f86" +checksum = "585089ceadba0197ffe9af6740ab350b325e3c1f5fccfbc3522e0250c750409b" dependencies = [ "parity-util-mem", "smallvec", @@ -3143,9 +3057,9 @@ dependencies = [ [[package]] name = "kvdb-memorydb" -version = "0.11.0" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ece7e668abd21387aeb6628130a6f4c802787f014fa46bc83221448322250357" +checksum = "40d109c87bfb7759edd2a49b2649c1afe25af785d930ad6a38479b4dc70dd873" dependencies = [ "kvdb", "parity-util-mem", @@ -3154,15 +3068,13 @@ dependencies = [ [[package]] name = "kvdb-rocksdb" -version = "0.15.2" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca7fbdfd71cd663dceb0faf3367a99f8cf724514933e9867cec4995b6027cbc1" +checksum = "c076cc2cdbac89b9910c853a36c957d3862a779f31c2661174222cefb49ee597" dependencies = [ - "fs-swap", "kvdb", "log", "num_cpus", - "owning_ref", "parity-util-mem", "parking_lot 0.12.1", "regex", @@ -3188,16 +3100,6 @@ version = "0.2.137" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc7fcc620a3bff7cdd7a365be3376c97191aeaccc2a603e600951e452615bf89" -[[package]] -name = "libloading" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2b111a074963af1d37a139918ac6d49ad1d0d5e47f72fd55388619691a7d753" -dependencies = [ - "cc", - "winapi", -] - [[package]] name = "libloading" version = "0.7.4" @@ -3216,841 +3118,258 @@ checksum = "348108ab3fba42ec82ff6e9564fc4ca0247bdccdc68dd8af9764bbc79c3c8ffb" [[package]] name = "libp2p" -version = "0.44.0" +version = "0.49.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "475ce2ac4a9727e53a519f6ee05b38abfcba8f0d39c4d24f103d184e36fd5b0f" +checksum = "ec878fda12ebec479186b3914ebc48ff180fa4c51847e11a1a68bf65249e02c1" dependencies = [ - "atomic", "bytes", "futures", "futures-timer", "getrandom 0.2.8", "instant", "lazy_static", - "libp2p-autonat 0.3.0", - "libp2p-core 0.32.1", - "libp2p-deflate 0.32.0", - "libp2p-dns 0.32.1", - "libp2p-floodsub 0.35.0", - "libp2p-gossipsub 0.37.0", - "libp2p-identify 0.35.0", - "libp2p-kad 0.36.0", - "libp2p-mdns 0.36.0", - "libp2p-metrics 0.5.0", - "libp2p-mplex 0.32.0", - "libp2p-noise 0.35.0", - "libp2p-ping 0.35.0", - "libp2p-plaintext 0.32.0", - "libp2p-pnet", - "libp2p-relay 0.8.0", - "libp2p-rendezvous 0.5.0", - "libp2p-request-response 0.17.0", - "libp2p-swarm 0.35.0", - "libp2p-swarm-derive 0.27.2", - "libp2p-tcp 0.32.0", - "libp2p-uds 0.32.0", - "libp2p-wasm-ext 0.32.0", - "libp2p-websocket 0.34.0", - "libp2p-yamux 0.36.0", + "libp2p-core", + "libp2p-dns", + "libp2p-identify", + "libp2p-kad", + "libp2p-mdns", + "libp2p-metrics", + "libp2p-mplex", + "libp2p-noise", + "libp2p-ping", + "libp2p-request-response", + "libp2p-swarm", + "libp2p-swarm-derive", + "libp2p-tcp", + "libp2p-wasm-ext", + "libp2p-websocket", + "libp2p-yamux", "multiaddr", "parking_lot 0.12.1", - "pin-project 1.0.12", - "rand 0.7.3", + "pin-project", "smallvec", ] [[package]] -name = "libp2p" -version = "0.46.1" +name = "libp2p-core" +version = "0.37.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81327106887e42d004fbdab1fef93675be2e2e07c1b95fce45e2cc813485611d" +checksum = "799676bb0807c788065e57551c6527d461ad572162b0519d1958946ff9e0539d" dependencies = [ - "bytes", + "asn1_der", + "bs58", + "ed25519-dalek", + "either", + "fnv", "futures", "futures-timer", - "getrandom 0.2.8", "instant", "lazy_static", - "libp2p-autonat 0.5.0", - "libp2p-core 0.34.0", - "libp2p-deflate 0.34.0", - "libp2p-dns 0.34.0", - "libp2p-floodsub 0.37.0", - "libp2p-gossipsub 0.39.0", - "libp2p-identify 0.37.0", - "libp2p-kad 0.38.0", - "libp2p-mdns 0.38.0", - "libp2p-metrics 0.7.0", - "libp2p-mplex 0.34.0", - "libp2p-noise 0.37.0", - "libp2p-ping 0.37.0", - "libp2p-plaintext 0.34.0", - "libp2p-pnet", - "libp2p-relay 0.10.0", - "libp2p-rendezvous 0.7.0", - "libp2p-request-response 0.19.0", - "libp2p-swarm 0.37.0", - "libp2p-swarm-derive 0.28.0", - "libp2p-tcp 0.34.0", - "libp2p-uds 0.33.0", - "libp2p-wasm-ext 0.34.0", - "libp2p-websocket 0.36.0", - "libp2p-yamux 0.38.0", + "log", "multiaddr", + "multihash", + "multistream-select", "parking_lot 0.12.1", - "pin-project 1.0.12", - "rand 0.7.3", + "pin-project", + "prost", + "prost-build", + "rand 0.8.5", + "rw-stream-sink", + "sha2 0.10.6", "smallvec", + "thiserror", + "unsigned-varint", + "void", + "zeroize", ] [[package]] -name = "libp2p-autonat" -version = "0.3.0" +name = "libp2p-dns" +version = "0.37.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a13b690e65046af6a09c0b27bd9508fa1cab0efce889de74b0b643b9d2a98f9a" +checksum = "2322c9fb40d99101def6a01612ee30500c89abbbecb6297b3cd252903a4c1720" dependencies = [ - "async-trait", + "async-std-resolver", "futures", - "futures-timer", - "instant", - "libp2p-core 0.32.1", - "libp2p-request-response 0.17.0", - "libp2p-swarm 0.35.0", + "libp2p-core", "log", - "prost 0.9.0", - "prost-build 0.9.0", - "rand 0.8.5", + "parking_lot 0.12.1", + "smallvec", + "trust-dns-resolver", ] [[package]] -name = "libp2p-autonat" -version = "0.5.0" +name = "libp2p-identify" +version = "0.40.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4decc51f3573653a9f4ecacb31b1b922dd20c25a6322bb15318ec04287ec46f9" +checksum = "dcf9a121f699e8719bda2e6e9e9b6ddafc6cff4602471d6481c1067930ccb29b" dependencies = [ - "async-trait", + "asynchronous-codec", "futures", "futures-timer", - "instant", - "libp2p-core 0.34.0", - "libp2p-request-response 0.19.0", - "libp2p-swarm 0.37.0", + "libp2p-core", + "libp2p-swarm", "log", - "prost 0.10.4", - "prost-build 0.10.4", - "rand 0.8.5", + "lru 0.8.1", + "prost", + "prost-build", + "prost-codec", + "smallvec", + "thiserror", + "void", ] [[package]] -name = "libp2p-core" -version = "0.32.1" +name = "libp2p-kad" +version = "0.41.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db5b02602099fb75cb2d16f9ea860a320d6eb82ce41e95ab680912c454805cd5" +checksum = "6721c200e2021f6c3fab8b6cf0272ead8912d871610ee194ebd628cecf428f22" dependencies = [ - "asn1_der", - "bs58", - "ed25519-dalek", + "arrayvec 0.7.2", + "asynchronous-codec", + "bytes", "either", "fnv", "futures", "futures-timer", "instant", - "lazy_static", - "libsecp256k1", + "libp2p-core", + "libp2p-swarm", "log", - "multiaddr", - "multihash", - "multistream-select", - "parking_lot 0.12.1", - "pin-project 1.0.12", - "prost 0.9.0", - "prost-build 0.9.0", + "prost", + "prost-build", "rand 0.8.5", - "ring", - "rw-stream-sink 0.2.1", "sha2 0.10.6", "smallvec", "thiserror", + "uint", "unsigned-varint", "void", - "zeroize", ] [[package]] -name = "libp2p-core" -version = "0.34.0" +name = "libp2p-mdns" +version = "0.41.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbf9b94cefab7599b2d3dff2f93bee218c6621d68590b23ede4485813cbcece6" +checksum = "761704e727f7d68d58d7bc2231eafae5fc1b9814de24290f126df09d4bd37a15" dependencies = [ - "asn1_der", - "bs58", - "ed25519-dalek", - "either", - "fnv", - "futures", - "futures-timer", - "instant", - "lazy_static", - "libsecp256k1", - "log", - "multiaddr", - "multihash", - "multistream-select", - "parking_lot 0.12.1", - "pin-project 1.0.12", - "prost 0.10.4", - "prost-build 0.10.4", - "rand 0.8.5", - "ring", - "rw-stream-sink 0.3.0", - "sha2 0.10.6", - "smallvec", - "thiserror", - "unsigned-varint", - "void", - "zeroize", -] - -[[package]] -name = "libp2p-deflate" -version = "0.32.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b1d37f042f748e224f04785d0e987ae09a2aa518d6401d82d412dad83e360ed" -dependencies = [ - "flate2", - "futures", - "libp2p-core 0.32.1", -] - -[[package]] -name = "libp2p-deflate" -version = "0.34.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0183dc2a3da1fbbf85e5b6cf51217f55b14f5daea0c455a9536eef646bfec71" -dependencies = [ - "flate2", - "futures", - "libp2p-core 0.34.0", -] - -[[package]] -name = "libp2p-dns" -version = "0.32.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "066e33e854e10b5c93fc650458bf2179c7e0d143db260b0963e44a94859817f1" -dependencies = [ - "async-std-resolver", - "futures", - "libp2p-core 0.32.1", - "log", - "smallvec", - "trust-dns-resolver", -] - -[[package]] -name = "libp2p-dns" -version = "0.34.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6cbf54723250fa5d521383be789bf60efdabe6bacfb443f87da261019a49b4b5" -dependencies = [ - "async-std-resolver", - "futures", - "libp2p-core 0.34.0", - "log", - "parking_lot 0.12.1", - "smallvec", - "trust-dns-resolver", -] - -[[package]] -name = "libp2p-floodsub" -version = "0.35.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "733d3ea6ebe7a7a85df2bc86678b93f24b015fae5fe3b3acc4c400e795a55d2d" -dependencies = [ - "cuckoofilter", - "fnv", - "futures", - "libp2p-core 0.32.1", - "libp2p-swarm 0.35.0", - "log", - "prost 0.9.0", - "prost-build 0.9.0", - "rand 0.7.3", - "smallvec", -] - -[[package]] -name = "libp2p-floodsub" -version = "0.37.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98a4b6ffd53e355775d24b76f583fdda54b3284806f678499b57913adb94f231" -dependencies = [ - "cuckoofilter", - "fnv", - "futures", - "libp2p-core 0.34.0", - "libp2p-swarm 0.37.0", - "log", - "prost 0.10.4", - "prost-build 0.10.4", - "rand 0.7.3", - "smallvec", -] - -[[package]] -name = "libp2p-gossipsub" -version = "0.37.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a90c989a7c0969c2ab63e898da9bc735e3be53fb4f376e9c045ce516bcc9f928" -dependencies = [ - "asynchronous-codec", - "base64", - "byteorder", - "bytes", - "fnv", - "futures", - "hex_fmt", - "instant", - "libp2p-core 0.32.1", - "libp2p-swarm 0.35.0", - "log", - "prometheus-client 0.15.1", - "prost 0.9.0", - "prost-build 0.9.0", - "rand 0.7.3", - "regex", - "sha2 0.10.6", - "smallvec", - "unsigned-varint", - "wasm-timer", -] - -[[package]] -name = "libp2p-gossipsub" -version = "0.39.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74b4b888cfbeb1f5551acd3aa1366e01bf88ede26cc3c4645d0d2d004d5ca7b0" -dependencies = [ - "asynchronous-codec", - "base64", - "byteorder", - "bytes", - "fnv", - "futures", - "hex_fmt", - "instant", - "libp2p-core 0.34.0", - "libp2p-swarm 0.37.0", - "log", - "prometheus-client 0.16.0", - "prost 0.10.4", - "prost-build 0.10.4", - "rand 0.7.3", - "regex", - "sha2 0.10.6", - "smallvec", - "unsigned-varint", - "wasm-timer", -] - -[[package]] -name = "libp2p-identify" -version = "0.35.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5ef5a5b57904c7c33d6713ef918d239dc6b7553458f3475d87f8a18e9c651c8" -dependencies = [ - "futures", - "futures-timer", - "libp2p-core 0.32.1", - "libp2p-swarm 0.35.0", - "log", - "lru", - "prost 0.9.0", - "prost-build 0.9.0", - "smallvec", -] - -[[package]] -name = "libp2p-identify" -version = "0.37.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c50b585518f8efd06f93ac2f976bd672e17cdac794644b3117edd078e96bda06" -dependencies = [ - "asynchronous-codec", - "futures", - "futures-timer", - "libp2p-core 0.34.0", - "libp2p-swarm 0.37.0", - "log", - "lru", - "prost 0.10.4", - "prost-build 0.10.4", - "prost-codec", - "smallvec", - "thiserror", - "void", -] - -[[package]] -name = "libp2p-kad" -version = "0.36.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "564e6bd64d177446399ed835b9451a8825b07929d6daa6a94e6405592974725e" -dependencies = [ - "arrayvec 0.5.2", - "asynchronous-codec", - "bytes", - "either", - "fnv", - "futures", - "futures-timer", - "instant", - "libp2p-core 0.32.1", - "libp2p-swarm 0.35.0", - "log", - "prost 0.9.0", - "prost-build 0.9.0", - "rand 0.7.3", - "sha2 0.10.6", - "smallvec", - "thiserror", - "uint", - "unsigned-varint", - "void", -] - -[[package]] -name = "libp2p-kad" -version = "0.38.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "740862893bb5f06ac24acc9d49bdeadc3a5e52e51818a30a25c1f3519da2c851" -dependencies = [ - "arrayvec 0.7.2", - "asynchronous-codec", - "bytes", - "either", - "fnv", - "futures", - "futures-timer", - "instant", - "libp2p-core 0.34.0", - "libp2p-swarm 0.37.0", - "log", - "prost 0.10.4", - "prost-build 0.10.4", - "rand 0.7.3", - "sha2 0.10.6", - "smallvec", - "thiserror", - "uint", - "unsigned-varint", - "void", -] - -[[package]] -name = "libp2p-mdns" -version = "0.36.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "611ae873c8e280ccfab0d57c7a13cac5644f364529e233114ff07863946058b0" -dependencies = [ - "async-io", - "data-encoding", - "dns-parser", - "futures", - "if-watch", - "lazy_static", - "libp2p-core 0.32.1", - "libp2p-swarm 0.35.0", - "log", - "rand 0.8.5", - "smallvec", - "socket2", - "void", -] - -[[package]] -name = "libp2p-mdns" -version = "0.38.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66e5e5919509603281033fd16306c61df7a4428ce274b67af5e14b07de5cdcb2" -dependencies = [ - "async-io", - "data-encoding", - "dns-parser", - "futures", - "if-watch", - "lazy_static", - "libp2p-core 0.34.0", - "libp2p-swarm 0.37.0", - "log", - "rand 0.8.5", - "smallvec", - "socket2", - "void", -] - -[[package]] -name = "libp2p-metrics" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "985be799bb3796e0c136c768208c3c06604a38430571906a13dcfeda225a3b9d" -dependencies = [ - "libp2p-core 0.32.1", - "libp2p-gossipsub 0.37.0", - "libp2p-identify 0.35.0", - "libp2p-kad 0.36.0", - "libp2p-ping 0.35.0", - "libp2p-relay 0.8.0", - "libp2p-swarm 0.35.0", - "prometheus-client 0.15.1", -] - -[[package]] -name = "libp2p-metrics" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef8aff4a1abef42328fbb30b17c853fff9be986dc39af17ee39f9c5f755c5e0c" -dependencies = [ - "libp2p-core 0.34.0", - "libp2p-gossipsub 0.39.0", - "libp2p-identify 0.37.0", - "libp2p-kad 0.38.0", - "libp2p-ping 0.37.0", - "libp2p-relay 0.10.0", - "libp2p-swarm 0.37.0", - "prometheus-client 0.16.0", -] - -[[package]] -name = "libp2p-mplex" -version = "0.32.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "442eb0c9fff0bf22a34f015724b4143ce01877e079ed0963c722d94c07c72160" -dependencies = [ - "asynchronous-codec", - "bytes", - "futures", - "libp2p-core 0.32.1", - "log", - "nohash-hasher", - "parking_lot 0.12.1", - "rand 0.7.3", - "smallvec", - "unsigned-varint", -] - -[[package]] -name = "libp2p-mplex" -version = "0.34.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61fd1b20638ec209c5075dfb2e8ce6a7ea4ec3cd3ad7b77f7a477c06d53322e2" -dependencies = [ - "asynchronous-codec", - "bytes", - "futures", - "libp2p-core 0.34.0", - "log", - "nohash-hasher", - "parking_lot 0.12.1", - "rand 0.7.3", - "smallvec", - "unsigned-varint", -] - -[[package]] -name = "libp2p-noise" -version = "0.35.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9dd7e0c94051cda67123be68cf6b65211ba3dde7277be9068412de3e7ffd63ef" -dependencies = [ - "bytes", - "curve25519-dalek 3.2.0", - "futures", - "lazy_static", - "libp2p-core 0.32.1", - "log", - "prost 0.9.0", - "prost-build 0.9.0", - "rand 0.8.5", - "sha2 0.10.6", - "snow", - "static_assertions", - "x25519-dalek", - "zeroize", -] - -[[package]] -name = "libp2p-noise" -version = "0.37.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "762408cb5d84b49a600422d7f9a42c18012d8da6ebcd570f9a4a4290ba41fb6f" -dependencies = [ - "bytes", - "curve25519-dalek 3.2.0", - "futures", - "lazy_static", - "libp2p-core 0.34.0", - "log", - "prost 0.10.4", - "prost-build 0.10.4", - "rand 0.8.5", - "sha2 0.10.6", - "snow", - "static_assertions", - "x25519-dalek", - "zeroize", -] - -[[package]] -name = "libp2p-ping" -version = "0.35.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf57a3c2e821331dda9fe612d4654d676ab6e33d18d9434a18cced72630df6ad" -dependencies = [ - "futures", - "futures-timer", - "instant", - "libp2p-core 0.32.1", - "libp2p-swarm 0.35.0", - "log", - "rand 0.7.3", - "void", -] - -[[package]] -name = "libp2p-ping" -version = "0.37.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "100a6934ae1dbf8a693a4e7dd1d730fd60b774dafc45688ed63b554497c6c925" -dependencies = [ - "futures", - "futures-timer", - "instant", - "libp2p-core 0.34.0", - "libp2p-swarm 0.37.0", - "log", - "rand 0.7.3", - "void", -] - -[[package]] -name = "libp2p-plaintext" -version = "0.32.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "962c0fb0e7212fb96a69b87f2d09bcefd317935239bdc79cda900e7a8897a3fe" -dependencies = [ - "asynchronous-codec", - "bytes", - "futures", - "libp2p-core 0.32.1", - "log", - "prost 0.9.0", - "prost-build 0.9.0", - "unsigned-varint", - "void", -] - -[[package]] -name = "libp2p-plaintext" -version = "0.34.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be27bf0820a6238a4e06365b096d428271cce85a129cf16f2fe9eb1610c4df86" -dependencies = [ - "asynchronous-codec", - "bytes", - "futures", - "libp2p-core 0.34.0", - "log", - "prost 0.10.4", - "prost-build 0.10.4", - "unsigned-varint", - "void", -] - -[[package]] -name = "libp2p-pnet" -version = "0.22.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a5a702574223aa55d8878bdc8bf55c84a6086f87ddaddc28ce730b4caa81538" -dependencies = [ - "futures", - "log", - "pin-project 1.0.12", - "rand 0.8.5", - "salsa20", - "sha3", -] - -[[package]] -name = "libp2p-relay" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3aa754cb7bccef51ebc3c458c6bbcef89d83b578a9925438389be841527d408f" -dependencies = [ - "asynchronous-codec", - "bytes", - "either", + "async-io", + "data-encoding", + "dns-parser", "futures", - "futures-timer", - "instant", - "libp2p-core 0.32.1", - "libp2p-swarm 0.35.0", + "if-watch", + "libp2p-core", + "libp2p-swarm", "log", - "pin-project 1.0.12", - "prost 0.9.0", - "prost-build 0.9.0", "rand 0.8.5", "smallvec", - "static_assertions", - "thiserror", - "unsigned-varint", + "socket2", "void", ] [[package]] -name = "libp2p-relay" +name = "libp2p-metrics" version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4931547ee0cce03971ccc1733ff05bb0c4349fd89120a39e9861e2bbe18843c3" +checksum = "9ee31b08e78b7b8bfd1c4204a9dd8a87b4fcdf6dafc57eb51701c1c264a81cb9" dependencies = [ - "asynchronous-codec", - "bytes", - "either", - "futures", - "futures-timer", - "instant", - "libp2p-core 0.34.0", - "libp2p-swarm 0.37.0", - "log", - "pin-project 1.0.12", - "prost 0.10.4", - "prost-build 0.10.4", - "prost-codec", - "rand 0.8.5", - "smallvec", - "static_assertions", - "thiserror", - "void", + "libp2p-core", + "libp2p-identify", + "libp2p-kad", + "libp2p-ping", + "libp2p-swarm", + "prometheus-client", ] [[package]] -name = "libp2p-rendezvous" -version = "0.5.0" +name = "libp2p-mplex" +version = "0.37.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbd0baab894c5b84da510b915d53264d566c3c35889f09931fe9edbd2a773bee" +checksum = "692664acfd98652de739a8acbb0a0d670f1d67190a49be6b4395e22c37337d89" dependencies = [ "asynchronous-codec", - "bimap", + "bytes", "futures", - "futures-timer", - "instant", - "libp2p-core 0.32.1", - "libp2p-swarm 0.35.0", + "libp2p-core", "log", - "prost 0.9.0", - "prost-build 0.9.0", + "nohash-hasher", + "parking_lot 0.12.1", "rand 0.8.5", - "sha2 0.10.6", - "thiserror", + "smallvec", "unsigned-varint", - "void", ] [[package]] -name = "libp2p-rendezvous" -version = "0.7.0" +name = "libp2p-noise" +version = "0.40.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9511c9672ba33284838e349623319c8cad2d18cfad243ae46c6b7e8a2982ea4e" +checksum = "048155686bd81fe6cb5efdef0c6290f25ad32a0a42e8f4f72625cf6a505a206f" dependencies = [ - "asynchronous-codec", - "bimap", + "bytes", + "curve25519-dalek 3.2.0", "futures", - "futures-timer", - "instant", - "libp2p-core 0.34.0", - "libp2p-swarm 0.37.0", + "lazy_static", + "libp2p-core", "log", - "prost 0.10.4", - "prost-build 0.10.4", + "prost", + "prost-build", "rand 0.8.5", "sha2 0.10.6", - "thiserror", - "unsigned-varint", - "void", + "snow", + "static_assertions", + "x25519-dalek", + "zeroize", ] [[package]] -name = "libp2p-request-response" -version = "0.17.0" +name = "libp2p-ping" +version = "0.40.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5e6a6fc6c9ad95661f46989473b34bd2993d14a4de497ff3b2668a910d4b869" +checksum = "7228b9318d34689521349a86eb39a3c3a802c9efc99a0568062ffb80913e3f91" dependencies = [ - "async-trait", - "bytes", "futures", + "futures-timer", "instant", - "libp2p-core 0.32.1", - "libp2p-swarm 0.35.0", + "libp2p-core", + "libp2p-swarm", "log", - "rand 0.7.3", - "smallvec", - "unsigned-varint", + "rand 0.8.5", + "void", ] [[package]] name = "libp2p-request-response" -version = "0.19.0" +version = "0.22.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "508a189e2795d892c8f5c1fa1e9e0b1845d32d7b0b249dbf7b05b18811361843" +checksum = "8827af16a017b65311a410bb626205a9ad92ec0473967618425039fa5231adc1" dependencies = [ "async-trait", "bytes", "futures", "instant", - "libp2p-core 0.34.0", - "libp2p-swarm 0.37.0", + "libp2p-core", + "libp2p-swarm", "log", - "rand 0.7.3", + "rand 0.8.5", "smallvec", "unsigned-varint", ] [[package]] name = "libp2p-swarm" -version = "0.35.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f0c69ad9e8f7c5fc50ad5ad9c7c8b57f33716532a2b623197f69f93e374d14c" -dependencies = [ - "either", - "fnv", - "futures", - "futures-timer", - "instant", - "libp2p-core 0.32.1", - "log", - "pin-project 1.0.12", - "rand 0.7.3", - "smallvec", - "thiserror", - "void", -] - -[[package]] -name = "libp2p-swarm" -version = "0.37.0" +version = "0.40.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95ac5be6c2de2d1ff3f7693fda6faf8a827b1f3e808202277783fea9f527d114" +checksum = "46d13df7c37807965d82930c0e4b04a659efcb6cca237373b206043db5398ecf" dependencies = [ "either", "fnv", "futures", "futures-timer", "instant", - "libp2p-core 0.34.0", + "libp2p-core", "log", - "pin-project 1.0.12", - "rand 0.7.3", + "pin-project", + "rand 0.8.5", "smallvec", "thiserror", "void", @@ -4058,105 +3377,40 @@ dependencies = [ [[package]] name = "libp2p-swarm-derive" -version = "0.27.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f693c8c68213034d472cbb93a379c63f4f307d97c06f1c41e4985de481687a5" -dependencies = [ - "quote", - "syn", -] - -[[package]] -name = "libp2p-swarm-derive" -version = "0.28.0" +version = "0.30.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f54a64b6957249e0ce782f8abf41d97f69330d02bf229f0672d864f0650cc76" +checksum = "a0eddc4497a8b5a506013c40e8189864f9c3a00db2b25671f428ae9007f3ba32" dependencies = [ + "heck", "quote", "syn", ] [[package]] name = "libp2p-tcp" -version = "0.32.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "193447aa729c85aac2376828df76d171c1a589c9e6b58fcc7f9d9a020734122c" -dependencies = [ - "async-io", - "futures", - "futures-timer", - "if-watch", - "ipnet", - "libc", - "libp2p-core 0.32.1", - "log", - "socket2", -] - -[[package]] -name = "libp2p-tcp" -version = "0.34.0" +version = "0.37.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a6771dc19aa3c65d6af9a8c65222bfc8fcd446630ddca487acd161fa6096f3b" +checksum = "9839d96761491c6d3e238e70554b856956fca0ab60feb9de2cd08eed4473fa92" dependencies = [ "async-io", "futures", "futures-timer", "if-watch", - "ipnet", "libc", - "libp2p-core 0.34.0", + "libp2p-core", "log", "socket2", ] -[[package]] -name = "libp2p-uds" -version = "0.32.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24bdab114f7f2701757d6541266e1131b429bbae382008f207f2114ee4222dcb" -dependencies = [ - "async-std", - "futures", - "libp2p-core 0.32.1", - "log", -] - -[[package]] -name = "libp2p-uds" -version = "0.33.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d125e3e5f0d58f3c6ac21815b20cf4b6a88b8db9dc26368ea821838f4161fd4d" -dependencies = [ - "async-std", - "futures", - "libp2p-core 0.34.0", - "log", -] - -[[package]] -name = "libp2p-wasm-ext" -version = "0.32.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f6ea0f84a967ef59a16083f222c18115ae2e91db69809dce275df62e101b279" -dependencies = [ - "futures", - "js-sys", - "libp2p-core 0.32.1", - "parity-send-wrapper", - "wasm-bindgen", - "wasm-bindgen-futures", -] - [[package]] name = "libp2p-wasm-ext" -version = "0.34.0" +version = "0.37.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec894790eec3c1608f8d1a8a0bdf0dbeb79ed4de2dce964222011c2896dfa05a" +checksum = "a17b5b8e7a73e379e47b1b77f8a82c4721e97eca01abcd18e9cd91a23ca6ce97" dependencies = [ "futures", "js-sys", - "libp2p-core 0.34.0", + "libp2p-core", "parity-send-wrapper", "wasm-bindgen", "wasm-bindgen-futures", @@ -4164,36 +3418,18 @@ dependencies = [ [[package]] name = "libp2p-websocket" -version = "0.34.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c932834c3754501c368d1bf3d0fb458487a642b90fc25df082a3a2f3d3b32e37" -dependencies = [ - "either", - "futures", - "futures-rustls", - "libp2p-core 0.32.1", - "log", - "quicksink", - "rw-stream-sink 0.2.1", - "soketto", - "url", - "webpki-roots", -] - -[[package]] -name = "libp2p-websocket" -version = "0.36.0" +version = "0.39.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9808e57e81be76ff841c106b4c5974fb4d41a233a7bdd2afbf1687ac6def3818" +checksum = "3758ae6f89b2531a24b6d9f5776bda6a626b60a57600d7185d43dfa75ca5ecc4" dependencies = [ "either", "futures", "futures-rustls", - "libp2p-core 0.34.0", + "libp2p-core", "log", "parking_lot 0.12.1", "quicksink", - "rw-stream-sink 0.3.0", + "rw-stream-sink", "soketto", "url", "webpki-roots", @@ -4201,25 +3437,13 @@ dependencies = [ [[package]] name = "libp2p-yamux" -version = "0.36.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be902ebd89193cd020e89e89107726a38cfc0d16d18f613f4a37d046e92c7517" -dependencies = [ - "futures", - "libp2p-core 0.32.1", - "parking_lot 0.12.1", - "thiserror", - "yamux", -] - -[[package]] -name = "libp2p-yamux" -version = "0.38.0" +version = "0.41.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6dea686217a06072033dc025631932810e2f6ad784e4fafa42e27d311c7a81c" +checksum = "0d6874d66543c4f7e26e3b8ca9a6bead351563a13ab4fafd43c7927f7c0d6c12" dependencies = [ "futures", - "libp2p-core 0.34.0", + "libp2p-core", + "log", "parking_lot 0.12.1", "thiserror", "yamux", @@ -4227,9 +3451,9 @@ dependencies = [ [[package]] name = "librocksdb-sys" -version = "0.6.1+6.28.2" +version = "0.8.0+7.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81bc587013734dadb7cf23468e531aa120788b87243648be42e2d3a072186291" +checksum = "611804e4666a25136fcc5f8cf425ab4d26c7f74ea245ffe92ea23b85b6420b5d" dependencies = [ "bindgen", "bzip2-sys", @@ -4374,6 +3598,15 @@ dependencies = [ "hashbrown", ] +[[package]] +name = "lru" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6e8aaa3f231bb4bd57b84b2d5dc3ae7f350265df8aa96492e0bc394a1571909" +dependencies = [ + "hashbrown", +] + [[package]] name = "lru-cache" version = "0.1.2" @@ -4454,7 +3687,7 @@ version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b20a59d985586e4a5aef64564ac77299f8586d8be6cf9106a5a40207e8908efb" dependencies = [ - "rustix 0.36.3", + "rustix 0.36.4", ] [[package]] @@ -4486,9 +3719,9 @@ dependencies = [ [[package]] name = "memory-db" -version = "0.29.0" +version = "0.30.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6566c70c1016f525ced45d7b7f97730a2bafb037c788211d0c186ef5b2189f0a" +checksum = "34ac11bb793c28fa095b7554466f53b3a60a2cd002afdac01bcf135cbd73a269" dependencies = [ "hash-db", "hashbrown", @@ -4528,6 +3761,15 @@ dependencies = [ "adler", ] +[[package]] +name = "miniz_oxide" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b275950c28b37e794e8c55d88aeb5e139d0ce23fdbbeda68f8d7174abdf9e8fa" +dependencies = [ + "adler", +] + [[package]] name = "mio" version = "0.8.5" @@ -4540,6 +3782,33 @@ dependencies = [ "windows-sys 0.42.0", ] +[[package]] +name = "mockall" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50e4a1c770583dac7ab5e2f6c139153b783a53a1bbee9729613f193e59828326" +dependencies = [ + "cfg-if", + "downcast", + "fragile", + "lazy_static", + "mockall_derive", + "predicates", + "predicates-tree", +] + +[[package]] +name = "mockall_derive" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "832663583d5fa284ca8810bf7015e46c9fff9622d3cf34bd1eea5003fec06dd0" +dependencies = [ + "cfg-if", + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "multiaddr" version = "0.14.0" @@ -4608,14 +3877,14 @@ checksum = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a" [[package]] name = "multistream-select" -version = "0.11.0" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "363a84be6453a70e63513660f4894ef815daf88e3356bffcda9ca27d810ce83b" +checksum = "c8552ab875c1313b97b8d20cb857b9fd63e2d1d6a0a1b53ce9821e575405f27a" dependencies = [ "bytes", "futures", "log", - "pin-project 1.0.12", + "pin-project", "smallvec", "unsigned-varint", ] @@ -4757,6 +4026,12 @@ dependencies = [ "minimal-lexical", ] +[[package]] +name = "normalize-line-endings" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61807f77802ff30975e01f4f071c8ba10c022052f98b3294119f3e615d13e5be" + [[package]] name = "num-bigint" version = "0.4.3" @@ -4825,7 +4100,7 @@ version = "1.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f6058e64324c71e02bc2b150e4f3bc8286db6c83092132ffa3f6b1eab0f9def5" dependencies = [ - "hermit-abi", + "hermit-abi 0.1.19", "libc", ] @@ -4871,18 +4146,9 @@ version = "6.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee" -[[package]] -name = "owning_ref" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ff55baddef9e4ad00f88b6c743a2a8062d4c6ade126c2a528644b8e444d52ce" -dependencies = [ - "stable_deref_trait", -] - [[package]] name = "pallet-aleph" -version = "0.5.2" +version = "0.5.3" dependencies = [ "frame-support", "frame-system", @@ -4903,7 +4169,7 @@ dependencies = [ [[package]] name = "pallet-aura" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "frame-support", "frame-system", @@ -4919,7 +4185,7 @@ dependencies = [ [[package]] name = "pallet-authorship" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "frame-support", "frame-system", @@ -4934,7 +4200,7 @@ dependencies = [ [[package]] name = "pallet-babe" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "frame-benchmarking", "frame-support", @@ -4958,7 +4224,7 @@ dependencies = [ [[package]] name = "pallet-balances" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "frame-benchmarking", "frame-support", @@ -4973,7 +4239,7 @@ dependencies = [ [[package]] name = "pallet-contracts" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "bitflags", "frame-benchmarking", @@ -4988,6 +4254,7 @@ dependencies = [ "scale-info", "serde", "smallvec", + "sp-api", "sp-core", "sp-io", "sp-runtime", @@ -5000,61 +4267,28 @@ dependencies = [ [[package]] name = "pallet-contracts-primitives" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "bitflags", "parity-scale-codec", - "scale-info", - "serde", - "sp-core", - "sp-rpc", "sp-runtime", "sp-std", + "sp-weights", ] [[package]] name = "pallet-contracts-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "proc-macro2", "quote", - "syn", -] - -[[package]] -name = "pallet-contracts-rpc" -version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" -dependencies = [ - "jsonrpsee", - "pallet-contracts-primitives", - "pallet-contracts-rpc-runtime-api", - "parity-scale-codec", - "serde", - "sp-api", - "sp-blockchain", - "sp-core", - "sp-rpc", - "sp-runtime", -] - -[[package]] -name = "pallet-contracts-rpc-runtime-api" -version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" -dependencies = [ - "pallet-contracts-primitives", - "parity-scale-codec", - "scale-info", - "sp-api", - "sp-runtime", - "sp-std", + "syn", ] [[package]] name = "pallet-elections" -version = "0.5.2" +version = "0.5.3" dependencies = [ "frame-election-provider-support", "frame-support", @@ -5077,7 +4311,7 @@ dependencies = [ [[package]] name = "pallet-identity" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "enumflags2", "frame-benchmarking", @@ -5093,11 +4327,12 @@ dependencies = [ [[package]] name = "pallet-multisig" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "frame-benchmarking", "frame-support", "frame-system", + "log", "parity-scale-codec", "scale-info", "sp-io", @@ -5108,7 +4343,7 @@ dependencies = [ [[package]] name = "pallet-nomination-pools" version = "1.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "frame-support", "frame-system", @@ -5125,7 +4360,7 @@ dependencies = [ [[package]] name = "pallet-randomness-collective-flip" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "frame-support", "frame-system", @@ -5139,7 +4374,7 @@ dependencies = [ [[package]] name = "pallet-scheduler" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "frame-support", "frame-system", @@ -5154,7 +4389,7 @@ dependencies = [ [[package]] name = "pallet-session" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "frame-support", "frame-system", @@ -5175,7 +4410,7 @@ dependencies = [ [[package]] name = "pallet-staking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -5197,7 +4432,7 @@ dependencies = [ [[package]] name = "pallet-sudo" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "frame-support", "frame-system", @@ -5211,7 +4446,7 @@ dependencies = [ [[package]] name = "pallet-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "frame-benchmarking", "frame-support", @@ -5229,7 +4464,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "frame-support", "frame-system", @@ -5245,7 +4480,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "jsonrpsee", "pallet-transaction-payment-rpc-runtime-api", @@ -5260,7 +4495,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc-runtime-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "pallet-transaction-payment", "parity-scale-codec", @@ -5271,7 +4506,7 @@ dependencies = [ [[package]] name = "pallet-treasury" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "frame-benchmarking", "frame-support", @@ -5288,7 +4523,7 @@ dependencies = [ [[package]] name = "pallet-utility" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "frame-benchmarking", "frame-support", @@ -5304,7 +4539,7 @@ dependencies = [ [[package]] name = "pallet-vesting" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "frame-benchmarking", "frame-support", @@ -5318,7 +4553,7 @@ dependencies = [ [[package]] name = "pallets-support" -version = "0.1.2" +version = "0.1.3" dependencies = [ "frame-support", "sp-std", @@ -5378,15 +4613,13 @@ checksum = "aa9777aa91b8ad9dd5aaa04a9b6bcb02c7f1deb952fca5a66034d5e63afc5c6f" [[package]] name = "parity-util-mem" -version = "0.11.0" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c32561d248d352148124f036cac253a644685a21dc9fea383eb4907d7bd35a8f" +checksum = "0d32c34f4f5ca7f9196001c0aba5a1f9a5a12382c8944b8b0f90233282d1e8f8" dependencies = [ "cfg-if", - "ethereum-types", "hashbrown", "impl-trait-for-tuples", - "lru", "parity-util-mem-derive", "parking_lot 0.12.1", "primitive-types", @@ -5444,7 +4677,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" dependencies = [ "lock_api", - "parking_lot_core 0.9.4", + "parking_lot_core 0.9.5", ] [[package]] @@ -5463,9 +4696,9 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.4" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4dc9e0dc2adc1c69d09143aff38d3d30c5c3f0df0dad82e6d25547af174ebec0" +checksum = "7ff9f3fef3968a3ec5945535ed654cb38ff72d7495a25619e2247fb15a2ed9ba" dependencies = [ "cfg-if", "libc", @@ -5529,33 +4762,13 @@ dependencies = [ "indexmap", ] -[[package]] -name = "pin-project" -version = "0.4.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ef0f924a5ee7ea9cbcea77529dba45f8a9ba9f622419fe3386ca581a3ae9d5a" -dependencies = [ - "pin-project-internal 0.4.30", -] - [[package]] name = "pin-project" version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ad29a609b6bcd67fee905812e544992d216af9d755757c05ed2d0e15a74c6ecc" dependencies = [ - "pin-project-internal 1.0.12", -] - -[[package]] -name = "pin-project-internal" -version = "0.4.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "851c8d0ce9bebe43790dedfc86614c23494ac9f423dd618d3a61fc693eafe61e" -dependencies = [ - "proc-macro2", - "quote", - "syn", + "pin-project-internal", ] [[package]] @@ -5612,16 +4825,16 @@ checksum = "e8d0eef3571242013a0d5dc84861c3ae4a652e56e12adf8bdc26ff5f8cb34c94" [[package]] name = "polling" -version = "2.4.0" +version = "2.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab4609a838d88b73d8238967b60dd115cc08d38e2bbaf51ee1e4b695f89122e2" +checksum = "166ca89eb77fd403230b9c156612965a81e094ec6ec3aa13663d4c8b113fa748" dependencies = [ "autocfg", "cfg-if", "libc", "log", "wepoll-ffi", - "winapi", + "windows-sys 0.42.0", ] [[package]] @@ -5653,6 +4866,36 @@ version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" +[[package]] +name = "predicates" +version = "2.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed6bd09a7f7e68f3f0bf710fb7ab9c4615a488b58b5f653382a687701e458c92" +dependencies = [ + "difflib", + "float-cmp", + "itertools", + "normalize-line-endings", + "predicates-core", + "regex", +] + +[[package]] +name = "predicates-core" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72f883590242d3c6fc5bf50299011695fa6590c2c70eac95ee1bdb9a733ad1a2" + +[[package]] +name = "predicates-tree" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "54ff541861505aabf6ea722d2131ee980b8276e10a1297b94e896dd8b621850d" +dependencies = [ + "predicates-core", + "termtree", +] + [[package]] name = "prettyplease" version = "0.1.21" @@ -5665,13 +4908,12 @@ dependencies = [ [[package]] name = "primitive-types" -version = "0.11.1" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e28720988bff275df1f51b171e1b2a18c30d194c4d2b61defdacecd625a5d94a" +checksum = "9f3486ccba82358b11a77516035647c34ba167dfa53312630de83b12bd4f3d66" dependencies = [ "fixed-hash", "impl-codec", - "impl-rlp", "impl-serde", "scale-info", "uint", @@ -5679,7 +4921,7 @@ dependencies = [ [[package]] name = "primitives" -version = "0.5.2" +version = "0.5.3" dependencies = [ "parity-scale-codec", "scale-info", @@ -5752,33 +4994,21 @@ dependencies = [ [[package]] name = "prometheus-client" -version = "0.15.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9a896938cc6018c64f279888b8c7559d3725210d5db9a3a1ee6bc7188d51d34" -dependencies = [ - "dtoa", - "itoa", - "owning_ref", - "prometheus-client-derive-text-encode", -] - -[[package]] -name = "prometheus-client" -version = "0.16.0" +version = "0.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac1abe0255c04d15f571427a2d1e00099016506cf3297b53853acd2b7eb87825" +checksum = "83cd1b99916654a69008fd66b4f9397fbe08e6e51dfe23d4417acf5d3b8cb87c" dependencies = [ "dtoa", "itoa", - "owning_ref", + "parking_lot 0.12.1", "prometheus-client-derive-text-encode", ] [[package]] name = "prometheus-client-derive-text-encode" -version = "0.2.0" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8e12d01b9d66ad9eb4529c57666b6263fc1993cb30261d83ead658fdd932652" +checksum = "66a455fbcb954c1a7decf3c586e860fd7889cddf4b8e164be736dbac95a953cd" dependencies = [ "proc-macro2", "quote", @@ -5787,92 +5017,30 @@ dependencies = [ [[package]] name = "prost" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "444879275cb4fd84958b1a1d5420d15e6fcf7c235fe47f053c9c2a80aceb6001" -dependencies = [ - "bytes", - "prost-derive 0.9.0", -] - -[[package]] -name = "prost" -version = "0.10.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71adf41db68aa0daaefc69bb30bcd68ded9b9abaad5d1fbb6304c4fb390e083e" -dependencies = [ - "bytes", - "prost-derive 0.10.1", -] - -[[package]] -name = "prost" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0841812012b2d4a6145fae9a6af1534873c32aa67fff26bd09f8fa42c83f95a" -dependencies = [ - "bytes", - "prost-derive 0.11.2", -] - -[[package]] -name = "prost-build" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62941722fb675d463659e49c4f3fe1fe792ff24fe5bbaa9c08cd3b98a1c354f5" -dependencies = [ - "bytes", - "heck 0.3.3", - "itertools", - "lazy_static", - "log", - "multimap", - "petgraph", - "prost 0.9.0", - "prost-types 0.9.0", - "regex", - "tempfile", - "which", -] - -[[package]] -name = "prost-build" -version = "0.10.4" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ae5a4388762d5815a9fc0dea33c56b021cdc8dde0c55e0c9ca57197254b0cab" +checksum = "c0b18e655c21ff5ac2084a5ad0611e827b3f92badf79f4910b5a5c58f4d87ff0" dependencies = [ "bytes", - "cfg-if", - "cmake", - "heck 0.4.0", - "itertools", - "lazy_static", - "log", - "multimap", - "petgraph", - "prost 0.10.4", - "prost-types 0.10.1", - "regex", - "tempfile", - "which", + "prost-derive", ] [[package]] name = "prost-build" -version = "0.11.2" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d8b442418ea0822409d9e7d047cbf1e7e9e1760b172bf9982cf29d517c93511" +checksum = "e330bf1316db56b12c2bcfa399e8edddd4821965ea25ddb2c134b610b1c1c604" dependencies = [ "bytes", - "heck 0.4.0", + "heck", "itertools", "lazy_static", "log", "multimap", "petgraph", "prettyplease", - "prost 0.11.2", - "prost-types 0.11.2", + "prost", + "prost-types", "regex", "syn", "tempfile", @@ -5881,43 +5049,17 @@ dependencies = [ [[package]] name = "prost-codec" -version = "0.1.0" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00af1e92c33b4813cc79fda3f2dbf56af5169709be0202df730e9ebc3e4cd007" +checksum = "011ae9ff8359df7915f97302d591cdd9e0e27fbd5a4ddc5bd13b71079bb20987" dependencies = [ "asynchronous-codec", "bytes", - "prost 0.10.4", + "prost", "thiserror", "unsigned-varint", ] -[[package]] -name = "prost-derive" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9cc1a3263e07e0bf68e96268f37665207b49560d98739662cdfaae215c720fe" -dependencies = [ - "anyhow", - "itertools", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "prost-derive" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b670f45da57fb8542ebdbb6105a925fe571b67f9e7ed9f47a06a84e72b4e7cc" -dependencies = [ - "anyhow", - "itertools", - "proc-macro2", - "quote", - "syn", -] - [[package]] name = "prost-derive" version = "0.11.2" @@ -5931,26 +5073,6 @@ dependencies = [ "syn", ] -[[package]] -name = "prost-types" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "534b7a0e836e3c482d2693070f982e39e7611da9695d4d1f5a4b186b51faef0a" -dependencies = [ - "bytes", - "prost 0.9.0", -] - -[[package]] -name = "prost-types" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d0a014229361011dc8e69c8a1ec6c2e8d0f2af7c91e3ea3f5b2170298461e68" -dependencies = [ - "bytes", - "prost 0.10.4", -] - [[package]] name = "prost-types" version = "0.11.2" @@ -5958,7 +5080,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "747761bc3dc48f9a34553bf65605cf6cb6288ba219f3450b4275dbd81539551a" dependencies = [ "bytes", - "prost 0.11.2", + "prost", ] [[package]] @@ -6203,10 +5325,9 @@ checksum = "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848" [[package]] name = "remote-externalities" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "env_logger", - "jsonrpsee", "log", "parity-scale-codec", "serde", @@ -6215,6 +5336,7 @@ dependencies = [ "sp-io", "sp-runtime", "sp-version", + "substrate-rpc-client", ] [[package]] @@ -6262,21 +5384,11 @@ dependencies = [ "winapi", ] -[[package]] -name = "rlp" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb919243f34364b6bd2fc10ef797edbfa75f33c252e7998527479c6d6b47e1ec" -dependencies = [ - "bytes", - "rustc-hex", -] - [[package]] name = "rocksdb" -version = "0.18.0" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "620f4129485ff1a7128d184bc687470c21c7951b64779ebc9cfdad3dcd920290" +checksum = "7e9562ea1d70c0cc63a34a22d977753b50cca91cc6b6527750463bd5dd8697bc" dependencies = [ "libc", "librocksdb-sys", @@ -6284,11 +5396,12 @@ dependencies = [ [[package]] name = "rpassword" -version = "7.1.0" +version = "7.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20c9f5d2a0c3e2ea729ab3706d22217177770654c3ef5056b68b69d07332d3f5" +checksum = "6678cf63ab3491898c0d021b493c94c9b221d91295294a2a5746eacbe5928322" dependencies = [ "libc", + "rtoolbox", "winapi", ] @@ -6307,6 +5420,16 @@ dependencies = [ "thiserror", ] +[[package]] +name = "rtoolbox" +version = "0.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "034e22c514f5c0cb8a10ff341b9b048b5ceb21591f31c8f44c43b960f9b3524a" +dependencies = [ + "libc", + "winapi", +] + [[package]] name = "rustc-demangle" version = "0.1.21" @@ -6359,13 +5482,13 @@ dependencies = [ [[package]] name = "rustix" -version = "0.36.3" +version = "0.36.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b1fbb4dfc4eb1d390c02df47760bb19a84bb80b301ecc947ab5406394d8223e" +checksum = "cb93e85278e08bb5788653183213d3a60fc242b10cb9be96586f5a73dcb67c23" dependencies = [ "bitflags", "errno", - "io-lifetimes 1.0.1", + "io-lifetimes 1.0.3", "libc", "linux-raw-sys 0.1.3", "windows-sys 0.42.0", @@ -6410,17 +5533,6 @@ version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "97477e48b4cf8603ad5f7aaf897467cf42ab4218a38ef76fb14c2d6773a6d6a8" -[[package]] -name = "rw-stream-sink" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4da5fcb054c46f5a5dff833b129285a93d3f0179531735e6c866e8cc307d2020" -dependencies = [ - "futures", - "pin-project 0.4.30", - "static_assertions", -] - [[package]] name = "rw-stream-sink" version = "0.3.0" @@ -6428,7 +5540,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "26338f5e09bb721b85b135ea05af7767c90b52f6de4f087d4f4a3a9d64e7dc04" dependencies = [ "futures", - "pin-project 1.0.12", + "pin-project", "static_assertions", ] @@ -6447,15 +5559,6 @@ dependencies = [ "rustc_version 0.2.3", ] -[[package]] -name = "salsa20" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97a22f5af31f73a954c10289c93e8a50cc23d971e80ee446f1f6f7137a088213" -dependencies = [ - "cipher 0.4.3", -] - [[package]] name = "same-file" version = "1.0.6" @@ -6468,7 +5571,7 @@ dependencies = [ [[package]] name = "sc-allocator" version = "4.1.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "log", "sp-core", @@ -6479,7 +5582,7 @@ dependencies = [ [[package]] name = "sc-basic-authorship" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "futures", "futures-timer", @@ -6502,7 +5605,7 @@ dependencies = [ [[package]] name = "sc-block-builder" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "parity-scale-codec", "sc-client-api", @@ -6518,7 +5621,7 @@ dependencies = [ [[package]] name = "sc-chain-spec" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "impl-trait-for-tuples", "memmap2", @@ -6535,7 +5638,7 @@ dependencies = [ [[package]] name = "sc-chain-spec-derive" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -6546,14 +5649,14 @@ dependencies = [ [[package]] name = "sc-cli" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "array-bytes", "chrono", "clap", "fdlimit", "futures", - "libp2p 0.46.1", + "libp2p", "log", "names", "parity-scale-codec", @@ -6586,7 +5689,7 @@ dependencies = [ [[package]] name = "sc-client-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "fnv", "futures", @@ -6614,7 +5717,7 @@ dependencies = [ [[package]] name = "sc-client-db" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "hash-db", "kvdb", @@ -6639,12 +5742,12 @@ dependencies = [ [[package]] name = "sc-consensus" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "async-trait", "futures", "futures-timer", - "libp2p 0.46.1", + "libp2p", "log", "parking_lot 0.12.1", "sc-client-api", @@ -6663,7 +5766,7 @@ dependencies = [ [[package]] name = "sc-consensus-aura" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "async-trait", "futures", @@ -6692,7 +5795,7 @@ dependencies = [ [[package]] name = "sc-consensus-slots" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "async-trait", "futures", @@ -6716,10 +5819,10 @@ dependencies = [ [[package]] name = "sc-executor" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "lazy_static", - "lru", + "lru 0.7.8", "parity-scale-codec", "parking_lot 0.12.1", "sc-executor-common", @@ -6743,7 +5846,7 @@ dependencies = [ [[package]] name = "sc-executor-common" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "environmental", "parity-scale-codec", @@ -6759,7 +5862,7 @@ dependencies = [ [[package]] name = "sc-executor-wasmi" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "log", "parity-scale-codec", @@ -6774,7 +5877,7 @@ dependencies = [ [[package]] name = "sc-executor-wasmtime" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "cfg-if", "libc", @@ -6794,7 +5897,7 @@ dependencies = [ [[package]] name = "sc-informant" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "ansi_term", "futures", @@ -6811,7 +5914,7 @@ dependencies = [ [[package]] name = "sc-keystore" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "array-bytes", "async-trait", @@ -6826,7 +5929,7 @@ dependencies = [ [[package]] name = "sc-network" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "array-bytes", "async-trait", @@ -6840,15 +5943,16 @@ dependencies = [ "futures", "futures-timer", "ip_network", - "libp2p 0.46.1", + "libp2p", + "libp2p-swarm-derive", "linked-hash-map", "linked_hash_set", "log", - "lru", + "lru 0.7.8", "parity-scale-codec", "parking_lot 0.12.1", - "pin-project 1.0.12", - "prost 0.10.4", + "pin-project", + "prost", "rand 0.7.3", "sc-block-builder", "sc-client-api", @@ -6873,14 +5977,14 @@ dependencies = [ [[package]] name = "sc-network-bitswap" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "cid", "futures", - "libp2p 0.46.1", + "libp2p", "log", - "prost 0.11.2", - "prost-build 0.11.2", + "prost", + "prost-build", "sc-client-api", "sc-network-common", "sp-blockchain", @@ -6893,17 +5997,17 @@ dependencies = [ [[package]] name = "sc-network-common" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "async-trait", "bitflags", "bytes", "futures", "futures-timer", - "libp2p 0.46.1", + "libp2p", "linked_hash_set", "parity-scale-codec", - "prost-build 0.10.4", + "prost-build", "sc-consensus", "sc-peerset", "serde", @@ -6919,15 +6023,15 @@ dependencies = [ [[package]] name = "sc-network-light" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "array-bytes", "futures", - "libp2p 0.46.1", + "libp2p", "log", "parity-scale-codec", - "prost 0.10.4", - "prost-build 0.10.4", + "prost", + "prost-build", "sc-client-api", "sc-network-common", "sc-peerset", @@ -6940,21 +6044,23 @@ dependencies = [ [[package]] name = "sc-network-sync" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "array-bytes", "fork-tree", "futures", - "libp2p 0.46.1", + "libp2p", "log", - "lru", + "lru 0.7.8", + "mockall", "parity-scale-codec", - "prost 0.10.4", - "prost-build 0.10.4", + "prost", + "prost-build", "sc-client-api", "sc-consensus", "sc-network-common", "sc-peerset", + "sc-utils", "smallvec", "sp-arithmetic", "sp-blockchain", @@ -6968,15 +6074,15 @@ dependencies = [ [[package]] name = "sc-network-transactions" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "array-bytes", "futures", "hex", - "libp2p 0.46.1", + "libp2p", "log", "parity-scale-codec", - "pin-project 1.0.12", + "pin-project", "sc-network-common", "sc-peerset", "sp-consensus", @@ -6987,7 +6093,7 @@ dependencies = [ [[package]] name = "sc-offchain" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "array-bytes", "bytes", @@ -6996,7 +6102,7 @@ dependencies = [ "futures-timer", "hyper", "hyper-rustls", - "libp2p 0.46.1", + "libp2p", "num_cpus", "once_cell", "parity-scale-codec", @@ -7017,10 +6123,10 @@ dependencies = [ [[package]] name = "sc-peerset" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "futures", - "libp2p 0.46.1", + "libp2p", "log", "sc-utils", "serde_json", @@ -7030,7 +6136,7 @@ dependencies = [ [[package]] name = "sc-proposer-metrics" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "log", "substrate-prometheus-endpoint", @@ -7039,7 +6145,7 @@ dependencies = [ [[package]] name = "sc-rpc" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "futures", "hash-db", @@ -7069,7 +6175,7 @@ dependencies = [ [[package]] name = "sc-rpc-api" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "futures", "jsonrpsee", @@ -7092,7 +6198,7 @@ dependencies = [ [[package]] name = "sc-rpc-server" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "futures", "jsonrpsee", @@ -7102,10 +6208,29 @@ dependencies = [ "tokio", ] +[[package]] +name = "sc-rpc-spec-v2" +version = "0.10.0-dev" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +dependencies = [ + "futures", + "hex", + "jsonrpsee", + "parity-scale-codec", + "sc-chain-spec", + "sc-transaction-pool-api", + "serde", + "sp-api", + "sp-blockchain", + "sp-core", + "sp-runtime", + "thiserror", +] + [[package]] name = "sc-service" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "async-trait", "directories", @@ -7118,7 +6243,7 @@ dependencies = [ "parity-scale-codec", "parity-util-mem", "parking_lot 0.12.1", - "pin-project 1.0.12", + "pin-project", "rand 0.7.3", "sc-block-builder", "sc-chain-spec", @@ -7137,6 +6262,7 @@ dependencies = [ "sc-offchain", "sc-rpc", "sc-rpc-server", + "sc-rpc-spec-v2", "sc-sysinfo", "sc-telemetry", "sc-tracing", @@ -7175,7 +6301,7 @@ dependencies = [ [[package]] name = "sc-state-db" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "log", "parity-scale-codec", @@ -7189,7 +6315,7 @@ dependencies = [ [[package]] name = "sc-sysinfo" version = "6.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "futures", "libc", @@ -7208,14 +6334,14 @@ dependencies = [ [[package]] name = "sc-telemetry" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "chrono", "futures", - "libp2p 0.46.1", + "libp2p", "log", "parking_lot 0.12.1", - "pin-project 1.0.12", + "pin-project", "rand 0.7.3", "serde", "serde_json", @@ -7226,7 +6352,7 @@ dependencies = [ [[package]] name = "sc-tracing" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "ansi_term", "atty", @@ -7257,7 +6383,7 @@ dependencies = [ [[package]] name = "sc-tracing-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -7268,8 +6394,9 @@ dependencies = [ [[package]] name = "sc-transaction-pool" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ + "async-trait", "futures", "futures-timer", "linked-hash-map", @@ -7294,8 +6421,9 @@ dependencies = [ [[package]] name = "sc-transaction-pool-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ + "async-trait", "futures", "log", "serde", @@ -7307,7 +6435,7 @@ dependencies = [ [[package]] name = "sc-utils" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "futures", "futures-timer", @@ -7491,18 +6619,18 @@ checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" [[package]] name = "serde" -version = "1.0.147" +version = "1.0.148" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d193d69bae983fc11a79df82342761dfbf28a99fc8d203dca4c3c1b590948965" +checksum = "e53f64bb4ba0191d6d0676e1b141ca55047d83b74f5607e6d8eb88126c52c2dc" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.147" +version = "1.0.148" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f1d362ca8fc9c3e3a7484440752472d68a6caa98f1ab81d99b5dfe517cec852" +checksum = "a55492425aa53521babf6137309e7d34c20bbfbbfcfe2c7f3a047fd1f6b92c0c" dependencies = [ "proc-macro2", "quote", @@ -7708,7 +6836,7 @@ dependencies = [ [[package]] name = "sp-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "hash-db", "log", @@ -7726,7 +6854,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "blake2", "proc-macro-crate", @@ -7738,7 +6866,7 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "parity-scale-codec", "scale-info", @@ -7751,7 +6879,7 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "integer-sqrt", "num-traits", @@ -7766,7 +6894,7 @@ dependencies = [ [[package]] name = "sp-authorship" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "async-trait", "parity-scale-codec", @@ -7778,7 +6906,7 @@ dependencies = [ [[package]] name = "sp-block-builder" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "parity-scale-codec", "sp-api", @@ -7790,11 +6918,11 @@ dependencies = [ [[package]] name = "sp-blockchain" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "futures", "log", - "lru", + "lru 0.7.8", "parity-scale-codec", "parking_lot 0.12.1", "sp-api", @@ -7808,7 +6936,7 @@ dependencies = [ [[package]] name = "sp-consensus" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "async-trait", "futures", @@ -7827,7 +6955,7 @@ dependencies = [ [[package]] name = "sp-consensus-aura" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "async-trait", "parity-scale-codec", @@ -7845,7 +6973,7 @@ dependencies = [ [[package]] name = "sp-consensus-babe" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "async-trait", "merlin", @@ -7868,7 +6996,7 @@ dependencies = [ [[package]] name = "sp-consensus-slots" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "parity-scale-codec", "scale-info", @@ -7882,7 +7010,7 @@ dependencies = [ [[package]] name = "sp-consensus-vrf" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "parity-scale-codec", "scale-info", @@ -7895,7 +7023,7 @@ dependencies = [ [[package]] name = "sp-core" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "array-bytes", "base58", @@ -7941,7 +7069,7 @@ dependencies = [ [[package]] name = "sp-core-hashing" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "blake2", "byteorder", @@ -7955,7 +7083,7 @@ dependencies = [ [[package]] name = "sp-core-hashing-proc-macro" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "proc-macro2", "quote", @@ -7966,7 +7094,7 @@ dependencies = [ [[package]] name = "sp-database" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "kvdb", "parking_lot 0.12.1", @@ -7975,7 +7103,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "proc-macro2", "quote", @@ -7985,7 +7113,7 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "environmental", "parity-scale-codec", @@ -7996,7 +7124,7 @@ dependencies = [ [[package]] name = "sp-finality-grandpa" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "finality-grandpa", "log", @@ -8014,7 +7142,7 @@ dependencies = [ [[package]] name = "sp-inherents" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "async-trait", "impl-trait-for-tuples", @@ -8028,7 +7156,7 @@ dependencies = [ [[package]] name = "sp-io" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "bytes", "futures", @@ -8054,7 +7182,7 @@ dependencies = [ [[package]] name = "sp-keyring" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "lazy_static", "sp-core", @@ -8065,7 +7193,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "async-trait", "futures", @@ -8082,16 +7210,32 @@ dependencies = [ [[package]] name = "sp-maybe-compressed-blob" version = "4.1.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "thiserror", "zstd", ] +[[package]] +name = "sp-mmr-primitives" +version = "4.0.0-dev" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +dependencies = [ + "log", + "parity-scale-codec", + "scale-info", + "serde", + "sp-api", + "sp-core", + "sp-debug-derive", + "sp-runtime", + "sp-std", +] + [[package]] name = "sp-npos-elections" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "parity-scale-codec", "scale-info", @@ -8105,7 +7249,7 @@ dependencies = [ [[package]] name = "sp-offchain" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "sp-api", "sp-core", @@ -8115,7 +7259,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "backtrace", "lazy_static", @@ -8125,7 +7269,7 @@ dependencies = [ [[package]] name = "sp-rpc" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "rustc-hash", "serde", @@ -8135,7 +7279,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "either", "hash256-std-hasher", @@ -8158,7 +7302,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "bytes", "impl-trait-for-tuples", @@ -8176,7 +7320,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "Inflector", "proc-macro-crate", @@ -8188,7 +7332,7 @@ dependencies = [ [[package]] name = "sp-sandbox" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "log", "parity-scale-codec", @@ -8202,7 +7346,7 @@ dependencies = [ [[package]] name = "sp-session" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "parity-scale-codec", "scale-info", @@ -8216,7 +7360,7 @@ dependencies = [ [[package]] name = "sp-staking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "parity-scale-codec", "scale-info", @@ -8227,7 +7371,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "hash-db", "log", @@ -8249,12 +7393,12 @@ dependencies = [ [[package]] name = "sp-std" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" [[package]] name = "sp-storage" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "impl-serde", "parity-scale-codec", @@ -8267,7 +7411,7 @@ dependencies = [ [[package]] name = "sp-tasks" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "log", "sp-core", @@ -8280,7 +7424,7 @@ dependencies = [ [[package]] name = "sp-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "async-trait", "futures-timer", @@ -8296,7 +7440,7 @@ dependencies = [ [[package]] name = "sp-tracing" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "parity-scale-codec", "sp-std", @@ -8308,7 +7452,7 @@ dependencies = [ [[package]] name = "sp-transaction-pool" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "sp-api", "sp-runtime", @@ -8317,7 +7461,7 @@ dependencies = [ [[package]] name = "sp-transaction-storage-proof" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "async-trait", "log", @@ -8333,13 +7477,13 @@ dependencies = [ [[package]] name = "sp-trie" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "ahash", "hash-db", "hashbrown", "lazy_static", - "lru", + "lru 0.7.8", "memory-db", "nohash-hasher", "parity-scale-codec", @@ -8356,7 +7500,7 @@ dependencies = [ [[package]] name = "sp-version" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "impl-serde", "parity-scale-codec", @@ -8373,7 +7517,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "parity-scale-codec", "proc-macro2", @@ -8384,7 +7528,7 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "impl-trait-for-tuples", "log", @@ -8397,7 +7541,7 @@ dependencies = [ [[package]] name = "sp-weights" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -8515,7 +7659,7 @@ version = "0.24.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e385be0d24f186b4ce2f9982191e7101bb737312ad61c1f2f984f34bcf85d59" dependencies = [ - "heck 0.4.0", + "heck", "proc-macro2", "quote", "rustversion", @@ -8538,7 +7682,7 @@ dependencies = [ [[package]] name = "substrate-build-script-utils" version = "3.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "platforms", ] @@ -8546,7 +7690,7 @@ dependencies = [ [[package]] name = "substrate-frame-rpc-system" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "frame-system-rpc-runtime-api", "futures", @@ -8567,7 +7711,7 @@ dependencies = [ [[package]] name = "substrate-prometheus-endpoint" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "futures-util", "hyper", @@ -8577,10 +7721,23 @@ dependencies = [ "tokio", ] +[[package]] +name = "substrate-rpc-client" +version = "0.10.0-dev" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +dependencies = [ + "async-trait", + "jsonrpsee", + "log", + "sc-rpc-api", + "serde", + "sp-runtime", +] + [[package]] name = "substrate-test-client" version = "2.0.1" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "array-bytes", "async-trait", @@ -8606,7 +7763,7 @@ dependencies = [ [[package]] name = "substrate-test-runtime" version = "2.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "beefy-merkle-tree", "beefy-primitives", @@ -8650,7 +7807,7 @@ dependencies = [ [[package]] name = "substrate-test-runtime-client" version = "2.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "futures", "parity-scale-codec", @@ -8669,7 +7826,7 @@ dependencies = [ [[package]] name = "substrate-wasm-builder" version = "5.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "ansi_term", "build-helper", @@ -8691,9 +7848,9 @@ checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" [[package]] name = "syn" -version = "1.0.103" +version = "1.0.104" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a864042229133ada95abf3b54fdc62ef5ccabe9515b64717bcb9a1919e59445d" +checksum = "4ae548ec36cf198c0ef7710d3c230987c2d6d7bd98ad6edc0274462724c585ce" dependencies = [ "proc-macro2", "quote", @@ -8769,10 +7926,10 @@ dependencies = [ ] [[package]] -name = "textwrap" -version = "0.16.0" +name = "termtree" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d" +checksum = "95059e91184749cb66be6dc994f67f182b6d897cb3df74a5bf66b5e709295fd8" [[package]] name = "thiserror" @@ -8814,9 +7971,9 @@ dependencies = [ [[package]] name = "tikv-jemalloc-sys" -version = "0.4.3+5.2.1-patched.2" +version = "0.5.2+5.3.0-patched" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1792ccb507d955b46af42c123ea8863668fae24d03721e40cad6a41773dbb49" +checksum = "ec45c14da997d0925c7835883e4d5c181f196fa142f8c19d7643d1e9af2592c3" dependencies = [ "cc", "fs_extra", @@ -8825,9 +7982,9 @@ dependencies = [ [[package]] name = "time" -version = "0.1.44" +version = "0.1.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6db9e6914ab8b1ae1c260a4ae7a49b6c5611b40328a735b21862567685e73255" +checksum = "1b797afad3f312d1c66a56d11d0316f916356d11bd158fbc6ca6389ff6bf805a" dependencies = [ "libc", "wasi 0.10.0+wasi-snapshot-preview1", @@ -8872,15 +8029,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "tiny-keccak" -version = "2.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237" -dependencies = [ - "crunchy", -] - [[package]] name = "tinyvec" version = "1.6.0" @@ -9018,7 +8166,7 @@ version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2" dependencies = [ - "pin-project 1.0.12", + "pin-project", "tracing", ] @@ -9090,9 +8238,9 @@ dependencies = [ [[package]] name = "trust-dns-proto" -version = "0.21.2" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c31f240f59877c3d4bb3b3ea0ec5a6a0cff07323580ff8c7a605cd7d08b255d" +checksum = "4f7f83d1e4a0e4358ac54c5c3681e5d7da5efc5a7a632c90bb6d6669ddd9bc26" dependencies = [ "async-trait", "cfg-if", @@ -9104,30 +8252,30 @@ dependencies = [ "idna 0.2.3", "ipnet", "lazy_static", - "log", "rand 0.8.5", "smallvec", "thiserror", "tinyvec", + "tracing", "url", ] [[package]] name = "trust-dns-resolver" -version = "0.21.2" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4ba72c2ea84515690c9fcef4c6c660bb9df3036ed1051686de84605b74fd558" +checksum = "aff21aa4dcefb0a1afbfac26deb0adc93888c7d295fb63ab273ef276ba2b7cfe" dependencies = [ "cfg-if", "futures-util", "ipconfig", "lazy_static", - "log", "lru-cache", "parking_lot 0.12.1", "resolv-conf", "smallvec", "thiserror", + "tracing", "trust-dns-proto", ] @@ -9140,11 +8288,10 @@ checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642" [[package]] name = "try-runtime-cli" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "clap", "frame-try-runtime", - "jsonrpsee", "log", "parity-scale-codec", "remote-externalities", @@ -9160,6 +8307,8 @@ dependencies = [ "sp-runtime", "sp-state-machine", "sp-version", + "sp-weights", + "substrate-rpc-client", "zstd", ] @@ -9189,9 +8338,9 @@ checksum = "dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987" [[package]] name = "uint" -version = "0.9.4" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a45526d29728d135c2900b0d30573fe3ee79fceb12ef534c7bb30e810a91b601" +checksum = "76f64bba2c53b04fcab63c01a7d7427eadc821e3bc48c34dc9ba29c501164b52" dependencies = [ "byteorder", "crunchy", @@ -9229,12 +8378,6 @@ dependencies = [ "tinyvec", ] -[[package]] -name = "unicode-segmentation" -version = "1.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fdbf052a0783de01e944a6ce7a8cb939e295b1e7be835a1112c3b9a7f047a5a" - [[package]] name = "unicode-width" version = "0.1.10" @@ -9992,9 +9135,9 @@ dependencies = [ [[package]] name = "zstd-sys" -version = "2.0.2+zstd.1.5.2" +version = "2.0.4+zstd.1.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24faa29d97c8ddca9b37b680e3bd2d5439d864a9cac3a0640d086b71c908bb83" +checksum = "4fa202f2ef00074143e219d15b62ffc317d17cc33909feac471c044087cad7b0" dependencies = [ "cc", "libc", diff --git a/aleph-client/Cargo.lock b/aleph-client/Cargo.lock index 9cb19dca50..ada290fabc 100644 --- a/aleph-client/Cargo.lock +++ b/aleph-client/Cargo.lock @@ -49,11 +49,11 @@ dependencies = [ [[package]] name = "aleph_client" -version = "2.2.0" +version = "2.3.0" dependencies = [ "anyhow", "async-trait", - "contract-metadata 1.5.0", + "contract-metadata", "contract-transcode", "frame-support", "futures", @@ -65,8 +65,8 @@ dependencies = [ "primitives", "serde", "serde_json", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-core 6.0.0", + "sp-runtime 6.0.0", "subxt", "thiserror", ] @@ -107,15 +107,6 @@ version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a4c527152e37cf757a3f78aae5a06fbeefdb07ccc535c980a3208ee3060dd544" -[[package]] -name = "arrayvec" -version = "0.4.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd9fd44efafa8690358b7408d253adf110036b88f55672a933f01d616ad9b1b9" -dependencies = [ - "nodrop", -] - [[package]] name = "arrayvec" version = "0.5.2" @@ -140,9 +131,9 @@ dependencies = [ [[package]] name = "async-trait" -version = "0.1.58" +version = "0.1.59" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e805d94e6b5001b651426cf4cd446b1ab5f319d27bab5c644f61de0a804360c" +checksum = "31e6e93155431f3931513b243d371981bb2770112b370c82745a1d19d2f99364" dependencies = [ "proc-macro2", "quote", @@ -241,16 +232,6 @@ dependencies = [ "digest 0.10.6", ] -[[package]] -name = "blake2-rfc" -version = "0.2.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d6d530bdd2d52966a6d03b7a964add7ae1a288d25214066fd4b600f0f796400" -dependencies = [ - "arrayvec 0.4.12", - "constant_time_eq", -] - [[package]] name = "block-buffer" version = "0.7.3" @@ -378,31 +359,13 @@ version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e4c78c047431fee22c1a7bb92e00ad095a02a983affe4d8a72e2a2c62c1b94f3" -[[package]] -name = "constant_time_eq" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc" - -[[package]] -name = "contract-metadata" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36318b44d658ee23a2daf66811822bdf6ac686aa534ea87eb9e16e7430ca6928" -dependencies = [ - "impl-serde", - "semver", - "serde", - "serde_json", - "url", -] - [[package]] name = "contract-metadata" -version = "1.5.0" +version = "2.0.0-beta" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f25bdb57a728064a0e4909dfbb29957ebb06d205307e337d3b5596c7e67dd3a" +checksum = "40248c6a648b3679ea52bb83d8921246d0347644eaf7b0eec4c5601fa8feb651" dependencies = [ + "anyhow", "impl-serde", "semver", "serde", @@ -412,12 +375,12 @@ dependencies = [ [[package]] name = "contract-transcode" -version = "0.1.0" +version = "2.0.0-beta" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfa6db9d18dd5ef92d29c52d30c8503c857d390d9e4043e12466f1490c43c05e" +checksum = "61159f8e266d4892be25f2b1e7ff2c4c6dd4338ca26498d907e5532a52a28e5f" dependencies = [ "anyhow", - "contract-metadata 0.6.0", + "contract-metadata", "env_logger", "escape8259", "hex", @@ -425,15 +388,15 @@ dependencies = [ "ink_env", "ink_metadata", "itertools", - "log", "nom", "nom-supreme", "parity-scale-codec", "scale-info", "serde", "serde_json", - "sp-core 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-runtime 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-core 7.0.0", + "sp-runtime 7.0.0", + "tracing", ] [[package]] @@ -719,29 +682,6 @@ dependencies = [ "signature", ] -[[package]] -name = "ed25519" -version = "1.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e9c280362032ea4203659fc489832d0204ef09f247a0506f170dafcac08c369" -dependencies = [ - "signature", -] - -[[package]] -name = "ed25519-dalek" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c762bae6dcaf24c4c84667b8579785430908723d5c889f469d76a41d59cc7a9d" -dependencies = [ - "curve25519-dalek 3.2.0", - "ed25519", - "rand 0.7.3", - "serde", - "sha2 0.9.9", - "zeroize", -] - [[package]] name = "ed25519-zebra" version = "3.1.0" @@ -841,9 +781,9 @@ dependencies = [ [[package]] name = "fixed-hash" -version = "0.7.0" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfcf0ed7fe52a17a03854ec54a9f76d6d84508d1c0e66bc1793301c73fc8493c" +checksum = "835c052cb0c08c1acf6ffd71c022172e18723949c8282f2b9f27efbc51e64534" dependencies = [ "byteorder", "rand 0.8.5", @@ -881,7 +821,7 @@ dependencies = [ [[package]] name = "frame-support" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "bitflags", "frame-metadata", @@ -896,24 +836,24 @@ dependencies = [ "serde", "smallvec", "sp-api", - "sp-arithmetic 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-arithmetic 5.0.0", + "sp-core 6.0.0", "sp-core-hashing-proc-macro", "sp-inherents", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-io 6.0.0", + "sp-runtime 6.0.0", "sp-staking", - "sp-state-machine 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-tracing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-weights", + "sp-state-machine 0.12.0", + "sp-std 4.0.0", + "sp-tracing 5.0.0", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31)", "tt-call", ] [[package]] name = "frame-support-procedural" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "Inflector", "cfg-expr", @@ -927,7 +867,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate", @@ -939,7 +879,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "proc-macro2", "quote", @@ -1102,8 +1042,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31" dependencies = [ "cfg-if", + "js-sys", "libc", "wasi 0.11.0+wasi-snapshot-preview1", + "wasm-bindgen", ] [[package]] @@ -1123,6 +1065,25 @@ dependencies = [ "subtle", ] +[[package]] +name = "h2" +version = "0.3.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f9f29bc9dda355256b2916cf526ab02ce0aeaaaf2bad60d65ef3f12f11dd0f4" +dependencies = [ + "bytes", + "fnv", + "futures-core", + "futures-sink", + "futures-util", + "http", + "indexmap", + "slab", + "tokio", + "tokio-util", + "tracing", +] + [[package]] name = "hash-db" version = "0.15.2" @@ -1210,18 +1171,75 @@ dependencies = [ "itoa", ] +[[package]] +name = "http-body" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1" +dependencies = [ + "bytes", + "http", + "pin-project-lite", +] + [[package]] name = "httparse" version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" +[[package]] +name = "httpdate" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421" + [[package]] name = "humantime" version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" +[[package]] +name = "hyper" +version = "0.14.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "034711faac9d2166cb1baf1a2fb0b60b1f277f8492fd72176c17f3515e1abd3c" +dependencies = [ + "bytes", + "futures-channel", + "futures-core", + "futures-util", + "h2", + "http", + "http-body", + "httparse", + "httpdate", + "itoa", + "pin-project-lite", + "socket2", + "tokio", + "tower-service", + "tracing", + "want", +] + +[[package]] +name = "hyper-rustls" +version = "0.23.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59df7c4e19c950e6e0e868dcc0a300b09a9b88e9ec55bd879ca819087a77355d" +dependencies = [ + "http", + "hyper", + "log", + "rustls", + "rustls-native-certs", + "tokio", + "tokio-rustls", + "webpki-roots", +] + [[package]] name = "iana-time-zone" version = "0.1.53" @@ -1273,9 +1291,9 @@ dependencies = [ [[package]] name = "impl-serde" -version = "0.3.2" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4551f042f3438e64dbd6226b20527fc84a6e1fe65688b58746a2f53623f25f5c" +checksum = "ebc88fc67028ae3db0c853baa36269d398d5f45b6982f95549ff5def78c935cd" dependencies = [ "serde", ] @@ -1309,33 +1327,33 @@ dependencies = [ [[package]] name = "ink_allocator" -version = "3.4.0" +version = "4.0.0-beta" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c9588a59a0e8997c0b2153cd11b5aaa77c06a0537a6b18f3811d1f1aa098b12" +checksum = "b36dadecdc7e33b0fe1c198b52d474ce73ccd93ffd8acd6ded02458b4a58a2d9" dependencies = [ "cfg-if", ] [[package]] name = "ink_engine" -version = "3.4.0" +version = "4.0.0-beta" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "487c3b390b7feb0620496b0cd38683433c7d7e6946b1caabda51e1f23eb24b30" +checksum = "319a74f3313698ae6d4ae5b43164a1e0efbfd45bd0f7ef689745f98f6e505998" dependencies = [ "blake2", "derive_more", + "ink_primitives", "parity-scale-codec", - "rand 0.8.5", - "secp256k1 0.24.1", + "secp256k1", "sha2 0.10.6", "sha3", ] [[package]] name = "ink_env" -version = "3.4.0" +version = "4.0.0-beta" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a891d34301a3dbb1c7b7424c49ae184282b163491c54f9acd17fcbe14a80447b" +checksum = "4543d0e0e5d1d97ce1ccb225599603ab15fb9d486f692176649b43a1311a8ad7" dependencies = [ "arrayref", "blake2", @@ -1346,13 +1364,13 @@ dependencies = [ "ink_metadata", "ink_prelude", "ink_primitives", + "ink_storage_traits", "num-traits", "parity-scale-codec", "paste", - "rand 0.8.5", "rlibc", "scale-info", - "secp256k1 0.24.1", + "secp256k1", "sha2 0.10.6", "sha3", "static_assertions", @@ -1360,9 +1378,9 @@ dependencies = [ [[package]] name = "ink_metadata" -version = "3.4.0" +version = "4.0.0-beta" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74913aaed5751f5615af4631b7559328b8ed56c9cb821b89e14af0706176e849" +checksum = "caa94adad4fca9e3a79a1c5b0edc1ea2109ef56a955a57df35b2ad32c461ac21" dependencies = [ "derive_more", "impl-serde", @@ -1374,23 +1392,38 @@ dependencies = [ [[package]] name = "ink_prelude" -version = "3.4.0" +version = "4.0.0-beta" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f031e6b8495594a7288b089bf4122e76c26b994959d1b2b693bdfe846b14c0e" +checksum = "5962125f78304bc2b3083391cbd579125c64ce17e61b019034094faf772c915a" dependencies = [ "cfg-if", ] [[package]] name = "ink_primitives" -version = "3.4.0" +version = "4.0.0-beta" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e12cf42dce81d060401c7cec95a392ad6d3c2f18661fa3083f619ce135133c33" +checksum = "90f4f26208fe23e12d436917697b951252519484134a3561fe8b65a5abc97aa9" dependencies = [ - "cfg-if", + "derive_more", "ink_prelude", "parity-scale-codec", "scale-info", + "xxhash-rust", +] + +[[package]] +name = "ink_storage_traits" +version = "4.0.0-beta" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "596247891eb221a0b7debce9f8cf123b9a14f23a4a10664e73ec16d9eb1e92e9" +dependencies = [ + "ink_metadata", + "ink_prelude", + "ink_primitives", + "parity-scale-codec", + "scale-info", + "syn", ] [[package]] @@ -1443,20 +1476,21 @@ dependencies = [ [[package]] name = "jsonrpsee" -version = "0.15.1" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8bd0d559d5e679b1ab2f869b486a11182923863b1b3ee8b421763cdd707b783a" +checksum = "5af9646e616e37c61093ef85e25bd883ae0c22e2fa1e6eedfe590048247116e3" dependencies = [ "jsonrpsee-client-transport", "jsonrpsee-core", + "jsonrpsee-http-client", "jsonrpsee-types", ] [[package]] name = "jsonrpsee-client-transport" -version = "0.15.1" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8752740ecd374bcbf8b69f3e80b0327942df76f793f8d4e60d3355650c31fb74" +checksum = "1e85cfc9c2f17eab237fdfa2efe5c1608fd06a90e1e0d7fd7b10f2d0e153f375" dependencies = [ "futures-util", "http", @@ -1475,9 +1509,9 @@ dependencies = [ [[package]] name = "jsonrpsee-core" -version = "0.15.1" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3dc3e9cf2ba50b7b1d7d76a667619f82846caa39e8e8daa8a4962d74acaddca" +checksum = "673d68136e2f0f67323bab95b3a7177df26ac21ddbf395fc32d60f30fe5a1364" dependencies = [ "anyhow", "async-lock", @@ -1486,6 +1520,26 @@ dependencies = [ "futures-channel", "futures-timer", "futures-util", + "hyper", + "jsonrpsee-types", + "rustc-hash", + "serde", + "serde_json", + "thiserror", + "tokio", + "tracing", +] + +[[package]] +name = "jsonrpsee-http-client" +version = "0.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42007820863ab29f3adeacf43886ef54abaedb35bc33dada25771db4e1f94de4" +dependencies = [ + "async-trait", + "hyper", + "hyper-rustls", + "jsonrpsee-core", "jsonrpsee-types", "rustc-hash", "serde", @@ -1493,14 +1547,13 @@ dependencies = [ "thiserror", "tokio", "tracing", - "tracing-futures", ] [[package]] name = "jsonrpsee-types" -version = "0.15.1" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e290bba767401b646812f608c099b922d8142603c9e73a50fb192d3ac86f4a0d" +checksum = "7985a27ee315c7c8c5c5033ac133e9472aec881edfd947780f5a9970efb7cbbf" dependencies = [ "anyhow", "beef", @@ -1634,6 +1687,15 @@ dependencies = [ "hashbrown", ] +[[package]] +name = "lru" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6e8aaa3f231bb4bd57b84b2d5dc3ae7f350265df8aa96492e0bc394a1571909" +dependencies = [ + "hashbrown", +] + [[package]] name = "matchers" version = "0.0.1" @@ -1651,21 +1713,15 @@ checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" [[package]] name = "memory-db" -version = "0.29.0" +version = "0.30.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6566c70c1016f525ced45d7b7f97730a2bafb037c788211d0c186ef5b2189f0a" +checksum = "34ac11bb793c28fa095b7554466f53b3a60a2cd002afdac01bcf135cbd73a269" dependencies = [ "hash-db", "hashbrown", "parity-util-mem", ] -[[package]] -name = "memory_units" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71d96e3f3c0b6325d8ccd83c33b28acb183edcb6c67938ba104ec546854b0882" - [[package]] name = "memory_units" version = "0.4.0" @@ -1711,12 +1767,6 @@ dependencies = [ "windows-sys 0.42.0", ] -[[package]] -name = "nodrop" -version = "0.1.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb" - [[package]] name = "nohash-hasher" version = "0.2.0" @@ -1746,17 +1796,6 @@ dependencies = [ "nom", ] -[[package]] -name = "num-bigint" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "090c7f9998ee0ff65aa5b723e4009f7b217707f1fb5ea551329cc4d6231fb304" -dependencies = [ - "autocfg", - "num-integer", - "num-traits", -] - [[package]] name = "num-bigint" version = "0.4.3" @@ -1788,18 +1827,6 @@ dependencies = [ "num-traits", ] -[[package]] -name = "num-rational" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c000134b5dbf44adc5cb772486d335293351644b801551abe8f75c84cfa4aef" -dependencies = [ - "autocfg", - "num-bigint 0.2.6", - "num-integer", - "num-traits", -] - [[package]] name = "num-rational" version = "0.4.1" @@ -1807,7 +1834,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0" dependencies = [ "autocfg", - "num-bigint 0.4.3", + "num-bigint", "num-integer", "num-traits", ] @@ -1867,16 +1894,13 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "pallet-contracts-primitives" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "bitflags", "parity-scale-codec", - "scale-info", - "serde", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-rpc", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-runtime 6.0.0", + "sp-std 4.0.0", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31)", ] [[package]] @@ -1908,9 +1932,9 @@ dependencies = [ [[package]] name = "parity-util-mem" -version = "0.11.0" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c32561d248d352148124f036cac253a644685a21dc9fea383eb4907d7bd35a8f" +checksum = "0d32c34f4f5ca7f9196001c0aba5a1f9a5a12382c8944b8b0f90233282d1e8f8" dependencies = [ "cfg-if", "hashbrown", @@ -1932,12 +1956,6 @@ dependencies = [ "synstructure", ] -[[package]] -name = "parity-wasm" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be5e13c266502aadf83426d87d81a0f5d1ef45b8027f5a471c360abfe4bfae92" - [[package]] name = "parity-wasm" version = "0.45.0" @@ -1962,9 +1980,9 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.4" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4dc9e0dc2adc1c69d09143aff38d3d30c5c3f0df0dad82e6d25547af174ebec0" +checksum = "7ff9f3fef3968a3ec5945535ed654cb38ff72d7495a25619e2247fb15a2ed9ba" dependencies = [ "cfg-if", "libc", @@ -2054,9 +2072,9 @@ checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" [[package]] name = "primitive-types" -version = "0.11.1" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e28720988bff275df1f51b171e1b2a18c30d194c4d2b61defdacecd625a5d94a" +checksum = "9f3486ccba82358b11a77516035647c34ba167dfa53312630de83b12bd4f3d66" dependencies = [ "fixed-hash", "impl-codec", @@ -2067,17 +2085,17 @@ dependencies = [ [[package]] name = "primitives" -version = "0.5.2" +version = "0.5.3" dependencies = [ "parity-scale-codec", "scale-info", "serde", "sp-api", - "sp-application-crypto 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-application-crypto 6.0.0", + "sp-core 6.0.0", + "sp-runtime 6.0.0", "sp-staking", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0", ] [[package]] @@ -2499,31 +2517,13 @@ dependencies = [ "zeroize", ] -[[package]] -name = "secp256k1" -version = "0.21.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c42e6f1735c5f00f51e43e28d6634141f2bcad10931b2609ddd74a86d751260" -dependencies = [ - "secp256k1-sys 0.4.2", -] - [[package]] name = "secp256k1" version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ff55dc09d460954e9ef2fa8a7ced735a964be9981fd50e870b2b3b0705e14964" dependencies = [ - "secp256k1-sys 0.6.1", -] - -[[package]] -name = "secp256k1-sys" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "957da2573cde917463ece3570eab4a0b3f19de6f1646cde62e6fd3868f566036" -dependencies = [ - "cc", + "secp256k1-sys", ] [[package]] @@ -2578,18 +2578,18 @@ dependencies = [ [[package]] name = "serde" -version = "1.0.147" +version = "1.0.148" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d193d69bae983fc11a79df82342761dfbf28a99fc8d203dca4c3c1b590948965" +checksum = "e53f64bb4ba0191d6d0676e1b141ca55047d83b74f5607e6d8eb88126c52c2dc" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.147" +version = "1.0.148" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f1d362ca8fc9c3e3a7484440752472d68a6caa98f1ab81d99b5dfe517cec852" +checksum = "a55492425aa53521babf6137309e7d34c20bbfbbfcfe2c7f3a047fd1f6b92c0c" dependencies = [ "proc-macro2", "quote", @@ -2728,17 +2728,17 @@ dependencies = [ [[package]] name = "sp-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "hash-db", "log", "parity-scale-codec", "sp-api-proc-macro", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-state-machine 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-trie 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-core 6.0.0", + "sp-runtime 6.0.0", + "sp-state-machine 0.12.0", + "sp-std 4.0.0", + "sp-trie 6.0.0", "sp-version", "thiserror", ] @@ -2746,7 +2746,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "blake2", "proc-macro-crate", @@ -2758,77 +2758,76 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acb4490364cb3b097a6755343e552495b0013778152300714be4647d107e9a2e" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-io 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-core 6.0.0", + "sp-io 6.0.0", + "sp-std 4.0.0", ] [[package]] name = "sp-application-crypto" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30a70f8245ad75c773c43e46d16e81adb62290d37cd07efcde6cef06d93235e5" dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-core 7.0.0", + "sp-io 7.0.0", + "sp-std 5.0.0", ] [[package]] name = "sp-arithmetic" version = "5.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31ef21f82cc10f75ed046b65e2f8048080ee76e59f1b8aed55c7150daebfd35b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "integer-sqrt", "num-traits", "parity-scale-codec", "scale-info", "serde", - "sp-debug-derive 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-debug-derive 4.0.0", + "sp-std 4.0.0", "static_assertions", ] [[package]] name = "sp-arithmetic" -version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3856b3e912f0a7a1332f1642b5fd3c2e76476e894c656538d32c004698690157" dependencies = [ "integer-sqrt", "num-traits", "parity-scale-codec", "scale-info", "serde", - "sp-debug-derive 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-debug-derive 5.0.0", + "sp-std 5.0.0", "static_assertions", ] [[package]] name = "sp-core" version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77963e2aa8fadb589118c3aede2e78b6c4bcf1c01d588fbf33e915b390825fbd" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ + "array-bytes", "base58", "bitflags", - "blake2-rfc", + "blake2", "byteorder", "dyn-clonable", - "ed25519-dalek", + "ed25519-zebra", "futures", "hash-db", "hash256-std-hasher", - "hex", "impl-serde", "lazy_static", "libsecp256k1", @@ -2843,27 +2842,28 @@ dependencies = [ "regex", "scale-info", "schnorrkel", - "secp256k1 0.21.3", + "secp256k1", "secrecy", "serde", - "sp-core-hashing 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-debug-derive 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-externalities 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-runtime-interface 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-storage 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-core-hashing 4.0.0", + "sp-debug-derive 4.0.0", + "sp-externalities 0.12.0", + "sp-runtime-interface 6.0.0", + "sp-std 4.0.0", + "sp-storage 6.0.0", "ss58-registry", "substrate-bip39", "thiserror", "tiny-bip39", - "wasmi 0.9.1", + "wasmi", "zeroize", ] [[package]] name = "sp-core" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88c78530907dbf7949af928d0ce88b485067389201b6d9b468074b1924f209f0" dependencies = [ "array-bytes", "base58", @@ -2882,74 +2882,73 @@ dependencies = [ "merlin", "num-traits", "parity-scale-codec", - "parity-util-mem", "parking_lot", "primitive-types", "rand 0.7.3", "regex", "scale-info", "schnorrkel", - "secp256k1 0.24.1", + "secp256k1", "secrecy", "serde", - "sp-core-hashing 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-debug-derive 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-runtime-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-storage 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-core-hashing 5.0.0", + "sp-debug-derive 5.0.0", + "sp-externalities 0.13.0", + "sp-runtime-interface 7.0.0", + "sp-std 5.0.0", + "sp-storage 7.0.0", "ss58-registry", "substrate-bip39", "thiserror", "tiny-bip39", - "wasmi 0.13.2", + "wasmi", "zeroize", ] [[package]] name = "sp-core-hashing" version = "4.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec864a6a67249f0c8dd3d5acab43623a61677e85ff4f2f9b04b802d2fe780e83" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ - "blake2-rfc", + "blake2", "byteorder", - "sha2 0.9.9", - "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "tiny-keccak", + "digest 0.10.6", + "sha2 0.10.6", + "sha3", + "sp-std 4.0.0", "twox-hash", ] [[package]] name = "sp-core-hashing" -version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +version = "5.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49b9d1daa6aebfc144729b630885e91df92ff00560490ec065a56cb538e8895a" dependencies = [ "blake2", "byteorder", "digest 0.10.6", "sha2 0.10.6", "sha3", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 5.0.0", "twox-hash", ] [[package]] name = "sp-core-hashing-proc-macro" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "proc-macro2", "quote", - "sp-core-hashing 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-core-hashing 4.0.0", "syn", ] [[package]] name = "sp-debug-derive" version = "4.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d676664972e22a0796176e81e7bec41df461d1edf52090955cdab55f2c956ff2" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "proc-macro2", "quote", @@ -2958,8 +2957,9 @@ dependencies = [ [[package]] name = "sp-debug-derive" -version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +version = "5.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9e9ba7352773b96a4aa57e903447f841c6bc26e8c798377db6e7eb332346454" dependencies = [ "proc-macro2", "quote", @@ -2969,70 +2969,71 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fcfd91f92a2a59224230a77c4a5d6f51709620c0aab4e51f108ccece6adc56f" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "environmental", "parity-scale-codec", - "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-storage 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 4.0.0", + "sp-storage 6.0.0", ] [[package]] name = "sp-externalities" -version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef739442230f49d88ece41259e5d886d6b8bc0f4197ef7f1585c39c762ce7ef2" dependencies = [ "environmental", "parity-scale-codec", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-storage 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 5.0.0", + "sp-storage 7.0.0", ] [[package]] name = "sp-inherents" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "async-trait", "impl-trait-for-tuples", "parity-scale-codec", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-core 6.0.0", + "sp-runtime 6.0.0", + "sp-std 4.0.0", "thiserror", ] [[package]] name = "sp-io" version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "935fd3c71bad6811a7984cabb74d323b8ca3107024024c3eabb610e0182ba8d3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ + "bytes", "futures", "hash-db", "libsecp256k1", "log", "parity-scale-codec", "parking_lot", - "secp256k1 0.21.3", - "sp-core 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-externalities 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-keystore 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-runtime-interface 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-state-machine 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-tracing 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-trie 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-wasm-interface 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "secp256k1", + "sp-core 6.0.0", + "sp-externalities 0.12.0", + "sp-keystore 0.12.0", + "sp-runtime-interface 6.0.0", + "sp-state-machine 0.12.0", + "sp-std 4.0.0", + "sp-tracing 5.0.0", + "sp-trie 6.0.0", + "sp-wasm-interface 6.0.0", "tracing", "tracing-core", ] [[package]] name = "sp-io" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6280bd3643354f7ff0b2abd36c687745455779231a7a86d90945608f0d4924c4" dependencies = [ "bytes", "futures", @@ -3041,16 +3042,16 @@ dependencies = [ "log", "parity-scale-codec", "parking_lot", - "secp256k1 0.24.1", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-keystore 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-runtime-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-state-machine 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-tracing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-trie 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-wasm-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "secp256k1", + "sp-core 7.0.0", + "sp-externalities 0.13.0", + "sp-keystore 0.13.0", + "sp-runtime-interface 7.0.0", + "sp-state-machine 0.13.0", + "sp-std 5.0.0", + "sp-tracing 6.0.0", + "sp-trie 7.0.0", + "sp-wasm-interface 7.0.0", "tracing", "tracing-core", ] @@ -3058,8 +3059,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3261eddca8c8926e3e1de136a7980cb3afc3455247d9d6f3119d9b292f73aaee" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "async-trait", "futures", @@ -3067,15 +3067,16 @@ dependencies = [ "parity-scale-codec", "parking_lot", "schnorrkel", - "sp-core 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-externalities 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-core 6.0.0", + "sp-externalities 0.12.0", "thiserror", ] [[package]] name = "sp-keystore" -version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a44bec4f0d036b6993c14bbee4216781f21275e5c201e43e45fed4a434bf0e5a" dependencies = [ "async-trait", "futures", @@ -3083,16 +3084,15 @@ dependencies = [ "parity-scale-codec", "parking_lot", "schnorrkel", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-core 7.0.0", + "sp-externalities 0.13.0", "thiserror", ] [[package]] name = "sp-panic-handler" version = "4.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2101f3c555fceafcfcfb0e61c55ea9ed80dc60bd77d54d9f25b369edb029e9a4" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "backtrace", "lazy_static", @@ -3101,29 +3101,19 @@ dependencies = [ [[package]] name = "sp-panic-handler" -version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +version = "5.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97549ec99cb289db2a9f5c656b6880f7c90097135e1ca6c6ae4fe5694232e526" dependencies = [ "backtrace", "lazy_static", "regex", ] -[[package]] -name = "sp-rpc" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" -dependencies = [ - "rustc-hash", - "serde", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", -] - [[package]] name = "sp-runtime" version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb7d8a8d5ab5d349c6cf9300af1721b7b6446ba63401dbb11c10a1d65197aa5f" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "either", "hash256-std-hasher", @@ -3135,17 +3125,19 @@ dependencies = [ "rand 0.7.3", "scale-info", "serde", - "sp-application-crypto 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-arithmetic 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-core 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-io 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-application-crypto 6.0.0", + "sp-arithmetic 5.0.0", + "sp-core 6.0.0", + "sp-io 6.0.0", + "sp-std 4.0.0", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31)", ] [[package]] name = "sp-runtime" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0edfc5c54c2b31d2f0cf904d472a0bff7125c0c2a2e2330507842e56f9a27444" dependencies = [ "either", "hash256-std-hasher", @@ -3157,55 +3149,55 @@ dependencies = [ "rand 0.7.3", "scale-info", "serde", - "sp-application-crypto 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-arithmetic 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-weights", + "sp-application-crypto 7.0.0", + "sp-arithmetic 6.0.0", + "sp-core 7.0.0", + "sp-io 7.0.0", + "sp-std 5.0.0", + "sp-weights 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "sp-runtime-interface" version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "158bf0305c75a50fc0e334b889568f519a126e32b87900c3f4251202dece7b4b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ + "bytes", "impl-trait-for-tuples", "parity-scale-codec", "primitive-types", - "sp-externalities 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-runtime-interface-proc-macro 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-storage 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-tracing 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-wasm-interface 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-externalities 0.12.0", + "sp-runtime-interface-proc-macro 5.0.0", + "sp-std 4.0.0", + "sp-storage 6.0.0", + "sp-tracing 5.0.0", + "sp-wasm-interface 6.0.0", "static_assertions", ] [[package]] name = "sp-runtime-interface" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b886a5d34400b0e0c12d389e3bb48b7a93d651cddf7e248124b81fe64c339251" dependencies = [ "bytes", "impl-trait-for-tuples", "parity-scale-codec", "primitive-types", - "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-runtime-interface-proc-macro 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-storage 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-tracing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-wasm-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-externalities 0.13.0", + "sp-runtime-interface-proc-macro 6.0.0", + "sp-std 5.0.0", + "sp-storage 7.0.0", + "sp-tracing 6.0.0", + "sp-wasm-interface 7.0.0", "static_assertions", ] [[package]] name = "sp-runtime-interface-proc-macro" version = "5.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22ecb916b9664ed9f90abef0ff5a3e61454c1efea5861b2997e03f39b59b955f" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "Inflector", "proc-macro-crate", @@ -3216,8 +3208,9 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" -version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a157f1ce0108b9b87f87e826726049d9b6253318b74410c814be7fc2af416b51" dependencies = [ "Inflector", "proc-macro-crate", @@ -3229,19 +3222,18 @@ dependencies = [ [[package]] name = "sp-staking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "parity-scale-codec", "scale-info", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-runtime 6.0.0", + "sp-std 4.0.0", ] [[package]] name = "sp-state-machine" version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecee3b33eb78c99997676a571656bcc35db6886abecfddd13e76a73b5871c6c1" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "hash-db", "log", @@ -3250,21 +3242,21 @@ dependencies = [ "parking_lot", "rand 0.7.3", "smallvec", - "sp-core 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-externalities 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-panic-handler 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-trie 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-core 6.0.0", + "sp-externalities 0.12.0", + "sp-panic-handler 4.0.0", + "sp-std 4.0.0", + "sp-trie 6.0.0", "thiserror", "tracing", - "trie-db 0.23.1", "trie-root", ] [[package]] name = "sp-state-machine" -version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5c2d97ad69011d34ca257f0383532b80096d53f889f5894ae2b24a211bec66f" dependencies = [ "hash-db", "log", @@ -3273,11 +3265,11 @@ dependencies = [ "parking_lot", "rand 0.7.3", "smallvec", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-panic-handler 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-trie 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-core 7.0.0", + "sp-externalities 0.13.0", + "sp-panic-handler 5.0.0", + "sp-std 5.0.0", + "sp-trie 7.0.0", "thiserror", "tracing", "trie-root", @@ -3286,49 +3278,48 @@ dependencies = [ [[package]] name = "sp-std" version = "4.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14804d6069ee7a388240b665f17908d98386ffb0b5d39f89a4099fc7a2a4c03f" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" [[package]] name = "sp-std" -version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +version = "5.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf3fd4c1d304be101e6ebbafd3d4be9a37b320c970ef4e8df188b16873981c93" [[package]] name = "sp-storage" version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5dab53af846068e3e0716d3ccc70ea0db44035c79b2ed5821aaa6635039efa37" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "impl-serde", "parity-scale-codec", "ref-cast", "serde", - "sp-debug-derive 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-debug-derive 4.0.0", + "sp-std 4.0.0", ] [[package]] name = "sp-storage" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eb987ed2e4d7d870170a225083ea962f2a359d75cdf76935d5ed8d91bee912d9" dependencies = [ "impl-serde", "parity-scale-codec", "ref-cast", "serde", - "sp-debug-derive 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-debug-derive 5.0.0", + "sp-std 5.0.0", ] [[package]] name = "sp-tracing" version = "5.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69a67e555d171c4238bd223393cda747dd20ec7d4f5fe5c042c056cb7fde9eda" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "parity-scale-codec", - "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 4.0.0", "tracing", "tracing-core", "tracing-subscriber", @@ -3336,11 +3327,12 @@ dependencies = [ [[package]] name = "sp-tracing" -version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e761df87dc940d87720939de8f976d1fc0657e523886ae0d7bf3f7e2e2f0abb6" dependencies = [ "parity-scale-codec", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 5.0.0", "tracing", "tracing-core", "tracing-subscriber", @@ -3349,55 +3341,63 @@ dependencies = [ [[package]] name = "sp-trie" version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6fc34f4f291886914733e083b62708d829f3e6b8d7a7ca7fa8a55a3d7640b0b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ + "ahash", "hash-db", + "hashbrown", + "lazy_static", + "lru 0.7.8", "memory-db", + "nohash-hasher", "parity-scale-codec", + "parking_lot", "scale-info", - "sp-core 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "trie-db 0.23.1", + "sp-core 6.0.0", + "sp-std 4.0.0", + "thiserror", + "tracing", + "trie-db", "trie-root", ] [[package]] name = "sp-trie" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f4f48c887e90050537e399d2d8b6ee82787ebec0fe46e4880b42cab0c2d5ba6" dependencies = [ "ahash", "hash-db", "hashbrown", "lazy_static", - "lru", + "lru 0.8.1", "memory-db", "nohash-hasher", "parity-scale-codec", "parking_lot", "scale-info", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-core 7.0.0", + "sp-std 5.0.0", "thiserror", "tracing", - "trie-db 0.24.0", + "trie-db", "trie-root", ] [[package]] name = "sp-version" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "impl-serde", "parity-scale-codec", - "parity-wasm 0.45.0", + "parity-wasm", "scale-info", "serde", "sp-core-hashing-proc-macro", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-runtime 6.0.0", + "sp-std 4.0.0", "sp-version-proc-macro", "thiserror", ] @@ -3405,7 +3405,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "parity-scale-codec", "proc-macro2", @@ -3416,42 +3416,59 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10d88debe690c2b24eaa9536a150334fcef2ae184c21a0e5b3e80135407a7d52" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "impl-trait-for-tuples", "log", "parity-scale-codec", - "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "wasmi 0.9.1", + "sp-std 4.0.0", + "wasmi", ] [[package]] name = "sp-wasm-interface" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4f43c40afab6ecac20505907631c929957ed636b7af8795984649bbaa6ff38c3" dependencies = [ "impl-trait-for-tuples", "log", "parity-scale-codec", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "wasmi 0.13.2", + "sp-std 5.0.0", + "wasmi", +] + +[[package]] +name = "sp-weights" +version = "4.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c671673133b30e6ab6d88139b06adcdaec5aa06548abe0e155a0c830b592793b" +dependencies = [ + "impl-trait-for-tuples", + "parity-scale-codec", + "scale-info", + "serde", + "smallvec", + "sp-arithmetic 6.0.0", + "sp-core 7.0.0", + "sp-debug-derive 5.0.0", + "sp-std 5.0.0", ] [[package]] name = "sp-weights" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", "scale-info", "serde", "smallvec", - "sp-arithmetic 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-debug-derive 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-arithmetic 5.0.0", + "sp-core 6.0.0", + "sp-debug-derive 4.0.0", + "sp-std 4.0.0", ] [[package]] @@ -3518,14 +3535,15 @@ checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" [[package]] name = "subxt" -version = "0.24.0" +version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a8757ee0e19f87e722577282ab1386c86592a4b13ff963b9c6ec4176348104c" +checksum = "e3cbc78fd36035a24883eada29e0205b9b1416172530a7d00a60c07d0337db0c" dependencies = [ "bitvec", "derivative", "frame-metadata", "futures", + "getrandom 0.2.8", "hex", "jsonrpsee", "parity-scale-codec", @@ -3535,8 +3553,8 @@ dependencies = [ "scale-value", "serde", "serde_json", - "sp-core 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-runtime 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-core 7.0.0", + "sp-runtime 7.0.0", "subxt-macro", "subxt-metadata", "thiserror", @@ -3545,13 +3563,15 @@ dependencies = [ [[package]] name = "subxt-codegen" -version = "0.24.0" +version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb77f93e11e6ff3ff95fe33e3d24c27c342e16feca8ef47759993614ebe90d2c" +checksum = "7722c31febf55eb300c73d977da5d65cfd6fb443419b1185b9abcdd9925fd7be" dependencies = [ "darling", "frame-metadata", "heck", + "hex", + "jsonrpsee", "parity-scale-codec", "proc-macro-error", "proc-macro2", @@ -3559,13 +3579,14 @@ dependencies = [ "scale-info", "subxt-metadata", "syn", + "tokio", ] [[package]] name = "subxt-macro" -version = "0.24.0" +version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "051cc21d77a54ae944b872eafdf9edfe1d9134fdfcfc3477dc10f763c76564a9" +checksum = "6f64826f2c4ba20e3b2a86ec81a6ae8655ca6b6a4c2a6ccc888b6615efc2df14" dependencies = [ "darling", "proc-macro-error", @@ -3575,21 +3596,21 @@ dependencies = [ [[package]] name = "subxt-metadata" -version = "0.24.0" +version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ed78d80db3a97d55e8b1cfecc1f6f9e21793a589d4e2e5f4fe2d6d5850c2e54" +checksum = "869af75e23513538ad0af046af4a97b8d684e8d202e35ff4127ee061c1110813" dependencies = [ "frame-metadata", "parity-scale-codec", "scale-info", - "sp-core 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-core 7.0.0", ] [[package]] name = "syn" -version = "1.0.103" +version = "1.0.104" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a864042229133ada95abf3b54fdc62ef5ccabe9515b64717bcb9a1919e59445d" +checksum = "4ae548ec36cf198c0ef7710d3c230987c2d6d7bd98ad6edc0274462724c585ce" dependencies = [ "proc-macro2", "quote", @@ -3671,15 +3692,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "tiny-keccak" -version = "2.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237" -dependencies = [ - "crunchy", -] - [[package]] name = "tinyvec" version = "1.6.0" @@ -3702,8 +3714,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d76ce4a75fb488c605c54bf610f221cea8b0dafb53333c1a67e8ee199dcd2ae3" dependencies = [ "autocfg", + "bytes", "libc", + "memchr", "mio", + "num_cpus", "pin-project-lite", "socket2", "tokio-macros", @@ -3744,6 +3759,7 @@ dependencies = [ "futures-sink", "pin-project-lite", "tokio", + "tracing", ] [[package]] @@ -3755,6 +3771,12 @@ dependencies = [ "serde", ] +[[package]] +name = "tower-service" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" + [[package]] name = "tracing" version = "0.1.37" @@ -3788,16 +3810,6 @@ dependencies = [ "valuable", ] -[[package]] -name = "tracing-futures" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2" -dependencies = [ - "pin-project", - "tracing", -] - [[package]] name = "tracing-log" version = "0.1.3" @@ -3841,19 +3853,6 @@ dependencies = [ "tracing-serde", ] -[[package]] -name = "trie-db" -version = "0.23.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d32d034c0d3db64b43c31de38e945f15b40cd4ca6d2dcfc26d4798ce8de4ab83" -dependencies = [ - "hash-db", - "hashbrown", - "log", - "rustc-hex", - "smallvec", -] - [[package]] name = "trie-db" version = "0.24.0" @@ -3876,6 +3875,12 @@ dependencies = [ "hash-db", ] +[[package]] +name = "try-lock" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642" + [[package]] name = "tt-call" version = "1.0.8" @@ -3981,6 +3986,16 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9d5b2c62b4012a3e1eca5a7e077d13b3bf498c4073e33ccd58626607748ceeca" +[[package]] +name = "want" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0" +dependencies = [ + "log", + "try-lock", +] + [[package]] name = "wasi" version = "0.9.0+wasi-snapshot-preview1" @@ -4047,48 +4062,24 @@ version = "0.2.83" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1c38c045535d93ec4f0b4defec448e4291638ee608530863b1e2ba115d4fff7f" -[[package]] -name = "wasmi" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca00c5147c319a8ec91ec1a0edbec31e566ce2c9cc93b3f9bb86a9efd0eb795d" -dependencies = [ - "downcast-rs", - "libc", - "memory_units 0.3.0", - "num-rational 0.2.4", - "num-traits", - "parity-wasm 0.42.2", - "wasmi-validation 0.4.1", -] - [[package]] name = "wasmi" version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "06c326c93fbf86419608361a2c925a31754cf109da1b8b55737070b4d6669422" dependencies = [ - "parity-wasm 0.45.0", - "wasmi-validation 0.5.0", + "parity-wasm", + "wasmi-validation", "wasmi_core", ] -[[package]] -name = "wasmi-validation" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "165343ecd6c018fc09ebcae280752702c9a2ef3e6f8d02f1cfcbdb53ef6d7937" -dependencies = [ - "parity-wasm 0.42.2", -] - [[package]] name = "wasmi-validation" version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "91ff416ad1ff0c42e5a926ed5d5fab74c0f098749aa0ad8b2a34b982ce0e867b" dependencies = [ - "parity-wasm 0.45.0", + "parity-wasm", ] [[package]] @@ -4099,8 +4090,8 @@ checksum = "57d20cb3c59b788653d99541c646c561c9dd26506f25c0cebfe810659c54c6d7" dependencies = [ "downcast-rs", "libm", - "memory_units 0.4.0", - "num-rational 0.4.1", + "memory_units", + "num-rational", "num-traits", ] @@ -4273,6 +4264,12 @@ dependencies = [ "tap", ] +[[package]] +name = "xxhash-rust" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "735a71d46c4d68d71d4b24d03fdc2b98e38cea81730595801db779c04fe80d70" + [[package]] name = "yap" version = "0.7.2" diff --git a/aleph-client/Cargo.toml b/aleph-client/Cargo.toml index 735a2e6ccf..ad4f562196 100644 --- a/aleph-client/Cargo.toml +++ b/aleph-client/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "aleph_client" -version = "2.2.0" +version = "2.3.0" edition = "2021" license = "Apache 2.0" @@ -12,16 +12,15 @@ hex = { version = "0.4.3", features = ["alloc"] } log = "0.4" serde_json = { version = "1.0" } thiserror = "1.0" -contract-metadata = "1.5" -contract-transcode = "0.1" -ink_metadata = "3.3" -subxt = "0.24.0" +contract-metadata = "2.0.0-beta" +contract-transcode = "2.0.0-beta" +ink_metadata = "4.0.0-beta" +subxt = "0.25.0" futures = "0.3.25" serde = { version = "1.0", features = ["derive"] } -frame-support = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30", features = ["full_crypto"] } -sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -pallet-contracts-primitives = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } - +frame-support = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31", features = ["full_crypto"] } +sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +pallet-contracts-primitives = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } primitives = { path = "../primitives" } diff --git a/aleph-client/src/aleph_zero.rs b/aleph-client/src/aleph_zero.rs index 0e52588e5c..96dc79aca0 100644 --- a/aleph-client/src/aleph_zero.rs +++ b/aleph-client/src/aleph_zero.rs @@ -556,9 +556,10 @@ pub mod api { "BlockWeight", vec![], [ - 25u8, 97u8, 54u8, 87u8, 196u8, 64u8, 243u8, 40u8, 63u8, 215u8, 225u8, - 108u8, 83u8, 110u8, 180u8, 62u8, 160u8, 84u8, 65u8, 29u8, 225u8, 34u8, - 221u8, 108u8, 242u8, 129u8, 215u8, 27u8, 28u8, 158u8, 72u8, 250u8, + 120u8, 67u8, 71u8, 163u8, 36u8, 202u8, 52u8, 106u8, 143u8, 155u8, + 144u8, 87u8, 142u8, 241u8, 232u8, 183u8, 56u8, 235u8, 27u8, 237u8, + 20u8, 202u8, 33u8, 85u8, 189u8, 0u8, 28u8, 52u8, 198u8, 40u8, 219u8, + 54u8, ], ) } @@ -762,9 +763,10 @@ pub mod api { "Events", vec![], [ - 181u8, 0u8, 194u8, 201u8, 102u8, 108u8, 196u8, 46u8, 118u8, 138u8, 2u8, - 221u8, 14u8, 123u8, 40u8, 245u8, 83u8, 140u8, 232u8, 46u8, 206u8, 82u8, - 60u8, 149u8, 231u8, 102u8, 76u8, 193u8, 169u8, 165u8, 215u8, 193u8, + 216u8, 9u8, 134u8, 163u8, 54u8, 128u8, 220u8, 43u8, 43u8, 179u8, 114u8, + 84u8, 50u8, 83u8, 254u8, 52u8, 221u8, 241u8, 121u8, 101u8, 173u8, + 106u8, 44u8, 250u8, 183u8, 171u8, 221u8, 98u8, 96u8, 151u8, 31u8, + 195u8, ], ) } @@ -960,9 +962,10 @@ pub mod api { "System", "BlockWeights", [ - 64u8, 123u8, 136u8, 20u8, 38u8, 151u8, 254u8, 81u8, 251u8, 41u8, 4u8, - 87u8, 167u8, 25u8, 149u8, 3u8, 17u8, 65u8, 145u8, 192u8, 195u8, 87u8, - 182u8, 78u8, 104u8, 147u8, 9u8, 56u8, 146u8, 20u8, 47u8, 22u8, + 118u8, 253u8, 239u8, 217u8, 145u8, 115u8, 85u8, 86u8, 172u8, 248u8, + 139u8, 32u8, 158u8, 126u8, 172u8, 188u8, 197u8, 105u8, 145u8, 235u8, + 171u8, 50u8, 31u8, 225u8, 167u8, 187u8, 241u8, 87u8, 6u8, 17u8, 234u8, + 185u8, ], ) } @@ -1113,12 +1116,7 @@ pub mod api { pub maybe_periodic: ::core::option::Option<(::core::primitive::u32, ::core::primitive::u32)>, pub priority: ::core::primitive::u8, - pub call: ::std::boxed::Box< - runtime_types::frame_support::traits::schedule::MaybeHashed< - runtime_types::aleph_runtime::RuntimeCall, - ::subxt::ext::sp_core::H256, - >, - >, + pub call: ::std::boxed::Box, } #[derive( :: subxt :: ext :: codec :: Decode, @@ -1141,17 +1139,12 @@ pub mod api { PartialEq, )] pub struct ScheduleNamed { - pub id: ::std::vec::Vec<::core::primitive::u8>, + pub id: [::core::primitive::u8; 32usize], pub when: ::core::primitive::u32, pub maybe_periodic: ::core::option::Option<(::core::primitive::u32, ::core::primitive::u32)>, pub priority: ::core::primitive::u8, - pub call: ::std::boxed::Box< - runtime_types::frame_support::traits::schedule::MaybeHashed< - runtime_types::aleph_runtime::RuntimeCall, - ::subxt::ext::sp_core::H256, - >, - >, + pub call: ::std::boxed::Box, } #[derive( :: subxt :: ext :: codec :: Decode, @@ -1162,7 +1155,7 @@ pub mod api { PartialEq, )] pub struct CancelNamed { - pub id: ::std::vec::Vec<::core::primitive::u8>, + pub id: [::core::primitive::u8; 32usize], } #[derive( :: subxt :: ext :: codec :: Decode, @@ -1177,12 +1170,7 @@ pub mod api { pub maybe_periodic: ::core::option::Option<(::core::primitive::u32, ::core::primitive::u32)>, pub priority: ::core::primitive::u8, - pub call: ::std::boxed::Box< - runtime_types::frame_support::traits::schedule::MaybeHashed< - runtime_types::aleph_runtime::RuntimeCall, - ::subxt::ext::sp_core::H256, - >, - >, + pub call: ::std::boxed::Box, } #[derive( :: subxt :: ext :: codec :: Decode, @@ -1193,17 +1181,12 @@ pub mod api { PartialEq, )] pub struct ScheduleNamedAfter { - pub id: ::std::vec::Vec<::core::primitive::u8>, + pub id: [::core::primitive::u8; 32usize], pub after: ::core::primitive::u32, pub maybe_periodic: ::core::option::Option<(::core::primitive::u32, ::core::primitive::u32)>, pub priority: ::core::primitive::u8, - pub call: ::std::boxed::Box< - runtime_types::frame_support::traits::schedule::MaybeHashed< - runtime_types::aleph_runtime::RuntimeCall, - ::subxt::ext::sp_core::H256, - >, - >, + pub call: ::std::boxed::Box, } pub struct TransactionApi; impl TransactionApi { @@ -1216,10 +1199,7 @@ pub mod api { ::core::primitive::u32, )>, priority: ::core::primitive::u8, - call: runtime_types::frame_support::traits::schedule::MaybeHashed< - runtime_types::aleph_runtime::RuntimeCall, - ::subxt::ext::sp_core::H256, - >, + call: runtime_types::aleph_runtime::RuntimeCall, ) -> ::subxt::tx::StaticTxPayload { ::subxt::tx::StaticTxPayload::new( "Scheduler", @@ -1231,10 +1211,9 @@ pub mod api { call: ::std::boxed::Box::new(call), }, [ - 158u8, 134u8, 46u8, 128u8, 150u8, 149u8, 86u8, 229u8, 152u8, 130u8, - 255u8, 63u8, 135u8, 192u8, 100u8, 255u8, 58u8, 249u8, 151u8, 190u8, - 6u8, 200u8, 17u8, 111u8, 183u8, 117u8, 0u8, 211u8, 153u8, 10u8, 137u8, - 134u8, + 160u8, 122u8, 166u8, 98u8, 70u8, 13u8, 129u8, 239u8, 167u8, 62u8, 11u8, + 246u8, 17u8, 49u8, 47u8, 76u8, 60u8, 242u8, 23u8, 95u8, 39u8, 112u8, + 156u8, 52u8, 238u8, 120u8, 109u8, 142u8, 99u8, 162u8, 90u8, 105u8, ], ) } @@ -1258,17 +1237,14 @@ pub mod api { #[doc = "Schedule a named task."] pub fn schedule_named( &self, - id: ::std::vec::Vec<::core::primitive::u8>, + id: [::core::primitive::u8; 32usize], when: ::core::primitive::u32, maybe_periodic: ::core::option::Option<( ::core::primitive::u32, ::core::primitive::u32, )>, priority: ::core::primitive::u8, - call: runtime_types::frame_support::traits::schedule::MaybeHashed< - runtime_types::aleph_runtime::RuntimeCall, - ::subxt::ext::sp_core::H256, - >, + call: runtime_types::aleph_runtime::RuntimeCall, ) -> ::subxt::tx::StaticTxPayload { ::subxt::tx::StaticTxPayload::new( "Scheduler", @@ -1281,25 +1257,25 @@ pub mod api { call: ::std::boxed::Box::new(call), }, [ - 72u8, 30u8, 92u8, 129u8, 87u8, 235u8, 255u8, 155u8, 130u8, 105u8, 39u8, - 121u8, 35u8, 35u8, 231u8, 216u8, 98u8, 176u8, 90u8, 140u8, 177u8, - 223u8, 121u8, 41u8, 30u8, 178u8, 61u8, 60u8, 38u8, 192u8, 154u8, 229u8, + 241u8, 1u8, 109u8, 65u8, 241u8, 150u8, 239u8, 46u8, 131u8, 127u8, + 143u8, 100u8, 173u8, 39u8, 64u8, 173u8, 52u8, 53u8, 97u8, 167u8, 133u8, + 29u8, 1u8, 140u8, 117u8, 62u8, 114u8, 35u8, 234u8, 88u8, 98u8, 57u8, ], ) } #[doc = "Cancel a named scheduled task."] pub fn cancel_named( &self, - id: ::std::vec::Vec<::core::primitive::u8>, + id: [::core::primitive::u8; 32usize], ) -> ::subxt::tx::StaticTxPayload { ::subxt::tx::StaticTxPayload::new( "Scheduler", "cancel_named", CancelNamed { id }, [ - 42u8, 232u8, 92u8, 167u8, 113u8, 136u8, 7u8, 215u8, 88u8, 117u8, 74u8, - 26u8, 225u8, 230u8, 244u8, 106u8, 150u8, 112u8, 46u8, 228u8, 96u8, - 252u8, 78u8, 126u8, 39u8, 207u8, 36u8, 110u8, 83u8, 62u8, 84u8, 241u8, + 51u8, 3u8, 140u8, 50u8, 214u8, 211u8, 50u8, 4u8, 19u8, 43u8, 230u8, + 114u8, 18u8, 108u8, 138u8, 67u8, 99u8, 24u8, 255u8, 11u8, 246u8, 37u8, + 192u8, 207u8, 90u8, 157u8, 171u8, 93u8, 233u8, 189u8, 64u8, 180u8, ], ) } @@ -1316,10 +1292,7 @@ pub mod api { ::core::primitive::u32, )>, priority: ::core::primitive::u8, - call: runtime_types::frame_support::traits::schedule::MaybeHashed< - runtime_types::aleph_runtime::RuntimeCall, - ::subxt::ext::sp_core::H256, - >, + call: runtime_types::aleph_runtime::RuntimeCall, ) -> ::subxt::tx::StaticTxPayload { ::subxt::tx::StaticTxPayload::new( "Scheduler", @@ -1331,9 +1304,10 @@ pub mod api { call: ::std::boxed::Box::new(call), }, [ - 48u8, 224u8, 37u8, 241u8, 50u8, 54u8, 104u8, 242u8, 164u8, 86u8, 40u8, - 63u8, 228u8, 95u8, 41u8, 107u8, 161u8, 13u8, 133u8, 198u8, 59u8, 201u8, - 213u8, 230u8, 3u8, 187u8, 33u8, 241u8, 200u8, 88u8, 186u8, 197u8, + 179u8, 25u8, 53u8, 84u8, 52u8, 141u8, 229u8, 81u8, 112u8, 150u8, 200u8, + 165u8, 20u8, 24u8, 170u8, 147u8, 202u8, 126u8, 168u8, 49u8, 193u8, + 66u8, 99u8, 170u8, 254u8, 94u8, 123u8, 165u8, 202u8, 241u8, 242u8, + 136u8, ], ) } @@ -1344,17 +1318,14 @@ pub mod api { #[doc = "# "] pub fn schedule_named_after( &self, - id: ::std::vec::Vec<::core::primitive::u8>, + id: [::core::primitive::u8; 32usize], after: ::core::primitive::u32, maybe_periodic: ::core::option::Option<( ::core::primitive::u32, ::core::primitive::u32, )>, priority: ::core::primitive::u8, - call: runtime_types::frame_support::traits::schedule::MaybeHashed< - runtime_types::aleph_runtime::RuntimeCall, - ::subxt::ext::sp_core::H256, - >, + call: runtime_types::aleph_runtime::RuntimeCall, ) -> ::subxt::tx::StaticTxPayload { ::subxt::tx::StaticTxPayload::new( "Scheduler", @@ -1367,10 +1338,9 @@ pub mod api { call: ::std::boxed::Box::new(call), }, [ - 144u8, 121u8, 50u8, 145u8, 113u8, 132u8, 223u8, 90u8, 53u8, 50u8, 88u8, - 219u8, 243u8, 199u8, 156u8, 236u8, 197u8, 190u8, 72u8, 104u8, 162u8, - 67u8, 194u8, 17u8, 201u8, 159u8, 187u8, 229u8, 233u8, 15u8, 240u8, - 250u8, + 20u8, 231u8, 171u8, 36u8, 252u8, 236u8, 111u8, 24u8, 212u8, 86u8, 50u8, + 21u8, 82u8, 97u8, 124u8, 183u8, 92u8, 224u8, 42u8, 251u8, 165u8, 238u8, + 243u8, 244u8, 155u8, 235u8, 13u8, 70u8, 46u8, 39u8, 126u8, 135u8, ], ) } @@ -1425,7 +1395,7 @@ pub mod api { #[doc = "Dispatched some task."] pub struct Dispatched { pub task: (::core::primitive::u32, ::core::primitive::u32), - pub id: ::core::option::Option<::std::vec::Vec<::core::primitive::u8>>, + pub id: ::core::option::Option<[::core::primitive::u8; 32usize]>, pub result: ::core::result::Result<(), runtime_types::sp_runtime::DispatchError>, } impl ::subxt::events::StaticEvent for Dispatched { @@ -1441,32 +1411,85 @@ pub mod api { PartialEq, )] #[doc = "The call for the provided hash was not found so the task has been aborted."] - pub struct CallLookupFailed { + pub struct CallUnavailable { pub task: (::core::primitive::u32, ::core::primitive::u32), - pub id: ::core::option::Option<::std::vec::Vec<::core::primitive::u8>>, - pub error: runtime_types::frame_support::traits::schedule::LookupError, + pub id: ::core::option::Option<[::core::primitive::u8; 32usize]>, } - impl ::subxt::events::StaticEvent for CallLookupFailed { + impl ::subxt::events::StaticEvent for CallUnavailable { const PALLET: &'static str = "Scheduler"; - const EVENT: &'static str = "CallLookupFailed"; + const EVENT: &'static str = "CallUnavailable"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "The given task was unable to be renewed since the agenda is full at that block."] + pub struct PeriodicFailed { + pub task: (::core::primitive::u32, ::core::primitive::u32), + pub id: ::core::option::Option<[::core::primitive::u8; 32usize]>, + } + impl ::subxt::events::StaticEvent for PeriodicFailed { + const PALLET: &'static str = "Scheduler"; + const EVENT: &'static str = "PeriodicFailed"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "The given task can never be executed since it is overweight."] + pub struct PermanentlyOverweight { + pub task: (::core::primitive::u32, ::core::primitive::u32), + pub id: ::core::option::Option<[::core::primitive::u8; 32usize]>, + } + impl ::subxt::events::StaticEvent for PermanentlyOverweight { + const PALLET: &'static str = "Scheduler"; + const EVENT: &'static str = "PermanentlyOverweight"; } } pub mod storage { use super::runtime_types; pub struct StorageApi; impl StorageApi { + pub fn incomplete_since( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Scheduler", + "IncompleteSince", + vec![], + [ + 149u8, 66u8, 239u8, 67u8, 235u8, 219u8, 101u8, 182u8, 145u8, 56u8, + 252u8, 150u8, 253u8, 221u8, 125u8, 57u8, 38u8, 152u8, 153u8, 31u8, + 92u8, 238u8, 66u8, 246u8, 104u8, 163u8, 94u8, 73u8, 222u8, 168u8, + 193u8, 227u8, + ], + ) + } #[doc = " Items to be executed, indexed by the block number that they should be executed on."] pub fn agenda( &self, _0: impl ::std::borrow::Borrow<::core::primitive::u32>, ) -> ::subxt::storage::address::StaticStorageAddress< ::subxt::metadata::DecodeStaticType< - ::std::vec::Vec< + runtime_types::sp_core::bounded::bounded_vec::BoundedVec< ::core::option::Option< - runtime_types::pallet_scheduler::ScheduledV3< - runtime_types::frame_support::traits::schedule::MaybeHashed< + runtime_types::pallet_scheduler::Scheduled< + [::core::primitive::u8; 32usize], + runtime_types::frame_support::traits::preimages::Bounded< runtime_types::aleph_runtime::RuntimeCall, - ::subxt::ext::sp_core::H256, >, ::core::primitive::u32, runtime_types::aleph_runtime::OriginCaller, @@ -1487,9 +1510,9 @@ pub mod api { ::subxt::storage::address::StorageHasher::Twox64Concat, )], [ - 12u8, 109u8, 51u8, 9u8, 116u8, 240u8, 83u8, 98u8, 158u8, 95u8, 46u8, - 168u8, 125u8, 248u8, 111u8, 207u8, 171u8, 20u8, 219u8, 156u8, 222u8, - 42u8, 207u8, 234u8, 206u8, 162u8, 58u8, 1u8, 45u8, 255u8, 124u8, 129u8, + 48u8, 65u8, 163u8, 111u8, 82u8, 33u8, 246u8, 16u8, 83u8, 40u8, 138u8, + 172u8, 239u8, 30u8, 247u8, 235u8, 100u8, 240u8, 93u8, 50u8, 102u8, + 203u8, 118u8, 32u8, 174u8, 21u8, 223u8, 91u8, 10u8, 31u8, 75u8, 97u8, ], ) } @@ -1498,12 +1521,12 @@ pub mod api { &self, ) -> ::subxt::storage::address::StaticStorageAddress< ::subxt::metadata::DecodeStaticType< - ::std::vec::Vec< + runtime_types::sp_core::bounded::bounded_vec::BoundedVec< ::core::option::Option< - runtime_types::pallet_scheduler::ScheduledV3< - runtime_types::frame_support::traits::schedule::MaybeHashed< + runtime_types::pallet_scheduler::Scheduled< + [::core::primitive::u8; 32usize], + runtime_types::frame_support::traits::preimages::Bounded< runtime_types::aleph_runtime::RuntimeCall, - ::subxt::ext::sp_core::H256, >, ::core::primitive::u32, runtime_types::aleph_runtime::OriginCaller, @@ -1521,16 +1544,19 @@ pub mod api { "Agenda", Vec::new(), [ - 12u8, 109u8, 51u8, 9u8, 116u8, 240u8, 83u8, 98u8, 158u8, 95u8, 46u8, - 168u8, 125u8, 248u8, 111u8, 207u8, 171u8, 20u8, 219u8, 156u8, 222u8, - 42u8, 207u8, 234u8, 206u8, 162u8, 58u8, 1u8, 45u8, 255u8, 124u8, 129u8, + 48u8, 65u8, 163u8, 111u8, 82u8, 33u8, 246u8, 16u8, 83u8, 40u8, 138u8, + 172u8, 239u8, 30u8, 247u8, 235u8, 100u8, 240u8, 93u8, 50u8, 102u8, + 203u8, 118u8, 32u8, 174u8, 21u8, 223u8, 91u8, 10u8, 31u8, 75u8, 97u8, ], ) } - #[doc = " Lookup from identity to the block number and index of the task."] + #[doc = " Lookup from a name to the block number and index of the task."] + #[doc = ""] + #[doc = " For v3 -> v4 the previously unbounded identities are Blake2-256 hashed to form the v4"] + #[doc = " identities."] pub fn lookup( &self, - _0: impl ::std::borrow::Borrow<[::core::primitive::u8]>, + _0: impl ::std::borrow::Borrow<[::core::primitive::u8; 32usize]>, ) -> ::subxt::storage::address::StaticStorageAddress< ::subxt::metadata::DecodeStaticType<( ::core::primitive::u32, @@ -1548,13 +1574,17 @@ pub mod api { ::subxt::storage::address::StorageHasher::Twox64Concat, )], [ - 56u8, 105u8, 156u8, 110u8, 251u8, 141u8, 219u8, 56u8, 131u8, 57u8, - 180u8, 33u8, 48u8, 30u8, 193u8, 194u8, 169u8, 182u8, 168u8, 43u8, 36u8, - 202u8, 222u8, 182u8, 41u8, 216u8, 222u8, 1u8, 72u8, 165u8, 62u8, 166u8, + 82u8, 20u8, 178u8, 101u8, 108u8, 198u8, 71u8, 99u8, 16u8, 175u8, 15u8, + 187u8, 229u8, 243u8, 140u8, 200u8, 99u8, 77u8, 248u8, 178u8, 45u8, + 121u8, 193u8, 67u8, 165u8, 43u8, 234u8, 211u8, 158u8, 250u8, 103u8, + 243u8, ], ) } - #[doc = " Lookup from identity to the block number and index of the task."] + #[doc = " Lookup from a name to the block number and index of the task."] + #[doc = ""] + #[doc = " For v3 -> v4 the previously unbounded identities are Blake2-256 hashed to form the v4"] + #[doc = " identities."] pub fn lookup_root( &self, ) -> ::subxt::storage::address::StaticStorageAddress< @@ -1571,9 +1601,10 @@ pub mod api { "Lookup", Vec::new(), [ - 56u8, 105u8, 156u8, 110u8, 251u8, 141u8, 219u8, 56u8, 131u8, 57u8, - 180u8, 33u8, 48u8, 30u8, 193u8, 194u8, 169u8, 182u8, 168u8, 43u8, 36u8, - 202u8, 222u8, 182u8, 41u8, 216u8, 222u8, 1u8, 72u8, 165u8, 62u8, 166u8, + 82u8, 20u8, 178u8, 101u8, 108u8, 198u8, 71u8, 99u8, 16u8, 175u8, 15u8, + 187u8, 229u8, 243u8, 140u8, 200u8, 99u8, 77u8, 248u8, 178u8, 45u8, + 121u8, 193u8, 67u8, 165u8, 43u8, 234u8, 211u8, 158u8, 250u8, 103u8, + 243u8, ], ) } @@ -1583,8 +1614,7 @@ pub mod api { use super::runtime_types; pub struct ConstantsApi; impl ConstantsApi { - #[doc = " The maximum weight that may be scheduled per block for any dispatchables of less"] - #[doc = " priority than `schedule::HARD_DEADLINE`."] + #[doc = " The maximum weight that may be scheduled per block for any dispatchables."] pub fn maximum_weight( &self, ) -> ::subxt::constants::StaticConstantAddress< @@ -1596,14 +1626,14 @@ pub mod api { "Scheduler", "MaximumWeight", [ - 67u8, 70u8, 203u8, 252u8, 102u8, 92u8, 175u8, 48u8, 35u8, 141u8, 85u8, - 109u8, 102u8, 228u8, 244u8, 116u8, 6u8, 210u8, 54u8, 115u8, 86u8, - 234u8, 159u8, 246u8, 251u8, 91u8, 202u8, 141u8, 32u8, 21u8, 97u8, 85u8, + 206u8, 61u8, 253u8, 247u8, 163u8, 40u8, 161u8, 52u8, 134u8, 140u8, + 206u8, 83u8, 44u8, 166u8, 226u8, 115u8, 181u8, 14u8, 227u8, 130u8, + 210u8, 32u8, 85u8, 29u8, 230u8, 97u8, 130u8, 165u8, 147u8, 134u8, + 106u8, 76u8, ], ) } #[doc = " The maximum number of scheduled calls in the queue for a single block."] - #[doc = " Not strictly enforced, but used for weight estimation."] pub fn max_scheduled_per_block( &self, ) -> ::subxt::constants::StaticConstantAddress< @@ -8134,9 +8164,9 @@ pub mod api { "batch", Batch { calls }, [ - 203u8, 218u8, 26u8, 141u8, 185u8, 38u8, 2u8, 26u8, 44u8, 198u8, 56u8, - 113u8, 221u8, 101u8, 145u8, 247u8, 116u8, 14u8, 110u8, 71u8, 69u8, - 127u8, 235u8, 92u8, 94u8, 11u8, 14u8, 40u8, 158u8, 213u8, 20u8, 128u8, + 54u8, 11u8, 245u8, 114u8, 34u8, 80u8, 69u8, 105u8, 126u8, 6u8, 220u8, + 2u8, 216u8, 9u8, 219u8, 47u8, 138u8, 8u8, 208u8, 214u8, 243u8, 4u8, + 85u8, 107u8, 173u8, 220u8, 160u8, 221u8, 38u8, 158u8, 252u8, 58u8, ], ) } @@ -8166,10 +8196,10 @@ pub mod api { call: ::std::boxed::Box::new(call), }, [ - 172u8, 73u8, 193u8, 237u8, 185u8, 20u8, 72u8, 222u8, 236u8, 223u8, - 203u8, 21u8, 171u8, 242u8, 226u8, 11u8, 73u8, 17u8, 212u8, 125u8, - 213u8, 19u8, 154u8, 31u8, 11u8, 243u8, 164u8, 28u8, 144u8, 140u8, - 102u8, 88u8, + 191u8, 114u8, 113u8, 241u8, 126u8, 1u8, 120u8, 104u8, 111u8, 31u8, + 211u8, 99u8, 236u8, 200u8, 182u8, 124u8, 111u8, 105u8, 67u8, 60u8, + 234u8, 149u8, 34u8, 203u8, 159u8, 115u8, 60u8, 71u8, 55u8, 164u8, + 185u8, 53u8, ], ) } @@ -8196,10 +8226,10 @@ pub mod api { "batch_all", BatchAll { calls }, [ - 49u8, 35u8, 177u8, 112u8, 162u8, 200u8, 255u8, 226u8, 113u8, 117u8, - 53u8, 121u8, 2u8, 33u8, 52u8, 140u8, 88u8, 184u8, 67u8, 89u8, 169u8, - 78u8, 221u8, 192u8, 120u8, 97u8, 80u8, 252u8, 142u8, 110u8, 214u8, - 55u8, + 85u8, 206u8, 217u8, 145u8, 85u8, 186u8, 156u8, 252u8, 97u8, 70u8, + 227u8, 127u8, 83u8, 57u8, 255u8, 254u8, 104u8, 173u8, 33u8, 227u8, + 179u8, 209u8, 156u8, 199u8, 50u8, 88u8, 44u8, 236u8, 208u8, 3u8, 84u8, + 12u8, ], ) } @@ -8226,9 +8256,9 @@ pub mod api { call: ::std::boxed::Box::new(call), }, [ - 128u8, 45u8, 153u8, 82u8, 118u8, 8u8, 145u8, 1u8, 33u8, 94u8, 150u8, - 203u8, 170u8, 195u8, 5u8, 74u8, 230u8, 129u8, 18u8, 97u8, 46u8, 165u8, - 181u8, 170u8, 158u8, 230u8, 90u8, 243u8, 38u8, 142u8, 167u8, 1u8, + 243u8, 77u8, 65u8, 192u8, 160u8, 219u8, 211u8, 207u8, 19u8, 140u8, + 175u8, 74u8, 74u8, 20u8, 245u8, 48u8, 139u8, 14u8, 26u8, 32u8, 4u8, + 30u8, 95u8, 39u8, 53u8, 69u8, 242u8, 253u8, 184u8, 189u8, 119u8, 61u8, ], ) } @@ -8255,10 +8285,10 @@ pub mod api { "force_batch", ForceBatch { calls }, [ - 70u8, 71u8, 250u8, 235u8, 122u8, 250u8, 140u8, 252u8, 37u8, 252u8, - 231u8, 150u8, 115u8, 4u8, 22u8, 122u8, 190u8, 137u8, 37u8, 193u8, 33u8, - 132u8, 111u8, 216u8, 58u8, 178u8, 237u8, 221u8, 160u8, 170u8, 99u8, - 146u8, + 14u8, 136u8, 251u8, 244u8, 242u8, 109u8, 234u8, 84u8, 124u8, 199u8, + 213u8, 229u8, 93u8, 156u8, 232u8, 71u8, 214u8, 32u8, 225u8, 249u8, + 229u8, 144u8, 161u8, 85u8, 135u8, 194u8, 64u8, 181u8, 98u8, 79u8, + 114u8, 154u8, ], ) } @@ -8417,9 +8447,7 @@ pub mod api { pub maybe_timepoint: ::core::option::Option< runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>, >, - pub call: - ::subxt::utils::WrapperKeepOpaque, - pub store_call: ::core::primitive::bool, + pub call: ::std::boxed::Box, pub max_weight: runtime_types::sp_weights::weight_v2::Weight, } #[derive( @@ -8484,9 +8512,10 @@ pub mod api { call: ::std::boxed::Box::new(call), }, [ - 117u8, 25u8, 22u8, 247u8, 186u8, 56u8, 97u8, 61u8, 95u8, 86u8, 244u8, - 255u8, 42u8, 239u8, 140u8, 156u8, 167u8, 240u8, 173u8, 245u8, 124u8, - 123u8, 108u8, 112u8, 82u8, 7u8, 91u8, 207u8, 87u8, 149u8, 226u8, 174u8, + 20u8, 94u8, 155u8, 221u8, 119u8, 110u8, 119u8, 198u8, 12u8, 174u8, + 40u8, 255u8, 44u8, 82u8, 16u8, 105u8, 241u8, 48u8, 143u8, 12u8, 114u8, + 209u8, 182u8, 50u8, 162u8, 84u8, 131u8, 193u8, 196u8, 154u8, 104u8, + 162u8, ], ) } @@ -8531,8 +8560,8 @@ pub mod api { #[doc = " taken for its lifetime of `DepositBase + threshold * DepositFactor`."] #[doc = "-------------------------------"] #[doc = "- DB Weight:"] - #[doc = " - Reads: Multisig Storage, [Caller Account], Calls (if `store_call`)"] - #[doc = " - Writes: Multisig Storage, [Caller Account], Calls (if `store_call`)"] + #[doc = " - Reads: Multisig Storage, [Caller Account]"] + #[doc = " - Writes: Multisig Storage, [Caller Account]"] #[doc = "- Plus Call Weight"] #[doc = "# "] pub fn as_multi( @@ -8542,10 +8571,7 @@ pub mod api { maybe_timepoint: ::core::option::Option< runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>, >, - call: ::subxt::utils::WrapperKeepOpaque< - runtime_types::aleph_runtime::RuntimeCall, - >, - store_call: ::core::primitive::bool, + call: runtime_types::aleph_runtime::RuntimeCall, max_weight: runtime_types::sp_weights::weight_v2::Weight, ) -> ::subxt::tx::StaticTxPayload { ::subxt::tx::StaticTxPayload::new( @@ -8555,14 +8581,13 @@ pub mod api { threshold, other_signatories, maybe_timepoint, - call, - store_call, + call: ::std::boxed::Box::new(call), max_weight, }, [ - 174u8, 185u8, 140u8, 105u8, 222u8, 87u8, 196u8, 57u8, 80u8, 80u8, - 152u8, 83u8, 185u8, 77u8, 54u8, 194u8, 154u8, 131u8, 25u8, 55u8, 59u8, - 8u8, 83u8, 123u8, 208u8, 178u8, 147u8, 35u8, 224u8, 76u8, 100u8, 63u8, + 33u8, 244u8, 252u8, 206u8, 157u8, 156u8, 15u8, 171u8, 200u8, 78u8, + 16u8, 115u8, 71u8, 183u8, 155u8, 205u8, 56u8, 43u8, 57u8, 23u8, 89u8, + 58u8, 77u8, 184u8, 210u8, 55u8, 203u8, 51u8, 13u8, 205u8, 53u8, 207u8, ], ) } @@ -8622,9 +8647,10 @@ pub mod api { max_weight, }, [ - 189u8, 195u8, 146u8, 249u8, 81u8, 54u8, 8u8, 234u8, 99u8, 36u8, 239u8, - 235u8, 17u8, 200u8, 94u8, 153u8, 52u8, 82u8, 38u8, 220u8, 139u8, 180u8, - 4u8, 79u8, 129u8, 230u8, 227u8, 156u8, 242u8, 253u8, 2u8, 196u8, + 133u8, 113u8, 121u8, 66u8, 218u8, 219u8, 48u8, 64u8, 211u8, 114u8, + 163u8, 193u8, 164u8, 21u8, 140u8, 218u8, 253u8, 237u8, 240u8, 126u8, + 200u8, 213u8, 184u8, 50u8, 187u8, 182u8, 30u8, 52u8, 142u8, 72u8, + 210u8, 101u8, ], ) } @@ -8651,8 +8677,8 @@ pub mod api { #[doc = "- Storage: removes one item."] #[doc = "----------------------------------"] #[doc = "- DB Weight:"] - #[doc = " - Read: Multisig Storage, [Caller Account], Refund Account, Calls"] - #[doc = " - Write: Multisig Storage, [Caller Account], Refund Account, Calls"] + #[doc = " - Read: Multisig Storage, [Caller Account], Refund Account"] + #[doc = " - Write: Multisig Storage, [Caller Account], Refund Account"] #[doc = "# "] pub fn cancel_as_multi( &self, @@ -8829,60 +8855,6 @@ pub mod api { ], ) } - pub fn calls( - &self, - _0: impl ::std::borrow::Borrow<[::core::primitive::u8; 32usize]>, - ) -> ::subxt::storage::address::StaticStorageAddress< - ::subxt::metadata::DecodeStaticType<( - ::subxt::utils::WrapperKeepOpaque< - runtime_types::aleph_runtime::RuntimeCall, - >, - ::subxt::ext::sp_core::crypto::AccountId32, - ::core::primitive::u128, - )>, - ::subxt::storage::address::Yes, - (), - ::subxt::storage::address::Yes, - > { - ::subxt::storage::address::StaticStorageAddress::new( - "Multisig", - "Calls", - vec![::subxt::storage::address::StorageMapKey::new( - _0.borrow(), - ::subxt::storage::address::StorageHasher::Identity, - )], - [ - 196u8, 139u8, 54u8, 70u8, 94u8, 123u8, 139u8, 218u8, 234u8, 193u8, - 196u8, 120u8, 195u8, 19u8, 34u8, 51u8, 17u8, 24u8, 16u8, 45u8, 216u8, - 95u8, 109u8, 12u8, 141u8, 90u8, 191u8, 249u8, 201u8, 3u8, 139u8, 214u8, - ], - ) - } - pub fn calls_root( - &self, - ) -> ::subxt::storage::address::StaticStorageAddress< - ::subxt::metadata::DecodeStaticType<( - ::subxt::utils::WrapperKeepOpaque< - runtime_types::aleph_runtime::RuntimeCall, - >, - ::subxt::ext::sp_core::crypto::AccountId32, - ::core::primitive::u128, - )>, - (), - (), - ::subxt::storage::address::Yes, - > { - ::subxt::storage::address::StaticStorageAddress::new( - "Multisig", - "Calls", - Vec::new(), - [ - 196u8, 139u8, 54u8, 70u8, 94u8, 123u8, 139u8, 218u8, 234u8, 193u8, - 196u8, 120u8, 195u8, 19u8, 34u8, 51u8, 17u8, 24u8, 16u8, 45u8, 216u8, - 95u8, 109u8, 12u8, 141u8, 90u8, 191u8, 249u8, 201u8, 3u8, 139u8, 214u8, - ], - ) - } } } pub mod constants { @@ -9028,10 +9000,9 @@ pub mod api { call: ::std::boxed::Box::new(call), }, [ - 217u8, 107u8, 107u8, 64u8, 223u8, 195u8, 140u8, 177u8, 208u8, 243u8, - 205u8, 36u8, 203u8, 134u8, 206u8, 244u8, 122u8, 72u8, 246u8, 106u8, - 114u8, 60u8, 78u8, 138u8, 242u8, 120u8, 60u8, 166u8, 236u8, 155u8, - 245u8, 177u8, + 1u8, 212u8, 200u8, 244u8, 140u8, 196u8, 5u8, 118u8, 183u8, 21u8, 254u8, + 36u8, 218u8, 175u8, 219u8, 228u8, 40u8, 247u8, 248u8, 127u8, 54u8, + 23u8, 253u8, 137u8, 188u8, 151u8, 39u8, 128u8, 218u8, 39u8, 86u8, 7u8, ], ) } @@ -9058,10 +9029,10 @@ pub mod api { weight, }, [ - 249u8, 63u8, 101u8, 112u8, 31u8, 87u8, 243u8, 248u8, 196u8, 112u8, - 38u8, 195u8, 114u8, 119u8, 116u8, 216u8, 156u8, 236u8, 48u8, 230u8, - 59u8, 51u8, 190u8, 122u8, 183u8, 7u8, 93u8, 96u8, 38u8, 54u8, 44u8, - 254u8, + 159u8, 128u8, 183u8, 121u8, 190u8, 62u8, 61u8, 158u8, 184u8, 132u8, + 158u8, 127u8, 95u8, 143u8, 129u8, 60u8, 234u8, 68u8, 232u8, 97u8, + 101u8, 71u8, 186u8, 17u8, 32u8, 174u8, 90u8, 220u8, 93u8, 103u8, 111u8, + 81u8, ], ) } @@ -9120,10 +9091,9 @@ pub mod api { call: ::std::boxed::Box::new(call), }, [ - 133u8, 204u8, 27u8, 0u8, 206u8, 196u8, 202u8, 35u8, 241u8, 96u8, 13u8, - 160u8, 103u8, 145u8, 90u8, 30u8, 23u8, 151u8, 146u8, 212u8, 206u8, - 115u8, 179u8, 222u8, 237u8, 112u8, 28u8, 79u8, 93u8, 110u8, 243u8, - 119u8, + 36u8, 12u8, 9u8, 231u8, 250u8, 8u8, 177u8, 195u8, 94u8, 66u8, 211u8, + 201u8, 222u8, 228u8, 70u8, 62u8, 45u8, 22u8, 243u8, 231u8, 73u8, 155u8, + 241u8, 9u8, 205u8, 126u8, 73u8, 214u8, 195u8, 153u8, 73u8, 33u8, ], ) } @@ -9225,7 +9195,7 @@ pub mod api { Eq, PartialEq, )] - pub struct Call { + pub struct CallOldWeight { pub dest: ::subxt::ext::sp_runtime::MultiAddress< ::subxt::ext::sp_core::crypto::AccountId32, (), @@ -9233,7 +9203,7 @@ pub mod api { #[codec(compact)] pub value: ::core::primitive::u128, #[codec(compact)] - pub gas_limit: runtime_types::sp_weights::weight_v2::Weight, + pub gas_limit: runtime_types::sp_weights::OldWeight, pub storage_deposit_limit: ::core::option::Option<::subxt::ext::codec::Compact<::core::primitive::u128>>, pub data: ::std::vec::Vec<::core::primitive::u8>, @@ -9246,11 +9216,11 @@ pub mod api { Eq, PartialEq, )] - pub struct InstantiateWithCode { + pub struct InstantiateWithCodeOldWeight { #[codec(compact)] pub value: ::core::primitive::u128, #[codec(compact)] - pub gas_limit: runtime_types::sp_weights::weight_v2::Weight, + pub gas_limit: runtime_types::sp_weights::OldWeight, pub storage_deposit_limit: ::core::option::Option<::subxt::ext::codec::Compact<::core::primitive::u128>>, pub code: ::std::vec::Vec<::core::primitive::u8>, @@ -9265,11 +9235,11 @@ pub mod api { Eq, PartialEq, )] - pub struct Instantiate { + pub struct InstantiateOldWeight { #[codec(compact)] pub value: ::core::primitive::u128, #[codec(compact)] - pub gas_limit: runtime_types::sp_weights::weight_v2::Weight, + pub gas_limit: runtime_types::sp_weights::OldWeight, pub storage_deposit_limit: ::core::option::Option<::subxt::ext::codec::Compact<::core::primitive::u128>>, pub code_hash: ::subxt::ext::sp_core::H256, @@ -9315,41 +9285,82 @@ pub mod api { >, pub code_hash: ::subxt::ext::sp_core::H256, } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct Call { + pub dest: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, + #[codec(compact)] + pub value: ::core::primitive::u128, + pub gas_limit: runtime_types::sp_weights::weight_v2::Weight, + pub storage_deposit_limit: + ::core::option::Option<::subxt::ext::codec::Compact<::core::primitive::u128>>, + pub data: ::std::vec::Vec<::core::primitive::u8>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct InstantiateWithCode { + #[codec(compact)] + pub value: ::core::primitive::u128, + pub gas_limit: runtime_types::sp_weights::weight_v2::Weight, + pub storage_deposit_limit: + ::core::option::Option<::subxt::ext::codec::Compact<::core::primitive::u128>>, + pub code: ::std::vec::Vec<::core::primitive::u8>, + pub data: ::std::vec::Vec<::core::primitive::u8>, + pub salt: ::std::vec::Vec<::core::primitive::u8>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct Instantiate { + #[codec(compact)] + pub value: ::core::primitive::u128, + pub gas_limit: runtime_types::sp_weights::weight_v2::Weight, + pub storage_deposit_limit: + ::core::option::Option<::subxt::ext::codec::Compact<::core::primitive::u128>>, + pub code_hash: ::subxt::ext::sp_core::H256, + pub data: ::std::vec::Vec<::core::primitive::u8>, + pub salt: ::std::vec::Vec<::core::primitive::u8>, + } pub struct TransactionApi; impl TransactionApi { - #[doc = "Makes a call to an account, optionally transferring some balance."] - #[doc = ""] - #[doc = "# Parameters"] - #[doc = ""] - #[doc = "* `dest`: Address of the contract to call."] - #[doc = "* `value`: The balance to transfer from the `origin` to `dest`."] - #[doc = "* `gas_limit`: The gas limit enforced when executing the constructor."] - #[doc = "* `storage_deposit_limit`: The maximum amount of balance that can be charged from the"] - #[doc = " caller to pay for the storage consumed."] - #[doc = "* `data`: The input data to pass to the contract."] - #[doc = ""] - #[doc = "* If the account is a smart-contract account, the associated code will be"] - #[doc = "executed and any value will be transferred."] - #[doc = "* If the account is a regular account, any value will be transferred."] - #[doc = "* If no account exists and the call value is not less than `existential_deposit`,"] - #[doc = "a regular account will be created and any value will be transferred."] - pub fn call( + #[doc = "Deprecated version if [`Self::call`] for use in an in-storage `Call`."] + pub fn call_old_weight( &self, dest: ::subxt::ext::sp_runtime::MultiAddress< ::subxt::ext::sp_core::crypto::AccountId32, (), >, value: ::core::primitive::u128, - gas_limit: runtime_types::sp_weights::weight_v2::Weight, + gas_limit: runtime_types::sp_weights::OldWeight, storage_deposit_limit: ::core::option::Option< ::subxt::ext::codec::Compact<::core::primitive::u128>, >, data: ::std::vec::Vec<::core::primitive::u8>, - ) -> ::subxt::tx::StaticTxPayload { + ) -> ::subxt::tx::StaticTxPayload { ::subxt::tx::StaticTxPayload::new( "Contracts", - "call", - Call { + "call_old_weight", + CallOldWeight { dest, value, gas_limit, @@ -9357,54 +9368,28 @@ pub mod api { data, }, [ - 75u8, 7u8, 36u8, 175u8, 84u8, 245u8, 123u8, 80u8, 100u8, 129u8, 80u8, - 52u8, 161u8, 126u8, 253u8, 232u8, 213u8, 241u8, 154u8, 89u8, 58u8, - 164u8, 227u8, 222u8, 116u8, 141u8, 44u8, 205u8, 147u8, 30u8, 153u8, - 137u8, + 181u8, 255u8, 119u8, 227u8, 10u8, 39u8, 128u8, 22u8, 223u8, 250u8, + 247u8, 253u8, 118u8, 113u8, 192u8, 65u8, 224u8, 0u8, 93u8, 16u8, 41u8, + 177u8, 150u8, 70u8, 151u8, 216u8, 76u8, 97u8, 27u8, 127u8, 75u8, 67u8, ], ) } - #[doc = "Instantiates a new contract from the supplied `code` optionally transferring"] - #[doc = "some balance."] - #[doc = ""] - #[doc = "This dispatchable has the same effect as calling [`Self::upload_code`] +"] - #[doc = "[`Self::instantiate`]. Bundling them together provides efficiency gains. Please"] - #[doc = "also check the documentation of [`Self::upload_code`]."] - #[doc = ""] - #[doc = "# Parameters"] - #[doc = ""] - #[doc = "* `value`: The balance to transfer from the `origin` to the newly created contract."] - #[doc = "* `gas_limit`: The gas limit enforced when executing the constructor."] - #[doc = "* `storage_deposit_limit`: The maximum amount of balance that can be charged/reserved"] - #[doc = " from the caller to pay for the storage consumed."] - #[doc = "* `code`: The contract code to deploy in raw bytes."] - #[doc = "* `data`: The input data to pass to the contract constructor."] - #[doc = "* `salt`: Used for the address derivation. See [`Pallet::contract_address`]."] - #[doc = ""] - #[doc = "Instantiation is executed as follows:"] - #[doc = ""] - #[doc = "- The supplied `code` is instrumented, deployed, and a `code_hash` is created for that"] - #[doc = " code."] - #[doc = "- If the `code_hash` already exists on the chain the underlying `code` will be shared."] - #[doc = "- The destination address is computed based on the sender, code_hash and the salt."] - #[doc = "- The smart-contract account is created at the computed address."] - #[doc = "- The `value` is transferred to the new account."] - #[doc = "- The `deploy` function is executed in the context of the newly-created account."] - pub fn instantiate_with_code( + #[doc = "Deprecated version if [`Self::instantiate_with_code`] for use in an in-storage `Call`."] + pub fn instantiate_with_code_old_weight( &self, value: ::core::primitive::u128, - gas_limit: runtime_types::sp_weights::weight_v2::Weight, + gas_limit: runtime_types::sp_weights::OldWeight, storage_deposit_limit: ::core::option::Option< ::subxt::ext::codec::Compact<::core::primitive::u128>, >, code: ::std::vec::Vec<::core::primitive::u8>, data: ::std::vec::Vec<::core::primitive::u8>, salt: ::std::vec::Vec<::core::primitive::u8>, - ) -> ::subxt::tx::StaticTxPayload { + ) -> ::subxt::tx::StaticTxPayload { ::subxt::tx::StaticTxPayload::new( "Contracts", - "instantiate_with_code", - InstantiateWithCode { + "instantiate_with_code_old_weight", + InstantiateWithCodeOldWeight { value, gas_limit, storage_deposit_limit, @@ -9413,33 +9398,29 @@ pub mod api { salt, }, [ - 130u8, 94u8, 159u8, 65u8, 148u8, 107u8, 182u8, 60u8, 74u8, 210u8, - 164u8, 31u8, 235u8, 130u8, 75u8, 145u8, 10u8, 132u8, 131u8, 148u8, - 215u8, 142u8, 124u8, 156u8, 209u8, 121u8, 155u8, 141u8, 94u8, 145u8, - 165u8, 165u8, + 93u8, 124u8, 100u8, 101u8, 7u8, 110u8, 92u8, 199u8, 162u8, 126u8, 35u8, + 47u8, 190u8, 42u8, 237u8, 152u8, 169u8, 130u8, 21u8, 33u8, 136u8, + 220u8, 110u8, 106u8, 57u8, 211u8, 158u8, 130u8, 112u8, 37u8, 41u8, + 39u8, ], ) } - #[doc = "Instantiates a contract from a previously deployed wasm binary."] - #[doc = ""] - #[doc = "This function is identical to [`Self::instantiate_with_code`] but without the"] - #[doc = "code deployment step. Instead, the `code_hash` of an on-chain deployed wasm binary"] - #[doc = "must be supplied."] - pub fn instantiate( + #[doc = "Deprecated version if [`Self::instantiate`] for use in an in-storage `Call`."] + pub fn instantiate_old_weight( &self, value: ::core::primitive::u128, - gas_limit: runtime_types::sp_weights::weight_v2::Weight, + gas_limit: runtime_types::sp_weights::OldWeight, storage_deposit_limit: ::core::option::Option< ::subxt::ext::codec::Compact<::core::primitive::u128>, >, code_hash: ::subxt::ext::sp_core::H256, data: ::std::vec::Vec<::core::primitive::u8>, salt: ::std::vec::Vec<::core::primitive::u8>, - ) -> ::subxt::tx::StaticTxPayload { + ) -> ::subxt::tx::StaticTxPayload { ::subxt::tx::StaticTxPayload::new( "Contracts", - "instantiate", - Instantiate { + "instantiate_old_weight", + InstantiateOldWeight { value, gas_limit, storage_deposit_limit, @@ -9448,10 +9429,9 @@ pub mod api { salt, }, [ - 136u8, 140u8, 250u8, 66u8, 185u8, 107u8, 202u8, 135u8, 138u8, 135u8, - 179u8, 133u8, 84u8, 11u8, 135u8, 244u8, 176u8, 99u8, 70u8, 209u8, - 175u8, 241u8, 227u8, 12u8, 23u8, 169u8, 16u8, 117u8, 193u8, 159u8, - 51u8, 130u8, + 243u8, 56u8, 93u8, 198u8, 169u8, 134u8, 6u8, 135u8, 19u8, 1u8, 20u8, + 138u8, 202u8, 59u8, 59u8, 99u8, 58u8, 22u8, 33u8, 94u8, 253u8, 215u8, + 203u8, 159u8, 58u8, 21u8, 24u8, 235u8, 30u8, 215u8, 173u8, 23u8, ], ) } @@ -9523,21 +9503,157 @@ pub mod api { #[doc = "this dispatchable."] pub fn set_code( &self, - dest: ::subxt::ext::sp_runtime::MultiAddress< - ::subxt::ext::sp_core::crypto::AccountId32, - (), + dest: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, + code_hash: ::subxt::ext::sp_core::H256, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Contracts", + "set_code", + SetCode { dest, code_hash }, + [ + 106u8, 141u8, 239u8, 113u8, 99u8, 74u8, 14u8, 171u8, 80u8, 115u8, + 214u8, 203u8, 232u8, 142u8, 48u8, 207u8, 214u8, 59u8, 204u8, 157u8, + 101u8, 142u8, 12u8, 69u8, 230u8, 188u8, 60u8, 197u8, 238u8, 146u8, + 17u8, 190u8, + ], + ) + } + #[doc = "Makes a call to an account, optionally transferring some balance."] + #[doc = ""] + #[doc = "# Parameters"] + #[doc = ""] + #[doc = "* `dest`: Address of the contract to call."] + #[doc = "* `value`: The balance to transfer from the `origin` to `dest`."] + #[doc = "* `gas_limit`: The gas limit enforced when executing the constructor."] + #[doc = "* `storage_deposit_limit`: The maximum amount of balance that can be charged from the"] + #[doc = " caller to pay for the storage consumed."] + #[doc = "* `data`: The input data to pass to the contract."] + #[doc = ""] + #[doc = "* If the account is a smart-contract account, the associated code will be"] + #[doc = "executed and any value will be transferred."] + #[doc = "* If the account is a regular account, any value will be transferred."] + #[doc = "* If no account exists and the call value is not less than `existential_deposit`,"] + #[doc = "a regular account will be created and any value will be transferred."] + pub fn call( + &self, + dest: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, + value: ::core::primitive::u128, + gas_limit: runtime_types::sp_weights::weight_v2::Weight, + storage_deposit_limit: ::core::option::Option< + ::subxt::ext::codec::Compact<::core::primitive::u128>, + >, + data: ::std::vec::Vec<::core::primitive::u8>, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Contracts", + "call", + Call { + dest, + value, + gas_limit, + storage_deposit_limit, + data, + }, + [ + 226u8, 219u8, 120u8, 119u8, 106u8, 251u8, 205u8, 112u8, 148u8, 215u8, + 196u8, 50u8, 116u8, 75u8, 40u8, 41u8, 224u8, 35u8, 186u8, 29u8, 49u8, + 112u8, 51u8, 117u8, 142u8, 69u8, 214u8, 208u8, 241u8, 71u8, 149u8, + 163u8, + ], + ) + } + #[doc = "Instantiates a new contract from the supplied `code` optionally transferring"] + #[doc = "some balance."] + #[doc = ""] + #[doc = "This dispatchable has the same effect as calling [`Self::upload_code`] +"] + #[doc = "[`Self::instantiate`]. Bundling them together provides efficiency gains. Please"] + #[doc = "also check the documentation of [`Self::upload_code`]."] + #[doc = ""] + #[doc = "# Parameters"] + #[doc = ""] + #[doc = "* `value`: The balance to transfer from the `origin` to the newly created contract."] + #[doc = "* `gas_limit`: The gas limit enforced when executing the constructor."] + #[doc = "* `storage_deposit_limit`: The maximum amount of balance that can be charged/reserved"] + #[doc = " from the caller to pay for the storage consumed."] + #[doc = "* `code`: The contract code to deploy in raw bytes."] + #[doc = "* `data`: The input data to pass to the contract constructor."] + #[doc = "* `salt`: Used for the address derivation. See [`Pallet::contract_address`]."] + #[doc = ""] + #[doc = "Instantiation is executed as follows:"] + #[doc = ""] + #[doc = "- The supplied `code` is instrumented, deployed, and a `code_hash` is created for that"] + #[doc = " code."] + #[doc = "- If the `code_hash` already exists on the chain the underlying `code` will be shared."] + #[doc = "- The destination address is computed based on the sender, code_hash and the salt."] + #[doc = "- The smart-contract account is created at the computed address."] + #[doc = "- The `value` is transferred to the new account."] + #[doc = "- The `deploy` function is executed in the context of the newly-created account."] + pub fn instantiate_with_code( + &self, + value: ::core::primitive::u128, + gas_limit: runtime_types::sp_weights::weight_v2::Weight, + storage_deposit_limit: ::core::option::Option< + ::subxt::ext::codec::Compact<::core::primitive::u128>, + >, + code: ::std::vec::Vec<::core::primitive::u8>, + data: ::std::vec::Vec<::core::primitive::u8>, + salt: ::std::vec::Vec<::core::primitive::u8>, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Contracts", + "instantiate_with_code", + InstantiateWithCode { + value, + gas_limit, + storage_deposit_limit, + code, + data, + salt, + }, + [ + 94u8, 238u8, 175u8, 86u8, 230u8, 186u8, 94u8, 60u8, 201u8, 35u8, 117u8, + 236u8, 221u8, 10u8, 180u8, 191u8, 140u8, 79u8, 203u8, 134u8, 240u8, + 21u8, 31u8, 63u8, 9u8, 17u8, 134u8, 30u8, 244u8, 95u8, 171u8, 164u8, + ], + ) + } + #[doc = "Instantiates a contract from a previously deployed wasm binary."] + #[doc = ""] + #[doc = "This function is identical to [`Self::instantiate_with_code`] but without the"] + #[doc = "code deployment step. Instead, the `code_hash` of an on-chain deployed wasm binary"] + #[doc = "must be supplied."] + pub fn instantiate( + &self, + value: ::core::primitive::u128, + gas_limit: runtime_types::sp_weights::weight_v2::Weight, + storage_deposit_limit: ::core::option::Option< + ::subxt::ext::codec::Compact<::core::primitive::u128>, >, code_hash: ::subxt::ext::sp_core::H256, - ) -> ::subxt::tx::StaticTxPayload { + data: ::std::vec::Vec<::core::primitive::u8>, + salt: ::std::vec::Vec<::core::primitive::u8>, + ) -> ::subxt::tx::StaticTxPayload { ::subxt::tx::StaticTxPayload::new( "Contracts", - "set_code", - SetCode { dest, code_hash }, + "instantiate", + Instantiate { + value, + gas_limit, + storage_deposit_limit, + code_hash, + data, + salt, + }, [ - 106u8, 141u8, 239u8, 113u8, 99u8, 74u8, 14u8, 171u8, 80u8, 115u8, - 214u8, 203u8, 232u8, 142u8, 48u8, 207u8, 214u8, 59u8, 204u8, 157u8, - 101u8, 142u8, 12u8, 69u8, 230u8, 188u8, 60u8, 197u8, 238u8, 146u8, - 17u8, 190u8, + 251u8, 49u8, 158u8, 1u8, 138u8, 29u8, 106u8, 187u8, 68u8, 135u8, 44u8, + 196u8, 230u8, 237u8, 88u8, 244u8, 170u8, 168u8, 11u8, 91u8, 185u8, + 11u8, 45u8, 86u8, 113u8, 79u8, 92u8, 248u8, 113u8, 47u8, 141u8, 10u8, ], ) } @@ -10054,9 +10170,10 @@ pub mod api { "Contracts", "DeletionWeightLimit", [ - 67u8, 70u8, 203u8, 252u8, 102u8, 92u8, 175u8, 48u8, 35u8, 141u8, 85u8, - 109u8, 102u8, 228u8, 244u8, 116u8, 6u8, 210u8, 54u8, 115u8, 86u8, - 234u8, 159u8, 246u8, 251u8, 91u8, 202u8, 141u8, 32u8, 21u8, 97u8, 85u8, + 206u8, 61u8, 253u8, 247u8, 163u8, 40u8, 161u8, 52u8, 134u8, 140u8, + 206u8, 83u8, 44u8, 166u8, 226u8, 115u8, 181u8, 14u8, 227u8, 130u8, + 210u8, 32u8, 85u8, 29u8, 230u8, 97u8, 130u8, 165u8, 147u8, 134u8, + 106u8, 76u8, ], ) } @@ -10080,41 +10197,6 @@ pub mod api { ], ) } - #[doc = " The weight per byte of code that is charged when loading a contract from storage."] - #[doc = ""] - #[doc = " Currently, FRAME only charges fees for computation incurred but not for PoV"] - #[doc = " consumption caused for storage access. This is usually not exploitable because"] - #[doc = " accessing storage carries some substantial weight costs, too. However in case"] - #[doc = " of contract code very much PoV consumption can be caused while consuming very little"] - #[doc = " computation. This could be used to keep the chain busy without paying the"] - #[doc = " proper fee for it. Until this is resolved we charge from the weight meter for"] - #[doc = " contract access."] - #[doc = ""] - #[doc = " For more information check out: "] - #[doc = ""] - #[doc = " [`DefaultContractAccessWeight`] is a safe default to be used for Polkadot or Kusama"] - #[doc = " parachains."] - #[doc = ""] - #[doc = " # Note"] - #[doc = ""] - #[doc = " This is only relevant for parachains. Set to zero in case of a standalone chain."] - pub fn contract_access_weight( - &self, - ) -> ::subxt::constants::StaticConstantAddress< - ::subxt::metadata::DecodeStaticType< - runtime_types::sp_weights::weight_v2::Weight, - >, - > { - ::subxt::constants::StaticConstantAddress::new( - "Contracts", - "ContractAccessWeight", - [ - 67u8, 70u8, 203u8, 252u8, 102u8, 92u8, 175u8, 48u8, 35u8, 141u8, 85u8, - 109u8, 102u8, 228u8, 244u8, 116u8, 6u8, 210u8, 54u8, 115u8, 86u8, - 234u8, 159u8, 246u8, 251u8, 91u8, 202u8, 141u8, 32u8, 21u8, 97u8, 85u8, - ], - ) - } #[doc = " The amount of balance a caller has to pay for each storage item."] #[doc = ""] #[doc = " # Note"] @@ -12997,22 +13079,7 @@ pub mod api { } pub mod traits { use super::runtime_types; - pub mod misc { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - Clone, - Debug, - Eq, - PartialEq, - )] - pub struct WrapperKeepOpaque<_0>( - #[codec(compact)] pub ::core::primitive::u32, - pub _0, - ); - } - pub mod schedule { + pub mod preimages { use super::runtime_types; #[derive( :: subxt :: ext :: codec :: Decode, @@ -13022,25 +13089,23 @@ pub mod api { Eq, PartialEq, )] - pub enum LookupError { - #[codec(index = 0)] - Unknown, - #[codec(index = 1)] - BadFormat, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - Clone, - Debug, - Eq, - PartialEq, - )] - pub enum MaybeHashed<_0, _1> { + pub enum Bounded<_0> { #[codec(index = 0)] - Value(_0), + Legacy { + hash: ::subxt::ext::sp_core::H256, + }, #[codec(index = 1)] - Hash(_1), + Inline( + runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + ), + #[codec(index = 2)] + Lookup { + hash: ::subxt::ext::sp_core::H256, + len: ::core::primitive::u32, + }, + __Ignore(::core::marker::PhantomData<_0>), } } pub mod tokens { @@ -13879,23 +13944,8 @@ pub mod api { #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] pub enum Call { #[codec(index = 0)] - #[doc = "Makes a call to an account, optionally transferring some balance."] - #[doc = ""] - #[doc = "# Parameters"] - #[doc = ""] - #[doc = "* `dest`: Address of the contract to call."] - #[doc = "* `value`: The balance to transfer from the `origin` to `dest`."] - #[doc = "* `gas_limit`: The gas limit enforced when executing the constructor."] - #[doc = "* `storage_deposit_limit`: The maximum amount of balance that can be charged from the"] - #[doc = " caller to pay for the storage consumed."] - #[doc = "* `data`: The input data to pass to the contract."] - #[doc = ""] - #[doc = "* If the account is a smart-contract account, the associated code will be"] - #[doc = "executed and any value will be transferred."] - #[doc = "* If the account is a regular account, any value will be transferred."] - #[doc = "* If no account exists and the call value is not less than `existential_deposit`,"] - #[doc = "a regular account will be created and any value will be transferred."] - call { + #[doc = "Deprecated version if [`Self::call`] for use in an in-storage `Call`."] + call_old_weight { dest: ::subxt::ext::sp_runtime::MultiAddress< ::subxt::ext::sp_core::crypto::AccountId32, (), @@ -13903,44 +13953,19 @@ pub mod api { #[codec(compact)] value: ::core::primitive::u128, #[codec(compact)] - gas_limit: runtime_types::sp_weights::weight_v2::Weight, + gas_limit: runtime_types::sp_weights::OldWeight, storage_deposit_limit: ::core::option::Option< ::subxt::ext::codec::Compact<::core::primitive::u128>, >, data: ::std::vec::Vec<::core::primitive::u8>, }, #[codec(index = 1)] - #[doc = "Instantiates a new contract from the supplied `code` optionally transferring"] - #[doc = "some balance."] - #[doc = ""] - #[doc = "This dispatchable has the same effect as calling [`Self::upload_code`] +"] - #[doc = "[`Self::instantiate`]. Bundling them together provides efficiency gains. Please"] - #[doc = "also check the documentation of [`Self::upload_code`]."] - #[doc = ""] - #[doc = "# Parameters"] - #[doc = ""] - #[doc = "* `value`: The balance to transfer from the `origin` to the newly created contract."] - #[doc = "* `gas_limit`: The gas limit enforced when executing the constructor."] - #[doc = "* `storage_deposit_limit`: The maximum amount of balance that can be charged/reserved"] - #[doc = " from the caller to pay for the storage consumed."] - #[doc = "* `code`: The contract code to deploy in raw bytes."] - #[doc = "* `data`: The input data to pass to the contract constructor."] - #[doc = "* `salt`: Used for the address derivation. See [`Pallet::contract_address`]."] - #[doc = ""] - #[doc = "Instantiation is executed as follows:"] - #[doc = ""] - #[doc = "- The supplied `code` is instrumented, deployed, and a `code_hash` is created for that"] - #[doc = " code."] - #[doc = "- If the `code_hash` already exists on the chain the underlying `code` will be shared."] - #[doc = "- The destination address is computed based on the sender, code_hash and the salt."] - #[doc = "- The smart-contract account is created at the computed address."] - #[doc = "- The `value` is transferred to the new account."] - #[doc = "- The `deploy` function is executed in the context of the newly-created account."] - instantiate_with_code { + #[doc = "Deprecated version if [`Self::instantiate_with_code`] for use in an in-storage `Call`."] + instantiate_with_code_old_weight { #[codec(compact)] value: ::core::primitive::u128, #[codec(compact)] - gas_limit: runtime_types::sp_weights::weight_v2::Weight, + gas_limit: runtime_types::sp_weights::OldWeight, storage_deposit_limit: ::core::option::Option< ::subxt::ext::codec::Compact<::core::primitive::u128>, >, @@ -13949,16 +13974,12 @@ pub mod api { salt: ::std::vec::Vec<::core::primitive::u8>, }, #[codec(index = 2)] - #[doc = "Instantiates a contract from a previously deployed wasm binary."] - #[doc = ""] - #[doc = "This function is identical to [`Self::instantiate_with_code`] but without the"] - #[doc = "code deployment step. Instead, the `code_hash` of an on-chain deployed wasm binary"] - #[doc = "must be supplied."] - instantiate { + #[doc = "Deprecated version if [`Self::instantiate`] for use in an in-storage `Call`."] + instantiate_old_weight { #[codec(compact)] value: ::core::primitive::u128, #[codec(compact)] - gas_limit: runtime_types::sp_weights::weight_v2::Weight, + gas_limit: runtime_types::sp_weights::OldWeight, storage_deposit_limit: ::core::option::Option< ::subxt::ext::codec::Compact<::core::primitive::u128>, >, @@ -14015,6 +14036,91 @@ pub mod api { >, code_hash: ::subxt::ext::sp_core::H256, }, + #[codec(index = 6)] + #[doc = "Makes a call to an account, optionally transferring some balance."] + #[doc = ""] + #[doc = "# Parameters"] + #[doc = ""] + #[doc = "* `dest`: Address of the contract to call."] + #[doc = "* `value`: The balance to transfer from the `origin` to `dest`."] + #[doc = "* `gas_limit`: The gas limit enforced when executing the constructor."] + #[doc = "* `storage_deposit_limit`: The maximum amount of balance that can be charged from the"] + #[doc = " caller to pay for the storage consumed."] + #[doc = "* `data`: The input data to pass to the contract."] + #[doc = ""] + #[doc = "* If the account is a smart-contract account, the associated code will be"] + #[doc = "executed and any value will be transferred."] + #[doc = "* If the account is a regular account, any value will be transferred."] + #[doc = "* If no account exists and the call value is not less than `existential_deposit`,"] + #[doc = "a regular account will be created and any value will be transferred."] + call { + dest: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, + #[codec(compact)] + value: ::core::primitive::u128, + gas_limit: runtime_types::sp_weights::weight_v2::Weight, + storage_deposit_limit: ::core::option::Option< + ::subxt::ext::codec::Compact<::core::primitive::u128>, + >, + data: ::std::vec::Vec<::core::primitive::u8>, + }, + #[codec(index = 7)] + #[doc = "Instantiates a new contract from the supplied `code` optionally transferring"] + #[doc = "some balance."] + #[doc = ""] + #[doc = "This dispatchable has the same effect as calling [`Self::upload_code`] +"] + #[doc = "[`Self::instantiate`]. Bundling them together provides efficiency gains. Please"] + #[doc = "also check the documentation of [`Self::upload_code`]."] + #[doc = ""] + #[doc = "# Parameters"] + #[doc = ""] + #[doc = "* `value`: The balance to transfer from the `origin` to the newly created contract."] + #[doc = "* `gas_limit`: The gas limit enforced when executing the constructor."] + #[doc = "* `storage_deposit_limit`: The maximum amount of balance that can be charged/reserved"] + #[doc = " from the caller to pay for the storage consumed."] + #[doc = "* `code`: The contract code to deploy in raw bytes."] + #[doc = "* `data`: The input data to pass to the contract constructor."] + #[doc = "* `salt`: Used for the address derivation. See [`Pallet::contract_address`]."] + #[doc = ""] + #[doc = "Instantiation is executed as follows:"] + #[doc = ""] + #[doc = "- The supplied `code` is instrumented, deployed, and a `code_hash` is created for that"] + #[doc = " code."] + #[doc = "- If the `code_hash` already exists on the chain the underlying `code` will be shared."] + #[doc = "- The destination address is computed based on the sender, code_hash and the salt."] + #[doc = "- The smart-contract account is created at the computed address."] + #[doc = "- The `value` is transferred to the new account."] + #[doc = "- The `deploy` function is executed in the context of the newly-created account."] + instantiate_with_code { + #[codec(compact)] + value: ::core::primitive::u128, + gas_limit: runtime_types::sp_weights::weight_v2::Weight, + storage_deposit_limit: ::core::option::Option< + ::subxt::ext::codec::Compact<::core::primitive::u128>, + >, + code: ::std::vec::Vec<::core::primitive::u8>, + data: ::std::vec::Vec<::core::primitive::u8>, + salt: ::std::vec::Vec<::core::primitive::u8>, + }, + #[codec(index = 8)] + #[doc = "Instantiates a contract from a previously deployed wasm binary."] + #[doc = ""] + #[doc = "This function is identical to [`Self::instantiate_with_code`] but without the"] + #[doc = "code deployment step. Instead, the `code_hash` of an on-chain deployed wasm binary"] + #[doc = "must be supplied."] + instantiate { + #[codec(compact)] + value: ::core::primitive::u128, + gas_limit: runtime_types::sp_weights::weight_v2::Weight, + storage_deposit_limit: ::core::option::Option< + ::subxt::ext::codec::Compact<::core::primitive::u128>, + >, + code_hash: ::subxt::ext::sp_core::H256, + data: ::std::vec::Vec<::core::primitive::u8>, + salt: ::std::vec::Vec<::core::primitive::u8>, + }, } #[derive( :: subxt :: ext :: codec :: Decode, @@ -15316,8 +15422,8 @@ pub mod api { #[doc = " taken for its lifetime of `DepositBase + threshold * DepositFactor`."] #[doc = "-------------------------------"] #[doc = "- DB Weight:"] - #[doc = " - Reads: Multisig Storage, [Caller Account], Calls (if `store_call`)"] - #[doc = " - Writes: Multisig Storage, [Caller Account], Calls (if `store_call`)"] + #[doc = " - Reads: Multisig Storage, [Caller Account]"] + #[doc = " - Writes: Multisig Storage, [Caller Account]"] #[doc = "- Plus Call Weight"] #[doc = "# "] as_multi { @@ -15327,10 +15433,7 @@ pub mod api { maybe_timepoint: ::core::option::Option< runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>, >, - call: ::subxt::utils::WrapperKeepOpaque< - runtime_types::aleph_runtime::RuntimeCall, - >, - store_call: ::core::primitive::bool, + call: ::std::boxed::Box, max_weight: runtime_types::sp_weights::weight_v2::Weight, }, #[codec(index = 2)] @@ -15403,8 +15506,8 @@ pub mod api { #[doc = "- Storage: removes one item."] #[doc = "----------------------------------"] #[doc = "- DB Weight:"] - #[doc = " - Read: Multisig Storage, [Caller Account], Refund Account, Calls"] - #[doc = " - Write: Multisig Storage, [Caller Account], Refund Account, Calls"] + #[doc = " - Read: Multisig Storage, [Caller Account], Refund Account"] + #[doc = " - Write: Multisig Storage, [Caller Account], Refund Account"] #[doc = "# "] cancel_as_multi { threshold: ::core::primitive::u16, @@ -16163,12 +16266,7 @@ pub mod api { ::core::primitive::u32, )>, priority: ::core::primitive::u8, - call: ::std::boxed::Box< - runtime_types::frame_support::traits::schedule::MaybeHashed< - runtime_types::aleph_runtime::RuntimeCall, - ::subxt::ext::sp_core::H256, - >, - >, + call: ::std::boxed::Box, }, #[codec(index = 1)] #[doc = "Cancel an anonymously scheduled task."] @@ -16179,24 +16277,19 @@ pub mod api { #[codec(index = 2)] #[doc = "Schedule a named task."] schedule_named { - id: ::std::vec::Vec<::core::primitive::u8>, + id: [::core::primitive::u8; 32usize], when: ::core::primitive::u32, maybe_periodic: ::core::option::Option<( ::core::primitive::u32, ::core::primitive::u32, )>, priority: ::core::primitive::u8, - call: ::std::boxed::Box< - runtime_types::frame_support::traits::schedule::MaybeHashed< - runtime_types::aleph_runtime::RuntimeCall, - ::subxt::ext::sp_core::H256, - >, - >, + call: ::std::boxed::Box, }, #[codec(index = 3)] #[doc = "Cancel a named scheduled task."] cancel_named { - id: ::std::vec::Vec<::core::primitive::u8>, + id: [::core::primitive::u8; 32usize], }, #[codec(index = 4)] #[doc = "Anonymously schedule a task after a delay."] @@ -16211,12 +16304,7 @@ pub mod api { ::core::primitive::u32, )>, priority: ::core::primitive::u8, - call: ::std::boxed::Box< - runtime_types::frame_support::traits::schedule::MaybeHashed< - runtime_types::aleph_runtime::RuntimeCall, - ::subxt::ext::sp_core::H256, - >, - >, + call: ::std::boxed::Box, }, #[codec(index = 5)] #[doc = "Schedule a named task after a delay."] @@ -16225,19 +16313,14 @@ pub mod api { #[doc = "Same as [`schedule_named`](Self::schedule_named)."] #[doc = "# "] schedule_named_after { - id: ::std::vec::Vec<::core::primitive::u8>, + id: [::core::primitive::u8; 32usize], after: ::core::primitive::u32, maybe_periodic: ::core::option::Option<( ::core::primitive::u32, ::core::primitive::u32, )>, priority: ::core::primitive::u8, - call: ::std::boxed::Box< - runtime_types::frame_support::traits::schedule::MaybeHashed< - runtime_types::aleph_runtime::RuntimeCall, - ::subxt::ext::sp_core::H256, - >, - >, + call: ::std::boxed::Box, }, } #[derive( @@ -16262,6 +16345,9 @@ pub mod api { #[codec(index = 3)] #[doc = "Reschedule failed because it does not change scheduled time."] RescheduleNoChange, + #[codec(index = 4)] + #[doc = "Attempt to use a non-named function on a named task."] + Named, } #[derive( :: subxt :: ext :: codec :: Decode, @@ -16289,16 +16375,27 @@ pub mod api { #[doc = "Dispatched some task."] Dispatched { task: (::core::primitive::u32, ::core::primitive::u32), - id: ::core::option::Option<::std::vec::Vec<::core::primitive::u8>>, + id: ::core::option::Option<[::core::primitive::u8; 32usize]>, result: ::core::result::Result<(), runtime_types::sp_runtime::DispatchError>, }, #[codec(index = 3)] #[doc = "The call for the provided hash was not found so the task has been aborted."] - CallLookupFailed { + CallUnavailable { + task: (::core::primitive::u32, ::core::primitive::u32), + id: ::core::option::Option<[::core::primitive::u8; 32usize]>, + }, + #[codec(index = 4)] + #[doc = "The given task was unable to be renewed since the agenda is full at that block."] + PeriodicFailed { + task: (::core::primitive::u32, ::core::primitive::u32), + id: ::core::option::Option<[::core::primitive::u8; 32usize]>, + }, + #[codec(index = 5)] + #[doc = "The given task can never be executed since it is overweight."] + PermanentlyOverweight { task: (::core::primitive::u32, ::core::primitive::u32), - id: ::core::option::Option<::std::vec::Vec<::core::primitive::u8>>, - error: runtime_types::frame_support::traits::schedule::LookupError, + id: ::core::option::Option<[::core::primitive::u8; 32usize]>, }, } } @@ -16310,14 +16407,14 @@ pub mod api { Eq, PartialEq, )] - pub struct ScheduledV3<_0, _1, _2, _3> { - pub maybe_id: ::core::option::Option<::std::vec::Vec<::core::primitive::u8>>, + pub struct Scheduled<_0, _1, _2, _3, _4> { + pub maybe_id: ::core::option::Option<_0>, pub priority: ::core::primitive::u8, - pub call: _0, - pub maybe_periodic: ::core::option::Option<(_1, _1)>, - pub origin: _2, + pub call: _1, + pub maybe_periodic: ::core::option::Option<(_2, _2)>, + pub origin: _3, #[codec(skip)] - pub __subxt_unused_type_params: ::core::marker::PhantomData<_3>, + pub __subxt_unused_type_params: ::core::marker::PhantomData<_4>, } } pub mod pallet_session { @@ -19111,6 +19208,12 @@ pub mod api { Arithmetic(runtime_types::sp_runtime::ArithmeticError), #[codec(index = 9)] Transactional(runtime_types::sp_runtime::TransactionalError), + #[codec(index = 10)] + Exhausted, + #[codec(index = 11)] + Corruption, + #[codec(index = 12)] + Unavailable, } #[derive( :: subxt :: ext :: codec :: Decode, @@ -19206,7 +19309,6 @@ pub mod api { pub mod weight_v2 { use super::runtime_types; #[derive( - :: subxt :: ext :: codec :: CompactAs, :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, Clone, @@ -19215,9 +19317,22 @@ pub mod api { PartialEq, )] pub struct Weight { + #[codec(compact)] pub ref_time: ::core::primitive::u64, + #[codec(compact)] + pub proof_size: ::core::primitive::u64, } } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct OldWeight(pub ::core::primitive::u64); #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -19418,9 +19533,9 @@ pub mod api { let runtime_metadata_hash = client.metadata().metadata_hash(&PALLETS); if runtime_metadata_hash != [ - 243u8, 4u8, 194u8, 236u8, 110u8, 103u8, 34u8, 147u8, 254u8, 117u8, 205u8, 237u8, - 68u8, 20u8, 176u8, 209u8, 157u8, 106u8, 80u8, 136u8, 50u8, 186u8, 119u8, 248u8, - 34u8, 65u8, 187u8, 187u8, 110u8, 81u8, 88u8, 22u8, + 155u8, 236u8, 207u8, 138u8, 149u8, 114u8, 96u8, 168u8, 143u8, 247u8, 148u8, 106u8, + 148u8, 203u8, 48u8, 129u8, 14u8, 48u8, 155u8, 234u8, 78u8, 212u8, 73u8, 65u8, + 212u8, 201u8, 174u8, 194u8, 72u8, 70u8, 240u8, 233u8, ] { Err(::subxt::error::MetadataError::IncompatibleMetadata) diff --git a/aleph-client/src/connections.rs b/aleph-client/src/connections.rs index d4ec50e3f0..2d8da43b4b 100644 --- a/aleph-client/src/connections.rs +++ b/aleph-client/src/connections.rs @@ -39,9 +39,13 @@ pub trait SudoCall { impl SudoCall for RootConnection { async fn sudo_unchecked(&self, call: Call, status: TxStatus) -> anyhow::Result { info!(target: "aleph-client", "sending call as sudo_unchecked {:?}", call); - let sudo = api::tx() - .sudo() - .sudo_unchecked_weight(call, Weight { ref_time: 0 }); + let sudo = api::tx().sudo().sudo_unchecked_weight( + call, + Weight { + ref_time: 0, + proof_size: 0, + }, + ); self.as_signed().send_tx(sudo, status).await } diff --git a/aleph-client/src/contract/mod.rs b/aleph-client/src/contract/mod.rs index cd10a548c3..8591e4ee0b 100644 --- a/aleph-client/src/contract/mod.rs +++ b/aleph-client/src/contract/mod.rs @@ -50,11 +50,11 @@ use std::{ fs::File, }; -use anyhow::{anyhow, Context, Result}; +use anyhow::{Context, Result}; use codec::{Compact, Decode}; use contract_metadata::ContractMetadata; use contract_transcode::ContractMessageTranscoder; -use ink_metadata::{InkProject, MetadataVersioned}; +use ink_metadata::InkProject; use serde_json::{from_reader, from_value}; use crate::{ @@ -67,6 +67,7 @@ use crate::{ pub struct ContractInstance { address: AccountId, ink_project: InkProject, + transcoder: ContractMessageTranscoder, } impl ContractInstance { @@ -80,6 +81,7 @@ impl ContractInstance { Ok(Self { address, ink_project: load_metadata(metadata_path)?, + transcoder: ContractMessageTranscoder::new(load_metadata(metadata_path)?), }) } @@ -112,6 +114,7 @@ impl ContractInstance { value: 0, gas_limit: Weight { ref_time: Self::MAX_READ_GAS, + proof_size: u64::MAX, }, input_data: payload, storage_deposit_limit: None, @@ -139,6 +142,7 @@ impl ContractInstance { Self::PAYABLE_VALUE as u128, Weight { ref_time: Self::MAX_GAS, + proof_size: u64::MAX, }, Self::STORAGE_FEE_LIMIT, data, @@ -151,7 +155,7 @@ impl ContractInstance { } fn encode(&self, message: &str, args: &[&str]) -> Result> { - ContractMessageTranscoder::new(&self.ink_project).encode(message, args) + self.transcoder.encode(message, args) } } @@ -174,9 +178,5 @@ fn load_metadata(path: &str) -> Result { let metadata: ContractMetadata = from_reader(file)?; let ink_metadata = from_value(serde_json::Value::Object(metadata.abi))?; - if let MetadataVersioned::V3(ink_project) = ink_metadata { - Ok(ink_project) - } else { - Err(anyhow!("Unsupported ink metadata version. Expected V3")) - } + Ok(ink_metadata) } diff --git a/aleph-client/src/pallets/contract.rs b/aleph-client/src/pallets/contract.rs index 3a370799dd..e1cb81fd47 100644 --- a/aleph-client/src/pallets/contract.rs +++ b/aleph-client/src/pallets/contract.rs @@ -188,7 +188,7 @@ impl ContractRpc for Connection { let res: ContractExecResult = self.rpc_call("state_call".to_string(), params).await?; - let res = T::decode(&mut (res.result.unwrap().data.0.as_slice()))?; + let res = T::decode(&mut (res.result.unwrap().data.as_slice()))?; Ok(res) } diff --git a/aleph-client/src/pallets/staking.rs b/aleph-client/src/pallets/staking.rs index 6790db6b1b..81031abb95 100644 --- a/aleph-client/src/pallets/staking.rs +++ b/aleph-client/src/pallets/staking.rs @@ -303,7 +303,7 @@ impl StakingRawApi for Connection { ) -> Vec { let key_addrs = api::storage().staking().eras_stakers_root(); let mut key = key_addrs.to_root_bytes(); - StorageMapKey::new(&era, StorageHasher::Twox64Concat).to_bytes(&mut key); + StorageMapKey::new(era, StorageHasher::Twox64Concat).to_bytes(&mut key); self.client .storage() .fetch_keys(&key, 10, None, at) @@ -319,7 +319,7 @@ impl StakingRawApi for Connection { ) -> Vec { let key_addrs = api::storage().staking().eras_stakers_root(); let mut key = key_addrs.to_root_bytes(); - StorageMapKey::new(&era, StorageHasher::Twox64Concat).to_bytes(&mut key); + StorageMapKey::new(era, StorageHasher::Twox64Concat).to_bytes(&mut key); accounts .iter() .map(|account| { diff --git a/aleph-client/src/runtime_types.rs b/aleph-client/src/runtime_types.rs index 90381e3af3..866487b5a8 100644 --- a/aleph-client/src/runtime_types.rs +++ b/aleph-client/src/runtime_types.rs @@ -43,7 +43,10 @@ impl TryFrom for SessionKeys { } impl Weight { - pub fn new(ref_time: u64) -> Self { - Self { ref_time } + pub fn new(ref_time: u64, proof_size: u64) -> Self { + Self { + ref_time, + proof_size, + } } } diff --git a/aleph-client/src/waiting.rs b/aleph-client/src/waiting.rs index cb5fe3c92c..dcb8b355ef 100644 --- a/aleph-client/src/waiting.rs +++ b/aleph-client/src/waiting.rs @@ -37,17 +37,12 @@ pub trait WaitingExt { impl AlephWaiting for Connection { async fn wait_for_block bool + Send>(&self, predicate: P, status: BlockStatus) { let mut block_sub = match status { - BlockStatus::Best => self.client.rpc().subscribe_blocks().await.unwrap(), - BlockStatus::Finalized => self - .client - .rpc() - .subscribe_finalized_blocks() - .await - .unwrap(), + BlockStatus::Best => self.client.blocks().subscribe_best().await.unwrap(), + BlockStatus::Finalized => self.client.blocks().subscribe_finalized().await.unwrap(), }; while let Some(Ok(block)) = block_sub.next().await { - if predicate(block.number) { + if predicate(block.number()) { return; } } @@ -58,24 +53,19 @@ impl AlephWaiting for Connection { predicate: P, status: BlockStatus, ) -> T { - let mut event_sub = match status { - BlockStatus::Best => self.client.events().subscribe().await.unwrap().boxed(), - BlockStatus::Finalized => self - .client - .events() - .subscribe_finalized() - .await - .unwrap() - .boxed(), + let mut block_sub = match status { + BlockStatus::Best => self.client.blocks().subscribe_best().await.unwrap(), + BlockStatus::Finalized => self.client.blocks().subscribe_finalized().await.unwrap(), }; info!(target: "aleph-client", "waiting for event {}.{}", T::PALLET, T::EVENT); - loop { - let events = match event_sub.next().await { - Some(Ok(events)) => events, + while let Some(Ok(block)) = block_sub.next().await { + let events = match block.events().await { + Ok(events) => events, _ => continue, }; + for event in events.iter() { let event = event.unwrap(); if let Ok(Some(ev)) = event.as_event::() { @@ -85,6 +75,8 @@ impl AlephWaiting for Connection { } } } + + panic!("No more blocks"); } async fn wait_for_era(&self, era: EraIndex, status: BlockStatus) { diff --git a/benches/payout-stakers/Cargo.lock b/benches/payout-stakers/Cargo.lock index fde50f7c27..c36928e02a 100644 --- a/benches/payout-stakers/Cargo.lock +++ b/benches/payout-stakers/Cargo.lock @@ -49,11 +49,11 @@ dependencies = [ [[package]] name = "aleph_client" -version = "2.2.0" +version = "2.3.0" dependencies = [ "anyhow", "async-trait", - "contract-metadata 1.5.0", + "contract-metadata", "contract-transcode", "frame-support", "futures", @@ -65,8 +65,8 @@ dependencies = [ "primitives", "serde", "serde_json", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-core 6.0.0", + "sp-runtime 6.0.0", "subxt", "thiserror", ] @@ -107,15 +107,6 @@ version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a4c527152e37cf757a3f78aae5a06fbeefdb07ccc535c980a3208ee3060dd544" -[[package]] -name = "arrayvec" -version = "0.4.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd9fd44efafa8690358b7408d253adf110036b88f55672a933f01d616ad9b1b9" -dependencies = [ - "nodrop", -] - [[package]] name = "arrayvec" version = "0.5.2" @@ -140,9 +131,9 @@ dependencies = [ [[package]] name = "async-trait" -version = "0.1.58" +version = "0.1.59" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e805d94e6b5001b651426cf4cd446b1ab5f319d27bab5c644f61de0a804360c" +checksum = "31e6e93155431f3931513b243d371981bb2770112b370c82745a1d19d2f99364" dependencies = [ "proc-macro2", "quote", @@ -241,16 +232,6 @@ dependencies = [ "digest 0.10.6", ] -[[package]] -name = "blake2-rfc" -version = "0.2.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d6d530bdd2d52966a6d03b7a964add7ae1a288d25214066fd4b600f0f796400" -dependencies = [ - "arrayvec 0.4.12", - "constant_time_eq", -] - [[package]] name = "block-buffer" version = "0.7.3" @@ -417,31 +398,13 @@ version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e4c78c047431fee22c1a7bb92e00ad095a02a983affe4d8a72e2a2c62c1b94f3" -[[package]] -name = "constant_time_eq" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc" - -[[package]] -name = "contract-metadata" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36318b44d658ee23a2daf66811822bdf6ac686aa534ea87eb9e16e7430ca6928" -dependencies = [ - "impl-serde", - "semver", - "serde", - "serde_json", - "url", -] - [[package]] name = "contract-metadata" -version = "1.5.0" +version = "2.0.0-beta" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f25bdb57a728064a0e4909dfbb29957ebb06d205307e337d3b5596c7e67dd3a" +checksum = "40248c6a648b3679ea52bb83d8921246d0347644eaf7b0eec4c5601fa8feb651" dependencies = [ + "anyhow", "impl-serde", "semver", "serde", @@ -451,12 +414,12 @@ dependencies = [ [[package]] name = "contract-transcode" -version = "0.1.0" +version = "2.0.0-beta" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfa6db9d18dd5ef92d29c52d30c8503c857d390d9e4043e12466f1490c43c05e" +checksum = "61159f8e266d4892be25f2b1e7ff2c4c6dd4338ca26498d907e5532a52a28e5f" dependencies = [ "anyhow", - "contract-metadata 0.6.0", + "contract-metadata", "env_logger 0.9.3", "escape8259", "hex", @@ -464,15 +427,15 @@ dependencies = [ "ink_env", "ink_metadata", "itertools", - "log", "nom", "nom-supreme", "parity-scale-codec", "scale-info", "serde", "serde_json", - "sp-core 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-runtime 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-core 7.0.0", + "sp-runtime 7.0.0", + "tracing", ] [[package]] @@ -758,29 +721,6 @@ dependencies = [ "signature", ] -[[package]] -name = "ed25519" -version = "1.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e9c280362032ea4203659fc489832d0204ef09f247a0506f170dafcac08c369" -dependencies = [ - "signature", -] - -[[package]] -name = "ed25519-dalek" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c762bae6dcaf24c4c84667b8579785430908723d5c889f469d76a41d59cc7a9d" -dependencies = [ - "curve25519-dalek 3.2.0", - "ed25519", - "rand 0.7.3", - "serde", - "sha2 0.9.9", - "zeroize", -] - [[package]] name = "ed25519-zebra" version = "3.1.0" @@ -893,9 +833,9 @@ dependencies = [ [[package]] name = "fixed-hash" -version = "0.7.0" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfcf0ed7fe52a17a03854ec54a9f76d6d84508d1c0e66bc1793301c73fc8493c" +checksum = "835c052cb0c08c1acf6ffd71c022172e18723949c8282f2b9f27efbc51e64534" dependencies = [ "byteorder", "rand 0.8.5", @@ -933,7 +873,7 @@ dependencies = [ [[package]] name = "frame-support" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "bitflags", "frame-metadata", @@ -948,24 +888,24 @@ dependencies = [ "serde", "smallvec", "sp-api", - "sp-arithmetic 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-arithmetic 5.0.0", + "sp-core 6.0.0", "sp-core-hashing-proc-macro", "sp-inherents", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-io 6.0.0", + "sp-runtime 6.0.0", "sp-staking", - "sp-state-machine 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-tracing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-weights", + "sp-state-machine 0.12.0", + "sp-std 4.0.0", + "sp-tracing 5.0.0", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31)", "tt-call", ] [[package]] name = "frame-support-procedural" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "Inflector", "cfg-expr", @@ -979,7 +919,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate", @@ -991,7 +931,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "proc-macro2", "quote", @@ -1154,8 +1094,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31" dependencies = [ "cfg-if", + "js-sys", "libc", "wasi 0.11.0+wasi-snapshot-preview1", + "wasm-bindgen", ] [[package]] @@ -1175,6 +1117,25 @@ dependencies = [ "subtle", ] +[[package]] +name = "h2" +version = "0.3.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f9f29bc9dda355256b2916cf526ab02ce0aeaaaf2bad60d65ef3f12f11dd0f4" +dependencies = [ + "bytes", + "fnv", + "futures-core", + "futures-sink", + "futures-util", + "http", + "indexmap", + "slab", + "tokio", + "tokio-util", + "tracing", +] + [[package]] name = "hash-db" version = "0.15.2" @@ -1262,18 +1223,75 @@ dependencies = [ "itoa", ] +[[package]] +name = "http-body" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1" +dependencies = [ + "bytes", + "http", + "pin-project-lite", +] + [[package]] name = "httparse" version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" +[[package]] +name = "httpdate" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421" + [[package]] name = "humantime" version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" +[[package]] +name = "hyper" +version = "0.14.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "034711faac9d2166cb1baf1a2fb0b60b1f277f8492fd72176c17f3515e1abd3c" +dependencies = [ + "bytes", + "futures-channel", + "futures-core", + "futures-util", + "h2", + "http", + "http-body", + "httparse", + "httpdate", + "itoa", + "pin-project-lite", + "socket2", + "tokio", + "tower-service", + "tracing", + "want", +] + +[[package]] +name = "hyper-rustls" +version = "0.23.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59df7c4e19c950e6e0e868dcc0a300b09a9b88e9ec55bd879ca819087a77355d" +dependencies = [ + "http", + "hyper", + "log", + "rustls", + "rustls-native-certs", + "tokio", + "tokio-rustls", + "webpki-roots", +] + [[package]] name = "iana-time-zone" version = "0.1.53" @@ -1325,9 +1343,9 @@ dependencies = [ [[package]] name = "impl-serde" -version = "0.3.2" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4551f042f3438e64dbd6226b20527fc84a6e1fe65688b58746a2f53623f25f5c" +checksum = "ebc88fc67028ae3db0c853baa36269d398d5f45b6982f95549ff5def78c935cd" dependencies = [ "serde", ] @@ -1361,33 +1379,33 @@ dependencies = [ [[package]] name = "ink_allocator" -version = "3.4.0" +version = "4.0.0-beta" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c9588a59a0e8997c0b2153cd11b5aaa77c06a0537a6b18f3811d1f1aa098b12" +checksum = "b36dadecdc7e33b0fe1c198b52d474ce73ccd93ffd8acd6ded02458b4a58a2d9" dependencies = [ "cfg-if", ] [[package]] name = "ink_engine" -version = "3.4.0" +version = "4.0.0-beta" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "487c3b390b7feb0620496b0cd38683433c7d7e6946b1caabda51e1f23eb24b30" +checksum = "319a74f3313698ae6d4ae5b43164a1e0efbfd45bd0f7ef689745f98f6e505998" dependencies = [ "blake2", "derive_more", + "ink_primitives", "parity-scale-codec", - "rand 0.8.5", - "secp256k1 0.24.1", + "secp256k1", "sha2 0.10.6", "sha3", ] [[package]] name = "ink_env" -version = "3.4.0" +version = "4.0.0-beta" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a891d34301a3dbb1c7b7424c49ae184282b163491c54f9acd17fcbe14a80447b" +checksum = "4543d0e0e5d1d97ce1ccb225599603ab15fb9d486f692176649b43a1311a8ad7" dependencies = [ "arrayref", "blake2", @@ -1398,13 +1416,13 @@ dependencies = [ "ink_metadata", "ink_prelude", "ink_primitives", + "ink_storage_traits", "num-traits", "parity-scale-codec", "paste", - "rand 0.8.5", "rlibc", "scale-info", - "secp256k1 0.24.1", + "secp256k1", "sha2 0.10.6", "sha3", "static_assertions", @@ -1412,9 +1430,9 @@ dependencies = [ [[package]] name = "ink_metadata" -version = "3.4.0" +version = "4.0.0-beta" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74913aaed5751f5615af4631b7559328b8ed56c9cb821b89e14af0706176e849" +checksum = "caa94adad4fca9e3a79a1c5b0edc1ea2109ef56a955a57df35b2ad32c461ac21" dependencies = [ "derive_more", "impl-serde", @@ -1426,23 +1444,38 @@ dependencies = [ [[package]] name = "ink_prelude" -version = "3.4.0" +version = "4.0.0-beta" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f031e6b8495594a7288b089bf4122e76c26b994959d1b2b693bdfe846b14c0e" +checksum = "5962125f78304bc2b3083391cbd579125c64ce17e61b019034094faf772c915a" dependencies = [ "cfg-if", ] [[package]] name = "ink_primitives" -version = "3.4.0" +version = "4.0.0-beta" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e12cf42dce81d060401c7cec95a392ad6d3c2f18661fa3083f619ce135133c33" +checksum = "90f4f26208fe23e12d436917697b951252519484134a3561fe8b65a5abc97aa9" dependencies = [ - "cfg-if", + "derive_more", "ink_prelude", "parity-scale-codec", "scale-info", + "xxhash-rust", +] + +[[package]] +name = "ink_storage_traits" +version = "4.0.0-beta" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "596247891eb221a0b7debce9f8cf123b9a14f23a4a10664e73ec16d9eb1e92e9" +dependencies = [ + "ink_metadata", + "ink_prelude", + "ink_primitives", + "parity-scale-codec", + "scale-info", + "syn", ] [[package]] @@ -1495,20 +1528,21 @@ dependencies = [ [[package]] name = "jsonrpsee" -version = "0.15.1" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8bd0d559d5e679b1ab2f869b486a11182923863b1b3ee8b421763cdd707b783a" +checksum = "5af9646e616e37c61093ef85e25bd883ae0c22e2fa1e6eedfe590048247116e3" dependencies = [ "jsonrpsee-client-transport", "jsonrpsee-core", + "jsonrpsee-http-client", "jsonrpsee-types", ] [[package]] name = "jsonrpsee-client-transport" -version = "0.15.1" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8752740ecd374bcbf8b69f3e80b0327942df76f793f8d4e60d3355650c31fb74" +checksum = "1e85cfc9c2f17eab237fdfa2efe5c1608fd06a90e1e0d7fd7b10f2d0e153f375" dependencies = [ "futures-util", "http", @@ -1527,9 +1561,9 @@ dependencies = [ [[package]] name = "jsonrpsee-core" -version = "0.15.1" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3dc3e9cf2ba50b7b1d7d76a667619f82846caa39e8e8daa8a4962d74acaddca" +checksum = "673d68136e2f0f67323bab95b3a7177df26ac21ddbf395fc32d60f30fe5a1364" dependencies = [ "anyhow", "async-lock", @@ -1538,6 +1572,26 @@ dependencies = [ "futures-channel", "futures-timer", "futures-util", + "hyper", + "jsonrpsee-types", + "rustc-hash", + "serde", + "serde_json", + "thiserror", + "tokio", + "tracing", +] + +[[package]] +name = "jsonrpsee-http-client" +version = "0.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42007820863ab29f3adeacf43886ef54abaedb35bc33dada25771db4e1f94de4" +dependencies = [ + "async-trait", + "hyper", + "hyper-rustls", + "jsonrpsee-core", "jsonrpsee-types", "rustc-hash", "serde", @@ -1545,14 +1599,13 @@ dependencies = [ "thiserror", "tokio", "tracing", - "tracing-futures", ] [[package]] name = "jsonrpsee-types" -version = "0.15.1" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e290bba767401b646812f608c099b922d8142603c9e73a50fb192d3ac86f4a0d" +checksum = "7985a27ee315c7c8c5c5033ac133e9472aec881edfd947780f5a9970efb7cbbf" dependencies = [ "anyhow", "beef", @@ -1686,6 +1739,15 @@ dependencies = [ "hashbrown", ] +[[package]] +name = "lru" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6e8aaa3f231bb4bd57b84b2d5dc3ae7f350265df8aa96492e0bc394a1571909" +dependencies = [ + "hashbrown", +] + [[package]] name = "matchers" version = "0.0.1" @@ -1703,21 +1765,15 @@ checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" [[package]] name = "memory-db" -version = "0.29.0" +version = "0.30.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6566c70c1016f525ced45d7b7f97730a2bafb037c788211d0c186ef5b2189f0a" +checksum = "34ac11bb793c28fa095b7554466f53b3a60a2cd002afdac01bcf135cbd73a269" dependencies = [ "hash-db", "hashbrown", "parity-util-mem", ] -[[package]] -name = "memory_units" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71d96e3f3c0b6325d8ccd83c33b28acb183edcb6c67938ba104ec546854b0882" - [[package]] name = "memory_units" version = "0.4.0" @@ -1763,12 +1819,6 @@ dependencies = [ "windows-sys 0.42.0", ] -[[package]] -name = "nodrop" -version = "0.1.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb" - [[package]] name = "nohash-hasher" version = "0.2.0" @@ -1798,17 +1848,6 @@ dependencies = [ "nom", ] -[[package]] -name = "num-bigint" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "090c7f9998ee0ff65aa5b723e4009f7b217707f1fb5ea551329cc4d6231fb304" -dependencies = [ - "autocfg", - "num-integer", - "num-traits", -] - [[package]] name = "num-bigint" version = "0.4.3" @@ -1840,18 +1879,6 @@ dependencies = [ "num-traits", ] -[[package]] -name = "num-rational" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c000134b5dbf44adc5cb772486d335293351644b801551abe8f75c84cfa4aef" -dependencies = [ - "autocfg", - "num-bigint 0.2.6", - "num-integer", - "num-traits", -] - [[package]] name = "num-rational" version = "0.4.1" @@ -1859,7 +1886,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0" dependencies = [ "autocfg", - "num-bigint 0.4.3", + "num-bigint", "num-integer", "num-traits", ] @@ -1925,16 +1952,13 @@ checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee" [[package]] name = "pallet-contracts-primitives" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "bitflags", "parity-scale-codec", - "scale-info", - "serde", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-rpc", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-runtime 6.0.0", + "sp-std 4.0.0", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31)", ] [[package]] @@ -1966,9 +1990,9 @@ dependencies = [ [[package]] name = "parity-util-mem" -version = "0.11.0" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c32561d248d352148124f036cac253a644685a21dc9fea383eb4907d7bd35a8f" +checksum = "0d32c34f4f5ca7f9196001c0aba5a1f9a5a12382c8944b8b0f90233282d1e8f8" dependencies = [ "cfg-if", "hashbrown", @@ -1990,12 +2014,6 @@ dependencies = [ "synstructure", ] -[[package]] -name = "parity-wasm" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be5e13c266502aadf83426d87d81a0f5d1ef45b8027f5a471c360abfe4bfae92" - [[package]] name = "parity-wasm" version = "0.45.0" @@ -2020,9 +2038,9 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.4" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4dc9e0dc2adc1c69d09143aff38d3d30c5c3f0df0dad82e6d25547af174ebec0" +checksum = "7ff9f3fef3968a3ec5945535ed654cb38ff72d7495a25619e2247fb15a2ed9ba" dependencies = [ "cfg-if", "libc", @@ -2039,7 +2057,7 @@ checksum = "b1de2e551fb905ac83f73f7aedf2f0cb4a0da7e35efa24a202a936269f1f18e1" [[package]] name = "payout-stakers" -version = "0.3.0" +version = "0.3.1" dependencies = [ "aleph_client", "anyhow", @@ -2051,7 +2069,7 @@ dependencies = [ "parity-scale-codec", "primitives", "rand 0.8.5", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-core 6.0.0", "sp-keyring", "subxt", "tokio", @@ -2132,9 +2150,9 @@ checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" [[package]] name = "primitive-types" -version = "0.11.1" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e28720988bff275df1f51b171e1b2a18c30d194c4d2b61defdacecd625a5d94a" +checksum = "9f3486ccba82358b11a77516035647c34ba167dfa53312630de83b12bd4f3d66" dependencies = [ "fixed-hash", "impl-codec", @@ -2145,17 +2163,17 @@ dependencies = [ [[package]] name = "primitives" -version = "0.5.2" +version = "0.5.3" dependencies = [ "parity-scale-codec", "scale-info", "serde", "sp-api", - "sp-application-crypto 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-application-crypto 6.0.0", + "sp-core 6.0.0", + "sp-runtime 6.0.0", "sp-staking", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0", ] [[package]] @@ -2577,31 +2595,13 @@ dependencies = [ "zeroize", ] -[[package]] -name = "secp256k1" -version = "0.21.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c42e6f1735c5f00f51e43e28d6634141f2bcad10931b2609ddd74a86d751260" -dependencies = [ - "secp256k1-sys 0.4.2", -] - [[package]] name = "secp256k1" version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ff55dc09d460954e9ef2fa8a7ced735a964be9981fd50e870b2b3b0705e14964" dependencies = [ - "secp256k1-sys 0.6.1", -] - -[[package]] -name = "secp256k1-sys" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "957da2573cde917463ece3570eab4a0b3f19de6f1646cde62e6fd3868f566036" -dependencies = [ - "cc", + "secp256k1-sys", ] [[package]] @@ -2656,18 +2656,18 @@ dependencies = [ [[package]] name = "serde" -version = "1.0.147" +version = "1.0.148" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d193d69bae983fc11a79df82342761dfbf28a99fc8d203dca4c3c1b590948965" +checksum = "e53f64bb4ba0191d6d0676e1b141ca55047d83b74f5607e6d8eb88126c52c2dc" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.147" +version = "1.0.148" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f1d362ca8fc9c3e3a7484440752472d68a6caa98f1ab81d99b5dfe517cec852" +checksum = "a55492425aa53521babf6137309e7d34c20bbfbbfcfe2c7f3a047fd1f6b92c0c" dependencies = [ "proc-macro2", "quote", @@ -2815,17 +2815,17 @@ dependencies = [ [[package]] name = "sp-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "hash-db", "log", "parity-scale-codec", "sp-api-proc-macro", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-state-machine 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-trie 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-core 6.0.0", + "sp-runtime 6.0.0", + "sp-state-machine 0.12.0", + "sp-std 4.0.0", + "sp-trie 6.0.0", "sp-version", "thiserror", ] @@ -2833,7 +2833,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "blake2", "proc-macro-crate", @@ -2845,77 +2845,76 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acb4490364cb3b097a6755343e552495b0013778152300714be4647d107e9a2e" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-io 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-core 6.0.0", + "sp-io 6.0.0", + "sp-std 4.0.0", ] [[package]] name = "sp-application-crypto" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30a70f8245ad75c773c43e46d16e81adb62290d37cd07efcde6cef06d93235e5" dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-core 7.0.0", + "sp-io 7.0.0", + "sp-std 5.0.0", ] [[package]] name = "sp-arithmetic" version = "5.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31ef21f82cc10f75ed046b65e2f8048080ee76e59f1b8aed55c7150daebfd35b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "integer-sqrt", "num-traits", "parity-scale-codec", "scale-info", "serde", - "sp-debug-derive 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-debug-derive 4.0.0", + "sp-std 4.0.0", "static_assertions", ] [[package]] name = "sp-arithmetic" -version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3856b3e912f0a7a1332f1642b5fd3c2e76476e894c656538d32c004698690157" dependencies = [ "integer-sqrt", "num-traits", "parity-scale-codec", "scale-info", "serde", - "sp-debug-derive 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-debug-derive 5.0.0", + "sp-std 5.0.0", "static_assertions", ] [[package]] name = "sp-core" version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77963e2aa8fadb589118c3aede2e78b6c4bcf1c01d588fbf33e915b390825fbd" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ + "array-bytes", "base58", "bitflags", - "blake2-rfc", + "blake2", "byteorder", "dyn-clonable", - "ed25519-dalek", + "ed25519-zebra", "futures", "hash-db", "hash256-std-hasher", - "hex", "impl-serde", "lazy_static", "libsecp256k1", @@ -2930,27 +2929,28 @@ dependencies = [ "regex", "scale-info", "schnorrkel", - "secp256k1 0.21.3", + "secp256k1", "secrecy", "serde", - "sp-core-hashing 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-debug-derive 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-externalities 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-runtime-interface 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-storage 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-core-hashing 4.0.0", + "sp-debug-derive 4.0.0", + "sp-externalities 0.12.0", + "sp-runtime-interface 6.0.0", + "sp-std 4.0.0", + "sp-storage 6.0.0", "ss58-registry", "substrate-bip39", "thiserror", "tiny-bip39", - "wasmi 0.9.1", + "wasmi", "zeroize", ] [[package]] name = "sp-core" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88c78530907dbf7949af928d0ce88b485067389201b6d9b468074b1924f209f0" dependencies = [ "array-bytes", "base58", @@ -2969,74 +2969,73 @@ dependencies = [ "merlin", "num-traits", "parity-scale-codec", - "parity-util-mem", "parking_lot", "primitive-types", "rand 0.7.3", "regex", "scale-info", "schnorrkel", - "secp256k1 0.24.1", + "secp256k1", "secrecy", "serde", - "sp-core-hashing 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-debug-derive 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-runtime-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-storage 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-core-hashing 5.0.0", + "sp-debug-derive 5.0.0", + "sp-externalities 0.13.0", + "sp-runtime-interface 7.0.0", + "sp-std 5.0.0", + "sp-storage 7.0.0", "ss58-registry", "substrate-bip39", "thiserror", "tiny-bip39", - "wasmi 0.13.2", + "wasmi", "zeroize", ] [[package]] name = "sp-core-hashing" version = "4.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec864a6a67249f0c8dd3d5acab43623a61677e85ff4f2f9b04b802d2fe780e83" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ - "blake2-rfc", + "blake2", "byteorder", - "sha2 0.9.9", - "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "tiny-keccak", + "digest 0.10.6", + "sha2 0.10.6", + "sha3", + "sp-std 4.0.0", "twox-hash", ] [[package]] name = "sp-core-hashing" -version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +version = "5.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49b9d1daa6aebfc144729b630885e91df92ff00560490ec065a56cb538e8895a" dependencies = [ "blake2", "byteorder", "digest 0.10.6", "sha2 0.10.6", "sha3", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 5.0.0", "twox-hash", ] [[package]] name = "sp-core-hashing-proc-macro" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "proc-macro2", "quote", - "sp-core-hashing 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-core-hashing 4.0.0", "syn", ] [[package]] name = "sp-debug-derive" version = "4.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d676664972e22a0796176e81e7bec41df461d1edf52090955cdab55f2c956ff2" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "proc-macro2", "quote", @@ -3045,8 +3044,9 @@ dependencies = [ [[package]] name = "sp-debug-derive" -version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +version = "5.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9e9ba7352773b96a4aa57e903447f841c6bc26e8c798377db6e7eb332346454" dependencies = [ "proc-macro2", "quote", @@ -3056,70 +3056,71 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fcfd91f92a2a59224230a77c4a5d6f51709620c0aab4e51f108ccece6adc56f" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "environmental", "parity-scale-codec", - "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-storage 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 4.0.0", + "sp-storage 6.0.0", ] [[package]] name = "sp-externalities" -version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef739442230f49d88ece41259e5d886d6b8bc0f4197ef7f1585c39c762ce7ef2" dependencies = [ "environmental", "parity-scale-codec", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-storage 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 5.0.0", + "sp-storage 7.0.0", ] [[package]] name = "sp-inherents" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "async-trait", "impl-trait-for-tuples", "parity-scale-codec", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-core 6.0.0", + "sp-runtime 6.0.0", + "sp-std 4.0.0", "thiserror", ] [[package]] name = "sp-io" version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "935fd3c71bad6811a7984cabb74d323b8ca3107024024c3eabb610e0182ba8d3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ + "bytes", "futures", "hash-db", "libsecp256k1", "log", "parity-scale-codec", "parking_lot", - "secp256k1 0.21.3", - "sp-core 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-externalities 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-keystore 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-runtime-interface 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-state-machine 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-tracing 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-trie 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-wasm-interface 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "secp256k1", + "sp-core 6.0.0", + "sp-externalities 0.12.0", + "sp-keystore 0.12.0", + "sp-runtime-interface 6.0.0", + "sp-state-machine 0.12.0", + "sp-std 4.0.0", + "sp-tracing 5.0.0", + "sp-trie 6.0.0", + "sp-wasm-interface 6.0.0", "tracing", "tracing-core", ] [[package]] name = "sp-io" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6280bd3643354f7ff0b2abd36c687745455779231a7a86d90945608f0d4924c4" dependencies = [ "bytes", "futures", @@ -3128,16 +3129,16 @@ dependencies = [ "log", "parity-scale-codec", "parking_lot", - "secp256k1 0.24.1", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-keystore 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-runtime-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-state-machine 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-tracing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-trie 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-wasm-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "secp256k1", + "sp-core 7.0.0", + "sp-externalities 0.13.0", + "sp-keystore 0.13.0", + "sp-runtime-interface 7.0.0", + "sp-state-machine 0.13.0", + "sp-std 5.0.0", + "sp-tracing 6.0.0", + "sp-trie 7.0.0", + "sp-wasm-interface 7.0.0", "tracing", "tracing-core", ] @@ -3145,19 +3146,18 @@ dependencies = [ [[package]] name = "sp-keyring" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "lazy_static", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-core 6.0.0", + "sp-runtime 6.0.0", "strum", ] [[package]] name = "sp-keystore" version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3261eddca8c8926e3e1de136a7980cb3afc3455247d9d6f3119d9b292f73aaee" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "async-trait", "futures", @@ -3165,15 +3165,16 @@ dependencies = [ "parity-scale-codec", "parking_lot", "schnorrkel", - "sp-core 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-externalities 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-core 6.0.0", + "sp-externalities 0.12.0", "thiserror", ] [[package]] name = "sp-keystore" -version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a44bec4f0d036b6993c14bbee4216781f21275e5c201e43e45fed4a434bf0e5a" dependencies = [ "async-trait", "futures", @@ -3181,16 +3182,15 @@ dependencies = [ "parity-scale-codec", "parking_lot", "schnorrkel", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-core 7.0.0", + "sp-externalities 0.13.0", "thiserror", ] [[package]] name = "sp-panic-handler" version = "4.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2101f3c555fceafcfcfb0e61c55ea9ed80dc60bd77d54d9f25b369edb029e9a4" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "backtrace", "lazy_static", @@ -3199,29 +3199,19 @@ dependencies = [ [[package]] name = "sp-panic-handler" -version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +version = "5.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97549ec99cb289db2a9f5c656b6880f7c90097135e1ca6c6ae4fe5694232e526" dependencies = [ "backtrace", "lazy_static", "regex", ] -[[package]] -name = "sp-rpc" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" -dependencies = [ - "rustc-hash", - "serde", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", -] - [[package]] name = "sp-runtime" version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb7d8a8d5ab5d349c6cf9300af1721b7b6446ba63401dbb11c10a1d65197aa5f" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "either", "hash256-std-hasher", @@ -3233,17 +3223,19 @@ dependencies = [ "rand 0.7.3", "scale-info", "serde", - "sp-application-crypto 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-arithmetic 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-core 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-io 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-application-crypto 6.0.0", + "sp-arithmetic 5.0.0", + "sp-core 6.0.0", + "sp-io 6.0.0", + "sp-std 4.0.0", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31)", ] [[package]] name = "sp-runtime" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0edfc5c54c2b31d2f0cf904d472a0bff7125c0c2a2e2330507842e56f9a27444" dependencies = [ "either", "hash256-std-hasher", @@ -3255,55 +3247,55 @@ dependencies = [ "rand 0.7.3", "scale-info", "serde", - "sp-application-crypto 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-arithmetic 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-weights", + "sp-application-crypto 7.0.0", + "sp-arithmetic 6.0.0", + "sp-core 7.0.0", + "sp-io 7.0.0", + "sp-std 5.0.0", + "sp-weights 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "sp-runtime-interface" version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "158bf0305c75a50fc0e334b889568f519a126e32b87900c3f4251202dece7b4b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ + "bytes", "impl-trait-for-tuples", "parity-scale-codec", "primitive-types", - "sp-externalities 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-runtime-interface-proc-macro 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-storage 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-tracing 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-wasm-interface 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-externalities 0.12.0", + "sp-runtime-interface-proc-macro 5.0.0", + "sp-std 4.0.0", + "sp-storage 6.0.0", + "sp-tracing 5.0.0", + "sp-wasm-interface 6.0.0", "static_assertions", ] [[package]] name = "sp-runtime-interface" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b886a5d34400b0e0c12d389e3bb48b7a93d651cddf7e248124b81fe64c339251" dependencies = [ "bytes", "impl-trait-for-tuples", "parity-scale-codec", "primitive-types", - "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-runtime-interface-proc-macro 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-storage 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-tracing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-wasm-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-externalities 0.13.0", + "sp-runtime-interface-proc-macro 6.0.0", + "sp-std 5.0.0", + "sp-storage 7.0.0", + "sp-tracing 6.0.0", + "sp-wasm-interface 7.0.0", "static_assertions", ] [[package]] name = "sp-runtime-interface-proc-macro" version = "5.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22ecb916b9664ed9f90abef0ff5a3e61454c1efea5861b2997e03f39b59b955f" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "Inflector", "proc-macro-crate", @@ -3314,8 +3306,9 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" -version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a157f1ce0108b9b87f87e826726049d9b6253318b74410c814be7fc2af416b51" dependencies = [ "Inflector", "proc-macro-crate", @@ -3327,19 +3320,18 @@ dependencies = [ [[package]] name = "sp-staking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "parity-scale-codec", "scale-info", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-runtime 6.0.0", + "sp-std 4.0.0", ] [[package]] name = "sp-state-machine" version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecee3b33eb78c99997676a571656bcc35db6886abecfddd13e76a73b5871c6c1" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "hash-db", "log", @@ -3348,21 +3340,21 @@ dependencies = [ "parking_lot", "rand 0.7.3", "smallvec", - "sp-core 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-externalities 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-panic-handler 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-trie 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-core 6.0.0", + "sp-externalities 0.12.0", + "sp-panic-handler 4.0.0", + "sp-std 4.0.0", + "sp-trie 6.0.0", "thiserror", "tracing", - "trie-db 0.23.1", "trie-root", ] [[package]] name = "sp-state-machine" -version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5c2d97ad69011d34ca257f0383532b80096d53f889f5894ae2b24a211bec66f" dependencies = [ "hash-db", "log", @@ -3371,11 +3363,11 @@ dependencies = [ "parking_lot", "rand 0.7.3", "smallvec", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-panic-handler 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-trie 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-core 7.0.0", + "sp-externalities 0.13.0", + "sp-panic-handler 5.0.0", + "sp-std 5.0.0", + "sp-trie 7.0.0", "thiserror", "tracing", "trie-root", @@ -3384,49 +3376,48 @@ dependencies = [ [[package]] name = "sp-std" version = "4.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14804d6069ee7a388240b665f17908d98386ffb0b5d39f89a4099fc7a2a4c03f" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" [[package]] name = "sp-std" -version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +version = "5.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf3fd4c1d304be101e6ebbafd3d4be9a37b320c970ef4e8df188b16873981c93" [[package]] name = "sp-storage" version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5dab53af846068e3e0716d3ccc70ea0db44035c79b2ed5821aaa6635039efa37" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "impl-serde", "parity-scale-codec", "ref-cast", "serde", - "sp-debug-derive 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-debug-derive 4.0.0", + "sp-std 4.0.0", ] [[package]] name = "sp-storage" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eb987ed2e4d7d870170a225083ea962f2a359d75cdf76935d5ed8d91bee912d9" dependencies = [ "impl-serde", "parity-scale-codec", "ref-cast", "serde", - "sp-debug-derive 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-debug-derive 5.0.0", + "sp-std 5.0.0", ] [[package]] name = "sp-tracing" version = "5.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69a67e555d171c4238bd223393cda747dd20ec7d4f5fe5c042c056cb7fde9eda" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "parity-scale-codec", - "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 4.0.0", "tracing", "tracing-core", "tracing-subscriber", @@ -3434,11 +3425,12 @@ dependencies = [ [[package]] name = "sp-tracing" -version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e761df87dc940d87720939de8f976d1fc0657e523886ae0d7bf3f7e2e2f0abb6" dependencies = [ "parity-scale-codec", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 5.0.0", "tracing", "tracing-core", "tracing-subscriber", @@ -3447,55 +3439,63 @@ dependencies = [ [[package]] name = "sp-trie" version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6fc34f4f291886914733e083b62708d829f3e6b8d7a7ca7fa8a55a3d7640b0b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ + "ahash", "hash-db", + "hashbrown", + "lazy_static", + "lru 0.7.8", "memory-db", + "nohash-hasher", "parity-scale-codec", + "parking_lot", "scale-info", - "sp-core 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "trie-db 0.23.1", + "sp-core 6.0.0", + "sp-std 4.0.0", + "thiserror", + "tracing", + "trie-db", "trie-root", ] [[package]] name = "sp-trie" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f4f48c887e90050537e399d2d8b6ee82787ebec0fe46e4880b42cab0c2d5ba6" dependencies = [ "ahash", "hash-db", "hashbrown", "lazy_static", - "lru", + "lru 0.8.1", "memory-db", "nohash-hasher", "parity-scale-codec", "parking_lot", "scale-info", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-core 7.0.0", + "sp-std 5.0.0", "thiserror", "tracing", - "trie-db 0.24.0", + "trie-db", "trie-root", ] [[package]] name = "sp-version" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "impl-serde", "parity-scale-codec", - "parity-wasm 0.45.0", + "parity-wasm", "scale-info", "serde", "sp-core-hashing-proc-macro", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-runtime 6.0.0", + "sp-std 4.0.0", "sp-version-proc-macro", "thiserror", ] @@ -3503,7 +3503,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "parity-scale-codec", "proc-macro2", @@ -3514,42 +3514,59 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10d88debe690c2b24eaa9536a150334fcef2ae184c21a0e5b3e80135407a7d52" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "impl-trait-for-tuples", "log", "parity-scale-codec", - "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "wasmi 0.9.1", + "sp-std 4.0.0", + "wasmi", ] [[package]] name = "sp-wasm-interface" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4f43c40afab6ecac20505907631c929957ed636b7af8795984649bbaa6ff38c3" dependencies = [ "impl-trait-for-tuples", "log", "parity-scale-codec", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "wasmi 0.13.2", + "sp-std 5.0.0", + "wasmi", +] + +[[package]] +name = "sp-weights" +version = "4.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c671673133b30e6ab6d88139b06adcdaec5aa06548abe0e155a0c830b592793b" +dependencies = [ + "impl-trait-for-tuples", + "parity-scale-codec", + "scale-info", + "serde", + "smallvec", + "sp-arithmetic 6.0.0", + "sp-core 7.0.0", + "sp-debug-derive 5.0.0", + "sp-std 5.0.0", ] [[package]] name = "sp-weights" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", "scale-info", "serde", "smallvec", - "sp-arithmetic 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-debug-derive 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-arithmetic 5.0.0", + "sp-core 6.0.0", + "sp-debug-derive 4.0.0", + "sp-std 4.0.0", ] [[package]] @@ -3638,14 +3655,15 @@ checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" [[package]] name = "subxt" -version = "0.24.0" +version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a8757ee0e19f87e722577282ab1386c86592a4b13ff963b9c6ec4176348104c" +checksum = "e3cbc78fd36035a24883eada29e0205b9b1416172530a7d00a60c07d0337db0c" dependencies = [ "bitvec", "derivative", "frame-metadata", "futures", + "getrandom 0.2.8", "hex", "jsonrpsee", "parity-scale-codec", @@ -3655,8 +3673,8 @@ dependencies = [ "scale-value", "serde", "serde_json", - "sp-core 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-runtime 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-core 7.0.0", + "sp-runtime 7.0.0", "subxt-macro", "subxt-metadata", "thiserror", @@ -3665,13 +3683,15 @@ dependencies = [ [[package]] name = "subxt-codegen" -version = "0.24.0" +version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb77f93e11e6ff3ff95fe33e3d24c27c342e16feca8ef47759993614ebe90d2c" +checksum = "7722c31febf55eb300c73d977da5d65cfd6fb443419b1185b9abcdd9925fd7be" dependencies = [ "darling", "frame-metadata", "heck", + "hex", + "jsonrpsee", "parity-scale-codec", "proc-macro-error", "proc-macro2", @@ -3679,13 +3699,14 @@ dependencies = [ "scale-info", "subxt-metadata", "syn", + "tokio", ] [[package]] name = "subxt-macro" -version = "0.24.0" +version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "051cc21d77a54ae944b872eafdf9edfe1d9134fdfcfc3477dc10f763c76564a9" +checksum = "6f64826f2c4ba20e3b2a86ec81a6ae8655ca6b6a4c2a6ccc888b6615efc2df14" dependencies = [ "darling", "proc-macro-error", @@ -3695,21 +3716,21 @@ dependencies = [ [[package]] name = "subxt-metadata" -version = "0.24.0" +version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ed78d80db3a97d55e8b1cfecc1f6f9e21793a589d4e2e5f4fe2d6d5850c2e54" +checksum = "869af75e23513538ad0af046af4a97b8d684e8d202e35ff4127ee061c1110813" dependencies = [ "frame-metadata", "parity-scale-codec", "scale-info", - "sp-core 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-core 7.0.0", ] [[package]] name = "syn" -version = "1.0.103" +version = "1.0.104" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a864042229133ada95abf3b54fdc62ef5ccabe9515b64717bcb9a1919e59445d" +checksum = "4ae548ec36cf198c0ef7710d3c230987c2d6d7bd98ad6edc0274462724c585ce" dependencies = [ "proc-macro2", "quote", @@ -3797,15 +3818,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "tiny-keccak" -version = "2.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237" -dependencies = [ - "crunchy", -] - [[package]] name = "tinyvec" version = "1.6.0" @@ -3875,6 +3887,7 @@ dependencies = [ "futures-sink", "pin-project-lite", "tokio", + "tracing", ] [[package]] @@ -3886,6 +3899,12 @@ dependencies = [ "serde", ] +[[package]] +name = "tower-service" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" + [[package]] name = "tracing" version = "0.1.37" @@ -3919,16 +3938,6 @@ dependencies = [ "valuable", ] -[[package]] -name = "tracing-futures" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2" -dependencies = [ - "pin-project", - "tracing", -] - [[package]] name = "tracing-log" version = "0.1.3" @@ -3972,19 +3981,6 @@ dependencies = [ "tracing-serde", ] -[[package]] -name = "trie-db" -version = "0.23.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d32d034c0d3db64b43c31de38e945f15b40cd4ca6d2dcfc26d4798ce8de4ab83" -dependencies = [ - "hash-db", - "hashbrown", - "log", - "rustc-hex", - "smallvec", -] - [[package]] name = "trie-db" version = "0.24.0" @@ -4007,6 +4003,12 @@ dependencies = [ "hash-db", ] +[[package]] +name = "try-lock" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642" + [[package]] name = "tt-call" version = "1.0.8" @@ -4033,9 +4035,9 @@ checksum = "dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987" [[package]] name = "uint" -version = "0.9.4" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a45526d29728d135c2900b0d30573fe3ee79fceb12ef534c7bb30e810a91b601" +checksum = "76f64bba2c53b04fcab63c01a7d7427eadc821e3bc48c34dc9ba29c501164b52" dependencies = [ "byteorder", "crunchy", @@ -4112,6 +4114,16 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9d5b2c62b4012a3e1eca5a7e077d13b3bf498c4073e33ccd58626607748ceeca" +[[package]] +name = "want" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0" +dependencies = [ + "log", + "try-lock", +] + [[package]] name = "wasi" version = "0.9.0+wasi-snapshot-preview1" @@ -4178,48 +4190,24 @@ version = "0.2.83" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1c38c045535d93ec4f0b4defec448e4291638ee608530863b1e2ba115d4fff7f" -[[package]] -name = "wasmi" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca00c5147c319a8ec91ec1a0edbec31e566ce2c9cc93b3f9bb86a9efd0eb795d" -dependencies = [ - "downcast-rs", - "libc", - "memory_units 0.3.0", - "num-rational 0.2.4", - "num-traits", - "parity-wasm 0.42.2", - "wasmi-validation 0.4.1", -] - [[package]] name = "wasmi" version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "06c326c93fbf86419608361a2c925a31754cf109da1b8b55737070b4d6669422" dependencies = [ - "parity-wasm 0.45.0", - "wasmi-validation 0.5.0", + "parity-wasm", + "wasmi-validation", "wasmi_core", ] -[[package]] -name = "wasmi-validation" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "165343ecd6c018fc09ebcae280752702c9a2ef3e6f8d02f1cfcbdb53ef6d7937" -dependencies = [ - "parity-wasm 0.42.2", -] - [[package]] name = "wasmi-validation" version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "91ff416ad1ff0c42e5a926ed5d5fab74c0f098749aa0ad8b2a34b982ce0e867b" dependencies = [ - "parity-wasm 0.45.0", + "parity-wasm", ] [[package]] @@ -4230,8 +4218,8 @@ checksum = "57d20cb3c59b788653d99541c646c561c9dd26506f25c0cebfe810659c54c6d7" dependencies = [ "downcast-rs", "libm", - "memory_units 0.4.0", - "num-rational 0.4.1", + "memory_units", + "num-rational", "num-traits", ] @@ -4404,6 +4392,12 @@ dependencies = [ "tap", ] +[[package]] +name = "xxhash-rust" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "735a71d46c4d68d71d4b24d03fdc2b98e38cea81730595801db779c04fe80d70" + [[package]] name = "yap" version = "0.7.2" diff --git a/benches/payout-stakers/Cargo.toml b/benches/payout-stakers/Cargo.toml index f59bfb9617..7283d6d773 100644 --- a/benches/payout-stakers/Cargo.toml +++ b/benches/payout-stakers/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "payout-stakers" -version = "0.3.0" +version = "0.3.1" authors = ["Cardinal Cryptography"] edition = "2021" @@ -14,10 +14,10 @@ log = "0.4" futures = "0.3.25" rand = "0.8.5" -sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30", features = ["full_crypto"] } -sp-keyring = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31", features = ["full_crypto"] } +sp-keyring = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -subxt = "0.24.0" +subxt = "0.25.0" tokio = { version = "1.21.2", features = ["full"] } aleph_client = { path = "../../aleph-client" } diff --git a/bin/cliain/Cargo.lock b/bin/cliain/Cargo.lock index 4b42a5fd8e..e9b24b28d3 100644 --- a/bin/cliain/Cargo.lock +++ b/bin/cliain/Cargo.lock @@ -49,11 +49,11 @@ dependencies = [ [[package]] name = "aleph_client" -version = "2.2.0" +version = "2.3.0" dependencies = [ "anyhow", "async-trait", - "contract-metadata 1.5.0", + "contract-metadata 2.0.0-beta", "contract-transcode", "frame-support", "futures", @@ -65,8 +65,8 @@ dependencies = [ "primitives", "serde", "serde_json", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-core 6.0.0", + "sp-runtime 6.0.0", "subxt", "thiserror", ] @@ -116,15 +116,6 @@ version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a4c527152e37cf757a3f78aae5a06fbeefdb07ccc535c980a3208ee3060dd544" -[[package]] -name = "arrayvec" -version = "0.4.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd9fd44efafa8690358b7408d253adf110036b88f55672a933f01d616ad9b1b9" -dependencies = [ - "nodrop", -] - [[package]] name = "arrayvec" version = "0.5.2" @@ -149,9 +140,9 @@ dependencies = [ [[package]] name = "async-trait" -version = "0.1.58" +version = "0.1.59" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e805d94e6b5001b651426cf4cd446b1ab5f319d27bab5c644f61de0a804360c" +checksum = "31e6e93155431f3931513b243d371981bb2770112b370c82745a1d19d2f99364" dependencies = [ "proc-macro2", "quote", @@ -250,16 +241,6 @@ dependencies = [ "digest 0.10.6", ] -[[package]] -name = "blake2-rfc" -version = "0.2.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d6d530bdd2d52966a6d03b7a964add7ae1a288d25214066fd4b600f0f796400" -dependencies = [ - "arrayvec 0.4.12", - "constant_time_eq", -] - [[package]] name = "block-buffer" version = "0.7.3" @@ -412,12 +393,12 @@ dependencies = [ [[package]] name = "cliain" -version = "0.8.0" +version = "0.9.0" dependencies = [ "aleph_client", "anyhow", "clap", - "contract-metadata 0.6.0 (git+https://github.com/paritytech/cargo-contract.git?tag=v1.4.0)", + "contract-metadata 0.6.0", "contract-transcode", "dialoguer", "env_logger 0.8.4", @@ -429,7 +410,7 @@ dependencies = [ "primitives", "serde", "serde_json", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-core 6.0.0", "subxt", "tokio", ] @@ -464,31 +445,12 @@ version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e4c78c047431fee22c1a7bb92e00ad095a02a983affe4d8a72e2a2c62c1b94f3" -[[package]] -name = "constant_time_eq" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc" - -[[package]] -name = "contract-metadata" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36318b44d658ee23a2daf66811822bdf6ac686aa534ea87eb9e16e7430ca6928" -dependencies = [ - "impl-serde", - "semver", - "serde", - "serde_json", - "url", -] - [[package]] name = "contract-metadata" version = "0.6.0" source = "git+https://github.com/paritytech/cargo-contract.git?tag=v1.4.0#4e3a1981012999d310bd6e171aba4c5ffc7beaca" dependencies = [ - "impl-serde", + "impl-serde 0.3.2", "semver", "serde", "serde_json", @@ -497,11 +459,12 @@ dependencies = [ [[package]] name = "contract-metadata" -version = "1.5.0" +version = "2.0.0-beta" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f25bdb57a728064a0e4909dfbb29957ebb06d205307e337d3b5596c7e67dd3a" +checksum = "40248c6a648b3679ea52bb83d8921246d0347644eaf7b0eec4c5601fa8feb651" dependencies = [ - "impl-serde", + "anyhow", + "impl-serde 0.4.0", "semver", "serde", "serde_json", @@ -510,12 +473,12 @@ dependencies = [ [[package]] name = "contract-transcode" -version = "0.1.0" +version = "2.0.0-beta" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfa6db9d18dd5ef92d29c52d30c8503c857d390d9e4043e12466f1490c43c05e" +checksum = "61159f8e266d4892be25f2b1e7ff2c4c6dd4338ca26498d907e5532a52a28e5f" dependencies = [ "anyhow", - "contract-metadata 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", + "contract-metadata 2.0.0-beta", "env_logger 0.9.3", "escape8259", "hex", @@ -523,15 +486,15 @@ dependencies = [ "ink_env", "ink_metadata", "itertools", - "log", "nom", "nom-supreme", "parity-scale-codec", "scale-info", "serde", "serde_json", - "sp-core 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-runtime 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-core 7.0.0", + "sp-runtime 7.0.0", + "tracing", ] [[package]] @@ -828,29 +791,6 @@ dependencies = [ "signature", ] -[[package]] -name = "ed25519" -version = "1.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e9c280362032ea4203659fc489832d0204ef09f247a0506f170dafcac08c369" -dependencies = [ - "signature", -] - -[[package]] -name = "ed25519-dalek" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c762bae6dcaf24c4c84667b8579785430908723d5c889f469d76a41d59cc7a9d" -dependencies = [ - "curve25519-dalek 3.2.0", - "ed25519", - "rand 0.7.3", - "serde", - "sha2 0.9.9", - "zeroize", -] - [[package]] name = "ed25519-zebra" version = "3.1.0" @@ -969,9 +909,9 @@ dependencies = [ [[package]] name = "fixed-hash" -version = "0.7.0" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfcf0ed7fe52a17a03854ec54a9f76d6d84508d1c0e66bc1793301c73fc8493c" +checksum = "835c052cb0c08c1acf6ffd71c022172e18723949c8282f2b9f27efbc51e64534" dependencies = [ "byteorder", "rand 0.8.5", @@ -997,7 +937,7 @@ dependencies = [ [[package]] name = "frame-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "frame-support", "frame-system", @@ -1008,19 +948,19 @@ dependencies = [ "scale-info", "serde", "sp-api", - "sp-application-crypto 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-runtime-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-storage 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-application-crypto 6.0.0", + "sp-core 6.0.0", + "sp-io 6.0.0", + "sp-runtime 6.0.0", + "sp-runtime-interface 6.0.0", + "sp-std 4.0.0", + "sp-storage 6.0.0", ] [[package]] name = "frame-election-provider-solution-type" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -1031,17 +971,17 @@ dependencies = [ [[package]] name = "frame-election-provider-support" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "frame-election-provider-solution-type", "frame-support", "frame-system", "parity-scale-codec", "scale-info", - "sp-arithmetic 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-arithmetic 5.0.0", "sp-npos-elections", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-runtime 6.0.0", + "sp-std 4.0.0", ] [[package]] @@ -1059,7 +999,7 @@ dependencies = [ [[package]] name = "frame-support" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "bitflags", "frame-metadata", @@ -1074,24 +1014,24 @@ dependencies = [ "serde", "smallvec", "sp-api", - "sp-arithmetic 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-arithmetic 5.0.0", + "sp-core 6.0.0", "sp-core-hashing-proc-macro", "sp-inherents", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-io 6.0.0", + "sp-runtime 6.0.0", "sp-staking", - "sp-state-machine 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-tracing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-weights", + "sp-state-machine 0.12.0", + "sp-std 4.0.0", + "sp-tracing 5.0.0", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31)", "tt-call", ] [[package]] name = "frame-support-procedural" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "Inflector", "cfg-expr", @@ -1105,7 +1045,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate", @@ -1117,7 +1057,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "proc-macro2", "quote", @@ -1127,19 +1067,19 @@ dependencies = [ [[package]] name = "frame-system" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "frame-support", "log", "parity-scale-codec", "scale-info", "serde", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-core 6.0.0", + "sp-io 6.0.0", + "sp-runtime 6.0.0", + "sp-std 4.0.0", "sp-version", - "sp-weights", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31)", ] [[package]] @@ -1298,8 +1238,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31" dependencies = [ "cfg-if", + "js-sys", "libc", "wasi 0.11.0+wasi-snapshot-preview1", + "wasm-bindgen", ] [[package]] @@ -1319,6 +1261,25 @@ dependencies = [ "subtle", ] +[[package]] +name = "h2" +version = "0.3.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f9f29bc9dda355256b2916cf526ab02ce0aeaaaf2bad60d65ef3f12f11dd0f4" +dependencies = [ + "bytes", + "fnv", + "futures-core", + "futures-sink", + "futures-util", + "http", + "indexmap", + "slab", + "tokio", + "tokio-util", + "tracing", +] + [[package]] name = "hash-db" version = "0.15.2" @@ -1406,18 +1367,75 @@ dependencies = [ "itoa", ] +[[package]] +name = "http-body" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1" +dependencies = [ + "bytes", + "http", + "pin-project-lite", +] + [[package]] name = "httparse" version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" +[[package]] +name = "httpdate" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421" + [[package]] name = "humantime" version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" +[[package]] +name = "hyper" +version = "0.14.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "034711faac9d2166cb1baf1a2fb0b60b1f277f8492fd72176c17f3515e1abd3c" +dependencies = [ + "bytes", + "futures-channel", + "futures-core", + "futures-util", + "h2", + "http", + "http-body", + "httparse", + "httpdate", + "itoa", + "pin-project-lite", + "socket2", + "tokio", + "tower-service", + "tracing", + "want", +] + +[[package]] +name = "hyper-rustls" +version = "0.23.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59df7c4e19c950e6e0e868dcc0a300b09a9b88e9ec55bd879ca819087a77355d" +dependencies = [ + "http", + "hyper", + "log", + "rustls", + "rustls-native-certs", + "tokio", + "tokio-rustls", + "webpki-roots", +] + [[package]] name = "iana-time-zone" version = "0.1.53" @@ -1476,6 +1494,15 @@ dependencies = [ "serde", ] +[[package]] +name = "impl-serde" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebc88fc67028ae3db0c853baa36269d398d5f45b6982f95549ff5def78c935cd" +dependencies = [ + "serde", +] + [[package]] name = "impl-trait-for-tuples" version = "0.2.2" @@ -1505,33 +1532,33 @@ dependencies = [ [[package]] name = "ink_allocator" -version = "3.4.0" +version = "4.0.0-beta" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c9588a59a0e8997c0b2153cd11b5aaa77c06a0537a6b18f3811d1f1aa098b12" +checksum = "b36dadecdc7e33b0fe1c198b52d474ce73ccd93ffd8acd6ded02458b4a58a2d9" dependencies = [ "cfg-if", ] [[package]] name = "ink_engine" -version = "3.4.0" +version = "4.0.0-beta" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "487c3b390b7feb0620496b0cd38683433c7d7e6946b1caabda51e1f23eb24b30" +checksum = "319a74f3313698ae6d4ae5b43164a1e0efbfd45bd0f7ef689745f98f6e505998" dependencies = [ "blake2", "derive_more", + "ink_primitives", "parity-scale-codec", - "rand 0.8.5", - "secp256k1 0.24.1", + "secp256k1", "sha2 0.10.6", "sha3", ] [[package]] name = "ink_env" -version = "3.4.0" +version = "4.0.0-beta" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a891d34301a3dbb1c7b7424c49ae184282b163491c54f9acd17fcbe14a80447b" +checksum = "4543d0e0e5d1d97ce1ccb225599603ab15fb9d486f692176649b43a1311a8ad7" dependencies = [ "arrayref", "blake2", @@ -1542,13 +1569,13 @@ dependencies = [ "ink_metadata", "ink_prelude", "ink_primitives", + "ink_storage_traits", "num-traits", "parity-scale-codec", "paste", - "rand 0.8.5", "rlibc", "scale-info", - "secp256k1 0.24.1", + "secp256k1", "sha2 0.10.6", "sha3", "static_assertions", @@ -1556,12 +1583,12 @@ dependencies = [ [[package]] name = "ink_metadata" -version = "3.4.0" +version = "4.0.0-beta" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74913aaed5751f5615af4631b7559328b8ed56c9cb821b89e14af0706176e849" +checksum = "caa94adad4fca9e3a79a1c5b0edc1ea2109ef56a955a57df35b2ad32c461ac21" dependencies = [ "derive_more", - "impl-serde", + "impl-serde 0.4.0", "ink_prelude", "ink_primitives", "scale-info", @@ -1570,23 +1597,38 @@ dependencies = [ [[package]] name = "ink_prelude" -version = "3.4.0" +version = "4.0.0-beta" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f031e6b8495594a7288b089bf4122e76c26b994959d1b2b693bdfe846b14c0e" +checksum = "5962125f78304bc2b3083391cbd579125c64ce17e61b019034094faf772c915a" dependencies = [ "cfg-if", ] [[package]] name = "ink_primitives" -version = "3.4.0" +version = "4.0.0-beta" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e12cf42dce81d060401c7cec95a392ad6d3c2f18661fa3083f619ce135133c33" +checksum = "90f4f26208fe23e12d436917697b951252519484134a3561fe8b65a5abc97aa9" dependencies = [ - "cfg-if", + "derive_more", + "ink_prelude", + "parity-scale-codec", + "scale-info", + "xxhash-rust", +] + +[[package]] +name = "ink_storage_traits" +version = "4.0.0-beta" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "596247891eb221a0b7debce9f8cf123b9a14f23a4a10664e73ec16d9eb1e92e9" +dependencies = [ + "ink_metadata", "ink_prelude", + "ink_primitives", "parity-scale-codec", "scale-info", + "syn", ] [[package]] @@ -1639,20 +1681,21 @@ dependencies = [ [[package]] name = "jsonrpsee" -version = "0.15.1" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8bd0d559d5e679b1ab2f869b486a11182923863b1b3ee8b421763cdd707b783a" +checksum = "5af9646e616e37c61093ef85e25bd883ae0c22e2fa1e6eedfe590048247116e3" dependencies = [ "jsonrpsee-client-transport", "jsonrpsee-core", + "jsonrpsee-http-client", "jsonrpsee-types", ] [[package]] name = "jsonrpsee-client-transport" -version = "0.15.1" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8752740ecd374bcbf8b69f3e80b0327942df76f793f8d4e60d3355650c31fb74" +checksum = "1e85cfc9c2f17eab237fdfa2efe5c1608fd06a90e1e0d7fd7b10f2d0e153f375" dependencies = [ "futures-util", "http", @@ -1671,9 +1714,9 @@ dependencies = [ [[package]] name = "jsonrpsee-core" -version = "0.15.1" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3dc3e9cf2ba50b7b1d7d76a667619f82846caa39e8e8daa8a4962d74acaddca" +checksum = "673d68136e2f0f67323bab95b3a7177df26ac21ddbf395fc32d60f30fe5a1364" dependencies = [ "anyhow", "async-lock", @@ -1682,6 +1725,26 @@ dependencies = [ "futures-channel", "futures-timer", "futures-util", + "hyper", + "jsonrpsee-types", + "rustc-hash", + "serde", + "serde_json", + "thiserror", + "tokio", + "tracing", +] + +[[package]] +name = "jsonrpsee-http-client" +version = "0.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42007820863ab29f3adeacf43886ef54abaedb35bc33dada25771db4e1f94de4" +dependencies = [ + "async-trait", + "hyper", + "hyper-rustls", + "jsonrpsee-core", "jsonrpsee-types", "rustc-hash", "serde", @@ -1689,14 +1752,13 @@ dependencies = [ "thiserror", "tokio", "tracing", - "tracing-futures", ] [[package]] name = "jsonrpsee-types" -version = "0.15.1" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e290bba767401b646812f608c099b922d8142603c9e73a50fb192d3ac86f4a0d" +checksum = "7985a27ee315c7c8c5c5033ac133e9472aec881edfd947780f5a9970efb7cbbf" dependencies = [ "anyhow", "beef", @@ -1840,6 +1902,15 @@ dependencies = [ "hashbrown", ] +[[package]] +name = "lru" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6e8aaa3f231bb4bd57b84b2d5dc3ae7f350265df8aa96492e0bc394a1571909" +dependencies = [ + "hashbrown", +] + [[package]] name = "matchers" version = "0.0.1" @@ -1866,21 +1937,15 @@ checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" [[package]] name = "memory-db" -version = "0.29.0" +version = "0.30.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6566c70c1016f525ced45d7b7f97730a2bafb037c788211d0c186ef5b2189f0a" +checksum = "34ac11bb793c28fa095b7554466f53b3a60a2cd002afdac01bcf135cbd73a269" dependencies = [ "hash-db", "hashbrown", "parity-util-mem", ] -[[package]] -name = "memory_units" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71d96e3f3c0b6325d8ccd83c33b28acb183edcb6c67938ba104ec546854b0882" - [[package]] name = "memory_units" version = "0.4.0" @@ -1936,7 +2001,7 @@ dependencies = [ "matrixmultiply", "nalgebra-macros", "num-complex", - "num-rational 0.4.1", + "num-rational", "num-traits", "rand 0.8.5", "rand_distr", @@ -1955,12 +2020,6 @@ dependencies = [ "syn", ] -[[package]] -name = "nodrop" -version = "0.1.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb" - [[package]] name = "nohash-hasher" version = "0.2.0" @@ -1990,17 +2049,6 @@ dependencies = [ "nom", ] -[[package]] -name = "num-bigint" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "090c7f9998ee0ff65aa5b723e4009f7b217707f1fb5ea551329cc4d6231fb304" -dependencies = [ - "autocfg", - "num-integer", - "num-traits", -] - [[package]] name = "num-bigint" version = "0.4.3" @@ -2041,18 +2089,6 @@ dependencies = [ "num-traits", ] -[[package]] -name = "num-rational" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c000134b5dbf44adc5cb772486d335293351644b801551abe8f75c84cfa4aef" -dependencies = [ - "autocfg", - "num-bigint 0.2.6", - "num-integer", - "num-traits", -] - [[package]] name = "num-rational" version = "0.4.1" @@ -2060,7 +2096,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0" dependencies = [ "autocfg", - "num-bigint 0.4.3", + "num-bigint", "num-integer", "num-traits", ] @@ -2127,7 +2163,7 @@ checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee" [[package]] name = "pallet-authorship" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "frame-support", "frame-system", @@ -2135,29 +2171,26 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-authorship", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-runtime 6.0.0", + "sp-std 4.0.0", ] [[package]] name = "pallet-contracts-primitives" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "bitflags", "parity-scale-codec", - "scale-info", - "serde", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-rpc", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-runtime 6.0.0", + "sp-std 4.0.0", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31)", ] [[package]] name = "pallet-session" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "frame-support", "frame-system", @@ -2166,19 +2199,19 @@ dependencies = [ "pallet-timestamp", "parity-scale-codec", "scale-info", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-core 6.0.0", + "sp-io 6.0.0", + "sp-runtime 6.0.0", "sp-session", "sp-staking", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-trie 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0", + "sp-trie 6.0.0", ] [[package]] name = "pallet-staking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -2190,17 +2223,17 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-application-crypto 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-application-crypto 6.0.0", + "sp-io 6.0.0", + "sp-runtime 6.0.0", "sp-staking", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0", ] [[package]] name = "pallet-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "frame-benchmarking", "frame-support", @@ -2209,9 +2242,9 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-inherents", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-io 6.0.0", + "sp-runtime 6.0.0", + "sp-std 4.0.0", "sp-timestamp", ] @@ -2244,9 +2277,9 @@ dependencies = [ [[package]] name = "parity-util-mem" -version = "0.11.0" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c32561d248d352148124f036cac253a644685a21dc9fea383eb4907d7bd35a8f" +checksum = "0d32c34f4f5ca7f9196001c0aba5a1f9a5a12382c8944b8b0f90233282d1e8f8" dependencies = [ "cfg-if", "hashbrown", @@ -2268,12 +2301,6 @@ dependencies = [ "synstructure", ] -[[package]] -name = "parity-wasm" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be5e13c266502aadf83426d87d81a0f5d1ef45b8027f5a471c360abfe4bfae92" - [[package]] name = "parity-wasm" version = "0.45.0" @@ -2298,9 +2325,9 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.4" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4dc9e0dc2adc1c69d09143aff38d3d30c5c3f0df0dad82e6d25547af174ebec0" +checksum = "7ff9f3fef3968a3ec5945535ed654cb38ff72d7495a25619e2247fb15a2ed9ba" dependencies = [ "cfg-if", "libc", @@ -2390,30 +2417,30 @@ checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" [[package]] name = "primitive-types" -version = "0.11.1" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e28720988bff275df1f51b171e1b2a18c30d194c4d2b61defdacecd625a5d94a" +checksum = "9f3486ccba82358b11a77516035647c34ba167dfa53312630de83b12bd4f3d66" dependencies = [ "fixed-hash", "impl-codec", - "impl-serde", + "impl-serde 0.4.0", "scale-info", "uint", ] [[package]] name = "primitives" -version = "0.5.2" +version = "0.5.3" dependencies = [ "parity-scale-codec", "scale-info", "serde", "sp-api", - "sp-application-crypto 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-application-crypto 6.0.0", + "sp-core 6.0.0", + "sp-runtime 6.0.0", "sp-staking", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0", ] [[package]] @@ -2860,31 +2887,13 @@ dependencies = [ "zeroize", ] -[[package]] -name = "secp256k1" -version = "0.21.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c42e6f1735c5f00f51e43e28d6634141f2bcad10931b2609ddd74a86d751260" -dependencies = [ - "secp256k1-sys 0.4.2", -] - [[package]] name = "secp256k1" version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ff55dc09d460954e9ef2fa8a7ced735a964be9981fd50e870b2b3b0705e14964" dependencies = [ - "secp256k1-sys 0.6.1", -] - -[[package]] -name = "secp256k1-sys" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "957da2573cde917463ece3570eab4a0b3f19de6f1646cde62e6fd3868f566036" -dependencies = [ - "cc", + "secp256k1-sys", ] [[package]] @@ -2939,18 +2948,18 @@ dependencies = [ [[package]] name = "serde" -version = "1.0.147" +version = "1.0.148" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d193d69bae983fc11a79df82342761dfbf28a99fc8d203dca4c3c1b590948965" +checksum = "e53f64bb4ba0191d6d0676e1b141ca55047d83b74f5607e6d8eb88126c52c2dc" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.147" +version = "1.0.148" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f1d362ca8fc9c3e3a7484440752472d68a6caa98f1ab81d99b5dfe517cec852" +checksum = "a55492425aa53521babf6137309e7d34c20bbfbbfcfe2c7f3a047fd1f6b92c0c" dependencies = [ "proc-macro2", "quote", @@ -3110,17 +3119,17 @@ dependencies = [ [[package]] name = "sp-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "hash-db", "log", "parity-scale-codec", "sp-api-proc-macro", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-state-machine 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-trie 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-core 6.0.0", + "sp-runtime 6.0.0", + "sp-state-machine 0.12.0", + "sp-std 4.0.0", + "sp-trie 6.0.0", "sp-version", "thiserror", ] @@ -3128,7 +3137,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "blake2", "proc-macro-crate", @@ -3140,90 +3149,89 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acb4490364cb3b097a6755343e552495b0013778152300714be4647d107e9a2e" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-io 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-core 6.0.0", + "sp-io 6.0.0", + "sp-std 4.0.0", ] [[package]] name = "sp-application-crypto" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30a70f8245ad75c773c43e46d16e81adb62290d37cd07efcde6cef06d93235e5" dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-core 7.0.0", + "sp-io 7.0.0", + "sp-std 5.0.0", ] [[package]] name = "sp-arithmetic" version = "5.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31ef21f82cc10f75ed046b65e2f8048080ee76e59f1b8aed55c7150daebfd35b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "integer-sqrt", "num-traits", "parity-scale-codec", "scale-info", "serde", - "sp-debug-derive 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-debug-derive 4.0.0", + "sp-std 4.0.0", "static_assertions", ] [[package]] name = "sp-arithmetic" -version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3856b3e912f0a7a1332f1642b5fd3c2e76476e894c656538d32c004698690157" dependencies = [ "integer-sqrt", "num-traits", "parity-scale-codec", "scale-info", "serde", - "sp-debug-derive 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-debug-derive 5.0.0", + "sp-std 5.0.0", "static_assertions", ] [[package]] name = "sp-authorship" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "async-trait", "parity-scale-codec", "sp-inherents", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-runtime 6.0.0", + "sp-std 4.0.0", ] [[package]] name = "sp-core" version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77963e2aa8fadb589118c3aede2e78b6c4bcf1c01d588fbf33e915b390825fbd" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ + "array-bytes", "base58", "bitflags", - "blake2-rfc", + "blake2", "byteorder", "dyn-clonable", - "ed25519-dalek", + "ed25519-zebra", "futures", "hash-db", "hash256-std-hasher", - "hex", - "impl-serde", + "impl-serde 0.4.0", "lazy_static", "libsecp256k1", "log", @@ -3237,27 +3245,28 @@ dependencies = [ "regex", "scale-info", "schnorrkel", - "secp256k1 0.21.3", + "secp256k1", "secrecy", "serde", - "sp-core-hashing 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-debug-derive 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-externalities 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-runtime-interface 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-storage 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-core-hashing 4.0.0", + "sp-debug-derive 4.0.0", + "sp-externalities 0.12.0", + "sp-runtime-interface 6.0.0", + "sp-std 4.0.0", + "sp-storage 6.0.0", "ss58-registry", "substrate-bip39", "thiserror", "tiny-bip39", - "wasmi 0.9.1", + "wasmi", "zeroize", ] [[package]] name = "sp-core" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88c78530907dbf7949af928d0ce88b485067389201b6d9b468074b1924f209f0" dependencies = [ "array-bytes", "base58", @@ -3269,81 +3278,80 @@ dependencies = [ "futures", "hash-db", "hash256-std-hasher", - "impl-serde", + "impl-serde 0.4.0", "lazy_static", "libsecp256k1", "log", "merlin", "num-traits", "parity-scale-codec", - "parity-util-mem", "parking_lot", "primitive-types", "rand 0.7.3", "regex", "scale-info", "schnorrkel", - "secp256k1 0.24.1", + "secp256k1", "secrecy", "serde", - "sp-core-hashing 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-debug-derive 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-runtime-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-storage 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-core-hashing 5.0.0", + "sp-debug-derive 5.0.0", + "sp-externalities 0.13.0", + "sp-runtime-interface 7.0.0", + "sp-std 5.0.0", + "sp-storage 7.0.0", "ss58-registry", "substrate-bip39", "thiserror", "tiny-bip39", - "wasmi 0.13.2", + "wasmi", "zeroize", ] [[package]] name = "sp-core-hashing" version = "4.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec864a6a67249f0c8dd3d5acab43623a61677e85ff4f2f9b04b802d2fe780e83" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ - "blake2-rfc", + "blake2", "byteorder", - "sha2 0.9.9", - "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "tiny-keccak", + "digest 0.10.6", + "sha2 0.10.6", + "sha3", + "sp-std 4.0.0", "twox-hash", ] [[package]] name = "sp-core-hashing" -version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +version = "5.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49b9d1daa6aebfc144729b630885e91df92ff00560490ec065a56cb538e8895a" dependencies = [ "blake2", "byteorder", "digest 0.10.6", "sha2 0.10.6", "sha3", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 5.0.0", "twox-hash", ] [[package]] name = "sp-core-hashing-proc-macro" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "proc-macro2", "quote", - "sp-core-hashing 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-core-hashing 4.0.0", "syn", ] [[package]] name = "sp-debug-derive" version = "4.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d676664972e22a0796176e81e7bec41df461d1edf52090955cdab55f2c956ff2" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "proc-macro2", "quote", @@ -3352,8 +3360,9 @@ dependencies = [ [[package]] name = "sp-debug-derive" -version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +version = "5.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9e9ba7352773b96a4aa57e903447f841c6bc26e8c798377db6e7eb332346454" dependencies = [ "proc-macro2", "quote", @@ -3363,70 +3372,71 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fcfd91f92a2a59224230a77c4a5d6f51709620c0aab4e51f108ccece6adc56f" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "environmental", "parity-scale-codec", - "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-storage 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 4.0.0", + "sp-storage 6.0.0", ] [[package]] name = "sp-externalities" -version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef739442230f49d88ece41259e5d886d6b8bc0f4197ef7f1585c39c762ce7ef2" dependencies = [ "environmental", "parity-scale-codec", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-storage 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 5.0.0", + "sp-storage 7.0.0", ] [[package]] name = "sp-inherents" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "async-trait", "impl-trait-for-tuples", "parity-scale-codec", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-core 6.0.0", + "sp-runtime 6.0.0", + "sp-std 4.0.0", "thiserror", ] [[package]] name = "sp-io" version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "935fd3c71bad6811a7984cabb74d323b8ca3107024024c3eabb610e0182ba8d3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ + "bytes", "futures", "hash-db", "libsecp256k1", "log", "parity-scale-codec", "parking_lot", - "secp256k1 0.21.3", - "sp-core 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-externalities 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-keystore 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-runtime-interface 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-state-machine 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-tracing 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-trie 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-wasm-interface 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "secp256k1", + "sp-core 6.0.0", + "sp-externalities 0.12.0", + "sp-keystore 0.12.0", + "sp-runtime-interface 6.0.0", + "sp-state-machine 0.12.0", + "sp-std 4.0.0", + "sp-tracing 5.0.0", + "sp-trie 6.0.0", + "sp-wasm-interface 6.0.0", "tracing", "tracing-core", ] [[package]] name = "sp-io" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6280bd3643354f7ff0b2abd36c687745455779231a7a86d90945608f0d4924c4" dependencies = [ "bytes", "futures", @@ -3435,16 +3445,16 @@ dependencies = [ "log", "parity-scale-codec", "parking_lot", - "secp256k1 0.24.1", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-keystore 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-runtime-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-state-machine 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-tracing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-trie 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-wasm-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "secp256k1", + "sp-core 7.0.0", + "sp-externalities 0.13.0", + "sp-keystore 0.13.0", + "sp-runtime-interface 7.0.0", + "sp-state-machine 0.13.0", + "sp-std 5.0.0", + "sp-tracing 6.0.0", + "sp-trie 7.0.0", + "sp-wasm-interface 7.0.0", "tracing", "tracing-core", ] @@ -3452,8 +3462,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3261eddca8c8926e3e1de136a7980cb3afc3455247d9d6f3119d9b292f73aaee" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "async-trait", "futures", @@ -3461,15 +3470,16 @@ dependencies = [ "parity-scale-codec", "parking_lot", "schnorrkel", - "sp-core 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-externalities 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-core 6.0.0", + "sp-externalities 0.12.0", "thiserror", ] [[package]] name = "sp-keystore" -version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a44bec4f0d036b6993c14bbee4216781f21275e5c201e43e45fed4a434bf0e5a" dependencies = [ "async-trait", "futures", @@ -3477,30 +3487,29 @@ dependencies = [ "parity-scale-codec", "parking_lot", "schnorrkel", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-core 7.0.0", + "sp-externalities 0.13.0", "thiserror", ] [[package]] name = "sp-npos-elections" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-arithmetic 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-arithmetic 5.0.0", + "sp-core 6.0.0", + "sp-runtime 6.0.0", + "sp-std 4.0.0", ] [[package]] name = "sp-panic-handler" version = "4.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2101f3c555fceafcfcfb0e61c55ea9ed80dc60bd77d54d9f25b369edb029e9a4" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "backtrace", "lazy_static", @@ -3509,29 +3518,19 @@ dependencies = [ [[package]] name = "sp-panic-handler" -version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +version = "5.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97549ec99cb289db2a9f5c656b6880f7c90097135e1ca6c6ae4fe5694232e526" dependencies = [ "backtrace", "lazy_static", "regex", ] -[[package]] -name = "sp-rpc" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" -dependencies = [ - "rustc-hash", - "serde", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", -] - [[package]] name = "sp-runtime" version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb7d8a8d5ab5d349c6cf9300af1721b7b6446ba63401dbb11c10a1d65197aa5f" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "either", "hash256-std-hasher", @@ -3543,17 +3542,19 @@ dependencies = [ "rand 0.7.3", "scale-info", "serde", - "sp-application-crypto 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-arithmetic 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-core 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-io 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-application-crypto 6.0.0", + "sp-arithmetic 5.0.0", + "sp-core 6.0.0", + "sp-io 6.0.0", + "sp-std 4.0.0", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31)", ] [[package]] name = "sp-runtime" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0edfc5c54c2b31d2f0cf904d472a0bff7125c0c2a2e2330507842e56f9a27444" dependencies = [ "either", "hash256-std-hasher", @@ -3565,55 +3566,55 @@ dependencies = [ "rand 0.7.3", "scale-info", "serde", - "sp-application-crypto 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-arithmetic 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-weights", + "sp-application-crypto 7.0.0", + "sp-arithmetic 6.0.0", + "sp-core 7.0.0", + "sp-io 7.0.0", + "sp-std 5.0.0", + "sp-weights 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "sp-runtime-interface" version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "158bf0305c75a50fc0e334b889568f519a126e32b87900c3f4251202dece7b4b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ + "bytes", "impl-trait-for-tuples", "parity-scale-codec", "primitive-types", - "sp-externalities 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-runtime-interface-proc-macro 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-storage 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-tracing 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-wasm-interface 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-externalities 0.12.0", + "sp-runtime-interface-proc-macro 5.0.0", + "sp-std 4.0.0", + "sp-storage 6.0.0", + "sp-tracing 5.0.0", + "sp-wasm-interface 6.0.0", "static_assertions", ] [[package]] name = "sp-runtime-interface" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b886a5d34400b0e0c12d389e3bb48b7a93d651cddf7e248124b81fe64c339251" dependencies = [ "bytes", "impl-trait-for-tuples", "parity-scale-codec", "primitive-types", - "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-runtime-interface-proc-macro 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-storage 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-tracing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-wasm-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-externalities 0.13.0", + "sp-runtime-interface-proc-macro 6.0.0", + "sp-std 5.0.0", + "sp-storage 7.0.0", + "sp-tracing 6.0.0", + "sp-wasm-interface 7.0.0", "static_assertions", ] [[package]] name = "sp-runtime-interface-proc-macro" version = "5.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22ecb916b9664ed9f90abef0ff5a3e61454c1efea5861b2997e03f39b59b955f" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "Inflector", "proc-macro-crate", @@ -3624,8 +3625,9 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" -version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a157f1ce0108b9b87f87e826726049d9b6253318b74410c814be7fc2af416b51" dependencies = [ "Inflector", "proc-macro-crate", @@ -3637,33 +3639,32 @@ dependencies = [ [[package]] name = "sp-session" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "parity-scale-codec", "scale-info", "sp-api", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-core 6.0.0", + "sp-runtime 6.0.0", "sp-staking", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0", ] [[package]] name = "sp-staking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "parity-scale-codec", "scale-info", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-runtime 6.0.0", + "sp-std 4.0.0", ] [[package]] name = "sp-state-machine" version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecee3b33eb78c99997676a571656bcc35db6886abecfddd13e76a73b5871c6c1" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "hash-db", "log", @@ -3672,21 +3673,21 @@ dependencies = [ "parking_lot", "rand 0.7.3", "smallvec", - "sp-core 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-externalities 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-panic-handler 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-trie 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-core 6.0.0", + "sp-externalities 0.12.0", + "sp-panic-handler 4.0.0", + "sp-std 4.0.0", + "sp-trie 6.0.0", "thiserror", "tracing", - "trie-db 0.23.1", "trie-root", ] [[package]] name = "sp-state-machine" -version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5c2d97ad69011d34ca257f0383532b80096d53f889f5894ae2b24a211bec66f" dependencies = [ "hash-db", "log", @@ -3695,11 +3696,11 @@ dependencies = [ "parking_lot", "rand 0.7.3", "smallvec", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-panic-handler 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-trie 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-core 7.0.0", + "sp-externalities 0.13.0", + "sp-panic-handler 5.0.0", + "sp-std 5.0.0", + "sp-trie 7.0.0", "thiserror", "tracing", "trie-root", @@ -3708,45 +3709,45 @@ dependencies = [ [[package]] name = "sp-std" version = "4.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14804d6069ee7a388240b665f17908d98386ffb0b5d39f89a4099fc7a2a4c03f" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" [[package]] name = "sp-std" -version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +version = "5.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf3fd4c1d304be101e6ebbafd3d4be9a37b320c970ef4e8df188b16873981c93" [[package]] name = "sp-storage" version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5dab53af846068e3e0716d3ccc70ea0db44035c79b2ed5821aaa6635039efa37" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ - "impl-serde", + "impl-serde 0.4.0", "parity-scale-codec", "ref-cast", "serde", - "sp-debug-derive 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-debug-derive 4.0.0", + "sp-std 4.0.0", ] [[package]] name = "sp-storage" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eb987ed2e4d7d870170a225083ea962f2a359d75cdf76935d5ed8d91bee912d9" dependencies = [ - "impl-serde", + "impl-serde 0.4.0", "parity-scale-codec", "ref-cast", "serde", - "sp-debug-derive 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-debug-derive 5.0.0", + "sp-std 5.0.0", ] [[package]] name = "sp-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "async-trait", "futures-timer", @@ -3754,19 +3755,18 @@ dependencies = [ "parity-scale-codec", "sp-api", "sp-inherents", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-runtime 6.0.0", + "sp-std 4.0.0", "thiserror", ] [[package]] name = "sp-tracing" version = "5.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69a67e555d171c4238bd223393cda747dd20ec7d4f5fe5c042c056cb7fde9eda" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "parity-scale-codec", - "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 4.0.0", "tracing", "tracing-core", "tracing-subscriber", @@ -3774,11 +3774,12 @@ dependencies = [ [[package]] name = "sp-tracing" -version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e761df87dc940d87720939de8f976d1fc0657e523886ae0d7bf3f7e2e2f0abb6" dependencies = [ "parity-scale-codec", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 5.0.0", "tracing", "tracing-core", "tracing-subscriber", @@ -3787,55 +3788,63 @@ dependencies = [ [[package]] name = "sp-trie" version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6fc34f4f291886914733e083b62708d829f3e6b8d7a7ca7fa8a55a3d7640b0b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ + "ahash", "hash-db", + "hashbrown", + "lazy_static", + "lru 0.7.8", "memory-db", + "nohash-hasher", "parity-scale-codec", + "parking_lot", "scale-info", - "sp-core 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "trie-db 0.23.1", + "sp-core 6.0.0", + "sp-std 4.0.0", + "thiserror", + "tracing", + "trie-db", "trie-root", ] [[package]] name = "sp-trie" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f4f48c887e90050537e399d2d8b6ee82787ebec0fe46e4880b42cab0c2d5ba6" dependencies = [ "ahash", "hash-db", "hashbrown", "lazy_static", - "lru", + "lru 0.8.1", "memory-db", "nohash-hasher", "parity-scale-codec", "parking_lot", "scale-info", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-core 7.0.0", + "sp-std 5.0.0", "thiserror", "tracing", - "trie-db 0.24.0", + "trie-db", "trie-root", ] [[package]] name = "sp-version" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ - "impl-serde", + "impl-serde 0.4.0", "parity-scale-codec", - "parity-wasm 0.45.0", + "parity-wasm", "scale-info", "serde", "sp-core-hashing-proc-macro", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-runtime 6.0.0", + "sp-std 4.0.0", "sp-version-proc-macro", "thiserror", ] @@ -3843,7 +3852,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "parity-scale-codec", "proc-macro2", @@ -3854,42 +3863,59 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10d88debe690c2b24eaa9536a150334fcef2ae184c21a0e5b3e80135407a7d52" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "impl-trait-for-tuples", "log", "parity-scale-codec", - "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "wasmi 0.9.1", + "sp-std 4.0.0", + "wasmi", ] [[package]] name = "sp-wasm-interface" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4f43c40afab6ecac20505907631c929957ed636b7af8795984649bbaa6ff38c3" dependencies = [ "impl-trait-for-tuples", "log", "parity-scale-codec", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "wasmi 0.13.2", + "sp-std 5.0.0", + "wasmi", +] + +[[package]] +name = "sp-weights" +version = "4.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c671673133b30e6ab6d88139b06adcdaec5aa06548abe0e155a0c830b592793b" +dependencies = [ + "impl-trait-for-tuples", + "parity-scale-codec", + "scale-info", + "serde", + "smallvec", + "sp-arithmetic 6.0.0", + "sp-core 7.0.0", + "sp-debug-derive 5.0.0", + "sp-std 5.0.0", ] [[package]] name = "sp-weights" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", "scale-info", "serde", "smallvec", - "sp-arithmetic 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-debug-derive 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-arithmetic 5.0.0", + "sp-core 6.0.0", + "sp-debug-derive 4.0.0", + "sp-std 4.0.0", ] [[package]] @@ -3969,14 +3995,15 @@ checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" [[package]] name = "subxt" -version = "0.24.0" +version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a8757ee0e19f87e722577282ab1386c86592a4b13ff963b9c6ec4176348104c" +checksum = "e3cbc78fd36035a24883eada29e0205b9b1416172530a7d00a60c07d0337db0c" dependencies = [ "bitvec", "derivative", "frame-metadata", "futures", + "getrandom 0.2.8", "hex", "jsonrpsee", "parity-scale-codec", @@ -3986,8 +4013,8 @@ dependencies = [ "scale-value", "serde", "serde_json", - "sp-core 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-runtime 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-core 7.0.0", + "sp-runtime 7.0.0", "subxt-macro", "subxt-metadata", "thiserror", @@ -3996,13 +4023,15 @@ dependencies = [ [[package]] name = "subxt-codegen" -version = "0.24.0" +version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb77f93e11e6ff3ff95fe33e3d24c27c342e16feca8ef47759993614ebe90d2c" +checksum = "7722c31febf55eb300c73d977da5d65cfd6fb443419b1185b9abcdd9925fd7be" dependencies = [ "darling", "frame-metadata", "heck", + "hex", + "jsonrpsee", "parity-scale-codec", "proc-macro-error", "proc-macro2", @@ -4010,13 +4039,14 @@ dependencies = [ "scale-info", "subxt-metadata", "syn", + "tokio", ] [[package]] name = "subxt-macro" -version = "0.24.0" +version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "051cc21d77a54ae944b872eafdf9edfe1d9134fdfcfc3477dc10f763c76564a9" +checksum = "6f64826f2c4ba20e3b2a86ec81a6ae8655ca6b6a4c2a6ccc888b6615efc2df14" dependencies = [ "darling", "proc-macro-error", @@ -4026,21 +4056,21 @@ dependencies = [ [[package]] name = "subxt-metadata" -version = "0.24.0" +version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ed78d80db3a97d55e8b1cfecc1f6f9e21793a589d4e2e5f4fe2d6d5850c2e54" +checksum = "869af75e23513538ad0af046af4a97b8d684e8d202e35ff4127ee061c1110813" dependencies = [ "frame-metadata", "parity-scale-codec", "scale-info", - "sp-core 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-core 7.0.0", ] [[package]] name = "syn" -version = "1.0.103" +version = "1.0.104" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a864042229133ada95abf3b54fdc62ef5ccabe9515b64717bcb9a1919e59445d" +checksum = "4ae548ec36cf198c0ef7710d3c230987c2d6d7bd98ad6edc0274462724c585ce" dependencies = [ "proc-macro2", "quote", @@ -4152,15 +4182,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "tiny-keccak" -version = "2.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237" -dependencies = [ - "crunchy", -] - [[package]] name = "tinyvec" version = "1.6.0" @@ -4230,6 +4251,7 @@ dependencies = [ "futures-sink", "pin-project-lite", "tokio", + "tracing", ] [[package]] @@ -4241,6 +4263,12 @@ dependencies = [ "serde", ] +[[package]] +name = "tower-service" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" + [[package]] name = "tracing" version = "0.1.37" @@ -4274,16 +4302,6 @@ dependencies = [ "valuable", ] -[[package]] -name = "tracing-futures" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2" -dependencies = [ - "pin-project", - "tracing", -] - [[package]] name = "tracing-log" version = "0.1.3" @@ -4327,19 +4345,6 @@ dependencies = [ "tracing-serde", ] -[[package]] -name = "trie-db" -version = "0.23.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d32d034c0d3db64b43c31de38e945f15b40cd4ca6d2dcfc26d4798ce8de4ab83" -dependencies = [ - "hash-db", - "hashbrown", - "log", - "rustc-hex", - "smallvec", -] - [[package]] name = "trie-db" version = "0.24.0" @@ -4362,6 +4367,12 @@ dependencies = [ "hash-db", ] +[[package]] +name = "try-lock" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642" + [[package]] name = "tt-call" version = "1.0.8" @@ -4388,9 +4399,9 @@ checksum = "dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987" [[package]] name = "uint" -version = "0.9.4" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a45526d29728d135c2900b0d30573fe3ee79fceb12ef534c7bb30e810a91b601" +checksum = "76f64bba2c53b04fcab63c01a7d7427eadc821e3bc48c34dc9ba29c501164b52" dependencies = [ "byteorder", "crunchy", @@ -4467,6 +4478,16 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9d5b2c62b4012a3e1eca5a7e077d13b3bf498c4073e33ccd58626607748ceeca" +[[package]] +name = "want" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0" +dependencies = [ + "log", + "try-lock", +] + [[package]] name = "wasi" version = "0.9.0+wasi-snapshot-preview1" @@ -4533,48 +4554,24 @@ version = "0.2.83" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1c38c045535d93ec4f0b4defec448e4291638ee608530863b1e2ba115d4fff7f" -[[package]] -name = "wasmi" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca00c5147c319a8ec91ec1a0edbec31e566ce2c9cc93b3f9bb86a9efd0eb795d" -dependencies = [ - "downcast-rs", - "libc", - "memory_units 0.3.0", - "num-rational 0.2.4", - "num-traits", - "parity-wasm 0.42.2", - "wasmi-validation 0.4.1", -] - [[package]] name = "wasmi" version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "06c326c93fbf86419608361a2c925a31754cf109da1b8b55737070b4d6669422" dependencies = [ - "parity-wasm 0.45.0", - "wasmi-validation 0.5.0", + "parity-wasm", + "wasmi-validation", "wasmi_core", ] -[[package]] -name = "wasmi-validation" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "165343ecd6c018fc09ebcae280752702c9a2ef3e6f8d02f1cfcbdb53ef6d7937" -dependencies = [ - "parity-wasm 0.42.2", -] - [[package]] name = "wasmi-validation" version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "91ff416ad1ff0c42e5a926ed5d5fab74c0f098749aa0ad8b2a34b982ce0e867b" dependencies = [ - "parity-wasm 0.45.0", + "parity-wasm", ] [[package]] @@ -4585,8 +4582,8 @@ checksum = "57d20cb3c59b788653d99541c646c561c9dd26506f25c0cebfe810659c54c6d7" dependencies = [ "downcast-rs", "libm", - "memory_units 0.4.0", - "num-rational 0.4.1", + "memory_units", + "num-rational", "num-traits", ] @@ -4759,6 +4756,12 @@ dependencies = [ "tap", ] +[[package]] +name = "xxhash-rust" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "735a71d46c4d68d71d4b24d03fdc2b98e38cea81730595801db779c04fe80d70" + [[package]] name = "yap" version = "0.7.2" diff --git a/bin/cliain/Cargo.toml b/bin/cliain/Cargo.toml index 0b2468cb10..27ed284fe9 100644 --- a/bin/cliain/Cargo.toml +++ b/bin/cliain/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "cliain" -version = "0.8.0" +version = "0.9.0" edition = "2021" license = "GPL-3.0-or-later" @@ -10,19 +10,19 @@ anyhow = "1.0" clap = { version = "3.0", features = ["derive"] } codec = { package = 'parity-scale-codec', version = "3.0.0", features = ['derive'] } contract-metadata = { git = "https://github.com/paritytech/cargo-contract.git", tag = "v1.4.0"} -contract-transcode = { version = "0.1.0" } +contract-transcode = { version = "2.0.0-beta" } dialoguer = "0.10.0" env_logger = "0.8" hex = "0.4.3" -ink_metadata = { version = "3.0", features = ["derive"] } +ink_metadata = { version = "4.0.0-beta", features = ["derive"] } log = "0.4" -pallet-staking = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +pallet-staking = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } primitives = { path = "../../primitives" } serde = { version = "1.0.137", features = ["derive"] } serde_json = "1.0.81" -sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30", features = ["full_crypto"] } +sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31", features = ["full_crypto"] } tokio = { version = "1.21.2", features = ["full"] } -subxt = "0.24.0" +subxt = "0.25.0" [features] default = ["std"] diff --git a/bin/cliain/src/commands.rs b/bin/cliain/src/commands.rs index 0217a376e9..1847a6f849 100644 --- a/bin/cliain/src/commands.rs +++ b/bin/cliain/src/commands.rs @@ -118,7 +118,7 @@ impl std::str::FromStr for ChangeValidatorArgs { fn from_str(change_validator_args: &str) -> Result { let path = Path::new(change_validator_args); if path.exists() { - let file = File::open(&path).expect("Failed to open metadata file"); + let file = File::open(path).expect("Failed to open metadata file"); return serde_json::from_reader(file); } serde_json::from_str(change_validator_args) diff --git a/bin/cliain/src/contracts.rs b/bin/cliain/src/contracts.rs index fb33631645..412c6009b5 100644 --- a/bin/cliain/src/contracts.rs +++ b/bin/cliain/src/contracts.rs @@ -11,7 +11,6 @@ use aleph_client::{ waiting::{AlephWaiting, BlockStatus}, AccountId, Connection, SignedConnection, TxStatus, }; -use anyhow::anyhow; use codec::{Compact, Decode}; use contract_metadata::ContractMetadata; use contract_transcode::ContractMessageTranscoder; @@ -90,8 +89,8 @@ pub async fn instantiate( } = options; let metadata = load_metadata(&metadata_path)?; - let transcoder = ContractMessageTranscoder::new(&metadata); - let data = transcoder.encode(&constructor, &args.unwrap_or_default())?; + let transcoder = ContractMessageTranscoder::new(metadata); + let data = transcoder.encode(&constructor, args.unwrap_or_default())?; debug!("Encoded constructor data {:?}", data); @@ -114,7 +113,7 @@ pub async fn instantiate( .instantiate( code_hash, balance, - Weight::new(gas_limit), + Weight::new(gas_limit, u64::MAX), storage_deposit(storage_deposit_limit), data, vec![], @@ -149,8 +148,8 @@ pub async fn instantiate_with_code( debug!(target: "contracts", "Found WASM contract code {:?}", wasm); let metadata = load_metadata(&metadata_path)?; - let transcoder = ContractMessageTranscoder::new(&metadata); - let data = transcoder.encode(&constructor, &args.unwrap_or_default())?; + let transcoder = ContractMessageTranscoder::new(metadata); + let data = transcoder.encode(&constructor, args.unwrap_or_default())?; debug!("Encoded constructor data {:?}", data); @@ -187,7 +186,7 @@ pub async fn instantiate_with_code( .instantiate_with_code( wasm, balance, - Weight::new(gas_limit), + Weight::new(gas_limit, u64::MAX), storage_deposit(storage_deposit_limit), data, vec![], @@ -223,8 +222,8 @@ pub async fn call( } = options; let metadata = load_metadata(&metadata_path)?; - let transcoder = ContractMessageTranscoder::new(&metadata); - let data = transcoder.encode(&message, &args.unwrap_or_default())?; + let transcoder = ContractMessageTranscoder::new(metadata); + let data = transcoder.encode(&message, args.unwrap_or_default())?; debug!("Encoded call data {:?}", data); @@ -232,7 +231,7 @@ pub async fn call( .call( destination, balance, - Weight::new(gas_limit), + Weight::new(gas_limit, u64::MAX), storage_deposit(storage_deposit_limit), data, TxStatus::InBlock, @@ -278,15 +277,11 @@ pub async fn remove_code( } fn load_metadata(path: &Path) -> anyhow::Result { - let file = File::open(&path).expect("Failed to open metadata file"); + let file = File::open(path).expect("Failed to open metadata file"); let metadata: ContractMetadata = serde_json::from_reader(file).expect("Failed to deserialize metadata file"); let ink_metadata = serde_json::from_value(serde_json::Value::Object(metadata.abi)) .expect("Failed to deserialize ink project metadata"); - if let ink_metadata::MetadataVersioned::V3(ink_project) = ink_metadata { - Ok(ink_project) - } else { - Err(anyhow!("Unsupported ink metadata version. Expected V3")) - } + Ok(ink_metadata) } diff --git a/bin/node/Cargo.toml b/bin/node/Cargo.toml index f414bcce88..e0d2832cbd 100644 --- a/bin/node/Cargo.toml +++ b/bin/node/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "aleph-node" -version = "0.8.2" +version = "0.8.3" authors = ["Cardinal Cryptography"] description = "Aleph node binary" edition = "2021" @@ -16,7 +16,6 @@ targets = ["x86_64-unknown-linux-gnu"] name = "aleph-node" [dependencies] -clap = { version = "3.0", features = ["derive"] } codec = { package = "parity-scale-codec", version = "3.0.0", default-features = false, features = ["derive"] } log = "0.4" serde = "1.0" @@ -24,36 +23,36 @@ serde_json = "1.0" futures = "0.3" hex = "0.4" hex-literal = "0.3" -libp2p = "0.44" +libp2p = "0.49.0" thiserror = "1.0" -sp-application-crypto = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -sc-block-builder = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -sc-chain-spec = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30"} -sc-cli = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30", features = ["wasmtime"] } -sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -sc-executor = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30", features = ["wasmtime"] } -sc-service = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30", features = ["wasmtime"] } -sc-telemetry = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -sc-keystore = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -sp-keystore = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -sp-inherents = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -sc-basic-authorship = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -sc-network = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -sc-transaction-pool = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -sp-transaction-pool = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -sc-transaction-pool-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -sp-arithmetic = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -sc-consensus-slots = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -sc-consensus-aura = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -sp-consensus-aura = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -sp-consensus = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -sc-consensus = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -sc-client-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -sp-timestamp = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -pallet-staking = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -try-runtime-cli = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30", optional = true } +sp-application-crypto = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +sp-arithmetic = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +sc-block-builder = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +sc-chain-spec = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31"} +sc-cli = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31", features = ["wasmtime"] } +sc-consensus-slots = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31"} +sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +sc-executor = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31", features = ["wasmtime"] } +sc-service = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31", features = ["wasmtime"] } +sc-telemetry = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +sc-keystore = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +sp-keystore = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +sp-inherents = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +sc-basic-authorship = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +sc-network = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +sc-transaction-pool = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +sp-transaction-pool = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +sc-transaction-pool-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +sc-consensus-aura = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +sp-consensus-aura = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +sp-consensus = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +sc-consensus = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +sc-client-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +sp-timestamp = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +pallet-staking = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +try-runtime-cli = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31", optional = true } aleph-runtime = { path = "../runtime" } finality-aleph = { path = "../../finality-aleph" } @@ -61,17 +60,16 @@ aleph-primitives = { package = "primitives", path = "../../primitives" } # These dependencies are used for the node's RPCs jsonrpsee = { version = "0.15.1", features = ["server"] } -sc-rpc = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -sp-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -sc-rpc-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -sp-blockchain = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -sp-block-builder = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -substrate-frame-rpc-system = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -pallet-contracts-rpc = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -pallet-transaction-payment-rpc = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +sc-rpc = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +sp-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +sc-rpc-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +sp-blockchain = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +sp-block-builder = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +substrate-frame-rpc-system = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +pallet-transaction-payment-rpc = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } [build-dependencies] -substrate-build-script-utils = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +substrate-build-script-utils = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } [features] default = [] diff --git a/bin/node/src/aleph_cli.rs b/bin/node/src/aleph_cli.rs index f2324c14b2..02f71132bc 100644 --- a/bin/node/src/aleph_cli.rs +++ b/bin/node/src/aleph_cli.rs @@ -1,9 +1,9 @@ use std::path::PathBuf; use aleph_primitives::DEFAULT_UNIT_CREATION_DELAY; -use clap::{ArgGroup, Parser}; use finality_aleph::UnitCreationDelay; use log::warn; +use sc_cli::clap::{self, ArgGroup, Parser}; #[derive(Debug, Parser, Clone)] #[clap(group(ArgGroup::new("backup")))] diff --git a/bin/node/src/chain_spec.rs b/bin/node/src/chain_spec.rs index d654ebb794..e9a48f522b 100644 --- a/bin/node/src/chain_spec.rs +++ b/bin/node/src/chain_spec.rs @@ -8,9 +8,12 @@ use aleph_runtime::{ AccountId, AuraConfig, BalancesConfig, ElectionsConfig, GenesisConfig, Perbill, SessionConfig, SessionKeys, StakingConfig, SudoConfig, SystemConfig, VestingConfig, WASM_BINARY, }; -use clap::Args; use libp2p::PeerId; use pallet_staking::{Forcing, StakerStatus}; +use sc_cli::{ + clap::{self, Args}, + Error as CliError, +}; use sc_service::ChainType; use serde::{de::Error, Deserialize, Deserializer, Serialize, Serializer}; use serde_json::{Number, Value}; @@ -75,17 +78,17 @@ pub fn account_id_from_string(seed: &str) -> AccountId { } /// Generate AccountId based on string command line argument. -fn parse_account_id(s: &str) -> AccountId { - AccountId::from_string(s).expect("Passed string is not a hex encoding of a public key") +fn parse_account_id(s: &str) -> Result { + Ok(AccountId::from_string(s).expect("Passed string is not a hex encoding of a public key")) } -fn parse_chaintype(s: &str) -> ChainType { - match s { +fn parse_chaintype(s: &str) -> Result { + Ok(match s { CHAINTYPE_DEV => ChainType::Development, CHAINTYPE_LOCAL => ChainType::Local, CHAINTYPE_LIVE => ChainType::Live, s => panic!("Wrong chain type {} Possible values: dev local live", s), - } + }) } #[derive(Clone, Deserialize, Serialize)] @@ -103,35 +106,35 @@ fn to_account_ids(authorities: &[AuthorityKeys]) -> impl Iterator, /// AccountId of the sudo account - #[clap(long, parse(from_str = parse_account_id), default_value(DEFAULT_SUDO_ACCOUNT))] + #[arg(long, value_parser = parse_account_id, default_value(DEFAULT_SUDO_ACCOUNT))] sudo_account_id: AccountId, /// AccountId of the optional faucet account - #[clap(long, parse(from_str = parse_account_id))] + #[arg(long, value_parser = parse_account_id)] faucet_account_id: Option, /// Minimum number of stakers before chain enters emergency state. - #[clap(long, default_value = "4")] + #[arg(long, default_value = "4")] min_validator_count: u32, } diff --git a/bin/node/src/cli.rs b/bin/node/src/cli.rs index 09ab6d54f5..3284875b6a 100644 --- a/bin/node/src/cli.rs +++ b/bin/node/src/cli.rs @@ -1,5 +1,7 @@ -use clap::{Parser, Subcommand as ClapSubcommand}; -use sc_cli::{ChainSpec, RunCmd, RuntimeVersion, SubstrateCli}; +use sc_cli::{ + clap::{self, Parser, Subcommand as ClapSubcommand}, + ChainSpec, RunCmd, RuntimeVersion, SubstrateCli, +}; use crate::{ aleph_cli::AlephCli, @@ -10,13 +12,13 @@ use crate::{ #[derive(Debug, Parser)] #[clap(subcommand_negates_reqs(true), version(env!("SUBSTRATE_CLI_IMPL_VERSION")))] pub struct Cli { - #[clap(subcommand)] + #[command(subcommand)] pub subcommand: Option, - #[clap(flatten)] + #[command(flatten)] pub aleph: AlephCli, - #[clap(flatten)] + #[command(flatten)] pub run: RunCmd, } @@ -67,7 +69,7 @@ impl SubstrateCli for Cli { #[derive(Debug, ClapSubcommand)] pub enum Subcommand { /// Key management cli utilities - #[clap(subcommand)] + #[command(subcommand)] Key(sc_cli::KeySubcommand), /// Populate authorities keystore and generate chainspec in JSON format (printed to stdout) diff --git a/bin/node/src/commands.rs b/bin/node/src/commands.rs index 046eee368f..ddbea7e3e5 100644 --- a/bin/node/src/commands.rs +++ b/bin/node/src/commands.rs @@ -1,5 +1,4 @@ use std::{ - ffi::OsStr, fs, io::{self, Write}, path::{Path, PathBuf}, @@ -7,9 +6,11 @@ use std::{ use aleph_primitives::AuthorityId as AlephId; use aleph_runtime::AccountId; -use clap::{Args, Parser}; use libp2p::identity::{ed25519 as libp2p_ed25519, PublicKey}; -use sc_cli::{CliConfiguration, DatabaseParams, Error, KeystoreParams, SharedParams}; +use sc_cli::{ + clap::{self, Args, Parser}, + CliConfiguration, DatabaseParams, Error, KeystoreParams, SharedParams, +}; use sc_keystore::LocalKeystore; use sc_service::{ config::{BasePath, KeystoreConfig}, @@ -28,22 +29,22 @@ use crate::chain_spec::{ pub struct NodeParams { /// For `bootstrap-node` and `purge-chain` it works with this directory as base. /// For `bootstrap-chain` the base path is appended with an account id for each node. - #[clap(long, short = 'd', value_name = "PATH", parse(from_os_str = parse_base_path))] - base_path: BasePath, + #[arg(long, short = 'd', value_name = "PATH")] + base_path: PathBuf, /// Specify filename to write node private p2p keys to /// Resulting keys will be stored at: base_path/account_id/node_key_file for each node - #[clap(long, default_value = "p2p_secret")] + #[arg(long, default_value = "p2p_secret")] node_key_file: String, /// Directory under which AlephBFT backup is stored - #[clap(long, default_value = DEFAULT_BACKUP_FOLDER)] + #[arg(long, default_value = DEFAULT_BACKUP_FOLDER)] backup_dir: String, } impl NodeParams { - pub fn base_path(&self) -> &BasePath { - &self.base_path + pub fn base_path(&self) -> BasePath { + BasePath::new(&self.base_path) } pub fn node_key_file(&self) -> &str { @@ -55,10 +56,6 @@ impl NodeParams { } } -fn parse_base_path(path: &OsStr) -> BasePath { - BasePath::new(path) -} - /// returns Aura key, if absent a new key is generated fn aura_key(keystore: &impl SyncCryptoStore) -> AuraId { SyncCryptoStore::sr25519_public_keys(keystore, key_types::AURA) @@ -85,7 +82,7 @@ fn aleph_key(keystore: &impl SyncCryptoStore) -> AlephId { fn p2p_key(node_key_path: &Path) -> SerializablePeerId { if node_key_path.exists() { let mut file_content = - hex::decode(fs::read(&node_key_path).unwrap()).expect("Failed to decode secret as hex"); + hex::decode(fs::read(node_key_path).unwrap()).expect("Failed to decode secret as hex"); let secret = libp2p_ed25519::SecretKey::from_bytes(&mut file_content).expect("Bad node key file"); let keypair = libp2p_ed25519::Keypair::from(secret); @@ -160,7 +157,7 @@ fn authority_keys( #[derive(Debug, Parser)] pub struct BootstrapChainCmd { /// Force raw genesis storage output. - #[clap(long = "raw")] + #[arg(long = "raw")] pub raw: bool, #[clap(flatten)] @@ -217,11 +214,11 @@ pub struct BootstrapNodeCmd { /// /// Expects a string with an account id (hex encoding of an sr2559 public key) /// If this argument is not passed a random account id will be generated using account-seed argument as a seed - #[clap(long)] + #[arg(long)] account_id: Option, /// Pass seed used to generate the account private key (sr2559) and the corresponding AccountId - #[clap(long, required_unless_present = "account-id")] + #[arg(long, required_unless_present = "account_id")] pub account_seed: Option, #[clap(flatten)] @@ -243,7 +240,7 @@ impl BootstrapNodeCmd { bootstrap_backup(base_path.path(), backup_dir); let chain_id = self.chain_params.chain_id(); - let keystore = open_keystore(&self.keystore_params, chain_id, base_path); + let keystore = open_keystore(&self.keystore_params, chain_id, &base_path); // Does not rely on the account id in the path let account_id = self.account_id(); @@ -272,7 +269,7 @@ impl BootstrapNodeCmd { #[derive(Debug, Parser)] pub struct ConvertChainspecToRawCmd { /// Specify path to JSON chainspec - #[clap(long, parse(from_os_str))] + #[arg(long)] pub chain: PathBuf, } @@ -306,7 +303,7 @@ pub struct PurgeChainCmd { impl PurgeChainCmd { pub fn run(&self, database_config: DatabaseSource) -> Result<(), Error> { self.purge_chain.run(database_config)?; - self.purge_backup.run() + self.purge_backup.run(self.purge_chain.yes) } } @@ -322,21 +319,18 @@ impl CliConfiguration for PurgeChainCmd { #[derive(Debug, Parser)] pub struct PurgeBackupCmd { - /// Skip interactive prompt by answering yes automatically. - #[clap(short = 'y')] - pub yes: bool, #[clap(flatten)] pub node_params: NodeParams, } impl PurgeBackupCmd { - pub fn run(&self) -> Result<(), Error> { + pub fn run(&self, skip_prompt: bool) -> Result<(), Error> { let backup_path = backup_path( self.node_params.base_path().path(), self.node_params.backup_dir(), ); - if !self.yes { + if !skip_prompt { print!( "Are you sure you want to remove {:?}? [y/N]: ", &backup_path diff --git a/bin/node/src/main.rs b/bin/node/src/main.rs index c2455165a7..d9758ac8b3 100644 --- a/bin/node/src/main.rs +++ b/bin/node/src/main.rs @@ -3,9 +3,8 @@ use aleph_node::ExecutorDispatch; use aleph_node::{new_authority, new_full, new_partial, Cli, Subcommand}; #[cfg(feature = "try-runtime")] use aleph_runtime::Block; -use clap::Parser; use log::warn; -use sc_cli::SubstrateCli; +use sc_cli::{clap::Parser, SubstrateCli}; use sc_network::config::Role; use sc_service::PartialComponents; diff --git a/bin/node/src/rpc.rs b/bin/node/src/rpc.rs index 9749b60c62..892afcb386 100644 --- a/bin/node/src/rpc.rs +++ b/bin/node/src/rpc.rs @@ -7,7 +7,7 @@ use std::sync::Arc; -use aleph_runtime::{opaque::Block, AccountId, Balance, BlockNumber, Hash, Index}; +use aleph_runtime::{opaque::Block, AccountId, Balance, Index}; use finality_aleph::JustificationNotification; use futures::channel::mpsc; use jsonrpsee::RpcModule; @@ -36,14 +36,12 @@ where C: ProvideRuntimeApi, C: HeaderBackend + HeaderMetadata + 'static, C: Send + Sync + 'static, - C::Api: pallet_contracts_rpc::ContractsRuntimeApi, C::Api: substrate_frame_rpc_system::AccountNonceApi, C::Api: pallet_transaction_payment_rpc::TransactionPaymentRuntimeApi, C::Api: BlockBuilder, P: TransactionPool + 'static, B: BlockT, { - use pallet_contracts_rpc::{Contracts, ContractsApiServer}; use pallet_transaction_payment_rpc::{TransactionPayment, TransactionPaymentApiServer}; use substrate_frame_rpc_system::{System, SystemApiServer}; @@ -57,9 +55,7 @@ where module.merge(System::new(client.clone(), pool, deny_unsafe).into_rpc())?; - module.merge(TransactionPayment::new(client.clone()).into_rpc())?; - - module.merge(Contracts::new(client).into_rpc())?; + module.merge(TransactionPayment::new(client).into_rpc())?; use crate::aleph_node_rpc::{AlephNode, AlephNodeApiServer}; module.merge(AlephNode::new(import_justification_tx).into_rpc())?; diff --git a/bin/runtime/Cargo.toml b/bin/runtime/Cargo.toml index b2c80b491b..e0e208c69b 100644 --- a/bin/runtime/Cargo.toml +++ b/bin/runtime/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "aleph-runtime" -version = "0.8.2" +version = "0.8.3" authors = ["Cardinal Cryptography"] edition = "2021" homepage = "https://alephzero.org" @@ -15,53 +15,53 @@ codec = { package = "parity-scale-codec", version = "3.0", default-features = fa scale-info = { version = "2.0", default-features = false, features = ["derive"] } serde = { version = "1.0", optional = true, features = ["derive"] } -frame-executive = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -frame-support = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -frame-system = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -frame-system-rpc-runtime-api = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -frame-try-runtime = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30", optional = true } +frame-executive = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +frame-support = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +frame-system = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +frame-system-rpc-runtime-api = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +frame-try-runtime = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31", optional = true } -pallet-aura = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -pallet-authorship = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -pallet-balances = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -pallet-contracts = { git = "https://github.com/Cardinal-Cryptography/substrate", default-features = false, branch = "aleph-v0.9.30" } -pallet-contracts-primitives = { git = "https://github.com/Cardinal-Cryptography/substrate", default-features = false, branch = "aleph-v0.9.30" } -pallet-contracts-rpc-runtime-api = { git = "https://github.com/Cardinal-Cryptography/substrate", default-features = false, branch = "aleph-v0.9.30" } -pallet-identity = { git = "https://github.com/Cardinal-Cryptography/substrate", default-features = false, branch = "aleph-v0.9.30" } -pallet-randomness-collective-flip = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -pallet-session = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -pallet-scheduler = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -pallet-staking = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -pallet-sudo = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -pallet-timestamp = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -pallet-transaction-payment = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -pallet-transaction-payment-rpc-runtime-api = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -pallet-treasury = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -pallet-vesting = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -pallet-multisig = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -pallet-utility = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -pallet-nomination-pools = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +pallet-aura = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +pallet-authorship = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +pallet-balances = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +pallet-contracts = { git = "https://github.com/Cardinal-Cryptography/substrate", default-features = false, branch = "aleph-v0.9.31" } +pallet-contracts-primitives = { git = "https://github.com/Cardinal-Cryptography/substrate", default-features = false, branch = "aleph-v0.9.31" } +pallet-identity = { git = "https://github.com/Cardinal-Cryptography/substrate", default-features = false, branch = "aleph-v0.9.31" } +pallet-randomness-collective-flip = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +pallet-session = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +pallet-scheduler = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +pallet-staking = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +pallet-sudo = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +pallet-timestamp = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +pallet-transaction-payment = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +pallet-transaction-payment-rpc-runtime-api = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +pallet-treasury = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +pallet-vesting = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +pallet-multisig = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +pallet-utility = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +pallet-nomination-pools = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -sp-api = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -sp-block-builder = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -sp-consensus-aura = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -sp-core = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -sp-inherents = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -sp-offchain = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -sp-runtime = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -sp-session = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -sp-staking = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -sp-std = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -sp-transaction-pool = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -sp-version = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -sp-io = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +sp-api = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +sp-block-builder = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +sp-consensus-aura = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +sp-core = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +sp-inherents = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +sp-offchain = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +sp-runtime = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +sp-session = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +sp-staking = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +sp-std = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +sp-transaction-pool = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +sp-version = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +# NOTE: these two disabled features collide with std in wasm +sp-io = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } primitives = { path = "../../primitives", default-features = false } pallet-aleph = { path = "../../pallets/aleph", default-features = false } pallet-elections = { path = "../../pallets/elections", default-features = false } [build-dependencies] -substrate-wasm-builder = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +substrate-wasm-builder = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } [features] default = ["std"] @@ -82,6 +82,7 @@ std = [ "pallet-sudo/std", "pallet-timestamp/std", "pallet-transaction-payment/std", + "pallet-transaction-payment-rpc-runtime-api/std", "pallet-treasury/std", "pallet-vesting/std", "pallet-multisig/std", @@ -101,11 +102,9 @@ std = [ "sp-version/std", "frame-system/std", "sp-offchain/std", - "pallet-transaction-payment-rpc-runtime-api/std", "frame-system-rpc-runtime-api/std", "primitives/std", "pallet-contracts-primitives/std", - "pallet-contracts-rpc-runtime-api/std", "pallet-contracts/std", "pallet-nomination-pools/std", ] diff --git a/bin/runtime/src/lib.rs b/bin/runtime/src/lib.rs index 1fe077cf4a..95fffe88da 100644 --- a/bin/runtime/src/lib.rs +++ b/bin/runtime/src/lib.rs @@ -20,16 +20,13 @@ pub use frame_support::{ }; use frame_support::{ sp_runtime::Perquintill, - traits::{ConstU32, EqualPrivilegeOnly, SortedMembers, U128CurrencyToVote}, + traits::{ConstU32, EqualPrivilegeOnly, SortedMembers, U128CurrencyToVote, WithdrawReasons}, weights::constants::WEIGHT_PER_MILLIS, PalletId, }; use frame_system::{EnsureRoot, EnsureSignedBy}; pub use pallet_balances::Call as BalancesCall; use pallet_contracts::weights::WeightInfo; -use pallet_contracts_primitives::{ - CodeUploadResult, ContractExecResult, ContractInstantiateResult, GetStorageResult, -}; pub use pallet_timestamp::Call as TimestampCall; use pallet_transaction_payment::{CurrencyAdapter, Multiplier, TargetedFeeAdjustment}; pub use primitives::Balance; @@ -47,7 +44,7 @@ pub use sp_runtime::BuildStorage; use sp_runtime::{ create_runtime_str, generic, impl_opaque_keys, traits::{ - AccountIdLookup, BlakeTwo256, Block as BlockT, ConvertInto, IdentifyAccount, One, + AccountIdLookup, BlakeTwo256, Block as BlockT, Bounded, ConvertInto, IdentifyAccount, One, OpaqueKeys, Verify, }, transaction_validity::{TransactionSource, TransactionValidity}, @@ -146,7 +143,7 @@ parameter_types! { pub const Version: RuntimeVersion = VERSION; pub const BlockHashCount: BlockNumber = 2400; pub BlockWeights: frame_system::limits::BlockWeights = frame_system::limits::BlockWeights - ::with_sensible_defaults(MAX_BLOCK_WEIGHT, NORMAL_DISPATCH_RATIO); + ::with_sensible_defaults(MAX_BLOCK_WEIGHT.set_proof_size(u64::MAX), NORMAL_DISPATCH_RATIO); pub BlockLength: frame_system::limits::BlockLength = frame_system::limits::BlockLength ::max_with_normal_ratio(MAX_BLOCK_SIZE, NORMAL_DISPATCH_RATIO); pub const SS58Prefix: u8 = ADDRESSES_ENCODING; @@ -274,6 +271,7 @@ parameter_types! { pub FeeVariability: Multiplier = Multiplier::saturating_from_rational(67, 1000); // Fee should never be lower than the computational cost. pub MinimumMultiplier: Multiplier = Multiplier::one(); + pub MaximumMultiplier: Multiplier = Bounded::max_value(); } impl pallet_transaction_payment::Config for Runtime { @@ -281,8 +279,13 @@ impl pallet_transaction_payment::Config for Runtime { type OnChargeTransaction = CurrencyAdapter; type LengthToFee = IdentityFee; type WeightToFee = IdentityFee; - type FeeMultiplierUpdate = - TargetedFeeAdjustment; + type FeeMultiplierUpdate = TargetedFeeAdjustment< + Self, + TargetSaturationLevel, + FeeVariability, + MinimumMultiplier, + MaximumMultiplier, + >; type OperationalFeeMultiplier = OperationalFeeMultiplier; } @@ -301,8 +304,7 @@ impl pallet_scheduler::Config for Runtime { type MaxScheduledPerBlock = MaxScheduledPerBlock; type WeightInfo = pallet_scheduler::weights::SubstrateWeight; type OriginPrivilegeCmp = EqualPrivilegeOnly; - type PreimageProvider = (); - type NoPreimagePostponement = (); + type Preimages = (); } impl pallet_sudo::Config for Runtime { @@ -550,6 +552,7 @@ where parameter_types! { pub const MinVestedTransfer: Balance = MICRO_AZERO; + pub UnvestedFundsAllowedWithdrawReasons: WithdrawReasons = WithdrawReasons::except(WithdrawReasons::TRANSFER | WithdrawReasons::RESERVE); } impl pallet_vesting::Config for Runtime { @@ -558,6 +561,7 @@ impl pallet_vesting::Config for Runtime { type BlockNumberToBalance = ConvertInto; type MinVestedTransfer = MinVestedTransfer; type WeightInfo = pallet_vesting::weights::SubstrateWeight; + type UnvestedFundsAllowedWithdrawReasons = UnvestedFundsAllowedWithdrawReasons; // Maximum number of vesting schedules an account may have at a given moment // follows polkadot https://github.com/paritytech/polkadot/blob/9ce5f7ef5abb1a4291454e8c9911b304d80679f9/runtime/polkadot/src/lib.rs#L980 const MAX_VESTING_SCHEDULES: u32 = 28; @@ -638,9 +642,6 @@ impl pallet_utility::Config for Runtime { type PalletsOrigin = OriginCaller; } -// Prints debug output of the `contracts` pallet to stdout if the node is started with `-lruntime::contracts=debug`. -const CONTRACTS_DEBUG_OUTPUT: bool = true; - parameter_types! { // Refundable deposit per storage item pub const DepositPerItem: Balance = 32 * DEPOSIT_PER_BYTE; @@ -676,7 +677,6 @@ impl pallet_contracts::Config for Runtime { type Schedule = Schedule; type CallStack = [pallet_contracts::Frame; 31]; type AddressGenerator = pallet_contracts::DefaultAddressGenerator; - type ContractAccessWeight = pallet_contracts::DefaultContractAccessWeight; type MaxCodeLen = ConstU32<{ 128 * 1024 }>; type MaxStorageKeyLen = ConstU32<128>; } @@ -915,50 +915,6 @@ impl_runtime_apis! { } } - impl pallet_contracts_rpc_runtime_api::ContractsApi for Runtime { - - fn call( - origin: AccountId, - dest: AccountId, - value: Balance, - gas_limit: u64, - storage_deposit_limit: Option, - input_data: Vec, - ) -> ContractExecResult { - Contracts::bare_call(origin, dest, value, Weight::from_ref_time(gas_limit), storage_deposit_limit, input_data, CONTRACTS_DEBUG_OUTPUT) - } - - fn instantiate( - origin: AccountId, - value: Balance, - gas_limit: u64, - storage_deposit_limit: Option, - code: pallet_contracts_primitives::Code, - data: Vec, - salt: Vec, - ) -> ContractInstantiateResult - { - Contracts::bare_instantiate(origin, value, Weight::from_ref_time(gas_limit), storage_deposit_limit, code, data, salt, CONTRACTS_DEBUG_OUTPUT) - } - - fn upload_code( - origin: AccountId, - code: Vec, - storage_deposit_limit: Option, - ) -> CodeUploadResult - { - Contracts::bare_upload_code(origin, code, storage_deposit_limit) - } - - fn get_storage( - address: AccountId, - key: Vec, - ) -> GetStorageResult { - Contracts::get_storage(address, key) - } - - } - #[cfg(feature = "try-runtime")] impl frame_try_runtime::TryRuntime for Runtime { fn on_runtime_upgrade() -> (Weight, Weight) { diff --git a/e2e-tests/Cargo.lock b/e2e-tests/Cargo.lock index 8d3e01291e..2d6896540c 100644 --- a/e2e-tests/Cargo.lock +++ b/e2e-tests/Cargo.lock @@ -49,7 +49,7 @@ dependencies = [ [[package]] name = "aleph-e2e-client" -version = "0.9.2" +version = "0.9.3" dependencies = [ "aleph_client", "anyhow", @@ -68,18 +68,18 @@ dependencies = [ "primitives", "rayon", "serde_json", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-core 6.0.0", + "sp-runtime 6.0.0", "tokio", ] [[package]] name = "aleph_client" -version = "2.2.0" +version = "2.3.0" dependencies = [ "anyhow", "async-trait", - "contract-metadata 1.5.0", + "contract-metadata", "contract-transcode", "frame-support", "futures", @@ -91,8 +91,8 @@ dependencies = [ "primitives", "serde", "serde_json", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-core 6.0.0", + "sp-runtime 6.0.0", "subxt", "thiserror", ] @@ -142,15 +142,6 @@ version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a4c527152e37cf757a3f78aae5a06fbeefdb07ccc535c980a3208ee3060dd544" -[[package]] -name = "arrayvec" -version = "0.4.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd9fd44efafa8690358b7408d253adf110036b88f55672a933f01d616ad9b1b9" -dependencies = [ - "nodrop", -] - [[package]] name = "arrayvec" version = "0.5.2" @@ -175,9 +166,9 @@ dependencies = [ [[package]] name = "async-trait" -version = "0.1.58" +version = "0.1.59" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e805d94e6b5001b651426cf4cd446b1ab5f319d27bab5c644f61de0a804360c" +checksum = "31e6e93155431f3931513b243d371981bb2770112b370c82745a1d19d2f99364" dependencies = [ "proc-macro2", "quote", @@ -276,16 +267,6 @@ dependencies = [ "digest 0.10.6", ] -[[package]] -name = "blake2-rfc" -version = "0.2.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d6d530bdd2d52966a6d03b7a964add7ae1a288d25214066fd4b600f0f796400" -dependencies = [ - "arrayvec 0.4.12", - "constant_time_eq", -] - [[package]] name = "block-buffer" version = "0.7.3" @@ -452,31 +433,13 @@ version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e4c78c047431fee22c1a7bb92e00ad095a02a983affe4d8a72e2a2c62c1b94f3" -[[package]] -name = "constant_time_eq" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc" - -[[package]] -name = "contract-metadata" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36318b44d658ee23a2daf66811822bdf6ac686aa534ea87eb9e16e7430ca6928" -dependencies = [ - "impl-serde", - "semver", - "serde", - "serde_json", - "url", -] - [[package]] name = "contract-metadata" -version = "1.5.0" +version = "2.0.0-beta" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f25bdb57a728064a0e4909dfbb29957ebb06d205307e337d3b5596c7e67dd3a" +checksum = "40248c6a648b3679ea52bb83d8921246d0347644eaf7b0eec4c5601fa8feb651" dependencies = [ + "anyhow", "impl-serde", "semver", "serde", @@ -486,12 +449,12 @@ dependencies = [ [[package]] name = "contract-transcode" -version = "0.1.0" +version = "2.0.0-beta" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfa6db9d18dd5ef92d29c52d30c8503c857d390d9e4043e12466f1490c43c05e" +checksum = "61159f8e266d4892be25f2b1e7ff2c4c6dd4338ca26498d907e5532a52a28e5f" dependencies = [ "anyhow", - "contract-metadata 0.6.0", + "contract-metadata", "env_logger 0.9.3", "escape8259", "hex", @@ -499,15 +462,15 @@ dependencies = [ "ink_env", "ink_metadata", "itertools", - "log", "nom", "nom-supreme", "parity-scale-codec", "scale-info", "serde", "serde_json", - "sp-core 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-runtime 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-core 7.0.0", + "sp-runtime 7.0.0", + "tracing", ] [[package]] @@ -836,29 +799,6 @@ dependencies = [ "signature", ] -[[package]] -name = "ed25519" -version = "1.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e9c280362032ea4203659fc489832d0204ef09f247a0506f170dafcac08c369" -dependencies = [ - "signature", -] - -[[package]] -name = "ed25519-dalek" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c762bae6dcaf24c4c84667b8579785430908723d5c889f469d76a41d59cc7a9d" -dependencies = [ - "curve25519-dalek 3.2.0", - "ed25519", - "rand 0.7.3", - "serde", - "sha2 0.9.9", - "zeroize", -] - [[package]] name = "ed25519-zebra" version = "3.1.0" @@ -925,9 +865,9 @@ dependencies = [ [[package]] name = "environmental" -version = "1.1.3" +version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68b91989ae21441195d7d9b9993a2f9295c7e1a8c96255d8b729accddc124797" +checksum = "e48c92028aaa870e83d51c64e5d4e0b6981b360c522198c23959f219a4e1b15b" [[package]] name = "escape8259" @@ -971,9 +911,9 @@ dependencies = [ [[package]] name = "fixed-hash" -version = "0.7.0" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfcf0ed7fe52a17a03854ec54a9f76d6d84508d1c0e66bc1793301c73fc8493c" +checksum = "835c052cb0c08c1acf6ffd71c022172e18723949c8282f2b9f27efbc51e64534" dependencies = [ "byteorder", "rand 0.8.5", @@ -999,7 +939,7 @@ dependencies = [ [[package]] name = "frame-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "frame-support", "frame-system", @@ -1010,19 +950,19 @@ dependencies = [ "scale-info", "serde", "sp-api", - "sp-application-crypto 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-runtime-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-storage 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-application-crypto 6.0.0", + "sp-core 6.0.0", + "sp-io 6.0.0", + "sp-runtime 6.0.0", + "sp-runtime-interface 6.0.0", + "sp-std 4.0.0", + "sp-storage 6.0.0", ] [[package]] name = "frame-election-provider-solution-type" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -1033,17 +973,17 @@ dependencies = [ [[package]] name = "frame-election-provider-support" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "frame-election-provider-solution-type", "frame-support", "frame-system", "parity-scale-codec", "scale-info", - "sp-arithmetic 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-arithmetic 5.0.0", "sp-npos-elections", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-runtime 6.0.0", + "sp-std 4.0.0", ] [[package]] @@ -1061,7 +1001,7 @@ dependencies = [ [[package]] name = "frame-support" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "bitflags", "frame-metadata", @@ -1076,24 +1016,24 @@ dependencies = [ "serde", "smallvec", "sp-api", - "sp-arithmetic 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-arithmetic 5.0.0", + "sp-core 6.0.0", "sp-core-hashing-proc-macro", "sp-inherents", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-io 6.0.0", + "sp-runtime 6.0.0", "sp-staking", - "sp-state-machine 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-tracing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-weights", + "sp-state-machine 0.12.0", + "sp-std 4.0.0", + "sp-tracing 5.0.0", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31)", "tt-call", ] [[package]] name = "frame-support-procedural" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "Inflector", "cfg-expr", @@ -1107,7 +1047,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate", @@ -1119,7 +1059,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "proc-macro2", "quote", @@ -1129,19 +1069,19 @@ dependencies = [ [[package]] name = "frame-system" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "frame-support", "log", "parity-scale-codec", "scale-info", "serde", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-core 6.0.0", + "sp-io 6.0.0", + "sp-runtime 6.0.0", + "sp-std 4.0.0", "sp-version", - "sp-weights", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31)", ] [[package]] @@ -1300,8 +1240,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31" dependencies = [ "cfg-if", + "js-sys", "libc", "wasi 0.11.0+wasi-snapshot-preview1", + "wasm-bindgen", ] [[package]] @@ -1321,6 +1263,25 @@ dependencies = [ "subtle", ] +[[package]] +name = "h2" +version = "0.3.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f9f29bc9dda355256b2916cf526ab02ce0aeaaaf2bad60d65ef3f12f11dd0f4" +dependencies = [ + "bytes", + "fnv", + "futures-core", + "futures-sink", + "futures-util", + "http", + "indexmap", + "slab", + "tokio", + "tokio-util", + "tracing", +] + [[package]] name = "hash-db" version = "0.15.2" @@ -1408,18 +1369,75 @@ dependencies = [ "itoa", ] +[[package]] +name = "http-body" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1" +dependencies = [ + "bytes", + "http", + "pin-project-lite", +] + [[package]] name = "httparse" version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" +[[package]] +name = "httpdate" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421" + [[package]] name = "humantime" version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" +[[package]] +name = "hyper" +version = "0.14.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "034711faac9d2166cb1baf1a2fb0b60b1f277f8492fd72176c17f3515e1abd3c" +dependencies = [ + "bytes", + "futures-channel", + "futures-core", + "futures-util", + "h2", + "http", + "http-body", + "httparse", + "httpdate", + "itoa", + "pin-project-lite", + "socket2", + "tokio", + "tower-service", + "tracing", + "want", +] + +[[package]] +name = "hyper-rustls" +version = "0.23.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59df7c4e19c950e6e0e868dcc0a300b09a9b88e9ec55bd879ca819087a77355d" +dependencies = [ + "http", + "hyper", + "log", + "rustls", + "rustls-native-certs", + "tokio", + "tokio-rustls", + "webpki-roots", +] + [[package]] name = "iana-time-zone" version = "0.1.53" @@ -1471,9 +1489,9 @@ dependencies = [ [[package]] name = "impl-serde" -version = "0.3.2" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4551f042f3438e64dbd6226b20527fc84a6e1fe65688b58746a2f53623f25f5c" +checksum = "ebc88fc67028ae3db0c853baa36269d398d5f45b6982f95549ff5def78c935cd" dependencies = [ "serde", ] @@ -1507,33 +1525,33 @@ dependencies = [ [[package]] name = "ink_allocator" -version = "3.4.0" +version = "4.0.0-beta" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c9588a59a0e8997c0b2153cd11b5aaa77c06a0537a6b18f3811d1f1aa098b12" +checksum = "b36dadecdc7e33b0fe1c198b52d474ce73ccd93ffd8acd6ded02458b4a58a2d9" dependencies = [ "cfg-if", ] [[package]] name = "ink_engine" -version = "3.4.0" +version = "4.0.0-beta" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "487c3b390b7feb0620496b0cd38683433c7d7e6946b1caabda51e1f23eb24b30" +checksum = "319a74f3313698ae6d4ae5b43164a1e0efbfd45bd0f7ef689745f98f6e505998" dependencies = [ "blake2", "derive_more", + "ink_primitives", "parity-scale-codec", - "rand 0.8.5", - "secp256k1 0.24.1", + "secp256k1", "sha2 0.10.6", "sha3", ] [[package]] name = "ink_env" -version = "3.4.0" +version = "4.0.0-beta" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a891d34301a3dbb1c7b7424c49ae184282b163491c54f9acd17fcbe14a80447b" +checksum = "4543d0e0e5d1d97ce1ccb225599603ab15fb9d486f692176649b43a1311a8ad7" dependencies = [ "arrayref", "blake2", @@ -1544,13 +1562,13 @@ dependencies = [ "ink_metadata", "ink_prelude", "ink_primitives", + "ink_storage_traits", "num-traits", "parity-scale-codec", "paste", - "rand 0.8.5", "rlibc", "scale-info", - "secp256k1 0.24.1", + "secp256k1", "sha2 0.10.6", "sha3", "static_assertions", @@ -1558,9 +1576,9 @@ dependencies = [ [[package]] name = "ink_metadata" -version = "3.4.0" +version = "4.0.0-beta" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74913aaed5751f5615af4631b7559328b8ed56c9cb821b89e14af0706176e849" +checksum = "caa94adad4fca9e3a79a1c5b0edc1ea2109ef56a955a57df35b2ad32c461ac21" dependencies = [ "derive_more", "impl-serde", @@ -1572,23 +1590,38 @@ dependencies = [ [[package]] name = "ink_prelude" -version = "3.4.0" +version = "4.0.0-beta" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f031e6b8495594a7288b089bf4122e76c26b994959d1b2b693bdfe846b14c0e" +checksum = "5962125f78304bc2b3083391cbd579125c64ce17e61b019034094faf772c915a" dependencies = [ "cfg-if", ] [[package]] name = "ink_primitives" -version = "3.4.0" +version = "4.0.0-beta" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e12cf42dce81d060401c7cec95a392ad6d3c2f18661fa3083f619ce135133c33" +checksum = "90f4f26208fe23e12d436917697b951252519484134a3561fe8b65a5abc97aa9" dependencies = [ - "cfg-if", + "derive_more", + "ink_prelude", + "parity-scale-codec", + "scale-info", + "xxhash-rust", +] + +[[package]] +name = "ink_storage_traits" +version = "4.0.0-beta" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "596247891eb221a0b7debce9f8cf123b9a14f23a4a10664e73ec16d9eb1e92e9" +dependencies = [ + "ink_metadata", "ink_prelude", + "ink_primitives", "parity-scale-codec", "scale-info", + "syn", ] [[package]] @@ -1641,20 +1674,21 @@ dependencies = [ [[package]] name = "jsonrpsee" -version = "0.15.1" +version = "0.16.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8bd0d559d5e679b1ab2f869b486a11182923863b1b3ee8b421763cdd707b783a" +checksum = "7d291e3a5818a2384645fd9756362e6d89cf0541b0b916fa7702ea4a9833608e" dependencies = [ "jsonrpsee-client-transport", "jsonrpsee-core", + "jsonrpsee-http-client", "jsonrpsee-types", ] [[package]] name = "jsonrpsee-client-transport" -version = "0.15.1" +version = "0.16.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8752740ecd374bcbf8b69f3e80b0327942df76f793f8d4e60d3355650c31fb74" +checksum = "965de52763f2004bc91ac5bcec504192440f0b568a5d621c59d9dbd6f886c3fb" dependencies = [ "futures-util", "http", @@ -1673,9 +1707,9 @@ dependencies = [ [[package]] name = "jsonrpsee-core" -version = "0.15.1" +version = "0.16.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3dc3e9cf2ba50b7b1d7d76a667619f82846caa39e8e8daa8a4962d74acaddca" +checksum = "a4e70b4439a751a5de7dd5ed55eacff78ebf4ffe0fc009cb1ebb11417f5b536b" dependencies = [ "anyhow", "async-lock", @@ -1684,6 +1718,26 @@ dependencies = [ "futures-channel", "futures-timer", "futures-util", + "hyper", + "jsonrpsee-types", + "rustc-hash", + "serde", + "serde_json", + "thiserror", + "tokio", + "tracing", +] + +[[package]] +name = "jsonrpsee-http-client" +version = "0.16.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc345b0a43c6bc49b947ebeb936e886a419ee3d894421790c969cc56040542ad" +dependencies = [ + "async-trait", + "hyper", + "hyper-rustls", + "jsonrpsee-core", "jsonrpsee-types", "rustc-hash", "serde", @@ -1691,14 +1745,13 @@ dependencies = [ "thiserror", "tokio", "tracing", - "tracing-futures", ] [[package]] name = "jsonrpsee-types" -version = "0.15.1" +version = "0.16.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e290bba767401b646812f608c099b922d8142603c9e73a50fb192d3ac86f4a0d" +checksum = "5bd522fe1ce3702fd94812965d7bb7a3364b1c9aba743944c5a00529aae80f8c" dependencies = [ "anyhow", "beef", @@ -1842,6 +1895,15 @@ dependencies = [ "hashbrown", ] +[[package]] +name = "lru" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6e8aaa3f231bb4bd57b84b2d5dc3ae7f350265df8aa96492e0bc394a1571909" +dependencies = [ + "hashbrown", +] + [[package]] name = "matchers" version = "0.0.1" @@ -1877,21 +1939,15 @@ dependencies = [ [[package]] name = "memory-db" -version = "0.29.0" +version = "0.30.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6566c70c1016f525ced45d7b7f97730a2bafb037c788211d0c186ef5b2189f0a" +checksum = "34ac11bb793c28fa095b7554466f53b3a60a2cd002afdac01bcf135cbd73a269" dependencies = [ "hash-db", "hashbrown", "parity-util-mem", ] -[[package]] -name = "memory_units" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71d96e3f3c0b6325d8ccd83c33b28acb183edcb6c67938ba104ec546854b0882" - [[package]] name = "memory_units" version = "0.4.0" @@ -1947,7 +2003,7 @@ dependencies = [ "matrixmultiply", "nalgebra-macros", "num-complex", - "num-rational 0.4.1", + "num-rational", "num-traits", "rand 0.8.5", "rand_distr", @@ -1966,12 +2022,6 @@ dependencies = [ "syn", ] -[[package]] -name = "nodrop" -version = "0.1.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb" - [[package]] name = "nohash-hasher" version = "0.2.0" @@ -2001,17 +2051,6 @@ dependencies = [ "nom", ] -[[package]] -name = "num-bigint" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "090c7f9998ee0ff65aa5b723e4009f7b217707f1fb5ea551329cc4d6231fb304" -dependencies = [ - "autocfg", - "num-integer", - "num-traits", -] - [[package]] name = "num-bigint" version = "0.4.3" @@ -2052,18 +2091,6 @@ dependencies = [ "num-traits", ] -[[package]] -name = "num-rational" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c000134b5dbf44adc5cb772486d335293351644b801551abe8f75c84cfa4aef" -dependencies = [ - "autocfg", - "num-bigint 0.2.6", - "num-integer", - "num-traits", -] - [[package]] name = "num-rational" version = "0.4.1" @@ -2071,7 +2098,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0" dependencies = [ "autocfg", - "num-bigint 0.4.3", + "num-bigint", "num-integer", "num-traits", ] @@ -2138,7 +2165,7 @@ checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee" [[package]] name = "pallet-authorship" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "frame-support", "frame-system", @@ -2146,14 +2173,14 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-authorship", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-runtime 6.0.0", + "sp-std 4.0.0", ] [[package]] name = "pallet-balances" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "frame-benchmarking", "frame-support", @@ -2161,28 +2188,25 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-runtime 6.0.0", + "sp-std 4.0.0", ] [[package]] name = "pallet-contracts-primitives" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "bitflags", "parity-scale-codec", - "scale-info", - "serde", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-rpc", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-runtime 6.0.0", + "sp-std 4.0.0", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31)", ] [[package]] name = "pallet-elections" -version = "0.5.2" +version = "0.5.3" dependencies = [ "frame-election-provider-support", "frame-support", @@ -2195,17 +2219,17 @@ dependencies = [ "parity-scale-codec", "primitives", "scale-info", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-core 6.0.0", + "sp-io 6.0.0", + "sp-runtime 6.0.0", "sp-staking", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0", ] [[package]] name = "pallet-session" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "frame-support", "frame-system", @@ -2214,19 +2238,19 @@ dependencies = [ "pallet-timestamp", "parity-scale-codec", "scale-info", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-core 6.0.0", + "sp-io 6.0.0", + "sp-runtime 6.0.0", "sp-session", "sp-staking", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-trie 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0", + "sp-trie 6.0.0", ] [[package]] name = "pallet-staking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -2238,17 +2262,17 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-application-crypto 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-application-crypto 6.0.0", + "sp-io 6.0.0", + "sp-runtime 6.0.0", "sp-staking", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0", ] [[package]] name = "pallet-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "frame-benchmarking", "frame-support", @@ -2257,18 +2281,18 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-inherents", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-io 6.0.0", + "sp-runtime 6.0.0", + "sp-std 4.0.0", "sp-timestamp", ] [[package]] name = "pallets-support" -version = "0.1.2" +version = "0.1.3" dependencies = [ "frame-support", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0", ] [[package]] @@ -2300,9 +2324,9 @@ dependencies = [ [[package]] name = "parity-util-mem" -version = "0.11.0" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c32561d248d352148124f036cac253a644685a21dc9fea383eb4907d7bd35a8f" +checksum = "0d32c34f4f5ca7f9196001c0aba5a1f9a5a12382c8944b8b0f90233282d1e8f8" dependencies = [ "cfg-if", "hashbrown", @@ -2324,12 +2348,6 @@ dependencies = [ "synstructure", ] -[[package]] -name = "parity-wasm" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be5e13c266502aadf83426d87d81a0f5d1ef45b8027f5a471c360abfe4bfae92" - [[package]] name = "parity-wasm" version = "0.45.0" @@ -2354,9 +2372,9 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.4" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4dc9e0dc2adc1c69d09143aff38d3d30c5c3f0df0dad82e6d25547af174ebec0" +checksum = "7ff9f3fef3968a3ec5945535ed654cb38ff72d7495a25619e2247fb15a2ed9ba" dependencies = [ "cfg-if", "libc", @@ -2446,9 +2464,9 @@ checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" [[package]] name = "primitive-types" -version = "0.11.1" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e28720988bff275df1f51b171e1b2a18c30d194c4d2b61defdacecd625a5d94a" +checksum = "9f3486ccba82358b11a77516035647c34ba167dfa53312630de83b12bd4f3d66" dependencies = [ "fixed-hash", "impl-codec", @@ -2459,17 +2477,17 @@ dependencies = [ [[package]] name = "primitives" -version = "0.5.2" +version = "0.5.3" dependencies = [ "parity-scale-codec", "scale-info", "serde", "sp-api", - "sp-application-crypto 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-application-crypto 6.0.0", + "sp-core 6.0.0", + "sp-runtime 6.0.0", "sp-staking", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0", ] [[package]] @@ -2930,31 +2948,13 @@ dependencies = [ "zeroize", ] -[[package]] -name = "secp256k1" -version = "0.21.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c42e6f1735c5f00f51e43e28d6634141f2bcad10931b2609ddd74a86d751260" -dependencies = [ - "secp256k1-sys 0.4.2", -] - [[package]] name = "secp256k1" version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ff55dc09d460954e9ef2fa8a7ced735a964be9981fd50e870b2b3b0705e14964" dependencies = [ - "secp256k1-sys 0.6.1", -] - -[[package]] -name = "secp256k1-sys" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "957da2573cde917463ece3570eab4a0b3f19de6f1646cde62e6fd3868f566036" -dependencies = [ - "cc", + "secp256k1-sys", ] [[package]] @@ -3009,18 +3009,18 @@ dependencies = [ [[package]] name = "serde" -version = "1.0.147" +version = "1.0.148" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d193d69bae983fc11a79df82342761dfbf28a99fc8d203dca4c3c1b590948965" +checksum = "e53f64bb4ba0191d6d0676e1b141ca55047d83b74f5607e6d8eb88126c52c2dc" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.147" +version = "1.0.148" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f1d362ca8fc9c3e3a7484440752472d68a6caa98f1ab81d99b5dfe517cec852" +checksum = "a55492425aa53521babf6137309e7d34c20bbfbbfcfe2c7f3a047fd1f6b92c0c" dependencies = [ "proc-macro2", "quote", @@ -3180,17 +3180,17 @@ dependencies = [ [[package]] name = "sp-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "hash-db", "log", "parity-scale-codec", "sp-api-proc-macro", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-state-machine 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-trie 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-core 6.0.0", + "sp-runtime 6.0.0", + "sp-state-machine 0.12.0", + "sp-std 4.0.0", + "sp-trie 6.0.0", "sp-version", "thiserror", ] @@ -3198,7 +3198,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "blake2", "proc-macro-crate", @@ -3210,89 +3210,88 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acb4490364cb3b097a6755343e552495b0013778152300714be4647d107e9a2e" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-io 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-core 6.0.0", + "sp-io 6.0.0", + "sp-std 4.0.0", ] [[package]] name = "sp-application-crypto" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30a70f8245ad75c773c43e46d16e81adb62290d37cd07efcde6cef06d93235e5" dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-core 7.0.0", + "sp-io 7.0.0", + "sp-std 5.0.0", ] [[package]] name = "sp-arithmetic" version = "5.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31ef21f82cc10f75ed046b65e2f8048080ee76e59f1b8aed55c7150daebfd35b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "integer-sqrt", "num-traits", "parity-scale-codec", "scale-info", "serde", - "sp-debug-derive 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-debug-derive 4.0.0", + "sp-std 4.0.0", "static_assertions", ] [[package]] name = "sp-arithmetic" -version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3856b3e912f0a7a1332f1642b5fd3c2e76476e894c656538d32c004698690157" dependencies = [ "integer-sqrt", "num-traits", "parity-scale-codec", "scale-info", "serde", - "sp-debug-derive 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-debug-derive 5.0.0", + "sp-std 5.0.0", "static_assertions", ] [[package]] name = "sp-authorship" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "async-trait", "parity-scale-codec", "sp-inherents", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-runtime 6.0.0", + "sp-std 4.0.0", ] [[package]] name = "sp-core" version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77963e2aa8fadb589118c3aede2e78b6c4bcf1c01d588fbf33e915b390825fbd" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ + "array-bytes", "base58", "bitflags", - "blake2-rfc", + "blake2", "byteorder", "dyn-clonable", - "ed25519-dalek", + "ed25519-zebra", "futures", "hash-db", "hash256-std-hasher", - "hex", "impl-serde", "lazy_static", "libsecp256k1", @@ -3307,27 +3306,28 @@ dependencies = [ "regex", "scale-info", "schnorrkel", - "secp256k1 0.21.3", + "secp256k1", "secrecy", "serde", - "sp-core-hashing 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-debug-derive 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-externalities 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-runtime-interface 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-storage 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-core-hashing 4.0.0", + "sp-debug-derive 4.0.0", + "sp-externalities 0.12.0", + "sp-runtime-interface 6.0.0", + "sp-std 4.0.0", + "sp-storage 6.0.0", "ss58-registry", "substrate-bip39", "thiserror", "tiny-bip39", - "wasmi 0.9.1", + "wasmi", "zeroize", ] [[package]] name = "sp-core" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88c78530907dbf7949af928d0ce88b485067389201b6d9b468074b1924f209f0" dependencies = [ "array-bytes", "base58", @@ -3346,74 +3346,73 @@ dependencies = [ "merlin", "num-traits", "parity-scale-codec", - "parity-util-mem", "parking_lot", "primitive-types", "rand 0.7.3", "regex", "scale-info", "schnorrkel", - "secp256k1 0.24.1", + "secp256k1", "secrecy", "serde", - "sp-core-hashing 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-debug-derive 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-runtime-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-storage 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-core-hashing 5.0.0", + "sp-debug-derive 5.0.0", + "sp-externalities 0.13.0", + "sp-runtime-interface 7.0.0", + "sp-std 5.0.0", + "sp-storage 7.0.0", "ss58-registry", "substrate-bip39", "thiserror", "tiny-bip39", - "wasmi 0.13.2", + "wasmi", "zeroize", ] [[package]] name = "sp-core-hashing" version = "4.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec864a6a67249f0c8dd3d5acab43623a61677e85ff4f2f9b04b802d2fe780e83" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ - "blake2-rfc", + "blake2", "byteorder", - "sha2 0.9.9", - "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "tiny-keccak", + "digest 0.10.6", + "sha2 0.10.6", + "sha3", + "sp-std 4.0.0", "twox-hash", ] [[package]] name = "sp-core-hashing" -version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +version = "5.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49b9d1daa6aebfc144729b630885e91df92ff00560490ec065a56cb538e8895a" dependencies = [ "blake2", "byteorder", "digest 0.10.6", "sha2 0.10.6", "sha3", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 5.0.0", "twox-hash", ] [[package]] name = "sp-core-hashing-proc-macro" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "proc-macro2", "quote", - "sp-core-hashing 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-core-hashing 4.0.0", "syn", ] [[package]] name = "sp-debug-derive" version = "4.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d676664972e22a0796176e81e7bec41df461d1edf52090955cdab55f2c956ff2" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "proc-macro2", "quote", @@ -3422,8 +3421,9 @@ dependencies = [ [[package]] name = "sp-debug-derive" -version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +version = "5.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9e9ba7352773b96a4aa57e903447f841c6bc26e8c798377db6e7eb332346454" dependencies = [ "proc-macro2", "quote", @@ -3433,70 +3433,71 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fcfd91f92a2a59224230a77c4a5d6f51709620c0aab4e51f108ccece6adc56f" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "environmental", "parity-scale-codec", - "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-storage 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 4.0.0", + "sp-storage 6.0.0", ] [[package]] name = "sp-externalities" -version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef739442230f49d88ece41259e5d886d6b8bc0f4197ef7f1585c39c762ce7ef2" dependencies = [ "environmental", "parity-scale-codec", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-storage 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 5.0.0", + "sp-storage 7.0.0", ] [[package]] name = "sp-inherents" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "async-trait", "impl-trait-for-tuples", "parity-scale-codec", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-core 6.0.0", + "sp-runtime 6.0.0", + "sp-std 4.0.0", "thiserror", ] [[package]] name = "sp-io" version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "935fd3c71bad6811a7984cabb74d323b8ca3107024024c3eabb610e0182ba8d3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ + "bytes", "futures", "hash-db", "libsecp256k1", "log", "parity-scale-codec", "parking_lot", - "secp256k1 0.21.3", - "sp-core 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-externalities 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-keystore 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-runtime-interface 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-state-machine 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-tracing 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-trie 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-wasm-interface 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "secp256k1", + "sp-core 6.0.0", + "sp-externalities 0.12.0", + "sp-keystore 0.12.0", + "sp-runtime-interface 6.0.0", + "sp-state-machine 0.12.0", + "sp-std 4.0.0", + "sp-tracing 5.0.0", + "sp-trie 6.0.0", + "sp-wasm-interface 6.0.0", "tracing", "tracing-core", ] [[package]] name = "sp-io" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6280bd3643354f7ff0b2abd36c687745455779231a7a86d90945608f0d4924c4" dependencies = [ "bytes", "futures", @@ -3505,16 +3506,16 @@ dependencies = [ "log", "parity-scale-codec", "parking_lot", - "secp256k1 0.24.1", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-keystore 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-runtime-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-state-machine 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-tracing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-trie 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-wasm-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "secp256k1", + "sp-core 7.0.0", + "sp-externalities 0.13.0", + "sp-keystore 0.13.0", + "sp-runtime-interface 7.0.0", + "sp-state-machine 0.13.0", + "sp-std 5.0.0", + "sp-tracing 6.0.0", + "sp-trie 7.0.0", + "sp-wasm-interface 7.0.0", "tracing", "tracing-core", ] @@ -3522,8 +3523,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3261eddca8c8926e3e1de136a7980cb3afc3455247d9d6f3119d9b292f73aaee" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "async-trait", "futures", @@ -3531,15 +3531,16 @@ dependencies = [ "parity-scale-codec", "parking_lot", "schnorrkel", - "sp-core 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-externalities 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-core 6.0.0", + "sp-externalities 0.12.0", "thiserror", ] [[package]] name = "sp-keystore" -version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a44bec4f0d036b6993c14bbee4216781f21275e5c201e43e45fed4a434bf0e5a" dependencies = [ "async-trait", "futures", @@ -3547,30 +3548,29 @@ dependencies = [ "parity-scale-codec", "parking_lot", "schnorrkel", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-core 7.0.0", + "sp-externalities 0.13.0", "thiserror", ] [[package]] name = "sp-npos-elections" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-arithmetic 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-arithmetic 5.0.0", + "sp-core 6.0.0", + "sp-runtime 6.0.0", + "sp-std 4.0.0", ] [[package]] name = "sp-panic-handler" version = "4.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2101f3c555fceafcfcfb0e61c55ea9ed80dc60bd77d54d9f25b369edb029e9a4" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "backtrace", "lazy_static", @@ -3579,29 +3579,19 @@ dependencies = [ [[package]] name = "sp-panic-handler" -version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +version = "5.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97549ec99cb289db2a9f5c656b6880f7c90097135e1ca6c6ae4fe5694232e526" dependencies = [ "backtrace", "lazy_static", "regex", ] -[[package]] -name = "sp-rpc" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" -dependencies = [ - "rustc-hash", - "serde", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", -] - [[package]] name = "sp-runtime" version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb7d8a8d5ab5d349c6cf9300af1721b7b6446ba63401dbb11c10a1d65197aa5f" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "either", "hash256-std-hasher", @@ -3613,17 +3603,19 @@ dependencies = [ "rand 0.7.3", "scale-info", "serde", - "sp-application-crypto 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-arithmetic 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-core 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-io 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-application-crypto 6.0.0", + "sp-arithmetic 5.0.0", + "sp-core 6.0.0", + "sp-io 6.0.0", + "sp-std 4.0.0", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31)", ] [[package]] name = "sp-runtime" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0edfc5c54c2b31d2f0cf904d472a0bff7125c0c2a2e2330507842e56f9a27444" dependencies = [ "either", "hash256-std-hasher", @@ -3635,55 +3627,55 @@ dependencies = [ "rand 0.7.3", "scale-info", "serde", - "sp-application-crypto 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-arithmetic 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-weights", + "sp-application-crypto 7.0.0", + "sp-arithmetic 6.0.0", + "sp-core 7.0.0", + "sp-io 7.0.0", + "sp-std 5.0.0", + "sp-weights 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "sp-runtime-interface" version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "158bf0305c75a50fc0e334b889568f519a126e32b87900c3f4251202dece7b4b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ + "bytes", "impl-trait-for-tuples", "parity-scale-codec", "primitive-types", - "sp-externalities 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-runtime-interface-proc-macro 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-storage 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-tracing 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-wasm-interface 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-externalities 0.12.0", + "sp-runtime-interface-proc-macro 5.0.0", + "sp-std 4.0.0", + "sp-storage 6.0.0", + "sp-tracing 5.0.0", + "sp-wasm-interface 6.0.0", "static_assertions", ] [[package]] name = "sp-runtime-interface" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b886a5d34400b0e0c12d389e3bb48b7a93d651cddf7e248124b81fe64c339251" dependencies = [ "bytes", "impl-trait-for-tuples", "parity-scale-codec", "primitive-types", - "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-runtime-interface-proc-macro 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-storage 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-tracing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-wasm-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-externalities 0.13.0", + "sp-runtime-interface-proc-macro 6.0.0", + "sp-std 5.0.0", + "sp-storage 7.0.0", + "sp-tracing 6.0.0", + "sp-wasm-interface 7.0.0", "static_assertions", ] [[package]] name = "sp-runtime-interface-proc-macro" version = "5.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22ecb916b9664ed9f90abef0ff5a3e61454c1efea5861b2997e03f39b59b955f" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "Inflector", "proc-macro-crate", @@ -3694,8 +3686,9 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" -version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a157f1ce0108b9b87f87e826726049d9b6253318b74410c814be7fc2af416b51" dependencies = [ "Inflector", "proc-macro-crate", @@ -3707,33 +3700,32 @@ dependencies = [ [[package]] name = "sp-session" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "parity-scale-codec", "scale-info", "sp-api", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-core 6.0.0", + "sp-runtime 6.0.0", "sp-staking", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 4.0.0", ] [[package]] name = "sp-staking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "parity-scale-codec", "scale-info", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-runtime 6.0.0", + "sp-std 4.0.0", ] [[package]] name = "sp-state-machine" version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecee3b33eb78c99997676a571656bcc35db6886abecfddd13e76a73b5871c6c1" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "hash-db", "log", @@ -3742,21 +3734,21 @@ dependencies = [ "parking_lot", "rand 0.7.3", "smallvec", - "sp-core 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-externalities 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-panic-handler 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-trie 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-core 6.0.0", + "sp-externalities 0.12.0", + "sp-panic-handler 4.0.0", + "sp-std 4.0.0", + "sp-trie 6.0.0", "thiserror", "tracing", - "trie-db 0.23.1", "trie-root", ] [[package]] name = "sp-state-machine" -version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5c2d97ad69011d34ca257f0383532b80096d53f889f5894ae2b24a211bec66f" dependencies = [ "hash-db", "log", @@ -3765,11 +3757,11 @@ dependencies = [ "parking_lot", "rand 0.7.3", "smallvec", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-panic-handler 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-trie 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-core 7.0.0", + "sp-externalities 0.13.0", + "sp-panic-handler 5.0.0", + "sp-std 5.0.0", + "sp-trie 7.0.0", "thiserror", "tracing", "trie-root", @@ -3778,45 +3770,45 @@ dependencies = [ [[package]] name = "sp-std" version = "4.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14804d6069ee7a388240b665f17908d98386ffb0b5d39f89a4099fc7a2a4c03f" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" [[package]] name = "sp-std" -version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +version = "5.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf3fd4c1d304be101e6ebbafd3d4be9a37b320c970ef4e8df188b16873981c93" [[package]] name = "sp-storage" version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5dab53af846068e3e0716d3ccc70ea0db44035c79b2ed5821aaa6635039efa37" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "impl-serde", "parity-scale-codec", "ref-cast", "serde", - "sp-debug-derive 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-debug-derive 4.0.0", + "sp-std 4.0.0", ] [[package]] name = "sp-storage" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eb987ed2e4d7d870170a225083ea962f2a359d75cdf76935d5ed8d91bee912d9" dependencies = [ "impl-serde", "parity-scale-codec", "ref-cast", "serde", - "sp-debug-derive 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-debug-derive 5.0.0", + "sp-std 5.0.0", ] [[package]] name = "sp-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "async-trait", "futures-timer", @@ -3824,19 +3816,18 @@ dependencies = [ "parity-scale-codec", "sp-api", "sp-inherents", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-runtime 6.0.0", + "sp-std 4.0.0", "thiserror", ] [[package]] name = "sp-tracing" version = "5.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69a67e555d171c4238bd223393cda747dd20ec7d4f5fe5c042c056cb7fde9eda" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "parity-scale-codec", - "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 4.0.0", "tracing", "tracing-core", "tracing-subscriber", @@ -3844,11 +3835,12 @@ dependencies = [ [[package]] name = "sp-tracing" -version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e761df87dc940d87720939de8f976d1fc0657e523886ae0d7bf3f7e2e2f0abb6" dependencies = [ "parity-scale-codec", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std 5.0.0", "tracing", "tracing-core", "tracing-subscriber", @@ -3857,55 +3849,63 @@ dependencies = [ [[package]] name = "sp-trie" version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6fc34f4f291886914733e083b62708d829f3e6b8d7a7ca7fa8a55a3d7640b0b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ + "ahash", "hash-db", + "hashbrown", + "lazy_static", + "lru 0.7.8", "memory-db", + "nohash-hasher", "parity-scale-codec", + "parking_lot", "scale-info", - "sp-core 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "trie-db 0.23.1", + "sp-core 6.0.0", + "sp-std 4.0.0", + "thiserror", + "tracing", + "trie-db", "trie-root", ] [[package]] name = "sp-trie" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f4f48c887e90050537e399d2d8b6ee82787ebec0fe46e4880b42cab0c2d5ba6" dependencies = [ "ahash", "hash-db", "hashbrown", "lazy_static", - "lru", + "lru 0.8.1", "memory-db", "nohash-hasher", "parity-scale-codec", "parking_lot", "scale-info", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-core 7.0.0", + "sp-std 5.0.0", "thiserror", "tracing", - "trie-db 0.24.0", + "trie-db", "trie-root", ] [[package]] name = "sp-version" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "impl-serde", "parity-scale-codec", - "parity-wasm 0.45.0", + "parity-wasm", "scale-info", "serde", "sp-core-hashing-proc-macro", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-runtime 6.0.0", + "sp-std 4.0.0", "sp-version-proc-macro", "thiserror", ] @@ -3913,7 +3913,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "parity-scale-codec", "proc-macro2", @@ -3924,42 +3924,59 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10d88debe690c2b24eaa9536a150334fcef2ae184c21a0e5b3e80135407a7d52" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "impl-trait-for-tuples", "log", "parity-scale-codec", - "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "wasmi 0.9.1", + "sp-std 4.0.0", + "wasmi", ] [[package]] name = "sp-wasm-interface" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4f43c40afab6ecac20505907631c929957ed636b7af8795984649bbaa6ff38c3" dependencies = [ "impl-trait-for-tuples", "log", "parity-scale-codec", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "wasmi 0.13.2", + "sp-std 5.0.0", + "wasmi", +] + +[[package]] +name = "sp-weights" +version = "4.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c671673133b30e6ab6d88139b06adcdaec5aa06548abe0e155a0c830b592793b" +dependencies = [ + "impl-trait-for-tuples", + "parity-scale-codec", + "scale-info", + "serde", + "smallvec", + "sp-arithmetic 6.0.0", + "sp-core 7.0.0", + "sp-debug-derive 5.0.0", + "sp-std 5.0.0", ] [[package]] name = "sp-weights" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", "scale-info", "serde", "smallvec", - "sp-arithmetic 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-debug-derive 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-arithmetic 5.0.0", + "sp-core 6.0.0", + "sp-debug-derive 4.0.0", + "sp-std 4.0.0", ] [[package]] @@ -4039,14 +4056,15 @@ checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" [[package]] name = "subxt" -version = "0.24.0" +version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a8757ee0e19f87e722577282ab1386c86592a4b13ff963b9c6ec4176348104c" +checksum = "e3cbc78fd36035a24883eada29e0205b9b1416172530a7d00a60c07d0337db0c" dependencies = [ "bitvec", "derivative", "frame-metadata", "futures", + "getrandom 0.2.8", "hex", "jsonrpsee", "parity-scale-codec", @@ -4056,8 +4074,8 @@ dependencies = [ "scale-value", "serde", "serde_json", - "sp-core 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-runtime 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-core 7.0.0", + "sp-runtime 7.0.0", "subxt-macro", "subxt-metadata", "thiserror", @@ -4066,13 +4084,15 @@ dependencies = [ [[package]] name = "subxt-codegen" -version = "0.24.0" +version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb77f93e11e6ff3ff95fe33e3d24c27c342e16feca8ef47759993614ebe90d2c" +checksum = "7722c31febf55eb300c73d977da5d65cfd6fb443419b1185b9abcdd9925fd7be" dependencies = [ "darling", "frame-metadata", "heck", + "hex", + "jsonrpsee", "parity-scale-codec", "proc-macro-error", "proc-macro2", @@ -4080,13 +4100,14 @@ dependencies = [ "scale-info", "subxt-metadata", "syn", + "tokio", ] [[package]] name = "subxt-macro" -version = "0.24.0" +version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "051cc21d77a54ae944b872eafdf9edfe1d9134fdfcfc3477dc10f763c76564a9" +checksum = "6f64826f2c4ba20e3b2a86ec81a6ae8655ca6b6a4c2a6ccc888b6615efc2df14" dependencies = [ "darling", "proc-macro-error", @@ -4096,21 +4117,21 @@ dependencies = [ [[package]] name = "subxt-metadata" -version = "0.24.0" +version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ed78d80db3a97d55e8b1cfecc1f6f9e21793a589d4e2e5f4fe2d6d5850c2e54" +checksum = "869af75e23513538ad0af046af4a97b8d684e8d202e35ff4127ee061c1110813" dependencies = [ "frame-metadata", "parity-scale-codec", "scale-info", - "sp-core 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-core 7.0.0", ] [[package]] name = "syn" -version = "1.0.103" +version = "1.0.105" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a864042229133ada95abf3b54fdc62ef5ccabe9515b64717bcb9a1919e59445d" +checksum = "60b9b43d45702de4c839cb9b51d9f529c5dd26a4aff255b42b1ebc03e88ee908" dependencies = [ "proc-macro2", "quote", @@ -4198,15 +4219,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "tiny-keccak" -version = "2.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237" -dependencies = [ - "crunchy", -] - [[package]] name = "tinyvec" version = "1.6.0" @@ -4244,9 +4256,9 @@ dependencies = [ [[package]] name = "tokio-macros" -version = "1.8.0" +version = "1.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9724f9a975fb987ef7a3cd9be0350edcbe130698af5b8f7a631e23d42d052484" +checksum = "d266c00fde287f55d3f1c3e96c500c362a2b8c695076ec180f27918820bc6df8" dependencies = [ "proc-macro2", "quote", @@ -4276,6 +4288,7 @@ dependencies = [ "futures-sink", "pin-project-lite", "tokio", + "tracing", ] [[package]] @@ -4287,6 +4300,12 @@ dependencies = [ "serde", ] +[[package]] +name = "tower-service" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" + [[package]] name = "tracing" version = "0.1.37" @@ -4320,16 +4339,6 @@ dependencies = [ "valuable", ] -[[package]] -name = "tracing-futures" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2" -dependencies = [ - "pin-project", - "tracing", -] - [[package]] name = "tracing-log" version = "0.1.3" @@ -4373,19 +4382,6 @@ dependencies = [ "tracing-serde", ] -[[package]] -name = "trie-db" -version = "0.23.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d32d034c0d3db64b43c31de38e945f15b40cd4ca6d2dcfc26d4798ce8de4ab83" -dependencies = [ - "hash-db", - "hashbrown", - "log", - "rustc-hex", - "smallvec", -] - [[package]] name = "trie-db" version = "0.24.0" @@ -4408,6 +4404,12 @@ dependencies = [ "hash-db", ] +[[package]] +name = "try-lock" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642" + [[package]] name = "tt-call" version = "1.0.8" @@ -4434,9 +4436,9 @@ checksum = "dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987" [[package]] name = "uint" -version = "0.9.4" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a45526d29728d135c2900b0d30573fe3ee79fceb12ef534c7bb30e810a91b601" +checksum = "76f64bba2c53b04fcab63c01a7d7427eadc821e3bc48c34dc9ba29c501164b52" dependencies = [ "byteorder", "crunchy", @@ -4513,6 +4515,16 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9d5b2c62b4012a3e1eca5a7e077d13b3bf498c4073e33ccd58626607748ceeca" +[[package]] +name = "want" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0" +dependencies = [ + "log", + "try-lock", +] + [[package]] name = "wasi" version = "0.9.0+wasi-snapshot-preview1" @@ -4579,48 +4591,24 @@ version = "0.2.83" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1c38c045535d93ec4f0b4defec448e4291638ee608530863b1e2ba115d4fff7f" -[[package]] -name = "wasmi" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca00c5147c319a8ec91ec1a0edbec31e566ce2c9cc93b3f9bb86a9efd0eb795d" -dependencies = [ - "downcast-rs", - "libc", - "memory_units 0.3.0", - "num-rational 0.2.4", - "num-traits", - "parity-wasm 0.42.2", - "wasmi-validation 0.4.1", -] - [[package]] name = "wasmi" version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "06c326c93fbf86419608361a2c925a31754cf109da1b8b55737070b4d6669422" dependencies = [ - "parity-wasm 0.45.0", - "wasmi-validation 0.5.0", + "parity-wasm", + "wasmi-validation", "wasmi_core", ] -[[package]] -name = "wasmi-validation" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "165343ecd6c018fc09ebcae280752702c9a2ef3e6f8d02f1cfcbdb53ef6d7937" -dependencies = [ - "parity-wasm 0.42.2", -] - [[package]] name = "wasmi-validation" version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "91ff416ad1ff0c42e5a926ed5d5fab74c0f098749aa0ad8b2a34b982ce0e867b" dependencies = [ - "parity-wasm 0.45.0", + "parity-wasm", ] [[package]] @@ -4631,8 +4619,8 @@ checksum = "57d20cb3c59b788653d99541c646c561c9dd26506f25c0cebfe810659c54c6d7" dependencies = [ "downcast-rs", "libm", - "memory_units 0.4.0", - "num-rational 0.4.1", + "memory_units", + "num-rational", "num-traits", ] @@ -4805,6 +4793,12 @@ dependencies = [ "tap", ] +[[package]] +name = "xxhash-rust" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "735a71d46c4d68d71d4b24d03fdc2b98e38cea81730595801db779c04fe80d70" + [[package]] name = "yap" version = "0.7.2" @@ -4822,9 +4816,9 @@ dependencies = [ [[package]] name = "zeroize_derive" -version = "1.3.2" +version = "1.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f8f187641dad4f680d25c4bfc4225b418165984179f26ca76ec4fb6441d3a17" +checksum = "44bf07cb3e50ea2003396695d58bf46bc9887a1f362260446fad6bc4e79bd36c" dependencies = [ "proc-macro2", "quote", diff --git a/e2e-tests/Cargo.toml b/e2e-tests/Cargo.toml index e472076061..5d438c083f 100644 --- a/e2e-tests/Cargo.toml +++ b/e2e-tests/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "aleph-e2e-client" -version = "0.9.2" +version = "0.9.3" edition = "2021" license = "Apache 2.0" @@ -17,12 +17,12 @@ tokio = { version = "1.21.2", features = ["full"] } futures = "0.3.25" once_cell = "1.16" -sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30", default-features = false, features = ["full_crypto"] } -sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30", default-features = false } -frame-support = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30", default-features = false } -system = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30", package = "frame-system" } -pallet-staking = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30", default-features = false } -pallet-balances = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30", default-features = false } +sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31", default-features = false, features = ["full_crypto"] } +sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31", default-features = false } +frame-support = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31", default-features = false } +system = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31", package = "frame-system" } +pallet-staking = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31", default-features = false } +pallet-balances = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31", default-features = false } aleph_client = { path = "../aleph-client" } primitives = { path = "../primitives", features = ["short_session"], default-features = false } diff --git a/e2e-tests/src/rewards.rs b/e2e-tests/src/rewards.rs index 0ba70fcb6e..69c7b3d257 100644 --- a/e2e-tests/src/rewards.rs +++ b/e2e-tests/src/rewards.rs @@ -97,14 +97,8 @@ fn check_rewards( retrieved_reward_points: HashMap, max_relative_difference: f64, ) -> anyhow::Result<()> { - let our_sum: f64 = validator_reward_points - .iter() - .map(|(_, reward)| reward) - .sum(); - let retrieved_sum: u32 = retrieved_reward_points - .iter() - .map(|(_, reward)| reward) - .sum(); + let our_sum: f64 = validator_reward_points.values().sum(); + let retrieved_sum: u32 = retrieved_reward_points.values().sum(); for (account, reward) in &validator_reward_points { let reward = *reward; diff --git a/finality-aleph/Cargo.toml b/finality-aleph/Cargo.toml index cb59ffb654..2c66197cc9 100644 --- a/finality-aleph/Cargo.toml +++ b/finality-aleph/Cargo.toml @@ -29,36 +29,35 @@ hash-db = { version = "0.15.2", default-features = false } ip_network = "0.4" log = "0.4" lru = "0.7" -parity-util-mem = "0.11" parking_lot = "0.12" rand = "0.8" serde = "1.0" tiny-bip39 = "1.0" tokio = { version = "1.17", features = [ "sync", "macros", "time", "rt-multi-thread" ] } -prometheus-endpoint = { package = "substrate-prometheus-endpoint", git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -sp-keystore = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -sc-network = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -sc-network-common = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -sc-telemetry = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -sc-service = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -sp-application-crypto = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -sp-state-machine = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -sp-trie = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -sc-utils = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -sp-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -sp-blockchain = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -sc-consensus = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -sp-consensus = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -sc-client-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -sp-io = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +prometheus-endpoint = { package = "substrate-prometheus-endpoint", git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +sp-keystore = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +sc-network = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +sc-network-common = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +sc-telemetry = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +sc-service = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +sp-application-crypto = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +sp-state-machine = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +sp-trie = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +sc-utils = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +sp-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +sp-blockchain = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +sc-consensus = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +sp-consensus = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +sc-client-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +sp-io = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } [dev-dependencies] -substrate-test-runtime-client = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -substrate-test-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -sc-block-builder = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +substrate-test-runtime-client = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +substrate-test-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +sc-block-builder = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } [features] only_legacy = [] diff --git a/finality-aleph/src/data_io/proposal.rs b/finality-aleph/src/data_io/proposal.rs index 3e089b7a15..4173081f10 100644 --- a/finality-aleph/src/data_io/proposal.rs +++ b/finality-aleph/src/data_io/proposal.rs @@ -82,7 +82,7 @@ impl UnvalidatedAlephProposal { ) -> Result, ValidationError> { use ValidationError::*; - if self.branch.len() > MAX_DATA_BRANCH_LEN as usize { + if self.branch.len() > MAX_DATA_BRANCH_LEN { return Err(BranchTooLong { branch_size: self.branch.len(), }); diff --git a/finality-aleph/src/party/backup.rs b/finality-aleph/src/party/backup.rs index 36dc69f083..37718753fd 100644 --- a/finality-aleph/src/party/backup.rs +++ b/finality-aleph/src/party/backup.rs @@ -48,8 +48,8 @@ pub type ABFTBackup = (Saver, Loader); /// Find all `*.abfts` files at `session_path` and return their indexes sorted, if all are present. fn get_session_backup_idxs(session_path: &Path) -> Result, BackupLoadError> { - fs::create_dir_all(&session_path)?; - let mut session_backups: Vec<_> = fs::read_dir(&session_path)? + fs::create_dir_all(session_path)?; + let mut session_backups: Vec<_> = fs::read_dir(session_path)? .filter_map(|r| r.ok()) .filter_map(|x| x.file_name().into_string().ok()) .filter_map(|s| usize::from_str(s.strip_suffix(BACKUP_FILE_EXTENSION)?).ok()) @@ -132,7 +132,7 @@ pub fn remove(path: Option, session_id: u32) { Some(path) => path.join(session_id.to_string()), None => return, }; - match fs::remove_dir_all(&path) { + match fs::remove_dir_all(path) { Ok(()) => { debug!(target: "aleph-party", "Removed backup for session {}", session_id); } diff --git a/finality-aleph/src/testing/mocks/validator_network.rs b/finality-aleph/src/testing/mocks/validator_network.rs index 7de0771818..e0fcb0ecf5 100644 --- a/finality-aleph/src/testing/mocks/validator_network.rs +++ b/finality-aleph/src/testing/mocks/validator_network.rs @@ -466,14 +466,14 @@ fn spawn_peer( _ = send_ticker.tick() => { counter += 1; // generate random message - let mut filler_size = 0; - if let Some(lmi) = large_message_interval && counter % lmi == 0 { - filler_size = TWICE_MAX_DATA_SIZE; - } - let mut decodes = true; - if let Some(cmi) = corrupted_message_interval && counter % cmi == 0 { - decodes = false; - } + let filler_size = match large_message_interval { + Some(lmi) if counter % lmi == 0 => TWICE_MAX_DATA_SIZE, + _ => 0, + }; + let decodes = match corrupted_message_interval { + Some(cmi) if counter % cmi == 0 => false, + _ => true, + }; let data: MockData = MockData::new(thread_rng().gen_range(0..n_msg) as u32, filler_size, decodes); // choose a peer let peer: MockPublicKey = peer_ids[thread_rng().gen_range(0..peer_ids.len())].clone(); diff --git a/flooder/Cargo.toml b/flooder/Cargo.toml index 97919d87d4..1f2ac3c737 100644 --- a/flooder/Cargo.toml +++ b/flooder/Cargo.toml @@ -1,13 +1,13 @@ [package] name = "flooder" -version = "0.2.2" +version = "0.2.3" authors = ["Cardinal Cryptography"] edition = "2021" license = "Apache 2.0" [dependencies] -sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30", features = ["full_crypto"] } -sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31", features = ["full_crypto"] } +sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } # other dependencies serde_json = { version = "1.0" } @@ -21,7 +21,7 @@ env_logger = "0.8" futures = { version = "0.3", features = ["alloc"] } hdrhistogram = "7.3" log = "0.4" -subxt = "0.24.0" +subxt = "0.25.0" tokio = { version = "1.21.2", features = ["full"] } aleph_client = { path = "../aleph-client" } diff --git a/flooder/Cargo.lock b/fork-off/Cargo.lock similarity index 71% rename from flooder/Cargo.lock rename to fork-off/Cargo.lock index 960f668d9a..6f8fd1e245 100644 --- a/flooder/Cargo.lock +++ b/fork-off/Cargo.lock @@ -35,7 +35,7 @@ checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47" dependencies = [ "getrandom 0.2.8", "once_cell", - "version_check", + "version_check 0.9.4", ] [[package]] @@ -47,30 +47,6 @@ dependencies = [ "memchr", ] -[[package]] -name = "aleph_client" -version = "2.2.0" -dependencies = [ - "anyhow", - "async-trait", - "contract-metadata 1.5.0", - "contract-transcode", - "frame-support", - "futures", - "hex", - "ink_metadata", - "log", - "pallet-contracts-primitives", - "parity-scale-codec", - "primitives", - "serde", - "serde_json", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "subxt", - "thiserror", -] - [[package]] name = "android_system_properties" version = "0.1.5" @@ -95,6 +71,15 @@ version = "1.0.66" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "216261ddc8289130e551ddcd5ce8a064710c0d064a4d2895c67151c92b5443f6" +[[package]] +name = "approx" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cab112f0a86d568ea0e627cc1d6be74a1e9cd55214684db5561995f6dad897c6" +dependencies = [ + "num-traits", +] + [[package]] name = "array-bytes" version = "4.2.0" @@ -107,15 +92,6 @@ version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a4c527152e37cf757a3f78aae5a06fbeefdb07ccc535c980a3208ee3060dd544" -[[package]] -name = "arrayvec" -version = "0.4.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd9fd44efafa8690358b7408d253adf110036b88f55672a933f01d616ad9b1b9" -dependencies = [ - "nodrop", -] - [[package]] name = "arrayvec" version = "0.5.2" @@ -129,20 +105,21 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6" [[package]] -name = "async-lock" -version = "2.6.0" +name = "async-channel" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8101efe8695a6c17e02911402145357e718ac92d3ff88ae8419e84b1707b685" +checksum = "cf46fee83e5ccffc220104713af3292ff9bc7c64c7de289f66dae8e38d826833" dependencies = [ + "concurrent-queue", "event-listener", - "futures-lite", + "futures-core", ] [[package]] name = "async-trait" -version = "0.1.58" +version = "0.1.59" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e805d94e6b5001b651426cf4cd446b1ab5f319d27bab5c644f61de0a804360c" +checksum = "31e6e93155431f3931513b243d371981bb2770112b370c82745a1d19d2f99364" dependencies = [ "proc-macro2", "quote", @@ -160,12 +137,35 @@ dependencies = [ "winapi 0.3.9", ] +[[package]] +name = "autocfg" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0dde43e75fd43e8a1bf86103336bc699aa8d17ad1be60c76c0bdfd4828e19b78" +dependencies = [ + "autocfg 1.1.0", +] + [[package]] name = "autocfg" version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" +[[package]] +name = "backoff" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b62ddb9cb1ec0a098ad4bbf9344d0713fa193ae1a80af55febcff2627b6a00c1" +dependencies = [ + "futures-core", + "getrandom 0.2.8", + "instant", + "pin-project-lite", + "rand 0.8.5", + "tokio", +] + [[package]] name = "backtrace" version = "0.3.66" @@ -193,6 +193,25 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6107fe1be6682a68940da878d9e9f5e90ca5745b3dec9fd1bb393c8777d4f581" +[[package]] +name = "base64" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "489d6c0ed21b11d038c31b6ceccca973e65d73ba3bd8ecb9a2babf5546164643" +dependencies = [ + "byteorder", + "safemem", +] + +[[package]] +name = "base64" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b25d992356d2eb0ed82172f5248873db5560c4721f564b13cb5193bda5e668e" +dependencies = [ + "byteorder", +] + [[package]] name = "base64" version = "0.13.1" @@ -205,15 +224,6 @@ version = "1.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b645a089122eccb6111b4f81cbc1a49f5900ac4666bb93ac027feaecf15607bf" -[[package]] -name = "beef" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a8241f3ebb85c056b509d4327ad0358fbbba6ffb340bf388f26350aeda225b1" -dependencies = [ - "serde", -] - [[package]] name = "bitflags" version = "1.3.2" @@ -241,16 +251,6 @@ dependencies = [ "digest 0.10.6", ] -[[package]] -name = "blake2-rfc" -version = "0.2.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d6d530bdd2d52966a6d03b7a964add7ae1a288d25214066fd4b600f0f796400" -dependencies = [ - "arrayvec 0.4.12", - "constant_time_eq", -] - [[package]] name = "block-buffer" version = "0.7.3" @@ -290,15 +290,6 @@ dependencies = [ "byte-tools", ] -[[package]] -name = "brownstone" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "030ea61398f34f1395ccbeb046fb68c87b631d1f34567fed0f0f11fa35d18d8d" -dependencies = [ - "arrayvec 0.7.2", -] - [[package]] name = "bumpalo" version = "3.11.1" @@ -339,27 +330,6 @@ version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dfb24e866b15a1af2a1b663f10c6b6b8f397a84aadb828f12e5b289ec23a3a3c" -[[package]] -name = "bzip2" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6afcd980b5f3a45017c57e57a2fcccbb351cc43a356ce117ef760ef8052b89b0" -dependencies = [ - "bzip2-sys", - "libc", -] - -[[package]] -name = "bzip2-sys" -version = "0.1.11+1.0.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "736a955f3fa7875102d57c82b8cac37ec45224a07fd32d58f9f7a186b6cd4cdc" -dependencies = [ - "cc", - "libc", - "pkg-config", -] - [[package]] name = "cc" version = "1.0.77" @@ -372,7 +342,7 @@ version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0aacacf4d96c24b2ad6eb8ee6df040e4f27b0d0b39a5710c30091baa830485db" dependencies = [ - "smallvec", + "smallvec 1.10.0", ] [[package]] @@ -438,6 +408,15 @@ dependencies = [ "os_str_bytes", ] +[[package]] +name = "cloudabi" +version = "0.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f" +dependencies = [ + "bitflags", +] + [[package]] name = "codespan-reporting" version = "0.11.1" @@ -449,68 +428,25 @@ dependencies = [ ] [[package]] -name = "const-oid" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4c78c047431fee22c1a7bb92e00ad095a02a983affe4d8a72e2a2c62c1b94f3" - -[[package]] -name = "constant_time_eq" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc" - -[[package]] -name = "contract-metadata" -version = "0.6.0" +name = "concurrent-queue" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36318b44d658ee23a2daf66811822bdf6ac686aa534ea87eb9e16e7430ca6928" +checksum = "bd7bef69dc86e3c610e4e7aed41035e2a7ed12e72dd7530f61327a6579a4390b" dependencies = [ - "impl-serde", - "semver", - "serde", - "serde_json", - "url", + "crossbeam-utils 0.8.14", ] [[package]] -name = "contract-metadata" -version = "1.5.0" +name = "const-oid" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f25bdb57a728064a0e4909dfbb29957ebb06d205307e337d3b5596c7e67dd3a" -dependencies = [ - "impl-serde", - "semver", - "serde", - "serde_json", - "url", -] +checksum = "e4c78c047431fee22c1a7bb92e00ad095a02a983affe4d8a72e2a2c62c1b94f3" [[package]] -name = "contract-transcode" -version = "0.1.0" +name = "convert_case" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfa6db9d18dd5ef92d29c52d30c8503c857d390d9e4043e12466f1490c43c05e" -dependencies = [ - "anyhow", - "contract-metadata 0.6.0", - "env_logger 0.9.3", - "escape8259", - "hex", - "indexmap", - "ink_env", - "ink_metadata", - "itertools", - "log", - "nom", - "nom-supreme", - "parity-scale-codec", - "scale-info", - "serde", - "serde_json", - "sp-core 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-runtime 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", -] +checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" [[package]] name = "core-foundation" @@ -538,22 +474,14 @@ dependencies = [ ] [[package]] -name = "crc32fast" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d" -dependencies = [ - "cfg-if 1.0.0", -] - -[[package]] -name = "crossbeam-channel" -version = "0.5.6" +name = "crossbeam-utils" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2dd04ddaf88237dc3b8d8f9a3c1004b506b54b3313403944054d23c0870c521" +checksum = "c3c7c73a2d1e9fc0886a08b93e98eb643461230d5f1925e4036204d5f2e261a8" dependencies = [ - "cfg-if 1.0.0", - "crossbeam-utils", + "autocfg 1.1.0", + "cfg-if 0.1.10", + "lazy_static", ] [[package]] @@ -683,41 +611,6 @@ dependencies = [ "syn", ] -[[package]] -name = "darling" -version = "0.14.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0dd3cd20dc6b5a876612a6e5accfe7f3dd883db6d07acfbf14c128f61550dfa" -dependencies = [ - "darling_core", - "darling_macro", -] - -[[package]] -name = "darling_core" -version = "0.14.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a784d2ccaf7c98501746bf0be29b2022ba41fd62a2e622af997a03e9f972859f" -dependencies = [ - "fnv", - "ident_case", - "proc-macro2", - "quote", - "strsim", - "syn", -] - -[[package]] -name = "darling_macro" -version = "0.14.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7618812407e9402654622dd402b0a89dff9ba93badd6540781526117b92aab7e" -dependencies = [ - "darling_core", - "quote", - "syn", -] - [[package]] name = "der" version = "0.5.1" @@ -727,25 +620,16 @@ dependencies = [ "const-oid", ] -[[package]] -name = "derivative" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - [[package]] name = "derive_more" version = "0.99.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321" dependencies = [ + "convert_case", "proc-macro2", "quote", + "rustc_version 0.4.0", "syn", ] @@ -823,29 +707,6 @@ dependencies = [ "signature", ] -[[package]] -name = "ed25519" -version = "1.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e9c280362032ea4203659fc489832d0204ef09f247a0506f170dafcac08c369" -dependencies = [ - "signature", -] - -[[package]] -name = "ed25519-dalek" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c762bae6dcaf24c4c84667b8579785430908723d5c889f469d76a41d59cc7a9d" -dependencies = [ - "curve25519-dalek 3.2.0", - "ed25519", - "rand 0.7.3", - "serde", - "sha2 0.9.9", - "zeroize", -] - [[package]] name = "ed25519-zebra" version = "3.1.0" @@ -885,27 +746,23 @@ dependencies = [ ] [[package]] -name = "env_logger" -version = "0.8.4" +name = "encoding_rs" +version = "0.8.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a19187fea3ac7e84da7dacf48de0c45d63c6a76f9490dae389aead16c243fce3" +checksum = "9852635589dc9f9ea1b6fe9f05b50ef208c85c834a562f0c6abb1c475736ec2b" dependencies = [ - "atty", - "humantime", - "log", - "regex", - "termcolor", + "cfg-if 1.0.0", ] [[package]] name = "env_logger" -version = "0.9.3" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a12e6657c4c97ebab115a42dcee77225f7f482cdd841cf7088c657a42e9e00e7" +checksum = "a19187fea3ac7e84da7dacf48de0c45d63c6a76f9490dae389aead16c243fce3" dependencies = [ "atty", "humantime", - "log", + "log 0.4.17", "regex", "termcolor", ] @@ -916,15 +773,6 @@ version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "68b91989ae21441195d7d9b9993a2f9295c7e1a8c96255d8b729accddc124797" -[[package]] -name = "escape8259" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba4f4911e3666fcd7826997b4745c8224295a6f3072f1418c3067b97a67557ee" -dependencies = [ - "rustversion", -] - [[package]] name = "event-listener" version = "2.5.3" @@ -958,9 +806,9 @@ dependencies = [ [[package]] name = "fixed-hash" -version = "0.7.0" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfcf0ed7fe52a17a03854ec54a9f76d6d84508d1c0e66bc1793301c73fc8493c" +checksum = "835c052cb0c08c1acf6ffd71c022172e18723949c8282f2b9f27efbc51e64534" dependencies = [ "byteorder", "rand 0.8.5", @@ -968,38 +816,6 @@ dependencies = [ "static_assertions", ] -[[package]] -name = "flate2" -version = "1.0.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f82b0f4c27ad9f8bfd1f3208d882da2b09c301bc1c828fd3a00d0216d2fbbff6" -dependencies = [ - "crc32fast", - "miniz_oxide", -] - -[[package]] -name = "flooder" -version = "0.2.2" -dependencies = [ - "aleph_client", - "anyhow", - "clap", - "env_logger 0.8.4", - "futures", - "hdrhistogram", - "log", - "mio 0.6.23", - "parity-scale-codec", - "serde_json", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "subxt", - "tokio", - "ws", - "zip", -] - [[package]] name = "fnv" version = "1.0.7" @@ -1021,55 +837,105 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" +[[package]] +name = "fork-off" +version = "1.3.0" +dependencies = [ + "anyhow", + "async-channel", + "backoff", + "clap", + "env_logger", + "frame-support", + "frame-system", + "futures 0.3.25", + "hex", + "jsonrpc-core", + "jsonrpc-core-client", + "jsonrpc-derive", + "log 0.4.17", + "pallet-balances", + "parity-scale-codec", + "parking_lot 0.12.1", + "reqwest", + "serde", + "serde_json", + "sp-core", + "tokio", +] + [[package]] name = "form_urlencoded" version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8" dependencies = [ - "percent-encoding", + "percent-encoding 2.2.0", ] [[package]] -name = "frame-metadata" -version = "15.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df6bb8542ef006ef0de09a5c4420787d79823c0ed7924225822362fd2bf2ff2d" +name = "frame-benchmarking" +version = "4.0.0-dev" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ - "cfg-if 1.0.0", + "frame-support", + "frame-system", + "linregress", + "log 0.4.17", "parity-scale-codec", + "paste", "scale-info", "serde", + "sp-api", + "sp-application-crypto", + "sp-core", + "sp-io", + "sp-runtime", + "sp-runtime-interface", + "sp-std", + "sp-storage", ] [[package]] -name = "frame-support" +name = "frame-metadata" +version = "15.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df6bb8542ef006ef0de09a5c4420787d79823c0ed7924225822362fd2bf2ff2d" +dependencies = [ + "cfg-if 1.0.0", + "parity-scale-codec", + "scale-info", + "serde", +] + +[[package]] +name = "frame-support" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "bitflags", "frame-metadata", "frame-support-procedural", "impl-trait-for-tuples", "k256", - "log", + "log 0.4.17", "once_cell", "parity-scale-codec", "paste", "scale-info", "serde", - "smallvec", + "smallvec 1.10.0", "sp-api", - "sp-arithmetic 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-arithmetic", + "sp-core", "sp-core-hashing-proc-macro", "sp-inherents", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-io", + "sp-runtime", "sp-staking", - "sp-state-machine 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-tracing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-state-machine", + "sp-std", + "sp-tracing", "sp-weights", "tt-call", ] @@ -1077,7 +943,7 @@ dependencies = [ [[package]] name = "frame-support-procedural" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "Inflector", "cfg-expr", @@ -1091,10 +957,10 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "frame-support-procedural-tools-derive", - "proc-macro-crate", + "proc-macro-crate 1.2.1", "proc-macro2", "quote", "syn", @@ -1103,13 +969,37 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "proc-macro2", "quote", "syn", ] +[[package]] +name = "frame-system" +version = "4.0.0-dev" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +dependencies = [ + "frame-support", + "log 0.4.17", + "parity-scale-codec", + "scale-info", + "serde", + "sp-core", + "sp-io", + "sp-runtime", + "sp-std", + "sp-version", + "sp-weights", +] + +[[package]] +name = "fuchsia-cprng" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba" + [[package]] name = "fuchsia-zircon" version = "0.3.3" @@ -1132,6 +1022,12 @@ version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" +[[package]] +name = "futures" +version = "0.1.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a471a38ef8ed83cd6e40aa59c1ffe17db6855c18e3604d9c4ed8c08ebc28678" + [[package]] name = "futures" version = "0.3.25" @@ -1181,21 +1077,6 @@ version = "0.3.25" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "00f5fb52a06bdcadeb54e8d3671f8888a39697dcb0b81b23b55174030427f4eb" -[[package]] -name = "futures-lite" -version = "1.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7694489acd39452c77daa48516b894c153f192c3578d5a839b62c58099fcbf48" -dependencies = [ - "fastrand", - "futures-core", - "futures-io", - "memchr", - "parking", - "pin-project-lite", - "waker-fn", -] - [[package]] name = "futures-macro" version = "0.3.25" @@ -1219,18 +1100,13 @@ version = "0.3.25" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2ffb393ac5d9a6eaa9d3fdf37ae2776656b706e200c8e16b1bdb227f5198e6ea" -[[package]] -name = "futures-timer" -version = "3.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e64b03909df88034c26dc1547e8970b91f98bdb65165d6a4e9110d94263dbb2c" - [[package]] name = "futures-util" version = "0.3.25" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "197676987abd2f9cadff84926f410af1c183608d36641465df73ae8211dc65d6" dependencies = [ + "futures 0.1.31", "futures-channel", "futures-core", "futures-io", @@ -1259,7 +1135,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bff49e947297f3312447abdca79f45f4738097cc82b06e72054d2223f601f1b9" dependencies = [ "typenum", - "version_check", + "version_check 0.9.4", ] [[package]] @@ -1303,6 +1179,25 @@ dependencies = [ "subtle", ] +[[package]] +name = "h2" +version = "0.3.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f9f29bc9dda355256b2916cf526ab02ce0aeaaaf2bad60d65ef3f12f11dd0f4" +dependencies = [ + "bytes 1.3.0", + "fnv", + "futures-core", + "futures-sink", + "futures-util", + "http", + "indexmap", + "slab", + "tokio", + "tokio-util", + "tracing", +] + [[package]] name = "hash-db" version = "0.15.2" @@ -1327,20 +1222,6 @@ dependencies = [ "ahash", ] -[[package]] -name = "hdrhistogram" -version = "7.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f19b9f54f7c7f55e31401bb647626ce0cf0f67b0004982ce815b3ee72a02aa8" -dependencies = [ - "base64", - "byteorder", - "crossbeam-channel", - "flate2", - "nom", - "num-traits", -] - [[package]] name = "heck" version = "0.4.0" @@ -1404,18 +1285,91 @@ dependencies = [ "itoa", ] +[[package]] +name = "http-body" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1" +dependencies = [ + "bytes 1.3.0", + "http", + "pin-project-lite", +] + [[package]] name = "httparse" version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" +[[package]] +name = "httpdate" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421" + [[package]] name = "humantime" version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" +[[package]] +name = "hyper" +version = "0.10.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0a0652d9a2609a968c14be1a9ea00bf4b1d64e2e1f53a1b51b6fff3a6e829273" +dependencies = [ + "base64 0.9.3", + "httparse", + "language-tags", + "log 0.3.9", + "mime 0.2.6", + "num_cpus", + "time", + "traitobject", + "typeable", + "unicase", + "url 1.7.2", +] + +[[package]] +name = "hyper" +version = "0.14.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "034711faac9d2166cb1baf1a2fb0b60b1f277f8492fd72176c17f3515e1abd3c" +dependencies = [ + "bytes 1.3.0", + "futures-channel", + "futures-core", + "futures-util", + "h2", + "http", + "http-body", + "httparse", + "httpdate", + "itoa", + "pin-project-lite", + "socket2", + "tokio", + "tower-service", + "tracing", + "want", +] + +[[package]] +name = "hyper-tls" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905" +dependencies = [ + "bytes 1.3.0", + "hyper 0.14.23", + "native-tls", + "tokio", + "tokio-native-tls", +] + [[package]] name = "iana-time-zone" version = "0.1.53" @@ -1441,10 +1395,15 @@ dependencies = [ ] [[package]] -name = "ident_case" -version = "1.0.1" +name = "idna" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" +checksum = "38f09e0f0b1fb55fdee1f17470ad800da77af5186a1a76c026b679358b7e844e" +dependencies = [ + "matches", + "unicode-bidi", + "unicode-normalization", +] [[package]] name = "idna" @@ -1467,9 +1426,9 @@ dependencies = [ [[package]] name = "impl-serde" -version = "0.3.2" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4551f042f3438e64dbd6226b20527fc84a6e1fe65688b58746a2f53623f25f5c" +checksum = "ebc88fc67028ae3db0c853baa36269d398d5f45b6982f95549ff5def78c935cd" dependencies = [ "serde", ] @@ -1485,108 +1444,16 @@ dependencies = [ "syn", ] -[[package]] -name = "indent_write" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0cfe9645a18782869361d9c8732246be7b410ad4e919d3609ebabdac00ba12c3" - [[package]] name = "indexmap" version = "1.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399" dependencies = [ - "autocfg", + "autocfg 1.1.0", "hashbrown", ] -[[package]] -name = "ink_allocator" -version = "3.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c9588a59a0e8997c0b2153cd11b5aaa77c06a0537a6b18f3811d1f1aa098b12" -dependencies = [ - "cfg-if 1.0.0", -] - -[[package]] -name = "ink_engine" -version = "3.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "487c3b390b7feb0620496b0cd38683433c7d7e6946b1caabda51e1f23eb24b30" -dependencies = [ - "blake2", - "derive_more", - "parity-scale-codec", - "rand 0.8.5", - "secp256k1 0.24.1", - "sha2 0.10.6", - "sha3", -] - -[[package]] -name = "ink_env" -version = "3.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a891d34301a3dbb1c7b7424c49ae184282b163491c54f9acd17fcbe14a80447b" -dependencies = [ - "arrayref", - "blake2", - "cfg-if 1.0.0", - "derive_more", - "ink_allocator", - "ink_engine", - "ink_metadata", - "ink_prelude", - "ink_primitives", - "num-traits", - "parity-scale-codec", - "paste", - "rand 0.8.5", - "rlibc", - "scale-info", - "secp256k1 0.24.1", - "sha2 0.10.6", - "sha3", - "static_assertions", -] - -[[package]] -name = "ink_metadata" -version = "3.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74913aaed5751f5615af4631b7559328b8ed56c9cb821b89e14af0706176e849" -dependencies = [ - "derive_more", - "impl-serde", - "ink_prelude", - "ink_primitives", - "scale-info", - "serde", -] - -[[package]] -name = "ink_prelude" -version = "3.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f031e6b8495594a7288b089bf4122e76c26b994959d1b2b693bdfe846b14c0e" -dependencies = [ - "cfg-if 1.0.0", -] - -[[package]] -name = "ink_primitives" -version = "3.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e12cf42dce81d060401c7cec95a392ad6d3c2f18661fa3083f619ce135133c33" -dependencies = [ - "cfg-if 1.0.0", - "ink_prelude", - "parity-scale-codec", - "scale-info", -] - [[package]] name = "instant" version = "0.1.12" @@ -1614,6 +1481,12 @@ dependencies = [ "libc", ] +[[package]] +name = "ipnet" +version = "2.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f88c5561171189e69df9d98bcf18fd5f9558300f7ea7b801eb8a0fd748bd8745" + [[package]] name = "itertools" version = "0.10.5" @@ -1629,12 +1502,6 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4217ad341ebadf8d8e724e264f13e593e0648f5b3e94b3896a5df283be015ecc" -[[package]] -name = "joinery" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72167d68f5fce3b8655487b8038691a3c9984ee769590f93f2a631f4ad64e4f5" - [[package]] name = "js-sys" version = "0.3.60" @@ -1645,72 +1512,73 @@ dependencies = [ ] [[package]] -name = "jsonrpsee" -version = "0.15.1" +name = "jsonrpc-client-transports" +version = "18.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8bd0d559d5e679b1ab2f869b486a11182923863b1b3ee8b421763cdd707b783a" +checksum = "d2b99d4207e2a04fb4581746903c2bb7eb376f88de9c699d0f3e10feeac0cd3a" dependencies = [ - "jsonrpsee-client-transport", - "jsonrpsee-core", - "jsonrpsee-types", + "derive_more", + "futures 0.3.25", + "jsonrpc-core", + "jsonrpc-pubsub", + "log 0.4.17", + "serde", + "serde_json", + "tokio", + "url 1.7.2", + "websocket", ] [[package]] -name = "jsonrpsee-client-transport" -version = "0.15.1" +name = "jsonrpc-core" +version = "18.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8752740ecd374bcbf8b69f3e80b0327942df76f793f8d4e60d3355650c31fb74" +checksum = "14f7f76aef2d054868398427f6c54943cf3d1caa9a7ec7d0c38d69df97a965eb" dependencies = [ + "futures 0.3.25", + "futures-executor", "futures-util", - "http", - "jsonrpsee-core", - "jsonrpsee-types", - "pin-project", - "rustls-native-certs", - "soketto", - "thiserror", - "tokio", - "tokio-rustls", - "tokio-util", - "tracing", - "webpki-roots", + "log 0.4.17", + "serde", + "serde_derive", + "serde_json", ] [[package]] -name = "jsonrpsee-core" -version = "0.15.1" +name = "jsonrpc-core-client" +version = "18.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3dc3e9cf2ba50b7b1d7d76a667619f82846caa39e8e8daa8a4962d74acaddca" +checksum = "b51da17abecbdab3e3d4f26b01c5ec075e88d3abe3ab3b05dc9aa69392764ec0" dependencies = [ - "anyhow", - "async-lock", - "async-trait", - "beef", - "futures-channel", - "futures-timer", - "futures-util", - "jsonrpsee-types", - "rustc-hash", - "serde", - "serde_json", - "thiserror", - "tokio", - "tracing", - "tracing-futures", + "futures 0.3.25", + "jsonrpc-client-transports", ] [[package]] -name = "jsonrpsee-types" -version = "0.15.1" +name = "jsonrpc-derive" +version = "18.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e290bba767401b646812f608c099b922d8142603c9e73a50fb192d3ac86f4a0d" +checksum = "5b939a78fa820cdfcb7ee7484466746a7377760970f6f9c6fe19f9edcc8a38d2" dependencies = [ - "anyhow", - "beef", + "proc-macro-crate 0.1.5", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "jsonrpc-pubsub" +version = "18.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "240f87695e6c6f62fb37f05c02c04953cf68d6408b8c1c89de85c7a0125b1011" +dependencies = [ + "futures 0.3.25", + "jsonrpc-core", + "lazy_static", + "log 0.4.17", + "parking_lot 0.11.2", + "rand 0.7.3", "serde", - "serde_json", - "thiserror", - "tracing", ] [[package]] @@ -1745,16 +1613,16 @@ dependencies = [ ] [[package]] -name = "lazy_static" -version = "1.4.0" +name = "language-tags" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" +checksum = "a91d884b6667cd606bb5a69aa0c99ba811a115fc68915e7056ec08a46e93199a" [[package]] -name = "lazycell" -version = "1.3.0" +name = "lazy_static" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" +checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" [[package]] name = "libc" @@ -1775,7 +1643,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "95b09eff1b35ed3b33b877ced3a691fc7a481919c7e29c53c906226fcf55e2a1" dependencies = [ "arrayref", - "base64", + "base64 0.13.1", "digest 0.9.0", "hmac-drbg", "libsecp256k1-core", @@ -1825,16 +1693,44 @@ dependencies = [ "cc", ] +[[package]] +name = "linregress" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6c601a85f5ecd1aba625247bca0031585fb1c446461b142878a16f8245ddeb8" +dependencies = [ + "nalgebra", + "statrs", +] + +[[package]] +name = "lock_api" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c4da24a77a3d8a6d4862d95f72e6fdb9c09a643ecdb402d754004a557f2bec75" +dependencies = [ + "scopeguard", +] + [[package]] name = "lock_api" version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df" dependencies = [ - "autocfg", + "autocfg 1.1.0", "scopeguard", ] +[[package]] +name = "log" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e19e8d5c34a3e0e2223db8e060f9e8264aeeb5c5fc64a4ee9965c062211c024b" +dependencies = [ + "log 0.4.17", +] + [[package]] name = "log" version = "0.4.17" @@ -1863,28 +1759,43 @@ dependencies = [ ] [[package]] -name = "memchr" -version = "2.5.0" +name = "matches" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f" + +[[package]] +name = "matrixmultiply" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "add85d4dd35074e6fedc608f8c8f513a3548619a9024b751949ef0e8e45a4d84" +dependencies = [ + "rawpointer", +] + +[[package]] +name = "maybe-uninit" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60302e4db3a61da70c0cb7991976248362f30319e88850c487b9b95bbf059e00" + +[[package]] +name = "memchr" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" [[package]] name = "memory-db" -version = "0.29.0" +version = "0.30.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6566c70c1016f525ced45d7b7f97730a2bafb037c788211d0c186ef5b2189f0a" +checksum = "34ac11bb793c28fa095b7554466f53b3a60a2cd002afdac01bcf135cbd73a269" dependencies = [ "hash-db", "hashbrown", "parity-util-mem", ] -[[package]] -name = "memory_units" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71d96e3f3c0b6325d8ccd83c33b28acb183edcb6c67938ba104ec546854b0882" - [[package]] name = "memory_units" version = "0.4.0" @@ -1904,10 +1815,19 @@ dependencies = [ ] [[package]] -name = "minimal-lexical" -version = "0.2.1" +name = "mime" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba626b8a6de5da682e1caa06bdb42a335aee5a84db8e5046a3e8ab17ba0a3ae0" +dependencies = [ + "log 0.3.9", +] + +[[package]] +name = "mime" +version = "0.3.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" +checksum = "2a60c7ce501c71e03a9c9c0d35b861413ae925bd979cc7a4e30d060069aaac8d" [[package]] name = "miniz_oxide" @@ -1930,7 +1850,7 @@ dependencies = [ "iovec", "kernel32-sys", "libc", - "log", + "log 0.4.17", "miow", "net2", "slab", @@ -1944,23 +1864,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e5d732bc30207a6423068df043e3d02e0735b155ad7ce1a6f76fe2baa5b158de" dependencies = [ "libc", - "log", + "log 0.4.17", "wasi 0.11.0+wasi-snapshot-preview1", "windows-sys 0.42.0", ] -[[package]] -name = "mio-extras" -version = "2.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52403fe290012ce777c4626790c8951324a2b9e3316b3143779c72b029742f19" -dependencies = [ - "lazycell", - "log", - "mio 0.6.23", - "slab", -] - [[package]] name = "miow" version = "0.2.2" @@ -1974,70 +1882,86 @@ dependencies = [ ] [[package]] -name = "net2" -version = "0.2.38" +name = "nalgebra" +version = "0.27.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74d0df99cfcd2530b2e694f6e17e7f37b8e26bb23983ac530c0c97408837c631" +checksum = "462fffe4002f4f2e1f6a9dcf12cc1a6fc0e15989014efc02a941d3e0f5dc2120" dependencies = [ - "cfg-if 0.1.10", - "libc", - "winapi 0.3.9", + "approx", + "matrixmultiply", + "nalgebra-macros", + "num-complex", + "num-rational", + "num-traits", + "rand 0.8.5", + "rand_distr", + "simba", + "typenum", ] [[package]] -name = "nodrop" -version = "0.1.14" +name = "nalgebra-macros" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb" +checksum = "01fcc0b8149b4632adc89ac3b7b31a12fb6099a0317a4eb2ebff574ef7de7218" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] [[package]] -name = "nohash-hasher" -version = "0.2.0" +name = "native-tls" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bf50223579dc7cdcfb3bfcacf7069ff68243f8c363f62ffa99cf000a6b9c451" +checksum = "07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e" +dependencies = [ + "lazy_static", + "libc", + "log 0.4.17", + "openssl", + "openssl-probe", + "openssl-sys", + "schannel", + "security-framework", + "security-framework-sys", + "tempfile", +] [[package]] -name = "nom" -version = "7.1.1" +name = "net2" +version = "0.2.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8903e5a29a317527874d0402f867152a3d21c908bb0b933e416c65e301d4c36" +checksum = "74d0df99cfcd2530b2e694f6e17e7f37b8e26bb23983ac530c0c97408837c631" dependencies = [ - "memchr", - "minimal-lexical", + "cfg-if 0.1.10", + "libc", + "winapi 0.3.9", ] [[package]] -name = "nom-supreme" -version = "0.7.0" +name = "nohash-hasher" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f909b25a8371ad5c054abc2c48205d677231e6a2dcbf83704ed57bb147f30e0" -dependencies = [ - "brownstone", - "indent_write", - "joinery", - "memchr", - "nom", -] +checksum = "2bf50223579dc7cdcfb3bfcacf7069ff68243f8c363f62ffa99cf000a6b9c451" [[package]] name = "num-bigint" -version = "0.2.6" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "090c7f9998ee0ff65aa5b723e4009f7b217707f1fb5ea551329cc4d6231fb304" +checksum = "f93ab6289c7b344a8a9f60f88d80aa20032336fe78da341afc91c8a2341fc75f" dependencies = [ - "autocfg", + "autocfg 1.1.0", "num-integer", "num-traits", ] [[package]] -name = "num-bigint" -version = "0.4.3" +name = "num-complex" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f93ab6289c7b344a8a9f60f88d80aa20032336fe78da341afc91c8a2341fc75f" +checksum = "7ae39348c8bc5fbd7f40c727a9925f03517afd2ab27d46702108b6a7e5414c19" dependencies = [ - "autocfg", - "num-integer", "num-traits", ] @@ -2057,19 +1981,7 @@ version = "0.1.45" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9" dependencies = [ - "autocfg", - "num-traits", -] - -[[package]] -name = "num-rational" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c000134b5dbf44adc5cb772486d335293351644b801551abe8f75c84cfa4aef" -dependencies = [ - "autocfg", - "num-bigint 0.2.6", - "num-integer", + "autocfg 1.1.0", "num-traits", ] @@ -2079,8 +1991,8 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0" dependencies = [ - "autocfg", - "num-bigint 0.4.3", + "autocfg 1.1.0", + "num-bigint", "num-integer", "num-traits", ] @@ -2091,7 +2003,8 @@ version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" dependencies = [ - "autocfg", + "autocfg 1.1.0", + "libm", ] [[package]] @@ -2169,7 +2082,7 @@ version = "0.9.78" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "07d5c8cb6e57b3a3612064d7b18b117912b4ce70955c2504d4b741c9e244b132" dependencies = [ - "autocfg", + "autocfg 1.1.0", "cc", "libc", "pkg-config", @@ -2183,18 +2096,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee" [[package]] -name = "pallet-contracts-primitives" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +name = "pallet-balances" +version = "4.0.0-dev" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ - "bitflags", + "frame-benchmarking", + "frame-support", + "frame-system", + "log 0.4.17", "parity-scale-codec", "scale-info", - "serde", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-rpc", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-runtime", + "sp-std", ] [[package]] @@ -2218,7 +2131,7 @@ version = "3.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9299338969a3d2f491d65f140b00ddec470858402f888af98e8642fb5e8965cd" dependencies = [ - "proc-macro-crate", + "proc-macro-crate 1.2.1", "proc-macro2", "quote", "syn", @@ -2226,15 +2139,15 @@ dependencies = [ [[package]] name = "parity-util-mem" -version = "0.11.0" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c32561d248d352148124f036cac253a644685a21dc9fea383eb4907d7bd35a8f" +checksum = "0d32c34f4f5ca7f9196001c0aba5a1f9a5a12382c8944b8b0f90233282d1e8f8" dependencies = [ "cfg-if 1.0.0", "hashbrown", "impl-trait-for-tuples", "parity-util-mem-derive", - "parking_lot", + "parking_lot 0.12.1", "primitive-types", "winapi 0.3.9", ] @@ -2252,21 +2165,31 @@ dependencies = [ [[package]] name = "parity-wasm" -version = "0.42.2" +version = "0.45.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be5e13c266502aadf83426d87d81a0f5d1ef45b8027f5a471c360abfe4bfae92" +checksum = "e1ad0aff30c1da14b1254fcb2af73e1fa9a28670e584a626f53a369d0e157304" [[package]] -name = "parity-wasm" -version = "0.45.0" +name = "parking_lot" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1ad0aff30c1da14b1254fcb2af73e1fa9a28670e584a626f53a369d0e157304" +checksum = "f842b1982eb6c2fe34036a4fbfb06dd185a3f5c8edfaacdf7d1ea10b07de6252" +dependencies = [ + "lock_api 0.3.4", + "parking_lot_core 0.6.2", + "rustc_version 0.2.3", +] [[package]] -name = "parking" -version = "2.0.0" +name = "parking_lot" +version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "427c3892f9e783d91cc128285287e70a59e206ca452770ece88a76f7a3eddd72" +checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99" +dependencies = [ + "instant", + "lock_api 0.4.9", + "parking_lot_core 0.8.5", +] [[package]] name = "parking_lot" @@ -2274,20 +2197,49 @@ version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" dependencies = [ - "lock_api", - "parking_lot_core", + "lock_api 0.4.9", + "parking_lot_core 0.9.5", ] [[package]] name = "parking_lot_core" -version = "0.9.4" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b876b1b9e7ac6e1a74a6da34d25c42e17e8862aa409cbbbdcfc8d86c6f3bc62b" +dependencies = [ + "cfg-if 0.1.10", + "cloudabi", + "libc", + "redox_syscall 0.1.57", + "rustc_version 0.2.3", + "smallvec 0.6.14", + "winapi 0.3.9", +] + +[[package]] +name = "parking_lot_core" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4dc9e0dc2adc1c69d09143aff38d3d30c5c3f0df0dad82e6d25547af174ebec0" +checksum = "d76e8e1493bcac0d2766c42737f34458f1c8c50c0d23bcb24ea953affb273216" +dependencies = [ + "cfg-if 1.0.0", + "instant", + "libc", + "redox_syscall 0.2.16", + "smallvec 1.10.0", + "winapi 0.3.9", +] + +[[package]] +name = "parking_lot_core" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ff9f3fef3968a3ec5945535ed654cb38ff72d7495a25619e2247fb15a2ed9ba" dependencies = [ "cfg-if 1.0.0", "libc", - "redox_syscall", - "smallvec", + "redox_syscall 0.2.16", + "smallvec 1.10.0", "windows-sys 0.42.0", ] @@ -2317,29 +2269,15 @@ dependencies = [ [[package]] name = "percent-encoding" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e" - -[[package]] -name = "pin-project" -version = "1.0.12" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad29a609b6bcd67fee905812e544992d216af9d755757c05ed2d0e15a74c6ecc" -dependencies = [ - "pin-project-internal", -] +checksum = "31010dd2e1ac33d5b46a5b413495239882813e0369f8ed8a5e266f173602f831" [[package]] -name = "pin-project-internal" -version = "1.0.12" +name = "percent-encoding" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "069bdb1e05adc7a8990dce9cc75370895fbe4e3d58b9b73bf1aee56359344a55" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] +checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e" [[package]] name = "pin-project-lite" @@ -2378,9 +2316,9 @@ checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" [[package]] name = "primitive-types" -version = "0.11.1" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e28720988bff275df1f51b171e1b2a18c30d194c4d2b61defdacecd625a5d94a" +checksum = "9f3486ccba82358b11a77516035647c34ba167dfa53312630de83b12bd4f3d66" dependencies = [ "fixed-hash", "impl-codec", @@ -2390,18 +2328,12 @@ dependencies = [ ] [[package]] -name = "primitives" -version = "0.5.2" +name = "proc-macro-crate" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d6ea3c4595b96363c13943497db34af4460fb474a95c43f4446ad341b8c9785" dependencies = [ - "parity-scale-codec", - "scale-info", - "serde", - "sp-api", - "sp-application-crypto 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-staking", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "toml", ] [[package]] @@ -2425,7 +2357,7 @@ dependencies = [ "proc-macro2", "quote", "syn", - "version_check", + "version_check 0.9.4", ] [[package]] @@ -2436,7 +2368,7 @@ checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" dependencies = [ "proc-macro2", "quote", - "version_check", + "version_check 0.9.4", ] [[package]] @@ -2463,6 +2395,25 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" +[[package]] +name = "rand" +version = "0.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d71dacdc3c88c1fde3885a3be3fbab9f35724e6ce99467f7d9c5026132184ca" +dependencies = [ + "autocfg 0.1.8", + "libc", + "rand_chacha 0.1.1", + "rand_core 0.4.2", + "rand_hc 0.1.0", + "rand_isaac", + "rand_jitter", + "rand_os", + "rand_pcg 0.1.2", + "rand_xorshift", + "winapi 0.3.9", +] + [[package]] name = "rand" version = "0.7.3" @@ -2473,8 +2424,8 @@ dependencies = [ "libc", "rand_chacha 0.2.2", "rand_core 0.5.1", - "rand_hc", - "rand_pcg", + "rand_hc 0.2.0", + "rand_pcg 0.2.1", ] [[package]] @@ -2488,6 +2439,16 @@ dependencies = [ "rand_core 0.6.4", ] +[[package]] +name = "rand_chacha" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "556d3a1ca6600bfcbab7c7c91ccb085ac7fbbcd70e008a98742e7847f4f7bcef" +dependencies = [ + "autocfg 0.1.8", + "rand_core 0.3.1", +] + [[package]] name = "rand_chacha" version = "0.2.2" @@ -2508,6 +2469,21 @@ dependencies = [ "rand_core 0.6.4", ] +[[package]] +name = "rand_core" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b" +dependencies = [ + "rand_core 0.4.2", +] + +[[package]] +name = "rand_core" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c33a3c44ca05fa6f1807d8e6743f3824e8509beca625669633be0acbdf509dc" + [[package]] name = "rand_core" version = "0.5.1" @@ -2526,6 +2502,25 @@ dependencies = [ "getrandom 0.2.8", ] +[[package]] +name = "rand_distr" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32cb0b9bc82b0a0876c2dd994a7e7a2683d3e7390ca40e6886785ef0c7e3ee31" +dependencies = [ + "num-traits", + "rand 0.8.5", +] + +[[package]] +name = "rand_hc" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b40677c7be09ae76218dc623efbf7b18e34bced3f38883af07bb75630a21bc4" +dependencies = [ + "rand_core 0.3.1", +] + [[package]] name = "rand_hc" version = "0.2.0" @@ -2536,187 +2531,248 @@ dependencies = [ ] [[package]] -name = "rand_pcg" -version = "0.2.1" +name = "rand_isaac" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16abd0c1b639e9eb4d7c50c0b8100b0d0f849be2349829c740fe8e6eb4816429" +checksum = "ded997c9d5f13925be2a6fd7e66bf1872597f759fd9dd93513dd7e92e5a5ee08" dependencies = [ - "rand_core 0.5.1", + "rand_core 0.3.1", ] [[package]] -name = "redox_syscall" -version = "0.2.16" +name = "rand_jitter" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" +checksum = "1166d5c91dc97b88d1decc3285bb0a99ed84b05cfd0bc2341bdf2d43fc41e39b" dependencies = [ - "bitflags", + "libc", + "rand_core 0.4.2", + "winapi 0.3.9", ] [[package]] -name = "ref-cast" -version = "1.0.13" +name = "rand_os" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53b15debb4f9d60d767cd8ca9ef7abb2452922f3214671ff052defc7f3502c44" +checksum = "7b75f676a1e053fc562eafbb47838d67c84801e38fc1ba459e8f180deabd5071" dependencies = [ - "ref-cast-impl", + "cloudabi", + "fuchsia-cprng", + "libc", + "rand_core 0.4.2", + "rdrand", + "winapi 0.3.9", ] [[package]] -name = "ref-cast-impl" -version = "1.0.13" +name = "rand_pcg" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abfa8511e9e94fd3de6585a3d3cd00e01ed556dc9814829280af0e8dc72a8f36" +checksum = "abf9b09b01790cfe0364f52bf32995ea3c39f4d2dd011eac241d2914146d0b44" dependencies = [ - "proc-macro2", - "quote", - "syn", + "autocfg 0.1.8", + "rand_core 0.4.2", ] [[package]] -name = "regex" -version = "1.7.0" +name = "rand_pcg" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e076559ef8e241f2ae3479e36f97bd5741c0330689e217ad51ce2c76808b868a" +checksum = "16abd0c1b639e9eb4d7c50c0b8100b0d0f849be2349829c740fe8e6eb4816429" dependencies = [ - "aho-corasick", - "memchr", - "regex-syntax", + "rand_core 0.5.1", ] [[package]] -name = "regex-automata" -version = "0.1.10" +name = "rand_xorshift" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" +checksum = "cbf7e9e623549b0e21f6e97cf8ecf247c1a8fd2e8a992ae265314300b2455d5c" dependencies = [ - "regex-syntax", + "rand_core 0.3.1", ] [[package]] -name = "regex-syntax" -version = "0.6.28" +name = "rawpointer" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848" +checksum = "60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3" [[package]] -name = "rfc6979" -version = "0.1.0" +name = "rdrand" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96ef608575f6392792f9ecf7890c00086591d29a83910939d430753f7c050525" +checksum = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2" dependencies = [ - "crypto-bigint", - "hmac 0.11.0", - "zeroize", + "rand_core 0.3.1", ] [[package]] -name = "ring" -version = "0.16.20" +name = "redox_syscall" +version = "0.1.57" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc" +checksum = "41cc0f7e4d5d4544e8861606a285bb08d3e70712ccc7d2b84d7c0ccfaf4b05ce" + +[[package]] +name = "redox_syscall" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" dependencies = [ - "cc", - "libc", - "once_cell", - "spin", - "untrusted", - "web-sys", - "winapi 0.3.9", + "bitflags", ] [[package]] -name = "rlibc" -version = "1.0.0" +name = "ref-cast" +version = "1.0.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc874b127765f014d792f16763a81245ab80500e2ad921ed4ee9e82481ee08fe" +checksum = "53b15debb4f9d60d767cd8ca9ef7abb2452922f3214671ff052defc7f3502c44" +dependencies = [ + "ref-cast-impl", +] [[package]] -name = "rustc-demangle" -version = "0.1.21" +name = "ref-cast-impl" +version = "1.0.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ef03e0a2b150c7a90d01faf6254c9c48a41e95fb2a8c2ac1c6f0d2b9aefc342" +checksum = "abfa8511e9e94fd3de6585a3d3cd00e01ed556dc9814829280af0e8dc72a8f36" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] [[package]] -name = "rustc-hash" -version = "1.1.0" +name = "regex" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" +checksum = "e076559ef8e241f2ae3479e36f97bd5741c0330689e217ad51ce2c76808b868a" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] [[package]] -name = "rustc-hex" -version = "2.1.0" +name = "regex-automata" +version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e75f6a532d0fd9f7f13144f392b6ad56a32696bfcd9c78f797f16bbb6f072d6" +checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" +dependencies = [ + "regex-syntax", +] [[package]] -name = "rustls" -version = "0.20.7" +name = "regex-syntax" +version = "0.6.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "539a2bfe908f471bfa933876bd1eb6a19cf2176d375f82ef7f99530a40e48c2c" +checksum = "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848" + +[[package]] +name = "remove_dir_all" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7" dependencies = [ - "log", - "ring", - "sct", - "webpki", + "winapi 0.3.9", ] [[package]] -name = "rustls-native-certs" -version = "0.6.2" +name = "reqwest" +version = "0.11.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0167bac7a9f490495f3c33013e7722b53cb087ecbe082fb0c6387c96f634ea50" +checksum = "68cc60575865c7831548863cc02356512e3f1dc2f3f82cb837d7fc4cc8f3c97c" dependencies = [ - "openssl-probe", - "rustls-pemfile", - "schannel", - "security-framework", + "base64 0.13.1", + "bytes 1.3.0", + "encoding_rs", + "futures-core", + "futures-util", + "h2", + "http", + "http-body", + "hyper 0.14.23", + "hyper-tls", + "ipnet", + "js-sys", + "log 0.4.17", + "mime 0.3.16", + "native-tls", + "once_cell", + "percent-encoding 2.2.0", + "pin-project-lite", + "serde", + "serde_json", + "serde_urlencoded", + "tokio", + "tokio-native-tls", + "tower-service", + "url 2.3.1", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "winreg", ] [[package]] -name = "rustls-pemfile" -version = "1.0.1" +name = "rfc6979" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0864aeff53f8c05aa08d86e5ef839d3dfcf07aeba2db32f12db0ef716e87bd55" +checksum = "96ef608575f6392792f9ecf7890c00086591d29a83910939d430753f7c050525" dependencies = [ - "base64", + "crypto-bigint", + "hmac 0.11.0", + "zeroize", ] [[package]] -name = "rustversion" -version = "1.0.9" +name = "rustc-demangle" +version = "0.1.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97477e48b4cf8603ad5f7aaf897467cf42ab4218a38ef76fb14c2d6773a6d6a8" +checksum = "7ef03e0a2b150c7a90d01faf6254c9c48a41e95fb2a8c2ac1c6f0d2b9aefc342" [[package]] -name = "ryu" -version = "1.0.11" +name = "rustc-hash" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4501abdff3ae82a1c1b477a17252eb69cee9e66eb915c1abaa4f44d873df9f09" +checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" [[package]] -name = "scale-bits" -version = "0.3.0" +name = "rustc-hex" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e75f6a532d0fd9f7f13144f392b6ad56a32696bfcd9c78f797f16bbb6f072d6" + +[[package]] +name = "rustc_version" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8dd7aca73785181cc41f0bbe017263e682b585ca660540ba569133901d013ecf" +checksum = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a" dependencies = [ - "parity-scale-codec", - "scale-info", - "serde", + "semver 0.9.0", ] [[package]] -name = "scale-decode" +name = "rustc_version" version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d823d4be477fc33321f93d08fb6c2698273d044f01362dc27573a750deb7c233" +checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" dependencies = [ - "parity-scale-codec", - "scale-bits", - "scale-info", - "thiserror", + "semver 1.0.14", ] +[[package]] +name = "ryu" +version = "1.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4501abdff3ae82a1c1b477a17252eb69cee9e66eb915c1abaa4f44d873df9f09" + +[[package]] +name = "safemem" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef703b7cb59335eae2eb93ceb664c0eb7ea6bf567079d843e09420219668e072" + [[package]] name = "scale-info" version = "2.3.0" @@ -2737,29 +2793,12 @@ version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cdcd47b380d8c4541044e341dcd9475f55ba37ddc50c908d945fc036a8642496" dependencies = [ - "proc-macro-crate", + "proc-macro-crate 1.2.1", "proc-macro2", "quote", "syn", ] -[[package]] -name = "scale-value" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16a5e7810815bd295da73e4216d1dfbced3c7c7c7054d70fa5f6e4c58123fff4" -dependencies = [ - "either", - "frame-metadata", - "parity-scale-codec", - "scale-bits", - "scale-decode", - "scale-info", - "serde", - "thiserror", - "yap", -] - [[package]] name = "schannel" version = "0.1.20" @@ -2800,16 +2839,6 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c8132065adcfd6e02db789d9285a0deb2f3fcb04002865ab67d5fb103533898" -[[package]] -name = "sct" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4" -dependencies = [ - "ring", - "untrusted", -] - [[package]] name = "sec1" version = "0.2.1" @@ -2823,31 +2852,13 @@ dependencies = [ "zeroize", ] -[[package]] -name = "secp256k1" -version = "0.21.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c42e6f1735c5f00f51e43e28d6634141f2bcad10931b2609ddd74a86d751260" -dependencies = [ - "secp256k1-sys 0.4.2", -] - [[package]] name = "secp256k1" version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ff55dc09d460954e9ef2fa8a7ced735a964be9981fd50e870b2b3b0705e14964" dependencies = [ - "secp256k1-sys 0.6.1", -] - -[[package]] -name = "secp256k1-sys" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "957da2573cde917463ece3570eab4a0b3f19de6f1646cde62e6fd3868f566036" -dependencies = [ - "cc", + "secp256k1-sys", ] [[package]] @@ -2893,27 +2904,39 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.14" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e25dfac463d778e353db5be2449d1cce89bd6fd23c9f1ea21310ce6e5a1b29c4" +checksum = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403" dependencies = [ - "serde", + "semver-parser", ] +[[package]] +name = "semver" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e25dfac463d778e353db5be2449d1cce89bd6fd23c9f1ea21310ce6e5a1b29c4" + +[[package]] +name = "semver-parser" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" + [[package]] name = "serde" -version = "1.0.147" +version = "1.0.148" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d193d69bae983fc11a79df82342761dfbf28a99fc8d203dca4c3c1b590948965" +checksum = "e53f64bb4ba0191d6d0676e1b141ca55047d83b74f5607e6d8eb88126c52c2dc" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.147" +version = "1.0.148" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f1d362ca8fc9c3e3a7484440752472d68a6caa98f1ab81d99b5dfe517cec852" +checksum = "a55492425aa53521babf6137309e7d34c20bbfbbfcfe2c7f3a047fd1f6b92c0c" dependencies = [ "proc-macro2", "quote", @@ -2932,30 +2955,32 @@ dependencies = [ ] [[package]] -name = "sha-1" -version = "0.8.2" +name = "serde_urlencoded" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7d94d0bede923b3cea61f3f1ff57ff8cdfd77b400fb8f9998949e0cf04163df" +checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" dependencies = [ - "block-buffer 0.7.3", - "digest 0.8.1", - "fake-simd", - "opaque-debug 0.2.3", + "form_urlencoded", + "itoa", + "ryu", + "serde", ] [[package]] -name = "sha-1" -version = "0.9.8" +name = "sha1" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99cd6713db3cf16b6c84e06321e049a9b9f699826e16096d23bbcc44d15d51a6" +checksum = "c1da05c97445caa12d05e848c4a4fcbbea29e748ac28f7e80e9b010392063770" dependencies = [ - "block-buffer 0.9.0", - "cfg-if 1.0.0", - "cpufeatures", - "digest 0.9.0", - "opaque-debug 0.3.0", + "sha1_smol", ] +[[package]] +name = "sha1_smol" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae1a47186c03a32177042e55dbc5fd5aee900b8e0069a8d70fba96a9375cd012" + [[package]] name = "sha2" version = "0.8.2" @@ -3030,13 +3055,34 @@ dependencies = [ "rand_core 0.6.4", ] +[[package]] +name = "simba" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e82063457853d00243beda9952e910b82593e4b07ae9f721b9278a99a0d3d5c" +dependencies = [ + "approx", + "num-complex", + "num-traits", + "paste", +] + [[package]] name = "slab" version = "0.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4614a76b2a8be0058caa9dbbaf66d988527d86d003c11a94fbd335d7661edcef" dependencies = [ - "autocfg", + "autocfg 1.1.0", +] + +[[package]] +name = "smallvec" +version = "0.6.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b97fcaeba89edba30f044a10c6a3cc39df9c3f17d7cd829dd1446cab35f890e0" +dependencies = [ + "maybe-uninit", ] [[package]] @@ -3055,35 +3101,20 @@ dependencies = [ "winapi 0.3.9", ] -[[package]] -name = "soketto" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41d1c5305e39e09653383c2c7244f2f78b3bcae37cf50c64cb4789c9f5096ec2" -dependencies = [ - "base64", - "bytes 1.3.0", - "futures", - "httparse", - "log", - "rand 0.8.5", - "sha-1 0.9.8", -] - [[package]] name = "sp-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "hash-db", - "log", + "log 0.4.17", "parity-scale-codec", "sp-api-proc-macro", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-state-machine 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-trie 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-core", + "sp-runtime", + "sp-state-machine", + "sp-std", + "sp-trie", "sp-version", "thiserror", ] @@ -3091,10 +3122,10 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "blake2", - "proc-macro-crate", + "proc-macro-crate 1.2.1", "proc-macro2", "quote", "syn", @@ -3103,112 +3134,35 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acb4490364cb3b097a6755343e552495b0013778152300714be4647d107e9a2e" -dependencies = [ - "parity-scale-codec", - "scale-info", - "serde", - "sp-core 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-io 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "sp-application-crypto" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" -dependencies = [ - "parity-scale-codec", - "scale-info", - "serde", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", -] - -[[package]] -name = "sp-arithmetic" -version = "5.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31ef21f82cc10f75ed046b65e2f8048080ee76e59f1b8aed55c7150daebfd35b" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ - "integer-sqrt", - "num-traits", "parity-scale-codec", "scale-info", "serde", - "sp-debug-derive 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "static_assertions", + "sp-core", + "sp-io", + "sp-std", ] [[package]] name = "sp-arithmetic" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "integer-sqrt", "num-traits", "parity-scale-codec", "scale-info", "serde", - "sp-debug-derive 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-debug-derive", + "sp-std", "static_assertions", ] [[package]] name = "sp-core" version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77963e2aa8fadb589118c3aede2e78b6c4bcf1c01d588fbf33e915b390825fbd" -dependencies = [ - "base58", - "bitflags", - "blake2-rfc", - "byteorder", - "dyn-clonable", - "ed25519-dalek", - "futures", - "hash-db", - "hash256-std-hasher", - "hex", - "impl-serde", - "lazy_static", - "libsecp256k1", - "log", - "merlin", - "num-traits", - "parity-scale-codec", - "parity-util-mem", - "parking_lot", - "primitive-types", - "rand 0.7.3", - "regex", - "scale-info", - "schnorrkel", - "secp256k1 0.21.3", - "secrecy", - "serde", - "sp-core-hashing 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-debug-derive 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-externalities 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-runtime-interface 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-storage 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "ss58-registry", - "substrate-bip39", - "thiserror", - "tiny-bip39", - "wasmi 0.9.1", - "zeroize", -] - -[[package]] -name = "sp-core" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "array-bytes", "base58", @@ -3217,185 +3171,122 @@ dependencies = [ "byteorder", "dyn-clonable", "ed25519-zebra", - "futures", + "futures 0.3.25", "hash-db", "hash256-std-hasher", "impl-serde", "lazy_static", "libsecp256k1", - "log", + "log 0.4.17", "merlin", "num-traits", "parity-scale-codec", "parity-util-mem", - "parking_lot", + "parking_lot 0.12.1", "primitive-types", "rand 0.7.3", "regex", "scale-info", "schnorrkel", - "secp256k1 0.24.1", + "secp256k1", "secrecy", "serde", - "sp-core-hashing 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-debug-derive 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-runtime-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-storage 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-core-hashing", + "sp-debug-derive", + "sp-externalities", + "sp-runtime-interface", + "sp-std", + "sp-storage", "ss58-registry", "substrate-bip39", "thiserror", "tiny-bip39", - "wasmi 0.13.2", + "wasmi", "zeroize", ] [[package]] name = "sp-core-hashing" version = "4.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec864a6a67249f0c8dd3d5acab43623a61677e85ff4f2f9b04b802d2fe780e83" -dependencies = [ - "blake2-rfc", - "byteorder", - "sha2 0.9.9", - "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "tiny-keccak", - "twox-hash", -] - -[[package]] -name = "sp-core-hashing" -version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "blake2", "byteorder", "digest 0.10.6", "sha2 0.10.6", "sha3", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std", "twox-hash", ] [[package]] name = "sp-core-hashing-proc-macro" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "proc-macro2", "quote", - "sp-core-hashing 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-core-hashing", "syn", ] [[package]] name = "sp-debug-derive" version = "4.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d676664972e22a0796176e81e7bec41df461d1edf52090955cdab55f2c956ff2" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "proc-macro2", "quote", "syn", ] -[[package]] -name = "sp-debug-derive" -version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "sp-externalities" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fcfd91f92a2a59224230a77c4a5d6f51709620c0aab4e51f108ccece6adc56f" -dependencies = [ - "environmental", - "parity-scale-codec", - "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-storage 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - [[package]] name = "sp-externalities" version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "environmental", "parity-scale-codec", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-storage 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std", + "sp-storage", ] [[package]] name = "sp-inherents" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "async-trait", "impl-trait-for-tuples", "parity-scale-codec", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-core", + "sp-runtime", + "sp-std", "thiserror", ] [[package]] name = "sp-io" version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "935fd3c71bad6811a7984cabb74d323b8ca3107024024c3eabb610e0182ba8d3" -dependencies = [ - "futures", - "hash-db", - "libsecp256k1", - "log", - "parity-scale-codec", - "parking_lot", - "secp256k1 0.21.3", - "sp-core 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-externalities 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-keystore 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-runtime-interface 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-state-machine 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-tracing 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-trie 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-wasm-interface 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "tracing", - "tracing-core", -] - -[[package]] -name = "sp-io" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "bytes 1.3.0", - "futures", + "futures 0.3.25", "hash-db", "libsecp256k1", - "log", + "log 0.4.17", "parity-scale-codec", - "parking_lot", - "secp256k1 0.24.1", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-keystore 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-runtime-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-state-machine 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-tracing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-trie 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-wasm-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "parking_lot 0.12.1", + "secp256k1", + "sp-core", + "sp-externalities", + "sp-keystore", + "sp-runtime-interface", + "sp-state-machine", + "sp-std", + "sp-tracing", + "sp-trie", + "sp-wasm-interface", "tracing", "tracing-core", ] @@ -3403,169 +3294,77 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3261eddca8c8926e3e1de136a7980cb3afc3455247d9d6f3119d9b292f73aaee" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "async-trait", - "futures", + "futures 0.3.25", "merlin", "parity-scale-codec", - "parking_lot", + "parking_lot 0.12.1", "schnorrkel", - "sp-core 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-externalities 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-core", + "sp-externalities", "thiserror", ] -[[package]] -name = "sp-keystore" -version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" -dependencies = [ - "async-trait", - "futures", - "merlin", - "parity-scale-codec", - "parking_lot", - "schnorrkel", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "thiserror", -] - -[[package]] -name = "sp-panic-handler" -version = "4.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2101f3c555fceafcfcfb0e61c55ea9ed80dc60bd77d54d9f25b369edb029e9a4" -dependencies = [ - "backtrace", - "lazy_static", - "regex", -] - [[package]] name = "sp-panic-handler" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "backtrace", "lazy_static", "regex", ] -[[package]] -name = "sp-rpc" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" -dependencies = [ - "rustc-hash", - "serde", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", -] - -[[package]] -name = "sp-runtime" -version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb7d8a8d5ab5d349c6cf9300af1721b7b6446ba63401dbb11c10a1d65197aa5f" -dependencies = [ - "either", - "hash256-std-hasher", - "impl-trait-for-tuples", - "log", - "parity-scale-codec", - "parity-util-mem", - "paste", - "rand 0.7.3", - "scale-info", - "serde", - "sp-application-crypto 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-arithmetic 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-core 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-io 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - [[package]] name = "sp-runtime" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "either", "hash256-std-hasher", "impl-trait-for-tuples", - "log", + "log 0.4.17", "parity-scale-codec", "parity-util-mem", "paste", "rand 0.7.3", "scale-info", "serde", - "sp-application-crypto 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-arithmetic 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-io 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-application-crypto", + "sp-arithmetic", + "sp-core", + "sp-io", + "sp-std", "sp-weights", ] [[package]] name = "sp-runtime-interface" version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "158bf0305c75a50fc0e334b889568f519a126e32b87900c3f4251202dece7b4b" -dependencies = [ - "impl-trait-for-tuples", - "parity-scale-codec", - "primitive-types", - "sp-externalities 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-runtime-interface-proc-macro 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-storage 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-tracing 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-wasm-interface 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "static_assertions", -] - -[[package]] -name = "sp-runtime-interface" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "bytes 1.3.0", "impl-trait-for-tuples", "parity-scale-codec", "primitive-types", - "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-runtime-interface-proc-macro 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-storage 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-tracing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-wasm-interface 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-externalities", + "sp-runtime-interface-proc-macro", + "sp-std", + "sp-storage", + "sp-tracing", + "sp-wasm-interface", "static_assertions", ] [[package]] name = "sp-runtime-interface-proc-macro" version = "5.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22ecb916b9664ed9f90abef0ff5a3e61454c1efea5861b2997e03f39b59b955f" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "Inflector", - "proc-macro-crate", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "sp-runtime-interface-proc-macro" -version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" -dependencies = [ - "Inflector", - "proc-macro-crate", + "proc-macro-crate 1.2.1", "proc-macro2", "quote", "syn", @@ -3574,55 +3373,31 @@ dependencies = [ [[package]] name = "sp-staking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "parity-scale-codec", "scale-info", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", -] - -[[package]] -name = "sp-state-machine" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecee3b33eb78c99997676a571656bcc35db6886abecfddd13e76a73b5871c6c1" -dependencies = [ - "hash-db", - "log", - "num-traits", - "parity-scale-codec", - "parking_lot", - "rand 0.7.3", - "smallvec", - "sp-core 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-externalities 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-panic-handler 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-trie 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "thiserror", - "tracing", - "trie-db 0.23.1", - "trie-root", + "sp-runtime", + "sp-std", ] [[package]] name = "sp-state-machine" version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "hash-db", - "log", + "log 0.4.17", "num-traits", "parity-scale-codec", - "parking_lot", + "parking_lot 0.12.1", "rand 0.7.3", - "smallvec", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-externalities 0.12.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-panic-handler 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-trie 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "smallvec 1.10.0", + "sp-core", + "sp-externalities", + "sp-panic-handler", + "sp-std", + "sp-trie", "thiserror", "tracing", "trie-root", @@ -3631,61 +3406,28 @@ dependencies = [ [[package]] name = "sp-std" version = "4.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14804d6069ee7a388240b665f17908d98386ffb0b5d39f89a4099fc7a2a4c03f" - -[[package]] -name = "sp-std" -version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" - -[[package]] -name = "sp-storage" -version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5dab53af846068e3e0716d3ccc70ea0db44035c79b2ed5821aaa6635039efa37" -dependencies = [ - "impl-serde", - "parity-scale-codec", - "ref-cast", - "serde", - "sp-debug-derive 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", -] +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" [[package]] name = "sp-storage" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" -dependencies = [ - "impl-serde", - "parity-scale-codec", - "ref-cast", - "serde", - "sp-debug-derive 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", -] - -[[package]] -name = "sp-tracing" -version = "5.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69a67e555d171c4238bd223393cda747dd20ec7d4f5fe5c042c056cb7fde9eda" +version = "6.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ + "impl-serde", "parity-scale-codec", - "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "tracing", - "tracing-core", - "tracing-subscriber", + "ref-cast", + "serde", + "sp-debug-derive", + "sp-std", ] [[package]] name = "sp-tracing" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "parity-scale-codec", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-std", "tracing", "tracing-core", "tracing-subscriber", @@ -3694,23 +3436,7 @@ dependencies = [ [[package]] name = "sp-trie" version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6fc34f4f291886914733e083b62708d829f3e6b8d7a7ca7fa8a55a3d7640b0b" -dependencies = [ - "hash-db", - "memory-db", - "parity-scale-codec", - "scale-info", - "sp-core 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "trie-db 0.23.1", - "trie-root", -] - -[[package]] -name = "sp-trie" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "ahash", "hash-db", @@ -3720,29 +3446,29 @@ dependencies = [ "memory-db", "nohash-hasher", "parity-scale-codec", - "parking_lot", + "parking_lot 0.12.1", "scale-info", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-core", + "sp-std", "thiserror", "tracing", - "trie-db 0.24.0", + "trie-db", "trie-root", ] [[package]] name = "sp-version" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "impl-serde", "parity-scale-codec", - "parity-wasm 0.45.0", + "parity-wasm", "scale-info", "serde", "sp-core-hashing-proc-macro", - "sp-runtime 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "sp-runtime", + "sp-std", "sp-version-proc-macro", "thiserror", ] @@ -3750,7 +3476,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "parity-scale-codec", "proc-macro2", @@ -3761,50 +3487,31 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10d88debe690c2b24eaa9536a150334fcef2ae184c21a0e5b3e80135407a7d52" -dependencies = [ - "impl-trait-for-tuples", - "log", - "parity-scale-codec", - "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "wasmi 0.9.1", -] - -[[package]] -name = "sp-wasm-interface" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "impl-trait-for-tuples", - "log", + "log 0.4.17", "parity-scale-codec", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "wasmi 0.13.2", + "sp-std", + "wasmi", ] [[package]] name = "sp-weights" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30#7c43830c61162a22d08b82796151278c3c49914c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", "scale-info", "serde", - "smallvec", - "sp-arithmetic 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-core 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-debug-derive 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", - "sp-std 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.30)", + "smallvec 1.10.0", + "sp-arithmetic", + "sp-core", + "sp-debug-derive", + "sp-std", ] -[[package]] -name = "spin" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" - [[package]] name = "spki" version = "0.5.4" @@ -3836,6 +3543,19 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" +[[package]] +name = "statrs" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05bdbb8e4e78216a85785a85d3ec3183144f98d0097b9281802c019bb07a6f05" +dependencies = [ + "approx", + "lazy_static", + "nalgebra", + "num-traits", + "rand 0.8.5", +] + [[package]] name = "strsim" version = "0.10.0" @@ -3861,80 +3581,11 @@ version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" -[[package]] -name = "subxt" -version = "0.24.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a8757ee0e19f87e722577282ab1386c86592a4b13ff963b9c6ec4176348104c" -dependencies = [ - "bitvec", - "derivative", - "frame-metadata", - "futures", - "hex", - "jsonrpsee", - "parity-scale-codec", - "parking_lot", - "scale-decode", - "scale-info", - "scale-value", - "serde", - "serde_json", - "sp-core 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sp-runtime 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "subxt-macro", - "subxt-metadata", - "thiserror", - "tracing", -] - -[[package]] -name = "subxt-codegen" -version = "0.24.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb77f93e11e6ff3ff95fe33e3d24c27c342e16feca8ef47759993614ebe90d2c" -dependencies = [ - "darling", - "frame-metadata", - "heck", - "parity-scale-codec", - "proc-macro-error", - "proc-macro2", - "quote", - "scale-info", - "subxt-metadata", - "syn", -] - -[[package]] -name = "subxt-macro" -version = "0.24.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "051cc21d77a54ae944b872eafdf9edfe1d9134fdfcfc3477dc10f763c76564a9" -dependencies = [ - "darling", - "proc-macro-error", - "subxt-codegen", - "syn", -] - -[[package]] -name = "subxt-metadata" -version = "0.24.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ed78d80db3a97d55e8b1cfecc1f6f9e21793a589d4e2e5f4fe2d6d5850c2e54" -dependencies = [ - "frame-metadata", - "parity-scale-codec", - "scale-info", - "sp-core 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - [[package]] name = "syn" -version = "1.0.103" +version = "1.0.104" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a864042229133ada95abf3b54fdc62ef5ccabe9515b64717bcb9a1919e59445d" +checksum = "4ae548ec36cf198c0ef7710d3c230987c2d6d7bd98ad6edc0274462724c585ce" dependencies = [ "proc-macro2", "quote", @@ -3959,6 +3610,20 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" +[[package]] +name = "tempfile" +version = "3.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5cdb1ef4eaeeaddc8fbd371e5017057064af0911902ef36b39801f67cc6d79e4" +dependencies = [ + "cfg-if 1.0.0", + "fastrand", + "libc", + "redox_syscall 0.2.16", + "remove_dir_all", + "winapi 0.3.9", +] + [[package]] name = "termcolor" version = "1.1.3" @@ -4005,9 +3670,9 @@ dependencies = [ [[package]] name = "time" -version = "0.1.44" +version = "0.1.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6db9e6914ab8b1ae1c260a4ae7a49b6c5611b40328a735b21862567685e73255" +checksum = "1b797afad3f312d1c66a56d11d0316f916356d11bd158fbc6ca6389ff6bf805a" dependencies = [ "libc", "wasi 0.10.0+wasi-snapshot-preview1", @@ -4033,15 +3698,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "tiny-keccak" -version = "2.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237" -dependencies = [ - "crunchy", -] - [[package]] name = "tinyvec" version = "1.6.0" @@ -4063,13 +3719,13 @@ version = "1.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d76ce4a75fb488c605c54bf610f221cea8b0dafb53333c1a67e8ee199dcd2ae3" dependencies = [ - "autocfg", + "autocfg 1.1.0", "bytes 1.3.0", "libc", "memchr", "mio 0.8.5", "num_cpus", - "parking_lot", + "parking_lot 0.12.1", "pin-project-lite", "signal-hook-registry", "socket2", @@ -4077,6 +3733,38 @@ dependencies = [ "winapi 0.3.9", ] +[[package]] +name = "tokio-codec" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "25b2998660ba0e70d18684de5d06b70b70a3a747469af9dea7618cc59e75976b" +dependencies = [ + "bytes 0.4.12", + "futures 0.1.31", + "tokio-io", +] + +[[package]] +name = "tokio-executor" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fb2d1b8f4548dbf5e1f7818512e9c406860678f29c300cdf0ebac72d1a3a1671" +dependencies = [ + "crossbeam-utils 0.7.2", + "futures 0.1.31", +] + +[[package]] +name = "tokio-io" +version = "0.1.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57fc868aae093479e3131e3d165c93b1c7474109d13c90ec0dda2a1bbfff0674" +dependencies = [ + "bytes 0.4.12", + "futures 0.1.31", + "log 0.4.17", +] + [[package]] name = "tokio-macros" version = "1.8.0" @@ -4089,14 +3777,67 @@ dependencies = [ ] [[package]] -name = "tokio-rustls" -version = "0.23.4" +name = "tokio-native-tls" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c43ee83903113e03984cb9e5cebe6c04a5116269e900e3ddba8f068a62adda59" +checksum = "f7d995660bd2b7f8c1568414c1126076c13fbb725c40112dc0120b78eb9b717b" dependencies = [ - "rustls", + "native-tls", "tokio", - "webpki", +] + +[[package]] +name = "tokio-reactor" +version = "0.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09bc590ec4ba8ba87652da2068d150dcada2cfa2e07faae270a5e0409aa51351" +dependencies = [ + "crossbeam-utils 0.7.2", + "futures 0.1.31", + "lazy_static", + "log 0.4.17", + "mio 0.6.23", + "num_cpus", + "parking_lot 0.9.0", + "slab", + "tokio-executor", + "tokio-io", + "tokio-sync", +] + +[[package]] +name = "tokio-sync" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "edfe50152bc8164fcc456dab7891fa9bf8beaf01c5ee7e1dd43a397c3cf87dee" +dependencies = [ + "fnv", + "futures 0.1.31", +] + +[[package]] +name = "tokio-tcp" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "98df18ed66e3b72e742f185882a9e201892407957e45fbff8da17ae7a7c51f72" +dependencies = [ + "bytes 0.4.12", + "futures 0.1.31", + "iovec", + "mio 0.6.23", + "tokio-io", + "tokio-reactor", +] + +[[package]] +name = "tokio-tls" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "354b8cd83825b3c20217a9dc174d6a0c67441a2fae5c41bcb1ea6679f6ae0f7c" +dependencies = [ + "futures 0.1.31", + "native-tls", + "tokio-io", ] [[package]] @@ -4107,10 +3848,10 @@ checksum = "0bb2e075f03b3d66d8d8785356224ba688d2906a371015e225beeb65ca92c740" dependencies = [ "bytes 1.3.0", "futures-core", - "futures-io", "futures-sink", "pin-project-lite", "tokio", + "tracing", ] [[package]] @@ -4122,6 +3863,12 @@ dependencies = [ "serde", ] +[[package]] +name = "tower-service" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" + [[package]] name = "tracing" version = "0.1.37" @@ -4155,16 +3902,6 @@ dependencies = [ "valuable", ] -[[package]] -name = "tracing-futures" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2" -dependencies = [ - "pin-project", - "tracing", -] - [[package]] name = "tracing-log" version = "0.1.3" @@ -4172,7 +3909,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "78ddad33d2d10b1ed7eb9d1f518a5674713876e97e5bb9b7345a7984fbb4f922" dependencies = [ "lazy_static", - "log", + "log 0.4.17", "tracing-core", ] @@ -4200,7 +3937,7 @@ dependencies = [ "serde", "serde_json", "sharded-slab", - "smallvec", + "smallvec 1.10.0", "thread_local", "tracing", "tracing-core", @@ -4209,17 +3946,10 @@ dependencies = [ ] [[package]] -name = "trie-db" -version = "0.23.1" +name = "traitobject" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d32d034c0d3db64b43c31de38e945f15b40cd4ca6d2dcfc26d4798ce8de4ab83" -dependencies = [ - "hash-db", - "hashbrown", - "log", - "rustc-hex", - "smallvec", -] +checksum = "efd1f82c56340fdf16f2a953d7bda4f8fdffba13d93b00844c25572110b26079" [[package]] name = "trie-db" @@ -4229,9 +3959,9 @@ checksum = "004e1e8f92535694b4cb1444dc5a8073ecf0815e3357f729638b9f8fc4062908" dependencies = [ "hash-db", "hashbrown", - "log", + "log 0.4.17", "rustc-hex", - "smallvec", + "smallvec 1.10.0", ] [[package]] @@ -4243,6 +3973,12 @@ dependencies = [ "hash-db", ] +[[package]] +name = "try-lock" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642" + [[package]] name = "tt-call" version = "1.0.8" @@ -4261,6 +3997,12 @@ dependencies = [ "static_assertions", ] +[[package]] +name = "typeable" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1410f6f91f21d1612654e7cc69193b0334f909dcf2c790c4826254fbb86f8887" + [[package]] name = "typenum" version = "1.15.0" @@ -4269,9 +4011,9 @@ checksum = "dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987" [[package]] name = "uint" -version = "0.9.4" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a45526d29728d135c2900b0d30573fe3ee79fceb12ef534c7bb30e810a91b601" +checksum = "76f64bba2c53b04fcab63c01a7d7427eadc821e3bc48c34dc9ba29c501164b52" dependencies = [ "byteorder", "crunchy", @@ -4279,6 +4021,15 @@ dependencies = [ "static_assertions", ] +[[package]] +name = "unicase" +version = "1.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f4765f83163b74f957c797ad9253caf97f103fb064d3999aea9568d09fc8a33" +dependencies = [ + "version_check 0.1.5", +] + [[package]] name = "unicode-bidi" version = "0.3.8" @@ -4313,10 +4064,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" [[package]] -name = "untrusted" -version = "0.7.1" +name = "url" +version = "1.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" +checksum = "dd4e7c0d531266369519a4aa4f399d748bd37043b00bde1e4ff1f60a120b355a" +dependencies = [ + "idna 0.1.5", + "matches", + "percent-encoding 1.0.1", +] [[package]] name = "url" @@ -4325,9 +4081,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643" dependencies = [ "form_urlencoded", - "idna", - "percent-encoding", - "serde", + "idna 0.3.0", + "percent-encoding 2.2.0", ] [[package]] @@ -4342,6 +4097,12 @@ version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" +[[package]] +name = "version_check" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "914b1a6776c4c929a602fafd8bc742e06365d4bcbe48c30f9cca5824f70dc9dd" + [[package]] name = "version_check" version = "0.9.4" @@ -4349,10 +4110,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" [[package]] -name = "waker-fn" -version = "1.1.0" +name = "want" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d5b2c62b4012a3e1eca5a7e077d13b3bf498c4073e33ccd58626607748ceeca" +checksum = "1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0" +dependencies = [ + "log 0.4.17", + "try-lock", +] [[package]] name = "wasi" @@ -4389,7 +4154,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4c8ffb332579b0557b52d268b91feab8df3615f265d5270fec2a8c95b17c1142" dependencies = [ "bumpalo", - "log", + "log 0.4.17", "once_cell", "proc-macro2", "quote", @@ -4397,6 +4162,18 @@ dependencies = [ "wasm-bindgen-shared", ] +[[package]] +name = "wasm-bindgen-futures" +version = "0.4.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23639446165ca5a5de86ae1d8896b737ae80319560fbaa4c2887b7da6e7ebd7d" +dependencies = [ + "cfg-if 1.0.0", + "js-sys", + "wasm-bindgen", + "web-sys", +] + [[package]] name = "wasm-bindgen-macro" version = "0.2.83" @@ -4426,48 +4203,24 @@ version = "0.2.83" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1c38c045535d93ec4f0b4defec448e4291638ee608530863b1e2ba115d4fff7f" -[[package]] -name = "wasmi" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca00c5147c319a8ec91ec1a0edbec31e566ce2c9cc93b3f9bb86a9efd0eb795d" -dependencies = [ - "downcast-rs", - "libc", - "memory_units 0.3.0", - "num-rational 0.2.4", - "num-traits", - "parity-wasm 0.42.2", - "wasmi-validation 0.4.1", -] - [[package]] name = "wasmi" version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "06c326c93fbf86419608361a2c925a31754cf109da1b8b55737070b4d6669422" dependencies = [ - "parity-wasm 0.45.0", - "wasmi-validation 0.5.0", + "parity-wasm", + "wasmi-validation", "wasmi_core", ] -[[package]] -name = "wasmi-validation" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "165343ecd6c018fc09ebcae280752702c9a2ef3e6f8d02f1cfcbdb53ef6d7937" -dependencies = [ - "parity-wasm 0.42.2", -] - [[package]] name = "wasmi-validation" version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "91ff416ad1ff0c42e5a926ed5d5fab74c0f098749aa0ad8b2a34b982ce0e867b" dependencies = [ - "parity-wasm 0.45.0", + "parity-wasm", ] [[package]] @@ -4478,8 +4231,8 @@ checksum = "57d20cb3c59b788653d99541c646c561c9dd26506f25c0cebfe810659c54c6d7" dependencies = [ "downcast-rs", "libm", - "memory_units 0.4.0", - "num-rational 0.4.1", + "memory_units", + "num-rational", "num-traits", ] @@ -4494,22 +4247,44 @@ dependencies = [ ] [[package]] -name = "webpki" -version = "0.22.0" +name = "websocket" +version = "0.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f095d78192e208183081cc07bc5515ef55216397af48b873e5edcd72637fa1bd" +checksum = "413b37840b9e27b340ce91b319ede10731de8c72f5bc4cb0206ec1ca4ce581d0" dependencies = [ - "ring", - "untrusted", -] - -[[package]] -name = "webpki-roots" -version = "0.22.5" + "bytes 0.4.12", + "futures 0.1.31", + "hyper 0.10.16", + "native-tls", + "rand 0.6.5", + "tokio-codec", + "tokio-io", + "tokio-reactor", + "tokio-tcp", + "tokio-tls", + "unicase", + "url 1.7.2", + "websocket-base", +] + +[[package]] +name = "websocket-base" +version = "0.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "368bfe657969fb01238bb756d351dcade285e0f6fcbd36dcb23359a5169975be" +checksum = "5e3810f0d00c4dccb54c30a4eee815e703232819dec7b007db115791c42aa374" dependencies = [ - "webpki", + "base64 0.10.1", + "bitflags", + "byteorder", + "bytes 0.4.12", + "futures 0.1.31", + "native-tls", + "rand 0.6.5", + "sha1", + "tokio-codec", + "tokio-io", + "tokio-tcp", + "tokio-tls", ] [[package]] @@ -4656,22 +4431,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f40009d85759725a34da6d89a94e63d7bdc50a862acf0dbc7c8e488f1edcb6f5" [[package]] -name = "ws" -version = "0.9.2" +name = "winreg" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25fe90c75f236a0a00247d5900226aea4f2d7b05ccc34da9e7a8880ff59b5848" +checksum = "80d0f4e272c85def139476380b12f9ac60926689dd2e01d4923222f40580869d" dependencies = [ - "byteorder", - "bytes 0.4.12", - "httparse", - "log", - "mio 0.6.23", - "mio-extras", - "openssl", - "rand 0.7.3", - "sha-1 0.8.2", - "slab", - "url", + "winapi 0.3.9", ] [[package]] @@ -4693,12 +4458,6 @@ dependencies = [ "tap", ] -[[package]] -name = "yap" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fc77f52dc9e9b10d55d3f4462c3b7fc393c4f17975d641542833ab2d3bc26ef" - [[package]] name = "zeroize" version = "1.5.7" @@ -4719,17 +4478,3 @@ dependencies = [ "syn", "synstructure", ] - -[[package]] -name = "zip" -version = "0.5.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93ab48844d61251bb3835145c521d88aa4031d7139e8485990f60ca911fa0815" -dependencies = [ - "byteorder", - "bzip2", - "crc32fast", - "flate2", - "thiserror", - "time", -] diff --git a/fork-off/Cargo.toml b/fork-off/Cargo.toml index db5113acb3..2845097e2f 100644 --- a/fork-off/Cargo.toml +++ b/fork-off/Cargo.toml @@ -19,10 +19,10 @@ serde = "1" serde_json = "1" tokio = { version = "1.0", features = ["full"] } -sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -frame-support = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -frame-system = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -pallet-balances = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +frame-support = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +frame-system = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +pallet-balances = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } jsonrpc-core = "18.0" jsonrpc-core-client = { version = "18.0", features = ["ws"] } jsonrpc-derive = "18.0" diff --git a/fork-off/src/fsio.rs b/fork-off/src/fsio.rs index 6758f7ac99..97dec0c55d 100644 --- a/fork-off/src/fsio.rs +++ b/fork-off/src/fsio.rs @@ -48,7 +48,7 @@ pub fn save_snapshot_to_file(snapshot: Storage, path: String) { pub fn read_snapshot_from_file(path: String) -> Storage { let snapshot: Storage = - serde_json::from_str(&fs::read_to_string(&path).expect("Could not read snapshot file")) + serde_json::from_str(&fs::read_to_string(path).expect("Could not read snapshot file")) .expect("could not parse from snapshot"); info!("Read snapshot of {} key-val pairs", snapshot.len()); snapshot diff --git a/pallets/aleph/Cargo.toml b/pallets/aleph/Cargo.toml index 31232a45a8..511e8d5a9f 100644 --- a/pallets/aleph/Cargo.toml +++ b/pallets/aleph/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "pallet-aleph" -version = "0.5.2" +version = "0.5.3" authors = ["Cardinal Cryptography"] edition = "2021" license = "Apache 2.0" @@ -10,20 +10,20 @@ codec = { package = "parity-scale-codec", version = "3.0", default-features = fa serde = "1.0" scale-info = { version = "2.0", default-features = false, features = ["derive"] } -frame-support = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -frame-system = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -pallet-balances = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -pallet-session = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -sp-io = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -sp-std = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +frame-support = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +frame-system = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +pallet-balances = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +pallet-session = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +sp-io = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +sp-std = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } pallets-support = { path = "../support", default-features = false } primitives = { path = "../../primitives", default-features = false } [dev-dependencies] -pallet-timestamp = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -sp-runtime = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -sp-core = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +pallet-timestamp = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +sp-runtime = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +sp-core = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } [features] default = ["std"] diff --git a/pallets/elections/Cargo.toml b/pallets/elections/Cargo.toml index 1efe8b8a68..52e63eccb2 100644 --- a/pallets/elections/Cargo.toml +++ b/pallets/elections/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "pallet-elections" -version = "0.5.2" +version = "0.5.3" edition = "2021" license = "Apache 2.0" @@ -8,18 +8,18 @@ license = "Apache 2.0" codec = { package = "parity-scale-codec", version = "3.0", default-features = false, features = ["derive"] } scale-info = { version = "2.0", default-features = false, features = ["derive"] } -frame-support = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -frame-system = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -frame-election-provider-support = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -pallet-authorship = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -pallet-balances = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -pallet-session = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -pallet-staking = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -sp-core = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -sp-io = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -sp-staking = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -sp-std = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -sp-runtime = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +frame-support = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +frame-system = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +frame-election-provider-support = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +pallet-authorship = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +pallet-balances = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +pallet-session = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +pallet-staking = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +sp-core = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +sp-io = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +sp-staking = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +sp-std = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +sp-runtime = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } pallets-support = { path = "../support", default-features = false } primitives = { path = "../../primitives", default-features = false } diff --git a/pallets/elections/src/impls.rs b/pallets/elections/src/impls.rs index 64bbbf7fe8..9a2c7aa7c1 100644 --- a/pallets/elections/src/impls.rs +++ b/pallets/elections/src/impls.rs @@ -361,14 +361,14 @@ where } fn mark_validator_underperformance(thresholds: &BanConfigStruct, validator: &T::AccountId) { - let counter = UnderperformedValidatorSessionCount::::mutate(&validator, |count| { + let counter = UnderperformedValidatorSessionCount::::mutate(validator, |count| { *count += 1; *count }); if counter >= thresholds.underperformed_session_count_threshold { let reason = BanReason::InsufficientUptime(counter); Self::ban_validator(validator, reason); - UnderperformedValidatorSessionCount::::remove(&validator); + UnderperformedValidatorSessionCount::::remove(validator); } } diff --git a/pallets/elections/src/lib.rs b/pallets/elections/src/lib.rs index 2f8ab75ca8..747da8cad9 100644 --- a/pallets/elections/src/lib.rs +++ b/pallets/elections/src/lib.rs @@ -64,7 +64,7 @@ pub struct ValidatorTotalRewards(pub BTreeMap); #[frame_support::pallet] pub mod pallet { use frame_election_provider_support::{ - ElectionDataProvider, ElectionProvider, Support, Supports, + ElectionDataProvider, ElectionProvider, ElectionProviderBase, Support, Supports, }; use frame_support::{log, pallet_prelude::*, traits::Get}; use frame_system::{ @@ -375,8 +375,8 @@ pub mod pallet { #[pallet::genesis_build] impl GenesisBuild for GenesisConfig { fn build(&self) { - >::put(&self.committee_seats); - >::put(&self.committee_seats); + >::put(self.committee_seats); + >::put(self.committee_seats); >::put(&self.non_reserved_validators); >::put(&self.reserved_validators); >::put(&EraValidators { @@ -466,12 +466,18 @@ pub mod pallet { BanReasonTooBig, } - impl ElectionProvider for Pallet { + impl ElectionProviderBase for Pallet { type AccountId = T::AccountId; type BlockNumber = T::BlockNumber; type Error = ElectionError; type DataProvider = T::DataProvider; + fn ongoing() -> bool { + false + } + } + + impl ElectionProvider for Pallet { /// We calculate the supports for each validator. The external validators are chosen as: /// 1) "`NextEraNonReservedValidators` that are staking and are not banned" in case of Permissioned ElectionOpenness /// 2) "All staking and not banned validators" in case of Permissionless ElectionOpenness @@ -545,9 +551,5 @@ pub mod pallet { Ok(supports.into_iter().collect()) } - - fn ongoing() -> bool { - false - } } } diff --git a/pallets/support/Cargo.toml b/pallets/support/Cargo.toml index 44f9834ee4..b5a807d319 100644 --- a/pallets/support/Cargo.toml +++ b/pallets/support/Cargo.toml @@ -1,11 +1,11 @@ [package] name = "pallets-support" -version = "0.1.2" +version = "0.1.3" edition = "2021" [dependencies] -frame-support = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -sp-std = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +frame-support = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +sp-std = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } [features] default = ["std"] diff --git a/pallets/support/src/migration.rs b/pallets/support/src/migration.rs index f8b047ae45..095712ec9a 100644 --- a/pallets/support/src/migration.rs +++ b/pallets/support/src/migration.rs @@ -2,14 +2,13 @@ use frame_support::{ codec::{Decode, Encode}, sp_io, + sp_std::vec::Vec, storage::storage_prefix, }; use frame_support::{ pallet_prelude::{PalletInfoAccess, StorageVersion, Weight}, traits::OnRuntimeUpgrade, }; -#[cfg(feature = "try-runtime")] -use sp_std::vec::Vec; /// In order to run both pre- and post- checks around every migration, we entangle methods of /// `OnRuntimeUpgrade` into the desired flow and expose it with `migrate` method. diff --git a/primitives/Cargo.toml b/primitives/Cargo.toml index c1ac9a8759..3bdf8d71e0 100644 --- a/primitives/Cargo.toml +++ b/primitives/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "primitives" -version = "0.5.2" +version = "0.5.3" authors = ["Cardinal Cryptography"] edition = "2021" license = "Apache 2.0" @@ -10,12 +10,12 @@ codec = { package = "parity-scale-codec", version = "3.0", default-features = fa serde = { version = "1.0", features = ["derive"] } scale-info = { version = "2.0", default-features = false, features = ["derive"] } -sp-api = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -sp-application-crypto = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -sp-core = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -sp-runtime = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -sp-std = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } -sp-staking = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +sp-api = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +sp-application-crypto = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +sp-core = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +sp-runtime = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +sp-std = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +sp-staking = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } [features] default = ["std"] diff --git a/rust-toolchain b/rust-toolchain index 1f1f6b18d9..c7c6217087 100644 --- a/rust-toolchain +++ b/rust-toolchain @@ -1 +1 @@ -nightly-2022-08-12 +nightly-2022-11-28 From 9fd2ff0c0b86759c78427f7d60f448fae17004a9 Mon Sep 17 00:00:00 2001 From: Marcin Date: Fri, 2 Dec 2022 12:37:16 +0100 Subject: [PATCH 025/212] Added pending_rewards call to nomination pool api to our runtime (#778) * Added pending_rewards call to nomination pool api to our runtime * Set runtime version to 0.8.4 --- Cargo.lock | 13 ++++++++++++- bin/runtime/Cargo.toml | 4 +++- bin/runtime/src/lib.rs | 8 +++++++- 3 files changed, 22 insertions(+), 3 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 5aab6a0715..ed7aae8096 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -281,7 +281,7 @@ dependencies = [ [[package]] name = "aleph-runtime" -version = "0.8.3" +version = "0.8.4" dependencies = [ "frame-executive", "frame-support", @@ -298,6 +298,7 @@ dependencies = [ "pallet-identity", "pallet-multisig", "pallet-nomination-pools", + "pallet-nomination-pools-runtime-api", "pallet-randomness-collective-flip", "pallet-scheduler", "pallet-session", @@ -4357,6 +4358,16 @@ dependencies = [ "sp-std", ] +[[package]] +name = "pallet-nomination-pools-runtime-api" +version = "1.0.0-dev" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +dependencies = [ + "parity-scale-codec", + "sp-api", + "sp-std", +] + [[package]] name = "pallet-randomness-collective-flip" version = "4.0.0-dev" diff --git a/bin/runtime/Cargo.toml b/bin/runtime/Cargo.toml index e0e208c69b..888e32e6b5 100644 --- a/bin/runtime/Cargo.toml +++ b/bin/runtime/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "aleph-runtime" -version = "0.8.3" +version = "0.8.4" authors = ["Cardinal Cryptography"] edition = "2021" homepage = "https://alephzero.org" @@ -40,6 +40,7 @@ pallet-vesting = { default-features = false, git = "https://github.com/Cardinal- pallet-multisig = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } pallet-utility = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } pallet-nomination-pools = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +pallet-nomination-pools-runtime-api = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } sp-api = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } sp-block-builder = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } @@ -107,6 +108,7 @@ std = [ "pallet-contracts-primitives/std", "pallet-contracts/std", "pallet-nomination-pools/std", + "pallet-nomination-pools-runtime-api/std", ] short_session = ["primitives/short_session"] try-runtime = [ diff --git a/bin/runtime/src/lib.rs b/bin/runtime/src/lib.rs index 95fffe88da..30843433e3 100644 --- a/bin/runtime/src/lib.rs +++ b/bin/runtime/src/lib.rs @@ -105,7 +105,7 @@ pub const VERSION: RuntimeVersion = RuntimeVersion { spec_name: create_runtime_str!("aleph-node"), impl_name: create_runtime_str!("aleph-node"), authoring_version: 1, - spec_version: 42, + spec_version: 43, impl_version: 1, apis: RUNTIME_API_VERSIONS, transaction_version: 13, @@ -915,6 +915,12 @@ impl_runtime_apis! { } } + impl pallet_nomination_pools_runtime_api::NominationPoolsApi for Runtime { + fn pending_rewards(member_account: AccountId) -> Balance { + NominationPools::pending_rewards(member_account).unwrap_or_default() + } + } + #[cfg(feature = "try-runtime")] impl frame_try_runtime::TryRuntime for Runtime { fn on_runtime_upgrade() -> (Weight, Weight) { From f63fb3450f4c0a3c08c8cf983c54d03e9594a94d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C4=99drzej=20Kula?= Date: Mon, 5 Dec 2022 13:25:20 +0100 Subject: [PATCH 026/212] Experimental pruning flag (#783) * add experimental_pruning flag * add default value * fmt Co-authored-by: Jedrzej Kula --- bin/node/src/aleph_cli.rs | 10 ++++++++++ bin/node/src/main.rs | 27 +++++++++++++++------------ 2 files changed, 25 insertions(+), 12 deletions(-) diff --git a/bin/node/src/aleph_cli.rs b/bin/node/src/aleph_cli.rs index 02f71132bc..76d3a0539b 100644 --- a/bin/node/src/aleph_cli.rs +++ b/bin/node/src/aleph_cli.rs @@ -40,6 +40,12 @@ pub struct AlephCli { /// BEHAVIOUR AND PUNISHED ACCORDINGLY! #[clap(long, default_value_t = 20)] max_nonfinalized_blocks: u32, + + /// Experimental flag, allows pruning + /// + /// TURNING THIS FLAG ON, CAN LEAD TO MALICIOUS BEHAVIOUR AND CAN BE PUNISHED ACCORDINGLY! + #[clap(long, default_value_t = false)] + experimental_pruning: bool, } impl AlephCli { @@ -69,4 +75,8 @@ impl AlephCli { } self.max_nonfinalized_blocks } + + pub fn experimental_pruning(&self) -> bool { + self.experimental_pruning + } } diff --git a/bin/node/src/main.rs b/bin/node/src/main.rs index d9758ac8b3..a8d550a40a 100644 --- a/bin/node/src/main.rs +++ b/bin/node/src/main.rs @@ -10,18 +10,21 @@ use sc_service::PartialComponents; fn main() -> sc_cli::Result<()> { let mut cli = Cli::parse(); - - if cli - .run - .import_params - .pruning_params - .blocks_pruning - .is_some() - || cli.run.import_params.pruning_params.state_pruning != Some("archive".into()) - { - warn!("Pruning not supported. Switching to keeping all block bodies and states."); - cli.run.import_params.pruning_params.blocks_pruning = None; - cli.run.import_params.pruning_params.state_pruning = Some("archive".into()); + if !cli.aleph.experimental_pruning() { + if cli + .run + .import_params + .pruning_params + .blocks_pruning + .is_some() + || cli.run.import_params.pruning_params.state_pruning != Some("archive".into()) + { + warn!("Pruning not supported. Switching to keeping all block bodies and states."); + cli.run.import_params.pruning_params.blocks_pruning = None; + cli.run.import_params.pruning_params.state_pruning = Some("archive".into()); + } + } else { + warn!("Pruning not supported, but flag experimental_pruning was turned on. Usage of this flag can lead to misbehaviour, which can be punished."); } match &cli.subcommand { From 14726852d6466e6b8ff0be4a1ea4029c63dd11c6 Mon Sep 17 00:00:00 2001 From: Michal Swietek Date: Mon, 5 Dec 2022 15:48:36 +0100 Subject: [PATCH 027/212] Update to 0.9.32 (#760) --- Cargo.lock | 305 +- aleph-client/Cargo.lock | 112 +- aleph-client/Cargo.toml | 10 +- benches/payout-stakers/Cargo.lock | 112 +- benches/payout-stakers/Cargo.toml | 6 +- bin/cliain/Cargo.lock | 136 +- bin/cliain/Cargo.toml | 6 +- bin/node/Cargo.toml | 72 +- bin/runtime/Cargo.toml | 80 +- bin/runtime/src/lib.rs | 2 +- e2e-tests/Cargo.lock | 106 +- e2e-tests/Cargo.toml | 14 +- finality-aleph/Cargo.toml | 44 +- flooder/Cargo.lock | 4738 +++++++++++++++++++++++++++++ flooder/Cargo.toml | 6 +- fork-off/Cargo.lock | 82 +- fork-off/Cargo.toml | 10 +- pallets/aleph/Cargo.toml | 20 +- pallets/elections/Cargo.toml | 26 +- pallets/support/Cargo.toml | 6 +- primitives/Cargo.toml | 14 +- 21 files changed, 5323 insertions(+), 584 deletions(-) create mode 100644 flooder/Cargo.lock diff --git a/Cargo.lock b/Cargo.lock index ed7aae8096..ec085b1b6c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -227,7 +227,7 @@ dependencies = [ [[package]] name = "aleph-node" -version = "0.8.3" +version = "0.8.4" dependencies = [ "aleph-runtime", "finality-aleph", @@ -281,7 +281,7 @@ dependencies = [ [[package]] name = "aleph-runtime" -version = "0.8.4" +version = "0.8.5" dependencies = [ "frame-executive", "frame-support", @@ -642,7 +642,7 @@ dependencies = [ [[package]] name = "beefy-merkle-tree" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "beefy-primitives", "sp-api", @@ -652,7 +652,7 @@ dependencies = [ [[package]] name = "beefy-primitives" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "parity-scale-codec", "scale-info", @@ -1766,9 +1766,9 @@ dependencies = [ [[package]] name = "environmental" -version = "1.1.3" +version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68b91989ae21441195d7d9b9993a2f9295c7e1a8c96255d8b729accddc124797" +checksum = "e48c92028aaa870e83d51c64e5d4e0b6981b360c522198c23959f219a4e1b15b" [[package]] name = "errno" @@ -1870,7 +1870,7 @@ dependencies = [ [[package]] name = "finality-aleph" -version = "0.5.3" +version = "0.5.4" dependencies = [ "aggregator 0.1.0", "aggregator 0.2.0", @@ -1982,7 +1982,7 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "fork-tree" version = "3.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "parity-scale-codec", ] @@ -2005,7 +2005,7 @@ checksum = "6c2141d6d6c8512188a7891b4b01590a45f6dac67afb4f255c4124dbb86d4eaa" [[package]] name = "frame-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "frame-support", "frame-system", @@ -2028,7 +2028,7 @@ dependencies = [ [[package]] name = "frame-election-provider-solution-type" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -2039,7 +2039,7 @@ dependencies = [ [[package]] name = "frame-election-provider-support" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "frame-election-provider-solution-type", "frame-support", @@ -2055,7 +2055,7 @@ dependencies = [ [[package]] name = "frame-executive" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "frame-support", "frame-system", @@ -2084,7 +2084,7 @@ dependencies = [ [[package]] name = "frame-support" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "bitflags", "frame-metadata", @@ -2116,7 +2116,7 @@ dependencies = [ [[package]] name = "frame-support-procedural" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "Inflector", "cfg-expr", @@ -2130,7 +2130,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate", @@ -2142,7 +2142,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "proc-macro2", "quote", @@ -2152,7 +2152,7 @@ dependencies = [ [[package]] name = "frame-system" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "frame-support", "log", @@ -2170,7 +2170,7 @@ dependencies = [ [[package]] name = "frame-system-rpc-runtime-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "parity-scale-codec", "sp-api", @@ -2179,7 +2179,7 @@ dependencies = [ [[package]] name = "frame-try-runtime" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "frame-support", "parity-scale-codec", @@ -4149,7 +4149,7 @@ checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee" [[package]] name = "pallet-aleph" -version = "0.5.3" +version = "0.5.4" dependencies = [ "frame-support", "frame-system", @@ -4170,7 +4170,7 @@ dependencies = [ [[package]] name = "pallet-aura" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "frame-support", "frame-system", @@ -4186,7 +4186,7 @@ dependencies = [ [[package]] name = "pallet-authorship" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "frame-support", "frame-system", @@ -4201,7 +4201,7 @@ dependencies = [ [[package]] name = "pallet-babe" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "frame-benchmarking", "frame-support", @@ -4225,7 +4225,7 @@ dependencies = [ [[package]] name = "pallet-balances" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "frame-benchmarking", "frame-support", @@ -4240,7 +4240,7 @@ dependencies = [ [[package]] name = "pallet-contracts" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "bitflags", "frame-benchmarking", @@ -4268,7 +4268,7 @@ dependencies = [ [[package]] name = "pallet-contracts-primitives" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "bitflags", "parity-scale-codec", @@ -4280,7 +4280,7 @@ dependencies = [ [[package]] name = "pallet-contracts-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "proc-macro2", "quote", @@ -4289,7 +4289,7 @@ dependencies = [ [[package]] name = "pallet-elections" -version = "0.5.3" +version = "0.5.4" dependencies = [ "frame-election-provider-support", "frame-support", @@ -4312,7 +4312,7 @@ dependencies = [ [[package]] name = "pallet-identity" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "enumflags2", "frame-benchmarking", @@ -4328,7 +4328,7 @@ dependencies = [ [[package]] name = "pallet-multisig" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "frame-benchmarking", "frame-support", @@ -4344,7 +4344,7 @@ dependencies = [ [[package]] name = "pallet-nomination-pools" version = "1.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "frame-support", "frame-system", @@ -4361,7 +4361,7 @@ dependencies = [ [[package]] name = "pallet-nomination-pools-runtime-api" version = "1.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "parity-scale-codec", "sp-api", @@ -4371,7 +4371,7 @@ dependencies = [ [[package]] name = "pallet-randomness-collective-flip" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "frame-support", "frame-system", @@ -4385,7 +4385,7 @@ dependencies = [ [[package]] name = "pallet-scheduler" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "frame-support", "frame-system", @@ -4400,7 +4400,7 @@ dependencies = [ [[package]] name = "pallet-session" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "frame-support", "frame-system", @@ -4421,7 +4421,7 @@ dependencies = [ [[package]] name = "pallet-staking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -4443,7 +4443,7 @@ dependencies = [ [[package]] name = "pallet-sudo" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "frame-support", "frame-system", @@ -4457,7 +4457,7 @@ dependencies = [ [[package]] name = "pallet-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "frame-benchmarking", "frame-support", @@ -4475,7 +4475,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "frame-support", "frame-system", @@ -4491,7 +4491,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "jsonrpsee", "pallet-transaction-payment-rpc-runtime-api", @@ -4501,23 +4501,25 @@ dependencies = [ "sp-core", "sp-rpc", "sp-runtime", + "sp-weights", ] [[package]] name = "pallet-transaction-payment-rpc-runtime-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "pallet-transaction-payment", "parity-scale-codec", "sp-api", "sp-runtime", + "sp-weights", ] [[package]] name = "pallet-treasury" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "frame-benchmarking", "frame-support", @@ -4534,7 +4536,7 @@ dependencies = [ [[package]] name = "pallet-utility" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "frame-benchmarking", "frame-support", @@ -4550,7 +4552,7 @@ dependencies = [ [[package]] name = "pallet-vesting" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "frame-benchmarking", "frame-support", @@ -4564,7 +4566,7 @@ dependencies = [ [[package]] name = "pallets-support" -version = "0.1.3" +version = "0.1.4" dependencies = [ "frame-support", "sp-std", @@ -4879,9 +4881,9 @@ checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" [[package]] name = "predicates" -version = "2.1.3" +version = "2.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed6bd09a7f7e68f3f0bf710fb7ab9c4615a488b58b5f653382a687701e458c92" +checksum = "f54fc5dc63ed3bbf19494623db4f3af16842c0d975818e469022d09e53f0aa05" dependencies = [ "difflib", "float-cmp", @@ -4932,7 +4934,7 @@ dependencies = [ [[package]] name = "primitives" -version = "0.5.3" +version = "0.5.4" dependencies = [ "parity-scale-codec", "scale-info", @@ -5336,7 +5338,7 @@ checksum = "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848" [[package]] name = "remote-externalities" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "env_logger", "log", @@ -5582,7 +5584,7 @@ dependencies = [ [[package]] name = "sc-allocator" version = "4.1.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "log", "sp-core", @@ -5593,7 +5595,7 @@ dependencies = [ [[package]] name = "sc-basic-authorship" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "futures", "futures-timer", @@ -5616,7 +5618,7 @@ dependencies = [ [[package]] name = "sc-block-builder" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "parity-scale-codec", "sc-client-api", @@ -5632,7 +5634,7 @@ dependencies = [ [[package]] name = "sc-chain-spec" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "impl-trait-for-tuples", "memmap2", @@ -5649,7 +5651,7 @@ dependencies = [ [[package]] name = "sc-chain-spec-derive" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -5660,7 +5662,7 @@ dependencies = [ [[package]] name = "sc-cli" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "array-bytes", "chrono", @@ -5700,7 +5702,7 @@ dependencies = [ [[package]] name = "sc-client-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "fnv", "futures", @@ -5728,7 +5730,7 @@ dependencies = [ [[package]] name = "sc-client-db" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "hash-db", "kvdb", @@ -5753,7 +5755,7 @@ dependencies = [ [[package]] name = "sc-consensus" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "async-trait", "futures", @@ -5777,7 +5779,7 @@ dependencies = [ [[package]] name = "sc-consensus-aura" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "async-trait", "futures", @@ -5806,7 +5808,7 @@ dependencies = [ [[package]] name = "sc-consensus-slots" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "async-trait", "futures", @@ -5830,7 +5832,7 @@ dependencies = [ [[package]] name = "sc-executor" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "lazy_static", "lru 0.7.8", @@ -5857,7 +5859,7 @@ dependencies = [ [[package]] name = "sc-executor-common" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "environmental", "parity-scale-codec", @@ -5873,7 +5875,7 @@ dependencies = [ [[package]] name = "sc-executor-wasmi" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "log", "parity-scale-codec", @@ -5888,7 +5890,7 @@ dependencies = [ [[package]] name = "sc-executor-wasmtime" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "cfg-if", "libc", @@ -5908,7 +5910,7 @@ dependencies = [ [[package]] name = "sc-informant" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "ansi_term", "futures", @@ -5925,7 +5927,7 @@ dependencies = [ [[package]] name = "sc-keystore" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "array-bytes", "async-trait", @@ -5940,7 +5942,7 @@ dependencies = [ [[package]] name = "sc-network" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "array-bytes", "async-trait", @@ -5955,7 +5957,6 @@ dependencies = [ "futures-timer", "ip_network", "libp2p", - "libp2p-swarm-derive", "linked-hash-map", "linked_hash_set", "log", @@ -5988,7 +5989,7 @@ dependencies = [ [[package]] name = "sc-network-bitswap" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "cid", "futures", @@ -6008,7 +6009,7 @@ dependencies = [ [[package]] name = "sc-network-common" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "async-trait", "bitflags", @@ -6034,7 +6035,7 @@ dependencies = [ [[package]] name = "sc-network-light" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "array-bytes", "futures", @@ -6055,7 +6056,7 @@ dependencies = [ [[package]] name = "sc-network-sync" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "array-bytes", "fork-tree", @@ -6085,7 +6086,7 @@ dependencies = [ [[package]] name = "sc-network-transactions" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "array-bytes", "futures", @@ -6104,7 +6105,7 @@ dependencies = [ [[package]] name = "sc-offchain" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "array-bytes", "bytes", @@ -6134,7 +6135,7 @@ dependencies = [ [[package]] name = "sc-peerset" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "futures", "libp2p", @@ -6147,7 +6148,7 @@ dependencies = [ [[package]] name = "sc-proposer-metrics" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "log", "substrate-prometheus-endpoint", @@ -6156,7 +6157,7 @@ dependencies = [ [[package]] name = "sc-rpc" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "futures", "hash-db", @@ -6186,7 +6187,7 @@ dependencies = [ [[package]] name = "sc-rpc-api" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "futures", "jsonrpsee", @@ -6209,7 +6210,7 @@ dependencies = [ [[package]] name = "sc-rpc-server" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "futures", "jsonrpsee", @@ -6222,7 +6223,7 @@ dependencies = [ [[package]] name = "sc-rpc-spec-v2" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "futures", "hex", @@ -6241,7 +6242,7 @@ dependencies = [ [[package]] name = "sc-service" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "async-trait", "directories", @@ -6312,7 +6313,7 @@ dependencies = [ [[package]] name = "sc-state-db" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "log", "parity-scale-codec", @@ -6326,7 +6327,7 @@ dependencies = [ [[package]] name = "sc-sysinfo" version = "6.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "futures", "libc", @@ -6345,7 +6346,7 @@ dependencies = [ [[package]] name = "sc-telemetry" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "chrono", "futures", @@ -6363,7 +6364,7 @@ dependencies = [ [[package]] name = "sc-tracing" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "ansi_term", "atty", @@ -6394,7 +6395,7 @@ dependencies = [ [[package]] name = "sc-tracing-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -6405,7 +6406,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "async-trait", "futures", @@ -6432,7 +6433,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "async-trait", "futures", @@ -6446,7 +6447,7 @@ dependencies = [ [[package]] name = "sc-utils" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "futures", "futures-timer", @@ -6847,7 +6848,7 @@ dependencies = [ [[package]] name = "sp-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "hash-db", "log", @@ -6865,7 +6866,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "blake2", "proc-macro-crate", @@ -6877,7 +6878,7 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "parity-scale-codec", "scale-info", @@ -6890,7 +6891,7 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "integer-sqrt", "num-traits", @@ -6905,7 +6906,7 @@ dependencies = [ [[package]] name = "sp-authorship" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "async-trait", "parity-scale-codec", @@ -6917,7 +6918,7 @@ dependencies = [ [[package]] name = "sp-block-builder" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "parity-scale-codec", "sp-api", @@ -6929,7 +6930,7 @@ dependencies = [ [[package]] name = "sp-blockchain" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "futures", "log", @@ -6947,7 +6948,7 @@ dependencies = [ [[package]] name = "sp-consensus" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "async-trait", "futures", @@ -6966,7 +6967,7 @@ dependencies = [ [[package]] name = "sp-consensus-aura" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "async-trait", "parity-scale-codec", @@ -6984,7 +6985,7 @@ dependencies = [ [[package]] name = "sp-consensus-babe" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "async-trait", "merlin", @@ -7007,7 +7008,7 @@ dependencies = [ [[package]] name = "sp-consensus-slots" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "parity-scale-codec", "scale-info", @@ -7021,7 +7022,7 @@ dependencies = [ [[package]] name = "sp-consensus-vrf" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "parity-scale-codec", "scale-info", @@ -7034,7 +7035,7 @@ dependencies = [ [[package]] name = "sp-core" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "array-bytes", "base58", @@ -7080,7 +7081,7 @@ dependencies = [ [[package]] name = "sp-core-hashing" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "blake2", "byteorder", @@ -7094,7 +7095,7 @@ dependencies = [ [[package]] name = "sp-core-hashing-proc-macro" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "proc-macro2", "quote", @@ -7105,7 +7106,7 @@ dependencies = [ [[package]] name = "sp-database" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "kvdb", "parking_lot 0.12.1", @@ -7114,7 +7115,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "proc-macro2", "quote", @@ -7124,7 +7125,7 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "environmental", "parity-scale-codec", @@ -7135,7 +7136,7 @@ dependencies = [ [[package]] name = "sp-finality-grandpa" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "finality-grandpa", "log", @@ -7153,7 +7154,7 @@ dependencies = [ [[package]] name = "sp-inherents" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "async-trait", "impl-trait-for-tuples", @@ -7167,7 +7168,7 @@ dependencies = [ [[package]] name = "sp-io" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "bytes", "futures", @@ -7193,7 +7194,7 @@ dependencies = [ [[package]] name = "sp-keyring" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "lazy_static", "sp-core", @@ -7204,7 +7205,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "async-trait", "futures", @@ -7221,7 +7222,7 @@ dependencies = [ [[package]] name = "sp-maybe-compressed-blob" version = "4.1.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "thiserror", "zstd", @@ -7230,7 +7231,7 @@ dependencies = [ [[package]] name = "sp-mmr-primitives" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "log", "parity-scale-codec", @@ -7246,7 +7247,7 @@ dependencies = [ [[package]] name = "sp-npos-elections" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "parity-scale-codec", "scale-info", @@ -7260,7 +7261,7 @@ dependencies = [ [[package]] name = "sp-offchain" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "sp-api", "sp-core", @@ -7270,7 +7271,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "backtrace", "lazy_static", @@ -7280,7 +7281,7 @@ dependencies = [ [[package]] name = "sp-rpc" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "rustc-hash", "serde", @@ -7290,7 +7291,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "either", "hash256-std-hasher", @@ -7313,7 +7314,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "bytes", "impl-trait-for-tuples", @@ -7331,7 +7332,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "Inflector", "proc-macro-crate", @@ -7343,7 +7344,7 @@ dependencies = [ [[package]] name = "sp-sandbox" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "log", "parity-scale-codec", @@ -7357,7 +7358,7 @@ dependencies = [ [[package]] name = "sp-session" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "parity-scale-codec", "scale-info", @@ -7371,7 +7372,7 @@ dependencies = [ [[package]] name = "sp-staking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "parity-scale-codec", "scale-info", @@ -7382,7 +7383,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "hash-db", "log", @@ -7404,12 +7405,12 @@ dependencies = [ [[package]] name = "sp-std" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" [[package]] name = "sp-storage" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "impl-serde", "parity-scale-codec", @@ -7422,7 +7423,7 @@ dependencies = [ [[package]] name = "sp-tasks" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "log", "sp-core", @@ -7435,7 +7436,7 @@ dependencies = [ [[package]] name = "sp-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "async-trait", "futures-timer", @@ -7451,7 +7452,7 @@ dependencies = [ [[package]] name = "sp-tracing" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "parity-scale-codec", "sp-std", @@ -7463,7 +7464,7 @@ dependencies = [ [[package]] name = "sp-transaction-pool" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "sp-api", "sp-runtime", @@ -7472,7 +7473,7 @@ dependencies = [ [[package]] name = "sp-transaction-storage-proof" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "async-trait", "log", @@ -7488,7 +7489,7 @@ dependencies = [ [[package]] name = "sp-trie" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "ahash", "hash-db", @@ -7511,7 +7512,7 @@ dependencies = [ [[package]] name = "sp-version" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "impl-serde", "parity-scale-codec", @@ -7528,7 +7529,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "parity-scale-codec", "proc-macro2", @@ -7539,7 +7540,7 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "impl-trait-for-tuples", "log", @@ -7552,7 +7553,7 @@ dependencies = [ [[package]] name = "sp-weights" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -7693,7 +7694,7 @@ dependencies = [ [[package]] name = "substrate-build-script-utils" version = "3.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "platforms", ] @@ -7701,7 +7702,7 @@ dependencies = [ [[package]] name = "substrate-frame-rpc-system" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "frame-system-rpc-runtime-api", "futures", @@ -7722,7 +7723,7 @@ dependencies = [ [[package]] name = "substrate-prometheus-endpoint" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "futures-util", "hyper", @@ -7735,7 +7736,7 @@ dependencies = [ [[package]] name = "substrate-rpc-client" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "async-trait", "jsonrpsee", @@ -7748,7 +7749,7 @@ dependencies = [ [[package]] name = "substrate-test-client" version = "2.0.1" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "array-bytes", "async-trait", @@ -7774,7 +7775,7 @@ dependencies = [ [[package]] name = "substrate-test-runtime" version = "2.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "beefy-merkle-tree", "beefy-primitives", @@ -7818,7 +7819,7 @@ dependencies = [ [[package]] name = "substrate-test-runtime-client" version = "2.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "futures", "parity-scale-codec", @@ -7837,7 +7838,7 @@ dependencies = [ [[package]] name = "substrate-wasm-builder" version = "5.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "ansi_term", "build-helper", @@ -7859,9 +7860,9 @@ checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" [[package]] name = "syn" -version = "1.0.104" +version = "1.0.105" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ae548ec36cf198c0ef7710d3c230987c2d6d7bd98ad6edc0274462724c585ce" +checksum = "60b9b43d45702de4c839cb9b51d9f529c5dd26a4aff255b42b1ebc03e88ee908" dependencies = [ "proc-macro2", "quote", @@ -8077,9 +8078,9 @@ dependencies = [ [[package]] name = "tokio-macros" -version = "1.8.0" +version = "1.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9724f9a975fb987ef7a3cd9be0350edcbe130698af5b8f7a631e23d42d052484" +checksum = "d266c00fde287f55d3f1c3e96c500c362a2b8c695076ec180f27918820bc6df8" dependencies = [ "proc-macro2", "quote", @@ -8299,7 +8300,7 @@ checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642" [[package]] name = "try-runtime-cli" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "clap", "frame-try-runtime", @@ -9115,9 +9116,9 @@ dependencies = [ [[package]] name = "zeroize_derive" -version = "1.3.2" +version = "1.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f8f187641dad4f680d25c4bfc4225b418165984179f26ca76ec4fb6441d3a17" +checksum = "44bf07cb3e50ea2003396695d58bf46bc9887a1f362260446fad6bc4e79bd36c" dependencies = [ "proc-macro2", "quote", diff --git a/aleph-client/Cargo.lock b/aleph-client/Cargo.lock index ada290fabc..ab6cf0e29a 100644 --- a/aleph-client/Cargo.lock +++ b/aleph-client/Cargo.lock @@ -49,7 +49,7 @@ dependencies = [ [[package]] name = "aleph_client" -version = "2.3.0" +version = "2.4.0" dependencies = [ "anyhow", "async-trait", @@ -735,9 +735,9 @@ dependencies = [ [[package]] name = "environmental" -version = "1.1.3" +version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68b91989ae21441195d7d9b9993a2f9295c7e1a8c96255d8b729accddc124797" +checksum = "e48c92028aaa870e83d51c64e5d4e0b6981b360c522198c23959f219a4e1b15b" [[package]] name = "escape8259" @@ -821,7 +821,7 @@ dependencies = [ [[package]] name = "frame-support" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "bitflags", "frame-metadata", @@ -846,14 +846,14 @@ dependencies = [ "sp-state-machine 0.12.0", "sp-std 4.0.0", "sp-tracing 5.0.0", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32)", "tt-call", ] [[package]] name = "frame-support-procedural" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "Inflector", "cfg-expr", @@ -867,7 +867,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate", @@ -879,7 +879,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "proc-macro2", "quote", @@ -1476,9 +1476,9 @@ dependencies = [ [[package]] name = "jsonrpsee" -version = "0.16.1" +version = "0.16.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5af9646e616e37c61093ef85e25bd883ae0c22e2fa1e6eedfe590048247116e3" +checksum = "7d291e3a5818a2384645fd9756362e6d89cf0541b0b916fa7702ea4a9833608e" dependencies = [ "jsonrpsee-client-transport", "jsonrpsee-core", @@ -1488,9 +1488,9 @@ dependencies = [ [[package]] name = "jsonrpsee-client-transport" -version = "0.16.1" +version = "0.16.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e85cfc9c2f17eab237fdfa2efe5c1608fd06a90e1e0d7fd7b10f2d0e153f375" +checksum = "965de52763f2004bc91ac5bcec504192440f0b568a5d621c59d9dbd6f886c3fb" dependencies = [ "futures-util", "http", @@ -1509,9 +1509,9 @@ dependencies = [ [[package]] name = "jsonrpsee-core" -version = "0.16.1" +version = "0.16.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "673d68136e2f0f67323bab95b3a7177df26ac21ddbf395fc32d60f30fe5a1364" +checksum = "a4e70b4439a751a5de7dd5ed55eacff78ebf4ffe0fc009cb1ebb11417f5b536b" dependencies = [ "anyhow", "async-lock", @@ -1532,9 +1532,9 @@ dependencies = [ [[package]] name = "jsonrpsee-http-client" -version = "0.16.1" +version = "0.16.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42007820863ab29f3adeacf43886ef54abaedb35bc33dada25771db4e1f94de4" +checksum = "cc345b0a43c6bc49b947ebeb936e886a419ee3d894421790c969cc56040542ad" dependencies = [ "async-trait", "hyper", @@ -1551,9 +1551,9 @@ dependencies = [ [[package]] name = "jsonrpsee-types" -version = "0.16.1" +version = "0.16.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7985a27ee315c7c8c5c5033ac133e9472aec881edfd947780f5a9970efb7cbbf" +checksum = "5bd522fe1ce3702fd94812965d7bb7a3364b1c9aba743944c5a00529aae80f8c" dependencies = [ "anyhow", "beef", @@ -1894,13 +1894,13 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "pallet-contracts-primitives" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "bitflags", "parity-scale-codec", "sp-runtime 6.0.0", "sp-std 4.0.0", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32)", ] [[package]] @@ -2085,7 +2085,7 @@ dependencies = [ [[package]] name = "primitives" -version = "0.5.3" +version = "0.5.4" dependencies = [ "parity-scale-codec", "scale-info", @@ -2728,7 +2728,7 @@ dependencies = [ [[package]] name = "sp-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "hash-db", "log", @@ -2746,7 +2746,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "blake2", "proc-macro-crate", @@ -2758,7 +2758,7 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "parity-scale-codec", "scale-info", @@ -2785,7 +2785,7 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "integer-sqrt", "num-traits", @@ -2816,7 +2816,7 @@ dependencies = [ [[package]] name = "sp-core" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "array-bytes", "base58", @@ -2908,7 +2908,7 @@ dependencies = [ [[package]] name = "sp-core-hashing" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "blake2", "byteorder", @@ -2937,7 +2937,7 @@ dependencies = [ [[package]] name = "sp-core-hashing-proc-macro" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "proc-macro2", "quote", @@ -2948,7 +2948,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "proc-macro2", "quote", @@ -2969,7 +2969,7 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "environmental", "parity-scale-codec", @@ -2992,7 +2992,7 @@ dependencies = [ [[package]] name = "sp-inherents" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "async-trait", "impl-trait-for-tuples", @@ -3006,7 +3006,7 @@ dependencies = [ [[package]] name = "sp-io" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "bytes", "futures", @@ -3059,7 +3059,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "async-trait", "futures", @@ -3092,7 +3092,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "backtrace", "lazy_static", @@ -3113,7 +3113,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "either", "hash256-std-hasher", @@ -3130,7 +3130,7 @@ dependencies = [ "sp-core 6.0.0", "sp-io 6.0.0", "sp-std 4.0.0", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32)", ] [[package]] @@ -3160,7 +3160,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "bytes", "impl-trait-for-tuples", @@ -3197,7 +3197,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "Inflector", "proc-macro-crate", @@ -3222,7 +3222,7 @@ dependencies = [ [[package]] name = "sp-staking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "parity-scale-codec", "scale-info", @@ -3233,7 +3233,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "hash-db", "log", @@ -3278,7 +3278,7 @@ dependencies = [ [[package]] name = "sp-std" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" [[package]] name = "sp-std" @@ -3289,7 +3289,7 @@ checksum = "cf3fd4c1d304be101e6ebbafd3d4be9a37b320c970ef4e8df188b16873981c93" [[package]] name = "sp-storage" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "impl-serde", "parity-scale-codec", @@ -3316,7 +3316,7 @@ dependencies = [ [[package]] name = "sp-tracing" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "parity-scale-codec", "sp-std 4.0.0", @@ -3341,7 +3341,7 @@ dependencies = [ [[package]] name = "sp-trie" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "ahash", "hash-db", @@ -3388,7 +3388,7 @@ dependencies = [ [[package]] name = "sp-version" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "impl-serde", "parity-scale-codec", @@ -3405,7 +3405,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "parity-scale-codec", "proc-macro2", @@ -3416,7 +3416,7 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "impl-trait-for-tuples", "log", @@ -3458,7 +3458,7 @@ dependencies = [ [[package]] name = "sp-weights" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -3608,9 +3608,9 @@ dependencies = [ [[package]] name = "syn" -version = "1.0.104" +version = "1.0.105" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ae548ec36cf198c0ef7710d3c230987c2d6d7bd98ad6edc0274462724c585ce" +checksum = "60b9b43d45702de4c839cb9b51d9f529c5dd26a4aff255b42b1ebc03e88ee908" dependencies = [ "proc-macro2", "quote", @@ -3727,9 +3727,9 @@ dependencies = [ [[package]] name = "tokio-macros" -version = "1.8.0" +version = "1.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9724f9a975fb987ef7a3cd9be0350edcbe130698af5b8f7a631e23d42d052484" +checksum = "d266c00fde287f55d3f1c3e96c500c362a2b8c695076ec180f27918820bc6df8" dependencies = [ "proc-macro2", "quote", @@ -3907,9 +3907,9 @@ checksum = "dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987" [[package]] name = "uint" -version = "0.9.4" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a45526d29728d135c2900b0d30573fe3ee79fceb12ef534c7bb30e810a91b601" +checksum = "76f64bba2c53b04fcab63c01a7d7427eadc821e3bc48c34dc9ba29c501164b52" dependencies = [ "byteorder", "crunchy", @@ -4287,9 +4287,9 @@ dependencies = [ [[package]] name = "zeroize_derive" -version = "1.3.2" +version = "1.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f8f187641dad4f680d25c4bfc4225b418165984179f26ca76ec4fb6441d3a17" +checksum = "44bf07cb3e50ea2003396695d58bf46bc9887a1f362260446fad6bc4e79bd36c" dependencies = [ "proc-macro2", "quote", diff --git a/aleph-client/Cargo.toml b/aleph-client/Cargo.toml index ad4f562196..b412e30552 100644 --- a/aleph-client/Cargo.toml +++ b/aleph-client/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "aleph_client" -version = "2.3.0" +version = "2.4.0" edition = "2021" license = "Apache 2.0" @@ -19,8 +19,8 @@ subxt = "0.25.0" futures = "0.3.25" serde = { version = "1.0", features = ["derive"] } -frame-support = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31", features = ["full_crypto"] } -sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -pallet-contracts-primitives = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +frame-support = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32", features = ["full_crypto"] } +sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +pallet-contracts-primitives = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } primitives = { path = "../primitives" } diff --git a/benches/payout-stakers/Cargo.lock b/benches/payout-stakers/Cargo.lock index c36928e02a..416a39b5c9 100644 --- a/benches/payout-stakers/Cargo.lock +++ b/benches/payout-stakers/Cargo.lock @@ -49,7 +49,7 @@ dependencies = [ [[package]] name = "aleph_client" -version = "2.3.0" +version = "2.4.0" dependencies = [ "anyhow", "async-trait", @@ -787,9 +787,9 @@ dependencies = [ [[package]] name = "environmental" -version = "1.1.3" +version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68b91989ae21441195d7d9b9993a2f9295c7e1a8c96255d8b729accddc124797" +checksum = "e48c92028aaa870e83d51c64e5d4e0b6981b360c522198c23959f219a4e1b15b" [[package]] name = "escape8259" @@ -873,7 +873,7 @@ dependencies = [ [[package]] name = "frame-support" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "bitflags", "frame-metadata", @@ -898,14 +898,14 @@ dependencies = [ "sp-state-machine 0.12.0", "sp-std 4.0.0", "sp-tracing 5.0.0", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32)", "tt-call", ] [[package]] name = "frame-support-procedural" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "Inflector", "cfg-expr", @@ -919,7 +919,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate", @@ -931,7 +931,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "proc-macro2", "quote", @@ -1528,9 +1528,9 @@ dependencies = [ [[package]] name = "jsonrpsee" -version = "0.16.1" +version = "0.16.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5af9646e616e37c61093ef85e25bd883ae0c22e2fa1e6eedfe590048247116e3" +checksum = "7d291e3a5818a2384645fd9756362e6d89cf0541b0b916fa7702ea4a9833608e" dependencies = [ "jsonrpsee-client-transport", "jsonrpsee-core", @@ -1540,9 +1540,9 @@ dependencies = [ [[package]] name = "jsonrpsee-client-transport" -version = "0.16.1" +version = "0.16.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e85cfc9c2f17eab237fdfa2efe5c1608fd06a90e1e0d7fd7b10f2d0e153f375" +checksum = "965de52763f2004bc91ac5bcec504192440f0b568a5d621c59d9dbd6f886c3fb" dependencies = [ "futures-util", "http", @@ -1561,9 +1561,9 @@ dependencies = [ [[package]] name = "jsonrpsee-core" -version = "0.16.1" +version = "0.16.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "673d68136e2f0f67323bab95b3a7177df26ac21ddbf395fc32d60f30fe5a1364" +checksum = "a4e70b4439a751a5de7dd5ed55eacff78ebf4ffe0fc009cb1ebb11417f5b536b" dependencies = [ "anyhow", "async-lock", @@ -1584,9 +1584,9 @@ dependencies = [ [[package]] name = "jsonrpsee-http-client" -version = "0.16.1" +version = "0.16.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42007820863ab29f3adeacf43886ef54abaedb35bc33dada25771db4e1f94de4" +checksum = "cc345b0a43c6bc49b947ebeb936e886a419ee3d894421790c969cc56040542ad" dependencies = [ "async-trait", "hyper", @@ -1603,9 +1603,9 @@ dependencies = [ [[package]] name = "jsonrpsee-types" -version = "0.16.1" +version = "0.16.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7985a27ee315c7c8c5c5033ac133e9472aec881edfd947780f5a9970efb7cbbf" +checksum = "5bd522fe1ce3702fd94812965d7bb7a3364b1c9aba743944c5a00529aae80f8c" dependencies = [ "anyhow", "beef", @@ -1952,13 +1952,13 @@ checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee" [[package]] name = "pallet-contracts-primitives" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "bitflags", "parity-scale-codec", "sp-runtime 6.0.0", "sp-std 4.0.0", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32)", ] [[package]] @@ -2057,7 +2057,7 @@ checksum = "b1de2e551fb905ac83f73f7aedf2f0cb4a0da7e35efa24a202a936269f1f18e1" [[package]] name = "payout-stakers" -version = "0.3.1" +version = "0.3.2" dependencies = [ "aleph_client", "anyhow", @@ -2163,7 +2163,7 @@ dependencies = [ [[package]] name = "primitives" -version = "0.5.3" +version = "0.5.4" dependencies = [ "parity-scale-codec", "scale-info", @@ -2815,7 +2815,7 @@ dependencies = [ [[package]] name = "sp-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "hash-db", "log", @@ -2833,7 +2833,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "blake2", "proc-macro-crate", @@ -2845,7 +2845,7 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "parity-scale-codec", "scale-info", @@ -2872,7 +2872,7 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "integer-sqrt", "num-traits", @@ -2903,7 +2903,7 @@ dependencies = [ [[package]] name = "sp-core" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "array-bytes", "base58", @@ -2995,7 +2995,7 @@ dependencies = [ [[package]] name = "sp-core-hashing" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "blake2", "byteorder", @@ -3024,7 +3024,7 @@ dependencies = [ [[package]] name = "sp-core-hashing-proc-macro" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "proc-macro2", "quote", @@ -3035,7 +3035,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "proc-macro2", "quote", @@ -3056,7 +3056,7 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "environmental", "parity-scale-codec", @@ -3079,7 +3079,7 @@ dependencies = [ [[package]] name = "sp-inherents" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "async-trait", "impl-trait-for-tuples", @@ -3093,7 +3093,7 @@ dependencies = [ [[package]] name = "sp-io" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "bytes", "futures", @@ -3146,7 +3146,7 @@ dependencies = [ [[package]] name = "sp-keyring" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "lazy_static", "sp-core 6.0.0", @@ -3157,7 +3157,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "async-trait", "futures", @@ -3190,7 +3190,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "backtrace", "lazy_static", @@ -3211,7 +3211,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "either", "hash256-std-hasher", @@ -3228,7 +3228,7 @@ dependencies = [ "sp-core 6.0.0", "sp-io 6.0.0", "sp-std 4.0.0", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32)", ] [[package]] @@ -3258,7 +3258,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "bytes", "impl-trait-for-tuples", @@ -3295,7 +3295,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "Inflector", "proc-macro-crate", @@ -3320,7 +3320,7 @@ dependencies = [ [[package]] name = "sp-staking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "parity-scale-codec", "scale-info", @@ -3331,7 +3331,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "hash-db", "log", @@ -3376,7 +3376,7 @@ dependencies = [ [[package]] name = "sp-std" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" [[package]] name = "sp-std" @@ -3387,7 +3387,7 @@ checksum = "cf3fd4c1d304be101e6ebbafd3d4be9a37b320c970ef4e8df188b16873981c93" [[package]] name = "sp-storage" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "impl-serde", "parity-scale-codec", @@ -3414,7 +3414,7 @@ dependencies = [ [[package]] name = "sp-tracing" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "parity-scale-codec", "sp-std 4.0.0", @@ -3439,7 +3439,7 @@ dependencies = [ [[package]] name = "sp-trie" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "ahash", "hash-db", @@ -3486,7 +3486,7 @@ dependencies = [ [[package]] name = "sp-version" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "impl-serde", "parity-scale-codec", @@ -3503,7 +3503,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "parity-scale-codec", "proc-macro2", @@ -3514,7 +3514,7 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "impl-trait-for-tuples", "log", @@ -3556,7 +3556,7 @@ dependencies = [ [[package]] name = "sp-weights" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -3728,9 +3728,9 @@ dependencies = [ [[package]] name = "syn" -version = "1.0.104" +version = "1.0.105" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ae548ec36cf198c0ef7710d3c230987c2d6d7bd98ad6edc0274462724c585ce" +checksum = "60b9b43d45702de4c839cb9b51d9f529c5dd26a4aff255b42b1ebc03e88ee908" dependencies = [ "proc-macro2", "quote", @@ -3855,9 +3855,9 @@ dependencies = [ [[package]] name = "tokio-macros" -version = "1.8.0" +version = "1.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9724f9a975fb987ef7a3cd9be0350edcbe130698af5b8f7a631e23d42d052484" +checksum = "d266c00fde287f55d3f1c3e96c500c362a2b8c695076ec180f27918820bc6df8" dependencies = [ "proc-macro2", "quote", @@ -4415,9 +4415,9 @@ dependencies = [ [[package]] name = "zeroize_derive" -version = "1.3.2" +version = "1.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f8f187641dad4f680d25c4bfc4225b418165984179f26ca76ec4fb6441d3a17" +checksum = "44bf07cb3e50ea2003396695d58bf46bc9887a1f362260446fad6bc4e79bd36c" dependencies = [ "proc-macro2", "quote", diff --git a/benches/payout-stakers/Cargo.toml b/benches/payout-stakers/Cargo.toml index 7283d6d773..2942664b7d 100644 --- a/benches/payout-stakers/Cargo.toml +++ b/benches/payout-stakers/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "payout-stakers" -version = "0.3.1" +version = "0.3.2" authors = ["Cardinal Cryptography"] edition = "2021" @@ -14,8 +14,8 @@ log = "0.4" futures = "0.3.25" rand = "0.8.5" -sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31", features = ["full_crypto"] } -sp-keyring = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32", features = ["full_crypto"] } +sp-keyring = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } subxt = "0.25.0" tokio = { version = "1.21.2", features = ["full"] } diff --git a/bin/cliain/Cargo.lock b/bin/cliain/Cargo.lock index e9b24b28d3..f2358ff658 100644 --- a/bin/cliain/Cargo.lock +++ b/bin/cliain/Cargo.lock @@ -49,7 +49,7 @@ dependencies = [ [[package]] name = "aleph_client" -version = "2.3.0" +version = "2.4.0" dependencies = [ "anyhow", "async-trait", @@ -393,7 +393,7 @@ dependencies = [ [[package]] name = "cliain" -version = "0.9.0" +version = "0.10.0" dependencies = [ "aleph_client", "anyhow", @@ -863,9 +863,9 @@ dependencies = [ [[package]] name = "environmental" -version = "1.1.3" +version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68b91989ae21441195d7d9b9993a2f9295c7e1a8c96255d8b729accddc124797" +checksum = "e48c92028aaa870e83d51c64e5d4e0b6981b360c522198c23959f219a4e1b15b" [[package]] name = "escape8259" @@ -937,7 +937,7 @@ dependencies = [ [[package]] name = "frame-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "frame-support", "frame-system", @@ -960,7 +960,7 @@ dependencies = [ [[package]] name = "frame-election-provider-solution-type" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -971,7 +971,7 @@ dependencies = [ [[package]] name = "frame-election-provider-support" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "frame-election-provider-solution-type", "frame-support", @@ -999,7 +999,7 @@ dependencies = [ [[package]] name = "frame-support" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "bitflags", "frame-metadata", @@ -1024,14 +1024,14 @@ dependencies = [ "sp-state-machine 0.12.0", "sp-std 4.0.0", "sp-tracing 5.0.0", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32)", "tt-call", ] [[package]] name = "frame-support-procedural" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "Inflector", "cfg-expr", @@ -1045,7 +1045,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate", @@ -1057,7 +1057,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "proc-macro2", "quote", @@ -1067,7 +1067,7 @@ dependencies = [ [[package]] name = "frame-system" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "frame-support", "log", @@ -1079,7 +1079,7 @@ dependencies = [ "sp-runtime 6.0.0", "sp-std 4.0.0", "sp-version", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32)", ] [[package]] @@ -1681,9 +1681,9 @@ dependencies = [ [[package]] name = "jsonrpsee" -version = "0.16.1" +version = "0.16.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5af9646e616e37c61093ef85e25bd883ae0c22e2fa1e6eedfe590048247116e3" +checksum = "7d291e3a5818a2384645fd9756362e6d89cf0541b0b916fa7702ea4a9833608e" dependencies = [ "jsonrpsee-client-transport", "jsonrpsee-core", @@ -1693,9 +1693,9 @@ dependencies = [ [[package]] name = "jsonrpsee-client-transport" -version = "0.16.1" +version = "0.16.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e85cfc9c2f17eab237fdfa2efe5c1608fd06a90e1e0d7fd7b10f2d0e153f375" +checksum = "965de52763f2004bc91ac5bcec504192440f0b568a5d621c59d9dbd6f886c3fb" dependencies = [ "futures-util", "http", @@ -1714,9 +1714,9 @@ dependencies = [ [[package]] name = "jsonrpsee-core" -version = "0.16.1" +version = "0.16.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "673d68136e2f0f67323bab95b3a7177df26ac21ddbf395fc32d60f30fe5a1364" +checksum = "a4e70b4439a751a5de7dd5ed55eacff78ebf4ffe0fc009cb1ebb11417f5b536b" dependencies = [ "anyhow", "async-lock", @@ -1737,9 +1737,9 @@ dependencies = [ [[package]] name = "jsonrpsee-http-client" -version = "0.16.1" +version = "0.16.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42007820863ab29f3adeacf43886ef54abaedb35bc33dada25771db4e1f94de4" +checksum = "cc345b0a43c6bc49b947ebeb936e886a419ee3d894421790c969cc56040542ad" dependencies = [ "async-trait", "hyper", @@ -1756,9 +1756,9 @@ dependencies = [ [[package]] name = "jsonrpsee-types" -version = "0.16.1" +version = "0.16.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7985a27ee315c7c8c5c5033ac133e9472aec881edfd947780f5a9970efb7cbbf" +checksum = "5bd522fe1ce3702fd94812965d7bb7a3364b1c9aba743944c5a00529aae80f8c" dependencies = [ "anyhow", "beef", @@ -2163,7 +2163,7 @@ checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee" [[package]] name = "pallet-authorship" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "frame-support", "frame-system", @@ -2178,19 +2178,19 @@ dependencies = [ [[package]] name = "pallet-contracts-primitives" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "bitflags", "parity-scale-codec", "sp-runtime 6.0.0", "sp-std 4.0.0", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32)", ] [[package]] name = "pallet-session" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "frame-support", "frame-system", @@ -2211,7 +2211,7 @@ dependencies = [ [[package]] name = "pallet-staking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -2233,7 +2233,7 @@ dependencies = [ [[package]] name = "pallet-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "frame-benchmarking", "frame-support", @@ -2430,7 +2430,7 @@ dependencies = [ [[package]] name = "primitives" -version = "0.5.3" +version = "0.5.4" dependencies = [ "parity-scale-codec", "scale-info", @@ -3119,7 +3119,7 @@ dependencies = [ [[package]] name = "sp-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "hash-db", "log", @@ -3137,7 +3137,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "blake2", "proc-macro-crate", @@ -3149,7 +3149,7 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "parity-scale-codec", "scale-info", @@ -3176,7 +3176,7 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "integer-sqrt", "num-traits", @@ -3207,7 +3207,7 @@ dependencies = [ [[package]] name = "sp-authorship" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "async-trait", "parity-scale-codec", @@ -3219,7 +3219,7 @@ dependencies = [ [[package]] name = "sp-core" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "array-bytes", "base58", @@ -3311,7 +3311,7 @@ dependencies = [ [[package]] name = "sp-core-hashing" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "blake2", "byteorder", @@ -3340,7 +3340,7 @@ dependencies = [ [[package]] name = "sp-core-hashing-proc-macro" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "proc-macro2", "quote", @@ -3351,7 +3351,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "proc-macro2", "quote", @@ -3372,7 +3372,7 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "environmental", "parity-scale-codec", @@ -3395,7 +3395,7 @@ dependencies = [ [[package]] name = "sp-inherents" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "async-trait", "impl-trait-for-tuples", @@ -3409,7 +3409,7 @@ dependencies = [ [[package]] name = "sp-io" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "bytes", "futures", @@ -3462,7 +3462,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "async-trait", "futures", @@ -3495,7 +3495,7 @@ dependencies = [ [[package]] name = "sp-npos-elections" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "parity-scale-codec", "scale-info", @@ -3509,7 +3509,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "backtrace", "lazy_static", @@ -3530,7 +3530,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "either", "hash256-std-hasher", @@ -3547,7 +3547,7 @@ dependencies = [ "sp-core 6.0.0", "sp-io 6.0.0", "sp-std 4.0.0", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32)", ] [[package]] @@ -3577,7 +3577,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "bytes", "impl-trait-for-tuples", @@ -3614,7 +3614,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "Inflector", "proc-macro-crate", @@ -3639,7 +3639,7 @@ dependencies = [ [[package]] name = "sp-session" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "parity-scale-codec", "scale-info", @@ -3653,7 +3653,7 @@ dependencies = [ [[package]] name = "sp-staking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "parity-scale-codec", "scale-info", @@ -3664,7 +3664,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "hash-db", "log", @@ -3709,7 +3709,7 @@ dependencies = [ [[package]] name = "sp-std" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" [[package]] name = "sp-std" @@ -3720,7 +3720,7 @@ checksum = "cf3fd4c1d304be101e6ebbafd3d4be9a37b320c970ef4e8df188b16873981c93" [[package]] name = "sp-storage" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "impl-serde 0.4.0", "parity-scale-codec", @@ -3747,7 +3747,7 @@ dependencies = [ [[package]] name = "sp-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "async-trait", "futures-timer", @@ -3763,7 +3763,7 @@ dependencies = [ [[package]] name = "sp-tracing" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "parity-scale-codec", "sp-std 4.0.0", @@ -3788,7 +3788,7 @@ dependencies = [ [[package]] name = "sp-trie" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "ahash", "hash-db", @@ -3835,7 +3835,7 @@ dependencies = [ [[package]] name = "sp-version" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "impl-serde 0.4.0", "parity-scale-codec", @@ -3852,7 +3852,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "parity-scale-codec", "proc-macro2", @@ -3863,7 +3863,7 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "impl-trait-for-tuples", "log", @@ -3905,7 +3905,7 @@ dependencies = [ [[package]] name = "sp-weights" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -4068,9 +4068,9 @@ dependencies = [ [[package]] name = "syn" -version = "1.0.104" +version = "1.0.105" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ae548ec36cf198c0ef7710d3c230987c2d6d7bd98ad6edc0274462724c585ce" +checksum = "60b9b43d45702de4c839cb9b51d9f529c5dd26a4aff255b42b1ebc03e88ee908" dependencies = [ "proc-macro2", "quote", @@ -4219,9 +4219,9 @@ dependencies = [ [[package]] name = "tokio-macros" -version = "1.8.0" +version = "1.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9724f9a975fb987ef7a3cd9be0350edcbe130698af5b8f7a631e23d42d052484" +checksum = "d266c00fde287f55d3f1c3e96c500c362a2b8c695076ec180f27918820bc6df8" dependencies = [ "proc-macro2", "quote", @@ -4779,9 +4779,9 @@ dependencies = [ [[package]] name = "zeroize_derive" -version = "1.3.2" +version = "1.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f8f187641dad4f680d25c4bfc4225b418165984179f26ca76ec4fb6441d3a17" +checksum = "44bf07cb3e50ea2003396695d58bf46bc9887a1f362260446fad6bc4e79bd36c" dependencies = [ "proc-macro2", "quote", diff --git a/bin/cliain/Cargo.toml b/bin/cliain/Cargo.toml index 27ed284fe9..4f36298741 100644 --- a/bin/cliain/Cargo.toml +++ b/bin/cliain/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "cliain" -version = "0.9.0" +version = "0.10.0" edition = "2021" license = "GPL-3.0-or-later" @@ -16,11 +16,11 @@ env_logger = "0.8" hex = "0.4.3" ink_metadata = { version = "4.0.0-beta", features = ["derive"] } log = "0.4" -pallet-staking = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +pallet-staking = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } primitives = { path = "../../primitives" } serde = { version = "1.0.137", features = ["derive"] } serde_json = "1.0.81" -sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31", features = ["full_crypto"] } +sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32", features = ["full_crypto"] } tokio = { version = "1.21.2", features = ["full"] } subxt = "0.25.0" diff --git a/bin/node/Cargo.toml b/bin/node/Cargo.toml index e0d2832cbd..1b6cf3921a 100644 --- a/bin/node/Cargo.toml +++ b/bin/node/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "aleph-node" -version = "0.8.3" +version = "0.8.4" authors = ["Cardinal Cryptography"] description = "Aleph node binary" edition = "2021" @@ -26,33 +26,33 @@ hex-literal = "0.3" libp2p = "0.49.0" thiserror = "1.0" -sp-application-crypto = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -sp-arithmetic = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -sc-block-builder = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -sc-chain-spec = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31"} -sc-cli = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31", features = ["wasmtime"] } -sc-consensus-slots = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31"} -sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -sc-executor = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31", features = ["wasmtime"] } -sc-service = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31", features = ["wasmtime"] } -sc-telemetry = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -sc-keystore = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -sp-keystore = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -sp-inherents = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -sc-basic-authorship = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -sc-network = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -sc-transaction-pool = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -sp-transaction-pool = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -sc-transaction-pool-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -sc-consensus-aura = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -sp-consensus-aura = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -sp-consensus = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -sc-consensus = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -sc-client-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -sp-timestamp = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -pallet-staking = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -try-runtime-cli = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31", optional = true } +sp-application-crypto = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +sc-block-builder = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +sc-chain-spec = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32"} +sc-cli = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +sc-executor = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +sc-service = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +sc-telemetry = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +sc-keystore = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +sp-keystore = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +sp-inherents = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +sc-basic-authorship = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +sc-network = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +sc-transaction-pool = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +sp-transaction-pool = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +sc-transaction-pool-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +sc-consensus-aura = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +sp-consensus-aura = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +sp-consensus = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +sc-consensus = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +sc-client-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +sp-timestamp = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +pallet-staking = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +try-runtime-cli = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32", optional = true } +sc-consensus-slots = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +sp-arithmetic = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } aleph-runtime = { path = "../runtime" } finality-aleph = { path = "../../finality-aleph" } @@ -60,16 +60,16 @@ aleph-primitives = { package = "primitives", path = "../../primitives" } # These dependencies are used for the node's RPCs jsonrpsee = { version = "0.15.1", features = ["server"] } -sc-rpc = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -sp-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -sc-rpc-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -sp-blockchain = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -sp-block-builder = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -substrate-frame-rpc-system = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -pallet-transaction-payment-rpc = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +sc-rpc = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +sp-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +sc-rpc-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +sp-blockchain = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +sp-block-builder = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +substrate-frame-rpc-system = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +pallet-transaction-payment-rpc = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } [build-dependencies] -substrate-build-script-utils = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +substrate-build-script-utils = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } [features] default = [] diff --git a/bin/runtime/Cargo.toml b/bin/runtime/Cargo.toml index 888e32e6b5..5fd0d072ae 100644 --- a/bin/runtime/Cargo.toml +++ b/bin/runtime/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "aleph-runtime" -version = "0.8.4" +version = "0.8.5" authors = ["Cardinal Cryptography"] edition = "2021" homepage = "https://alephzero.org" @@ -15,54 +15,54 @@ codec = { package = "parity-scale-codec", version = "3.0", default-features = fa scale-info = { version = "2.0", default-features = false, features = ["derive"] } serde = { version = "1.0", optional = true, features = ["derive"] } -frame-executive = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -frame-support = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -frame-system = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -frame-system-rpc-runtime-api = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -frame-try-runtime = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31", optional = true } +frame-executive = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +frame-support = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +frame-system = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +frame-system-rpc-runtime-api = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +frame-try-runtime = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32", optional = true } -pallet-aura = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -pallet-authorship = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -pallet-balances = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -pallet-contracts = { git = "https://github.com/Cardinal-Cryptography/substrate", default-features = false, branch = "aleph-v0.9.31" } -pallet-contracts-primitives = { git = "https://github.com/Cardinal-Cryptography/substrate", default-features = false, branch = "aleph-v0.9.31" } -pallet-identity = { git = "https://github.com/Cardinal-Cryptography/substrate", default-features = false, branch = "aleph-v0.9.31" } -pallet-randomness-collective-flip = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -pallet-session = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -pallet-scheduler = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -pallet-staking = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -pallet-sudo = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -pallet-timestamp = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -pallet-transaction-payment = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -pallet-transaction-payment-rpc-runtime-api = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -pallet-treasury = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -pallet-vesting = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -pallet-multisig = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -pallet-utility = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -pallet-nomination-pools = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -pallet-nomination-pools-runtime-api = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +pallet-aura = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +pallet-authorship = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +pallet-balances = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +pallet-contracts = { git = "https://github.com/Cardinal-Cryptography/substrate", default-features = false, branch = "aleph-v0.9.32" } +pallet-contracts-primitives = { git = "https://github.com/Cardinal-Cryptography/substrate", default-features = false, branch = "aleph-v0.9.32" } +pallet-identity = { git = "https://github.com/Cardinal-Cryptography/substrate", default-features = false, branch = "aleph-v0.9.32" } +pallet-randomness-collective-flip = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +pallet-session = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +pallet-scheduler = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +pallet-staking = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +pallet-sudo = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +pallet-timestamp = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +pallet-transaction-payment = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +pallet-transaction-payment-rpc-runtime-api = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +pallet-treasury = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +pallet-vesting = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +pallet-multisig = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +pallet-utility = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +pallet-nomination-pools = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +pallet-nomination-pools-runtime-api = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -sp-api = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -sp-block-builder = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -sp-consensus-aura = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -sp-core = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -sp-inherents = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -sp-offchain = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -sp-runtime = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -sp-session = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -sp-staking = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -sp-std = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -sp-transaction-pool = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -sp-version = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +sp-api = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +sp-block-builder = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +sp-consensus-aura = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +sp-core = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +sp-inherents = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +sp-offchain = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +sp-runtime = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +sp-session = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +sp-staking = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +sp-std = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +sp-transaction-pool = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +sp-version = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } # NOTE: these two disabled features collide with std in wasm -sp-io = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +sp-io = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } primitives = { path = "../../primitives", default-features = false } pallet-aleph = { path = "../../pallets/aleph", default-features = false } pallet-elections = { path = "../../pallets/elections", default-features = false } [build-dependencies] -substrate-wasm-builder = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +substrate-wasm-builder = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } [features] default = ["std"] diff --git a/bin/runtime/src/lib.rs b/bin/runtime/src/lib.rs index 30843433e3..7cb73330f2 100644 --- a/bin/runtime/src/lib.rs +++ b/bin/runtime/src/lib.rs @@ -105,7 +105,7 @@ pub const VERSION: RuntimeVersion = RuntimeVersion { spec_name: create_runtime_str!("aleph-node"), impl_name: create_runtime_str!("aleph-node"), authoring_version: 1, - spec_version: 43, + spec_version: 44, impl_version: 1, apis: RUNTIME_API_VERSIONS, transaction_version: 13, diff --git a/e2e-tests/Cargo.lock b/e2e-tests/Cargo.lock index 2d6896540c..33330c590a 100644 --- a/e2e-tests/Cargo.lock +++ b/e2e-tests/Cargo.lock @@ -49,7 +49,7 @@ dependencies = [ [[package]] name = "aleph-e2e-client" -version = "0.9.3" +version = "0.9.4" dependencies = [ "aleph_client", "anyhow", @@ -75,7 +75,7 @@ dependencies = [ [[package]] name = "aleph_client" -version = "2.3.0" +version = "2.4.0" dependencies = [ "anyhow", "async-trait", @@ -939,7 +939,7 @@ dependencies = [ [[package]] name = "frame-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "frame-support", "frame-system", @@ -962,7 +962,7 @@ dependencies = [ [[package]] name = "frame-election-provider-solution-type" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -973,7 +973,7 @@ dependencies = [ [[package]] name = "frame-election-provider-support" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "frame-election-provider-solution-type", "frame-support", @@ -1001,7 +1001,7 @@ dependencies = [ [[package]] name = "frame-support" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "bitflags", "frame-metadata", @@ -1026,14 +1026,14 @@ dependencies = [ "sp-state-machine 0.12.0", "sp-std 4.0.0", "sp-tracing 5.0.0", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32)", "tt-call", ] [[package]] name = "frame-support-procedural" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "Inflector", "cfg-expr", @@ -1047,7 +1047,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate", @@ -1059,7 +1059,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "proc-macro2", "quote", @@ -1069,7 +1069,7 @@ dependencies = [ [[package]] name = "frame-system" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "frame-support", "log", @@ -1081,7 +1081,7 @@ dependencies = [ "sp-runtime 6.0.0", "sp-std 4.0.0", "sp-version", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32)", ] [[package]] @@ -2165,7 +2165,7 @@ checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee" [[package]] name = "pallet-authorship" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "frame-support", "frame-system", @@ -2180,7 +2180,7 @@ dependencies = [ [[package]] name = "pallet-balances" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "frame-benchmarking", "frame-support", @@ -2195,18 +2195,18 @@ dependencies = [ [[package]] name = "pallet-contracts-primitives" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "bitflags", "parity-scale-codec", "sp-runtime 6.0.0", "sp-std 4.0.0", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32)", ] [[package]] name = "pallet-elections" -version = "0.5.3" +version = "0.5.4" dependencies = [ "frame-election-provider-support", "frame-support", @@ -2229,7 +2229,7 @@ dependencies = [ [[package]] name = "pallet-session" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "frame-support", "frame-system", @@ -2250,7 +2250,7 @@ dependencies = [ [[package]] name = "pallet-staking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -2272,7 +2272,7 @@ dependencies = [ [[package]] name = "pallet-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "frame-benchmarking", "frame-support", @@ -2289,7 +2289,7 @@ dependencies = [ [[package]] name = "pallets-support" -version = "0.1.3" +version = "0.1.4" dependencies = [ "frame-support", "sp-std 4.0.0", @@ -2477,7 +2477,7 @@ dependencies = [ [[package]] name = "primitives" -version = "0.5.3" +version = "0.5.4" dependencies = [ "parity-scale-codec", "scale-info", @@ -3180,7 +3180,7 @@ dependencies = [ [[package]] name = "sp-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "hash-db", "log", @@ -3198,7 +3198,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "blake2", "proc-macro-crate", @@ -3210,7 +3210,7 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "parity-scale-codec", "scale-info", @@ -3237,7 +3237,7 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "integer-sqrt", "num-traits", @@ -3268,7 +3268,7 @@ dependencies = [ [[package]] name = "sp-authorship" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "async-trait", "parity-scale-codec", @@ -3280,7 +3280,7 @@ dependencies = [ [[package]] name = "sp-core" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "array-bytes", "base58", @@ -3372,7 +3372,7 @@ dependencies = [ [[package]] name = "sp-core-hashing" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "blake2", "byteorder", @@ -3401,7 +3401,7 @@ dependencies = [ [[package]] name = "sp-core-hashing-proc-macro" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "proc-macro2", "quote", @@ -3412,7 +3412,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "proc-macro2", "quote", @@ -3433,7 +3433,7 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "environmental", "parity-scale-codec", @@ -3456,7 +3456,7 @@ dependencies = [ [[package]] name = "sp-inherents" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "async-trait", "impl-trait-for-tuples", @@ -3470,7 +3470,7 @@ dependencies = [ [[package]] name = "sp-io" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "bytes", "futures", @@ -3523,7 +3523,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "async-trait", "futures", @@ -3556,7 +3556,7 @@ dependencies = [ [[package]] name = "sp-npos-elections" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "parity-scale-codec", "scale-info", @@ -3570,7 +3570,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "backtrace", "lazy_static", @@ -3591,7 +3591,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "either", "hash256-std-hasher", @@ -3608,7 +3608,7 @@ dependencies = [ "sp-core 6.0.0", "sp-io 6.0.0", "sp-std 4.0.0", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32)", ] [[package]] @@ -3638,7 +3638,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "bytes", "impl-trait-for-tuples", @@ -3675,7 +3675,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "Inflector", "proc-macro-crate", @@ -3700,7 +3700,7 @@ dependencies = [ [[package]] name = "sp-session" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "parity-scale-codec", "scale-info", @@ -3714,7 +3714,7 @@ dependencies = [ [[package]] name = "sp-staking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "parity-scale-codec", "scale-info", @@ -3725,7 +3725,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "hash-db", "log", @@ -3770,7 +3770,7 @@ dependencies = [ [[package]] name = "sp-std" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" [[package]] name = "sp-std" @@ -3781,7 +3781,7 @@ checksum = "cf3fd4c1d304be101e6ebbafd3d4be9a37b320c970ef4e8df188b16873981c93" [[package]] name = "sp-storage" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "impl-serde", "parity-scale-codec", @@ -3808,7 +3808,7 @@ dependencies = [ [[package]] name = "sp-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "async-trait", "futures-timer", @@ -3824,7 +3824,7 @@ dependencies = [ [[package]] name = "sp-tracing" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "parity-scale-codec", "sp-std 4.0.0", @@ -3849,7 +3849,7 @@ dependencies = [ [[package]] name = "sp-trie" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "ahash", "hash-db", @@ -3896,7 +3896,7 @@ dependencies = [ [[package]] name = "sp-version" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "impl-serde", "parity-scale-codec", @@ -3913,7 +3913,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "parity-scale-codec", "proc-macro2", @@ -3924,7 +3924,7 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "impl-trait-for-tuples", "log", @@ -3966,7 +3966,7 @@ dependencies = [ [[package]] name = "sp-weights" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", diff --git a/e2e-tests/Cargo.toml b/e2e-tests/Cargo.toml index 5d438c083f..48166153be 100644 --- a/e2e-tests/Cargo.toml +++ b/e2e-tests/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "aleph-e2e-client" -version = "0.9.3" +version = "0.9.4" edition = "2021" license = "Apache 2.0" @@ -17,12 +17,12 @@ tokio = { version = "1.21.2", features = ["full"] } futures = "0.3.25" once_cell = "1.16" -sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31", default-features = false, features = ["full_crypto"] } -sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31", default-features = false } -frame-support = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31", default-features = false } -system = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31", package = "frame-system" } -pallet-staking = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31", default-features = false } -pallet-balances = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31", default-features = false } +sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32", default-features = false, features = ["full_crypto"] } +sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32", default-features = false } +frame-support = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32", default-features = false } +system = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32", package = "frame-system" } +pallet-staking = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32", default-features = false } +pallet-balances = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32", default-features = false } aleph_client = { path = "../aleph-client" } primitives = { path = "../primitives", features = ["short_session"], default-features = false } diff --git a/finality-aleph/Cargo.toml b/finality-aleph/Cargo.toml index 2c66197cc9..a4c9ad51d3 100644 --- a/finality-aleph/Cargo.toml +++ b/finality-aleph/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "finality-aleph" -version = "0.5.3" +version = "0.5.4" authors = ["Cardinal Cryptography"] edition = "2021" license = "Apache 2.0" @@ -35,29 +35,29 @@ serde = "1.0" tiny-bip39 = "1.0" tokio = { version = "1.17", features = [ "sync", "macros", "time", "rt-multi-thread" ] } -prometheus-endpoint = { package = "substrate-prometheus-endpoint", git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -sp-keystore = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -sc-network = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -sc-network-common = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -sc-telemetry = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -sc-service = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -sp-application-crypto = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -sp-state-machine = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -sp-trie = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -sc-utils = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -sp-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -sp-blockchain = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -sc-consensus = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -sp-consensus = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -sc-client-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -sp-io = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +prometheus-endpoint = { package = "substrate-prometheus-endpoint", git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +sp-keystore = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +sc-network = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +sc-network-common = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +sc-telemetry = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +sc-service = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +sp-application-crypto = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +sp-state-machine = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +sp-trie = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +sc-utils = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +sp-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +sp-blockchain = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +sc-consensus = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +sp-consensus = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +sc-client-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +sp-io = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } [dev-dependencies] -substrate-test-runtime-client = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -substrate-test-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -sc-block-builder = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +substrate-test-runtime-client = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +substrate-test-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +sc-block-builder = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } [features] only_legacy = [] diff --git a/flooder/Cargo.lock b/flooder/Cargo.lock new file mode 100644 index 0000000000..bbd519f9f1 --- /dev/null +++ b/flooder/Cargo.lock @@ -0,0 +1,4738 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "Inflector" +version = "0.11.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe438c63458706e03479442743baae6c88256498e6431708f6dfc520a26515d3" +dependencies = [ + "lazy_static", + "regex", +] + +[[package]] +name = "addr2line" +version = "0.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9ecd88a8c8378ca913a680cd98f0f13ac67383d35993f86c90a70e3f137816b" +dependencies = [ + "gimli", +] + +[[package]] +name = "adler" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" + +[[package]] +name = "ahash" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47" +dependencies = [ + "getrandom 0.2.8", + "once_cell", + "version_check", +] + +[[package]] +name = "aho-corasick" +version = "0.7.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac" +dependencies = [ + "memchr", +] + +[[package]] +name = "aleph_client" +version = "2.4.0" +dependencies = [ + "anyhow", + "async-trait", + "contract-metadata", + "contract-transcode", + "frame-support", + "futures", + "hex", + "ink_metadata", + "log", + "pallet-contracts-primitives", + "parity-scale-codec", + "primitives", + "serde", + "serde_json", + "sp-core 6.0.0", + "sp-runtime 6.0.0", + "subxt", + "thiserror", +] + +[[package]] +name = "android_system_properties" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" +dependencies = [ + "libc", +] + +[[package]] +name = "ansi_term" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2" +dependencies = [ + "winapi 0.3.9", +] + +[[package]] +name = "anyhow" +version = "1.0.66" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "216261ddc8289130e551ddcd5ce8a064710c0d064a4d2895c67151c92b5443f6" + +[[package]] +name = "array-bytes" +version = "4.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f52f63c5c1316a16a4b35eaac8b76a98248961a533f061684cb2a7cb0eafb6c6" + +[[package]] +name = "arrayref" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4c527152e37cf757a3f78aae5a06fbeefdb07ccc535c980a3208ee3060dd544" + +[[package]] +name = "arrayvec" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b" + +[[package]] +name = "arrayvec" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6" + +[[package]] +name = "async-lock" +version = "2.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8101efe8695a6c17e02911402145357e718ac92d3ff88ae8419e84b1707b685" +dependencies = [ + "event-listener", + "futures-lite", +] + +[[package]] +name = "async-trait" +version = "0.1.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "31e6e93155431f3931513b243d371981bb2770112b370c82745a1d19d2f99364" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "atty" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" +dependencies = [ + "hermit-abi", + "libc", + "winapi 0.3.9", +] + +[[package]] +name = "autocfg" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" + +[[package]] +name = "backtrace" +version = "0.3.66" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cab84319d616cfb654d03394f38ab7e6f0919e181b1b57e1fd15e7fb4077d9a7" +dependencies = [ + "addr2line", + "cc", + "cfg-if 1.0.0", + "libc", + "miniz_oxide 0.5.4", + "object", + "rustc-demangle", +] + +[[package]] +name = "base16ct" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "349a06037c7bf932dd7e7d1f653678b2038b9ad46a74102f1fc7bd7872678cce" + +[[package]] +name = "base58" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6107fe1be6682a68940da878d9e9f5e90ca5745b3dec9fd1bb393c8777d4f581" + +[[package]] +name = "base64" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" + +[[package]] +name = "base64ct" +version = "1.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b645a089122eccb6111b4f81cbc1a49f5900ac4666bb93ac027feaecf15607bf" + +[[package]] +name = "beef" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a8241f3ebb85c056b509d4327ad0358fbbba6ffb340bf388f26350aeda225b1" +dependencies = [ + "serde", +] + +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + +[[package]] +name = "bitvec" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c" +dependencies = [ + "funty", + "radium", + "tap", + "wyz", +] + +[[package]] +name = "blake2" +version = "0.10.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b12e5fd123190ce1c2e559308a94c9bacad77907d4c6005d9e58fe1a0689e55e" +dependencies = [ + "digest 0.10.6", +] + +[[package]] +name = "block-buffer" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0940dc441f31689269e10ac70eb1002a3a1d3ad1390e030043662eb7fe4688b" +dependencies = [ + "block-padding", + "byte-tools", + "byteorder", + "generic-array 0.12.4", +] + +[[package]] +name = "block-buffer" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4" +dependencies = [ + "generic-array 0.14.6", +] + +[[package]] +name = "block-buffer" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69cce20737498f97b993470a6e536b8523f0af7892a4f928cceb1ac5e52ebe7e" +dependencies = [ + "generic-array 0.14.6", +] + +[[package]] +name = "block-padding" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa79dedbb091f449f1f39e53edf88d5dbe95f895dae6135a8d7b881fb5af73f5" +dependencies = [ + "byte-tools", +] + +[[package]] +name = "brownstone" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "030ea61398f34f1395ccbeb046fb68c87b631d1f34567fed0f0f11fa35d18d8d" +dependencies = [ + "arrayvec 0.7.2", +] + +[[package]] +name = "bumpalo" +version = "3.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "572f695136211188308f16ad2ca5c851a712c464060ae6974944458eb83880ba" + +[[package]] +name = "byte-slice-cast" +version = "1.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3ac9f8b63eca6fd385229b3675f6cc0dc5c8a5c8a54a59d4f52ffd670d87b0c" + +[[package]] +name = "byte-tools" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7" + +[[package]] +name = "byteorder" +version = "1.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" + +[[package]] +name = "bytes" +version = "0.4.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "206fdffcfa2df7cbe15601ef46c813fce0965eb3286db6b56c583b814b51c81c" +dependencies = [ + "byteorder", + "iovec", +] + +[[package]] +name = "bytes" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dfb24e866b15a1af2a1b663f10c6b6b8f397a84aadb828f12e5b289ec23a3a3c" + +[[package]] +name = "bzip2" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6afcd980b5f3a45017c57e57a2fcccbb351cc43a356ce117ef760ef8052b89b0" +dependencies = [ + "bzip2-sys", + "libc", +] + +[[package]] +name = "bzip2-sys" +version = "0.1.11+1.0.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "736a955f3fa7875102d57c82b8cac37ec45224a07fd32d58f9f7a186b6cd4cdc" +dependencies = [ + "cc", + "libc", + "pkg-config", +] + +[[package]] +name = "cc" +version = "1.0.77" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e9f73505338f7d905b19d18738976aae232eb46b8efc15554ffc56deb5d9ebe4" + +[[package]] +name = "cfg-expr" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0aacacf4d96c24b2ad6eb8ee6df040e4f27b0d0b39a5710c30091baa830485db" +dependencies = [ + "smallvec", +] + +[[package]] +name = "cfg-if" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822" + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "chrono" +version = "0.4.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "16b0a3d9ed01224b22057780a37bb8c5dbfe1be8ba48678e7bf57ec4b385411f" +dependencies = [ + "iana-time-zone", + "num-integer", + "num-traits", + "winapi 0.3.9", +] + +[[package]] +name = "clap" +version = "3.2.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "71655c45cb9845d3270c9d6df84ebe72b4dad3c2ba3f7023ad47c144e4e473a5" +dependencies = [ + "atty", + "bitflags", + "clap_derive", + "clap_lex", + "indexmap", + "once_cell", + "strsim", + "termcolor", + "textwrap", +] + +[[package]] +name = "clap_derive" +version = "3.2.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea0c8bce528c4be4da13ea6fead8965e95b6073585a2f05204bd8f4119f82a65" +dependencies = [ + "heck", + "proc-macro-error", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "clap_lex" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5" +dependencies = [ + "os_str_bytes", +] + +[[package]] +name = "codespan-reporting" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e" +dependencies = [ + "termcolor", + "unicode-width", +] + +[[package]] +name = "const-oid" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e4c78c047431fee22c1a7bb92e00ad095a02a983affe4d8a72e2a2c62c1b94f3" + +[[package]] +name = "contract-metadata" +version = "2.0.0-beta" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "40248c6a648b3679ea52bb83d8921246d0347644eaf7b0eec4c5601fa8feb651" +dependencies = [ + "anyhow", + "impl-serde", + "semver", + "serde", + "serde_json", + "url", +] + +[[package]] +name = "contract-transcode" +version = "2.0.0-beta" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61159f8e266d4892be25f2b1e7ff2c4c6dd4338ca26498d907e5532a52a28e5f" +dependencies = [ + "anyhow", + "contract-metadata", + "env_logger 0.9.3", + "escape8259", + "hex", + "indexmap", + "ink_env", + "ink_metadata", + "itertools", + "nom", + "nom-supreme", + "parity-scale-codec", + "scale-info", + "serde", + "serde_json", + "sp-core 7.0.0", + "sp-runtime 7.0.0", + "tracing", +] + +[[package]] +name = "core-foundation" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "core-foundation-sys" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc" + +[[package]] +name = "cpufeatures" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28d997bd5e24a5928dd43e46dc529867e207907fe0b239c3477d924f7f2ca320" +dependencies = [ + "libc", +] + +[[package]] +name = "crc32fast" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d" +dependencies = [ + "cfg-if 1.0.0", +] + +[[package]] +name = "crossbeam-channel" +version = "0.5.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2dd04ddaf88237dc3b8d8f9a3c1004b506b54b3313403944054d23c0870c521" +dependencies = [ + "cfg-if 1.0.0", + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-utils" +version = "0.8.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fb766fa798726286dbbb842f174001dab8abc7b627a1dd86e0b7222a95d929f" +dependencies = [ + "cfg-if 1.0.0", +] + +[[package]] +name = "crunchy" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" + +[[package]] +name = "crypto-bigint" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03c6a1d5fa1de37e071642dfa44ec552ca5b299adb128fab16138e24b548fd21" +dependencies = [ + "generic-array 0.14.6", + "rand_core 0.6.4", + "subtle", + "zeroize", +] + +[[package]] +name = "crypto-common" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" +dependencies = [ + "generic-array 0.14.6", + "typenum", +] + +[[package]] +name = "crypto-mac" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b584a330336237c1eecd3e94266efb216c56ed91225d634cb2991c5f3fd1aeab" +dependencies = [ + "generic-array 0.14.6", + "subtle", +] + +[[package]] +name = "crypto-mac" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1d1a86f49236c215f271d40892d5fc950490551400b02ef360692c29815c714" +dependencies = [ + "generic-array 0.14.6", + "subtle", +] + +[[package]] +name = "curve25519-dalek" +version = "2.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a9b85542f99a2dfa2a1b8e192662741c9859a846b296bef1c92ef9b58b5a216" +dependencies = [ + "byteorder", + "digest 0.8.1", + "rand_core 0.5.1", + "subtle", + "zeroize", +] + +[[package]] +name = "curve25519-dalek" +version = "3.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b9fdf9972b2bd6af2d913799d9ebc165ea4d2e65878e329d9c6b372c4491b61" +dependencies = [ + "byteorder", + "digest 0.9.0", + "rand_core 0.5.1", + "subtle", + "zeroize", +] + +[[package]] +name = "cxx" +version = "1.0.82" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4a41a86530d0fe7f5d9ea779916b7cadd2d4f9add748b99c2c029cbbdfaf453" +dependencies = [ + "cc", + "cxxbridge-flags", + "cxxbridge-macro", + "link-cplusplus", +] + +[[package]] +name = "cxx-build" +version = "1.0.82" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06416d667ff3e3ad2df1cd8cd8afae5da26cf9cec4d0825040f88b5ca659a2f0" +dependencies = [ + "cc", + "codespan-reporting", + "once_cell", + "proc-macro2", + "quote", + "scratch", + "syn", +] + +[[package]] +name = "cxxbridge-flags" +version = "1.0.82" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "820a9a2af1669deeef27cb271f476ffd196a2c4b6731336011e0ba63e2c7cf71" + +[[package]] +name = "cxxbridge-macro" +version = "1.0.82" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a08a6e2fcc370a089ad3b4aaf54db3b1b4cee38ddabce5896b33eb693275f470" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "darling" +version = "0.14.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b0dd3cd20dc6b5a876612a6e5accfe7f3dd883db6d07acfbf14c128f61550dfa" +dependencies = [ + "darling_core", + "darling_macro", +] + +[[package]] +name = "darling_core" +version = "0.14.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a784d2ccaf7c98501746bf0be29b2022ba41fd62a2e622af997a03e9f972859f" +dependencies = [ + "fnv", + "ident_case", + "proc-macro2", + "quote", + "strsim", + "syn", +] + +[[package]] +name = "darling_macro" +version = "0.14.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7618812407e9402654622dd402b0a89dff9ba93badd6540781526117b92aab7e" +dependencies = [ + "darling_core", + "quote", + "syn", +] + +[[package]] +name = "der" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6919815d73839e7ad218de758883aae3a257ba6759ce7a9992501efbb53d705c" +dependencies = [ + "const-oid", +] + +[[package]] +name = "derivative" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "derive_more" +version = "0.99.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "digest" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3d0c8c8752312f9713efd397ff63acb9f85585afbf179282e720e7704954dd5" +dependencies = [ + "generic-array 0.12.4", +] + +[[package]] +name = "digest" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066" +dependencies = [ + "generic-array 0.14.6", +] + +[[package]] +name = "digest" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8168378f4e5023e7218c89c891c0fd8ecdb5e5e4f18cb78f38cf245dd021e76f" +dependencies = [ + "block-buffer 0.10.3", + "crypto-common", + "subtle", +] + +[[package]] +name = "downcast-rs" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650" + +[[package]] +name = "dyn-clonable" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e9232f0e607a262ceb9bd5141a3dfb3e4db6994b31989bbfd845878cba59fd4" +dependencies = [ + "dyn-clonable-impl", + "dyn-clone", +] + +[[package]] +name = "dyn-clonable-impl" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "558e40ea573c374cf53507fd240b7ee2f5477df7cfebdb97323ec61c719399c5" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "dyn-clone" +version = "1.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4f94fa09c2aeea5b8839e414b7b841bf429fd25b9c522116ac97ee87856d88b2" + +[[package]] +name = "ecdsa" +version = "0.13.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0d69ae62e0ce582d56380743515fefaf1a8c70cec685d9677636d7e30ae9dc9" +dependencies = [ + "der", + "elliptic-curve", + "rfc6979", + "signature", +] + +[[package]] +name = "ed25519-zebra" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c24f403d068ad0b359e577a77f92392118be3f3c927538f2bb544a5ecd828c6" +dependencies = [ + "curve25519-dalek 3.2.0", + "hashbrown", + "hex", + "rand_core 0.6.4", + "sha2 0.9.9", + "zeroize", +] + +[[package]] +name = "either" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90e5c1c8368803113bf0c9584fc495a58b86dc8a29edbf8fe877d21d9507e797" + +[[package]] +name = "elliptic-curve" +version = "0.11.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "25b477563c2bfed38a3b7a60964c49e058b2510ad3f12ba3483fd8f62c2306d6" +dependencies = [ + "base16ct", + "crypto-bigint", + "der", + "ff", + "generic-array 0.14.6", + "group", + "rand_core 0.6.4", + "sec1", + "subtle", + "zeroize", +] + +[[package]] +name = "env_logger" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a19187fea3ac7e84da7dacf48de0c45d63c6a76f9490dae389aead16c243fce3" +dependencies = [ + "atty", + "humantime", + "log", + "regex", + "termcolor", +] + +[[package]] +name = "env_logger" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a12e6657c4c97ebab115a42dcee77225f7f482cdd841cf7088c657a42e9e00e7" +dependencies = [ + "atty", + "humantime", + "log", + "regex", + "termcolor", +] + +[[package]] +name = "environmental" +version = "1.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e48c92028aaa870e83d51c64e5d4e0b6981b360c522198c23959f219a4e1b15b" + +[[package]] +name = "escape8259" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba4f4911e3666fcd7826997b4745c8224295a6f3072f1418c3067b97a67557ee" +dependencies = [ + "rustversion", +] + +[[package]] +name = "event-listener" +version = "2.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" + +[[package]] +name = "fake-simd" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed" + +[[package]] +name = "fastrand" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7a407cfaa3385c4ae6b23e84623d48c2798d06e3e6a1878f7f59f17b3f86499" +dependencies = [ + "instant", +] + +[[package]] +name = "ff" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "131655483be284720a17d74ff97592b8e76576dc25563148601df2d7c9080924" +dependencies = [ + "rand_core 0.6.4", + "subtle", +] + +[[package]] +name = "fixed-hash" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "835c052cb0c08c1acf6ffd71c022172e18723949c8282f2b9f27efbc51e64534" +dependencies = [ + "byteorder", + "rand 0.8.5", + "rustc-hex", + "static_assertions", +] + +[[package]] +name = "flate2" +version = "1.0.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8a2db397cb1c8772f31494cb8917e48cd1e64f0fa7efac59fbd741a0a8ce841" +dependencies = [ + "crc32fast", + "miniz_oxide 0.6.2", +] + +[[package]] +name = "flooder" +version = "0.2.4" +dependencies = [ + "aleph_client", + "anyhow", + "clap", + "env_logger 0.8.4", + "futures", + "hdrhistogram", + "log", + "mio 0.6.23", + "parity-scale-codec", + "serde_json", + "sp-core 6.0.0", + "sp-runtime 6.0.0", + "subxt", + "tokio", + "ws", + "zip", +] + +[[package]] +name = "fnv" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" + +[[package]] +name = "foreign-types" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" +dependencies = [ + "foreign-types-shared", +] + +[[package]] +name = "foreign-types-shared" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" + +[[package]] +name = "form_urlencoded" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8" +dependencies = [ + "percent-encoding", +] + +[[package]] +name = "frame-metadata" +version = "15.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df6bb8542ef006ef0de09a5c4420787d79823c0ed7924225822362fd2bf2ff2d" +dependencies = [ + "cfg-if 1.0.0", + "parity-scale-codec", + "scale-info", + "serde", +] + +[[package]] +name = "frame-support" +version = "4.0.0-dev" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +dependencies = [ + "bitflags", + "frame-metadata", + "frame-support-procedural", + "impl-trait-for-tuples", + "k256", + "log", + "once_cell", + "parity-scale-codec", + "paste", + "scale-info", + "serde", + "smallvec", + "sp-api", + "sp-arithmetic 5.0.0", + "sp-core 6.0.0", + "sp-core-hashing-proc-macro", + "sp-inherents", + "sp-io 6.0.0", + "sp-runtime 6.0.0", + "sp-staking", + "sp-state-machine 0.12.0", + "sp-std 4.0.0", + "sp-tracing 5.0.0", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32)", + "tt-call", +] + +[[package]] +name = "frame-support-procedural" +version = "4.0.0-dev" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +dependencies = [ + "Inflector", + "cfg-expr", + "frame-support-procedural-tools", + "itertools", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "frame-support-procedural-tools" +version = "4.0.0-dev" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +dependencies = [ + "frame-support-procedural-tools-derive", + "proc-macro-crate", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "frame-support-procedural-tools-derive" +version = "3.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "fuchsia-zircon" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82" +dependencies = [ + "bitflags", + "fuchsia-zircon-sys", +] + +[[package]] +name = "fuchsia-zircon-sys" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7" + +[[package]] +name = "funty" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" + +[[package]] +name = "futures" +version = "0.3.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38390104763dc37a5145a53c29c63c1290b5d316d6086ec32c293f6736051bb0" +dependencies = [ + "futures-channel", + "futures-core", + "futures-executor", + "futures-io", + "futures-sink", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-channel" +version = "0.3.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52ba265a92256105f45b719605a571ffe2d1f0fea3807304b522c1d778f79eed" +dependencies = [ + "futures-core", + "futures-sink", +] + +[[package]] +name = "futures-core" +version = "0.3.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04909a7a7e4633ae6c4a9ab280aeb86da1236243a77b694a49eacd659a4bd3ac" + +[[package]] +name = "futures-executor" +version = "0.3.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7acc85df6714c176ab5edf386123fafe217be88c0840ec11f199441134a074e2" +dependencies = [ + "futures-core", + "futures-task", + "futures-util", + "num_cpus", +] + +[[package]] +name = "futures-io" +version = "0.3.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00f5fb52a06bdcadeb54e8d3671f8888a39697dcb0b81b23b55174030427f4eb" + +[[package]] +name = "futures-lite" +version = "1.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7694489acd39452c77daa48516b894c153f192c3578d5a839b62c58099fcbf48" +dependencies = [ + "fastrand", + "futures-core", + "futures-io", + "memchr", + "parking", + "pin-project-lite", + "waker-fn", +] + +[[package]] +name = "futures-macro" +version = "0.3.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bdfb8ce053d86b91919aad980c220b1fb8401a9394410e1c289ed7e66b61835d" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "futures-sink" +version = "0.3.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "39c15cf1a4aa79df40f1bb462fb39676d0ad9e366c2a33b590d7c66f4f81fcf9" + +[[package]] +name = "futures-task" +version = "0.3.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2ffb393ac5d9a6eaa9d3fdf37ae2776656b706e200c8e16b1bdb227f5198e6ea" + +[[package]] +name = "futures-timer" +version = "3.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e64b03909df88034c26dc1547e8970b91f98bdb65165d6a4e9110d94263dbb2c" + +[[package]] +name = "futures-util" +version = "0.3.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "197676987abd2f9cadff84926f410af1c183608d36641465df73ae8211dc65d6" +dependencies = [ + "futures-channel", + "futures-core", + "futures-io", + "futures-macro", + "futures-sink", + "futures-task", + "memchr", + "pin-project-lite", + "pin-utils", + "slab", +] + +[[package]] +name = "generic-array" +version = "0.12.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffdf9f34f1447443d37393cc6c2b8313aebddcd96906caf34e54c68d8e57d7bd" +dependencies = [ + "typenum", +] + +[[package]] +name = "generic-array" +version = "0.14.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bff49e947297f3312447abdca79f45f4738097cc82b06e72054d2223f601f1b9" +dependencies = [ + "typenum", + "version_check", +] + +[[package]] +name = "getrandom" +version = "0.1.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" +dependencies = [ + "cfg-if 1.0.0", + "js-sys", + "libc", + "wasi 0.9.0+wasi-snapshot-preview1", + "wasm-bindgen", +] + +[[package]] +name = "getrandom" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31" +dependencies = [ + "cfg-if 1.0.0", + "js-sys", + "libc", + "wasi 0.11.0+wasi-snapshot-preview1", + "wasm-bindgen", +] + +[[package]] +name = "gimli" +version = "0.26.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22030e2c5a68ec659fde1e949a745124b48e6fa8b045b7ed5bd1fe4ccc5c4e5d" + +[[package]] +name = "group" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc5ac374b108929de78460075f3dc439fa66df9d8fc77e8f12caa5165fcf0c89" +dependencies = [ + "ff", + "rand_core 0.6.4", + "subtle", +] + +[[package]] +name = "h2" +version = "0.3.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f9f29bc9dda355256b2916cf526ab02ce0aeaaaf2bad60d65ef3f12f11dd0f4" +dependencies = [ + "bytes 1.3.0", + "fnv", + "futures-core", + "futures-sink", + "futures-util", + "http", + "indexmap", + "slab", + "tokio", + "tokio-util", + "tracing", +] + +[[package]] +name = "hash-db" +version = "0.15.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d23bd4e7b5eda0d0f3a307e8b381fdc8ba9000f26fbe912250c0a4cc3956364a" + +[[package]] +name = "hash256-std-hasher" +version = "0.15.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92c171d55b98633f4ed3860808f004099b36c1cc29c42cfc53aa8591b21efcf2" +dependencies = [ + "crunchy", +] + +[[package]] +name = "hashbrown" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" +dependencies = [ + "ahash", +] + +[[package]] +name = "hdrhistogram" +version = "7.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f19b9f54f7c7f55e31401bb647626ce0cf0f67b0004982ce815b3ee72a02aa8" +dependencies = [ + "base64", + "byteorder", + "crossbeam-channel", + "flate2", + "nom", + "num-traits", +] + +[[package]] +name = "heck" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9" + +[[package]] +name = "hermit-abi" +version = "0.1.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" +dependencies = [ + "libc", +] + +[[package]] +name = "hex" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" + +[[package]] +name = "hmac" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "126888268dcc288495a26bf004b38c5fdbb31682f992c84ceb046a1f0fe38840" +dependencies = [ + "crypto-mac 0.8.0", + "digest 0.9.0", +] + +[[package]] +name = "hmac" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a2a2320eb7ec0ebe8da8f744d7812d9fc4cb4d09344ac01898dbcb6a20ae69b" +dependencies = [ + "crypto-mac 0.11.1", + "digest 0.9.0", +] + +[[package]] +name = "hmac-drbg" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17ea0a1394df5b6574da6e0c1ade9e78868c9fb0a4e5ef4428e32da4676b85b1" +dependencies = [ + "digest 0.9.0", + "generic-array 0.14.6", + "hmac 0.8.1", +] + +[[package]] +name = "http" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75f43d41e26995c17e71ee126451dd3941010b0514a81a9d11f3b341debc2399" +dependencies = [ + "bytes 1.3.0", + "fnv", + "itoa", +] + +[[package]] +name = "http-body" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1" +dependencies = [ + "bytes 1.3.0", + "http", + "pin-project-lite", +] + +[[package]] +name = "httparse" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" + +[[package]] +name = "httpdate" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421" + +[[package]] +name = "humantime" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" + +[[package]] +name = "hyper" +version = "0.14.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "034711faac9d2166cb1baf1a2fb0b60b1f277f8492fd72176c17f3515e1abd3c" +dependencies = [ + "bytes 1.3.0", + "futures-channel", + "futures-core", + "futures-util", + "h2", + "http", + "http-body", + "httparse", + "httpdate", + "itoa", + "pin-project-lite", + "socket2", + "tokio", + "tower-service", + "tracing", + "want", +] + +[[package]] +name = "hyper-rustls" +version = "0.23.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59df7c4e19c950e6e0e868dcc0a300b09a9b88e9ec55bd879ca819087a77355d" +dependencies = [ + "http", + "hyper", + "log", + "rustls", + "rustls-native-certs", + "tokio", + "tokio-rustls", + "webpki-roots", +] + +[[package]] +name = "iana-time-zone" +version = "0.1.53" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64c122667b287044802d6ce17ee2ddf13207ed924c712de9a66a5814d5b64765" +dependencies = [ + "android_system_properties", + "core-foundation-sys", + "iana-time-zone-haiku", + "js-sys", + "wasm-bindgen", + "winapi 0.3.9", +] + +[[package]] +name = "iana-time-zone-haiku" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0703ae284fc167426161c2e3f1da3ea71d94b21bedbcc9494e92b28e334e3dca" +dependencies = [ + "cxx", + "cxx-build", +] + +[[package]] +name = "ident_case" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" + +[[package]] +name = "idna" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6" +dependencies = [ + "unicode-bidi", + "unicode-normalization", +] + +[[package]] +name = "impl-codec" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba6a270039626615617f3f36d15fc827041df3b78c439da2cadfa47455a77f2f" +dependencies = [ + "parity-scale-codec", +] + +[[package]] +name = "impl-serde" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebc88fc67028ae3db0c853baa36269d398d5f45b6982f95549ff5def78c935cd" +dependencies = [ + "serde", +] + +[[package]] +name = "impl-trait-for-tuples" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11d7a9f6330b71fea57921c9b61c47ee6e84f72d394754eff6163ae67e7395eb" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "indent_write" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0cfe9645a18782869361d9c8732246be7b410ad4e919d3609ebabdac00ba12c3" + +[[package]] +name = "indexmap" +version = "1.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399" +dependencies = [ + "autocfg", + "hashbrown", +] + +[[package]] +name = "ink_allocator" +version = "4.0.0-beta" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b36dadecdc7e33b0fe1c198b52d474ce73ccd93ffd8acd6ded02458b4a58a2d9" +dependencies = [ + "cfg-if 1.0.0", +] + +[[package]] +name = "ink_engine" +version = "4.0.0-beta" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "319a74f3313698ae6d4ae5b43164a1e0efbfd45bd0f7ef689745f98f6e505998" +dependencies = [ + "blake2", + "derive_more", + "ink_primitives", + "parity-scale-codec", + "secp256k1", + "sha2 0.10.6", + "sha3", +] + +[[package]] +name = "ink_env" +version = "4.0.0-beta" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4543d0e0e5d1d97ce1ccb225599603ab15fb9d486f692176649b43a1311a8ad7" +dependencies = [ + "arrayref", + "blake2", + "cfg-if 1.0.0", + "derive_more", + "ink_allocator", + "ink_engine", + "ink_metadata", + "ink_prelude", + "ink_primitives", + "ink_storage_traits", + "num-traits", + "parity-scale-codec", + "paste", + "rlibc", + "scale-info", + "secp256k1", + "sha2 0.10.6", + "sha3", + "static_assertions", +] + +[[package]] +name = "ink_metadata" +version = "4.0.0-beta" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "caa94adad4fca9e3a79a1c5b0edc1ea2109ef56a955a57df35b2ad32c461ac21" +dependencies = [ + "derive_more", + "impl-serde", + "ink_prelude", + "ink_primitives", + "scale-info", + "serde", +] + +[[package]] +name = "ink_prelude" +version = "4.0.0-beta" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5962125f78304bc2b3083391cbd579125c64ce17e61b019034094faf772c915a" +dependencies = [ + "cfg-if 1.0.0", +] + +[[package]] +name = "ink_primitives" +version = "4.0.0-beta" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90f4f26208fe23e12d436917697b951252519484134a3561fe8b65a5abc97aa9" +dependencies = [ + "derive_more", + "ink_prelude", + "parity-scale-codec", + "scale-info", + "xxhash-rust", +] + +[[package]] +name = "ink_storage_traits" +version = "4.0.0-beta" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "596247891eb221a0b7debce9f8cf123b9a14f23a4a10664e73ec16d9eb1e92e9" +dependencies = [ + "ink_metadata", + "ink_prelude", + "ink_primitives", + "parity-scale-codec", + "scale-info", + "syn", +] + +[[package]] +name = "instant" +version = "0.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" +dependencies = [ + "cfg-if 1.0.0", +] + +[[package]] +name = "integer-sqrt" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "276ec31bcb4a9ee45f58bec6f9ec700ae4cf4f4f8f2fa7e06cb406bd5ffdd770" +dependencies = [ + "num-traits", +] + +[[package]] +name = "iovec" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2b3ea6ff95e175473f8ffe6a7eb7c00d054240321b84c57051175fe3c1e075e" +dependencies = [ + "libc", +] + +[[package]] +name = "itertools" +version = "0.10.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4217ad341ebadf8d8e724e264f13e593e0648f5b3e94b3896a5df283be015ecc" + +[[package]] +name = "joinery" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72167d68f5fce3b8655487b8038691a3c9984ee769590f93f2a631f4ad64e4f5" + +[[package]] +name = "js-sys" +version = "0.3.60" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49409df3e3bf0856b916e2ceaca09ee28e6871cf7d9ce97a692cacfdb2a25a47" +dependencies = [ + "wasm-bindgen", +] + +[[package]] +name = "jsonrpsee" +version = "0.16.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d291e3a5818a2384645fd9756362e6d89cf0541b0b916fa7702ea4a9833608e" +dependencies = [ + "jsonrpsee-client-transport", + "jsonrpsee-core", + "jsonrpsee-http-client", + "jsonrpsee-types", +] + +[[package]] +name = "jsonrpsee-client-transport" +version = "0.16.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "965de52763f2004bc91ac5bcec504192440f0b568a5d621c59d9dbd6f886c3fb" +dependencies = [ + "futures-util", + "http", + "jsonrpsee-core", + "jsonrpsee-types", + "pin-project", + "rustls-native-certs", + "soketto", + "thiserror", + "tokio", + "tokio-rustls", + "tokio-util", + "tracing", + "webpki-roots", +] + +[[package]] +name = "jsonrpsee-core" +version = "0.16.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4e70b4439a751a5de7dd5ed55eacff78ebf4ffe0fc009cb1ebb11417f5b536b" +dependencies = [ + "anyhow", + "async-lock", + "async-trait", + "beef", + "futures-channel", + "futures-timer", + "futures-util", + "hyper", + "jsonrpsee-types", + "rustc-hash", + "serde", + "serde_json", + "thiserror", + "tokio", + "tracing", +] + +[[package]] +name = "jsonrpsee-http-client" +version = "0.16.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc345b0a43c6bc49b947ebeb936e886a419ee3d894421790c969cc56040542ad" +dependencies = [ + "async-trait", + "hyper", + "hyper-rustls", + "jsonrpsee-core", + "jsonrpsee-types", + "rustc-hash", + "serde", + "serde_json", + "thiserror", + "tokio", + "tracing", +] + +[[package]] +name = "jsonrpsee-types" +version = "0.16.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5bd522fe1ce3702fd94812965d7bb7a3364b1c9aba743944c5a00529aae80f8c" +dependencies = [ + "anyhow", + "beef", + "serde", + "serde_json", + "thiserror", + "tracing", +] + +[[package]] +name = "k256" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19c3a5e0a0b8450278feda242592512e09f61c72e018b8cd5c859482802daf2d" +dependencies = [ + "cfg-if 1.0.0", + "ecdsa", + "elliptic-curve", + "sec1", +] + +[[package]] +name = "keccak" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3afef3b6eff9ce9d8ff9b3601125eec7f0c8cbac7abd14f355d053fa56c98768" +dependencies = [ + "cpufeatures", +] + +[[package]] +name = "kernel32-sys" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d" +dependencies = [ + "winapi 0.2.8", + "winapi-build", +] + +[[package]] +name = "lazy_static" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" + +[[package]] +name = "lazycell" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" + +[[package]] +name = "libc" +version = "0.2.137" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc7fcc620a3bff7cdd7a365be3376c97191aeaccc2a603e600951e452615bf89" + +[[package]] +name = "libm" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "348108ab3fba42ec82ff6e9564fc4ca0247bdccdc68dd8af9764bbc79c3c8ffb" + +[[package]] +name = "libsecp256k1" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95b09eff1b35ed3b33b877ced3a691fc7a481919c7e29c53c906226fcf55e2a1" +dependencies = [ + "arrayref", + "base64", + "digest 0.9.0", + "hmac-drbg", + "libsecp256k1-core", + "libsecp256k1-gen-ecmult", + "libsecp256k1-gen-genmult", + "rand 0.8.5", + "serde", + "sha2 0.9.9", + "typenum", +] + +[[package]] +name = "libsecp256k1-core" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5be9b9bb642d8522a44d533eab56c16c738301965504753b03ad1de3425d5451" +dependencies = [ + "crunchy", + "digest 0.9.0", + "subtle", +] + +[[package]] +name = "libsecp256k1-gen-ecmult" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3038c808c55c87e8a172643a7d87187fc6c4174468159cb3090659d55bcb4809" +dependencies = [ + "libsecp256k1-core", +] + +[[package]] +name = "libsecp256k1-gen-genmult" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3db8d6ba2cec9eacc40e6e8ccc98931840301f1006e95647ceb2dd5c3aa06f7c" +dependencies = [ + "libsecp256k1-core", +] + +[[package]] +name = "link-cplusplus" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9272ab7b96c9046fbc5bc56c06c117cb639fe2d509df0c421cad82d2915cf369" +dependencies = [ + "cc", +] + +[[package]] +name = "lock_api" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df" +dependencies = [ + "autocfg", + "scopeguard", +] + +[[package]] +name = "log" +version = "0.4.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e" +dependencies = [ + "cfg-if 1.0.0", +] + +[[package]] +name = "lru" +version = "0.7.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e999beba7b6e8345721bd280141ed958096a2e4abdf74f67ff4ce49b4b54e47a" +dependencies = [ + "hashbrown", +] + +[[package]] +name = "lru" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6e8aaa3f231bb4bd57b84b2d5dc3ae7f350265df8aa96492e0bc394a1571909" +dependencies = [ + "hashbrown", +] + +[[package]] +name = "matchers" +version = "0.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f099785f7595cc4b4553a174ce30dd7589ef93391ff414dbb67f62392b9e0ce1" +dependencies = [ + "regex-automata", +] + +[[package]] +name = "memchr" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" + +[[package]] +name = "memory-db" +version = "0.30.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34ac11bb793c28fa095b7554466f53b3a60a2cd002afdac01bcf135cbd73a269" +dependencies = [ + "hash-db", + "hashbrown", + "parity-util-mem", +] + +[[package]] +name = "memory_units" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8452105ba047068f40ff7093dd1d9da90898e63dd61736462e9cdda6a90ad3c3" + +[[package]] +name = "merlin" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e261cf0f8b3c42ded9f7d2bb59dea03aa52bc8a1cbc7482f9fc3fd1229d3b42" +dependencies = [ + "byteorder", + "keccak", + "rand_core 0.5.1", + "zeroize", +] + +[[package]] +name = "minimal-lexical" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" + +[[package]] +name = "miniz_oxide" +version = "0.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96590ba8f175222643a85693f33d26e9c8a015f599c216509b1a6894af675d34" +dependencies = [ + "adler", +] + +[[package]] +name = "miniz_oxide" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b275950c28b37e794e8c55d88aeb5e139d0ce23fdbbeda68f8d7174abdf9e8fa" +dependencies = [ + "adler", +] + +[[package]] +name = "mio" +version = "0.6.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4afd66f5b91bf2a3bc13fad0e21caedac168ca4c707504e75585648ae80e4cc4" +dependencies = [ + "cfg-if 0.1.10", + "fuchsia-zircon", + "fuchsia-zircon-sys", + "iovec", + "kernel32-sys", + "libc", + "log", + "miow", + "net2", + "slab", + "winapi 0.2.8", +] + +[[package]] +name = "mio" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5d732bc30207a6423068df043e3d02e0735b155ad7ce1a6f76fe2baa5b158de" +dependencies = [ + "libc", + "log", + "wasi 0.11.0+wasi-snapshot-preview1", + "windows-sys 0.42.0", +] + +[[package]] +name = "mio-extras" +version = "2.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52403fe290012ce777c4626790c8951324a2b9e3316b3143779c72b029742f19" +dependencies = [ + "lazycell", + "log", + "mio 0.6.23", + "slab", +] + +[[package]] +name = "miow" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebd808424166322d4a38da87083bfddd3ac4c131334ed55856112eb06d46944d" +dependencies = [ + "kernel32-sys", + "net2", + "winapi 0.2.8", + "ws2_32-sys", +] + +[[package]] +name = "net2" +version = "0.2.38" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74d0df99cfcd2530b2e694f6e17e7f37b8e26bb23983ac530c0c97408837c631" +dependencies = [ + "cfg-if 0.1.10", + "libc", + "winapi 0.3.9", +] + +[[package]] +name = "nohash-hasher" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2bf50223579dc7cdcfb3bfcacf7069ff68243f8c363f62ffa99cf000a6b9c451" + +[[package]] +name = "nom" +version = "7.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8903e5a29a317527874d0402f867152a3d21c908bb0b933e416c65e301d4c36" +dependencies = [ + "memchr", + "minimal-lexical", +] + +[[package]] +name = "nom-supreme" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f909b25a8371ad5c054abc2c48205d677231e6a2dcbf83704ed57bb147f30e0" +dependencies = [ + "brownstone", + "indent_write", + "joinery", + "memchr", + "nom", +] + +[[package]] +name = "num-bigint" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f93ab6289c7b344a8a9f60f88d80aa20032336fe78da341afc91c8a2341fc75f" +dependencies = [ + "autocfg", + "num-integer", + "num-traits", +] + +[[package]] +name = "num-format" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "54b862ff8df690cf089058c98b183676a7ed0f974cc08b426800093227cbff3b" +dependencies = [ + "arrayvec 0.7.2", + "itoa", +] + +[[package]] +name = "num-integer" +version = "0.1.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9" +dependencies = [ + "autocfg", + "num-traits", +] + +[[package]] +name = "num-rational" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0" +dependencies = [ + "autocfg", + "num-bigint", + "num-integer", + "num-traits", +] + +[[package]] +name = "num-traits" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" +dependencies = [ + "autocfg", +] + +[[package]] +name = "num_cpus" +version = "1.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6058e64324c71e02bc2b150e4f3bc8286db6c83092132ffa3f6b1eab0f9def5" +dependencies = [ + "hermit-abi", + "libc", +] + +[[package]] +name = "object" +version = "0.29.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "21158b2c33aa6d4561f1c0a6ea283ca92bc54802a93b263e910746d679a7eb53" +dependencies = [ + "memchr", +] + +[[package]] +name = "once_cell" +version = "1.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86f0b0d4bf799edbc74508c1e8bf170ff5f41238e5f8225603ca7caaae2b7860" + +[[package]] +name = "opaque-debug" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2839e79665f131bdb5782e51f2c6c9599c133c6098982a54c794358bf432529c" + +[[package]] +name = "opaque-debug" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" + +[[package]] +name = "openssl" +version = "0.10.43" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "020433887e44c27ff16365eaa2d380547a94544ad509aff6eb5b6e3e0b27b376" +dependencies = [ + "bitflags", + "cfg-if 1.0.0", + "foreign-types", + "libc", + "once_cell", + "openssl-macros", + "openssl-sys", +] + +[[package]] +name = "openssl-macros" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b501e44f11665960c7e7fcf062c7d96a14ade4aa98116c004b2e37b5be7d736c" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "openssl-probe" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" + +[[package]] +name = "openssl-sys" +version = "0.9.78" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07d5c8cb6e57b3a3612064d7b18b117912b4ce70955c2504d4b741c9e244b132" +dependencies = [ + "autocfg", + "cc", + "libc", + "pkg-config", + "vcpkg", +] + +[[package]] +name = "os_str_bytes" +version = "6.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee" + +[[package]] +name = "pallet-contracts-primitives" +version = "6.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +dependencies = [ + "bitflags", + "parity-scale-codec", + "sp-runtime 6.0.0", + "sp-std 4.0.0", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32)", +] + +[[package]] +name = "parity-scale-codec" +version = "3.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "366e44391a8af4cfd6002ef6ba072bae071a96aafca98d7d448a34c5dca38b6a" +dependencies = [ + "arrayvec 0.7.2", + "bitvec", + "byte-slice-cast", + "bytes 1.3.0", + "impl-trait-for-tuples", + "parity-scale-codec-derive", + "serde", +] + +[[package]] +name = "parity-scale-codec-derive" +version = "3.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9299338969a3d2f491d65f140b00ddec470858402f888af98e8642fb5e8965cd" +dependencies = [ + "proc-macro-crate", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "parity-util-mem" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d32c34f4f5ca7f9196001c0aba5a1f9a5a12382c8944b8b0f90233282d1e8f8" +dependencies = [ + "cfg-if 1.0.0", + "hashbrown", + "impl-trait-for-tuples", + "parity-util-mem-derive", + "parking_lot", + "primitive-types", + "winapi 0.3.9", +] + +[[package]] +name = "parity-util-mem-derive" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f557c32c6d268a07c921471619c0295f5efad3a0e76d4f97a05c091a51d110b2" +dependencies = [ + "proc-macro2", + "syn", + "synstructure", +] + +[[package]] +name = "parity-wasm" +version = "0.45.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1ad0aff30c1da14b1254fcb2af73e1fa9a28670e584a626f53a369d0e157304" + +[[package]] +name = "parking" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "427c3892f9e783d91cc128285287e70a59e206ca452770ece88a76f7a3eddd72" + +[[package]] +name = "parking_lot" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" +dependencies = [ + "lock_api", + "parking_lot_core", +] + +[[package]] +name = "parking_lot_core" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ff9f3fef3968a3ec5945535ed654cb38ff72d7495a25619e2247fb15a2ed9ba" +dependencies = [ + "cfg-if 1.0.0", + "libc", + "redox_syscall", + "smallvec", + "windows-sys 0.42.0", +] + +[[package]] +name = "paste" +version = "1.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1de2e551fb905ac83f73f7aedf2f0cb4a0da7e35efa24a202a936269f1f18e1" + +[[package]] +name = "pbkdf2" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "216eaa586a190f0a738f2f918511eecfa90f13295abec0e457cdebcceda80cbd" +dependencies = [ + "crypto-mac 0.8.0", +] + +[[package]] +name = "pbkdf2" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d95f5254224e617595d2cc3cc73ff0a5eaf2637519e25f03388154e9378b6ffa" +dependencies = [ + "crypto-mac 0.11.1", +] + +[[package]] +name = "percent-encoding" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e" + +[[package]] +name = "pin-project" +version = "1.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad29a609b6bcd67fee905812e544992d216af9d755757c05ed2d0e15a74c6ecc" +dependencies = [ + "pin-project-internal", +] + +[[package]] +name = "pin-project-internal" +version = "1.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "069bdb1e05adc7a8990dce9cc75370895fbe4e3d58b9b73bf1aee56359344a55" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "pin-project-lite" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116" + +[[package]] +name = "pin-utils" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" + +[[package]] +name = "pkcs8" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7cabda3fb821068a9a4fab19a683eac3af12edf0f34b94a8be53c4972b8149d0" +dependencies = [ + "der", + "spki", + "zeroize", +] + +[[package]] +name = "pkg-config" +version = "0.3.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ac9a59f73473f1b8d852421e59e64809f025994837ef743615c6d0c5b305160" + +[[package]] +name = "ppv-lite86" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" + +[[package]] +name = "primitive-types" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f3486ccba82358b11a77516035647c34ba167dfa53312630de83b12bd4f3d66" +dependencies = [ + "fixed-hash", + "impl-codec", + "impl-serde", + "scale-info", + "uint", +] + +[[package]] +name = "primitives" +version = "0.5.4" +dependencies = [ + "parity-scale-codec", + "scale-info", + "serde", + "sp-api", + "sp-application-crypto 6.0.0", + "sp-core 6.0.0", + "sp-runtime 6.0.0", + "sp-staking", + "sp-std 4.0.0", +] + +[[package]] +name = "proc-macro-crate" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eda0fc3b0fb7c975631757e14d9049da17374063edb6ebbcbc54d880d4fe94e9" +dependencies = [ + "once_cell", + "thiserror", + "toml", +] + +[[package]] +name = "proc-macro-error" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" +dependencies = [ + "proc-macro-error-attr", + "proc-macro2", + "quote", + "syn", + "version_check", +] + +[[package]] +name = "proc-macro-error-attr" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" +dependencies = [ + "proc-macro2", + "quote", + "version_check", +] + +[[package]] +name = "proc-macro2" +version = "1.0.47" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ea3d908b0e36316caf9e9e2c4625cdde190a7e6f440d794667ed17a1855e725" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quote" +version = "1.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbe448f377a7d6961e30f5955f9b8d106c3f5e449d493ee1b125c1d43c2b5179" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "radium" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" + +[[package]] +name = "rand" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03" +dependencies = [ + "getrandom 0.1.16", + "libc", + "rand_chacha 0.2.2", + "rand_core 0.5.1", + "rand_hc", + "rand_pcg", +] + +[[package]] +name = "rand" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" +dependencies = [ + "libc", + "rand_chacha 0.3.1", + "rand_core 0.6.4", +] + +[[package]] +name = "rand_chacha" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402" +dependencies = [ + "ppv-lite86", + "rand_core 0.5.1", +] + +[[package]] +name = "rand_chacha" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +dependencies = [ + "ppv-lite86", + "rand_core 0.6.4", +] + +[[package]] +name = "rand_core" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19" +dependencies = [ + "getrandom 0.1.16", +] + +[[package]] +name = "rand_core" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +dependencies = [ + "getrandom 0.2.8", +] + +[[package]] +name = "rand_hc" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c" +dependencies = [ + "rand_core 0.5.1", +] + +[[package]] +name = "rand_pcg" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "16abd0c1b639e9eb4d7c50c0b8100b0d0f849be2349829c740fe8e6eb4816429" +dependencies = [ + "rand_core 0.5.1", +] + +[[package]] +name = "redox_syscall" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" +dependencies = [ + "bitflags", +] + +[[package]] +name = "ref-cast" +version = "1.0.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53b15debb4f9d60d767cd8ca9ef7abb2452922f3214671ff052defc7f3502c44" +dependencies = [ + "ref-cast-impl", +] + +[[package]] +name = "ref-cast-impl" +version = "1.0.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "abfa8511e9e94fd3de6585a3d3cd00e01ed556dc9814829280af0e8dc72a8f36" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "regex" +version = "1.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e076559ef8e241f2ae3479e36f97bd5741c0330689e217ad51ce2c76808b868a" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" +dependencies = [ + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.6.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848" + +[[package]] +name = "rfc6979" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96ef608575f6392792f9ecf7890c00086591d29a83910939d430753f7c050525" +dependencies = [ + "crypto-bigint", + "hmac 0.11.0", + "zeroize", +] + +[[package]] +name = "ring" +version = "0.16.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc" +dependencies = [ + "cc", + "libc", + "once_cell", + "spin", + "untrusted", + "web-sys", + "winapi 0.3.9", +] + +[[package]] +name = "rlibc" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc874b127765f014d792f16763a81245ab80500e2ad921ed4ee9e82481ee08fe" + +[[package]] +name = "rustc-demangle" +version = "0.1.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ef03e0a2b150c7a90d01faf6254c9c48a41e95fb2a8c2ac1c6f0d2b9aefc342" + +[[package]] +name = "rustc-hash" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" + +[[package]] +name = "rustc-hex" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e75f6a532d0fd9f7f13144f392b6ad56a32696bfcd9c78f797f16bbb6f072d6" + +[[package]] +name = "rustls" +version = "0.20.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "539a2bfe908f471bfa933876bd1eb6a19cf2176d375f82ef7f99530a40e48c2c" +dependencies = [ + "log", + "ring", + "sct", + "webpki", +] + +[[package]] +name = "rustls-native-certs" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0167bac7a9f490495f3c33013e7722b53cb087ecbe082fb0c6387c96f634ea50" +dependencies = [ + "openssl-probe", + "rustls-pemfile", + "schannel", + "security-framework", +] + +[[package]] +name = "rustls-pemfile" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0864aeff53f8c05aa08d86e5ef839d3dfcf07aeba2db32f12db0ef716e87bd55" +dependencies = [ + "base64", +] + +[[package]] +name = "rustversion" +version = "1.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97477e48b4cf8603ad5f7aaf897467cf42ab4218a38ef76fb14c2d6773a6d6a8" + +[[package]] +name = "ryu" +version = "1.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4501abdff3ae82a1c1b477a17252eb69cee9e66eb915c1abaa4f44d873df9f09" + +[[package]] +name = "scale-bits" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8dd7aca73785181cc41f0bbe017263e682b585ca660540ba569133901d013ecf" +dependencies = [ + "parity-scale-codec", + "scale-info", + "serde", +] + +[[package]] +name = "scale-decode" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d823d4be477fc33321f93d08fb6c2698273d044f01362dc27573a750deb7c233" +dependencies = [ + "parity-scale-codec", + "scale-bits", + "scale-info", + "thiserror", +] + +[[package]] +name = "scale-info" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88d8a765117b237ef233705cc2cc4c6a27fccd46eea6ef0c8c6dae5f3ef407f8" +dependencies = [ + "bitvec", + "cfg-if 1.0.0", + "derive_more", + "parity-scale-codec", + "scale-info-derive", + "serde", +] + +[[package]] +name = "scale-info-derive" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cdcd47b380d8c4541044e341dcd9475f55ba37ddc50c908d945fc036a8642496" +dependencies = [ + "proc-macro-crate", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "scale-value" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "16a5e7810815bd295da73e4216d1dfbced3c7c7c7054d70fa5f6e4c58123fff4" +dependencies = [ + "either", + "frame-metadata", + "parity-scale-codec", + "scale-bits", + "scale-decode", + "scale-info", + "serde", + "thiserror", + "yap", +] + +[[package]] +name = "schannel" +version = "0.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88d6731146462ea25d9244b2ed5fd1d716d25c52e4d54aa4fb0f3c4e9854dbe2" +dependencies = [ + "lazy_static", + "windows-sys 0.36.1", +] + +[[package]] +name = "schnorrkel" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "021b403afe70d81eea68f6ea12f6b3c9588e5d536a94c3bf80f15e7faa267862" +dependencies = [ + "arrayref", + "arrayvec 0.5.2", + "curve25519-dalek 2.1.3", + "getrandom 0.1.16", + "merlin", + "rand 0.7.3", + "rand_core 0.5.1", + "sha2 0.8.2", + "subtle", + "zeroize", +] + +[[package]] +name = "scopeguard" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" + +[[package]] +name = "scratch" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c8132065adcfd6e02db789d9285a0deb2f3fcb04002865ab67d5fb103533898" + +[[package]] +name = "sct" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4" +dependencies = [ + "ring", + "untrusted", +] + +[[package]] +name = "sec1" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08da66b8b0965a5555b6bd6639e68ccba85e1e2506f5fbb089e93f8a04e1a2d1" +dependencies = [ + "der", + "generic-array 0.14.6", + "pkcs8", + "subtle", + "zeroize", +] + +[[package]] +name = "secp256k1" +version = "0.24.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff55dc09d460954e9ef2fa8a7ced735a964be9981fd50e870b2b3b0705e14964" +dependencies = [ + "secp256k1-sys", +] + +[[package]] +name = "secp256k1-sys" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "83080e2c2fc1006e625be82e5d1eb6a43b7fd9578b617fcc55814daf286bba4b" +dependencies = [ + "cc", +] + +[[package]] +name = "secrecy" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9bd1c54ea06cfd2f6b63219704de0b9b4f72dcc2b8fdef820be6cd799780e91e" +dependencies = [ + "zeroize", +] + +[[package]] +name = "security-framework" +version = "2.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2bc1bb97804af6631813c55739f771071e0f2ed33ee20b68c86ec505d906356c" +dependencies = [ + "bitflags", + "core-foundation", + "core-foundation-sys", + "libc", + "security-framework-sys", +] + +[[package]] +name = "security-framework-sys" +version = "2.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0160a13a177a45bfb43ce71c01580998474f556ad854dcbca936dd2841a5c556" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "semver" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e25dfac463d778e353db5be2449d1cce89bd6fd23c9f1ea21310ce6e5a1b29c4" +dependencies = [ + "serde", +] + +[[package]] +name = "serde" +version = "1.0.148" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e53f64bb4ba0191d6d0676e1b141ca55047d83b74f5607e6d8eb88126c52c2dc" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.148" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a55492425aa53521babf6137309e7d34c20bbfbbfcfe2c7f3a047fd1f6b92c0c" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "serde_json" +version = "1.0.89" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "020ff22c755c2ed3f8cf162dbb41a7268d934702f3ed3631656ea597e08fc3db" +dependencies = [ + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "sha-1" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7d94d0bede923b3cea61f3f1ff57ff8cdfd77b400fb8f9998949e0cf04163df" +dependencies = [ + "block-buffer 0.7.3", + "digest 0.8.1", + "fake-simd", + "opaque-debug 0.2.3", +] + +[[package]] +name = "sha-1" +version = "0.9.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "99cd6713db3cf16b6c84e06321e049a9b9f699826e16096d23bbcc44d15d51a6" +dependencies = [ + "block-buffer 0.9.0", + "cfg-if 1.0.0", + "cpufeatures", + "digest 0.9.0", + "opaque-debug 0.3.0", +] + +[[package]] +name = "sha2" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a256f46ea78a0c0d9ff00077504903ac881a1dafdc20da66545699e7776b3e69" +dependencies = [ + "block-buffer 0.7.3", + "digest 0.8.1", + "fake-simd", + "opaque-debug 0.2.3", +] + +[[package]] +name = "sha2" +version = "0.9.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4d58a1e1bf39749807d89cf2d98ac2dfa0ff1cb3faa38fbb64dd88ac8013d800" +dependencies = [ + "block-buffer 0.9.0", + "cfg-if 1.0.0", + "cpufeatures", + "digest 0.9.0", + "opaque-debug 0.3.0", +] + +[[package]] +name = "sha2" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "82e6b795fe2e3b1e845bafcb27aa35405c4d47cdfc92af5fc8d3002f76cebdc0" +dependencies = [ + "cfg-if 1.0.0", + "cpufeatures", + "digest 0.10.6", +] + +[[package]] +name = "sha3" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bdf0c33fae925bdc080598b84bc15c55e7b9a4a43b3c704da051f977469691c9" +dependencies = [ + "digest 0.10.6", + "keccak", +] + +[[package]] +name = "sharded-slab" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "900fba806f70c630b0a382d0d825e17a0f19fcd059a2ade1ff237bcddf446b31" +dependencies = [ + "lazy_static", +] + +[[package]] +name = "signal-hook-registry" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e51e73328dc4ac0c7ccbda3a494dfa03df1de2f46018127f60c693f2648455b0" +dependencies = [ + "libc", +] + +[[package]] +name = "signature" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "02658e48d89f2bec991f9a78e69cfa4c316f8d6a6c4ec12fae1aeb263d486788" +dependencies = [ + "digest 0.9.0", + "rand_core 0.6.4", +] + +[[package]] +name = "slab" +version = "0.4.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4614a76b2a8be0058caa9dbbaf66d988527d86d003c11a94fbd335d7661edcef" +dependencies = [ + "autocfg", +] + +[[package]] +name = "smallvec" +version = "1.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" + +[[package]] +name = "socket2" +version = "0.4.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "02e2d2db9033d13a1567121ddd7a095ee144db4e1ca1b1bda3419bc0da294ebd" +dependencies = [ + "libc", + "winapi 0.3.9", +] + +[[package]] +name = "soketto" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41d1c5305e39e09653383c2c7244f2f78b3bcae37cf50c64cb4789c9f5096ec2" +dependencies = [ + "base64", + "bytes 1.3.0", + "futures", + "httparse", + "log", + "rand 0.8.5", + "sha-1 0.9.8", +] + +[[package]] +name = "sp-api" +version = "4.0.0-dev" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +dependencies = [ + "hash-db", + "log", + "parity-scale-codec", + "sp-api-proc-macro", + "sp-core 6.0.0", + "sp-runtime 6.0.0", + "sp-state-machine 0.12.0", + "sp-std 4.0.0", + "sp-trie 6.0.0", + "sp-version", + "thiserror", +] + +[[package]] +name = "sp-api-proc-macro" +version = "4.0.0-dev" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +dependencies = [ + "blake2", + "proc-macro-crate", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "sp-application-crypto" +version = "6.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +dependencies = [ + "parity-scale-codec", + "scale-info", + "serde", + "sp-core 6.0.0", + "sp-io 6.0.0", + "sp-std 4.0.0", +] + +[[package]] +name = "sp-application-crypto" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30a70f8245ad75c773c43e46d16e81adb62290d37cd07efcde6cef06d93235e5" +dependencies = [ + "parity-scale-codec", + "scale-info", + "serde", + "sp-core 7.0.0", + "sp-io 7.0.0", + "sp-std 5.0.0", +] + +[[package]] +name = "sp-arithmetic" +version = "5.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +dependencies = [ + "integer-sqrt", + "num-traits", + "parity-scale-codec", + "scale-info", + "serde", + "sp-debug-derive 4.0.0", + "sp-std 4.0.0", + "static_assertions", +] + +[[package]] +name = "sp-arithmetic" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3856b3e912f0a7a1332f1642b5fd3c2e76476e894c656538d32c004698690157" +dependencies = [ + "integer-sqrt", + "num-traits", + "parity-scale-codec", + "scale-info", + "serde", + "sp-debug-derive 5.0.0", + "sp-std 5.0.0", + "static_assertions", +] + +[[package]] +name = "sp-core" +version = "6.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +dependencies = [ + "array-bytes", + "base58", + "bitflags", + "blake2", + "byteorder", + "dyn-clonable", + "ed25519-zebra", + "futures", + "hash-db", + "hash256-std-hasher", + "impl-serde", + "lazy_static", + "libsecp256k1", + "log", + "merlin", + "num-traits", + "parity-scale-codec", + "parity-util-mem", + "parking_lot", + "primitive-types", + "rand 0.7.3", + "regex", + "scale-info", + "schnorrkel", + "secp256k1", + "secrecy", + "serde", + "sp-core-hashing 4.0.0", + "sp-debug-derive 4.0.0", + "sp-externalities 0.12.0", + "sp-runtime-interface 6.0.0", + "sp-std 4.0.0", + "sp-storage 6.0.0", + "ss58-registry", + "substrate-bip39", + "thiserror", + "tiny-bip39", + "wasmi", + "zeroize", +] + +[[package]] +name = "sp-core" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88c78530907dbf7949af928d0ce88b485067389201b6d9b468074b1924f209f0" +dependencies = [ + "array-bytes", + "base58", + "bitflags", + "blake2", + "byteorder", + "dyn-clonable", + "ed25519-zebra", + "futures", + "hash-db", + "hash256-std-hasher", + "impl-serde", + "lazy_static", + "libsecp256k1", + "log", + "merlin", + "num-traits", + "parity-scale-codec", + "parking_lot", + "primitive-types", + "rand 0.7.3", + "regex", + "scale-info", + "schnorrkel", + "secp256k1", + "secrecy", + "serde", + "sp-core-hashing 5.0.0", + "sp-debug-derive 5.0.0", + "sp-externalities 0.13.0", + "sp-runtime-interface 7.0.0", + "sp-std 5.0.0", + "sp-storage 7.0.0", + "ss58-registry", + "substrate-bip39", + "thiserror", + "tiny-bip39", + "wasmi", + "zeroize", +] + +[[package]] +name = "sp-core-hashing" +version = "4.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +dependencies = [ + "blake2", + "byteorder", + "digest 0.10.6", + "sha2 0.10.6", + "sha3", + "sp-std 4.0.0", + "twox-hash", +] + +[[package]] +name = "sp-core-hashing" +version = "5.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49b9d1daa6aebfc144729b630885e91df92ff00560490ec065a56cb538e8895a" +dependencies = [ + "blake2", + "byteorder", + "digest 0.10.6", + "sha2 0.10.6", + "sha3", + "sp-std 5.0.0", + "twox-hash", +] + +[[package]] +name = "sp-core-hashing-proc-macro" +version = "5.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +dependencies = [ + "proc-macro2", + "quote", + "sp-core-hashing 4.0.0", + "syn", +] + +[[package]] +name = "sp-debug-derive" +version = "4.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "sp-debug-derive" +version = "5.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9e9ba7352773b96a4aa57e903447f841c6bc26e8c798377db6e7eb332346454" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "sp-externalities" +version = "0.12.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +dependencies = [ + "environmental", + "parity-scale-codec", + "sp-std 4.0.0", + "sp-storage 6.0.0", +] + +[[package]] +name = "sp-externalities" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef739442230f49d88ece41259e5d886d6b8bc0f4197ef7f1585c39c762ce7ef2" +dependencies = [ + "environmental", + "parity-scale-codec", + "sp-std 5.0.0", + "sp-storage 7.0.0", +] + +[[package]] +name = "sp-inherents" +version = "4.0.0-dev" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +dependencies = [ + "async-trait", + "impl-trait-for-tuples", + "parity-scale-codec", + "sp-core 6.0.0", + "sp-runtime 6.0.0", + "sp-std 4.0.0", + "thiserror", +] + +[[package]] +name = "sp-io" +version = "6.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +dependencies = [ + "bytes 1.3.0", + "futures", + "hash-db", + "libsecp256k1", + "log", + "parity-scale-codec", + "parking_lot", + "secp256k1", + "sp-core 6.0.0", + "sp-externalities 0.12.0", + "sp-keystore 0.12.0", + "sp-runtime-interface 6.0.0", + "sp-state-machine 0.12.0", + "sp-std 4.0.0", + "sp-tracing 5.0.0", + "sp-trie 6.0.0", + "sp-wasm-interface 6.0.0", + "tracing", + "tracing-core", +] + +[[package]] +name = "sp-io" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6280bd3643354f7ff0b2abd36c687745455779231a7a86d90945608f0d4924c4" +dependencies = [ + "bytes 1.3.0", + "futures", + "hash-db", + "libsecp256k1", + "log", + "parity-scale-codec", + "parking_lot", + "secp256k1", + "sp-core 7.0.0", + "sp-externalities 0.13.0", + "sp-keystore 0.13.0", + "sp-runtime-interface 7.0.0", + "sp-state-machine 0.13.0", + "sp-std 5.0.0", + "sp-tracing 6.0.0", + "sp-trie 7.0.0", + "sp-wasm-interface 7.0.0", + "tracing", + "tracing-core", +] + +[[package]] +name = "sp-keystore" +version = "0.12.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +dependencies = [ + "async-trait", + "futures", + "merlin", + "parity-scale-codec", + "parking_lot", + "schnorrkel", + "sp-core 6.0.0", + "sp-externalities 0.12.0", + "thiserror", +] + +[[package]] +name = "sp-keystore" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a44bec4f0d036b6993c14bbee4216781f21275e5c201e43e45fed4a434bf0e5a" +dependencies = [ + "async-trait", + "futures", + "merlin", + "parity-scale-codec", + "parking_lot", + "schnorrkel", + "sp-core 7.0.0", + "sp-externalities 0.13.0", + "thiserror", +] + +[[package]] +name = "sp-panic-handler" +version = "4.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +dependencies = [ + "backtrace", + "lazy_static", + "regex", +] + +[[package]] +name = "sp-panic-handler" +version = "5.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97549ec99cb289db2a9f5c656b6880f7c90097135e1ca6c6ae4fe5694232e526" +dependencies = [ + "backtrace", + "lazy_static", + "regex", +] + +[[package]] +name = "sp-runtime" +version = "6.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +dependencies = [ + "either", + "hash256-std-hasher", + "impl-trait-for-tuples", + "log", + "parity-scale-codec", + "parity-util-mem", + "paste", + "rand 0.7.3", + "scale-info", + "serde", + "sp-application-crypto 6.0.0", + "sp-arithmetic 5.0.0", + "sp-core 6.0.0", + "sp-io 6.0.0", + "sp-std 4.0.0", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32)", +] + +[[package]] +name = "sp-runtime" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0edfc5c54c2b31d2f0cf904d472a0bff7125c0c2a2e2330507842e56f9a27444" +dependencies = [ + "either", + "hash256-std-hasher", + "impl-trait-for-tuples", + "log", + "parity-scale-codec", + "parity-util-mem", + "paste", + "rand 0.7.3", + "scale-info", + "serde", + "sp-application-crypto 7.0.0", + "sp-arithmetic 6.0.0", + "sp-core 7.0.0", + "sp-io 7.0.0", + "sp-std 5.0.0", + "sp-weights 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "sp-runtime-interface" +version = "6.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +dependencies = [ + "bytes 1.3.0", + "impl-trait-for-tuples", + "parity-scale-codec", + "primitive-types", + "sp-externalities 0.12.0", + "sp-runtime-interface-proc-macro 5.0.0", + "sp-std 4.0.0", + "sp-storage 6.0.0", + "sp-tracing 5.0.0", + "sp-wasm-interface 6.0.0", + "static_assertions", +] + +[[package]] +name = "sp-runtime-interface" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b886a5d34400b0e0c12d389e3bb48b7a93d651cddf7e248124b81fe64c339251" +dependencies = [ + "bytes 1.3.0", + "impl-trait-for-tuples", + "parity-scale-codec", + "primitive-types", + "sp-externalities 0.13.0", + "sp-runtime-interface-proc-macro 6.0.0", + "sp-std 5.0.0", + "sp-storage 7.0.0", + "sp-tracing 6.0.0", + "sp-wasm-interface 7.0.0", + "static_assertions", +] + +[[package]] +name = "sp-runtime-interface-proc-macro" +version = "5.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +dependencies = [ + "Inflector", + "proc-macro-crate", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "sp-runtime-interface-proc-macro" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a157f1ce0108b9b87f87e826726049d9b6253318b74410c814be7fc2af416b51" +dependencies = [ + "Inflector", + "proc-macro-crate", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "sp-staking" +version = "4.0.0-dev" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +dependencies = [ + "parity-scale-codec", + "scale-info", + "sp-runtime 6.0.0", + "sp-std 4.0.0", +] + +[[package]] +name = "sp-state-machine" +version = "0.12.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +dependencies = [ + "hash-db", + "log", + "num-traits", + "parity-scale-codec", + "parking_lot", + "rand 0.7.3", + "smallvec", + "sp-core 6.0.0", + "sp-externalities 0.12.0", + "sp-panic-handler 4.0.0", + "sp-std 4.0.0", + "sp-trie 6.0.0", + "thiserror", + "tracing", + "trie-root", +] + +[[package]] +name = "sp-state-machine" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5c2d97ad69011d34ca257f0383532b80096d53f889f5894ae2b24a211bec66f" +dependencies = [ + "hash-db", + "log", + "num-traits", + "parity-scale-codec", + "parking_lot", + "rand 0.7.3", + "smallvec", + "sp-core 7.0.0", + "sp-externalities 0.13.0", + "sp-panic-handler 5.0.0", + "sp-std 5.0.0", + "sp-trie 7.0.0", + "thiserror", + "tracing", + "trie-root", +] + +[[package]] +name = "sp-std" +version = "4.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" + +[[package]] +name = "sp-std" +version = "5.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf3fd4c1d304be101e6ebbafd3d4be9a37b320c970ef4e8df188b16873981c93" + +[[package]] +name = "sp-storage" +version = "6.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +dependencies = [ + "impl-serde", + "parity-scale-codec", + "ref-cast", + "serde", + "sp-debug-derive 4.0.0", + "sp-std 4.0.0", +] + +[[package]] +name = "sp-storage" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eb987ed2e4d7d870170a225083ea962f2a359d75cdf76935d5ed8d91bee912d9" +dependencies = [ + "impl-serde", + "parity-scale-codec", + "ref-cast", + "serde", + "sp-debug-derive 5.0.0", + "sp-std 5.0.0", +] + +[[package]] +name = "sp-tracing" +version = "5.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +dependencies = [ + "parity-scale-codec", + "sp-std 4.0.0", + "tracing", + "tracing-core", + "tracing-subscriber", +] + +[[package]] +name = "sp-tracing" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e761df87dc940d87720939de8f976d1fc0657e523886ae0d7bf3f7e2e2f0abb6" +dependencies = [ + "parity-scale-codec", + "sp-std 5.0.0", + "tracing", + "tracing-core", + "tracing-subscriber", +] + +[[package]] +name = "sp-trie" +version = "6.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +dependencies = [ + "ahash", + "hash-db", + "hashbrown", + "lazy_static", + "lru 0.7.8", + "memory-db", + "nohash-hasher", + "parity-scale-codec", + "parking_lot", + "scale-info", + "sp-core 6.0.0", + "sp-std 4.0.0", + "thiserror", + "tracing", + "trie-db", + "trie-root", +] + +[[package]] +name = "sp-trie" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f4f48c887e90050537e399d2d8b6ee82787ebec0fe46e4880b42cab0c2d5ba6" +dependencies = [ + "ahash", + "hash-db", + "hashbrown", + "lazy_static", + "lru 0.8.1", + "memory-db", + "nohash-hasher", + "parity-scale-codec", + "parking_lot", + "scale-info", + "sp-core 7.0.0", + "sp-std 5.0.0", + "thiserror", + "tracing", + "trie-db", + "trie-root", +] + +[[package]] +name = "sp-version" +version = "5.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +dependencies = [ + "impl-serde", + "parity-scale-codec", + "parity-wasm", + "scale-info", + "serde", + "sp-core-hashing-proc-macro", + "sp-runtime 6.0.0", + "sp-std 4.0.0", + "sp-version-proc-macro", + "thiserror", +] + +[[package]] +name = "sp-version-proc-macro" +version = "4.0.0-dev" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +dependencies = [ + "parity-scale-codec", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "sp-wasm-interface" +version = "6.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +dependencies = [ + "impl-trait-for-tuples", + "log", + "parity-scale-codec", + "sp-std 4.0.0", + "wasmi", +] + +[[package]] +name = "sp-wasm-interface" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4f43c40afab6ecac20505907631c929957ed636b7af8795984649bbaa6ff38c3" +dependencies = [ + "impl-trait-for-tuples", + "log", + "parity-scale-codec", + "sp-std 5.0.0", + "wasmi", +] + +[[package]] +name = "sp-weights" +version = "4.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c671673133b30e6ab6d88139b06adcdaec5aa06548abe0e155a0c830b592793b" +dependencies = [ + "impl-trait-for-tuples", + "parity-scale-codec", + "scale-info", + "serde", + "smallvec", + "sp-arithmetic 6.0.0", + "sp-core 7.0.0", + "sp-debug-derive 5.0.0", + "sp-std 5.0.0", +] + +[[package]] +name = "sp-weights" +version = "4.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +dependencies = [ + "impl-trait-for-tuples", + "parity-scale-codec", + "scale-info", + "serde", + "smallvec", + "sp-arithmetic 5.0.0", + "sp-core 6.0.0", + "sp-debug-derive 4.0.0", + "sp-std 4.0.0", +] + +[[package]] +name = "spin" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" + +[[package]] +name = "spki" +version = "0.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44d01ac02a6ccf3e07db148d2be087da624fea0221a16152ed01f0496a6b0a27" +dependencies = [ + "base64ct", + "der", +] + +[[package]] +name = "ss58-registry" +version = "1.35.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa0813c10b9dbdc842c2305f949f724c64866e4ef4d09c9151e96f6a2106773c" +dependencies = [ + "Inflector", + "num-format", + "proc-macro2", + "quote", + "serde", + "serde_json", + "unicode-xid", +] + +[[package]] +name = "static_assertions" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" + +[[package]] +name = "strsim" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" + +[[package]] +name = "substrate-bip39" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49eee6965196b32f882dd2ee85a92b1dbead41b04e53907f269de3b0dc04733c" +dependencies = [ + "hmac 0.11.0", + "pbkdf2 0.8.0", + "schnorrkel", + "sha2 0.9.9", + "zeroize", +] + +[[package]] +name = "subtle" +version = "2.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" + +[[package]] +name = "subxt" +version = "0.25.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3cbc78fd36035a24883eada29e0205b9b1416172530a7d00a60c07d0337db0c" +dependencies = [ + "bitvec", + "derivative", + "frame-metadata", + "futures", + "getrandom 0.2.8", + "hex", + "jsonrpsee", + "parity-scale-codec", + "parking_lot", + "scale-decode", + "scale-info", + "scale-value", + "serde", + "serde_json", + "sp-core 7.0.0", + "sp-runtime 7.0.0", + "subxt-macro", + "subxt-metadata", + "thiserror", + "tracing", +] + +[[package]] +name = "subxt-codegen" +version = "0.25.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7722c31febf55eb300c73d977da5d65cfd6fb443419b1185b9abcdd9925fd7be" +dependencies = [ + "darling", + "frame-metadata", + "heck", + "hex", + "jsonrpsee", + "parity-scale-codec", + "proc-macro-error", + "proc-macro2", + "quote", + "scale-info", + "subxt-metadata", + "syn", + "tokio", +] + +[[package]] +name = "subxt-macro" +version = "0.25.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f64826f2c4ba20e3b2a86ec81a6ae8655ca6b6a4c2a6ccc888b6615efc2df14" +dependencies = [ + "darling", + "proc-macro-error", + "subxt-codegen", + "syn", +] + +[[package]] +name = "subxt-metadata" +version = "0.25.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "869af75e23513538ad0af046af4a97b8d684e8d202e35ff4127ee061c1110813" +dependencies = [ + "frame-metadata", + "parity-scale-codec", + "scale-info", + "sp-core 7.0.0", +] + +[[package]] +name = "syn" +version = "1.0.105" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60b9b43d45702de4c839cb9b51d9f529c5dd26a4aff255b42b1ebc03e88ee908" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "synstructure" +version = "0.12.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f" +dependencies = [ + "proc-macro2", + "quote", + "syn", + "unicode-xid", +] + +[[package]] +name = "tap" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" + +[[package]] +name = "termcolor" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "textwrap" +version = "0.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d" + +[[package]] +name = "thiserror" +version = "1.0.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "10deb33631e3c9018b9baf9dcbbc4f737320d2b576bac10f6aefa048fa407e3e" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "982d17546b47146b28f7c22e3d08465f6b8903d0ea13c1660d9d84a6e7adcdbb" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "thread_local" +version = "1.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5516c27b78311c50bf42c071425c560ac799b11c30b31f87e3081965fe5e0180" +dependencies = [ + "once_cell", +] + +[[package]] +name = "time" +version = "0.1.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b797afad3f312d1c66a56d11d0316f916356d11bd158fbc6ca6389ff6bf805a" +dependencies = [ + "libc", + "wasi 0.10.0+wasi-snapshot-preview1", + "winapi 0.3.9", +] + +[[package]] +name = "tiny-bip39" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffc59cb9dfc85bb312c3a78fd6aa8a8582e310b0fa885d5bb877f6dcc601839d" +dependencies = [ + "anyhow", + "hmac 0.8.1", + "once_cell", + "pbkdf2 0.4.0", + "rand 0.7.3", + "rustc-hash", + "sha2 0.9.9", + "thiserror", + "unicode-normalization", + "wasm-bindgen", + "zeroize", +] + +[[package]] +name = "tinyvec" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" +dependencies = [ + "tinyvec_macros", +] + +[[package]] +name = "tinyvec_macros" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" + +[[package]] +name = "tokio" +version = "1.22.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d76ce4a75fb488c605c54bf610f221cea8b0dafb53333c1a67e8ee199dcd2ae3" +dependencies = [ + "autocfg", + "bytes 1.3.0", + "libc", + "memchr", + "mio 0.8.5", + "num_cpus", + "parking_lot", + "pin-project-lite", + "signal-hook-registry", + "socket2", + "tokio-macros", + "winapi 0.3.9", +] + +[[package]] +name = "tokio-macros" +version = "1.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d266c00fde287f55d3f1c3e96c500c362a2b8c695076ec180f27918820bc6df8" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "tokio-rustls" +version = "0.23.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c43ee83903113e03984cb9e5cebe6c04a5116269e900e3ddba8f068a62adda59" +dependencies = [ + "rustls", + "tokio", + "webpki", +] + +[[package]] +name = "tokio-util" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bb2e075f03b3d66d8d8785356224ba688d2906a371015e225beeb65ca92c740" +dependencies = [ + "bytes 1.3.0", + "futures-core", + "futures-io", + "futures-sink", + "pin-project-lite", + "tokio", + "tracing", +] + +[[package]] +name = "toml" +version = "0.5.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8d82e1a7758622a465f8cee077614c73484dac5b836c02ff6a40d5d1010324d7" +dependencies = [ + "serde", +] + +[[package]] +name = "tower-service" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" + +[[package]] +name = "tracing" +version = "0.1.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8" +dependencies = [ + "cfg-if 1.0.0", + "pin-project-lite", + "tracing-attributes", + "tracing-core", +] + +[[package]] +name = "tracing-attributes" +version = "0.1.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4017f8f45139870ca7e672686113917c71c7a6e02d4924eda67186083c03081a" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "tracing-core" +version = "0.1.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24eb03ba0eab1fd845050058ce5e616558e8f8d8fca633e6b163fe25c797213a" +dependencies = [ + "once_cell", + "valuable", +] + +[[package]] +name = "tracing-log" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78ddad33d2d10b1ed7eb9d1f518a5674713876e97e5bb9b7345a7984fbb4f922" +dependencies = [ + "lazy_static", + "log", + "tracing-core", +] + +[[package]] +name = "tracing-serde" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc6b213177105856957181934e4920de57730fc69bf42c37ee5bb664d406d9e1" +dependencies = [ + "serde", + "tracing-core", +] + +[[package]] +name = "tracing-subscriber" +version = "0.2.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e0d2eaa99c3c2e41547cfa109e910a68ea03823cccad4a0525dcbc9b01e8c71" +dependencies = [ + "ansi_term", + "chrono", + "lazy_static", + "matchers", + "regex", + "serde", + "serde_json", + "sharded-slab", + "smallvec", + "thread_local", + "tracing", + "tracing-core", + "tracing-log", + "tracing-serde", +] + +[[package]] +name = "trie-db" +version = "0.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "004e1e8f92535694b4cb1444dc5a8073ecf0815e3357f729638b9f8fc4062908" +dependencies = [ + "hash-db", + "hashbrown", + "log", + "rustc-hex", + "smallvec", +] + +[[package]] +name = "trie-root" +version = "0.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a36c5ca3911ed3c9a5416ee6c679042064b93fc637ded67e25f92e68d783891" +dependencies = [ + "hash-db", +] + +[[package]] +name = "try-lock" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642" + +[[package]] +name = "tt-call" +version = "1.0.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e66dcbec4290c69dd03c57e76c2469ea5c7ce109c6dd4351c13055cf71ea055" + +[[package]] +name = "twox-hash" +version = "1.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675" +dependencies = [ + "cfg-if 1.0.0", + "digest 0.10.6", + "rand 0.8.5", + "static_assertions", +] + +[[package]] +name = "typenum" +version = "1.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987" + +[[package]] +name = "uint" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76f64bba2c53b04fcab63c01a7d7427eadc821e3bc48c34dc9ba29c501164b52" +dependencies = [ + "byteorder", + "crunchy", + "hex", + "static_assertions", +] + +[[package]] +name = "unicode-bidi" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "099b7128301d285f79ddd55b9a83d5e6b9e97c92e0ea0daebee7263e932de992" + +[[package]] +name = "unicode-ident" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ceab39d59e4c9499d4e5a8ee0e2735b891bb7308ac83dfb4e80cad195c9f6f3" + +[[package]] +name = "unicode-normalization" +version = "0.1.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" +dependencies = [ + "tinyvec", +] + +[[package]] +name = "unicode-width" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b" + +[[package]] +name = "unicode-xid" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" + +[[package]] +name = "untrusted" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" + +[[package]] +name = "url" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643" +dependencies = [ + "form_urlencoded", + "idna", + "percent-encoding", + "serde", +] + +[[package]] +name = "valuable" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" + +[[package]] +name = "vcpkg" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" + +[[package]] +name = "version_check" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" + +[[package]] +name = "waker-fn" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d5b2c62b4012a3e1eca5a7e077d13b3bf498c4073e33ccd58626607748ceeca" + +[[package]] +name = "want" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0" +dependencies = [ + "log", + "try-lock", +] + +[[package]] +name = "wasi" +version = "0.9.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" + +[[package]] +name = "wasi" +version = "0.10.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f" + +[[package]] +name = "wasi" +version = "0.11.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" + +[[package]] +name = "wasm-bindgen" +version = "0.2.83" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eaf9f5aceeec8be17c128b2e93e031fb8a4d469bb9c4ae2d7dc1888b26887268" +dependencies = [ + "cfg-if 1.0.0", + "wasm-bindgen-macro", +] + +[[package]] +name = "wasm-bindgen-backend" +version = "0.2.83" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c8ffb332579b0557b52d268b91feab8df3615f265d5270fec2a8c95b17c1142" +dependencies = [ + "bumpalo", + "log", + "once_cell", + "proc-macro2", + "quote", + "syn", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.83" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "052be0f94026e6cbc75cdefc9bae13fd6052cdcaf532fa6c45e7ae33a1e6c810" +dependencies = [ + "quote", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.83" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07bc0c051dc5f23e307b13285f9d75df86bfdf816c5721e573dec1f9b8aa193c" +dependencies = [ + "proc-macro2", + "quote", + "syn", + "wasm-bindgen-backend", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.83" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c38c045535d93ec4f0b4defec448e4291638ee608530863b1e2ba115d4fff7f" + +[[package]] +name = "wasmi" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06c326c93fbf86419608361a2c925a31754cf109da1b8b55737070b4d6669422" +dependencies = [ + "parity-wasm", + "wasmi-validation", + "wasmi_core", +] + +[[package]] +name = "wasmi-validation" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91ff416ad1ff0c42e5a926ed5d5fab74c0f098749aa0ad8b2a34b982ce0e867b" +dependencies = [ + "parity-wasm", +] + +[[package]] +name = "wasmi_core" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57d20cb3c59b788653d99541c646c561c9dd26506f25c0cebfe810659c54c6d7" +dependencies = [ + "downcast-rs", + "libm", + "memory_units", + "num-rational", + "num-traits", +] + +[[package]] +name = "web-sys" +version = "0.3.60" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bcda906d8be16e728fd5adc5b729afad4e444e106ab28cd1c7256e54fa61510f" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "webpki" +version = "0.22.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f095d78192e208183081cc07bc5515ef55216397af48b873e5edcd72637fa1bd" +dependencies = [ + "ring", + "untrusted", +] + +[[package]] +name = "webpki-roots" +version = "0.22.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "368bfe657969fb01238bb756d351dcade285e0f6fcbd36dcb23359a5169975be" +dependencies = [ + "webpki", +] + +[[package]] +name = "winapi" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a" + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-build" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc" + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" +dependencies = [ + "winapi 0.3.9", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows-sys" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea04155a16a59f9eab786fe12a4a450e75cdb175f9e0d80da1e17db09f55b8d2" +dependencies = [ + "windows_aarch64_msvc 0.36.1", + "windows_i686_gnu 0.36.1", + "windows_i686_msvc 0.36.1", + "windows_x86_64_gnu 0.36.1", + "windows_x86_64_msvc 0.36.1", +] + +[[package]] +name = "windows-sys" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" +dependencies = [ + "windows_aarch64_gnullvm", + "windows_aarch64_msvc 0.42.0", + "windows_i686_gnu 0.42.0", + "windows_i686_msvc 0.42.0", + "windows_x86_64_gnu 0.42.0", + "windows_x86_64_gnullvm", + "windows_x86_64_msvc 0.42.0", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41d2aa71f6f0cbe00ae5167d90ef3cfe66527d6f613ca78ac8024c3ccab9a19e" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd0f252f5a35cac83d6311b2e795981f5ee6e67eb1f9a7f64eb4500fbc4dcdb4" + +[[package]] +name = "windows_i686_gnu" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6" + +[[package]] +name = "windows_i686_gnu" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbeae19f6716841636c28d695375df17562ca208b2b7d0dc47635a50ae6c5de7" + +[[package]] +name = "windows_i686_msvc" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024" + +[[package]] +name = "windows_i686_msvc" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "84c12f65daa39dd2babe6e442988fc329d6243fdce47d7d2d155b8d874862246" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf7b1b21b5362cbc318f686150e5bcea75ecedc74dd157d874d754a2ca44b0ed" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09d525d2ba30eeb3297665bd434a54297e4170c7f1a44cad4ef58095b4cd2028" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f40009d85759725a34da6d89a94e63d7bdc50a862acf0dbc7c8e488f1edcb6f5" + +[[package]] +name = "ws" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "25fe90c75f236a0a00247d5900226aea4f2d7b05ccc34da9e7a8880ff59b5848" +dependencies = [ + "byteorder", + "bytes 0.4.12", + "httparse", + "log", + "mio 0.6.23", + "mio-extras", + "openssl", + "rand 0.7.3", + "sha-1 0.8.2", + "slab", + "url", +] + +[[package]] +name = "ws2_32-sys" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e" +dependencies = [ + "winapi 0.2.8", + "winapi-build", +] + +[[package]] +name = "wyz" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed" +dependencies = [ + "tap", +] + +[[package]] +name = "xxhash-rust" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "735a71d46c4d68d71d4b24d03fdc2b98e38cea81730595801db779c04fe80d70" + +[[package]] +name = "yap" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5fc77f52dc9e9b10d55d3f4462c3b7fc393c4f17975d641542833ab2d3bc26ef" + +[[package]] +name = "zeroize" +version = "1.5.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c394b5bd0c6f669e7275d9c20aa90ae064cb22e75a1cad54e1b34088034b149f" +dependencies = [ + "zeroize_derive", +] + +[[package]] +name = "zeroize_derive" +version = "1.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44bf07cb3e50ea2003396695d58bf46bc9887a1f362260446fad6bc4e79bd36c" +dependencies = [ + "proc-macro2", + "quote", + "syn", + "synstructure", +] + +[[package]] +name = "zip" +version = "0.5.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93ab48844d61251bb3835145c521d88aa4031d7139e8485990f60ca911fa0815" +dependencies = [ + "byteorder", + "bzip2", + "crc32fast", + "flate2", + "thiserror", + "time", +] diff --git a/flooder/Cargo.toml b/flooder/Cargo.toml index 1f2ac3c737..e996f24f1e 100644 --- a/flooder/Cargo.toml +++ b/flooder/Cargo.toml @@ -1,13 +1,13 @@ [package] name = "flooder" -version = "0.2.3" +version = "0.2.4" authors = ["Cardinal Cryptography"] edition = "2021" license = "Apache 2.0" [dependencies] -sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31", features = ["full_crypto"] } -sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32", features = ["full_crypto"] } +sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } # other dependencies serde_json = { version = "1.0" } diff --git a/fork-off/Cargo.lock b/fork-off/Cargo.lock index 6f8fd1e245..e9fa11e878 100644 --- a/fork-off/Cargo.lock +++ b/fork-off/Cargo.lock @@ -769,9 +769,9 @@ dependencies = [ [[package]] name = "environmental" -version = "1.1.3" +version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68b91989ae21441195d7d9b9993a2f9295c7e1a8c96255d8b729accddc124797" +checksum = "e48c92028aaa870e83d51c64e5d4e0b6981b360c522198c23959f219a4e1b15b" [[package]] name = "event-listener" @@ -876,7 +876,7 @@ dependencies = [ [[package]] name = "frame-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "frame-support", "frame-system", @@ -911,7 +911,7 @@ dependencies = [ [[package]] name = "frame-support" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "bitflags", "frame-metadata", @@ -943,7 +943,7 @@ dependencies = [ [[package]] name = "frame-support-procedural" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "Inflector", "cfg-expr", @@ -957,7 +957,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate 1.2.1", @@ -969,7 +969,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "proc-macro2", "quote", @@ -979,7 +979,7 @@ dependencies = [ [[package]] name = "frame-system" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "frame-support", "log 0.4.17", @@ -2098,7 +2098,7 @@ checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee" [[package]] name = "pallet-balances" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "frame-benchmarking", "frame-support", @@ -3104,7 +3104,7 @@ dependencies = [ [[package]] name = "sp-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "hash-db", "log 0.4.17", @@ -3122,7 +3122,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "blake2", "proc-macro-crate 1.2.1", @@ -3134,7 +3134,7 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "parity-scale-codec", "scale-info", @@ -3147,7 +3147,7 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "integer-sqrt", "num-traits", @@ -3162,7 +3162,7 @@ dependencies = [ [[package]] name = "sp-core" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "array-bytes", "base58", @@ -3208,7 +3208,7 @@ dependencies = [ [[package]] name = "sp-core-hashing" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "blake2", "byteorder", @@ -3222,7 +3222,7 @@ dependencies = [ [[package]] name = "sp-core-hashing-proc-macro" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "proc-macro2", "quote", @@ -3233,7 +3233,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "proc-macro2", "quote", @@ -3243,7 +3243,7 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "environmental", "parity-scale-codec", @@ -3254,7 +3254,7 @@ dependencies = [ [[package]] name = "sp-inherents" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "async-trait", "impl-trait-for-tuples", @@ -3268,7 +3268,7 @@ dependencies = [ [[package]] name = "sp-io" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "bytes 1.3.0", "futures 0.3.25", @@ -3294,7 +3294,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "async-trait", "futures 0.3.25", @@ -3310,7 +3310,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "backtrace", "lazy_static", @@ -3320,7 +3320,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "either", "hash256-std-hasher", @@ -3343,7 +3343,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "bytes 1.3.0", "impl-trait-for-tuples", @@ -3361,7 +3361,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "Inflector", "proc-macro-crate 1.2.1", @@ -3373,7 +3373,7 @@ dependencies = [ [[package]] name = "sp-staking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "parity-scale-codec", "scale-info", @@ -3384,7 +3384,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "hash-db", "log 0.4.17", @@ -3406,12 +3406,12 @@ dependencies = [ [[package]] name = "sp-std" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" [[package]] name = "sp-storage" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "impl-serde", "parity-scale-codec", @@ -3424,7 +3424,7 @@ dependencies = [ [[package]] name = "sp-tracing" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "parity-scale-codec", "sp-std", @@ -3436,7 +3436,7 @@ dependencies = [ [[package]] name = "sp-trie" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "ahash", "hash-db", @@ -3459,7 +3459,7 @@ dependencies = [ [[package]] name = "sp-version" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "impl-serde", "parity-scale-codec", @@ -3476,7 +3476,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "parity-scale-codec", "proc-macro2", @@ -3487,7 +3487,7 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "impl-trait-for-tuples", "log 0.4.17", @@ -3499,7 +3499,7 @@ dependencies = [ [[package]] name = "sp-weights" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.31#46bfeea179cafbdd8aba7b26300064c64a661415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -3583,9 +3583,9 @@ checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" [[package]] name = "syn" -version = "1.0.104" +version = "1.0.105" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ae548ec36cf198c0ef7710d3c230987c2d6d7bd98ad6edc0274462724c585ce" +checksum = "60b9b43d45702de4c839cb9b51d9f529c5dd26a4aff255b42b1ebc03e88ee908" dependencies = [ "proc-macro2", "quote", @@ -3767,9 +3767,9 @@ dependencies = [ [[package]] name = "tokio-macros" -version = "1.8.0" +version = "1.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9724f9a975fb987ef7a3cd9be0350edcbe130698af5b8f7a631e23d42d052484" +checksum = "d266c00fde287f55d3f1c3e96c500c362a2b8c695076ec180f27918820bc6df8" dependencies = [ "proc-macro2", "quote", @@ -4469,9 +4469,9 @@ dependencies = [ [[package]] name = "zeroize_derive" -version = "1.3.2" +version = "1.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f8f187641dad4f680d25c4bfc4225b418165984179f26ca76ec4fb6441d3a17" +checksum = "44bf07cb3e50ea2003396695d58bf46bc9887a1f362260446fad6bc4e79bd36c" dependencies = [ "proc-macro2", "quote", diff --git a/fork-off/Cargo.toml b/fork-off/Cargo.toml index 2845097e2f..2936963809 100644 --- a/fork-off/Cargo.toml +++ b/fork-off/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "fork-off" -version = "1.3.0" +version = "1.4.0" edition = "2021" license = "Apache 2.0" @@ -19,10 +19,10 @@ serde = "1" serde_json = "1" tokio = { version = "1.0", features = ["full"] } -sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -frame-support = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -frame-system = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -pallet-balances = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +frame-support = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +frame-system = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +pallet-balances = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } jsonrpc-core = "18.0" jsonrpc-core-client = { version = "18.0", features = ["ws"] } jsonrpc-derive = "18.0" diff --git a/pallets/aleph/Cargo.toml b/pallets/aleph/Cargo.toml index 511e8d5a9f..5b4897431d 100644 --- a/pallets/aleph/Cargo.toml +++ b/pallets/aleph/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "pallet-aleph" -version = "0.5.3" +version = "0.5.4" authors = ["Cardinal Cryptography"] edition = "2021" license = "Apache 2.0" @@ -10,20 +10,20 @@ codec = { package = "parity-scale-codec", version = "3.0", default-features = fa serde = "1.0" scale-info = { version = "2.0", default-features = false, features = ["derive"] } -frame-support = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -frame-system = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -pallet-balances = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -pallet-session = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -sp-io = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -sp-std = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +frame-support = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +frame-system = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +pallet-balances = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +pallet-session = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +sp-io = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +sp-std = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } pallets-support = { path = "../support", default-features = false } primitives = { path = "../../primitives", default-features = false } [dev-dependencies] -pallet-timestamp = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -sp-runtime = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -sp-core = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +pallet-timestamp = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +sp-runtime = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +sp-core = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } [features] default = ["std"] diff --git a/pallets/elections/Cargo.toml b/pallets/elections/Cargo.toml index 52e63eccb2..e848ef2954 100644 --- a/pallets/elections/Cargo.toml +++ b/pallets/elections/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "pallet-elections" -version = "0.5.3" +version = "0.5.4" edition = "2021" license = "Apache 2.0" @@ -8,18 +8,18 @@ license = "Apache 2.0" codec = { package = "parity-scale-codec", version = "3.0", default-features = false, features = ["derive"] } scale-info = { version = "2.0", default-features = false, features = ["derive"] } -frame-support = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -frame-system = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -frame-election-provider-support = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -pallet-authorship = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -pallet-balances = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -pallet-session = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -pallet-staking = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -sp-core = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -sp-io = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -sp-staking = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -sp-std = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -sp-runtime = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +frame-support = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +frame-system = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +frame-election-provider-support = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +pallet-authorship = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +pallet-balances = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +pallet-session = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +pallet-staking = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +sp-core = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +sp-io = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +sp-staking = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +sp-std = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +sp-runtime = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } pallets-support = { path = "../support", default-features = false } primitives = { path = "../../primitives", default-features = false } diff --git a/pallets/support/Cargo.toml b/pallets/support/Cargo.toml index b5a807d319..656a0f89bf 100644 --- a/pallets/support/Cargo.toml +++ b/pallets/support/Cargo.toml @@ -1,11 +1,11 @@ [package] name = "pallets-support" -version = "0.1.3" +version = "0.1.4" edition = "2021" [dependencies] -frame-support = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -sp-std = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +frame-support = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +sp-std = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } [features] default = ["std"] diff --git a/primitives/Cargo.toml b/primitives/Cargo.toml index 3bdf8d71e0..d520341812 100644 --- a/primitives/Cargo.toml +++ b/primitives/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "primitives" -version = "0.5.3" +version = "0.5.4" authors = ["Cardinal Cryptography"] edition = "2021" license = "Apache 2.0" @@ -10,12 +10,12 @@ codec = { package = "parity-scale-codec", version = "3.0", default-features = fa serde = { version = "1.0", features = ["derive"] } scale-info = { version = "2.0", default-features = false, features = ["derive"] } -sp-api = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -sp-application-crypto = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -sp-core = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -sp-runtime = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -sp-std = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } -sp-staking = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.31" } +sp-api = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +sp-application-crypto = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +sp-core = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +sp-runtime = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +sp-std = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +sp-staking = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } [features] default = ["std"] From c46b648daa63b76aca6b5515b0f953dd906e99df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maciej=20Nem=C5=9B?= Date: Tue, 6 Dec 2022 12:15:52 +0100 Subject: [PATCH 028/212] fix validator network outgoing peers status report (#785) --- finality-aleph/src/validator_network/manager/mod.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/finality-aleph/src/validator_network/manager/mod.rs b/finality-aleph/src/validator_network/manager/mod.rs index c309ac5af5..4949f4687b 100644 --- a/finality-aleph/src/validator_network/manager/mod.rs +++ b/finality-aleph/src/validator_network/manager/mod.rs @@ -138,7 +138,7 @@ impl Display for ManagerStatus { write!( f, "have - {:?} [{}]; ", - self.incoming_peers.len(), + self.outgoing_peers.len(), pretty_peer_id_set(&self.outgoing_peers), )?; } @@ -146,7 +146,7 @@ impl Display for ManagerStatus { write!( f, "missing - {:?} [{}]; ", - self.missing_incoming.len(), + self.missing_outgoing.len(), pretty_peer_id_set(&self.missing_outgoing), )?; } From 5acf27dc475767134aeb29b0681768ab93435101 Mon Sep 17 00:00:00 2001 From: Michal Handzlik Date: Tue, 6 Dec 2022 16:47:11 +0100 Subject: [PATCH 029/212] Bring back pallet contracts API to runtime (#787) --- bin/runtime/src/lib.rs | 78 +++++++++++++++++++++++++++++++++++++----- 1 file changed, 69 insertions(+), 9 deletions(-) diff --git a/bin/runtime/src/lib.rs b/bin/runtime/src/lib.rs index 7cb73330f2..679c9fa354 100644 --- a/bin/runtime/src/lib.rs +++ b/bin/runtime/src/lib.rs @@ -26,7 +26,6 @@ use frame_support::{ }; use frame_system::{EnsureRoot, EnsureSignedBy}; pub use pallet_balances::Call as BalancesCall; -use pallet_contracts::weights::WeightInfo; pub use pallet_timestamp::Call as TimestampCall; use pallet_transaction_payment::{CurrencyAdapter, Multiplier, TargetedFeeAdjustment}; pub use primitives::Balance; @@ -105,10 +104,10 @@ pub const VERSION: RuntimeVersion = RuntimeVersion { spec_name: create_runtime_str!("aleph-node"), impl_name: create_runtime_str!("aleph-node"), authoring_version: 1, - spec_version: 44, + spec_version: 45, impl_version: 1, apis: RUNTIME_API_VERSIONS, - transaction_version: 13, + transaction_version: 14, state_version: 0, }; @@ -642,6 +641,9 @@ impl pallet_utility::Config for Runtime { type PalletsOrigin = OriginCaller; } +// Prints debug output of the `contracts` pallet to stdout if the node is started with `-lruntime::contracts=debug`. +const CONTRACTS_DEBUG_OUTPUT: bool = true; + parameter_types! { // Refundable deposit per storage item pub const DepositPerItem: Balance = 32 * DEPOSIT_PER_BYTE; @@ -650,12 +652,7 @@ parameter_types! { // How much weight of each block can be spent on the lazy deletion queue of terminated contracts pub DeletionWeightLimit: Weight = Perbill::from_percent(10) * BlockWeights::get().max_block; // 40ms // Maximum size of the lazy deletion queue of terminated contracts. - // The weight needed for decoding the queue should be less or equal than a tenth - // of the overall weight dedicated to the lazy deletion. - pub DeletionQueueDepth: u32 = DeletionWeightLimit::get().saturating_div(( - ::WeightInfo::on_initialize_per_queue_item(1) - - ::WeightInfo::on_initialize_per_queue_item(0) - ).ref_time() * 10).ref_time() as u32; // 2228 + pub const DeletionQueueDepth: u32 = 128; pub Schedule: pallet_contracts::Schedule = Default::default(); } @@ -921,6 +918,69 @@ impl_runtime_apis! { } } + impl pallet_contracts::ContractsApi + for Runtime + { + fn call( + origin: AccountId, + dest: AccountId, + value: Balance, + gas_limit: Option, + storage_deposit_limit: Option, + input_data: Vec, + ) -> pallet_contracts_primitives::ContractExecResult { + let gas_limit = gas_limit.unwrap_or(BlockWeights::get().max_block); + Contracts::bare_call( + origin, + dest, + value, + gas_limit, + storage_deposit_limit, + input_data, + CONTRACTS_DEBUG_OUTPUT + ) + } + + fn instantiate( + origin: AccountId, + value: Balance, + gas_limit: Option, + storage_deposit_limit: Option, + code: pallet_contracts_primitives::Code, + data: Vec, + salt: Vec, + ) -> pallet_contracts_primitives::ContractInstantiateResult + { + let gas_limit = gas_limit.unwrap_or(BlockWeights::get().max_block); + Contracts::bare_instantiate( + origin, + value, + gas_limit, + storage_deposit_limit, + code, + data, + salt, + CONTRACTS_DEBUG_OUTPUT + ) + } + + fn upload_code( + origin: AccountId, + code: Vec, + storage_deposit_limit: Option, + ) -> pallet_contracts_primitives::CodeUploadResult + { + Contracts::bare_upload_code(origin, code, storage_deposit_limit) + } + + fn get_storage( + address: AccountId, + key: Vec, + ) -> pallet_contracts_primitives::GetStorageResult { + Contracts::get_storage(address, key) + } + } + #[cfg(feature = "try-runtime")] impl frame_try_runtime::TryRuntime for Runtime { fn on_runtime_upgrade() -> (Weight, Weight) { From 4f29b37750d328659b2c8bca9a0605434d851899 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maciej=20Nem=C5=9B?= Date: Wed, 7 Dec 2022 13:21:36 +0100 Subject: [PATCH 030/212] A0-1592: make connection manager operate of validator network directly (#790) * Make connection manager operate of validator network directly * Fix and simplify network service tests --- finality-aleph/src/network/io.rs | 43 +- finality-aleph/src/network/manager/service.rs | 69 +-- finality-aleph/src/network/mock.rs | 42 +- finality-aleph/src/network/mod.rs | 2 +- finality-aleph/src/network/service.rs | 446 ++++-------------- finality-aleph/src/nodes/validator_node.rs | 9 +- finality-aleph/src/testing/network.rs | 10 +- 7 files changed, 151 insertions(+), 470 deletions(-) diff --git a/finality-aleph/src/network/io.rs b/finality-aleph/src/network/io.rs index 868115214b..8557349581 100644 --- a/finality-aleph/src/network/io.rs +++ b/finality-aleph/src/network/io.rs @@ -1,42 +1,43 @@ use futures::channel::mpsc; -use crate::network::{ - manager::{DataInSession, VersionedAuthentication}, - ConnectionManagerIO, Data, Multiaddress, NetworkServiceIO as NetworkIO, SessionManagerIO, +use crate::{ + network::{ + manager::{DataInSession, VersionedAuthentication}, + ConnectionManagerIO, Data, Multiaddress, NetworkServiceIO as NetworkIO, SessionManagerIO, + }, + validator_network::{Network as ValidatorNetwork, PublicKey}, }; -type AuthenticationNetworkIO = NetworkIO, DataInSession, M>; +type AuthenticationNetworkIO = NetworkIO>; -pub fn setup() -> ( - ConnectionManagerIO, - AuthenticationNetworkIO, +pub fn setup< + D: Data, + M: Multiaddress + 'static, + VN: ValidatorNetwork>, +>( + validator_network: VN, +) -> ( + ConnectionManagerIO, + AuthenticationNetworkIO, SessionManagerIO, -) { +) +where + M::PeerId: PublicKey, +{ // Prepare and start the network - let (commands_for_network, commands_from_io) = mpsc::unbounded(); - let (data_for_network, data_from_user) = mpsc::unbounded(); let (messages_for_network, messages_from_user) = mpsc::unbounded(); let (commands_for_service, commands_from_user) = mpsc::unbounded(); let (messages_for_service, commands_from_manager) = mpsc::unbounded(); - let (data_for_user, data_from_network) = mpsc::unbounded(); let (messages_for_user, messages_from_network) = mpsc::unbounded(); let connection_io = ConnectionManagerIO::new( - commands_for_network, - data_for_network, messages_for_network, commands_from_user, commands_from_manager, - data_from_network, messages_from_network, + validator_network, ); - let channels_for_network = NetworkIO::new( - data_from_user, - messages_from_user, - data_for_user, - messages_for_user, - commands_from_io, - ); + let channels_for_network = NetworkIO::new(messages_from_user, messages_for_user); let channels_for_session_manager = SessionManagerIO::new(commands_for_service, messages_for_service); diff --git a/finality-aleph/src/network/manager/service.rs b/finality-aleph/src/network/manager/service.rs index 247d3c3e23..e52d75232a 100644 --- a/finality-aleph/src/network/manager/service.rs +++ b/finality-aleph/src/network/manager/service.rs @@ -21,6 +21,7 @@ use crate::{ }, AddressedData, ConnectionCommand, Data, Multiaddress, NetworkIdentity, PeerId, }, + validator_network::{Network as ValidatorNetwork, PublicKey}, MillisecsPerBlock, NodeIndex, SessionId, SessionPeriod, STATUS_REPORT_INTERVAL, }; @@ -595,22 +596,22 @@ impl Service { } } -/// Input/output interface for the connectiona manager service. -pub struct IO { - commands_for_network: mpsc::UnboundedSender>, - data_for_network: mpsc::UnboundedSender, M::PeerId>>, +/// Input/output interface for the connection manager service. +pub struct IO>> +where + M::PeerId: PublicKey, +{ authentications_for_network: mpsc::UnboundedSender>, commands_from_user: mpsc::UnboundedReceiver>, messages_from_user: mpsc::UnboundedReceiver<(D, SessionId, Recipient)>, - data_from_network: mpsc::UnboundedReceiver>, authentications_from_network: mpsc::UnboundedReceiver>, + validator_network: VN, } /// Errors that can happen during the network service operations. #[derive(Debug, PartialEq, Eq)] pub enum Error { NetworkSend, - CommandSend, /// Should never be fatal. UserSend, /// Should never be fatal. @@ -620,31 +621,28 @@ pub enum Error { NetworkChannel, } -impl IO { +impl>> IO +where + M::PeerId: PublicKey, +{ pub fn new( - commands_for_network: mpsc::UnboundedSender>, - data_for_network: mpsc::UnboundedSender, M::PeerId>>, authentications_for_network: mpsc::UnboundedSender>, commands_from_user: mpsc::UnboundedReceiver>, messages_from_user: mpsc::UnboundedReceiver<(D, SessionId, Recipient)>, - data_from_network: mpsc::UnboundedReceiver>, authentications_from_network: mpsc::UnboundedReceiver>, - ) -> IO { + validator_network: VN, + ) -> IO { IO { - commands_for_network, - data_for_network, authentications_for_network, commands_from_user, messages_from_user, - data_from_network, authentications_from_network, + validator_network, } } - fn send_data(&self, to_send: AddressedData, M::PeerId>) -> Result<(), Error> { - self.data_for_network - .unbounded_send(to_send) - .map_err(|_| Error::NetworkSend) + fn send_data(&self, to_send: AddressedData, M::PeerId>) { + self.validator_network.send(to_send.0, to_send.1) } fn send_authentication(&self, to_send: DiscoveryMessage) -> Result<(), Error> { @@ -653,21 +651,32 @@ impl IO { .map_err(|_| Error::NetworkSend) } - fn send_command(&self, to_send: ConnectionCommand) -> Result<(), Error> { - self.commands_for_network - .unbounded_send(to_send) - .map_err(|_| Error::CommandSend) + fn handle_connection_command(&mut self, connection_command: ConnectionCommand) { + match connection_command { + ConnectionCommand::AddReserved(addresses) => { + for multi in addresses { + if let Some(peer_id) = multi.get_peer_id() { + self.validator_network.add_connection(peer_id, vec![multi]); + } + } + } + ConnectionCommand::DelReserved(peers) => { + for peer in peers { + self.validator_network.remove_connection(peer); + } + } + }; } - fn send( - &self, + fn handle_service_actions( + &mut self, ServiceActions { maybe_command, maybe_message, }: ServiceActions, ) -> Result<(), Error> { if let Some(command) = maybe_command { - self.send_command(command)?; + self.handle_connection_command(command); } if let Some(message) = maybe_message { self.send_authentication(message)?; @@ -695,7 +704,7 @@ impl IO { trace!(target: "aleph-network", "Manager received a command from user"); match maybe_command { Some(command) => match service.on_command(command).await { - Ok(to_send) => self.send(to_send)?, + Ok(to_send) => self.handle_service_actions(to_send)?, Err(e) => warn!(target: "aleph-network", "Failed to update handler: {:?}", e), }, None => return Err(Error::CommandsChannel), @@ -705,12 +714,12 @@ impl IO { trace!(target: "aleph-network", "Manager received a message from user"); match maybe_message { Some((message, session_id, recipient)) => for message in service.on_user_message(message, session_id, recipient) { - self.send_data(message)?; + self.send_data(message); }, None => return Err(Error::MessageChannel), } }, - maybe_data = self.data_from_network.next() => { + maybe_data = self.validator_network.next() => { trace!(target: "aleph-network", "Manager received some data from network"); match maybe_data { Some(DataInSession{data, session_id}) => if let Err(e) = service.send_session_data(&session_id, data) { @@ -727,7 +736,7 @@ impl IO { trace!(target: "aleph-network", "Manager received an authentication from network"); match maybe_authentication { Some(authentication) => match authentication.try_into() { - Ok(message) => self.send(service.on_discovery_message(message))?, + Ok(message) => self.handle_service_actions(service.on_discovery_message(message))?, Err(e) => warn!(target: "aleph-network", "Error casting versioned authentication to discovery message: {:?}", e), }, None => return Err(Error::NetworkChannel), @@ -736,7 +745,7 @@ impl IO { _ = maintenance.tick() => { debug!(target: "aleph-network", "Manager starts maintenence"); match service.retry_session_start().await { - Ok(to_send) => self.send(to_send)?, + Ok(to_send) => self.handle_service_actions(to_send)?, Err(e) => warn!(target: "aleph-network", "Retry failed to update handler: {:?}", e), } for to_send in service.discovery() { diff --git a/finality-aleph/src/network/mock.rs b/finality-aleph/src/network/mock.rs index 83db534947..6de9642bb1 100644 --- a/finality-aleph/src/network/mock.rs +++ b/finality-aleph/src/network/mock.rs @@ -17,10 +17,7 @@ use tokio::time::timeout; use crate::{ crypto::{AuthorityPen, AuthorityVerifier}, - network::{ - manager::VersionedAuthentication, AddressedData, ConnectionCommand, Event, EventStream, - Multiaddress, Network, NetworkIdentity, NetworkSender, NetworkServiceIO, Protocol, - }, + network::{Event, EventStream, Network, NetworkIdentity, NetworkSender, Protocol}, testing::mocks::validator_network::{random_identity, MockMultiaddress}, validator_network::mock::MockPublicKey, AuthorityId, NodeIndex, @@ -101,43 +98,6 @@ pub type MockEvent = Event; pub type MockData = Vec; -pub struct MockIO { - pub messages_for_network: mpsc::UnboundedSender>, - pub data_for_network: mpsc::UnboundedSender>, - pub messages_from_network: mpsc::UnboundedReceiver>, - pub data_from_network: mpsc::UnboundedReceiver, - pub commands_for_network: mpsc::UnboundedSender>, -} - -impl MockIO { - pub fn new() -> ( - MockIO, - NetworkServiceIO, MockData, M>, - ) { - let (messages_for_network, messages_from_user) = mpsc::unbounded(); - let (data_for_network, data_from_user) = mpsc::unbounded(); - let (messages_for_user, messages_from_network) = mpsc::unbounded(); - let (data_for_user, data_from_network) = mpsc::unbounded(); - let (commands_for_network, commands_from_manager) = mpsc::unbounded(); - ( - MockIO { - messages_for_network, - data_for_network, - messages_from_network, - data_from_network, - commands_for_network, - }, - NetworkServiceIO::new( - data_from_user, - messages_from_user, - data_for_user, - messages_for_user, - commands_from_manager, - ), - ) - } -} - pub struct MockEventStream(mpsc::UnboundedReceiver); #[async_trait] diff --git a/finality-aleph/src/network/mod.rs b/finality-aleph/src/network/mod.rs index cdffb48152..99c2cb75cb 100644 --- a/finality-aleph/src/network/mod.rs +++ b/finality-aleph/src/network/mod.rs @@ -59,7 +59,7 @@ pub trait PeerId: PartialEq + Eq + Clone + Debug + Display + Hash + Codec + Send } /// Represents the address of an arbitrary node. -pub trait Multiaddress: Debug + Hash + Codec + Clone + Eq + Send + Sync { +pub trait Multiaddress: Debug + Hash + Codec + Clone + Eq + Send + Sync + 'static { type PeerId: PeerId; /// Returns the peer id associated with this multiaddress if it exists and is unique. diff --git a/finality-aleph/src/network/service.rs b/finality-aleph/src/network/service.rs index 42c2ef954b..2c2a05efae 100644 --- a/finality-aleph/src/network/service.rs +++ b/finality-aleph/src/network/service.rs @@ -11,11 +11,7 @@ use sc_utils::mpsc::{tracing_unbounded, TracingUnboundedReceiver, TracingUnbound use tokio::time; use crate::{ - network::{ - AddressedData, ConnectionCommand, Data, Event, EventStream, Multiaddress, Network, - NetworkSender, Protocol, - }, - validator_network::{Network as ValidatorNetwork, PublicKey}, + network::{Data, Event, EventStream, Network, NetworkSender, Protocol}, STATUS_REPORT_INTERVAL, }; @@ -24,54 +20,30 @@ use crate::{ /// 1. Incoming network events /// 1. Messages are forwarded to the user. /// 2. Various forms of (dis)connecting, keeping track of all currently connected nodes. -/// 2. Commands from the network manager, modifying the reserved peer set. /// 3. Outgoing messages, sending them out, using 1.2. to broadcast. -/// Currently this also handles the validator network for sending in-session data, but this is -/// likely to change in the future. -pub struct Service< - N: Network, - D: Data, - VD: Data, - A: Data + Multiaddress, - VN: ValidatorNetwork, -> where - A::PeerId: PublicKey, -{ +pub struct Service { network: N, - validator_network: VN, - data_from_user: mpsc::UnboundedReceiver>, messages_from_user: mpsc::UnboundedReceiver, - data_for_user: mpsc::UnboundedSender, messages_for_user: mpsc::UnboundedSender, - commands_from_manager: mpsc::UnboundedReceiver>, authentication_connected_peers: HashSet, authentication_peer_senders: HashMap>, spawn_handle: SpawnTaskHandle, } /// Input/output channels for the network service. -pub struct IO { - pub data_from_user: mpsc::UnboundedReceiver>, +pub struct IO { pub messages_from_user: mpsc::UnboundedReceiver, - pub data_for_user: mpsc::UnboundedSender, pub messages_for_user: mpsc::UnboundedSender, - pub commands_from_manager: mpsc::UnboundedReceiver>, } -impl IO { +impl IO { pub fn new( - data_from_user: mpsc::UnboundedReceiver>, messages_from_user: mpsc::UnboundedReceiver, - data_for_user: mpsc::UnboundedSender, messages_for_user: mpsc::UnboundedSender, - commands_from_manager: mpsc::UnboundedReceiver>, - ) -> IO { + ) -> IO { IO { - data_from_user, messages_from_user, - data_for_user, messages_for_user, - commands_from_manager, } } } @@ -82,30 +54,12 @@ enum SendError { SendingFailed, } -impl< - N: Network, - D: Data, - VD: Data, - A: Data + Multiaddress, - VN: ValidatorNetwork, - > Service -where - A::PeerId: PublicKey, -{ - pub fn new( - network: N, - validator_network: VN, - spawn_handle: SpawnTaskHandle, - io: IO, - ) -> Service { +impl Service { + pub fn new(network: N, spawn_handle: SpawnTaskHandle, io: IO) -> Service { Service { network, - validator_network, - data_from_user: io.data_from_user, messages_from_user: io.messages_from_user, - data_for_user: io.data_for_user, messages_for_user: io.messages_for_user, - commands_from_manager: io.commands_from_manager, spawn_handle, authentication_connected_peers: HashSet::new(), authentication_peer_senders: HashMap::new(), @@ -248,28 +202,6 @@ where Ok(()) } - fn handle_validator_network_data(&mut self, data: VD) -> Result<(), mpsc::TrySendError> { - self.data_for_user.unbounded_send(data) - } - - fn on_manager_command(&mut self, command: ConnectionCommand) { - use ConnectionCommand::*; - match command { - AddReserved(addresses) => { - for multi in addresses { - if let Some(peer_id) = multi.get_peer_id() { - self.validator_network.add_connection(peer_id, vec![multi]); - } - } - } - DelReserved(peers) => { - for peer in peers { - self.validator_network.remove_connection(peer); - } - } - } - } - fn status_report(&self) { let mut status = String::from("Network status report: "); @@ -297,22 +229,6 @@ where return; } }, - maybe_data = self.validator_network.next() => match maybe_data { - Some(data) => if let Err(e) = self.handle_validator_network_data(data) { - error!(target: "aleph-network", "Cannot forward messages to user: {:?}", e); - return; - }, - None => { - error!(target: "aleph-network", "Validator network event stream ended."); - } - }, - maybe_data = self.data_from_user.next() => match maybe_data { - Some((data, peer_id)) => self.validator_network.send(data, peer_id), - None => { - error!(target: "aleph-network", "User data stream ended."); - return; - } - }, maybe_message = self.messages_from_user.next() => match maybe_message { Some(message) => self.broadcast(message, Protocol::Authentication), None => { @@ -320,13 +236,6 @@ where return; } }, - maybe_command = self.commands_from_manager.next() => match maybe_command { - Some(command) => self.on_manager_command(command), - None => { - error!(target: "aleph-network", "Manager command stream ended."); - return; - } - }, _ = status_ticker.tick() => { self.status_report(); }, @@ -340,31 +249,28 @@ mod tests { use std::{collections::HashSet, iter, iter::FromIterator}; use codec::Encode; - use futures::{channel::oneshot, StreamExt}; + use futures::{ + channel::{mpsc, oneshot}, + StreamExt, + }; use sc_service::TaskManager; - use tokio::{runtime::Handle, task::JoinHandle}; + use tokio::runtime::Handle; - use super::{ConnectionCommand, Service}; + use super::Service; use crate::{ network::{ - manager::{SessionHandler, VersionedAuthentication}, - mock::{crypto_basics, MockData, MockEvent, MockIO, MockNetwork, MockSenderError}, - testing::DiscoveryMessage, - NetworkIdentity, Protocol, - }, - testing::mocks::validator_network::{ - random_multiaddress, random_peer_id, MockMultiaddress, - MockNetwork as MockValidatorNetwork, + mock::{MockData, MockEvent, MockNetwork, MockSenderError}, + NetworkServiceIO, Protocol, }, - SessionId, + testing::mocks::validator_network::{random_multiaddress, random_peer_id}, }; + const PROTOCOL: Protocol = Protocol::Authentication; + pub struct TestData { - pub service_handle: JoinHandle<()>, - pub exit_tx: oneshot::Sender<()>, pub network: MockNetwork, - pub validator_network: MockValidatorNetwork, - pub mock_io: MockIO, + pub messages_from_network: mpsc::UnboundedReceiver, + pub service: Service, // `TaskManager` can't be dropped for `SpawnTaskHandle` to work _task_manager: TaskManager, } @@ -374,59 +280,28 @@ mod tests { let task_manager = TaskManager::new(Handle::current(), None).unwrap(); // Prepare communication with service - let (mock_io, io) = MockIO::new(); + // We can drop the sender, as we will call service.broadcast directly + let (_, messages_from_user) = mpsc::unbounded(); + let (messages_for_user, messages_from_network) = mpsc::unbounded(); + let io = NetworkServiceIO::new(messages_from_user, messages_for_user); + // Event stream will never be taken, so we can drop the receiver + let (event_stream_oneshot_tx, _) = oneshot::channel(); + // Prepare service - let (event_stream_oneshot_tx, event_stream_oneshot_rx) = oneshot::channel(); let network = MockNetwork::new(event_stream_oneshot_tx); - let validator_network = MockValidatorNetwork::new("addr").await; - let service = Service::new( - network.clone(), - validator_network.clone(), - task_manager.spawn_handle(), - io, - ); - let (exit_tx, exit_rx) = oneshot::channel(); - let task_handle = async move { - tokio::select! { - _ = service.run() => { }, - _ = exit_rx => { }, - }; - }; - let service_handle = tokio::spawn(task_handle); - // wait till service takes the event_stream - event_stream_oneshot_rx.await.unwrap(); + let service = Service::new(network.clone(), task_manager.spawn_handle(), io); - // `TaskManager` needs to be passed. + // `TaskManager` needs to be passed, so sender threads are running in background. Self { - service_handle, - exit_tx, network, - validator_network, - mock_io, + service, + messages_from_network, _task_manager: task_manager, } } async fn cleanup(self) { - self.exit_tx.send(()).unwrap(); - self.service_handle.await.unwrap(); self.network.close_channels().await; - self.validator_network.close_channels().await; - } - - // We do this only to make sure that NotificationStreamOpened/NotificationStreamClosed events are handled - async fn wait_for_events_handled(&mut self) { - let address = random_multiaddress(); - self.network - .emit_event(MockEvent::Connected(address.clone())); - assert_eq!( - self.network - .add_reserved - .next() - .await - .expect("Should receive message"), - (iter::once(address).collect(), Protocol::Authentication,) - ); } } @@ -434,33 +309,17 @@ mod tests { vec![i, i + 1, i + 2] } - async fn authentication( - multiaddresses: Vec, - ) -> VersionedAuthentication { - let crypto_basics = crypto_basics(1).await; - let handler = SessionHandler::new( - Some(crypto_basics.0[0].clone()), - crypto_basics.1.clone(), - SessionId(43), - multiaddresses, - ) - .await - .unwrap(); - VersionedAuthentication::V1(DiscoveryMessage::AuthenticationBroadcast( - handler.authentication().unwrap(), - )) - } - #[tokio::test] async fn test_sync_connected() { let mut test_data = TestData::prepare().await; let address = random_multiaddress(); test_data - .network - .emit_event(MockEvent::Connected(address.clone())); + .service + .handle_network_event(MockEvent::Connected(address.clone())) + .expect("Should handle"); - let expected = (iter::once(address).collect(), Protocol::Authentication); + let expected = (iter::once(address).collect(), PROTOCOL); assert_eq!( test_data @@ -482,10 +341,11 @@ mod tests { let peer_id = random_peer_id(); test_data - .network - .emit_event(MockEvent::Disconnected(peer_id.clone())); + .service + .handle_network_event(MockEvent::Disconnected(peer_id.clone())) + .expect("Should handle"); - let expected = (iter::once(peer_id).collect(), Protocol::Authentication); + let expected = (iter::once(peer_id).collect(), PROTOCOL); assert_eq!( test_data @@ -507,21 +367,14 @@ mod tests { let peer_ids: Vec<_> = (0..3).map(|_| random_peer_id()).collect(); peer_ids.iter().for_each(|peer_id| { - test_data.network.emit_event(MockEvent::StreamOpened( - peer_id.clone(), - Protocol::Authentication, - )); + test_data + .service + .handle_network_event(MockEvent::StreamOpened(peer_id.clone(), PROTOCOL)) + .expect("Should handle"); }); - // We do this only to make sure that NotificationStreamOpened events are handled - test_data.wait_for_events_handled().await; - - let message = authentication(test_data.validator_network.identity().0).await; - test_data - .mock_io - .messages_for_network - .unbounded_send(message.clone()) - .unwrap(); + let message = message(1); + test_data.service.broadcast(message.clone(), PROTOCOL); let broadcasted_messages = HashSet::<_>::from_iter( test_data @@ -535,7 +388,7 @@ mod tests { let expected_messages = HashSet::from_iter( peer_ids .into_iter() - .map(|peer_id| (message.clone().encode(), peer_id, Protocol::Authentication)), + .map(|peer_id| (message.clone().encode(), peer_id, PROTOCOL)), ); assert_eq!(broadcasted_messages, expected_messages); @@ -551,31 +404,24 @@ mod tests { let opened_authorities_n = 2; peer_ids.iter().for_each(|peer_id| { - test_data.network.emit_event(MockEvent::StreamOpened( - peer_id.clone(), - Protocol::Authentication, - )); + test_data + .service + .handle_network_event(MockEvent::StreamOpened(peer_id.clone(), PROTOCOL)) + .expect("Should handle"); }); peer_ids .iter() .skip(opened_authorities_n) .for_each(|peer_id| { - test_data.network.emit_event(MockEvent::StreamClosed( - peer_id.clone(), - Protocol::Authentication, - )); + test_data + .service + .handle_network_event(MockEvent::StreamClosed(peer_id.clone(), PROTOCOL)) + .expect("Should handle"); }); - // We do this only to make sure that NotificationStreamClosed events are handled - test_data.wait_for_events_handled().await; - - let message = authentication(test_data.validator_network.identity().0).await; - test_data - .mock_io - .messages_for_network - .unbounded_send(message.clone()) - .unwrap(); + let message = message(1); + test_data.service.broadcast(message.clone(), PROTOCOL); let broadcasted_messages = HashSet::<_>::from_iter( test_data @@ -590,7 +436,7 @@ mod tests { peer_ids .into_iter() .take(opened_authorities_n) - .map(|peer_id| (message.clone().encode(), peer_id, Protocol::Authentication)), + .map(|peer_id| (message.clone().encode(), peer_id, PROTOCOL)), ); assert_eq!(broadcasted_messages, expected_messages); @@ -598,56 +444,6 @@ mod tests { test_data.cleanup().await } - #[tokio::test] - async fn test_send_validator_data() { - let mut test_data = TestData::prepare().await; - - let peer_id = random_peer_id(); - - let message = message(1); - - test_data - .mock_io - .data_for_network - .unbounded_send((message.clone(), peer_id.clone())) - .unwrap(); - - let expected = (message, peer_id); - - assert_eq!( - test_data - .validator_network - .send - .next() - .await - .expect("Should receive message"), - expected, - ); - - test_data.cleanup().await - } - - #[tokio::test] - async fn test_receives_validator_data() { - let mut test_data = TestData::prepare().await; - - let message = message(1); - - test_data.validator_network.next.send(message.clone()); - - assert_eq!( - test_data - .mock_io - .data_from_network - .next() - .await - .expect("Should receive message"), - message, - ); - - test_data.cleanup().await - } - #[tokio::test] async fn test_create_sender_error() { let mut test_data = TestData::prepare().await; @@ -660,30 +456,19 @@ mod tests { let peer_id = random_peer_id(); - let message_1 = authentication(vec![(random_peer_id(), String::from("other_1"))]).await; - let message_2 = authentication(vec![(random_peer_id(), String::from("other_2"))]).await; - - test_data.network.emit_event(MockEvent::StreamOpened( - peer_id.clone(), - Protocol::Authentication, - )); - - // We do this only to make sure that NotificationStreamOpened events are handled - test_data.wait_for_events_handled().await; + let message_1 = message(1); + let message_2 = message(4); test_data - .mock_io - .messages_for_network - .unbounded_send(message_1) - .unwrap(); + .service + .handle_network_event(MockEvent::StreamOpened(peer_id.clone(), PROTOCOL)) + .expect("Should handle"); - test_data - .mock_io - .messages_for_network - .unbounded_send(message_2.clone()) - .unwrap(); + test_data.service.broadcast(message_1, PROTOCOL); + + test_data.service.broadcast(message_2.clone(), PROTOCOL); - let expected = (message_2.encode(), peer_id, Protocol::Authentication); + let expected = (message_2.encode(), peer_id, PROTOCOL); assert_eq!( test_data @@ -710,30 +495,19 @@ mod tests { let peer_id = random_peer_id(); - let message_1 = authentication(vec![(random_peer_id(), String::from("other_1"))]).await; - let message_2 = authentication(vec![(random_peer_id(), String::from("other_2"))]).await; - - test_data.network.emit_event(MockEvent::StreamOpened( - peer_id.clone(), - Protocol::Authentication, - )); - - // We do this only to make sure that NotificationStreamOpened events are handled - test_data.wait_for_events_handled().await; + let message_1 = message(1); + let message_2 = message(4); test_data - .mock_io - .messages_for_network - .unbounded_send(message_1) - .unwrap(); + .service + .handle_network_event(MockEvent::StreamOpened(peer_id.clone(), PROTOCOL)) + .expect("Should handle"); - test_data - .mock_io - .messages_for_network - .unbounded_send(message_2.clone()) - .unwrap(); + test_data.service.broadcast(message_1, PROTOCOL); - let expected = (message_2.encode(), peer_id, Protocol::Authentication); + test_data.service.broadcast(message_2.clone(), PROTOCOL); + + let expected = (message_2.encode(), peer_id, PROTOCOL); assert_eq!( test_data @@ -752,16 +526,18 @@ mod tests { async fn test_notification_received() { let mut test_data = TestData::prepare().await; - let message = authentication(vec![(random_peer_id(), String::from("other_addr"))]).await; + let message = message(1); - test_data.network.emit_event(MockEvent::Messages(vec![( - Protocol::Authentication, - message.clone().encode().into(), - )])); + test_data + .service + .handle_network_event(MockEvent::Messages(vec![( + PROTOCOL, + message.clone().encode().into(), + )])) + .expect("Should handle"); assert_eq!( test_data - .mock_io .messages_from_network .next() .await @@ -771,60 +547,4 @@ mod tests { test_data.cleanup().await } - - #[tokio::test] - async fn test_command_add_reserved() { - let mut test_data = TestData::prepare().await; - - let multiaddress: MockMultiaddress = (random_peer_id(), String::from("other_addr")); - - test_data - .mock_io - .commands_for_network - .unbounded_send(ConnectionCommand::AddReserved( - iter::once(multiaddress.clone()).collect(), - )) - .unwrap(); - - let expected = (multiaddress.0.clone(), vec![multiaddress]); - - assert_eq!( - test_data - .validator_network - .add_connection - .next() - .await - .expect("Should receive message"), - expected - ); - - test_data.cleanup().await - } - - #[tokio::test] - async fn test_command_remove_reserved() { - let mut test_data = TestData::prepare().await; - - let peer_id = random_peer_id(); - - test_data - .mock_io - .commands_for_network - .unbounded_send(ConnectionCommand::DelReserved( - iter::once(peer_id.clone()).collect(), - )) - .unwrap(); - - assert_eq!( - test_data - .validator_network - .remove_connection - .next() - .await - .expect("Should receive message"), - peer_id - ); - - test_data.cleanup().await - } } diff --git a/finality-aleph/src/nodes/validator_node.rs b/finality-aleph/src/nodes/validator_node.rs index ec06def4bb..677346b754 100644 --- a/finality-aleph/src/nodes/validator_node.rs +++ b/finality-aleph/src/nodes/validator_node.rs @@ -115,7 +115,7 @@ where session_map: session_authorities.clone(), }); - let (connection_io, network_io, session_io) = setup_io(); + let (connection_io, network_io, session_io) = setup_io(validator_network); let connection_manager = ConnectionManager::new( network_identity, @@ -130,12 +130,7 @@ where }; let session_manager = SessionManager::new(session_io); - let network = NetworkService::new( - network.clone(), - validator_network, - spawn_handle.clone(), - network_io, - ); + let network = NetworkService::new(network.clone(), spawn_handle.clone(), network_io); let network_task = async move { network.run().await }; spawn_handle.spawn("aleph/justification_handler", None, handler_task); diff --git a/finality-aleph/src/testing/network.rs b/finality-aleph/src/testing/network.rs index 13a243001f..fae9bbee0b 100644 --- a/finality-aleph/src/testing/network.rs +++ b/finality-aleph/src/testing/network.rs @@ -102,7 +102,7 @@ async fn prepare_one_session_test_data() -> TestData { let validator_network = MockValidatorNetwork::from(authorities[0].addresses(), authorities[0].peer_id()); - let (connection_io, network_io, session_io) = setup_io(); + let (connection_io, network_io, session_io) = setup_io(validator_network.clone()); let connection_manager = ConnectionManager::new( validator_network.clone(), @@ -111,12 +111,8 @@ async fn prepare_one_session_test_data() -> TestData { let session_manager = SessionManager::new(session_io); - let network_service = NetworkService::new( - network.clone(), - validator_network.clone(), - task_manager.spawn_handle(), - network_io, - ); + let network_service = + NetworkService::new(network.clone(), task_manager.spawn_handle(), network_io); let network_manager_task = async move { tokio::select! { From 035418c8bc836324b41c8d8ca09b05a8c5efc498 Mon Sep 17 00:00:00 2001 From: lesniak43 Date: Wed, 7 Dec 2022 16:08:58 +0100 Subject: [PATCH 031/212] A0-1664 Stop exposing sync connected events from substrate network (#788) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * removing stuff * remove tests that do not work... * polishing * no () * fmt Co-authored-by: Damian Leśniak Co-authored-by: maciejnems --- finality-aleph/src/network/mock.rs | 34 ++---------- finality-aleph/src/network/mod.rs | 17 ++---- finality-aleph/src/network/service.rs | 72 ++----------------------- finality-aleph/src/substrate_network.rs | 63 ++++++++++++---------- 4 files changed, 49 insertions(+), 137 deletions(-) diff --git a/finality-aleph/src/network/mock.rs b/finality-aleph/src/network/mock.rs index 6de9642bb1..2567b307b4 100644 --- a/finality-aleph/src/network/mock.rs +++ b/finality-aleph/src/network/mock.rs @@ -1,9 +1,4 @@ -use std::{ - collections::{HashSet, VecDeque}, - fmt, - sync::Arc, - time::Duration, -}; +use std::{collections::VecDeque, fmt, sync::Arc, time::Duration}; use aleph_primitives::KEY_TYPE; use async_trait::async_trait; @@ -94,14 +89,14 @@ impl Default for Channel { } } -pub type MockEvent = Event; +pub type MockEvent = Event; pub type MockData = Vec; pub struct MockEventStream(mpsc::UnboundedReceiver); #[async_trait] -impl EventStream for MockEventStream { +impl EventStream for MockEventStream { async fn next_event(&mut self) -> Option { self.0.next().await } @@ -132,8 +127,6 @@ impl NetworkSender for MockNetworkSender { #[derive(Clone)] pub struct MockNetwork { - pub add_reserved: Channel<(HashSet, Protocol)>, - pub remove_reserved: Channel<(HashSet, Protocol)>, pub send_message: Channel<(Vec, MockPublicKey, Protocol)>, pub event_sinks: Arc>>>, event_stream_taken_oneshot: Arc>>>, @@ -142,17 +135,11 @@ pub struct MockNetwork { } #[derive(Debug, Copy, Clone)] -pub enum MockSenderError { - SomeError, -} +pub struct MockSenderError; impl fmt::Display for MockSenderError { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - match self { - MockSenderError::SomeError => { - write!(f, "Some error message") - } - } + write!(f, "Some error message") } } @@ -162,7 +149,6 @@ impl Network for MockNetwork { type SenderError = MockSenderError; type NetworkSender = MockNetworkSender; type PeerId = MockPublicKey; - type Multiaddress = MockMultiaddress; type EventStream = MockEventStream; fn event_stream(&self) -> Self::EventStream { @@ -192,21 +178,11 @@ impl Network for MockNetwork { error, }) } - - fn add_reserved(&self, addresses: HashSet, protocol: Protocol) { - self.add_reserved.send((addresses, protocol)); - } - - fn remove_reserved(&self, peers: HashSet, protocol: Protocol) { - self.remove_reserved.send((peers, protocol)); - } } impl MockNetwork { pub fn new(oneshot_sender: oneshot::Sender<()>) -> Self { MockNetwork { - add_reserved: Channel::new(), - remove_reserved: Channel::new(), send_message: Channel::new(), event_sinks: Arc::new(Mutex::new(vec![])), event_stream_taken_oneshot: Arc::new(Mutex::new(Some(oneshot_sender))), diff --git a/finality-aleph/src/network/mod.rs b/finality-aleph/src/network/mod.rs index 99c2cb75cb..0870b296f6 100644 --- a/finality-aleph/src/network/mod.rs +++ b/finality-aleph/src/network/mod.rs @@ -88,17 +88,15 @@ pub trait NetworkSender: Send + Sync + 'static { } #[derive(Clone)] -pub enum Event { - Connected(M), - Disconnected(P), +pub enum Event

{ StreamOpened(P, Protocol), StreamClosed(P, Protocol), Messages(Vec<(Protocol, Bytes)>), } #[async_trait] -pub trait EventStream { - async fn next_event(&mut self) -> Option>; +pub trait EventStream

{ + async fn next_event(&mut self) -> Option>; } /// Abstraction over a network. @@ -106,8 +104,7 @@ pub trait Network: Clone + Send + Sync + 'static { type SenderError: std::error::Error; type NetworkSender: NetworkSender; type PeerId: Clone + Debug + Eq + Hash + Send; - type Multiaddress: Debug + Eq + Hash; - type EventStream: EventStream; + type EventStream: EventStream; /// Returns a stream of events representing what happens on the network. fn event_stream(&self) -> Self::EventStream; @@ -118,12 +115,6 @@ pub trait Network: Clone + Send + Sync + 'static { peer_id: Self::PeerId, protocol: Protocol, ) -> Result; - - /// Add peers to one of the reserved sets. - fn add_reserved(&self, addresses: HashSet, protocol: Protocol); - - /// Remove peers from one of the reserved sets. - fn remove_reserved(&self, peers: HashSet, protocol: Protocol); } /// Abstraction for requesting own network addresses and PeerId. diff --git a/finality-aleph/src/network/service.rs b/finality-aleph/src/network/service.rs index 2c2a05efae..7c231e80bd 100644 --- a/finality-aleph/src/network/service.rs +++ b/finality-aleph/src/network/service.rs @@ -1,7 +1,6 @@ use std::{ collections::{HashMap, HashSet}, future::Future, - iter, }; use futures::{channel::mpsc, StreamExt}; @@ -147,20 +146,10 @@ impl Service { fn handle_network_event( &mut self, - event: Event, + event: Event, ) -> Result<(), mpsc::TrySendError> { use Event::*; match event { - Connected(multiaddress) => { - trace!(target: "aleph-network", "Connected event from address {:?}", multiaddress); - self.network - .add_reserved(iter::once(multiaddress).collect(), Protocol::Authentication); - } - Disconnected(peer) => { - trace!(target: "aleph-network", "Disconnected event for peer {:?}", peer); - self.network - .remove_reserved(iter::once(peer).collect(), Protocol::Authentication); - } StreamOpened(peer, protocol) => { trace!(target: "aleph-network", "StreamOpened event for peer {:?} and the protocol {:?}.", peer, protocol); let rx = match &protocol { @@ -246,7 +235,7 @@ impl Service { #[cfg(test)] mod tests { - use std::{collections::HashSet, iter, iter::FromIterator}; + use std::collections::HashSet; use codec::Encode; use futures::{ @@ -262,7 +251,7 @@ mod tests { mock::{MockData, MockEvent, MockNetwork, MockSenderError}, NetworkServiceIO, Protocol, }, - testing::mocks::validator_network::{random_multiaddress, random_peer_id}, + testing::mocks::validator_network::random_peer_id, }; const PROTOCOL: Protocol = Protocol::Authentication; @@ -309,57 +298,6 @@ mod tests { vec![i, i + 1, i + 2] } - #[tokio::test] - async fn test_sync_connected() { - let mut test_data = TestData::prepare().await; - - let address = random_multiaddress(); - test_data - .service - .handle_network_event(MockEvent::Connected(address.clone())) - .expect("Should handle"); - - let expected = (iter::once(address).collect(), PROTOCOL); - - assert_eq!( - test_data - .network - .add_reserved - .next() - .await - .expect("Should receive message"), - expected - ); - - test_data.cleanup().await - } - - #[tokio::test] - async fn test_sync_disconnected() { - let mut test_data = TestData::prepare().await; - - let peer_id = random_peer_id(); - - test_data - .service - .handle_network_event(MockEvent::Disconnected(peer_id.clone())) - .expect("Should handle"); - - let expected = (iter::once(peer_id).collect(), PROTOCOL); - - assert_eq!( - test_data - .network - .remove_reserved - .next() - .await - .expect("Should receive message"), - expected - ); - - test_data.cleanup().await - } - #[tokio::test] async fn test_notification_stream_opened() { let mut test_data = TestData::prepare().await; @@ -452,7 +390,7 @@ mod tests { .network .create_sender_errors .lock() - .push_back(MockSenderError::SomeError); + .push_back(MockSenderError); let peer_id = random_peer_id(); @@ -491,7 +429,7 @@ mod tests { .network .send_errors .lock() - .push_back(MockSenderError::SomeError); + .push_back(MockSenderError); let peer_id = random_peer_id(); diff --git a/finality-aleph/src/substrate_network.rs b/finality-aleph/src/substrate_network.rs index 5ce9e126a3..0f3e0b2bae 100644 --- a/finality-aleph/src/substrate_network.rs +++ b/finality-aleph/src/substrate_network.rs @@ -1,12 +1,12 @@ -use std::{collections::HashSet, fmt, iter, pin::Pin, sync::Arc}; +use std::{fmt, iter, pin::Pin, sync::Arc}; use async_trait::async_trait; use futures::stream::{Stream, StreamExt}; -use log::error; +use log::{error, trace}; use sc_consensus::JustificationSyncLink; use sc_network::{ - multiaddr::Protocol as MultiaddressProtocol, Event as SubstrateEvent, Multiaddr, - NetworkService, NetworkSyncForkRequest, PeerId, + multiaddr::Protocol as MultiaddressProtocol, Event as SubstrateEvent, NetworkService, + NetworkSyncForkRequest, PeerId, }; use sc_network_common::{ protocol::ProtocolName, @@ -122,22 +122,40 @@ impl NetworkSender for SubstrateNetworkSender { } } -type NetworkEventStream = Pin + Send>>; +pub struct NetworkEventStream { + stream: Pin + Send>>, + network: Arc>, +} #[async_trait] -impl EventStream for NetworkEventStream { - async fn next_event(&mut self) -> Option> { +impl EventStream for NetworkEventStream { + async fn next_event(&mut self) -> Option> { use Event::*; use SubstrateEvent::*; loop { - match self.next().await { + match self.stream.next().await { Some(event) => match event { SyncConnected { remote } => { - return Some(Connected( - iter::once(MultiaddressProtocol::P2p(remote.into())).collect(), - )) + let multiaddress = + iter::once(MultiaddressProtocol::P2p(remote.into())).collect(); + trace!(target: "aleph-network", "Connected event from address {:?}", multiaddress); + if let Err(e) = self.network.add_peers_to_reserved_set( + protocol_name(&Protocol::Authentication), + iter::once(multiaddress).collect(), + ) { + error!(target: "aleph-network", "add_reserved failed: {}", e); + } + continue; + } + SyncDisconnected { remote } => { + trace!(target: "aleph-network", "Disconnected event for peer {:?}", remote); + let addresses = iter::once(remote).collect(); + self.network.remove_peers_from_reserved_set( + protocol_name(&Protocol::Authentication), + addresses, + ); + continue; } - SyncDisconnected { remote } => return Some(Disconnected(remote)), NotificationStreamOpened { remote, protocol, .. } => match to_protocol(protocol.as_ref()) { @@ -177,11 +195,13 @@ impl Network for Arc> { type SenderError = SenderError; type NetworkSender = SubstrateNetworkSender; type PeerId = PeerId; - type Multiaddress = Multiaddr; - type EventStream = NetworkEventStream; + type EventStream = NetworkEventStream; fn event_stream(&self) -> Self::EventStream { - Box::pin(self.as_ref().event_stream("aleph-network")) + NetworkEventStream { + stream: Box::pin(self.as_ref().event_stream("aleph-network")), + network: self.clone(), + } } fn sender( @@ -198,17 +218,4 @@ impl Network for Arc> { peer_id, }) } - - fn add_reserved(&self, addresses: HashSet, protocol: Protocol) { - if let Err(e) = self - .add_peers_to_reserved_set(protocol_name(&protocol), addresses.into_iter().collect()) - { - error!(target: "aleph-network", "add_reserved failed: {}", e); - } - } - - fn remove_reserved(&self, peers: HashSet, protocol: Protocol) { - let addresses = peers.into_iter().collect(); - self.remove_peers_from_reserved_set(protocol_name(&protocol), addresses); - } } From 00b30e43f2f1e913923497304bbf24309e110b77 Mon Sep 17 00:00:00 2001 From: kostekIV <27210860+kostekIV@users.noreply.github.com> Date: Wed, 7 Dec 2022 20:59:01 +0100 Subject: [PATCH 032/212] fix clashing args in purge-chain cmd (#792) --- bin/node/src/commands.rs | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/bin/node/src/commands.rs b/bin/node/src/commands.rs index ddbea7e3e5..3d9af7179a 100644 --- a/bin/node/src/commands.rs +++ b/bin/node/src/commands.rs @@ -302,8 +302,14 @@ pub struct PurgeChainCmd { impl PurgeChainCmd { pub fn run(&self, database_config: DatabaseSource) -> Result<(), Error> { - self.purge_chain.run(database_config)?; - self.purge_backup.run(self.purge_chain.yes) + self.purge_backup.run( + self.purge_chain.yes, + self.purge_chain + .shared_params + .base_path()? + .ok_or_else(|| Error::Input("need base-path to be provided".to_string()))?, + )?; + self.purge_chain.run(database_config) } } @@ -319,16 +325,14 @@ impl CliConfiguration for PurgeChainCmd { #[derive(Debug, Parser)] pub struct PurgeBackupCmd { - #[clap(flatten)] - pub node_params: NodeParams, + /// Directory under which AlephBFT backup is stored + #[arg(long, default_value = DEFAULT_BACKUP_FOLDER)] + pub backup_dir: String, } impl PurgeBackupCmd { - pub fn run(&self, skip_prompt: bool) -> Result<(), Error> { - let backup_path = backup_path( - self.node_params.base_path().path(), - self.node_params.backup_dir(), - ); + pub fn run(&self, skip_prompt: bool, base_path: BasePath) -> Result<(), Error> { + let backup_path = backup_path(base_path.path(), &self.backup_dir); if !skip_prompt { print!( From 3e8c12b67c6ffad274e7f1844292dce0e6ebdc76 Mon Sep 17 00:00:00 2001 From: kostekIV <27210860+kostekIV@users.noreply.github.com> Date: Thu, 8 Dec 2022 07:57:55 +0100 Subject: [PATCH 033/212] add e2e tests for permissionless election (#702) --- .github/workflows/e2e-tests-main-devnet.yml | 16 ++++ aleph-client/src/pallets/elections.rs | 21 ++++- e2e-tests/src/test/ban.rs | 97 ++++++++++++++++++++- e2e-tests/src/test/mod.rs | 4 +- 4 files changed, 132 insertions(+), 6 deletions(-) diff --git a/.github/workflows/e2e-tests-main-devnet.yml b/.github/workflows/e2e-tests-main-devnet.yml index fd9047eb87..1dab717e3b 100644 --- a/.github/workflows/e2e-tests-main-devnet.yml +++ b/.github/workflows/e2e-tests-main-devnet.yml @@ -518,6 +518,21 @@ jobs: follow-up-finalization-check: true timeout-minutes: 15 + run-e2e-permissionless-ban: + needs: [ build-test-docker, build-test-client ] + name: Run permissionless ban test + runs-on: ubuntu-20.04 + steps: + - name: Checkout source code + uses: actions/checkout@v2 + + - name: Run e2e test + uses: ./.github/actions/run-e2e-test + with: + test-case: permissionless_ban + follow-up-finalization-check: true + timeout-minutes: 15 + run-e2e-version-upgrade: needs: [build-test-docker, build-test-client] name: Run basic (positive) version-upgrade test @@ -642,6 +657,7 @@ jobs: run-e2e-ban-counter-clearing, run-e2e-ban-threshold, run-e2e-version-upgrade, + run-e2e-permissionless-ban, # run-e2e-failing-version-upgrade, # run-e2e-version-upgrade-catchup, ] diff --git a/aleph-client/src/pallets/elections.rs b/aleph-client/src/pallets/elections.rs index b4b770cd65..cb9f1ef5bd 100644 --- a/aleph-client/src/pallets/elections.rs +++ b/aleph-client/src/pallets/elections.rs @@ -6,8 +6,10 @@ use crate::{ pallet_elections::pallet::Call::set_ban_config, primitives::{BanReason, CommitteeSeats, EraValidators}, }, - pallet_elections::pallet::Call::{ban_from_committee, change_validators}, - primitives::{BanConfig, BanInfo}, + pallet_elections::pallet::Call::{ + ban_from_committee, change_validators, set_elections_openness, + }, + primitives::{BanConfig, BanInfo, ElectionOpenness}, AccountId, BlockHash, Call::Elections, Connection, RootConnection, SudoCall, TxStatus, @@ -68,6 +70,11 @@ pub trait ElectionsSudoApi { ban_reason: Vec, status: TxStatus, ) -> anyhow::Result; + async fn set_election_openness( + &self, + mode: ElectionOpenness, + status: TxStatus, + ) -> anyhow::Result; } #[async_trait::async_trait] @@ -212,4 +219,14 @@ impl ElectionsSudoApi for RootConnection { }); self.sudo_unchecked(call, status).await } + + async fn set_election_openness( + &self, + mode: ElectionOpenness, + status: TxStatus, + ) -> anyhow::Result { + let call = Elections(set_elections_openness { openness: mode }); + + self.sudo_unchecked(call, status).await + } } diff --git a/e2e-tests/src/test/ban.rs b/e2e-tests/src/test/ban.rs index c7b8869ff1..b1ddebd621 100644 --- a/e2e-tests/src/test/ban.rs +++ b/e2e-tests/src/test/ban.rs @@ -1,10 +1,12 @@ +use std::collections::HashSet; + use aleph_client::{ pallets::{ elections::{ElectionsApi, ElectionsSudoApi}, session::SessionApi, - staking::StakingApi, + staking::{StakingApi, StakingUserApi}, }, - primitives::{BanInfo, BanReason}, + primitives::{BanInfo, BanReason, CommitteeSeats, ElectionOpenness}, sp_core::bounded::bounded_vec::BoundedVec, waiting::{BlockStatus, WaitingExt}, SignedConnection, TxStatus, @@ -16,7 +18,7 @@ use primitives::{ }; use crate::{ - accounts::{get_validator_seed, NodeKeys}, + accounts::{account_ids_from_keys, get_validator_seed, NodeKeys}, ban::{ check_ban_config, check_ban_event, check_ban_info_for_validator, check_underperformed_count_for_sessions, check_underperformed_validator_reason, @@ -24,6 +26,7 @@ use crate::{ }, config, rewards::set_invalid_keys_for_validator, + validators::get_test_validators, }; const SESSIONS_TO_CHECK: SessionCount = 5; @@ -50,6 +53,17 @@ async fn disable_validator(validator_address: &str, validator_seed: u32) -> anyh set_invalid_keys_for_validator(&connection_to_disable).await } +async fn signed_connection_for_disabled_controller() -> SignedConnection { + let validator_seed = get_validator_seed(VALIDATOR_TO_DISABLE_OVERALL_INDEX); + let stash_controller = NodeKeys::from(validator_seed); + let controller_key_to_disable = stash_controller.controller; + SignedConnection::new( + NODE_TO_DISABLE_ADDRESS.to_string(), + controller_key_to_disable, + ) + .await +} + /// Runs a chain, sets up a committee and validators. Sets an incorrect key for one of the /// validators. Waits for the offending validator to hit the ban threshold of sessions without /// producing blocks. Verifies that the offending validator has in fact been banned out for the @@ -272,6 +286,83 @@ pub async fn clearing_session_count() -> anyhow::Result<()> { Ok(()) } +/// Setup reserved validators, non_reserved are set to empty vec. Set ban config ban_period to 2. +/// Set Openness to Permissionless. +/// Ban manually one validator. Check if the banned validator is out of the non_reserved and is back +/// after ban period. +#[tokio::test] +pub async fn permissionless_ban() -> anyhow::Result<()> { + let config = config::setup_test(); + let root_connection = config.create_root_connection().await; + + let validator_keys = get_test_validators(config); + let reserved_validators = account_ids_from_keys(&validator_keys.reserved); + let non_reserved_validators = account_ids_from_keys(&validator_keys.non_reserved); + + let seats = CommitteeSeats { + reserved_seats: 2, + non_reserved_seats: 2, + }; + + let validator_to_ban = + &non_reserved_validators[VALIDATOR_TO_DISABLE_NON_RESERVED_INDEX as usize]; + let mut non_reserved_without_banned = non_reserved_validators.to_vec(); + non_reserved_without_banned.remove(VALIDATOR_TO_DISABLE_NON_RESERVED_INDEX as usize); + + let ban_period = 2; + root_connection + .change_validators( + Some(reserved_validators), + Some(non_reserved_validators.clone()), + Some(seats), + TxStatus::InBlock, + ) + .await?; + root_connection + .set_election_openness(ElectionOpenness::Permissionless, TxStatus::InBlock) + .await?; + root_connection + .set_ban_config(None, None, None, Some(ban_period), TxStatus::InBlock) + .await?; + root_connection + .ban_from_committee(validator_to_ban.clone(), vec![], TxStatus::InBlock) + .await?; + root_connection + .connection + .wait_for_n_eras(2, BlockStatus::Finalized) + .await; + + let without_banned = HashSet::<_>::from_iter(non_reserved_without_banned); + let non_reserved = HashSet::<_>::from_iter( + root_connection + .connection + .get_current_era_validators(None) + .await + .non_reserved, + ); + assert_eq!(without_banned, non_reserved); + + let signed_connection = signed_connection_for_disabled_controller().await; + // validate again + signed_connection.validate(0, TxStatus::InBlock).await?; + root_connection + .connection + .wait_for_n_eras(2, BlockStatus::Finalized) + .await; + let expected_non_reserved = HashSet::<_>::from_iter(non_reserved_validators); + let non_reserved = HashSet::<_>::from_iter( + root_connection + .connection + .get_current_era_validators(None) + .await + .non_reserved, + ); + + assert_eq!(expected_non_reserved, non_reserved); + + Ok(()) +} + /// Runs a chain, sets up a committee and validators. Changes the ban config to require 100% /// performance. Checks that each validator has all the sessions in which they were chosen for the /// committee marked as ones in which they underperformed. diff --git a/e2e-tests/src/test/mod.rs b/e2e-tests/src/test/mod.rs index 052e5184ea..392a56f4e5 100644 --- a/e2e-tests/src/test/mod.rs +++ b/e2e-tests/src/test/mod.rs @@ -1,4 +1,6 @@ -pub use ban::{ban_automatic, ban_manual, ban_threshold, clearing_session_count}; +pub use ban::{ + ban_automatic, ban_manual, ban_threshold, clearing_session_count, permissionless_ban, +}; pub use electing_validators::authorities_are_staking; pub use era_payout::era_payouts_calculated_correctly; pub use era_validators::era_validators; From a4064fa58a1c36c12e0e24c10023208aedd2619f Mon Sep 17 00:00:00 2001 From: fixxxedpoint Date: Thu, 8 Dec 2022 11:55:49 +0100 Subject: [PATCH 034/212] we put more docker in your docker so...you can test your network (#786) * initial version of Dockerfile for synthetic network aleph-node * working synthetic-network * build script for aleph-node:synthetic-network * added script for running synthetic-network * added descriptive log line to run-synthetic-network * extended `help` of run_consensus_synthetic-network.sh * refactored build_synthetic-network... * added script for running scripts for synthetic-network * refactored synthetic-network scripts * refactored run_script_for_synthetic-network.sh * refactored run_script_for_synthetic-network.sh: added help and args * added description to patching step in build-synthetic-network script * added description about aleph-node:latest docker image requirement in run_consensus_synthetic-network.sh * reformated Dockerfile.synthetic-network * added PREREQ to run_script_for_synthetic-network.sh * +x on synthetic-network scripts * added note about node.js in run_script_for_synthetic-network.sh * more robust Dockerfile.synthetic_network * FIX: docker-compose for synthetic-network was using two seperate networks and somehow libp2p was using the other one, not controlled by us * added a shell script allowing to reset to default settings a node within synthetic-network * moved scripts for synthetic-network * example .js script for synthetic-network * moved synthetic-network scripts * added README.md for synthetic-network * FIX: run_consensus_synthetic-network.sh after it was moved * passing args to invoked script in run_script_for_synthetic-network.sh * small change in README.md for synthetic-network * review changes for synthetic-network --- docker/Dockerfile.synthetic_network | 14 +++ docker/docker-compose.synthetic-network.yml | 96 +++++++++++++++++++ scripts/common.sh | 2 +- scripts/synthetic-network/README.md | 21 ++++ .../build_synthetic-network.sh | 35 +++++++ scripts/synthetic-network/latency.js | 22 +++++ .../run_consensus_synthetic-network.sh | 65 +++++++++++++ .../run_script_for_synthetic-network.sh | 65 +++++++++++++ .../set_defaults_synthetic-network.sh | 89 +++++++++++++++++ 9 files changed, 408 insertions(+), 1 deletion(-) create mode 100644 docker/Dockerfile.synthetic_network create mode 100644 docker/docker-compose.synthetic-network.yml create mode 100644 scripts/synthetic-network/README.md create mode 100755 scripts/synthetic-network/build_synthetic-network.sh create mode 100644 scripts/synthetic-network/latency.js create mode 100755 scripts/synthetic-network/run_consensus_synthetic-network.sh create mode 100755 scripts/synthetic-network/run_script_for_synthetic-network.sh create mode 100755 scripts/synthetic-network/set_defaults_synthetic-network.sh diff --git a/docker/Dockerfile.synthetic_network b/docker/Dockerfile.synthetic_network new file mode 100644 index 0000000000..145b85762f --- /dev/null +++ b/docker/Dockerfile.synthetic_network @@ -0,0 +1,14 @@ +FROM syntheticnet:latest as synthnet + +FROM aleph-node:latest + +# Linux networking tools and node.js +RUN apt update && \ + apt install nodejs curl iproute2 iputils-ping net-tools netwox tcpdump gdb gdbserver stress -y + +COPY --from=synthnet /opt/lib/ /opt/lib/ +WORKDIR /opt/lib +ENTRYPOINT [] +ENV ENTRY="/node/docker_entrypoint.sh" +CMD ["/opt/lib/setup.sh"] + diff --git a/docker/docker-compose.synthetic-network.yml b/docker/docker-compose.synthetic-network.yml new file mode 100644 index 0000000000..a9438eddaa --- /dev/null +++ b/docker/docker-compose.synthetic-network.yml @@ -0,0 +1,96 @@ +services: + Node0: + extends: + file: docker-compose.base.yml + service: Node0 + image: aleph-node:syntheticnet + networks: + - synthetic-network + cap_add: + - NET_ADMIN + - NET_RAW + - SYS_PTRACE + environment: + - SYNTHETIC_NETWORK=10.77.0.0/16 + - PUBLIC_VALIDATOR_ADDRESS=Node0:30343 + ports: + - 3000:80 + + Node1: + extends: + file: docker-compose.base.yml + service: Node1 + image: aleph-node:syntheticnet + networks: + - synthetic-network + cap_add: + - NET_ADMIN + - NET_RAW + - SYS_PTRACE + environment: + - SYNTHETIC_NETWORK=10.77.0.0/16 + - PUBLIC_VALIDATOR_ADDRESS=Node1:30344 + - BOOT_NODES=/dns4/Node0/tcp/30333/p2p/$BOOTNODE_PEER_ID + ports: + - 3001:80 + + Node2: + extends: + file: docker-compose.base.yml + service: Node2 + image: aleph-node:syntheticnet + networks: + - synthetic-network + cap_add: + - NET_ADMIN + - NET_RAW + - SYS_PTRACE + environment: + - SYNTHETIC_NETWORK=10.77.0.0/16 + - PUBLIC_VALIDATOR_ADDRESS=Node2:30345 + - BOOT_NODES=/dns4/Node0/tcp/30333/p2p/$BOOTNODE_PEER_ID + ports: + - 3002:80 + + Node3: + extends: + file: docker-compose.base.yml + service: Node3 + image: aleph-node:syntheticnet + networks: + - synthetic-network + cap_add: + - NET_ADMIN + - NET_RAW + - SYS_PTRACE + environment: + - SYNTHETIC_NETWORK=10.77.0.0/16 + - PUBLIC_VALIDATOR_ADDRESS=Node3:30346 + - BOOT_NODES=/dns4/Node0/tcp/30333/p2p/$BOOTNODE_PEER_ID + ports: + - 3003:80 + + Node4: + extends: + file: docker-compose.base.yml + service: Node4 + image: aleph-node:syntheticnet + networks: + - synthetic-network + cap_add: + - NET_ADMIN + - NET_RAW + - SYS_PTRACE + environment: + - SYNTHETIC_NETWORK=10.77.0.0/16 + - PUBLIC_VALIDATOR_ADDRESS=Node4:30347 + - BOOT_NODES=/dns4/Node0/tcp/30333/p2p/$BOOTNODE_PEER_ID + ports: + - 3004:80 + +networks: + synthetic-network: + ipam: + config: + - subnet: 10.77.0.0/16 + diff --git a/scripts/common.sh b/scripts/common.sh index 7e575d265b..9df43ce744 100644 --- a/scripts/common.sh +++ b/scripts/common.sh @@ -103,7 +103,7 @@ function get_last_block() { local validator=$1 local rpc_port=$2 - local last_block=0 + local last_block="" while [[ -z "$last_block" ]]; do last_block=$(retrieve_last_block $validator $rpc_port) sleep 1 diff --git a/scripts/synthetic-network/README.md b/scripts/synthetic-network/README.md new file mode 100644 index 0000000000..ce2897ea5a --- /dev/null +++ b/scripts/synthetic-network/README.md @@ -0,0 +1,21 @@ +# synthetic-network + +This folder contains various scripts that allows to spawn and interact with `aleph-node` executed within a so called +synthetic-network. synthetic-network is a tool for docker that allows you to simulate different network conditions, like +variable latency, rate limit, etc. Easiest way to manage parameters of a synthetic-network is to use its web-ui - after +executing `run_consensus_synthetic-network.sh` it should be available at http://localhost:3000 (each node has separate settings +page, i.e. :3001 is Node1, ...). + +# Content of this folder + +Main file in this folder is `run_consensus_synthetic-network.sh`. It builds a docker-image containing `aleph-node` and some +arbitrary set of networking and debugging tools. It also consist of files required to spawn an instance of the +synthetic-network. Its requirements are: docker, docker-compose, git, `aleph-node:latest` docker-image. + +`set_defaults_synthetic-network.sh` allows you to reset settings of the synthetic-network to some sane defaults. You might need +to use it when you set too restrictive values for some of its parameters, i.e. rate limit that make you unable to further +interact with its web-ui. + +Additionally, this folder contains an example .js script introducing API of the synthetic-network. You can use it by executing +`run_script_for_synthetic-network.sh --script-path ./latency.js`. + diff --git a/scripts/synthetic-network/build_synthetic-network.sh b/scripts/synthetic-network/build_synthetic-network.sh new file mode 100755 index 0000000000..ddb803829c --- /dev/null +++ b/scripts/synthetic-network/build_synthetic-network.sh @@ -0,0 +1,35 @@ +#!/bin/env bash + +set -euo pipefail + +source ./scripts/common.sh + +GIT_COMMIT=${GIT_COMMIT:-72bbb4fde915e4132c19cd7ce3605364abac58a5} + +TMPDIR="$(dirname $0)/vendor" +mkdir -p $TMPDIR +log "created a temporary folder at $TMPDIR" + +pushd . + +log "cloning synthetic-network's git repo" +cd $TMPDIR +if [[ ! -d ./synthetic-network ]]; then + git clone https://github.com/daily-co/synthetic-network.git +fi +cd synthetic-network +git fetch origin +git checkout $GIT_COMMIT + +log "building base docker image for synthetic-network with support for synthetic-network" +log "patching synthetic network" +# aleph-node crashes since it uses newer glibc than this image +sed -i 's/FROM node:12.20.2/FROM node:19.2/' Dockerfile +docker build -t syntheticnet . + +popd + +log "building docker image for aleph-node that supports synthetic-network" +docker build -t aleph-node:syntheticnet -f docker/Dockerfile.synthetic_network . + +exit 0 diff --git a/scripts/synthetic-network/latency.js b/scripts/synthetic-network/latency.js new file mode 100644 index 0000000000..fb34459479 --- /dev/null +++ b/scripts/synthetic-network/latency.js @@ -0,0 +1,22 @@ +const argv = require('node:process').argv; +const inLatency = argv.length <= 2 ? 0 : argv.at(2); +const outLatency = argv.length <= 3 ? 0 : argv.at(3); +console.log("setting in-latency to", inLatency); +console.log("setting out-latency to", outLatency); + +const SyntheticNetwork = require('../vendor/synthetic-network/frontend'); + +async function setLatency(host, port, inLatency, outLatency) { + const synthnet = new SyntheticNetwork({ hostname: host, port: port }); + synthnet.default_link.egress.latency(outLatency); + synthnet.default_link.ingress.latency(inLatency); + await synthnet.commit(); +} + +async function run(inLatency, outLatency) { + for (let it = 0; it < 5; it++) { + await setLatency('localhost', 3000 + it, inLatency, outLatency); + } +} + +run(inLatency, outLatency); diff --git a/scripts/synthetic-network/run_consensus_synthetic-network.sh b/scripts/synthetic-network/run_consensus_synthetic-network.sh new file mode 100755 index 0000000000..9c66c4d0f4 --- /dev/null +++ b/scripts/synthetic-network/run_consensus_synthetic-network.sh @@ -0,0 +1,65 @@ +#!/bin/env bash + +set -euo pipefail + +source ./scripts/common.sh + +function usage(){ + cat << EOF +Usage: + $0 + This script allows you to run aleph-node within docker and simulate some custom network conditions, e.g. delays, rate limit, + package loss. Additionally, each node is preinstalled with the 'stress' tool, that allows to simulate high occupancy of nodes + cpu and io. It should allow us test more realistic high volume network conditions without the need to spawn hundreds of + aws instances. For more details on networking part of this solution, visit https://github.com/daily-co/synthetic-network . + IMPORTANT: this script requires aleph-node:latest docker image. + --no-build-image + skip docker image build + --commit 72bbb4fde915e4132c19cd7ce3605364abac58a5 + commit hash used to build synthetic-network, default is 72bbb4fde915e4132c19cd7ce3605364abac58a5 +EOF + exit 0 +} + +function build_test_image() { + local commit=$1 + local path=$2 + + GIT_COMMIT=$commit ${path}/build_synthetic-network.sh +} + +while [[ $# -gt 0 ]]; do + case $1 in + --no-build-image) + BUILD_IMAGE=false + shift + ;; + --commit) + GIT_COMMIT="$2" + shift;shift + ;; + --help) + usage + shift + ;; + *) + error "Unrecognized argument $1!" + ;; + esac +done + +BUILD_IMAGE=${BUILD_IMAGE:-true} +GIT_COMMIT=${GIT_COMMIT:-72bbb4fde915e4132c19cd7ce3605364abac58a5} + +if [[ "$BUILD_IMAGE" = true ]]; then + log "building custom docker image for synthetic-network tests" + path=$(dirname $0) + build_test_image $GIT_COMMIT $path +fi + +log "running synthetic-network" +DOCKER_COMPOSE=./docker/docker-compose.synthetic-network.yml ./.github/scripts/run_consensus.sh +log "open a web browser at http://localhost:3000 (port 3000 is Node0, 3001 is Node1, ...)" +xdg-open http://localhost:3000 + +exit 0 diff --git a/scripts/synthetic-network/run_script_for_synthetic-network.sh b/scripts/synthetic-network/run_script_for_synthetic-network.sh new file mode 100755 index 0000000000..b8b44d98c3 --- /dev/null +++ b/scripts/synthetic-network/run_script_for_synthetic-network.sh @@ -0,0 +1,65 @@ +#!/bin/env bash + +set -euo pipefail + +source ./scripts/common.sh + +function usage(){ + cat << EOF +Usage: + $0 + This script allows you to run a custom .js script using the synthetic-network network simulation tool. + IMPORTANT: first you need to call 'scripts/run_consensus_synthetic-network.sh' and let it run in background. + It spawns docker-compose configured with synthetic-network. + It requires node.js to run. + --commit 72bbb4fde915e4132c19cd7ce3605364abac58a5 + commit hash used to build synthetic-network, default is 72bbb4fde915e4132c19cd7ce3605364abac58a5 + --script-path scripts/vendor/synthetic-network/frontend/udp_rate_sine_demo.js + path to a synthetic-network scrypt. Default is a demo scripts/vendor/synthetic-network/frontend/udp_rate_sine_demo.js + from the synthetic-network repo. Please consult synthetic-network repo for details: https://github.com/daily-co/synthetic-network +EOF + exit 0 +} + +while [[ $# -gt 0 ]]; do + case $1 in + --commit) + GIT_COMMIT="$2" + shift;shift + ;; + --script-path) + SCRIPT_PATH="$2" + shift;shift + ;; + --help) + usage + shift + ;; + *) + break + ;; + esac +done + +GIT_COMMIT=${GIT_COMMIT:-72bbb4fde915e4132c19cd7ce3605364abac58a5} +SCRIPT_PATH=${SCRIPT_PATH:-scripts/vendor/synthetic-network/frontend/udp_rate_sine_demo.js} +SCRIPT_PATH=$(realpath $SCRIPT_PATH) + +TMPDIR="$(dirname $0)/vendor" +mkdir -p $TMPDIR +log "created a temporary folder at $TMPDIR" + +log "cloning synthetic-network's git repo" +cd $TMPDIR +if [[ ! -d ./synthetic-network ]]; then + git clone https://github.com/daily-co/synthetic-network.git +fi +cd synthetic-network +git fetch origin +git checkout $GIT_COMMIT +cd frontend + +log "running .js script" +node $SCRIPT_PATH ${@:1} + +exit 0 diff --git a/scripts/synthetic-network/set_defaults_synthetic-network.sh b/scripts/synthetic-network/set_defaults_synthetic-network.sh new file mode 100755 index 0000000000..767e700077 --- /dev/null +++ b/scripts/synthetic-network/set_defaults_synthetic-network.sh @@ -0,0 +1,89 @@ +#!/bin/env bash + +set -euo pipefail + +source ./scripts/common.sh + +function usage() { + cat << EOF +Usage: + $0 + This scripts sets network settings for the synthetic-network to some sane defaults. + + --node Node0 + name of the docker container inside which this script should be executed, default is 'Node0' +EOF + exit 0 +} + +while [[ $# -gt 0 ]]; do + case $1 in + --node) + NODE="$2" + shift;shift + ;; + --help) + usage + shift + ;; + *) + error "Unrecognized argument $1!" + ;; + esac +done + +NODE=${NODE:-Node0} + +docker exec $NODE curl -H "Content-Type: application/json" \ +-d \ +'{ + "default_link": { + "ingress": { + "rate": 27800000, + "loss": 0, + "latency": 0, + "jitter": 0, + "jitter_strength": 0, + "reorder_packets": false + }, + "egress": { + "rate": 1000000, + "loss": 0, + "latency": 0, + "jitter": 0, + "jitter_strength": 0, + "reorder_packets": false + } + }, + "flows": [ + { + "label": "http", + "flow": { + "ip": 0, + "protocol": 6, + "port_min": 80, + "port_max": 80 + }, + "link": { + "ingress": { + "rate": 96500000, + "loss": 0, + "latency": 0, + "jitter": 0, + "jitter_strength": 0, + "reorder_packets": false + }, + "egress": { + "rate": 96500000, + "loss": 0, + "latency": 0, + "jitter": 0, + "jitter_strength": 0, + "reorder_packets": false + } + } + } + ] +}' http://localhost:80/qos + +exit 0 From d7f9d7d9c105937a24fd0e5361e7f69b6e28df7d Mon Sep 17 00:00:00 2001 From: Mikolaj Gasior Date: Thu, 8 Dec 2022 13:04:23 +0100 Subject: [PATCH 035/212] A0-1520: Add uploading runtime to CI S3 bucket and attaching it to release (#699) * Add uploading binary and runtime to CI S3 bucket * Add runtime to prerelease and release assets --- .github/workflows/build-node-and-runtime.yml | 58 +++++++++++++++++++- .github/workflows/deploy-feature-envs.yaml | 1 + .github/workflows/deploy-mainnet.yml | 24 ++++++++ .github/workflows/deploy-testnet.yml | 24 ++++++++ .github/workflows/e2e-tests-main-devnet.yml | 1 + .github/workflows/nightly-pipeline.yaml | 1 + 6 files changed, 108 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build-node-and-runtime.yml b/.github/workflows/build-node-and-runtime.yml index a34e6b1856..3cfe155af0 100644 --- a/.github/workflows/build-node-and-runtime.yml +++ b/.github/workflows/build-node-and-runtime.yml @@ -12,7 +12,6 @@ on: required: false type: string - jobs: build: name: Build binary artifacts @@ -25,6 +24,10 @@ jobs: with: ref: ${{ inputs.ref }} + - name: Get branch name and commit SHA + id: get_branch + uses: ./.github/actions/get-branch + - name: Install Rust toolchain uses: actions-rs/toolchain@v1 @@ -61,6 +64,37 @@ jobs: if-no-files-found: error retention-days: 7 + - name: S3 CI | Configure AWS credentials + uses: aws-actions/configure-aws-credentials@v1 + env: + AWS_REGION: us-east-1 + with: + aws-access-key-id: ${{ secrets.AWS_MAINNET_ACCESS_KEY_ID }} + aws-secret-access-key: ${{ secrets.AWS_MAINNET_SECRET_ACCESS_KEY }} + aws-region: ${{ env.AWS_REGION }} + + - name: S3 CI | Copy release binary to S3 bucket + shell: bash + env: + BINARY_DIR: target/production + BINARY_FILE: aleph-node + S3BUCKET_URL: s3://${{ secrets.CI_MAINNET_S3BUCKET_NAME }}/builds/aleph-node/commits/${{ steps.get_branch.outputs.sha_short }}/aleph-node + S3BUCKET_FILE: aleph-node-${{ steps.get_branch.outputs.sha_short }}.tar.gz + run: | + tar -cvzf ${{ env.S3BUCKET_FILE }} -C ${{ env.BINARY_DIR }} ${{ env.BINARY_FILE }} + aws s3 cp ${{ env.S3BUCKET_FILE }} ${{ env.S3BUCKET_URL }}/${{ env.S3BUCKET_FILE }} + + - name: S3 CI | Copy release runtime to S3 bucket + shell: bash + env: + BINARY_DIR: target/production/wbuild/aleph-runtime + BINARY_FILE: aleph_runtime.compact.wasm + S3BUCKET_URL: s3://${{ secrets.CI_MAINNET_S3BUCKET_NAME }}/builds/aleph-node/commits/${{ steps.get_branch.outputs.sha_short }}/aleph-runtime + S3BUCKET_FILE: aleph-runtime-${{ steps.get_branch.outputs.sha_short }}.tar.gz + run: | + tar -cvzf ${{ env.S3BUCKET_FILE }} -C ${{ env.BINARY_DIR }} ${{ env.BINARY_FILE }} + aws s3 cp ${{ env.S3BUCKET_FILE }} ${{ env.S3BUCKET_URL }}/${{ env.S3BUCKET_FILE }} + - name: Build test binary run: cargo build --release -p aleph-node --features "short_session enable_treasury_proposals only_legacy" @@ -80,5 +114,27 @@ jobs: if-no-files-found: error retention-days: 7 + - name: S3 CI | Copy test binary to S3 bucket + shell: bash + env: + BINARY_DIR: target/release + BINARY_FILE: aleph-node + S3BUCKET_URL: s3://${{ secrets.CI_MAINNET_S3BUCKET_NAME }}/builds/aleph-node/commits/${{ steps.get_branch.outputs.sha_short }}/aleph-test-node + S3BUCKET_FILE: aleph-test-node-${{ steps.get_branch.outputs.sha_short }}.tar.gz + run: | + tar -cvzf ${{ env.S3BUCKET_FILE }} -C ${{ env.BINARY_DIR }} ${{ env.BINARY_FILE }} + aws s3 cp ${{ env.S3BUCKET_FILE }} ${{ env.S3BUCKET_URL }}/${{ env.S3BUCKET_FILE }} + + - name: S3 CI | Copy test runtime to S3 bucket + shell: bash + env: + BINARY_DIR: target/release/wbuild/aleph-runtime + BINARY_FILE: aleph_runtime.compact.wasm + S3BUCKET_URL: s3://${{ secrets.CI_MAINNET_S3BUCKET_NAME }}/builds/aleph-node/commits/${{ steps.get_branch.outputs.sha_short }}/aleph-test-runtime + S3BUCKET_FILE: aleph-test-runtime-${{ steps.get_branch.outputs.sha_short }}.tar.gz + run: | + tar -cvzf ${{ env.S3BUCKET_FILE }} -C ${{ env.BINARY_DIR }} ${{ env.BINARY_FILE }} + aws s3 cp ${{ env.S3BUCKET_FILE }} ${{ env.S3BUCKET_URL }}/${{ env.S3BUCKET_FILE }} + - name: Cleanup cache uses: ./.github/actions/post-cache diff --git a/.github/workflows/deploy-feature-envs.yaml b/.github/workflows/deploy-feature-envs.yaml index 1886dce81f..b16b7fb80e 100644 --- a/.github/workflows/deploy-feature-envs.yaml +++ b/.github/workflows/deploy-feature-envs.yaml @@ -31,6 +31,7 @@ jobs: if: (github.event.label.name == '[AZERO] DEPLOY-FEATURE-ENV') || (github.event.label.name == '[AZERO] DEPLOY-HOT-FEATURE-ENV') name: Build runtime and aleph-node binary artefacts uses: ./.github/workflows/build-node-and-runtime.yml + secrets: inherit push_pr_image: if: (github.event.label.name == '[AZERO] DEPLOY-FEATURE-ENV') || (github.event.label.name == '[AZERO] DEPLOY-HOT-FEATURE-ENV') diff --git a/.github/workflows/deploy-mainnet.yml b/.github/workflows/deploy-mainnet.yml index fdff14f645..c63e1cc4ba 100644 --- a/.github/workflows/deploy-mainnet.yml +++ b/.github/workflows/deploy-mainnet.yml @@ -72,6 +72,30 @@ jobs: docker push ${{ env.DOCKERHUB_MAINNET_IMAGE }} docker push ${{ env.DOCKERHUB_MAINNET_LATEST_IMAGE }} + - name: S3 CI | Configure AWS credentials + uses: aws-actions/configure-aws-credentials@v1 + env: + AWS_REGION: us-east-1 + with: + aws-access-key-id: ${{ secrets.AWS_MAINNET_ACCESS_KEY_ID }} + aws-secret-access-key: ${{ secrets.AWS_MAINNET_SECRET_ACCESS_KEY }} + aws-region: ${{ env.AWS_REGION }} + + - name: S3 CI | Download release runtime from S3 bucket + shell: bash + env: + S3BUCKET_URL: s3://${{ secrets.CI_MAINNET_S3BUCKET_NAME }}/builds/aleph-node/commits/${{ steps.get_branch.outputs.sha_short }}/aleph-runtime + S3BUCKET_FILE: aleph-runtime-${{ steps.get_branch.outputs.sha_short }}.tar.gz + run: | + aws s3 cp ${{ env.S3BUCKET_URL }}/${{ S3BUCKET_FILE }} ${{ env.S3BUCKET_FILE }} + + - name: RELEASE ASSET | Add runtime to the release + uses: softprops/action-gh-release@v1 + if: startsWith(github.ref, 'refs/tags/') + with: + files: | + aleph-runtime-${{ steps.get_branch.outputs.sha_short }}.tar.gz + - name: GIT | Checkout aleph-apps repo uses: actions/checkout@master with: diff --git a/.github/workflows/deploy-testnet.yml b/.github/workflows/deploy-testnet.yml index d5e108431d..827ae6d7da 100644 --- a/.github/workflows/deploy-testnet.yml +++ b/.github/workflows/deploy-testnet.yml @@ -79,6 +79,30 @@ jobs: docker push ${{ env.DOCKERHUB_TESTNET_IMAGE }} docker push ${{ env.DOCKERHUB_TESTNET_LATEST_IMAGE }} + - name: S3 CI | Configure AWS credentials + uses: aws-actions/configure-aws-credentials@v1 + env: + AWS_REGION: us-east-1 + with: + aws-access-key-id: ${{ secrets.AWS_DEVNET_ACCESS_KEY_ID }} + aws-secret-access-key: ${{ secrets.AWS_DEVNET_SECRET_ACCESS_KEY }} + aws-region: ${{ env.AWS_REGION }} + + - name: S3 CI | Download release runtime from S3 bucket + shell: bash + env: + S3BUCKET_URL: s3://${{ secrets.CI_MAINNET_S3BUCKET_NAME }}/builds/aleph-node/commits/${{ steps.get_branch.outputs.sha_short }}/aleph-runtime + S3BUCKET_FILE: aleph-runtime-${{ steps.get_branch.outputs.sha_short }}.tar.gz + run: | + aws s3 cp ${{ env.S3BUCKET_URL }}/${{ S3BUCKET_FILE }} ${{ env.S3BUCKET_FILE }} + + - name: RELEASE ASSET | Add runtime to the release + uses: softprops/action-gh-release@v1 + if: startsWith(github.ref, 'refs/tags/') + with: + files: | + aleph-runtime-${{ steps.get_branch.outputs.sha_short }}.tar.gz + - name: GIT | Checkout aleph-apps repo uses: actions/checkout@master with: diff --git a/.github/workflows/e2e-tests-main-devnet.yml b/.github/workflows/e2e-tests-main-devnet.yml index 1dab717e3b..63ee5476c7 100644 --- a/.github/workflows/e2e-tests-main-devnet.yml +++ b/.github/workflows/e2e-tests-main-devnet.yml @@ -23,6 +23,7 @@ jobs: build-new-node: name: Build node and runtime artifacts (PR version) uses: ./.github/workflows/build-node-and-runtime.yml + secrets: inherit build-test-docker: needs: [build-new-node] diff --git a/.github/workflows/nightly-pipeline.yaml b/.github/workflows/nightly-pipeline.yaml index 25ee16ca50..fe47743973 100644 --- a/.github/workflows/nightly-pipeline.yaml +++ b/.github/workflows/nightly-pipeline.yaml @@ -12,6 +12,7 @@ jobs: build-new-node: name: Build node and runtime artifacts (PR version) uses: ./.github/workflows/build-node-and-runtime.yml + secrets: inherit build-test-docker: needs: [build-new-node] From 4bf650d05c388cb6b879e1928d82d8254b3dc7c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Obrok?= Date: Thu, 8 Dec 2022 17:21:48 +0100 Subject: [PATCH 036/212] A0-1503: Take e2e config from env (#779) * Take e2e config from env * Add README to e2e-tests --- e2e-tests/README.md | 16 +++++++++ e2e-tests/docker_entrypoint.sh | 26 +-------------- e2e-tests/src/config.rs | 61 ++++++++++++++++++++++------------ scripts/run_e2e.sh | 2 +- 4 files changed, 57 insertions(+), 48 deletions(-) create mode 100644 e2e-tests/README.md diff --git a/e2e-tests/README.md b/e2e-tests/README.md new file mode 100644 index 0000000000..7aaa662010 --- /dev/null +++ b/e2e-tests/README.md @@ -0,0 +1,16 @@ +# e2e-tests + +This crate contains e2e test scenarios for the aleph-node. + +## Running + +The most basic way to run (assuming a local node is listening on 9944) is: + +```bash +$ NODE=ws://127.0.0.1:9944 cargo test name_of_one_test +``` + +Note that the particular test cases might require different numbers of launched nodes, validators, or a particular +configuration of the launched nodes, see the documentation for a particular test case for details. + +Additional options are passed to the tests via env variables. See `src/config.rs` for docs on available options. diff --git a/e2e-tests/docker_entrypoint.sh b/e2e-tests/docker_entrypoint.sh index 3fa2fe11d0..783e0e1036 100644 --- a/e2e-tests/docker_entrypoint.sh +++ b/e2e-tests/docker_entrypoint.sh @@ -1,30 +1,6 @@ #!/usr/bin/env bash set -euo pipefail -ARGS=( - --node "${NODE_URL}" -) - -if [[ -n "${TEST_CASES:-}" ]]; then - ARGS+=(--test-cases "${TEST_CASES}") -fi - -# If test case params are both not empty, run client with them. Otherwise, run without params. -if [[ -n "${RESERVED_SEATS:-}" && -n "${NON_RESERVED_SEATS:-}" ]]; then - ARGS+=( - --reserved-seats "${RESERVED_SEATS}" - --non-reserved-seats "${NON_RESERVED_SEATS}" - ) -fi - -if [[ -n "${UPGRADE_VERSION:-}" && -n "${UPGRADE_SESSION:-}" && -n "${UPGRADE_FINALIZATION_WAIT_SESSIONS:-}" ]]; then - ARGS+=( - --upgrade-to-version "${UPGRADE_VERSION}" - --upgrade-session "${UPGRADE_SESSION}" - --upgrade-finalization-wait-sessions "${UPGRADE_FINALIZATION_WAIT_SESSIONS}" - ) -fi - -E2E_CONFIG="${ARGS[*]}" aleph-e2e-client $TEST_CASES --nocapture +aleph-e2e-client $TEST_CASES --nocapture --test-threads 1 echo "Done!" diff --git a/e2e-tests/src/config.rs b/e2e-tests/src/config.rs index f3364a218c..4dc0bac63f 100644 --- a/e2e-tests/src/config.rs +++ b/e2e-tests/src/config.rs @@ -1,49 +1,71 @@ -use std::env; +use std::{env, str::FromStr}; use aleph_client::{RootConnection, SignedConnection}; -use clap::{Args, Parser}; use once_cell::sync::Lazy; use primitives::SessionIndex; use crate::accounts::{get_sudo_key, get_validators_keys, get_validators_seeds, NodeKeys}; static GLOBAL_CONFIG: Lazy = Lazy::new(|| { - let unparsed = env::var("E2E_CONFIG").unwrap_or("".to_string()); - let unparsed = format!("e2e {}", unparsed); - Config::parse_from(unparsed.split_whitespace()) + let node = get_env("NODE_URL").unwrap_or_else(|| "ws://127.0.0.1:9943".to_string()); + let validator_count = get_env("VALIDATOR_COUNT").unwrap_or_else(|| 5); + let validators_seeds = env::var("VALIDATORS_SEEDS") + .ok() + .map(|s| s.split(',').map(|s| s.to_string()).collect()); + let sudo_seed = get_env("SUDO_SEED").unwrap_or_else(|| "//Alice".to_string()); + let reserved_seats = get_env("RESERVED_SEATS"); + let non_reserved_seats = get_env("NON_RESERVED_SEATS"); + let upgrade_to_version = get_env("UPGRADE_VERSION"); + let upgrade_session = get_env("UPGRADE_SESSION"); + let upgrade_finalization_wait_sessions = get_env("UPGRADE_FINALIZATION_WAIT_SESSIONS"); + + Config { + node, + validator_count, + validators_seeds, + sudo_seed, + test_case_params: TestCaseParams { + reserved_seats, + non_reserved_seats, + upgrade_to_version, + upgrade_session, + upgrade_finalization_wait_sessions, + }, + } }); +fn get_env(name: &str) -> Option +where + T: FromStr, + ::Err: std::fmt::Debug, +{ + env::var(name).ok().map(|v| { + v.parse() + .expect(&format!("Failed to parse env var {}", name)) + }) +} + pub fn setup_test() -> &'static Config { let _ = env_logger::builder().is_test(true).try_init(); &GLOBAL_CONFIG } -#[derive(Debug, Parser, Clone)] -#[clap(version = "1.0")] +#[derive(Debug, Clone)] pub struct Config { /// WS endpoint address of the node to connect to - #[clap(long, default_value = "ws://127.0.0.1:9943")] pub node: String, - /// Test cases to run. - #[clap(long)] - pub test_cases: Option>, - /// Number of //0, //1, ... validators to run e2e tests on - #[clap(long, default_value = "5")] pub validator_count: u32, /// Seed values to create accounts /// Optional: by default we use //0, //1, ... seeds for validators - #[clap(long)] pub validators_seeds: Option>, /// Seed value of sudo account - #[clap(long, default_value = "//Alice")] pub sudo_seed: String, /// Test case parameters, used for test setup. - #[clap(flatten)] pub test_case_params: TestCaseParams, } @@ -75,25 +97,20 @@ impl Config { } /// Parameters which can be passed to test cases. -#[derive(Args, Clone, Debug)] +#[derive(Clone, Debug)] pub struct TestCaseParams { /// Desired number of reserved seats for validators, may be set within the test. - #[clap(long)] pub reserved_seats: Option, /// Desired number of non-reserved seats for validators, may be set within the test. - #[clap(long)] pub non_reserved_seats: Option, /// Version for the VersionUpgrade test. - #[clap(long)] pub upgrade_to_version: Option, /// Session in which we should schedule an upgrade in VersionUpgrade test. - #[clap(long)] pub upgrade_session: Option, /// How many sessions we should wait after upgrade in VersionUpgrade test. - #[clap(long)] pub upgrade_finalization_wait_sessions: Option, } diff --git a/scripts/run_e2e.sh b/scripts/run_e2e.sh index d7d0266cc0..3d01b3f153 100755 --- a/scripts/run_e2e.sh +++ b/scripts/run_e2e.sh @@ -4,6 +4,6 @@ set -e cd e2e-tests/ -E2E_CONFIG="--node ws://127.0.0.1:9943" RUST_LOG=info cargo test -- --nocapture +NODE_URL="ws://127.0.0.1:9944" RUST_LOG=info cargo test -- --nocapture --test-threads 1 exit $? From 97860d814bee6783556d505c84effd2ed97d1b41 Mon Sep 17 00:00:00 2001 From: timorl Date: Thu, 8 Dec 2022 18:45:44 +0100 Subject: [PATCH 037/212] A0-1575: Addressing information refactor (#795) * Addressing information refactor * Clippy being actually helpful * Demariofy Co-authored-by: timorl --- finality-aleph/src/network/io.rs | 26 +- .../src/network/manager/compatibility.rs | 296 ++++++++-- .../src/network/manager/discovery.rs | 291 ++++----- finality-aleph/src/network/manager/mod.rs | 78 ++- finality-aleph/src/network/manager/service.rs | 234 ++++---- finality-aleph/src/network/manager/session.rs | 552 +++++++----------- finality-aleph/src/network/mock.rs | 24 +- finality-aleph/src/network/mod.rs | 50 +- finality-aleph/src/tcp_network.rs | 167 ++++-- .../src/testing/mocks/validator_network.rs | 127 ++-- finality-aleph/src/testing/network.rs | 162 +++-- .../validator_network/manager/direction.rs | 52 +- .../src/validator_network/manager/legacy.rs | 44 +- .../src/validator_network/manager/mod.rs | 42 +- finality-aleph/src/validator_network/mod.rs | 7 +- .../src/validator_network/outgoing.rs | 13 +- .../src/validator_network/service.rs | 40 +- 17 files changed, 1228 insertions(+), 977 deletions(-) diff --git a/finality-aleph/src/network/io.rs b/finality-aleph/src/network/io.rs index 8557349581..32c890fb23 100644 --- a/finality-aleph/src/network/io.rs +++ b/finality-aleph/src/network/io.rs @@ -1,28 +1,34 @@ +use std::fmt::Debug; + use futures::channel::mpsc; use crate::{ network::{ manager::{DataInSession, VersionedAuthentication}, - ConnectionManagerIO, Data, Multiaddress, NetworkServiceIO as NetworkIO, SessionManagerIO, + AddressingInformation, ConnectionManagerIO, Data, NetworkServiceIO as NetworkIO, + SessionManagerIO, }, validator_network::{Network as ValidatorNetwork, PublicKey}, }; -type AuthenticationNetworkIO = NetworkIO>; +type AuthenticationNetworkIO = NetworkIO>; + +type FullIO = ( + ConnectionManagerIO, + AuthenticationNetworkIO, + SessionManagerIO, +); pub fn setup< D: Data, - M: Multiaddress + 'static, - VN: ValidatorNetwork>, + M: Data + Debug, + A: AddressingInformation + TryFrom> + Into>, + VN: ValidatorNetwork>, >( validator_network: VN, -) -> ( - ConnectionManagerIO, - AuthenticationNetworkIO, - SessionManagerIO, -) +) -> FullIO where - M::PeerId: PublicKey, + A::PeerId: PublicKey, { // Prepare and start the network let (messages_for_network, messages_from_user) = mpsc::unbounded(); diff --git a/finality-aleph/src/network/manager/compatibility.rs b/finality-aleph/src/network/manager/compatibility.rs index 5c68521dea..21afeb79bb 100644 --- a/finality-aleph/src/network/manager/compatibility.rs +++ b/finality-aleph/src/network/manager/compatibility.rs @@ -7,8 +7,11 @@ use codec::{Decode, Encode, Error as CodecError, Input as CodecInput}; use log::warn; use crate::{ - network::{manager::DiscoveryMessage, Multiaddress}, - Version, + network::{ + manager::{AuthData, Authentication, LegacyAuthentication}, + AddressingInformation, Data, + }, + SessionId, Version, }; type ByteCount = u16; @@ -16,28 +19,131 @@ type ByteCount = u16; // We allow sending authentications of size up to 16KiB, that should be enough. const MAX_AUTHENTICATION_SIZE: u16 = 16 * 1024; +/// The possible forms of peer authentications we can have, either only new, only legacy or both. +#[derive(Clone, Debug, PartialEq, Eq, Hash)] +pub enum PeerAuthentications> + Into>> { + NewOnly(Authentication), + LegacyOnly(LegacyAuthentication), + Both(Authentication, LegacyAuthentication), +} + +impl> + Into>> PeerAuthentications { + /// The session with which these authentications are associated. + pub fn session_id(&self) -> SessionId { + use PeerAuthentications::*; + match self { + NewOnly((auth_data, _)) | Both((auth_data, _), _) => auth_data.session(), + LegacyOnly((auth_data, _)) => auth_data.session(), + } + } + + /// Add an authentication, overriding one that might have been here previously. + pub fn add_authentication(&mut self, authentication: Authentication) { + use PeerAuthentications::*; + match self { + NewOnly(_) => *self = NewOnly(authentication), + LegacyOnly(legacy_authentication) | Both(_, legacy_authentication) => { + *self = Both(authentication, legacy_authentication.clone()) + } + } + } + + /// Add a legacy authentication, overriding one that might have been here previously. + pub fn add_legacy_authentication(&mut self, legacy_authentication: LegacyAuthentication) { + use PeerAuthentications::*; + match self { + LegacyOnly(_) => *self = LegacyOnly(legacy_authentication), + NewOnly(authentication) | Both(authentication, _) => { + *self = Both(authentication.clone(), legacy_authentication) + } + } + } + + /// The associated address, if any. Can be `None` only for legacy authentications. + pub fn maybe_address(&self) -> Option { + use PeerAuthentications::*; + match self { + NewOnly((auth_data, _)) | Both((auth_data, _), _) => Some(auth_data.address()), + LegacyOnly((legacy_auth_data, _)) => legacy_auth_data + .clone() + .try_into() + .map(|auth_data: AuthData| auth_data.address()) + .ok(), + } + } +} + +/// Legacy messages used for discovery and authentication. +#[derive(Clone, Debug, PartialEq, Eq, Hash, Encode, Decode)] +pub enum LegacyDiscoveryMessage { + AuthenticationBroadcast(LegacyAuthentication), + Authentication(LegacyAuthentication), +} + #[derive(Clone, Debug, PartialEq, Eq)] -pub enum VersionedAuthentication { +pub enum VersionedAuthentication { // Most likely from the future. Other(Version, Vec), - V1(DiscoveryMessage), + V1(LegacyDiscoveryMessage), + V2(Authentication), } -impl TryInto> for VersionedAuthentication { - type Error = Error; - - fn try_into(self) -> Result, Self::Error> { +impl> + Into>> + From> for Vec> +{ + fn from(authentications: PeerAuthentications) -> Self { + use LegacyDiscoveryMessage::*; + use PeerAuthentications::*; use VersionedAuthentication::*; + match authentications { + NewOnly(authentication) => vec![V2(authentication)], + LegacyOnly(legacy_authentication) => { + vec![V1(AuthenticationBroadcast(legacy_authentication))] + } + Both(authentication, legacy_authentication) => vec![ + V2(authentication), + V1(AuthenticationBroadcast(legacy_authentication)), + ], + } + } +} + +/// One of the possible messages we could have gotten as part of discovery. +/// Ignores whether the old authentication was a broadcast or not, we don't send the +/// non-broadcasts anymore anyway, and treating them as broadcasts doesn't break anything. +#[derive(Clone, Debug, PartialEq, Eq, Hash)] +pub enum DiscoveryMessage> + Into>> { + Authentication(Authentication), + LegacyAuthentication(LegacyAuthentication), +} + +impl> + Into>> DiscoveryMessage { + /// Session ID associated with this message. + pub fn session_id(&self) -> SessionId { + use DiscoveryMessage::*; match self { - V1(message) => Ok(message), - Other(v, _) => Err(Error::UnknownVersion(v)), + Authentication((auth_data, _)) => auth_data.session(), + LegacyAuthentication((auth_data, _)) => auth_data.session(), } } } -impl From> for VersionedAuthentication { - fn from(message: DiscoveryMessage) -> VersionedAuthentication { - VersionedAuthentication::V1(message) +impl> + Into>> + TryInto> for VersionedAuthentication +{ + type Error = Error; + + fn try_into(self) -> Result, Self::Error> { + use LegacyDiscoveryMessage::*; + use VersionedAuthentication::*; + match self { + V1(AuthenticationBroadcast(legacy_authentication)) + | V1(Authentication(legacy_authentication)) => Ok( + DiscoveryMessage::LegacyAuthentication(legacy_authentication), + ), + V2(authentication) => Ok(DiscoveryMessage::Authentication(authentication)), + Other(v, _) => Err(Error::UnknownVersion(v)), + } } } @@ -71,7 +177,9 @@ fn encode_with_version(version: Version, payload: &[u8]) -> Vec { result } -impl Encode for VersionedAuthentication { +impl> + Into>> Encode + for VersionedAuthentication +{ fn size_hint(&self) -> usize { use VersionedAuthentication::*; let version_size = size_of::(); @@ -81,6 +189,7 @@ impl Encode for VersionedAuthentication { + match self { Other(_, payload) => payload.len(), V1(data) => data.size_hint(), + V2(data) => data.size_hint(), } } @@ -89,17 +198,21 @@ impl Encode for VersionedAuthentication { match self { Other(version, payload) => encode_with_version(*version, payload), V1(data) => encode_with_version(Version(1), &data.encode()), + V2(data) => encode_with_version(Version(2), &data.encode()), } } } -impl Decode for VersionedAuthentication { +impl> + Into>> Decode + for VersionedAuthentication +{ fn decode(input: &mut I) -> Result { use VersionedAuthentication::*; let version = Version::decode(input)?; let num_bytes = ByteCount::decode(input)?; match version { - Version(1) => Ok(V1(DiscoveryMessage::decode(input)?)), + Version(1) => Ok(V1(LegacyDiscoveryMessage::decode(input)?)), + Version(2) => Ok(V2(Authentication::decode(input)?)), _ => { if num_bytes > MAX_AUTHENTICATION_SIZE { Err("Authentication has unknown version and is encoded as more than 16KiB.")?; @@ -135,21 +248,24 @@ mod test { use codec::{Decode, Encode}; use sp_keystore::testing::KeyStore; - use super::{DiscoveryMessage, VersionedAuthentication}; + use super::VersionedAuthentication; use crate::{ crypto::AuthorityVerifier, network::{ - manager::{compatibility::MAX_AUTHENTICATION_SIZE, SessionHandler}, + manager::{ + compatibility::{PeerAuthentications, MAX_AUTHENTICATION_SIZE}, + LegacyDiscoveryMessage, SessionHandler, + }, NetworkIdentity, }, nodes::testing::new_pen, - tcp_network::{testing::new_identity, TcpMultiaddress}, - testing::mocks::validator_network::MockMultiaddress, + tcp_network::{testing::new_identity, LegacyTcpMultiaddress, TcpAddressingInformation}, + testing::mocks::validator_network::MockAddressingInformation, NodeIndex, SessionId, Version, }; /// Session Handler used for generating versioned authentication in `raw_authentication_v1` - async fn handler() -> SessionHandler { + async fn handler() -> SessionHandler { let mnemonic = "ring cool spatial rookie need wing opinion pond fork garbage more april"; let external_addresses = vec![ String::from("addr1"), @@ -159,19 +275,43 @@ mod test { let keystore = Arc::new(KeyStore::new()); let pen = new_pen(mnemonic, keystore).await; - let identity = new_identity( - external_addresses.into_iter().map(String::from).collect(), - pen.authority_id(), - ); + let identity = new_identity(external_addresses, pen.authority_id()); SessionHandler::new( Some((NodeIndex(21), pen)), AuthorityVerifier::new(vec![]), SessionId(37), - identity.identity().0, + identity.identity(), ) .await - .unwrap() + } + + fn authentication_v1( + handler: SessionHandler, + ) -> VersionedAuthentication { + match handler + .authentication() + .expect("should have authentication") + { + PeerAuthentications::Both(_, authentication) => { + VersionedAuthentication::V1(LegacyDiscoveryMessage::Authentication(authentication)) + } + _ => panic!("handler doesn't have both authentications"), + } + } + + fn authentication_v2( + handler: SessionHandler, + ) -> VersionedAuthentication { + match handler + .authentication() + .expect("should have authentication") + { + PeerAuthentications::Both(authentication, _) => { + VersionedAuthentication::V2(authentication) + } + _ => panic!("handler doesn't have both authentications"), + } } /// Versioned authentication for authority with: @@ -194,14 +334,29 @@ mod test { ] } + /// Versioned authentication for authority with: + /// external_addresses: [String::from("addr1"), String::from("addr2"), String::from("addr3")] + /// derived from mnemonic "ring cool spatial rookie need wing opinion pond fork garbage more april" + /// for node index 21 and session id 37 + /// encoded at version of Aleph Node after 8.0 + fn raw_authentication_v2() -> Vec { + //TODO: this will fail, check what it should be + vec![ + 2, 0, 127, 0, 50, 40, 192, 239, 72, 72, 119, 156, 76, 37, 212, 220, 76, 165, 39, 73, + 20, 89, 77, 66, 171, 174, 61, 31, 254, 137, 186, 1, 7, 141, 187, 219, 20, 97, 100, 100, + 114, 49, 8, 20, 97, 100, 100, 114, 50, 20, 97, 100, 100, 114, 51, 21, 0, 0, 0, 0, 0, 0, + 0, 37, 0, 0, 0, 62, 4, 215, 148, 82, 197, 128, 124, 68, 183, 132, 114, 101, 15, 49, + 220, 175, 29, 128, 15, 163, 6, 147, 56, 103, 140, 125, 92, 92, 243, 194, 168, 63, 65, + 101, 78, 165, 63, 169, 132, 73, 212, 6, 10, 231, 78, 48, 219, 70, 23, 180, 227, 95, + 141, 111, 60, 245, 119, 27, 84, 187, 33, 77, 2, + ] + } + #[tokio::test] async fn correcly_encodes_v1_to_bytes() { let handler = handler().await; let raw = raw_authentication_v1(); - - let authentication_v1 = VersionedAuthentication::V1(DiscoveryMessage::Authentication( - handler.authentication().unwrap(), - )); + let authentication_v1 = authentication_v1(handler); assert_eq!(authentication_v1.encode(), raw); } @@ -210,10 +365,7 @@ mod test { async fn correcly_decodes_v1_from_bytes() { let handler = handler().await; let raw = raw_authentication_v1(); - - let authentication_v1 = VersionedAuthentication::V1(DiscoveryMessage::Authentication( - handler.authentication().unwrap(), - )); + let authentication_v1 = authentication_v1(handler); let decoded = VersionedAuthentication::decode(&mut raw.as_slice()); @@ -223,10 +375,7 @@ mod test { #[tokio::test] async fn correctly_decodes_v1_roundtrip() { let handler = handler().await; - - let authentication_v1 = VersionedAuthentication::V1(DiscoveryMessage::Authentication( - handler.authentication().unwrap(), - )); + let authentication_v1 = authentication_v1(handler); let encoded = authentication_v1.encode(); let decoded = VersionedAuthentication::decode(&mut encoded.as_slice()); @@ -234,9 +383,44 @@ mod test { assert_eq!(decoded, Ok(authentication_v1)) } + #[tokio::test] + async fn correcly_encodes_v2_to_bytes() { + let handler = handler().await; + let raw = raw_authentication_v2(); + let authentication_v2 = authentication_v2(handler); + + assert_eq!(authentication_v2.encode(), raw); + } + + #[tokio::test] + async fn correcly_decodes_v2_from_bytes() { + let handler = handler().await; + let raw = raw_authentication_v2(); + let authentication_v2 = authentication_v2(handler); + + let decoded = VersionedAuthentication::decode(&mut raw.as_slice()); + + assert_eq!(decoded, Ok(authentication_v2)); + } + + #[tokio::test] + async fn correctly_decodes_v2_roundtrip() { + let handler = handler().await; + let authentication_v2 = authentication_v2(handler); + + let encoded = authentication_v2.encode(); + let decoded = VersionedAuthentication::decode(&mut encoded.as_slice()); + + assert_eq!(decoded, Ok(authentication_v2)) + } + #[tokio::test] async fn correctly_decodes_other() { - let other = VersionedAuthentication::::Other(Version(42), vec![21, 37]); + let other = + VersionedAuthentication::::Other( + Version(42), + vec![21, 37], + ); let encoded = other.encode(); let decoded = VersionedAuthentication::decode(&mut encoded.as_slice()); assert_eq!(decoded, Ok(other)); @@ -245,13 +429,15 @@ mod test { other_big.append(&mut (MAX_AUTHENTICATION_SIZE).encode()); other_big.append(&mut vec![0u8; (MAX_AUTHENTICATION_SIZE).into()]); let decoded = - VersionedAuthentication::::decode(&mut other_big.as_slice()); + VersionedAuthentication::::decode( + &mut other_big.as_slice(), + ); assert_eq!( decoded, - Ok(VersionedAuthentication::::Other( - Version(42), - other_big[4..].to_vec() - )) + Ok(VersionedAuthentication::< + MockAddressingInformation, + MockAddressingInformation, + >::Other(Version(42), other_big[4..].to_vec())) ); } @@ -261,13 +447,22 @@ mod test { let size = MAX_AUTHENTICATION_SIZE + 1; other.append(&mut size.encode()); other.append(&mut vec![0u8; size.into()]); - let decoded = VersionedAuthentication::::decode(&mut other.as_slice()); + let decoded = + VersionedAuthentication::::decode( + &mut other.as_slice(), + ); assert!(decoded.is_err()); let other = - VersionedAuthentication::::Other(Version(42), vec![0u8; size.into()]); + VersionedAuthentication::::Other( + Version(42), + vec![0u8; size.into()], + ); let encoded = other.encode(); - let decoded = VersionedAuthentication::::decode(&mut encoded.as_slice()); + let decoded = + VersionedAuthentication::::decode( + &mut encoded.as_slice(), + ); assert!(decoded.is_err()); } @@ -276,7 +471,10 @@ mod test { let mut other = 42u16.encode(); other.append(&mut MAX_AUTHENTICATION_SIZE.encode()); other.append(&mut vec![21, 37]); - let decoded = VersionedAuthentication::::decode(&mut other.as_slice()); + let decoded = + VersionedAuthentication::::decode( + &mut other.as_slice(), + ); assert!(decoded.is_err()); } } diff --git a/finality-aleph/src/network/manager/discovery.rs b/finality-aleph/src/network/manager/discovery.rs index 112fceadf3..f1b3d2bf3b 100644 --- a/finality-aleph/src/network/manager/discovery.rs +++ b/finality-aleph/src/network/manager/discovery.rs @@ -1,51 +1,38 @@ use std::{ collections::HashMap, + fmt::Debug, marker::PhantomData, time::{Duration, Instant}, }; -use codec::{Decode, Encode}; use log::{debug, info, trace}; use crate::{ network::{ - manager::{Authentication, SessionHandler}, - Multiaddress, + manager::{ + compatibility::PeerAuthentications, Authentication, LegacyAuthentication, + SessionHandler, + }, + AddressingInformation, Data, }, - NodeIndex, SessionId, + NodeIndex, }; -/// Messages used for discovery and authentication. -#[derive(Clone, Debug, PartialEq, Eq, Hash, Encode, Decode)] -pub enum DiscoveryMessage { - AuthenticationBroadcast(Authentication), - Authentication(Authentication), -} - -impl DiscoveryMessage { - pub fn session_id(&self) -> SessionId { - use DiscoveryMessage::*; - match self { - AuthenticationBroadcast((auth_data, _)) | Authentication((auth_data, _)) => { - auth_data.session() - } - } - } -} - /// Handles creating and rebroadcasting discovery messages. -pub struct Discovery { +pub struct Discovery> + Into>> { cooldown: Duration, last_broadcast: HashMap, - _phantom: PhantomData, + last_legacy_broadcast: HashMap, + _phantom: PhantomData<(M, A)>, } -impl Discovery { +impl> + Into>> Discovery { /// Create a new discovery handler with the given response/broadcast cooldown. pub fn new(cooldown: Duration) -> Self { Discovery { cooldown, last_broadcast: HashMap::new(), + last_legacy_broadcast: HashMap::new(), _phantom: PhantomData, } } @@ -53,8 +40,8 @@ impl Discovery { /// Returns a message that should be sent as part of authority discovery at this moment. pub fn discover_authorities( &mut self, - handler: &SessionHandler, - ) -> Option> { + handler: &SessionHandler, + ) -> Option> { let authentication = match handler.authentication() { Some(authentication) => authentication, None => return None, @@ -63,68 +50,68 @@ impl Discovery { let missing_authorities = handler.missing_nodes(); let node_count = handler.node_count(); info!(target: "aleph-network", "{}/{} authorities known for session {}.", node_count.0-missing_authorities.len(), node_count.0, handler.session_id().0); - Some(DiscoveryMessage::AuthenticationBroadcast(authentication)) + Some(authentication) } - /// Checks the authentication using the handler and returns the addresses we should be - /// connected to if the authentication is correct. - fn handle_authentication( - &mut self, - authentication: Authentication, - handler: &mut SessionHandler, - ) -> Vec { - if !handler.handle_authentication(authentication.clone()) { - return Vec::new(); + fn should_rebroadcast(&self, node_id: &NodeIndex) -> bool { + match self.last_broadcast.get(node_id) { + Some(instant) => Instant::now() > *instant + self.cooldown, + None => true, } - authentication.0.addresses() } - fn should_rebroadcast(&self, node_id: &NodeIndex) -> bool { - match self.last_broadcast.get(node_id) { + fn should_legacy_rebroadcast(&self, node_id: &NodeIndex) -> bool { + match self.last_legacy_broadcast.get(node_id) { Some(instant) => Instant::now() > *instant + self.cooldown, None => true, } } - fn handle_broadcast( + /// Processes the provided authentication and returns any new address we should + /// be connected to if we want to stay connected to the committee and an optional + /// message that we should send as a result of it. + pub fn handle_authentication( &mut self, - authentication: Authentication, - handler: &mut SessionHandler, - ) -> (Vec, Option>) { + authentication: Authentication, + handler: &mut SessionHandler, + ) -> (Option, Option>) { debug!(target: "aleph-network", "Handling broadcast with authentication {:?}.", authentication); - let addresses = self.handle_authentication(authentication.clone(), handler); - if addresses.is_empty() { - return (Vec::new(), None); - } + let address = match handler.handle_authentication(authentication.clone()) { + Some(address) => Some(address), + None => return (None, None), + }; let node_id = authentication.0.creator(); if !self.should_rebroadcast(&node_id) { - return (addresses, None); + return (address, None); } trace!(target: "aleph-network", "Rebroadcasting {:?}.", authentication); self.last_broadcast.insert(node_id, Instant::now()); - ( - addresses, - Some(DiscoveryMessage::AuthenticationBroadcast(authentication)), - ) + (address, Some(PeerAuthentications::NewOnly(authentication))) } - /// Analyzes the provided message and returns all the new multiaddresses we should + /// Processes the legacy authentication and returns any new address we should /// be connected to if we want to stay connected to the committee and an optional /// message that we should send as a result of it. - pub fn handle_message( + pub fn handle_legacy_authentication( &mut self, - message: DiscoveryMessage, - handler: &mut SessionHandler, - ) -> (Vec, Option>) { - use DiscoveryMessage::*; - match message { - AuthenticationBroadcast(authentication) => { - self.handle_broadcast(authentication, handler) - } - Authentication(authentication) => { - (self.handle_authentication(authentication, handler), None) - } + legacy_authentication: LegacyAuthentication, + handler: &mut SessionHandler, + ) -> (Option, Option>) { + debug!(target: "aleph-network", "Handling broadcast with legacy authentication {:?}.", legacy_authentication); + let address = match handler.handle_legacy_authentication(legacy_authentication.clone()) { + Some(address) => Some(address), + None => return (None, None), + }; + let node_id = legacy_authentication.0.creator(); + if !self.should_legacy_rebroadcast(&node_id) { + return (address, None); } + trace!(target: "aleph-network", "Rebroadcasting {:?}.", legacy_authentication); + self.last_legacy_broadcast.insert(node_id, Instant::now()); + ( + address, + Some(PeerAuthentications::LegacyOnly(legacy_authentication)), + ) } } @@ -132,30 +119,30 @@ impl Discovery { mod tests { use std::{thread::sleep, time::Duration}; - use codec::Encode; - - use super::{Discovery, DiscoveryMessage}; + use super::Discovery; use crate::{ - network::{manager::SessionHandler, mock::crypto_basics}, - testing::mocks::validator_network::{ - random_identity, random_multiaddress, MockMultiaddress, + network::{ + manager::{compatibility::PeerAuthentications, SessionHandler}, + mock::crypto_basics, + testing::{authentication, legacy_authentication}, }, + testing::mocks::validator_network::{random_address, MockAddressingInformation}, SessionId, }; const NUM_NODES: u8 = 7; const MS_COOLDOWN: u64 = 200; - fn addresses() -> Vec { - (0..NUM_NODES).map(|_| random_multiaddress()).collect() + fn addresses() -> Vec { + (0..NUM_NODES).map(|_| random_address()).collect() } async fn build_number( num_nodes: u8, ) -> ( - Discovery, - Vec>, - SessionHandler, + Discovery, + Vec>, + SessionHandler, ) { let crypto_basics = crypto_basics(num_nodes.into()).await; let mut handlers = Vec::new(); @@ -165,20 +152,18 @@ mod tests { Some(authority_index_and_pen), crypto_basics.1.clone(), SessionId(43), - vec![address], + address, ) - .await - .unwrap(), + .await, ); } let non_validator = SessionHandler::new( None, crypto_basics.1.clone(), SessionId(43), - random_identity().0, + random_address(), ) - .await - .unwrap(); + .await; ( Discovery::new(Duration::from_millis(MS_COOLDOWN)), handlers, @@ -187,9 +172,9 @@ mod tests { } async fn build() -> ( - Discovery, - Vec>, - SessionHandler, + Discovery, + Vec>, + SessionHandler, ) { build_number(NUM_NODES).await } @@ -199,10 +184,12 @@ mod tests { for num_nodes in 2..NUM_NODES { let (mut discovery, mut handlers, _) = build_number(num_nodes).await; let handler = &mut handlers[0]; - let message = discovery.discover_authorities(handler); + let maybe_authentication = discovery.discover_authorities(handler); assert_eq!( - message.expect("there is a discovery message"), - DiscoveryMessage::AuthenticationBroadcast(handler.authentication().unwrap()), + maybe_authentication.expect("there is an authentication"), + handler + .authentication() + .expect("the handler has an authentication"), ); } } @@ -210,100 +197,118 @@ mod tests { #[tokio::test] async fn non_validator_discover_authorities_returns_empty_vector() { let (mut discovery, _, non_validator) = build().await; - let message = discovery.discover_authorities(&non_validator); - assert!(message.is_none()); + let maybe_authentication = discovery.discover_authorities(&non_validator); + assert!(maybe_authentication.is_none()); } #[tokio::test] async fn rebroadcasts_and_accepts_addresses() { let (mut discovery, mut handlers, _) = build().await; - let authentication = handlers[1].authentication().unwrap(); + let authentication = authentication(&handlers[1]); + let handler = &mut handlers[0]; + let (address, command) = discovery.handle_authentication(authentication.clone(), handler); + assert_eq!(address, Some(authentication.0.address())); + assert!(matches!(command, Some( + PeerAuthentications::NewOnly(rebroadcast_authentication), + ) if rebroadcast_authentication == authentication)); + } + + #[tokio::test] + async fn legacy_rebroadcasts_and_accepts_addresses() { + let (mut discovery, mut handlers, _) = build().await; + let authentication = legacy_authentication(&handlers[1]); let handler = &mut handlers[0]; - let (addresses, command) = discovery.handle_message( - DiscoveryMessage::AuthenticationBroadcast(authentication.clone()), - handler, - ); - assert_eq!(addresses, authentication.0.addresses()); + let (_, command) = discovery.handle_legacy_authentication(authentication.clone(), handler); assert!(matches!(command, Some( - DiscoveryMessage::AuthenticationBroadcast(rebroadcast_authentication), + PeerAuthentications::LegacyOnly(rebroadcast_authentication), ) if rebroadcast_authentication == authentication)); } #[tokio::test] - async fn non_validators_rebroadcasts() { + async fn non_validator_rebroadcasts() { let (mut discovery, handlers, mut non_validator) = build().await; - let authentication = handlers[1].authentication().unwrap(); - let (addresses, command) = discovery.handle_message( - DiscoveryMessage::AuthenticationBroadcast(authentication.clone()), - &mut non_validator, - ); - assert_eq!(addresses, authentication.0.addresses()); + let authentication = authentication(&handlers[1]); + let (address, command) = + discovery.handle_authentication(authentication.clone(), &mut non_validator); + assert_eq!(address, Some(authentication.0.address())); assert!(matches!(command, Some( - DiscoveryMessage::AuthenticationBroadcast(rebroadcast_authentication), + PeerAuthentications::NewOnly(rebroadcast_authentication), + ) if rebroadcast_authentication == authentication)); + } + + #[tokio::test] + async fn legacy_non_validator_rebroadcasts() { + let (mut discovery, handlers, mut non_validator) = build().await; + let authentication = legacy_authentication(&handlers[1]); + let (_, command) = + discovery.handle_legacy_authentication(authentication.clone(), &mut non_validator); + assert!(matches!(command, Some( + PeerAuthentications::LegacyOnly(rebroadcast_authentication), ) if rebroadcast_authentication == authentication)); } #[tokio::test] async fn does_not_rebroadcast_wrong_authentications() { let (mut discovery, mut handlers, _) = build().await; - let (auth_data, _) = handlers[1].authentication().unwrap(); - let (_, signature) = handlers[2].authentication().unwrap(); + let (auth_data, _) = authentication(&handlers[1]); + let (_, signature) = authentication(&handlers[2]); let authentication = (auth_data, signature); let handler = &mut handlers[0]; - let (addresses, command) = discovery.handle_message( - DiscoveryMessage::AuthenticationBroadcast(authentication), - handler, - ); - assert!(addresses.is_empty()); + let (address, command) = discovery.handle_authentication(authentication, handler); + assert!(address.is_none()); + assert!(command.is_none()); + } + + #[tokio::test] + async fn legacy_does_not_rebroadcast_wrong_authentications() { + let (mut discovery, mut handlers, _) = build().await; + let (auth_data, _) = legacy_authentication(&handlers[1]); + let (_, signature) = legacy_authentication(&handlers[2]); + let authentication = (auth_data, signature); + let handler = &mut handlers[0]; + let (address, command) = discovery.handle_legacy_authentication(authentication, handler); + assert!(address.is_none()); assert!(command.is_none()); } #[tokio::test] async fn rebroadcasts_after_cooldown() { let (mut discovery, mut handlers, _) = build().await; - let authentication = handlers[1].authentication().unwrap(); + let authentication = authentication(&handlers[1]); let handler = &mut handlers[0]; - discovery.handle_message( - DiscoveryMessage::AuthenticationBroadcast(authentication.clone()), - handler, - ); + discovery.handle_authentication(authentication.clone(), handler); sleep(Duration::from_millis(MS_COOLDOWN + 5)); - let (addresses, command) = discovery.handle_message( - DiscoveryMessage::AuthenticationBroadcast(authentication.clone()), - handler, - ); - assert_eq!(addresses, authentication.0.addresses()); + let (address, command) = discovery.handle_authentication(authentication.clone(), handler); + assert_eq!(address, Some(authentication.0.address())); assert!(matches!(command, Some( - DiscoveryMessage::AuthenticationBroadcast(rebroadcast_authentication), + PeerAuthentications::NewOnly(rebroadcast_authentication), ) if rebroadcast_authentication == authentication)); } #[tokio::test] - async fn accepts_correct_authentications() { + async fn legacy_rebroadcasts_after_cooldown() { let (mut discovery, mut handlers, _) = build().await; - let expected_address = handlers[1].authentication().unwrap().0.addresses()[0].encode(); - let authentication = handlers[1].authentication().unwrap(); + let authentication = legacy_authentication(&handlers[1]); let handler = &mut handlers[0]; - let (addresses, command) = - discovery.handle_message(DiscoveryMessage::Authentication(authentication), handler); - assert_eq!(addresses.len(), 1); - let address = addresses[0].encode(); - assert_eq!(address, expected_address); - assert!(command.is_none()); + discovery.handle_legacy_authentication(authentication.clone(), handler); + sleep(Duration::from_millis(MS_COOLDOWN + 5)); + let (_, command) = discovery.handle_legacy_authentication(authentication.clone(), handler); + assert!(matches!(command, Some( + PeerAuthentications::LegacyOnly(rebroadcast_authentication), + ) if rebroadcast_authentication == authentication)); } #[tokio::test] - async fn does_not_accept_incorrect_authentications() { + async fn rebroadcasts_legacy_immediately() { let (mut discovery, mut handlers, _) = build().await; - let (auth_data, _) = handlers[1].authentication().unwrap(); - let (_, signature) = handlers[2].authentication().unwrap(); - let incorrect_authentication = (auth_data, signature); + let authentication = authentication(&handlers[1]); + let legacy_authentication = legacy_authentication(&handlers[1]); let handler = &mut handlers[0]; - let (addresses, command) = discovery.handle_message( - DiscoveryMessage::Authentication(incorrect_authentication), - handler, - ); - assert!(addresses.is_empty()); - assert!(command.is_none()); + discovery.handle_authentication(authentication, handler); + let (_, command) = + discovery.handle_legacy_authentication(legacy_authentication.clone(), handler); + assert!(matches!(command, Some( + PeerAuthentications::LegacyOnly(rebroadcast_authentication), + ) if rebroadcast_authentication == legacy_authentication)); } } diff --git a/finality-aleph/src/network/manager/mod.rs b/finality-aleph/src/network/manager/mod.rs index 35ab274ec3..ad79ae7bc8 100644 --- a/finality-aleph/src/network/manager/mod.rs +++ b/finality-aleph/src/network/manager/mod.rs @@ -2,7 +2,7 @@ use codec::{Decode, Encode, Error, Input, Output}; use crate::{ crypto::Signature, - network::{Data, Multiaddress}, + network::{AddressingInformation, Data}, NodeIndex, SessionId, }; @@ -12,25 +12,46 @@ mod discovery; mod service; mod session; -pub use compatibility::VersionedAuthentication; +pub use compatibility::{ + DiscoveryMessage, LegacyDiscoveryMessage, PeerAuthentications, VersionedAuthentication, +}; use connections::Connections; -pub use discovery::{Discovery, DiscoveryMessage}; +pub use discovery::Discovery; pub use service::{ Config as ConnectionManagerConfig, Service as ConnectionManager, SessionCommand, IO as ConnectionIO, }; pub use session::{Handler as SessionHandler, HandlerError as SessionHandlerError}; -/// Data validators use to authenticate themselves for a single session +/// Data validators used to use to authenticate themselves for a single session /// and disseminate their addresses. #[derive(Clone, Debug, PartialEq, Eq, Hash, Encode, Decode)] -pub struct AuthData { +pub struct LegacyAuthData { addresses: Vec, node_id: NodeIndex, session_id: SessionId, } -impl AuthData { +impl LegacyAuthData { + pub fn session(&self) -> SessionId { + self.session_id + } + + pub fn creator(&self) -> NodeIndex { + self.node_id + } +} + +/// Data validators use to authenticate themselves for a single session +/// and disseminate their addresses. +#[derive(Clone, Debug, PartialEq, Eq, Hash, Encode, Decode)] +pub struct AuthData { + address: A, + node_id: NodeIndex, + session_id: SessionId, +} + +impl AuthData { pub fn session(&self) -> SessionId { self.session_id } @@ -39,13 +60,52 @@ impl AuthData { self.node_id } - pub fn addresses(&self) -> Vec { - self.addresses.clone() + pub fn address(&self) -> A { + self.address.clone() } } +impl>> From> for LegacyAuthData { + fn from(auth_data: AuthData) -> Self { + let AuthData { + address, + node_id, + session_id, + } = auth_data; + let addresses = address.into(); + LegacyAuthData { + addresses, + node_id, + session_id, + } + } +} + +impl>> TryFrom> + for AuthData +{ + type Error = (); + + fn try_from(legacy_auth_data: LegacyAuthData) -> Result { + let LegacyAuthData { + addresses, + node_id, + session_id, + } = legacy_auth_data; + let address = addresses.try_into().map_err(|_| ())?; + Ok(AuthData { + address, + node_id, + session_id, + }) + } +} + +/// A full legacy authentication, consisting of a signed LegacyAuthData. +pub type LegacyAuthentication = (LegacyAuthData, Signature); + /// A full authentication, consisting of a signed AuthData. -pub type Authentication = (AuthData, Signature); +pub type Authentication = (AuthData, Signature); /// Data inside session, sent to validator network. /// Wrapper for data send over network. We need it to ensure compatibility. diff --git a/finality-aleph/src/network/manager/service.rs b/finality-aleph/src/network/manager/service.rs index e52d75232a..14393aed5b 100644 --- a/finality-aleph/src/network/manager/service.rs +++ b/finality-aleph/src/network/manager/service.rs @@ -1,6 +1,7 @@ use std::{ cmp, collections::{HashMap, HashSet}, + fmt::Debug, time::Duration, }; @@ -16,10 +17,10 @@ use crate::{ crypto::{AuthorityPen, AuthorityVerifier}, network::{ manager::{ - Connections, DataInSession, Discovery, DiscoveryMessage, SessionHandler, - SessionHandlerError, VersionedAuthentication, + compatibility::PeerAuthentications, Connections, DataInSession, Discovery, + DiscoveryMessage, SessionHandler, SessionHandlerError, VersionedAuthentication, }, - AddressedData, ConnectionCommand, Data, Multiaddress, NetworkIdentity, PeerId, + AddressedData, AddressingInformation, ConnectionCommand, Data, NetworkIdentity, PeerId, }, validator_network::{Network as ValidatorNetwork, PublicKey}, MillisecsPerBlock, NodeIndex, SessionId, SessionPeriod, STATUS_REPORT_INTERVAL, @@ -39,9 +40,9 @@ pub enum SessionCommand { Stop(SessionId), } -struct Session { - handler: SessionHandler, - discovery: Discovery, +struct Session> + Into>> { + handler: SessionHandler, + discovery: Discovery, data_for_user: Option>, } @@ -114,12 +115,12 @@ impl Config { /// Actions that the service wants to take as the result of some information. Might contain a /// command for connecting to or disconnecting from some peers or a message to broadcast for /// discovery purposes. -pub struct ServiceActions { - maybe_command: Option>, - maybe_message: Option>, +pub struct ServiceActions> + Into>> { + maybe_command: Option>, + maybe_message: Option>, } -impl ServiceActions { +impl> + Into>> ServiceActions { fn noop() -> Self { ServiceActions { maybe_command: None, @@ -137,10 +138,13 @@ impl ServiceActions { /// 1. In-session messages are forwarded to the user. /// 2. Authentication messages forwarded to session handlers. /// 4. Running periodic maintenance, mostly related to node discovery. -pub struct Service { +pub struct Service +where + NI::AddressingInformation: TryFrom> + Into>, +{ network_identity: NI, - connections: Connections<::PeerId>, - sessions: HashMap>, + connections: Connections, + sessions: HashMap>, to_retry: Vec<( PreSession, Option>>, @@ -150,7 +154,10 @@ pub struct Service { initial_delay: Duration, } -impl Service { +impl Service +where + NI::AddressingInformation: TryFrom> + Into>, +{ /// Create a new connection manager service. pub fn new(network_identity: NI, config: Config) -> Self { let Config { @@ -171,7 +178,7 @@ impl Service { fn delete_reserved( to_remove: HashSet, - ) -> Option> { + ) -> Option> { match to_remove.is_empty() { true => None, false => Some(ConnectionCommand::DelReserved(to_remove)), @@ -181,7 +188,7 @@ impl Service { fn finish_session( &mut self, session_id: SessionId, - ) -> Option> { + ) -> Option> { self.sessions.remove(&session_id); self.to_retry .retain(|(pre_session, _)| pre_session.session_id() != session_id); @@ -191,7 +198,7 @@ impl Service { fn discover_authorities( &mut self, session_id: &SessionId, - ) -> Option> { + ) -> Option> { self.sessions.get_mut(session_id).and_then( |Session { handler, discovery, .. @@ -200,7 +207,7 @@ impl Service { } /// Returns all the network messages that should be sent as part of discovery at this moment. - pub fn discovery(&mut self) -> Vec> { + pub fn discovery(&mut self) -> Vec> { let sessions: Vec<_> = self.sessions.keys().cloned().collect(); sessions .iter() @@ -208,26 +215,14 @@ impl Service { .collect() } - fn addresses(&self) -> Vec { - let (addresses, peer_id) = self.network_identity.identity(); - debug!(target: "aleph-network", "Got addresses:\n{:?}\n and peer_id:{:?}", addresses, peer_id); - addresses - .into_iter() - .filter_map(|address| address.add_matching_peer_id(peer_id.clone())) - .collect() - } - async fn start_validator_session( &mut self, pre_session: PreValidatorSession, - addresses: Vec, - ) -> Result< - ( - Option>, - mpsc::UnboundedReceiver, - ), - SessionHandlerError, - > { + address: NI::AddressingInformation, + ) -> ( + Option>, + mpsc::UnboundedReceiver, + ) { let PreValidatorSession { session_id, verifier, @@ -235,7 +230,7 @@ impl Service { pen, } = pre_session; let handler = - SessionHandler::new(Some((node_id, pen)), verifier, session_id, addresses).await?; + SessionHandler::new(Some((node_id, pen)), verifier, session_id, address).await; let discovery = Discovery::new(self.discovery_cooldown); let (data_for_user, data_from_network) = mpsc::unbounded(); let data_for_user = Some(data_for_user); @@ -247,20 +242,25 @@ impl Service { data_for_user, }, ); - Ok((self.discover_authorities(&session_id), data_from_network)) + (self.discover_authorities(&session_id), data_from_network) } async fn update_validator_session( &mut self, pre_session: PreValidatorSession, - ) -> Result<(ServiceActions, mpsc::UnboundedReceiver), SessionHandlerError> - { - let addresses = self.addresses(); + ) -> Result< + ( + ServiceActions, + mpsc::UnboundedReceiver, + ), + SessionHandlerError, + > { + let address = self.network_identity.identity(); let session = match self.sessions.get_mut(&pre_session.session_id) { Some(session) => session, None => { let (maybe_message, data_from_network) = - self.start_validator_session(pre_session, addresses).await?; + self.start_validator_session(pre_session, address).await; return Ok(( ServiceActions { maybe_command: None, @@ -278,10 +278,10 @@ impl Service { } = pre_session; let peers_to_stay = session .handler - .update(Some((node_id, pen)), verifier, addresses) + .update(Some((node_id, pen)), verifier, address) .await? .iter() - .flat_map(|address| address.get_peer_id()) + .map(|address| address.peer_id()) .collect(); let maybe_command = Self::delete_reserved( self.connections @@ -306,7 +306,7 @@ impl Service { &mut self, pre_session: PreValidatorSession, result_for_user: Option>>, - ) -> Result, SessionHandlerError> { + ) -> Result, SessionHandlerError> { match self.update_validator_session(pre_session.clone()).await { Ok((actions, data_from_network)) => { if let Some(result_for_user) = result_for_user { @@ -327,13 +327,13 @@ impl Service { async fn start_nonvalidator_session( &mut self, pre_session: PreNonvalidatorSession, - addresses: Vec, - ) -> Result<(), SessionHandlerError> { + address: NI::AddressingInformation, + ) { let PreNonvalidatorSession { session_id, verifier, } = pre_session; - let handler = SessionHandler::new(None, verifier, session_id, addresses).await?; + let handler = SessionHandler::new(None, verifier, session_id, address).await; let discovery = Discovery::new(self.discovery_cooldown); self.sessions.insert( session_id, @@ -343,25 +343,23 @@ impl Service { data_for_user: None, }, ); - Ok(()) } async fn update_nonvalidator_session( &mut self, pre_session: PreNonvalidatorSession, ) -> Result<(), SessionHandlerError> { - let addresses = self.addresses(); + let address = self.network_identity.identity(); let session = match self.sessions.get_mut(&pre_session.session_id) { Some(session) => session, None => { - return self - .start_nonvalidator_session(pre_session, addresses) - .await; + self.start_nonvalidator_session(pre_session, address).await; + return Ok(()); } }; session .handler - .update(None, pre_session.verifier, addresses) + .update(None, pre_session.verifier, address) .await?; Ok(()) } @@ -384,7 +382,7 @@ impl Service { pub async fn on_command( &mut self, command: SessionCommand, - ) -> Result, SessionHandlerError> { + ) -> Result, SessionHandlerError> { use SessionCommand::*; match command { StartValidator(session_id, verifier, node_id, pen, result_for_user) => { @@ -419,7 +417,7 @@ impl Service { data: D, session_id: SessionId, recipient: Recipient, - ) -> Vec, ::PeerId>> { + ) -> Vec, NI::PeerId>> { if let Some(handler) = self .sessions .get(&session_id) @@ -447,26 +445,29 @@ impl Service { /// Returns actions the service wants to take. pub fn on_discovery_message( &mut self, - message: DiscoveryMessage, - ) -> ServiceActions { + message: DiscoveryMessage, + ) -> ServiceActions { + use DiscoveryMessage::*; let session_id = message.session_id(); match self.sessions.get_mut(&session_id) { Some(Session { handler, discovery, .. }) => { - let (addresses, maybe_message) = discovery.handle_message(message, handler); - let maybe_command = match !addresses.is_empty() && handler.is_validator() { - true => { - debug!(target: "aleph-network", "Adding addresses for session {:?} to reserved: {:?}", session_id, addresses); - self.connections.add_peers( - session_id, - addresses.iter().flat_map(|address| address.get_peer_id()), - ); - Some(ConnectionCommand::AddReserved( - addresses.into_iter().collect(), - )) + let (maybe_address, maybe_message) = match message { + Authentication(authentication) => { + discovery.handle_authentication(authentication, handler) } - false => None, + LegacyAuthentication(legacy_authentication) => { + discovery.handle_legacy_authentication(legacy_authentication, handler) + } + }; + let maybe_command = match (maybe_address, handler.is_validator()) { + (Some(address), true) => { + debug!(target: "aleph-network", "Adding addresses for session {:?} to reserved: {:?}", session_id, address); + self.connections.add_peers(session_id, [address.peer_id()]); + Some(ConnectionCommand::AddReserved([address].into())) + } + _ => None, }; ServiceActions { maybe_command, @@ -499,7 +500,7 @@ impl Service { /// the request. pub async fn retry_session_start( &mut self, - ) -> Result, SessionHandlerError> { + ) -> Result, SessionHandlerError> { let (pre_session, result_for_user) = match self.to_retry.pop() { Some(to_retry) => to_retry, None => return Ok(ServiceActions::noop()), @@ -597,14 +598,18 @@ impl Service { } /// Input/output interface for the connection manager service. -pub struct IO>> -where - M::PeerId: PublicKey, +pub struct IO< + D: Data, + M: Data, + A: AddressingInformation + TryFrom> + Into>, + VN: ValidatorNetwork>, +> where + A::PeerId: PublicKey, { - authentications_for_network: mpsc::UnboundedSender>, + authentications_for_network: mpsc::UnboundedSender>, commands_from_user: mpsc::UnboundedReceiver>, messages_from_user: mpsc::UnboundedReceiver<(D, SessionId, Recipient)>, - authentications_from_network: mpsc::UnboundedReceiver>, + authentications_from_network: mpsc::UnboundedReceiver>, validator_network: VN, } @@ -621,17 +626,22 @@ pub enum Error { NetworkChannel, } -impl>> IO +impl< + D: Data, + M: Data + Debug, + A: AddressingInformation + TryFrom> + Into>, + VN: ValidatorNetwork>, + > IO where - M::PeerId: PublicKey, + A::PeerId: PublicKey, { pub fn new( - authentications_for_network: mpsc::UnboundedSender>, + authentications_for_network: mpsc::UnboundedSender>, commands_from_user: mpsc::UnboundedReceiver>, messages_from_user: mpsc::UnboundedReceiver<(D, SessionId, Recipient)>, - authentications_from_network: mpsc::UnboundedReceiver>, + authentications_from_network: mpsc::UnboundedReceiver>, validator_network: VN, - ) -> IO { + ) -> IO { IO { authentications_for_network, commands_from_user, @@ -641,23 +651,28 @@ where } } - fn send_data(&self, to_send: AddressedData, M::PeerId>) { + fn send_data(&self, to_send: AddressedData, A::PeerId>) { self.validator_network.send(to_send.0, to_send.1) } - fn send_authentication(&self, to_send: DiscoveryMessage) -> Result<(), Error> { - self.authentications_for_network - .unbounded_send(VersionedAuthentication::V1(to_send)) - .map_err(|_| Error::NetworkSend) + fn send_authentications( + &self, + to_send: Vec>, + ) -> Result<(), Error> { + for auth in to_send { + self.authentications_for_network + .unbounded_send(auth) + .map_err(|_| Error::NetworkSend)?; + } + Ok(()) } - fn handle_connection_command(&mut self, connection_command: ConnectionCommand) { + fn handle_connection_command(&mut self, connection_command: ConnectionCommand) { match connection_command { ConnectionCommand::AddReserved(addresses) => { - for multi in addresses { - if let Some(peer_id) = multi.get_peer_id() { - self.validator_network.add_connection(peer_id, vec![multi]); - } + for address in addresses { + self.validator_network + .add_connection(address.peer_id(), address); } } ConnectionCommand::DelReserved(peers) => { @@ -673,21 +688,21 @@ where ServiceActions { maybe_command, maybe_message, - }: ServiceActions, + }: ServiceActions, ) -> Result<(), Error> { if let Some(command) = maybe_command { self.handle_connection_command(command); } if let Some(message) = maybe_message { - self.send_authentication(message)?; + self.send_authentications(message.into())?; } Ok(()) } /// Run the connection manager service with this IO. - pub async fn run>( + pub async fn run>( mut self, - mut service: Service, + mut service: Service, ) -> Result<(), Error> { // Initial delay is needed so that Network is fully set up and we received some first discovery broadcasts from other nodes. // Otherwise this might cause first maintenance never working, as it happens before first broadcasts. @@ -749,7 +764,7 @@ where Err(e) => warn!(target: "aleph-network", "Retry failed to update handler: {:?}", e), } for to_send in service.discovery() { - self.send_authentication(to_send)?; + self.send_authentications(to_send.into())?; } }, _ = status_ticker.tick() => { @@ -762,17 +777,18 @@ where #[cfg(test)] mod tests { - use std::time::Duration; + use std::{iter, time::Duration}; use futures::{channel::oneshot, StreamExt}; use super::{Config, Error, Service, ServiceActions, SessionCommand}; use crate::{ network::{ - manager::{DataInSession, DiscoveryMessage}, - mock::{crypto_basics, MockNetworkIdentity}, + manager::{compatibility::PeerAuthentications, DataInSession, DiscoveryMessage}, + mock::crypto_basics, ConnectionCommand, }, + testing::mocks::validator_network::{random_address, MockAddressingInformation}, Recipient, SessionId, }; @@ -781,9 +797,9 @@ mod tests { const DISCOVERY_PERIOD: Duration = Duration::from_secs(60); const INITIAL_DELAY: Duration = Duration::from_secs(5); - fn build() -> Service { + fn build() -> Service { Service::new( - MockNetworkIdentity::new(), + random_address(), Config::new(MAINTENANCE_PERIOD, DISCOVERY_PERIOD, INITIAL_DELAY), ) } @@ -900,9 +916,12 @@ mod tests { .await .unwrap(); let message = maybe_message.expect("there should be a discovery message"); - let addresses = match &message { - DiscoveryMessage::AuthenticationBroadcast((auth_data, _)) => auth_data.addresses(), - _ => panic!("Expected an authentication broadcast, got {:?}", message), + let (address, message) = match message { + PeerAuthentications::Both(authentication, _) => ( + authentication.0.address(), + DiscoveryMessage::Authentication(authentication), + ), + message => panic!("Expected both authentications, got {:?}", message), }; let ServiceActions { maybe_command, @@ -911,7 +930,7 @@ mod tests { assert_eq!( maybe_command, Some(ConnectionCommand::AddReserved( - addresses.into_iter().collect() + iter::once(address).collect() )) ); assert!(maybe_message.is_some()); @@ -941,7 +960,12 @@ mod tests { )) .await .unwrap(); - let message = maybe_message.expect("there should be a discovery message"); + let message = match maybe_message.expect("there should be a discovery message") { + PeerAuthentications::Both(authentication, _) => { + DiscoveryMessage::Authentication(authentication) + } + message => panic!("Expected both authentications, got {:?}", message), + }; service.on_discovery_message(message); let messages = service.on_user_message(2137, session_id, Recipient::Everyone); assert_eq!(messages.len(), 1); diff --git a/finality-aleph/src/network/manager/session.rs b/finality-aleph/src/network/manager/session.rs index 1c8f84906d..ca03869aff 100644 --- a/finality-aleph/src/network/manager/session.rs +++ b/finality-aleph/src/network/manager/session.rs @@ -6,36 +6,39 @@ use crate::{ abft::NodeCount, crypto::{AuthorityPen, AuthorityVerifier}, network::{ - manager::{AuthData, Authentication}, - Multiaddress, PeerId, + manager::{ + compatibility::PeerAuthentications, AuthData, Authentication, LegacyAuthData, + LegacyAuthentication, + }, + AddressingInformation, Data, }, NodeIndex, SessionId, }; #[derive(Debug)] -pub enum SessionInfo { +pub enum SessionInfo> + Into>> { SessionId(SessionId), - OwnAuthentication(Authentication), + OwnAuthentication(PeerAuthentications), } -impl SessionInfo { +impl> + Into>> SessionInfo { fn session_id(&self) -> SessionId { match self { SessionInfo::SessionId(session_id) => *session_id, - SessionInfo::OwnAuthentication((auth_data, _)) => auth_data.session_id, + SessionInfo::OwnAuthentication(peer_authentications) => { + peer_authentications.session_id() + } } } } -type PeerAuthentications = (Authentication, Option>); - /// A struct for handling authentications for a given session and maintaining /// mappings between PeerIds and NodeIndexes within that session. -pub struct Handler { - peers_by_node: HashMap, - authentications: HashMap>, - session_info: SessionInfo, - own_peer_id: M::PeerId, +pub struct Handler> + Into>> { + peers_by_node: HashMap, + authentications: HashMap>, + session_info: SessionInfo, + own_peer_id: A::PeerId, authority_index_and_pen: Option<(NodeIndex, AuthorityPen)>, authority_verifier: AuthorityVerifier, } @@ -45,105 +48,56 @@ pub enum HandlerError { /// Returned when handler is change from validator to nonvalidator /// or vice versa TypeChange, - /// Returned when a set of addresses is not usable for creating authentications. - /// Either because none of the addresses are externally reachable libp2p addresses, - /// or the addresses contain multiple libp2p PeerIds. - NoP2pAddresses, - MultiplePeerIds, -} - -enum CommonPeerId { - Unknown, - Unique(PID), - NotUnique, -} - -impl From> for Option { - fn from(cpi: CommonPeerId) -> Self { - use CommonPeerId::*; - match cpi { - Unique(peer_id) => Some(peer_id), - Unknown | NotUnique => None, - } - } -} - -impl CommonPeerId { - fn aggregate(self, peer_id: PID) -> Self { - use CommonPeerId::*; - match self { - Unknown => Unique(peer_id), - Unique(current_peer_id) => match peer_id == current_peer_id { - true => Unique(current_peer_id), - false => NotUnique, - }, - NotUnique => NotUnique, - } - } } -fn get_common_peer_id(addresses: &[M]) -> Option { - addresses - .iter() - .fold( - CommonPeerId::Unknown, - |common_peer_id, address| match address.get_peer_id() { - Some(peer_id) => common_peer_id.aggregate(peer_id), - None => CommonPeerId::NotUnique, - }, - ) - .into() -} - -fn retrieve_peer_id(addresses: &[M]) -> Result { - if addresses.is_empty() { - return Err(HandlerError::NoP2pAddresses); - } - get_common_peer_id(addresses).ok_or(HandlerError::MultiplePeerIds) -} - -async fn construct_session_info( +async fn construct_session_info< + M: Data, + A: AddressingInformation + TryFrom> + Into>, +>( authority_index_and_pen: &Option<(NodeIndex, AuthorityPen)>, session_id: SessionId, - addresses: Vec, -) -> Result<(SessionInfo, M::PeerId), HandlerError> { - let addresses: Vec<_> = addresses - .into_iter() - .filter(|address| address.get_peer_id().is_some()) - .collect(); - let peer = retrieve_peer_id(&addresses)?; - - if let Some((node_index, authority_pen)) = authority_index_and_pen { - let auth_data = AuthData { - addresses, - node_id: *node_index, - session_id, - }; - let signature = authority_pen.sign(&auth_data.encode()).await; - return Ok((SessionInfo::OwnAuthentication((auth_data, signature)), peer)); + address: A, +) -> (SessionInfo, A::PeerId) { + let peer_id = address.peer_id(); + match authority_index_and_pen { + Some((node_index, authority_pen)) => { + let auth_data = AuthData { + address, + node_id: *node_index, + session_id, + }; + let legacy_auth_data: LegacyAuthData = auth_data.clone().into(); + let signature = authority_pen.sign(&auth_data.encode()).await; + let legacy_signature = authority_pen.sign(&legacy_auth_data.encode()).await; + let authentications = PeerAuthentications::Both( + (auth_data, signature), + (legacy_auth_data, legacy_signature), + ); + (SessionInfo::OwnAuthentication(authentications), peer_id) + } + None => (SessionInfo::SessionId(session_id), peer_id), } - Ok((SessionInfo::SessionId(session_id), peer)) } -impl Handler { - /// Returns an error if the set of addresses contains no external libp2p addresses, or contains - /// at least two such addresses with differing PeerIds. +impl> + Into>> Handler { + /// Creates a new session handler. It will be a validator session handler if the authority + /// index and pen are provided. pub async fn new( authority_index_and_pen: Option<(NodeIndex, AuthorityPen)>, authority_verifier: AuthorityVerifier, session_id: SessionId, - addresses: Vec, - ) -> Result, HandlerError> { + address: A, + ) -> Handler { let (session_info, own_peer_id) = - construct_session_info(&authority_index_and_pen, session_id, addresses).await?; - Ok(Handler { + construct_session_info(&authority_index_and_pen, session_id, address).await; + Handler { peers_by_node: HashMap::new(), authentications: HashMap::new(), session_info, authority_index_and_pen, authority_verifier, own_peer_id, - }) + } } fn index(&self) -> Option { @@ -166,10 +120,12 @@ impl Handler { } /// Returns the authentication for the node and session this handler is responsible for. - pub fn authentication(&self) -> Option> { + pub fn authentication(&self) -> Option> { match &self.session_info { SessionInfo::SessionId(_) => None, - SessionInfo::OwnAuthentication(own_authentication) => Some(own_authentication.clone()), + SessionInfo::OwnAuthentication(own_authentications) => { + Some(own_authentications.clone()) + } } } @@ -187,61 +143,95 @@ impl Handler { .collect() } - /// Verifies the authentication, uses it to update mappings, and returns whether we should - /// remain connected to the multiaddresses. - pub fn handle_authentication(&mut self, authentication: Authentication) -> bool { - if authentication.0.session_id != self.session_id() { - return false; + /// Verifies the authentication, uses it to update mappings, and returns the address we + /// should stay connected to if any. + pub fn handle_authentication(&mut self, authentication: Authentication) -> Option { + if authentication.0.session() != self.session_id() { + return None; } let (auth_data, signature) = &authentication; - // The auth is completely useless if it doesn't have a consistent PeerId. - let peer_id = match get_common_peer_id(&auth_data.addresses) { - Some(peer_id) => peer_id, - None => return false, - }; + let address = auth_data.address(); + let peer_id = address.peer_id(); if peer_id == self.own_peer_id { - return false; + return None; } if !self .authority_verifier - .verify(&auth_data.encode(), signature, auth_data.node_id) + .verify(&auth_data.encode(), signature, auth_data.creator()) { - // This might be an authentication for a key that has been changed, but we are not yet - // aware of the change. - if let Some(auth_pair) = self.authentications.get_mut(&peer_id) { - auth_pair.1 = Some(authentication.clone()); - } - return false; + return None; + } + self.peers_by_node + .insert(auth_data.creator(), peer_id.clone()); + self.authentications + .entry(peer_id) + .and_modify(|authentications| { + authentications.add_authentication(authentication.clone()) + }) + .or_insert(PeerAuthentications::NewOnly(authentication)); + Some(address) + } + + /// Verifies the legacy authentication, uses it to update mappings, and returns the address we should stay connected to if any. + pub fn handle_legacy_authentication( + &mut self, + legacy_authentication: LegacyAuthentication, + ) -> Option { + if legacy_authentication.0.session() != self.session_id() { + return None; + } + let (legacy_auth_data, signature) = &legacy_authentication; + + if !self.authority_verifier.verify( + &legacy_auth_data.encode(), + signature, + legacy_auth_data.creator(), + ) { + return None; + } + + let maybe_auth_data: Option> = legacy_auth_data.clone().try_into().ok(); + let address = match maybe_auth_data { + Some(auth_data) => auth_data.address(), + None => return None, + }; + let peer_id = address.peer_id(); + if peer_id == self.own_peer_id { + return None; } self.peers_by_node - .insert(auth_data.node_id, peer_id.clone()); - self.authentications.insert(peer_id, (authentication, None)); - true + .insert(legacy_auth_data.creator(), peer_id.clone()); + self.authentications + .entry(peer_id) + .and_modify(|authentications| { + authentications.add_legacy_authentication(legacy_authentication.clone()) + }) + .or_insert(PeerAuthentications::LegacyOnly(legacy_authentication)); + Some(address) } /// Returns the PeerId of the node with the given NodeIndex, if known. - pub fn peer_id(&self, node_id: &NodeIndex) -> Option { + pub fn peer_id(&self, node_id: &NodeIndex) -> Option { self.peers_by_node.get(node_id).cloned() } /// Returns maping from NodeIndex to PeerId - pub fn peers(&self) -> HashMap { + pub fn peers(&self) -> HashMap { self.peers_by_node.clone() } /// Updates the handler with the given keychain and set of own addresses. /// Returns an error if the set of addresses is not valid. - /// All authentications will be rechecked, invalid ones purged and cached ones that turn out to - /// now be valid canonalized. + /// All authentications will be rechecked, invalid ones purged. /// Own authentication will be regenerated. /// If successful returns a set of addresses that we should be connected to. pub async fn update( &mut self, authority_index_and_pen: Option<(NodeIndex, AuthorityPen)>, authority_verifier: AuthorityVerifier, - addresses: Vec, - ) -> Result, HandlerError> { + address: A, + ) -> Result, HandlerError> { if authority_index_and_pen.is_none() != self.authority_index_and_pen.is_none() { return Err(HandlerError::TypeChange); } @@ -252,77 +242,44 @@ impl Handler { authority_index_and_pen, authority_verifier, self.session_id(), - addresses, + address, ) - .await?; - - for (_, (auth, maybe_auth)) in authentications { - self.handle_authentication(auth); - if let Some(auth) = maybe_auth { - self.handle_authentication(auth); - } + .await; + + use PeerAuthentications::*; + for (_, authentication) in authentications { + match authentication { + NewOnly(auth) => self.handle_authentication(auth), + LegacyOnly(legacy_auth) => self.handle_legacy_authentication(legacy_auth), + Both(auth, legacy_auth) => { + self.handle_legacy_authentication(legacy_auth); + self.handle_authentication(auth) + } + }; } Ok(self .authentications .values() - .flat_map(|((auth_data, _), _)| auth_data.addresses.iter().cloned()) + .flat_map(|authentication| authentication.maybe_address()) .collect()) } } #[cfg(test)] mod tests { - use super::{get_common_peer_id, Handler, HandlerError}; + use super::{Handler, HandlerError}; use crate::{ network::{ - mock::{crypto_basics, MockNetworkIdentity}, - NetworkIdentity, + mock::crypto_basics, + testing::{authentication, legacy_authentication}, + AddressingInformation, }, - testing::mocks::validator_network::{random_multiaddress, MockMultiaddress}, + testing::mocks::validator_network::random_address, NodeIndex, SessionId, }; const NUM_NODES: usize = 7; - #[tokio::test] - async fn creates_with_correct_data() { - let mut crypto_basics = crypto_basics(NUM_NODES).await; - assert!(Handler::new( - Some(crypto_basics.0.pop().unwrap()), - crypto_basics.1, - SessionId(43), - MockNetworkIdentity::new().identity().0, - ) - .await - .is_ok()); - } - - #[tokio::test] - async fn creates_with_local_address() { - let mut crypto_basics = crypto_basics(NUM_NODES).await; - assert!(Handler::new( - Some(crypto_basics.0.pop().unwrap()), - crypto_basics.1, - SessionId(43), - MockNetworkIdentity::new().identity().0, - ) - .await - .is_ok()); - } - - #[tokio::test] - async fn creates_without_node_index_nor_authority_pen() { - let crypto_basics = crypto_basics(NUM_NODES).await; - assert!(Handler::new( - None, - crypto_basics.1, - SessionId(43), - MockNetworkIdentity::new().identity().0, - ) - .await - .is_ok()); - } - #[tokio::test] async fn identifies_whether_node_is_authority_in_current_session() { let mut crypto_basics = crypto_basics(NUM_NODES).await; @@ -330,18 +287,16 @@ mod tests { None, crypto_basics.1.clone(), SessionId(43), - MockNetworkIdentity::new().identity().0, + random_address(), ) - .await - .unwrap(); + .await; let authority_handler = Handler::new( Some(crypto_basics.0.pop().unwrap()), crypto_basics.1, SessionId(43), - MockNetworkIdentity::new().identity().0, + random_address(), ) - .await - .unwrap(); + .await; assert!(!no_authority_handler.is_validator()); assert!(authority_handler.is_validator()); } @@ -349,64 +304,28 @@ mod tests { #[tokio::test] async fn non_validator_handler_returns_none_for_authentication() { let crypto_basics = crypto_basics(NUM_NODES).await; - assert!(Handler::new( - None, - crypto_basics.1, - SessionId(43), - MockNetworkIdentity::new().identity().0 - ) - .await - .unwrap() - .authentication() - .is_none()); - } - - #[tokio::test] - async fn fails_to_create_with_no_addresses() { - let mut crypto_basics = crypto_basics(NUM_NODES).await; - assert!(matches!( - Handler::new( - Some(crypto_basics.0.pop().unwrap()), - crypto_basics.1, - SessionId(43), - Vec::::new() - ) - .await, - Err(HandlerError::NoP2pAddresses) - )); - } - - #[tokio::test] - async fn fails_to_create_with_non_unique_peer_id() { - let mut crypto_basics = crypto_basics(NUM_NODES).await; - let addresses = vec![random_multiaddress(), random_multiaddress()]; - assert!(matches!( - Handler::new( - Some(crypto_basics.0.pop().unwrap()), - crypto_basics.1, - SessionId(43), - addresses - ) - .await, - Err(HandlerError::MultiplePeerIds) - )); + assert!( + Handler::new(None, crypto_basics.1, SessionId(43), random_address(),) + .await + .authentication() + .is_none() + ); } #[tokio::test] async fn fails_to_update_from_validator_to_non_validator() { let mut crypto_basics = crypto_basics(NUM_NODES).await; - let addresses = MockNetworkIdentity::new().identity().0; + let address = random_address(); let mut handler0 = Handler::new( Some(crypto_basics.0.pop().unwrap()), crypto_basics.1.clone(), SessionId(43), - addresses.clone(), + address.clone(), ) - .await - .unwrap(); + .await; assert!(matches!( handler0 - .update(None, crypto_basics.1.clone(), addresses) + .update(None, crypto_basics.1.clone(), address) .await, Err(HandlerError::TypeChange) )); @@ -415,21 +334,20 @@ mod tests { #[tokio::test] async fn fails_to_update_from_non_validator_to_validator() { let mut crypto_basics = crypto_basics(NUM_NODES).await; - let addresses = MockNetworkIdentity::new().identity().0; + let address = random_address(); let mut handler0 = Handler::new( None, crypto_basics.1.clone(), SessionId(43), - addresses.clone(), + address.clone(), ) - .await - .unwrap(); + .await; assert!(matches!( handler0 .update( Some(crypto_basics.0.pop().unwrap()), crypto_basics.1.clone(), - addresses, + address, ) .await, Err(HandlerError::TypeChange) @@ -443,10 +361,9 @@ mod tests { Some(crypto_basics.0.pop().unwrap()), crypto_basics.1, SessionId(43), - MockNetworkIdentity::new().identity().0, + random_address(), ) - .await - .unwrap(); + .await; assert!(handler0.peer_id(&NodeIndex(0)).is_none()); } @@ -457,10 +374,9 @@ mod tests { Some(crypto_basics.0.pop().unwrap()), crypto_basics.1, SessionId(43), - MockNetworkIdentity::new().identity().0, + random_address(), ) - .await - .unwrap(); + .await; let missing_nodes = handler0.missing_nodes(); let expected_missing: Vec<_> = (0..NUM_NODES - 1).map(NodeIndex).collect(); assert_eq!(missing_nodes, expected_missing); @@ -474,25 +390,28 @@ mod tests { Some(crypto_basics.0[0].clone()), crypto_basics.1.clone(), SessionId(43), - MockNetworkIdentity::new().identity().0, + random_address(), ) - .await - .unwrap(); - let addresses = MockNetworkIdentity::new().identity().0; + .await; + let address = random_address(); let handler1 = Handler::new( Some(crypto_basics.0[1].clone()), crypto_basics.1.clone(), SessionId(43), - addresses.clone(), + address.clone(), ) - .await - .unwrap(); - assert!(handler0.handle_authentication(handler1.authentication().unwrap())); + .await; + assert!(handler0 + .handle_authentication(authentication(&handler1)) + .is_some()); + assert!(handler0 + .handle_legacy_authentication(legacy_authentication(&handler1)) + .is_some()); let missing_nodes = handler0.missing_nodes(); let expected_missing: Vec<_> = (2..NUM_NODES).map(NodeIndex).collect(); assert_eq!(missing_nodes, expected_missing); - let peer_id1 = get_common_peer_id(&addresses); - assert_eq!(handler0.peer_id(&NodeIndex(1)), peer_id1); + let peer_id1 = address.peer_id(); + assert_eq!(handler0.peer_id(&NodeIndex(1)), Some(peer_id1)); } #[tokio::test] @@ -502,26 +421,29 @@ mod tests { None, crypto_basics.1.clone(), SessionId(43), - MockNetworkIdentity::new().identity().0, + random_address(), ) - .await - .unwrap(); - let addresses = MockNetworkIdentity::new().identity().0; + .await; + let address = random_address(); let handler1 = Handler::new( Some(crypto_basics.0[1].clone()), crypto_basics.1.clone(), SessionId(43), - addresses.clone(), + address.clone(), ) - .await - .unwrap(); - assert!(handler0.handle_authentication(handler1.authentication().unwrap())); + .await; + assert!(handler0 + .handle_authentication(authentication(&handler1)) + .is_some()); + assert!(handler0 + .handle_legacy_authentication(legacy_authentication(&handler1)) + .is_some()); let missing_nodes = handler0.missing_nodes(); let mut expected_missing: Vec<_> = (0..NUM_NODES).map(NodeIndex).collect(); expected_missing.remove(1); assert_eq!(missing_nodes, expected_missing); - let peer_id1 = get_common_peer_id(&addresses); - assert_eq!(handler0.peer_id(&NodeIndex(1)), peer_id1); + let peer_id1 = address.peer_id(); + assert_eq!(handler0.peer_id(&NodeIndex(1)), Some(peer_id1)); } #[tokio::test] @@ -531,21 +453,19 @@ mod tests { Some(crypto_basics.0[0].clone()), crypto_basics.1.clone(), SessionId(43), - MockNetworkIdentity::new().identity().0, + random_address(), ) - .await - .unwrap(); + .await; let handler1 = Handler::new( Some(crypto_basics.0[1].clone()), crypto_basics.1.clone(), SessionId(43), - MockNetworkIdentity::new().identity().0, + random_address(), ) - .await - .unwrap(); - let mut authentication = handler1.authentication().unwrap(); - authentication.1 = handler0.authentication().unwrap().1; - assert!(!handler0.handle_authentication(authentication)); + .await; + let mut bad_authentication = authentication(&handler1); + bad_authentication.1 = authentication(&handler0).1; + assert!(handler0.handle_authentication(bad_authentication).is_none()); let missing_nodes = handler0.missing_nodes(); let expected_missing: Vec<_> = (1..NUM_NODES).map(NodeIndex).collect(); assert_eq!(missing_nodes, expected_missing); @@ -558,19 +478,22 @@ mod tests { Some(crypto_basics.0[0].clone()), crypto_basics.1.clone(), SessionId(43), - MockNetworkIdentity::new().identity().0, + random_address(), ) - .await - .unwrap(); + .await; let handler1 = Handler::new( Some(crypto_basics.0[1].clone()), crypto_basics.1.clone(), SessionId(44), - MockNetworkIdentity::new().identity().0, + random_address(), ) - .await - .unwrap(); - assert!(!handler0.handle_authentication(handler1.authentication().unwrap())); + .await; + assert!(handler0 + .handle_authentication(authentication(&handler1)) + .is_none()); + assert!(handler0 + .handle_legacy_authentication(legacy_authentication(&handler1)) + .is_none()); let missing_nodes = handler0.missing_nodes(); let expected_missing: Vec<_> = (1..NUM_NODES).map(NodeIndex).collect(); assert_eq!(missing_nodes, expected_missing); @@ -583,11 +506,15 @@ mod tests { Some(awaited_crypto_basics.0[0].clone()), awaited_crypto_basics.1.clone(), SessionId(43), - MockNetworkIdentity::new().identity().0, + random_address(), ) - .await - .unwrap(); - assert!(!handler0.handle_authentication(handler0.authentication().unwrap())); + .await; + assert!(handler0 + .handle_authentication(authentication(&handler0)) + .is_none()); + assert!(handler0 + .handle_legacy_authentication(legacy_authentication(&handler0)) + .is_none()); let missing_nodes = handler0.missing_nodes(); let expected_missing: Vec<_> = (1..NUM_NODES).map(NodeIndex).collect(); assert_eq!(missing_nodes, expected_missing); @@ -600,25 +527,28 @@ mod tests { Some(awaited_crypto_basics.0[0].clone()), awaited_crypto_basics.1.clone(), SessionId(43), - MockNetworkIdentity::new().identity().0, + random_address(), ) - .await - .unwrap(); + .await; let handler1 = Handler::new( Some(awaited_crypto_basics.0[1].clone()), awaited_crypto_basics.1.clone(), SessionId(43), - MockNetworkIdentity::new().identity().0, + random_address(), ) - .await - .unwrap(); - assert!(handler0.handle_authentication(handler1.authentication().unwrap())); + .await; + assert!(handler0 + .handle_authentication(authentication(&handler1)) + .is_some()); + assert!(handler0 + .handle_legacy_authentication(legacy_authentication(&handler1)) + .is_some()); let new_crypto_basics = crypto_basics(NUM_NODES).await; handler0 .update( Some(new_crypto_basics.0[0].clone()), new_crypto_basics.1.clone(), - MockNetworkIdentity::new().identity().0, + random_address(), ) .await .unwrap(); @@ -627,54 +557,4 @@ mod tests { assert_eq!(missing_nodes, expected_missing); assert!(handler0.peer_id(&NodeIndex(1)).is_none()); } - - #[tokio::test] - async fn uses_cached_authentication() { - let awaited_crypto_basics = crypto_basics(NUM_NODES).await; - let addresses0 = MockNetworkIdentity::new().identity().0; - let mut handler0 = Handler::new( - Some(awaited_crypto_basics.0[0].clone()), - awaited_crypto_basics.1.clone(), - SessionId(43), - addresses0.clone(), - ) - .await - .unwrap(); - let addresses1 = MockNetworkIdentity::new().identity().0; - let mut handler1 = Handler::new( - Some(awaited_crypto_basics.0[1].clone()), - awaited_crypto_basics.1.clone(), - SessionId(43), - addresses1.clone(), - ) - .await - .unwrap(); - assert!(handler0.handle_authentication(handler1.authentication().unwrap())); - let new_crypto_basics = crypto_basics(NUM_NODES).await; - assert!(handler1 - .update( - Some(new_crypto_basics.0[1].clone()), - new_crypto_basics.1.clone(), - addresses1.clone(), - ) - .await - .unwrap() - .is_empty()); - assert!(!handler0.handle_authentication(handler1.authentication().unwrap())); - handler0 - .update( - Some(new_crypto_basics.0[0].clone()), - new_crypto_basics.1.clone(), - addresses0, - ) - .await - .unwrap(); - let missing_nodes = handler0.missing_nodes(); - let expected_missing: Vec<_> = (2..NUM_NODES).map(NodeIndex).collect(); - assert_eq!(missing_nodes, expected_missing); - assert_eq!( - handler0.peer_id(&NodeIndex(1)), - get_common_peer_id(&addresses1) - ); - } } diff --git a/finality-aleph/src/network/mock.rs b/finality-aleph/src/network/mock.rs index 2567b307b4..69886efb98 100644 --- a/finality-aleph/src/network/mock.rs +++ b/finality-aleph/src/network/mock.rs @@ -12,33 +12,11 @@ use tokio::time::timeout; use crate::{ crypto::{AuthorityPen, AuthorityVerifier}, - network::{Event, EventStream, Network, NetworkIdentity, NetworkSender, Protocol}, - testing::mocks::validator_network::{random_identity, MockMultiaddress}, + network::{Event, EventStream, Network, NetworkSender, Protocol}, validator_network::mock::MockPublicKey, AuthorityId, NodeIndex, }; -pub struct MockNetworkIdentity { - addresses: Vec, - peer_id: MockPublicKey, -} - -impl MockNetworkIdentity { - pub fn new() -> Self { - let (addresses, peer_id) = random_identity(); - MockNetworkIdentity { addresses, peer_id } - } -} - -impl NetworkIdentity for MockNetworkIdentity { - type PeerId = MockPublicKey; - type Multiaddress = MockMultiaddress; - - fn identity(&self) -> (Vec, Self::PeerId) { - (self.addresses.clone(), self.peer_id.clone()) - } -} - #[derive(Clone)] pub struct Channel( pub mpsc::UnboundedSender, diff --git a/finality-aleph/src/network/mod.rs b/finality-aleph/src/network/mod.rs index 0870b296f6..1dad911b0f 100644 --- a/finality-aleph/src/network/mod.rs +++ b/finality-aleph/src/network/mod.rs @@ -36,9 +36,36 @@ pub use session::{Manager as SessionManager, ManagerError, Sender, IO as Session pub use split::{split, Split}; #[cfg(test)] pub mod testing { + use super::manager::LegacyAuthentication; pub use super::manager::{ - Authentication, DataInSession, DiscoveryMessage, SessionHandler, VersionedAuthentication, + Authentication, DataInSession, DiscoveryMessage, LegacyDiscoveryMessage, + PeerAuthentications, SessionHandler, VersionedAuthentication, }; + use crate::testing::mocks::validator_network::MockAddressingInformation; + + pub fn legacy_authentication( + handler: &SessionHandler, + ) -> LegacyAuthentication { + match handler + .authentication() + .expect("this is a validator handler") + { + PeerAuthentications::Both(_, authentication) => authentication, + _ => panic!("handler doesn't have both authentications"), + } + } + + pub fn authentication( + handler: &SessionHandler, + ) -> Authentication { + match handler + .authentication() + .expect("this is a validator handler") + { + PeerAuthentications::Both(authentication, _) => authentication, + _ => panic!("handler doesn't have both authentications"), + } + } } /// Represents the id of an arbitrary node. @@ -59,14 +86,11 @@ pub trait PeerId: PartialEq + Eq + Clone + Debug + Display + Hash + Codec + Send } /// Represents the address of an arbitrary node. -pub trait Multiaddress: Debug + Hash + Codec + Clone + Eq + Send + Sync + 'static { +pub trait AddressingInformation: Debug + Hash + Codec + Clone + Eq + Send + Sync + 'static { type PeerId: PeerId; /// Returns the peer id associated with this multiaddress if it exists and is unique. - fn get_peer_id(&self) -> Option; - - /// Returns the address extended by the peer id, unless it already contained another peer id. - fn add_matching_peer_id(self, peer_id: Self::PeerId) -> Option; + fn peer_id(&self) -> Self::PeerId; } /// The Authentication protocol is used for validator discovery. @@ -117,13 +141,13 @@ pub trait Network: Clone + Send + Sync + 'static { ) -> Result; } -/// Abstraction for requesting own network addresses and PeerId. +/// Abstraction for requesting own network addressing information. pub trait NetworkIdentity { type PeerId: PeerId; - type Multiaddress: Multiaddress; + type AddressingInformation: AddressingInformation; - /// The external identity of this node, consisting of addresses and the PeerId. - fn identity(&self) -> (Vec, Self::PeerId); + /// The external identity of this node. + fn identity(&self) -> Self::AddressingInformation; } /// Abstraction for requesting justifications for finalized blocks and stale blocks. @@ -148,9 +172,9 @@ pub trait RequestBlocks: Clone + Send + Sync + 'static { /// Commands for manipulating the reserved peers set. #[derive(Debug, PartialEq, Eq)] -pub enum ConnectionCommand { - AddReserved(HashSet), - DelReserved(HashSet), +pub enum ConnectionCommand { + AddReserved(HashSet), + DelReserved(HashSet), } /// Returned when something went wrong when sending data using a DataNetwork. diff --git a/finality-aleph/src/tcp_network.rs b/finality-aleph/src/tcp_network.rs index 9c0dd4bf4a..7c94120aa9 100644 --- a/finality-aleph/src/tcp_network.rs +++ b/finality-aleph/src/tcp_network.rs @@ -1,4 +1,4 @@ -use std::{io::Result as IoResult, net::ToSocketAddrs as _}; +use std::{io::Error as IoError, iter, net::ToSocketAddrs as _}; use aleph_primitives::AuthorityId; use codec::{Decode, Encode}; @@ -11,7 +11,7 @@ use tokio::net::{ use crate::{ crypto::{verify, AuthorityPen, Signature}, - network::{Multiaddress, NetworkIdentity, PeerId}, + network::{AddressingInformation, NetworkIdentity, PeerId}, validator_network::{ConnectionInfo, Dialer, Listener, PublicKey, SecretKey, Splittable}, }; @@ -94,23 +94,97 @@ impl SecretKey for AuthorityPen { /// A representation of a single TCP address with an associated peer ID. #[derive(Debug, Hash, Encode, Decode, Clone, PartialEq, Eq)] -pub struct TcpMultiaddress { +pub struct LegacyTcpMultiaddress { peer_id: AuthorityId, address: String, } -impl Multiaddress for TcpMultiaddress { +/// What can go wrong when handling addressing information. +#[derive(Debug, Hash, Clone, PartialEq, Eq)] +pub enum AddressingInformationError { + /// Construction of an addressing information object requires at least one address. + NoAddress, +} + +/// A representation of TCP addressing information with an associated peer ID. +#[derive(Debug, Hash, Encode, Decode, Clone, PartialEq, Eq)] +pub struct TcpAddressingInformation { + peer_id: AuthorityId, + // Easiest way to ensure that the Vec below is nonempty... + primary_address: String, + other_addresses: Vec, +} + +impl TryFrom> for TcpAddressingInformation { + type Error = AddressingInformationError; + + fn try_from(legacy: Vec) -> Result { + let mut legacy = legacy.into_iter(); + let (peer_id, primary_address) = match legacy.next() { + Some(LegacyTcpMultiaddress { peer_id, address }) => (peer_id, address), + None => return Err(AddressingInformationError::NoAddress), + }; + let other_addresses = legacy + .filter(|la| la.peer_id == peer_id) + .map(|la| la.address) + .collect(); + Ok(TcpAddressingInformation { + peer_id, + primary_address, + other_addresses, + }) + } +} + +impl From for Vec { + fn from(address: TcpAddressingInformation) -> Self { + let TcpAddressingInformation { + peer_id, + primary_address, + other_addresses, + } = address; + iter::once(primary_address) + .chain(other_addresses) + .map(|address| LegacyTcpMultiaddress { + peer_id: peer_id.clone(), + address, + }) + .collect() + } +} + +impl AddressingInformation for TcpAddressingInformation { type PeerId = AuthorityId; - fn get_peer_id(&self) -> Option { - Some(self.peer_id.clone()) + fn peer_id(&self) -> Self::PeerId { + self.peer_id.clone() } +} - fn add_matching_peer_id(self, peer_id: Self::PeerId) -> Option { - match self.peer_id == peer_id { - true => Some(self), - false => None, - } +impl NetworkIdentity for TcpAddressingInformation { + type PeerId = AuthorityId; + type AddressingInformation = TcpAddressingInformation; + + fn identity(&self) -> Self::AddressingInformation { + self.clone() + } +} + +impl TcpAddressingInformation { + fn new( + addresses: Vec, + peer_id: AuthorityId, + ) -> Result { + let mut addresses = addresses.into_iter(); + let primary_address = match addresses.next() { + Some(address) => address, + None => return Err(AddressingInformationError::NoAddress), + }; + Ok(TcpAddressingInformation { + primary_address, + other_addresses: addresses.collect(), + peer_id, + }) } } @@ -118,17 +192,22 @@ impl Multiaddress for TcpMultiaddress { struct TcpDialer; #[async_trait::async_trait] -impl Dialer for TcpDialer { +impl Dialer for TcpDialer { type Connection = TcpStream; type Error = std::io::Error; async fn connect( &mut self, - addresses: Vec, + address: TcpAddressingInformation, ) -> Result { - let parsed_addresses: Vec<_> = addresses - .into_iter() - .filter_map(|address| address.address.to_socket_addrs().ok()) + let TcpAddressingInformation { + primary_address, + other_addresses, + .. + } = address; + let parsed_addresses: Vec<_> = iter::once(primary_address) + .chain(other_addresses) + .filter_map(|address| address.to_socket_addrs().ok()) .flatten() .collect(); let stream = TcpStream::connect(&parsed_addresses[..]).await?; @@ -139,32 +218,22 @@ impl Dialer for TcpDialer { } } -struct TcpNetworkIdentity { - peer_id: AuthorityId, - addresses: Vec, +/// Possible errors when creating a TCP network. +#[derive(Debug)] +pub enum Error { + Io(IoError), + AddressingInformation(AddressingInformationError), } -impl NetworkIdentity for TcpNetworkIdentity { - type PeerId = AuthorityId; - type Multiaddress = TcpMultiaddress; - - fn identity(&self) -> (Vec, Self::PeerId) { - (self.addresses.clone(), self.peer_id.clone()) +impl From for Error { + fn from(e: IoError) -> Self { + Error::Io(e) } } -impl TcpNetworkIdentity { - fn new(external_addresses: Vec, peer_id: AuthorityId) -> TcpNetworkIdentity { - TcpNetworkIdentity { - addresses: external_addresses - .into_iter() - .map(|address| TcpMultiaddress { - peer_id: peer_id.clone(), - address, - }) - .collect(), - peer_id, - } +impl From for Error { + fn from(e: AddressingInformationError) -> Self { + Error::AddressingInformation(e) } } @@ -174,13 +243,16 @@ pub async fn new_tcp_network( listening_addresses: A, external_addresses: Vec, peer_id: AuthorityId, -) -> IoResult<( - impl Dialer, - impl Listener, - impl NetworkIdentity, -)> { +) -> Result< + ( + impl Dialer, + impl Listener, + impl NetworkIdentity, + ), + Error, +> { let listener = TcpListener::bind(listening_addresses).await?; - let identity = TcpNetworkIdentity::new(external_addresses, peer_id); + let identity = TcpAddressingInformation::new(external_addresses, peer_id)?; Ok((TcpDialer {}, listener, identity)) } @@ -188,13 +260,16 @@ pub async fn new_tcp_network( pub mod testing { use aleph_primitives::AuthorityId; - use super::{TcpMultiaddress, TcpNetworkIdentity}; + use super::TcpAddressingInformation; use crate::network::NetworkIdentity; + /// Creates a realistic identity. pub fn new_identity( external_addresses: Vec, peer_id: AuthorityId, - ) -> impl NetworkIdentity { - TcpNetworkIdentity::new(external_addresses, peer_id) + ) -> impl NetworkIdentity + { + TcpAddressingInformation::new(external_addresses, peer_id) + .expect("the provided addresses are fine") } } diff --git a/finality-aleph/src/testing/mocks/validator_network.rs b/finality-aleph/src/testing/mocks/validator_network.rs index e0fcb0ecf5..a9cb23ec6c 100644 --- a/finality-aleph/src/testing/mocks/validator_network.rs +++ b/finality-aleph/src/testing/mocks/validator_network.rs @@ -20,7 +20,7 @@ use tokio::{ }; use crate::{ - network::{mock::Channel, Data, Multiaddress, NetworkIdentity}, + network::{mock::Channel, AddressingInformation, Data, NetworkIdentity}, validator_network::{ mock::{key, random_keys, MockPublicKey, MockSecretKey}, ConnectionInfo, Dialer as DialerT, Listener as ListenerT, Network, PeerAddressInfo, @@ -28,58 +28,43 @@ use crate::{ }, }; -pub type MockMultiaddress = (MockPublicKey, String); +#[derive(Clone, Debug, PartialEq, Eq, Hash, Encode, Decode)] +pub struct MockAddressingInformation { + peer_id: MockPublicKey, + address: String, +} -impl Multiaddress for MockMultiaddress { +impl AddressingInformation for MockAddressingInformation { type PeerId = MockPublicKey; - fn get_peer_id(&self) -> Option { - Some(self.0.clone()) - } - - fn add_matching_peer_id(self, peer_id: Self::PeerId) -> Option { - match self.0 == peer_id { - true => Some(self), - false => None, - } + fn peer_id(&self) -> Self::PeerId { + self.peer_id.clone() } } -#[derive(Clone)] -pub struct MockNetwork { - pub add_connection: Channel<(MockPublicKey, Vec)>, - pub remove_connection: Channel, - pub send: Channel<(D, MockPublicKey)>, - pub next: Channel, - id: MockPublicKey, - addresses: Vec, -} - -#[async_trait::async_trait] -impl Network for MockNetwork { - fn add_connection(&mut self, peer: MockPublicKey, addresses: Vec) { - self.add_connection.send((peer, addresses)); - } - - fn remove_connection(&mut self, peer: MockPublicKey) { - self.remove_connection.send(peer); - } +impl NetworkIdentity for MockAddressingInformation { + type PeerId = MockPublicKey; + type AddressingInformation = MockAddressingInformation; - fn send(&self, data: D, recipient: MockPublicKey) { - self.send.send((data, recipient)); + fn identity(&self) -> Self::AddressingInformation { + self.clone() } +} - async fn next(&mut self) -> Option { - self.next.next().await +impl From for Vec { + fn from(address: MockAddressingInformation) -> Self { + vec![address] } } -impl NetworkIdentity for MockNetwork { - type PeerId = MockPublicKey; - type Multiaddress = MockMultiaddress; +impl TryFrom> for MockAddressingInformation { + type Error = (); - fn identity(&self) -> (Vec, Self::PeerId) { - (self.addresses.clone(), self.id.clone()) + fn try_from(mut addresses: Vec) -> Result { + match addresses.pop() { + Some(address) => Ok(address), + None => Err(()), + } } } @@ -87,13 +72,13 @@ pub fn random_peer_id() -> MockPublicKey { key().0 } -pub fn random_identity_with_address(address: String) -> (Vec, MockPublicKey) { - let id = random_peer_id(); - (vec![(id.clone(), address)], id) +pub fn random_address_from(address: String) -> MockAddressingInformation { + let peer_id = random_peer_id(); + MockAddressingInformation { peer_id, address } } -pub fn random_identity() -> (Vec, MockPublicKey) { - random_identity_with_address( +pub fn random_address() -> MockAddressingInformation { + random_address_from( rand::thread_rng() .sample_iter(&rand::distributions::Alphanumeric) .map(char::from) @@ -102,32 +87,40 @@ pub fn random_identity() -> (Vec, MockPublicKey) { ) } -pub fn random_multiaddress() -> MockMultiaddress { - random_identity().0.pop().expect("we created an address") +#[derive(Clone)] +pub struct MockNetwork { + pub add_connection: Channel<(MockPublicKey, MockAddressingInformation)>, + pub remove_connection: Channel, + pub send: Channel<(D, MockPublicKey)>, + pub next: Channel, } -impl MockNetwork { - pub async fn new(address: &str) -> Self { - let id = random_peer_id(); - let addresses = vec![(id.clone(), String::from(address))]; - MockNetwork { - add_connection: Channel::new(), - remove_connection: Channel::new(), - send: Channel::new(), - next: Channel::new(), - addresses, - id, - } +#[async_trait::async_trait] +impl Network for MockNetwork { + fn add_connection(&mut self, peer: MockPublicKey, address: MockAddressingInformation) { + self.add_connection.send((peer, address)); + } + + fn remove_connection(&mut self, peer: MockPublicKey) { + self.remove_connection.send(peer); + } + + fn send(&self, data: D, recipient: MockPublicKey) { + self.send.send((data, recipient)); } - pub fn from(addresses: Vec, id: MockPublicKey) -> Self { + async fn next(&mut self) -> Option { + self.next.next().await + } +} + +impl MockNetwork { + pub fn new() -> Self { MockNetwork { add_connection: Channel::new(), remove_connection: Channel::new(), send: Channel::new(), next: Channel::new(), - addresses, - id, } } @@ -278,7 +271,7 @@ impl Splittable for UnreliableSplittable { } type Address = u32; -type Addresses = HashMap>; +type Addresses = HashMap; type Callers = HashMap; type Connection = UnreliableSplittable; @@ -296,10 +289,10 @@ impl DialerT

for MockDialer { type Connection = Connection; type Error = std::io::Error; - async fn connect(&mut self, addresses: Vec
) -> Result { + async fn connect(&mut self, address: Address) -> Result { let (tx, rx) = oneshot::channel(); self.channel_connect - .unbounded_send((self.own_address, addresses[0], tx)) + .unbounded_send((self.own_address, address, tx)) .expect("should send"); Ok(rx.await.expect("should receive")) } @@ -336,13 +329,13 @@ impl UnreliableConnectionMaker { .clone() .into_iter() .zip(0..ids.len()) - .map(|(id, u)| (id, vec![u as u32])) + .map(|(id, u)| (id, u as u32)) .collect(); // create callers for every peer, keep channels for communicating with them for id in ids.into_iter() { let (tx_listener, rx_listener) = mpsc::unbounded(); let dialer = MockDialer { - own_address: addr.get(&id).expect("should be there")[0], + own_address: *addr.get(&id).expect("should be there"), channel_connect: tx_dialer.clone(), }; let listener = MockListener { diff --git a/finality-aleph/src/testing/network.rs b/finality-aleph/src/testing/network.rs index fae9bbee0b..10b4508ef0 100644 --- a/finality-aleph/src/testing/network.rs +++ b/finality-aleph/src/testing/network.rs @@ -14,12 +14,15 @@ use crate::{ network::{ mock::{crypto_basics, MockData, MockEvent, MockNetwork}, setup_io, - testing::{DataInSession, DiscoveryMessage, SessionHandler, VersionedAuthentication}, - ConnectionManager, ConnectionManagerConfig, DataNetwork, NetworkIdentity, Protocol, - Service as NetworkService, SessionManager, + testing::{ + authentication, legacy_authentication, DataInSession, LegacyDiscoveryMessage, + SessionHandler, VersionedAuthentication, + }, + AddressingInformation, ConnectionManager, ConnectionManagerConfig, DataNetwork, + NetworkIdentity, Protocol, Service as NetworkService, SessionManager, }, testing::mocks::validator_network::{ - random_identity_with_address, MockMultiaddress, MockNetwork as MockValidatorNetwork, + random_address_from, MockAddressingInformation, MockNetwork as MockValidatorNetwork, }, validator_network::mock::{key, MockPublicKey}, MillisecsPerBlock, NodeIndex, Recipient, SessionId, SessionPeriod, @@ -33,7 +36,7 @@ const NODES_N: usize = 3; #[derive(Clone)] struct Authority { pen: AuthorityPen, - addresses: Vec, + address: MockAddressingInformation, peer_id: MockPublicKey, auth_peer_id: MockPublicKey, } @@ -43,8 +46,8 @@ impl Authority { self.pen.clone() } - fn addresses(&self) -> Vec { - self.addresses.clone() + fn address(&self) -> MockAddressingInformation { + self.address.clone() } fn peer_id(&self) -> MockPublicKey { @@ -58,10 +61,10 @@ impl Authority { impl NetworkIdentity for Authority { type PeerId = MockPublicKey; - type Multiaddress = MockMultiaddress; + type AddressingInformation = MockAddressingInformation; - fn identity(&self) -> (Vec, Self::PeerId) { - (self.addresses.clone(), self.peer_id.clone()) + fn identity(&self) -> Self::AddressingInformation { + self.address.clone() } } @@ -84,12 +87,12 @@ async fn prepare_one_session_test_data() -> TestData { let (authority_pens, authority_verifier) = crypto_basics(NODES_N).await; let mut authorities = Vec::new(); for (index, p) in authority_pens { - let identity = random_identity_with_address(index.0.to_string()); + let address = random_address_from(index.0.to_string()); let auth_peer_id = key().0; authorities.push(Authority { pen: p, - addresses: identity.0, - peer_id: identity.1, + peer_id: address.peer_id(), + address, auth_peer_id, }); } @@ -99,13 +102,12 @@ async fn prepare_one_session_test_data() -> TestData { let (network_manager_exit_tx, network_manager_exit_rx) = oneshot::channel(); let (network_service_exit_tx, network_service_exit_rx) = oneshot::channel(); let network = MockNetwork::new(event_stream_tx); - let validator_network = - MockValidatorNetwork::from(authorities[0].addresses(), authorities[0].peer_id()); + let validator_network = MockValidatorNetwork::new(); let (connection_io, network_io, session_io) = setup_io(validator_network.clone()); let connection_manager = ConnectionManager::new( - validator_network.clone(), + authorities[0].clone(), ConnectionManagerConfig::with_session_period(&SESSION_PERIOD, &MILLISECS_PER_BLOCK), ); @@ -184,32 +186,40 @@ impl TestData { &self, node_id: usize, session_id: u32, - ) -> SessionHandler { + ) -> SessionHandler { SessionHandler::new( Some((NodeIndex(node_id), self.authorities[node_id].pen())), self.authority_verifier.clone(), SessionId(session_id), - self.authorities[node_id].addresses().to_vec(), + self.authorities[node_id].address(), ) .await - .unwrap() } async fn check_add_connection(&mut self) { let mut reserved_addresses = HashSet::new(); for _ in self.authorities.iter().skip(1) { - let (_, addresses) = self + let (_, address) = self .validator_network .add_connection .next() .await .expect("Should add reserved nodes"); - reserved_addresses.extend(addresses.into_iter()); + reserved_addresses.insert(address); + // Gotta repeat this, because we are adding every address twice, due to legacy + // authentications. + let (_, address) = self + .validator_network + .add_connection + .next() + .await + .expect("Should add reserved nodes"); + reserved_addresses.insert(address); } let mut expected_addresses = HashSet::new(); for authority in self.authorities.iter().skip(1) { - expected_addresses.extend(authority.addresses()); + expected_addresses.insert(authority.address()); } assert_eq!(reserved_addresses, expected_addresses); @@ -221,14 +231,14 @@ impl TestData { self.connect_identity_to_network(authority.auth_peer_id(), Protocol::Authentication); - self.network.emit_event(MockEvent::Messages(vec![( - Protocol::Authentication, - VersionedAuthentication::V1(DiscoveryMessage::AuthenticationBroadcast( - handler.authentication().unwrap(), - )) - .encode() - .into(), - )])); + for versioned_authentication in + Vec::>::from(handler.authentication().unwrap()) + { + self.network.emit_event(MockEvent::Messages(vec![( + Protocol::Authentication, + versioned_authentication.encode().into(), + )])); + } } } @@ -243,7 +253,7 @@ impl TestData { async fn next_sent_auth( &mut self, ) -> Option<( - VersionedAuthentication, + VersionedAuthentication, MockPublicKey, Protocol, )> { @@ -252,9 +262,10 @@ impl TestData { Some((data, peer_id, protocol)) => { if protocol == Protocol::Authentication { return Some(( - VersionedAuthentication::::decode( - &mut data.as_slice(), - ) + VersionedAuthentication::< + MockAddressingInformation, + MockAddressingInformation, + >::decode(&mut data.as_slice()) .expect("should decode"), peer_id, protocol, @@ -289,12 +300,18 @@ async fn test_sends_discovery_message() { for _ in 0..4 { match test_data.next_sent_auth().await { Some(( - VersionedAuthentication::V1(DiscoveryMessage::AuthenticationBroadcast(auth_data)), + VersionedAuthentication::V1(LegacyDiscoveryMessage::AuthenticationBroadcast( + authentication, + )), peer_id, _, )) => { assert_eq!(peer_id, connected_peer_id); - assert_eq!(auth_data, handler.authentication().unwrap()); + assert_eq!(authentication, legacy_authentication(&handler)); + } + Some((VersionedAuthentication::V2(new_authentication), peer_id, _)) => { + assert_eq!(peer_id, connected_peer_id); + assert_eq!(new_authentication, authentication(&handler)); } None => panic!("Not sending authentications"), _ => panic!("Should broadcast own authentication, nothing else"), @@ -321,48 +338,67 @@ async fn test_forwards_authentication_broadcast() { test_data.connect_identity_to_network(authority.auth_peer_id(), Protocol::Authentication); } - test_data.network.emit_event(MockEvent::Messages(vec![( - Protocol::Authentication, - VersionedAuthentication::V1(DiscoveryMessage::AuthenticationBroadcast( - sending_peer_handler.authentication().unwrap(), - )) - .encode() - .into(), - )])); + for versioned_authentication in + Vec::>::from(sending_peer_handler.authentication().unwrap()) + { + test_data.network.emit_event(MockEvent::Messages(vec![( + Protocol::Authentication, + versioned_authentication.encode().into(), + )])); + } - assert_eq!( - test_data - .validator_network - .add_connection - .next() - .await - .expect("Should add reserved nodes"), - (sending_peer.peer_id(), sending_peer.addresses()), - ); + for _ in 0..2 { + // Since we send the legacy auth and both are correct this should happen twice. + assert_eq!( + test_data + .validator_network + .add_connection + .next() + .await + .expect("Should add reserved nodes"), + (sending_peer.peer_id(), sending_peer.address()), + ); + } let mut expected_authentication = HashMap::new(); + let mut expected_legacy_authentication = HashMap::new(); for authority in test_data.authorities.iter().skip(1) { expected_authentication.insert( authority.auth_peer_id(), - sending_peer_handler.authentication().unwrap(), + authentication(&sending_peer_handler), + ); + expected_legacy_authentication.insert( + authority.auth_peer_id(), + legacy_authentication(&sending_peer_handler), ); } let mut sent_authentication = HashMap::new(); - while sent_authentication.len() < NODES_N - 1 { - if let Some(( - VersionedAuthentication::V1(DiscoveryMessage::AuthenticationBroadcast(auth_data)), - peer_id, - _, - )) = test_data.next_sent_auth().await - { - if auth_data != handler.authentication().unwrap() { - sent_authentication.insert(peer_id, auth_data); + let mut sent_legacy_authentication = HashMap::new(); + while sent_authentication.len() < NODES_N - 1 || sent_legacy_authentication.len() < NODES_N - 1 + { + match test_data.next_sent_auth().await { + Some(( + VersionedAuthentication::V1(LegacyDiscoveryMessage::AuthenticationBroadcast(auth)), + peer_id, + _, + )) => { + if auth != legacy_authentication(&handler) { + sent_legacy_authentication.insert(peer_id, auth); + } + } + Some((VersionedAuthentication::V2(auth), peer_id, _)) => { + if auth != authentication(&handler) { + sent_authentication.insert(peer_id, auth); + } } + None => panic!("not enough authentications sent"), + _ => (), } } assert_eq!(sent_authentication, expected_authentication); + assert_eq!(sent_legacy_authentication, expected_legacy_authentication); test_data.cleanup().await; assert_eq!( diff --git a/finality-aleph/src/validator_network/manager/direction.rs b/finality-aleph/src/validator_network/manager/direction.rs index 3197b1a12d..de69416ba6 100644 --- a/finality-aleph/src/validator_network/manager/direction.rs +++ b/finality-aleph/src/validator_network/manager/direction.rs @@ -9,7 +9,7 @@ use crate::validator_network::{Data, PublicKey}; /// case also keeps the peers' addresses. pub struct DirectedPeers { own_id: PK, - outgoing: HashMap>, + outgoing: HashMap, incoming: HashSet, } @@ -38,24 +38,24 @@ impl DirectedPeers { } /// Add a peer to the list of peers we want to stay connected to, or - /// update the list of addresses if the peer was already added. + /// update the address if the peer was already added. /// Returns whether we should start attempts at connecting with the peer, which is the case /// exactly when the peer is one with which we should attempt connections AND it was added for /// the first time. - pub fn add_peer(&mut self, peer_id: PK, addresses: Vec) -> bool { + pub fn add_peer(&mut self, peer_id: PK, address: A) -> bool { match should_we_call(self.own_id.as_ref(), peer_id.as_ref()) { - true => self.outgoing.insert(peer_id, addresses).is_none(), + true => self.outgoing.insert(peer_id, address).is_none(), false => { - // We discard the addresses here, as we will never want to call this peer anyway, - // so we don't need them. + // We discard the address here, as we will never want to call this peer anyway, + // so we don't need it. self.incoming.insert(peer_id); false } } } - /// Return the addresses of the given peer, or None if we shouldn't attempt connecting with the peer. - pub fn peer_addresses(&self, peer_id: &PK) -> Option> { + /// Return the address of the given peer, or None if we shouldn't attempt connecting with the peer. + pub fn peer_address(&self, peer_id: &PK) -> Option { self.outgoing.get(peer_id).cloned() } @@ -95,31 +95,27 @@ mod tests { (container, id) } - fn some_addresses() -> Vec
{ - vec![ - String::from(""), - String::from("a/b/c"), - String::from("43.43.43.43:43000"), - ] + fn some_address() -> Address { + String::from("43.43.43.43:43000") } #[test] fn exactly_one_direction_attempts_connections() { let (mut container0, id0) = container_with_id(); let (mut container1, id1) = container_with_id(); - let addresses = some_addresses(); - assert!(container0.add_peer(id1, addresses.clone()) != container1.add_peer(id0, addresses)); + let address = some_address(); + assert!(container0.add_peer(id1, address.clone()) != container1.add_peer(id0, address)); } fn container_with_added_connecting_peer( ) -> (DirectedPeers, MockPublicKey) { let (mut container0, id0) = container_with_id(); let (mut container1, id1) = container_with_id(); - let addresses = some_addresses(); - match container0.add_peer(id1.clone(), addresses.clone()) { + let address = some_address(); + match container0.add_peer(id1.clone(), address.clone()) { true => (container0, id1), false => { - container1.add_peer(id0.clone(), addresses); + container1.add_peer(id0.clone(), address); (container1, id0) } } @@ -129,11 +125,11 @@ mod tests { ) -> (DirectedPeers, MockPublicKey) { let (mut container0, id0) = container_with_id(); let (mut container1, id1) = container_with_id(); - let addresses = some_addresses(); - match container0.add_peer(id1.clone(), addresses.clone()) { + let address = some_address(); + match container0.add_peer(id1.clone(), address.clone()) { false => (container0, id1), true => { - container1.add_peer(id0.clone(), addresses); + container1.add_peer(id0.clone(), address); (container1, id0) } } @@ -142,20 +138,20 @@ mod tests { #[test] fn no_connecting_on_subsequent_add() { let (mut container0, id1) = container_with_added_connecting_peer(); - let addresses = some_addresses(); - assert!(!container0.add_peer(id1, addresses)); + let address = some_address(); + assert!(!container0.add_peer(id1, address)); } #[test] - fn peer_addresses_when_connecting() { + fn peer_address_when_connecting() { let (container0, id1) = container_with_added_connecting_peer(); - assert!(container0.peer_addresses(&id1).is_some()); + assert!(container0.peer_address(&id1).is_some()); } #[test] - fn no_peer_addresses_when_nonconnecting() { + fn no_peer_address_when_nonconnecting() { let (container0, id1) = container_with_added_nonconnecting_peer(); - assert!(container0.peer_addresses(&id1).is_none()); + assert!(container0.peer_address(&id1).is_none()); } #[test] diff --git a/finality-aleph/src/validator_network/manager/legacy.rs b/finality-aleph/src/validator_network/manager/legacy.rs index 3162161983..cac850d189 100644 --- a/finality-aleph/src/validator_network/manager/legacy.rs +++ b/finality-aleph/src/validator_network/manager/legacy.rs @@ -16,7 +16,7 @@ use crate::{ /// Network component responsible for holding the list of peers that we /// want to connect to, and managing the established connections. pub struct Manager { - addresses: HashMap>, + addresses: HashMap, outgoing: HashMap>, incoming: HashMap>, } @@ -146,15 +146,15 @@ impl Manager { } /// Add a peer to the list of peers we want to stay connected to, or - /// update the list of addresses if the peer was already added. + /// update the address if the peer was already added. /// Returns whether this peer is a new peer. - pub fn add_peer(&mut self, peer_id: PK, addresses: Vec) -> bool { - self.addresses.insert(peer_id, addresses).is_none() + pub fn add_peer(&mut self, peer_id: PK, address: A) -> bool { + self.addresses.insert(peer_id, address).is_none() } - /// Return Option containing addresses of the given peer, or None if + /// Return Option containing the address of the given peer, or None if /// the peer is unknown. - pub fn peer_addresses(&self, peer_id: &PK) -> Option> { + pub fn peer_address(&self, peer_id: &PK) -> Option { self.addresses.get(peer_id).cloned() } @@ -228,23 +228,19 @@ mod tests { let mut manager = Manager::::new(); let (peer_id, _) = key(); let (peer_id_b, _) = key(); - let addresses = vec![ - String::from(""), - String::from("a/b/c"), - String::from("43.43.43.43:43000"), - ]; + let address = String::from("43.43.43.43:43000"); // add new peer - returns true - assert!(manager.add_peer(peer_id.clone(), addresses.clone())); + assert!(manager.add_peer(peer_id.clone(), address.clone())); // add known peer - returns false - assert!(!manager.add_peer(peer_id.clone(), addresses.clone())); + assert!(!manager.add_peer(peer_id.clone(), address.clone())); // get address - assert_eq!(manager.peer_addresses(&peer_id), Some(addresses)); + assert_eq!(manager.peer_address(&peer_id), Some(address)); // try to get address of an unknown peer - assert_eq!(manager.peer_addresses(&peer_id_b), None); + assert_eq!(manager.peer_address(&peer_id_b), None); // remove peer manager.remove_peer(&peer_id); // try to get address of removed peer - assert_eq!(manager.peer_addresses(&peer_id), None); + assert_eq!(manager.peer_address(&peer_id), None); } #[tokio::test] @@ -252,11 +248,7 @@ mod tests { let mut manager = Manager::::new(); let data = String::from("DATA"); let (peer_id, _) = key(); - let addresses = vec![ - String::from(""), - String::from("a/b/c"), - String::from("43.43.43.43:43000"), - ]; + let address = String::from("43.43.43.43:43000"); let (tx, _rx) = mpsc::unbounded(); // try add unknown peer manager.add_outgoing(peer_id.clone(), tx); @@ -266,7 +258,7 @@ mod tests { Err(SendError::PeerNotFound) ); // add peer, this time for real - assert!(manager.add_peer(peer_id.clone(), addresses.clone())); + assert!(manager.add_peer(peer_id.clone(), address.clone())); let (tx, mut rx) = mpsc::unbounded(); assert_eq!(manager.add_outgoing(peer_id.clone(), tx), Added); // send and receive @@ -282,18 +274,14 @@ mod tests { fn incoming() { let mut manager = Manager::::new(); let (peer_id, _) = key(); - let addresses = vec![ - String::from(""), - String::from("a/b/c"), - String::from("43.43.43.43:43000"), - ]; + let address = String::from("43.43.43.43:43000"); let (tx, mut rx) = mpsc::unbounded(); // try add unknown peer assert_eq!(manager.add_incoming(peer_id.clone(), tx), Uninterested); // rx should fail assert!(rx.try_next().expect("channel should be closed").is_none()); // add peer, this time for real - assert!(manager.add_peer(peer_id.clone(), addresses)); + assert!(manager.add_peer(peer_id.clone(), address)); let (tx, mut rx) = mpsc::unbounded(); // should just add assert_eq!(manager.add_incoming(peer_id.clone(), tx), Added); diff --git a/finality-aleph/src/validator_network/manager/mod.rs b/finality-aleph/src/validator_network/manager/mod.rs index 4949f4687b..2a5d094bd3 100644 --- a/finality-aleph/src/validator_network/manager/mod.rs +++ b/finality-aleph/src/validator_network/manager/mod.rs @@ -184,17 +184,17 @@ impl Manager { } /// Add a peer to the list of peers we want to stay connected to, or - /// update the list of addresses if the peer was already added. + /// update the address if the peer was already added. /// Returns whether we should start attempts at connecting with the peer, which depends on the /// coorddinated pseudorandom decision on the direction of the connection and whether this was /// added for the first time. - pub fn add_peer(&mut self, peer_id: PK, addresses: Vec) -> bool { - self.wanted.add_peer(peer_id, addresses) + pub fn add_peer(&mut self, peer_id: PK, address: A) -> bool { + self.wanted.add_peer(peer_id, address) } - /// Return the addresses of the given peer, or None if we shouldn't attempt connecting with the peer. - pub fn peer_addresses(&self, peer_id: &PK) -> Option> { - self.wanted.peer_addresses(peer_id) + /// Return the address of the given peer, or None if we shouldn't attempt connecting with the peer. + pub fn peer_address(&self, peer_id: &PK) -> Option { + self.wanted.peer_address(peer_id) } /// Add an established connection with a known peer, but only if the peer is among the peers we want to be connected to. @@ -253,26 +253,22 @@ mod tests { let mut manager = Manager::::new(own_id); let (peer_id, _) = key(); let (peer_id_b, _) = key(); - let addresses = vec![ - String::from(""), - String::from("a/b/c"), - String::from("43.43.43.43:43000"), - ]; + let address = String::from("43.43.43.43:43000"); // add new peer - might return either true or false, depending on the ids - let attempting_connections = manager.add_peer(peer_id.clone(), addresses.clone()); + let attempting_connections = manager.add_peer(peer_id.clone(), address.clone()); // add known peer - always returns false - assert!(!manager.add_peer(peer_id.clone(), addresses.clone())); + assert!(!manager.add_peer(peer_id.clone(), address.clone())); // get address match attempting_connections { - true => assert_eq!(manager.peer_addresses(&peer_id), Some(addresses)), - false => assert_eq!(manager.peer_addresses(&peer_id), None), + true => assert_eq!(manager.peer_address(&peer_id), Some(address)), + false => assert_eq!(manager.peer_address(&peer_id), None), } // try to get address of an unknown peer - assert_eq!(manager.peer_addresses(&peer_id_b), None); + assert_eq!(manager.peer_address(&peer_id_b), None); // remove peer manager.remove_peer(&peer_id); // try to get address of removed peer - assert_eq!(manager.peer_addresses(&peer_id), None); + assert_eq!(manager.peer_address(&peer_id), None); // remove again manager.remove_peer(&peer_id); // remove unknown peer @@ -288,11 +284,7 @@ mod tests { let mut listening_manager = Manager::::new(listening_id.clone()); let data = String::from("DATA"); - let addresses = vec![ - String::from(""), - String::from("a/b/c"), - String::from("43.43.43.43:43000"), - ]; + let address = String::from("43.43.43.43:43000"); let (tx, _rx) = mpsc::unbounded(); // try add unknown peer assert_eq!( @@ -305,14 +297,14 @@ mod tests { Err(SendError::PeerNotFound) ); // add peer, this time for real - if connecting_manager.add_peer(listening_id.clone(), addresses.clone()) { - assert!(!listening_manager.add_peer(connecting_id.clone(), addresses.clone())) + if connecting_manager.add_peer(listening_id.clone(), address.clone()) { + assert!(!listening_manager.add_peer(connecting_id.clone(), address.clone())) } else { // We need to switch the names around, because the connection was randomly the // other way around. std::mem::swap(&mut connecting_id, &mut listening_id); std::mem::swap(&mut connecting_manager, &mut listening_manager); - assert!(connecting_manager.add_peer(listening_id.clone(), addresses.clone())); + assert!(connecting_manager.add_peer(listening_id.clone(), address.clone())); } // add outgoing to connecting let (tx, mut rx) = mpsc::unbounded(); diff --git a/finality-aleph/src/validator_network/mod.rs b/finality-aleph/src/validator_network/mod.rs index 5a35646ec0..9880754996 100644 --- a/finality-aleph/src/validator_network/mod.rs +++ b/finality-aleph/src/validator_network/mod.rs @@ -31,7 +31,7 @@ impl Data for D {} #[async_trait::async_trait] pub trait Network: Send + 'static { /// Add the peer to the set of connected peers. - fn add_connection(&mut self, peer: PK, addresses: Vec); + fn add_connection(&mut self, peer: PK, address: A); /// Remove the peer from the set of connected peers and close the connection. fn remove_connection(&mut self, peer: PK); @@ -67,9 +67,8 @@ pub trait Dialer: Clone + Send + 'static { type Connection: Splittable; type Error: Display + Send; - /// Attempt to connect to a peer using the provided addresses. Should work if at least one of - /// the addresses is correct. - async fn connect(&mut self, addresses: Vec) -> Result; + /// Attempt to connect to a peer using the provided addressing information. + async fn connect(&mut self, address: A) -> Result; } /// Accepts new connections. Usually will be created listening on a specific interface and this is diff --git a/finality-aleph/src/validator_network/outgoing.rs b/finality-aleph/src/validator_network/outgoing.rs index 679b9d0b9b..7091e15a7c 100644 --- a/finality-aleph/src/validator_network/outgoing.rs +++ b/finality-aleph/src/validator_network/outgoing.rs @@ -40,15 +40,12 @@ async fn manage_outgoing>( secret_key: SK, public_key: SK::PublicKey, mut dialer: ND, - addresses: Vec, + address: A, result_for_parent: mpsc::UnboundedSender>, data_for_user: mpsc::UnboundedSender, ) -> Result<(), OutgoingError> { debug!(target: "validator-network", "Trying to connect to {}.", public_key); - let stream = dialer - .connect(addresses) - .await - .map_err(OutgoingError::Dial)?; + let stream = dialer.connect(address).await.map_err(OutgoingError::Dial)?; let peer_address_info = stream.peer_address_info(); debug!(target: "validator-network", "Performing outgoing protocol negotiation."); let (stream, protocol) = protocol(stream) @@ -76,7 +73,7 @@ pub async fn outgoing>( secret_key: SK, public_key: SK::PublicKey, dialer: ND, - addresses: Vec, + address: A, result_for_parent: mpsc::UnboundedSender>, data_for_user: mpsc::UnboundedSender, ) { @@ -84,13 +81,13 @@ pub async fn outgoing>( secret_key, public_key.clone(), dialer, - addresses.clone(), + address.clone(), result_for_parent.clone(), data_for_user, ) .await { - info!(target: "validator-network", "Outgoing connection to {} {:?} failed: {}, will retry after {}s.", public_key, addresses, e, RETRY_DELAY.as_secs()); + info!(target: "validator-network", "Outgoing connection to {} {:?} failed: {}, will retry after {}s.", public_key, address, e, RETRY_DELAY.as_secs()); sleep(RETRY_DELAY).await; // we send the "new" connection type, because we always assume it's new until proven // otherwise, and here we did not even get the chance to attempt negotiating a protocol diff --git a/finality-aleph/src/validator_network/service.rs b/finality-aleph/src/validator_network/service.rs index c1c2f4a762..320e78c62d 100644 --- a/finality-aleph/src/validator_network/service.rs +++ b/finality-aleph/src/validator_network/service.rs @@ -20,7 +20,7 @@ use crate::{ }; enum ServiceCommand { - AddConnection(PK, Vec), + AddConnection(PK, A), DelConnection(PK), SendData(D, PK), } @@ -33,10 +33,10 @@ struct ServiceInterface { #[async_trait::async_trait] impl Network for ServiceInterface { /// Add the peer to the set of connected peers. - fn add_connection(&mut self, peer: PK, addresses: Vec) { + fn add_connection(&mut self, peer: PK, address: A) { if self .commands_for_service - .unbounded_send(ServiceCommand::AddConnection(peer, addresses)) + .unbounded_send(ServiceCommand::AddConnection(peer, address)) .is_err() { info!(target: "validator-network", "Service is dead."); @@ -126,7 +126,7 @@ where fn spawn_new_outgoing( &self, public_key: SK::PublicKey, - addresses: Vec, + address: A, result_for_parent: mpsc::UnboundedSender>, ) { let secret_key = self.secret_key.clone(); @@ -138,7 +138,7 @@ where secret_key, public_key, dialer, - addresses, + address, result_for_parent, next_to_interface, ) @@ -159,10 +159,10 @@ where }); } - fn peer_addresses(&self, public_key: &SK::PublicKey) -> Option> { + fn peer_address(&self, public_key: &SK::PublicKey) -> Option { match self.legacy_connected.contains(public_key) { - true => self.legacy_manager.peer_addresses(public_key), - false => self.manager.peer_addresses(public_key), + true => self.legacy_manager.peer_address(public_key), + false => self.manager.peer_address(public_key), } } @@ -200,8 +200,8 @@ where fn unmark_legacy(&mut self, public_key: &SK::PublicKey) { self.legacy_connected.remove(public_key); // Put it back if we still want to be connected. - if let Some(addresses) = self.legacy_manager.peer_addresses(public_key) { - self.manager.add_peer(public_key.clone(), addresses); + if let Some(address) = self.legacy_manager.peer_address(public_key) { + self.manager.add_peer(public_key.clone(), address); } } @@ -241,17 +241,17 @@ where }, // got a new command from the interface Some(command) = self.commands_from_interface.next() => match command { - // register new peer in manager or update its list of addresses if already there + // register new peer in manager or update its address if already there // spawn a worker managing outgoing connection if the peer was not known - AddConnection(public_key, addresses) => { + AddConnection(public_key, address) => { // we add all the peers to the legacy manager so we don't lose the - // addresses, but only care about its opinion when it turns out we have to + // address, but only care about its opinion when it turns out we have to // in particular the first time we add a peer we never know whether it // requires legacy connecting, so we only attempt to connect to it if the // new criterion is satisfied, otherwise we wait for it to connect to us - self.legacy_manager.add_peer(public_key.clone(), addresses.clone()); - if self.manager.add_peer(public_key.clone(), addresses.clone()) { - self.spawn_new_outgoing(public_key, addresses, result_for_parent.clone()); + self.legacy_manager.add_peer(public_key.clone(), address.clone()); + if self.manager.add_peer(public_key.clone(), address.clone()) { + self.spawn_new_outgoing(public_key, address, result_for_parent.clone()); }; }, // remove the peer from the manager all workers will be killed automatically, due to closed channels @@ -278,8 +278,8 @@ where // check if we still want to be connected to the peer, and if so, spawn a new worker or actually add proper connection Some((public_key, maybe_data_for_network, connection_type)) = worker_results.next() => { if self.check_for_legacy(&public_key, connection_type) { - match self.legacy_manager.peer_addresses(&public_key) { - Some(addresses) => self.spawn_new_outgoing(public_key.clone(), addresses, result_for_parent.clone()), + match self.legacy_manager.peer_address(&public_key) { + Some(address) => self.spawn_new_outgoing(public_key.clone(), address, result_for_parent.clone()), None => { // We received a result from a worker we are no longer interested // in. @@ -294,8 +294,8 @@ where Added => info!(target: "validator-network", "New connection with peer {}.", public_key), Replaced => info!(target: "validator-network", "Replaced connection with peer {}.", public_key), }, - None => if let Some(addresses) = self.peer_addresses(&public_key) { - self.spawn_new_outgoing(public_key, addresses, result_for_parent.clone()); + None => if let Some(address) = self.peer_address(&public_key) { + self.spawn_new_outgoing(public_key, address, result_for_parent.clone()); } } }, From 3274948bd15fb270749343fbab3ca99cb48095af Mon Sep 17 00:00:00 2001 From: Mikolaj Gasior Date: Thu, 8 Dec 2022 21:27:54 +0100 Subject: [PATCH 038/212] A0-1520: Add a condition for S3 steps to run only when AWS secrets are present (#797) * Add a condition for S3 steps to run only when AWS secrets are present * Change calls to secrets var with env vars --- .github/workflows/build-node-and-runtime.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.github/workflows/build-node-and-runtime.yml b/.github/workflows/build-node-and-runtime.yml index 3cfe155af0..4c9d4597b1 100644 --- a/.github/workflows/build-node-and-runtime.yml +++ b/.github/workflows/build-node-and-runtime.yml @@ -18,6 +18,8 @@ jobs: runs-on: ubuntu-20.04 env: RUST_BACKTRACE: full + SECRETS_AWS_MAINNET_ACCESS_KEY_ID: ${{ secrets.AWS_MAINNET_ACCESS_KEY_ID }} + SECRETS_AWS_MAINNET_SECRET_ACCESS_KEY: ${{ secrets.AWS_MAINNET_SECRET_ACCESS_KEY }} steps: - name: Checkout source code uses: actions/checkout@v2 @@ -65,6 +67,7 @@ jobs: retention-days: 7 - name: S3 CI | Configure AWS credentials + if: env.SECRETS_AWS_MAINNET_ACCESS_KEY_ID != '' && env.SECRETS_AWS_MAINNET_SECRET_ACCESS_KEY != '' uses: aws-actions/configure-aws-credentials@v1 env: AWS_REGION: us-east-1 @@ -74,6 +77,7 @@ jobs: aws-region: ${{ env.AWS_REGION }} - name: S3 CI | Copy release binary to S3 bucket + if: env.SECRETS_AWS_MAINNET_ACCESS_KEY_ID != '' && env.SECRETS_AWS_MAINNET_SECRET_ACCESS_KEY != '' shell: bash env: BINARY_DIR: target/production @@ -85,6 +89,7 @@ jobs: aws s3 cp ${{ env.S3BUCKET_FILE }} ${{ env.S3BUCKET_URL }}/${{ env.S3BUCKET_FILE }} - name: S3 CI | Copy release runtime to S3 bucket + if: env.SECRETS_AWS_MAINNET_ACCESS_KEY_ID != '' && env.SECRETS_AWS_MAINNET_SECRET_ACCESS_KEY != '' shell: bash env: BINARY_DIR: target/production/wbuild/aleph-runtime @@ -115,6 +120,7 @@ jobs: retention-days: 7 - name: S3 CI | Copy test binary to S3 bucket + if: env.SECRETS_AWS_MAINNET_ACCESS_KEY_ID != '' && env.SECRETS_AWS_MAINNET_SECRET_ACCESS_KEY != '' shell: bash env: BINARY_DIR: target/release @@ -126,6 +132,7 @@ jobs: aws s3 cp ${{ env.S3BUCKET_FILE }} ${{ env.S3BUCKET_URL }}/${{ env.S3BUCKET_FILE }} - name: S3 CI | Copy test runtime to S3 bucket + if: env.SECRETS_AWS_MAINNET_ACCESS_KEY_ID != '' && env.SECRETS_AWS_MAINNET_SECRET_ACCESS_KEY != '' shell: bash env: BINARY_DIR: target/release/wbuild/aleph-runtime From ba93ee7c0b96863f6c2b22fcbfccc27e6a935b4e Mon Sep 17 00:00:00 2001 From: lesniak43 Date: Fri, 9 Dec 2022 15:28:54 +0100 Subject: [PATCH 039/212] A0-1667 Add timeouts to the dialer (#791) --- finality-aleph/src/validator_network/outgoing.rs | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/finality-aleph/src/validator_network/outgoing.rs b/finality-aleph/src/validator_network/outgoing.rs index 7091e15a7c..946aa9e32e 100644 --- a/finality-aleph/src/validator_network/outgoing.rs +++ b/finality-aleph/src/validator_network/outgoing.rs @@ -2,7 +2,7 @@ use std::fmt::{Debug, Display, Error as FmtError, Formatter}; use futures::channel::mpsc; use log::{debug, info}; -use tokio::time::{sleep, Duration}; +use tokio::time::{sleep, timeout, Duration}; use crate::validator_network::{ protocols::{ @@ -15,6 +15,7 @@ enum OutgoingError> { Dial(ND::Error), ProtocolNegotiation(PeerAddressInfo, ProtocolNegotiationError), Protocol(PeerAddressInfo, ProtocolError), + TimedOut, } impl> Display for OutgoingError { @@ -32,10 +33,14 @@ impl> Display for OutgoingError "communication with {} failed, protocol error: {}", addr, e ), + TimedOut => write!(f, "dial timeout",), } } } +/// Arbitrarily chosen timeout, should be more than enough. +const DIAL_TIMEOUT: Duration = Duration::from_secs(60); + async fn manage_outgoing>( secret_key: SK, public_key: SK::PublicKey, @@ -45,7 +50,10 @@ async fn manage_outgoing>( data_for_user: mpsc::UnboundedSender, ) -> Result<(), OutgoingError> { debug!(target: "validator-network", "Trying to connect to {}.", public_key); - let stream = dialer.connect(address).await.map_err(OutgoingError::Dial)?; + let stream = timeout(DIAL_TIMEOUT, dialer.connect(address)) + .await + .map_err(|_| OutgoingError::TimedOut)? + .map_err(OutgoingError::Dial)?; let peer_address_info = stream.peer_address_info(); debug!(target: "validator-network", "Performing outgoing protocol negotiation."); let (stream, protocol) = protocol(stream) From 48909501119a3b3c9836dc0898a5c7bb4e7c3c03 Mon Sep 17 00:00:00 2001 From: timorl Date: Mon, 12 Dec 2022 16:02:54 +0100 Subject: [PATCH 040/212] A0-1526: Sign addressing information (#798) * Sign addressing information * Better name for verification * Elaborate why zero signatures Co-authored-by: timorl --- finality-aleph/src/crypto.rs | 9 +- .../src/network/manager/compatibility.rs | 31 +++-- finality-aleph/src/network/manager/session.rs | 30 ++++- finality-aleph/src/network/mod.rs | 5 +- finality-aleph/src/nodes/validator_node.rs | 2 +- finality-aleph/src/tcp_network.rs | 125 +++++++++++++----- .../src/testing/mocks/validator_network.rs | 25 +++- finality-aleph/src/testing/network.rs | 2 +- 8 files changed, 177 insertions(+), 52 deletions(-) diff --git a/finality-aleph/src/crypto.rs b/finality-aleph/src/crypto.rs index f1b0cd8b36..4d24141c7e 100644 --- a/finality-aleph/src/crypto.rs +++ b/finality-aleph/src/crypto.rs @@ -2,7 +2,7 @@ use std::{convert::TryInto, sync::Arc}; use aleph_primitives::{AuthorityId, AuthoritySignature, KEY_TYPE}; use codec::{Decode, Encode}; -use sp_core::crypto::KeyTypeId; +use sp_core::{crypto::KeyTypeId, ed25519::Signature as RawSignature}; use sp_keystore::{CryptoStore, Error as KeystoreError}; use sp_runtime::RuntimeAppPublic; @@ -24,6 +24,13 @@ impl From for Signature { } } +// This is here just for a compatibility hack, remove when removing legacy/v1 authentications. +impl From<[u8; 64]> for Signature { + fn from(bytes: [u8; 64]) -> Signature { + Signature(RawSignature::from_raw(bytes).into()) + } +} + /// Ties an authority identification and a cryptography keystore together for use in /// signing that requires an authority. #[derive(Clone)] diff --git a/finality-aleph/src/network/manager/compatibility.rs b/finality-aleph/src/network/manager/compatibility.rs index 21afeb79bb..314ecae5c1 100644 --- a/finality-aleph/src/network/manager/compatibility.rs +++ b/finality-aleph/src/network/manager/compatibility.rs @@ -259,13 +259,15 @@ mod test { NetworkIdentity, }, nodes::testing::new_pen, - tcp_network::{testing::new_identity, LegacyTcpMultiaddress, TcpAddressingInformation}, + tcp_network::{ + testing::new_identity, LegacyTcpMultiaddress, SignedTcpAddressingInformation, + }, testing::mocks::validator_network::MockAddressingInformation, NodeIndex, SessionId, Version, }; /// Session Handler used for generating versioned authentication in `raw_authentication_v1` - async fn handler() -> SessionHandler { + async fn handler() -> SessionHandler { let mnemonic = "ring cool spatial rookie need wing opinion pond fork garbage more april"; let external_addresses = vec![ String::from("addr1"), @@ -275,7 +277,7 @@ mod test { let keystore = Arc::new(KeyStore::new()); let pen = new_pen(mnemonic, keystore).await; - let identity = new_identity(external_addresses, pen.authority_id()); + let identity = new_identity(external_addresses, &pen).await; SessionHandler::new( Some((NodeIndex(21), pen)), @@ -287,8 +289,8 @@ mod test { } fn authentication_v1( - handler: SessionHandler, - ) -> VersionedAuthentication { + handler: SessionHandler, + ) -> VersionedAuthentication { match handler .authentication() .expect("should have authentication") @@ -301,8 +303,8 @@ mod test { } fn authentication_v2( - handler: SessionHandler, - ) -> VersionedAuthentication { + handler: SessionHandler, + ) -> VersionedAuthentication { match handler .authentication() .expect("should have authentication") @@ -342,13 +344,16 @@ mod test { fn raw_authentication_v2() -> Vec { //TODO: this will fail, check what it should be vec![ - 2, 0, 127, 0, 50, 40, 192, 239, 72, 72, 119, 156, 76, 37, 212, 220, 76, 165, 39, 73, + 2, 0, 191, 0, 50, 40, 192, 239, 72, 72, 119, 156, 76, 37, 212, 220, 76, 165, 39, 73, 20, 89, 77, 66, 171, 174, 61, 31, 254, 137, 186, 1, 7, 141, 187, 219, 20, 97, 100, 100, - 114, 49, 8, 20, 97, 100, 100, 114, 50, 20, 97, 100, 100, 114, 51, 21, 0, 0, 0, 0, 0, 0, - 0, 37, 0, 0, 0, 62, 4, 215, 148, 82, 197, 128, 124, 68, 183, 132, 114, 101, 15, 49, - 220, 175, 29, 128, 15, 163, 6, 147, 56, 103, 140, 125, 92, 92, 243, 194, 168, 63, 65, - 101, 78, 165, 63, 169, 132, 73, 212, 6, 10, 231, 78, 48, 219, 70, 23, 180, 227, 95, - 141, 111, 60, 245, 119, 27, 84, 187, 33, 77, 2, + 114, 49, 8, 20, 97, 100, 100, 114, 50, 20, 97, 100, 100, 114, 51, 193, 134, 174, 215, + 223, 67, 113, 105, 253, 217, 120, 59, 47, 176, 146, 72, 205, 114, 242, 242, 115, 214, + 97, 112, 69, 56, 119, 168, 164, 170, 74, 7, 97, 149, 53, 122, 42, 209, 198, 146, 6, + 169, 37, 242, 131, 152, 209, 10, 52, 78, 218, 52, 69, 81, 235, 254, 58, 44, 134, 201, + 119, 132, 5, 8, 21, 0, 0, 0, 0, 0, 0, 0, 37, 0, 0, 0, 230, 134, 124, 175, 213, 131, 76, + 99, 89, 247, 169, 129, 87, 134, 249, 172, 99, 77, 203, 254, 12, 171, 178, 163, 47, 145, + 104, 166, 75, 174, 164, 119, 197, 78, 101, 221, 52, 51, 116, 221, 67, 45, 196, 65, 61, + 5, 246, 111, 56, 215, 145, 48, 170, 241, 60, 68, 231, 187, 72, 201, 18, 82, 249, 11, ] } diff --git a/finality-aleph/src/network/manager/session.rs b/finality-aleph/src/network/manager/session.rs index ca03869aff..cf5b204ada 100644 --- a/finality-aleph/src/network/manager/session.rs +++ b/finality-aleph/src/network/manager/session.rs @@ -152,6 +152,9 @@ impl> + Into>> Handler let (auth_data, signature) = &authentication; let address = auth_data.address(); + if !address.verify() { + return None; + } let peer_id = address.peer_id(); if peer_id == self.own_peer_id { return None; @@ -274,7 +277,7 @@ mod tests { testing::{authentication, legacy_authentication}, AddressingInformation, }, - testing::mocks::validator_network::random_address, + testing::mocks::validator_network::{random_address, random_invalid_address}, NodeIndex, SessionId, }; @@ -446,6 +449,31 @@ mod tests { assert_eq!(handler0.peer_id(&NodeIndex(1)), Some(peer_id1)); } + #[tokio::test] + async fn ignores_invalid_authentication() { + let crypto_basics = crypto_basics(NUM_NODES).await; + let mut handler0 = Handler::new( + Some(crypto_basics.0[0].clone()), + crypto_basics.1.clone(), + SessionId(43), + random_address(), + ) + .await; + let handler1 = Handler::new( + Some(crypto_basics.0[1].clone()), + crypto_basics.1.clone(), + SessionId(43), + random_invalid_address(), + ) + .await; + assert!(handler0 + .handle_authentication(authentication(&handler1)) + .is_none()); + let missing_nodes = handler0.missing_nodes(); + let expected_missing: Vec<_> = (1..NUM_NODES).map(NodeIndex).collect(); + assert_eq!(missing_nodes, expected_missing); + } + #[tokio::test] async fn ignores_badly_signed_authentication() { let crypto_basics = crypto_basics(NUM_NODES).await; diff --git a/finality-aleph/src/network/mod.rs b/finality-aleph/src/network/mod.rs index 1dad911b0f..0a41c4aedd 100644 --- a/finality-aleph/src/network/mod.rs +++ b/finality-aleph/src/network/mod.rs @@ -89,8 +89,11 @@ pub trait PeerId: PartialEq + Eq + Clone + Debug + Display + Hash + Codec + Send pub trait AddressingInformation: Debug + Hash + Codec + Clone + Eq + Send + Sync + 'static { type PeerId: PeerId; - /// Returns the peer id associated with this multiaddress if it exists and is unique. + /// Returns the peer id associated with this address. fn peer_id(&self) -> Self::PeerId; + + /// Verify the information. + fn verify(&self) -> bool; } /// The Authentication protocol is used for validator discovery. diff --git a/finality-aleph/src/nodes/validator_node.rs b/finality-aleph/src/nodes/validator_node.rs index 677346b754..a167ca065e 100644 --- a/finality-aleph/src/nodes/validator_node.rs +++ b/finality-aleph/src/nodes/validator_node.rs @@ -76,7 +76,7 @@ where let (dialer, listener, network_identity) = new_tcp_network( ("0.0.0.0", validator_port), external_addresses, - network_authority_pen.authority_id(), + &network_authority_pen, ) .await .expect("we should have working networking"); diff --git a/finality-aleph/src/tcp_network.rs b/finality-aleph/src/tcp_network.rs index 7c94120aa9..e5a77727de 100644 --- a/finality-aleph/src/tcp_network.rs +++ b/finality-aleph/src/tcp_network.rs @@ -106,9 +106,8 @@ pub enum AddressingInformationError { NoAddress, } -/// A representation of TCP addressing information with an associated peer ID. #[derive(Debug, Hash, Encode, Decode, Clone, PartialEq, Eq)] -pub struct TcpAddressingInformation { +struct TcpAddressingInformation { peer_id: AuthorityId, // Easiest way to ensure that the Vec below is nonempty... primary_address: String, @@ -153,23 +152,6 @@ impl From for Vec { } } -impl AddressingInformation for TcpAddressingInformation { - type PeerId = AuthorityId; - - fn peer_id(&self) -> Self::PeerId { - self.peer_id.clone() - } -} - -impl NetworkIdentity for TcpAddressingInformation { - type PeerId = AuthorityId; - type AddressingInformation = TcpAddressingInformation; - - fn identity(&self) -> Self::AddressingInformation { - self.clone() - } -} - impl TcpAddressingInformation { fn new( addresses: Vec, @@ -186,25 +168,100 @@ impl TcpAddressingInformation { peer_id, }) } + + fn peer_id(&self) -> AuthorityId { + self.peer_id.clone() + } +} + +/// A representation of TCP addressing information with an associated peer ID, self-signed. +#[derive(Debug, Hash, Encode, Decode, Clone, PartialEq, Eq)] +pub struct SignedTcpAddressingInformation { + addressing_information: TcpAddressingInformation, + signature: Signature, +} + +impl TryFrom> for SignedTcpAddressingInformation { + type Error = AddressingInformationError; + + fn try_from(legacy: Vec) -> Result { + let addressing_information = legacy.try_into()?; + // This will never get validated, but that is alright and working as intended. + // We temporarily accept legacy messages and there is no way to verify them completely, + // since they were unsigned previously. In the next update we will remove this, and the + // problem will be completely gone. + let signature = [0; 64].into(); + Ok(SignedTcpAddressingInformation { + addressing_information, + signature, + }) + } +} + +impl From for Vec { + fn from(address: SignedTcpAddressingInformation) -> Self { + address.addressing_information.into() + } +} + +impl AddressingInformation for SignedTcpAddressingInformation { + type PeerId = AuthorityId; + + fn peer_id(&self) -> Self::PeerId { + self.addressing_information.peer_id() + } + + fn verify(&self) -> bool { + self.peer_id() + .verify(&self.addressing_information.encode(), &self.signature) + } +} + +impl NetworkIdentity for SignedTcpAddressingInformation { + type PeerId = AuthorityId; + type AddressingInformation = SignedTcpAddressingInformation; + + fn identity(&self) -> Self::AddressingInformation { + self.clone() + } +} + +impl SignedTcpAddressingInformation { + async fn new( + addresses: Vec, + authority_pen: &AuthorityPen, + ) -> Result { + let peer_id = authority_pen.authority_id(); + let addressing_information = TcpAddressingInformation::new(addresses, peer_id)?; + let signature = authority_pen.sign(&addressing_information.encode()).await; + Ok(SignedTcpAddressingInformation { + addressing_information, + signature, + }) + } } #[derive(Clone)] struct TcpDialer; #[async_trait::async_trait] -impl Dialer for TcpDialer { +impl Dialer for TcpDialer { type Connection = TcpStream; type Error = std::io::Error; async fn connect( &mut self, - address: TcpAddressingInformation, + address: SignedTcpAddressingInformation, ) -> Result { + let SignedTcpAddressingInformation { + addressing_information, + .. + } = address; let TcpAddressingInformation { primary_address, other_addresses, .. - } = address; + } = addressing_information; let parsed_addresses: Vec<_> = iter::once(primary_address) .chain(other_addresses) .filter_map(|address| address.to_socket_addrs().ok()) @@ -242,17 +299,20 @@ impl From for Error { pub async fn new_tcp_network( listening_addresses: A, external_addresses: Vec, - peer_id: AuthorityId, + authority_pen: &AuthorityPen, ) -> Result< ( - impl Dialer, + impl Dialer, impl Listener, - impl NetworkIdentity, + impl NetworkIdentity< + AddressingInformation = SignedTcpAddressingInformation, + PeerId = AuthorityId, + >, ), Error, > { let listener = TcpListener::bind(listening_addresses).await?; - let identity = TcpAddressingInformation::new(external_addresses, peer_id)?; + let identity = SignedTcpAddressingInformation::new(external_addresses, authority_pen).await?; Ok((TcpDialer {}, listener, identity)) } @@ -260,16 +320,17 @@ pub async fn new_tcp_network( pub mod testing { use aleph_primitives::AuthorityId; - use super::TcpAddressingInformation; - use crate::network::NetworkIdentity; + use super::SignedTcpAddressingInformation; + use crate::{crypto::AuthorityPen, network::NetworkIdentity}; /// Creates a realistic identity. - pub fn new_identity( + pub async fn new_identity( external_addresses: Vec, - peer_id: AuthorityId, - ) -> impl NetworkIdentity + authority_pen: &AuthorityPen, + ) -> impl NetworkIdentity { - TcpAddressingInformation::new(external_addresses, peer_id) + SignedTcpAddressingInformation::new(external_addresses, authority_pen) + .await .expect("the provided addresses are fine") } } diff --git a/finality-aleph/src/testing/mocks/validator_network.rs b/finality-aleph/src/testing/mocks/validator_network.rs index a9cb23ec6c..ba2e7acf5b 100644 --- a/finality-aleph/src/testing/mocks/validator_network.rs +++ b/finality-aleph/src/testing/mocks/validator_network.rs @@ -32,6 +32,7 @@ use crate::{ pub struct MockAddressingInformation { peer_id: MockPublicKey, address: String, + valid: bool, } impl AddressingInformation for MockAddressingInformation { @@ -40,6 +41,10 @@ impl AddressingInformation for MockAddressingInformation { fn peer_id(&self) -> Self::PeerId { self.peer_id.clone() } + + fn verify(&self) -> bool { + self.valid + } } impl NetworkIdentity for MockAddressingInformation { @@ -72,9 +77,13 @@ pub fn random_peer_id() -> MockPublicKey { key().0 } -pub fn random_address_from(address: String) -> MockAddressingInformation { +pub fn random_address_from(address: String, valid: bool) -> MockAddressingInformation { let peer_id = random_peer_id(); - MockAddressingInformation { peer_id, address } + MockAddressingInformation { + peer_id, + address, + valid, + } } pub fn random_address() -> MockAddressingInformation { @@ -84,6 +93,18 @@ pub fn random_address() -> MockAddressingInformation { .map(char::from) .take(43) .collect(), + true, + ) +} + +pub fn random_invalid_address() -> MockAddressingInformation { + random_address_from( + rand::thread_rng() + .sample_iter(&rand::distributions::Alphanumeric) + .map(char::from) + .take(43) + .collect(), + false, ) } diff --git a/finality-aleph/src/testing/network.rs b/finality-aleph/src/testing/network.rs index 10b4508ef0..1bfa47ac83 100644 --- a/finality-aleph/src/testing/network.rs +++ b/finality-aleph/src/testing/network.rs @@ -87,7 +87,7 @@ async fn prepare_one_session_test_data() -> TestData { let (authority_pens, authority_verifier) = crypto_basics(NODES_N).await; let mut authorities = Vec::new(); for (index, p) in authority_pens { - let address = random_address_from(index.0.to_string()); + let address = random_address_from(index.0.to_string(), true); let auth_peer_id = key().0; authorities.push(Authority { pen: p, From 77a2d117a15067453c0d28c6bc7802f94ed8f3cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maciej=20Nem=C5=9B?= Date: Tue, 13 Dec 2022 14:07:05 +0100 Subject: [PATCH 041/212] A0-1663: remove unnecessary session start retries in connection manager (#803) * remove retry_session_start in connection manager * review comments --- finality-aleph/src/network/manager/service.rs | 73 ++----------------- 1 file changed, 8 insertions(+), 65 deletions(-) diff --git a/finality-aleph/src/network/manager/service.rs b/finality-aleph/src/network/manager/service.rs index 14393aed5b..7f6583a3b6 100644 --- a/finality-aleph/src/network/manager/service.rs +++ b/finality-aleph/src/network/manager/service.rs @@ -47,6 +47,7 @@ struct Session> + In } #[derive(Clone)] +/// Stores all data needed for starting validator session struct PreValidatorSession { session_id: SessionId, verifier: AuthorityVerifier, @@ -55,26 +56,12 @@ struct PreValidatorSession { } #[derive(Clone)] +/// Stores all data needed for starting non-validator session struct PreNonvalidatorSession { session_id: SessionId, verifier: AuthorityVerifier, } -#[derive(Clone)] -enum PreSession { - Validator(PreValidatorSession), - Nonvalidator(PreNonvalidatorSession), -} - -impl PreSession { - fn session_id(&self) -> SessionId { - match self { - Self::Validator(pre_session) => pre_session.session_id, - Self::Nonvalidator(pre_session) => pre_session.session_id, - } - } -} - /// Configuration for the session manager service. Controls how often the maintenance and /// rebroadcasts are triggerred. Also controls when maintenance starts. pub struct Config { @@ -145,10 +132,6 @@ where network_identity: NI, connections: Connections, sessions: HashMap>, - to_retry: Vec<( - PreSession, - Option>>, - )>, discovery_cooldown: Duration, maintenance_period: Duration, initial_delay: Duration, @@ -169,7 +152,6 @@ where network_identity, connections: Connections::new(), sessions: HashMap::new(), - to_retry: Vec::new(), discovery_cooldown, maintenance_period, initial_delay, @@ -190,8 +172,6 @@ where session_id: SessionId, ) -> Option> { self.sessions.remove(&session_id); - self.to_retry - .retain(|(pre_session, _)| pre_session.session_id() != session_id); Self::delete_reserved(self.connections.remove_session(session_id)) } @@ -307,21 +287,16 @@ where pre_session: PreValidatorSession, result_for_user: Option>>, ) -> Result, SessionHandlerError> { - match self.update_validator_session(pre_session.clone()).await { - Ok((actions, data_from_network)) => { + self.update_validator_session(pre_session) + .await + .map(|(actions, data_from_network)| { if let Some(result_for_user) = result_for_user { if result_for_user.send(data_from_network).is_err() { warn!(target: "aleph-network", "Failed to send started session.") } } - Ok(actions) - } - Err(e) => { - self.to_retry - .push((PreSession::Validator(pre_session), result_for_user)); - Err(e) - } - } + actions + }) } async fn start_nonvalidator_session( @@ -368,13 +343,7 @@ where &mut self, pre_session: PreNonvalidatorSession, ) -> Result<(), SessionHandlerError> { - self.update_nonvalidator_session(pre_session.clone()) - .await - .map_err(|e| { - self.to_retry - .push((PreSession::Nonvalidator(pre_session), None)); - e - }) + self.update_nonvalidator_session(pre_session).await } /// Handle a session command. @@ -495,28 +464,6 @@ where } } - /// Retries starting a validator session the user requested, but which failed to start - /// initially. Mostly useful when the network was not yet aware of its own address at time of - /// the request. - pub async fn retry_session_start( - &mut self, - ) -> Result, SessionHandlerError> { - let (pre_session, result_for_user) = match self.to_retry.pop() { - Some(to_retry) => to_retry, - None => return Ok(ServiceActions::noop()), - }; - match pre_session { - PreSession::Validator(pre_session) => { - self.handle_validator_presession(pre_session, result_for_user) - .await - } - PreSession::Nonvalidator(pre_session) => { - self.handle_nonvalidator_presession(pre_session).await?; - Ok(ServiceActions::noop()) - } - } - } - pub fn status_report(&self) { let mut status = String::from("Connection Manager status report: "); @@ -759,10 +706,6 @@ where }, _ = maintenance.tick() => { debug!(target: "aleph-network", "Manager starts maintenence"); - match service.retry_session_start().await { - Ok(to_send) => self.handle_service_actions(to_send)?, - Err(e) => warn!(target: "aleph-network", "Retry failed to update handler: {:?}", e), - } for to_send in service.discovery() { self.send_authentications(to_send.into())?; } From 56a75f61df14ba6409130038505eb35ce5a85000 Mon Sep 17 00:00:00 2001 From: timorl Date: Tue, 13 Dec 2022 15:57:36 +0100 Subject: [PATCH 042/212] Make the gossip network into a module (#802) Co-authored-by: timorl --- finality-aleph/src/lib.rs | 4 +- finality-aleph/src/network/gossip/mock.rs | 132 +++++++++++++++++ finality-aleph/src/network/gossip/mod.rs | 78 ++++++++++ .../src/network/{ => gossip}/service.rs | 138 ++++++++++++------ finality-aleph/src/network/io.rs | 27 +--- finality-aleph/src/network/manager/service.rs | 97 ++++++------ finality-aleph/src/network/mock.rs | 131 +---------------- finality-aleph/src/network/mod.rs | 65 ++------- .../substrate.rs} | 7 +- finality-aleph/src/nodes/validator_node.rs | 24 +-- finality-aleph/src/testing/network.rs | 40 ++--- 11 files changed, 416 insertions(+), 327 deletions(-) create mode 100644 finality-aleph/src/network/gossip/mock.rs create mode 100644 finality-aleph/src/network/gossip/mod.rs rename finality-aleph/src/network/{ => gossip}/service.rs (82%) rename finality-aleph/src/{substrate_network.rs => network/substrate.rs} (97%) diff --git a/finality-aleph/src/lib.rs b/finality-aleph/src/lib.rs index 7dc23e2bc9..d6772d6aa8 100644 --- a/finality-aleph/src/lib.rs +++ b/finality-aleph/src/lib.rs @@ -22,12 +22,11 @@ use tokio::time::Duration; use crate::{ abft::{CurrentNetworkData, LegacyNetworkData}, aggregation::{CurrentRmcNetworkData, LegacyRmcNetworkData}, - network::Split, + network::{protocol_name, Split}, session::{ first_block_of_session, last_block_of_session, session_id_from_block_num, SessionBoundaries, SessionId, }, - substrate_network::protocol_name, VersionedTryFromError::{ExpectedNewGotOld, ExpectedOldGotNew}, }; @@ -45,7 +44,6 @@ mod nodes; mod party; mod session; mod session_map; -mod substrate_network; mod tcp_network; #[cfg(test)] pub mod testing; diff --git a/finality-aleph/src/network/gossip/mock.rs b/finality-aleph/src/network/gossip/mock.rs new file mode 100644 index 0000000000..076dc644f8 --- /dev/null +++ b/finality-aleph/src/network/gossip/mock.rs @@ -0,0 +1,132 @@ +use std::{collections::VecDeque, fmt, sync::Arc}; + +use async_trait::async_trait; +use futures::{ + channel::{mpsc, oneshot}, + StreamExt, +}; +use parking_lot::Mutex; + +use crate::{ + network::{ + gossip::{Event, EventStream, NetworkSender, Protocol, RawNetwork}, + mock::Channel, + }, + validator_network::mock::MockPublicKey, +}; + +pub type MockEvent = Event; + +pub struct MockEventStream(mpsc::UnboundedReceiver); + +#[async_trait] +impl EventStream for MockEventStream { + async fn next_event(&mut self) -> Option { + self.0.next().await + } +} + +pub struct MockNetworkSender { + sender: mpsc::UnboundedSender<(Vec, MockPublicKey, Protocol)>, + peer_id: MockPublicKey, + protocol: Protocol, + error: Result<(), MockSenderError>, +} + +#[async_trait] +impl NetworkSender for MockNetworkSender { + type SenderError = MockSenderError; + + async fn send<'a>( + &'a self, + data: impl Into> + Send + Sync + 'static, + ) -> Result<(), MockSenderError> { + self.error?; + self.sender + .unbounded_send((data.into(), self.peer_id.clone(), self.protocol)) + .unwrap(); + Ok(()) + } +} + +#[derive(Clone)] +pub struct MockRawNetwork { + pub send_message: Channel<(Vec, MockPublicKey, Protocol)>, + pub event_sinks: Arc>>>, + event_stream_taken_oneshot: Arc>>>, + pub create_sender_errors: Arc>>, + pub send_errors: Arc>>, +} + +#[derive(Debug, Copy, Clone)] +pub struct MockSenderError; + +impl fmt::Display for MockSenderError { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + write!(f, "Some error message") + } +} + +impl std::error::Error for MockSenderError {} + +impl RawNetwork for MockRawNetwork { + type SenderError = MockSenderError; + type NetworkSender = MockNetworkSender; + type PeerId = MockPublicKey; + type EventStream = MockEventStream; + + fn event_stream(&self) -> Self::EventStream { + let (tx, rx) = mpsc::unbounded(); + self.event_sinks.lock().push(tx); + // Necessary for tests to detect when service takes event_stream + if let Some(tx) = self.event_stream_taken_oneshot.lock().take() { + tx.send(()).unwrap(); + } + MockEventStream(rx) + } + + fn sender( + &self, + peer_id: Self::PeerId, + protocol: Protocol, + ) -> Result { + self.create_sender_errors + .lock() + .pop_front() + .map_or(Ok(()), Err)?; + let error = self.send_errors.lock().pop_front().map_or(Ok(()), Err); + Ok(MockNetworkSender { + sender: self.send_message.0.clone(), + peer_id, + protocol, + error, + }) + } +} + +impl MockRawNetwork { + pub fn new(oneshot_sender: oneshot::Sender<()>) -> Self { + MockRawNetwork { + send_message: Channel::new(), + event_sinks: Arc::new(Mutex::new(vec![])), + event_stream_taken_oneshot: Arc::new(Mutex::new(Some(oneshot_sender))), + create_sender_errors: Arc::new(Mutex::new(VecDeque::new())), + send_errors: Arc::new(Mutex::new(VecDeque::new())), + } + } + + pub fn emit_event(&mut self, event: MockEvent) { + for sink in &*self.event_sinks.lock() { + sink.unbounded_send(event.clone()).unwrap(); + } + } + + // Consumes the network asserting there are no unreceived messages in the channels. + pub async fn close_channels(self) { + self.event_sinks.lock().clear(); + // We disable it until tests regarding new substrate network protocol are created. + // assert!(self.add_reserved.close().await.is_none()); + // assert!(self.remove_reserved.close().await.is_none()); + assert!(self.send_message.close().await.is_none()); + } +} diff --git a/finality-aleph/src/network/gossip/mod.rs b/finality-aleph/src/network/gossip/mod.rs new file mode 100644 index 0000000000..c6ba22d633 --- /dev/null +++ b/finality-aleph/src/network/gossip/mod.rs @@ -0,0 +1,78 @@ +//! A P2P-based gossip network, for now only for sending broadcasts. +use std::{ + fmt::{Debug, Display}, + hash::Hash, +}; + +use bytes::Bytes; + +use crate::network::Data; + +#[cfg(test)] +pub mod mock; +mod service; + +pub use service::Service; + +#[async_trait::async_trait] +/// Interface for the gossip network, currently only supports broadcasting and receiving data. +pub trait Network: Send + 'static { + type Error: Display + Send; + + /// Broadcast data to all directly connected peers. Network-wide broadcasts have to be + /// implemented on top of this abstraction. Note that there might be no currently connected + /// peers, so there are no guarantees any single call sends anything even if no errors are + /// returned, retry appropriately. + fn broadcast(&mut self, data: D) -> Result<(), Self::Error>; + + /// Receive some data from the network. + async fn next(&mut self) -> Result; +} + +/// The Authentication protocol is used for validator discovery. +#[derive(Debug, PartialEq, Eq, Copy, Clone, Hash)] +pub enum Protocol { + Authentication, +} + +/// Abstraction over a sender to the raw network. +#[async_trait::async_trait] +pub trait NetworkSender: Send + Sync + 'static { + type SenderError: std::error::Error; + + /// A method for sending data. Returns Error if not connected to the peer. + async fn send<'a>( + &'a self, + data: impl Into> + Send + Sync + 'static, + ) -> Result<(), Self::SenderError>; +} + +#[derive(Clone)] +pub enum Event

{ + StreamOpened(P, Protocol), + StreamClosed(P, Protocol), + Messages(Vec<(Protocol, Bytes)>), +} + +#[async_trait::async_trait] +pub trait EventStream

{ + async fn next_event(&mut self) -> Option>; +} + +/// Abstraction over a raw p2p network. +pub trait RawNetwork: Clone + Send + Sync + 'static { + type SenderError: std::error::Error; + type NetworkSender: NetworkSender; + type PeerId: Clone + Debug + Eq + Hash + Send; + type EventStream: EventStream; + + /// Returns a stream of events representing what happens on the network. + fn event_stream(&self) -> Self::EventStream; + + /// Returns a sender to the given peer using a given protocol. Returns Error if not connected to the peer. + fn sender( + &self, + peer_id: Self::PeerId, + protocol: Protocol, + ) -> Result; +} diff --git a/finality-aleph/src/network/service.rs b/finality-aleph/src/network/gossip/service.rs similarity index 82% rename from finality-aleph/src/network/service.rs rename to finality-aleph/src/network/gossip/service.rs index 7c231e80bd..6b5ae91f98 100644 --- a/finality-aleph/src/network/service.rs +++ b/finality-aleph/src/network/gossip/service.rs @@ -1,5 +1,6 @@ use std::{ collections::{HashMap, HashSet}, + fmt::{Display, Error as FmtError, Formatter}, future::Future, }; @@ -10,7 +11,10 @@ use sc_utils::mpsc::{tracing_unbounded, TracingUnboundedReceiver, TracingUnbound use tokio::time; use crate::{ - network::{Data, Event, EventStream, Network, NetworkSender, Protocol}, + network::{ + gossip::{Event, EventStream, Network, NetworkSender, Protocol, RawNetwork}, + Data, + }, STATUS_REPORT_INTERVAL, }; @@ -20,7 +24,7 @@ use crate::{ /// 1. Messages are forwarded to the user. /// 2. Various forms of (dis)connecting, keeping track of all currently connected nodes. /// 3. Outgoing messages, sending them out, using 1.2. to broadcast. -pub struct Service { +pub struct Service { network: N, messages_from_user: mpsc::UnboundedReceiver, messages_for_user: mpsc::UnboundedSender, @@ -29,40 +33,73 @@ pub struct Service { spawn_handle: SpawnTaskHandle, } -/// Input/output channels for the network service. -pub struct IO { - pub messages_from_user: mpsc::UnboundedReceiver, - pub messages_for_user: mpsc::UnboundedSender, +struct ServiceInterface { + messages_from_service: mpsc::UnboundedReceiver, + messages_for_service: mpsc::UnboundedSender, } -impl IO { - pub fn new( - messages_from_user: mpsc::UnboundedReceiver, - messages_for_user: mpsc::UnboundedSender, - ) -> IO { - IO { - messages_from_user, - messages_for_user, +/// What can go wrong when receiving or sending data. +#[derive(Debug)] +pub enum Error { + ServiceStopped, +} + +impl Display for Error { + fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), FmtError> { + use Error::*; + match self { + ServiceStopped => { + write!(f, "gossip network service stopped") + } } } } +#[async_trait::async_trait] +impl Network for ServiceInterface { + type Error = Error; + + fn broadcast(&mut self, data: D) -> Result<(), Self::Error> { + self.messages_for_service + .unbounded_send(data) + .map_err(|_| Error::ServiceStopped) + } + + async fn next(&mut self) -> Result { + self.messages_from_service + .next() + .await + .ok_or(Error::ServiceStopped) + } +} + #[derive(Debug)] enum SendError { MissingSender, SendingFailed, } -impl Service { - pub fn new(network: N, spawn_handle: SpawnTaskHandle, io: IO) -> Service { - Service { - network, - messages_from_user: io.messages_from_user, - messages_for_user: io.messages_for_user, - spawn_handle, - authentication_connected_peers: HashSet::new(), - authentication_peer_senders: HashMap::new(), - } +impl Service { + pub fn new( + network: N, + spawn_handle: SpawnTaskHandle, + ) -> (Service, impl Network) { + let (messages_for_user, messages_from_service) = mpsc::unbounded(); + let (messages_for_service, messages_from_user) = mpsc::unbounded(); + ( + Service { + network, + messages_from_user, + messages_for_user, + spawn_handle, + authentication_connected_peers: HashSet::new(), + authentication_peer_senders: HashMap::new(), + }, + ServiceInterface { + messages_from_service, + messages_for_service, + }, + ) } fn get_sender( @@ -238,18 +275,19 @@ mod tests { use std::collections::HashSet; use codec::Encode; - use futures::{ - channel::{mpsc, oneshot}, - StreamExt, - }; + use futures::channel::oneshot; use sc_service::TaskManager; use tokio::runtime::Handle; - use super::Service; + use super::{Error, Service}; use crate::{ network::{ - mock::{MockData, MockEvent, MockNetwork, MockSenderError}, - NetworkServiceIO, Protocol, + gossip::{ + mock::{MockEvent, MockRawNetwork, MockSenderError}, + Network, + }, + mock::MockData, + Protocol, }, testing::mocks::validator_network::random_peer_id, }; @@ -257,9 +295,9 @@ mod tests { const PROTOCOL: Protocol = Protocol::Authentication; pub struct TestData { - pub network: MockNetwork, - pub messages_from_network: mpsc::UnboundedReceiver, - pub service: Service, + pub network: MockRawNetwork, + gossip_network: Box>, + pub service: Service, // `TaskManager` can't be dropped for `SpawnTaskHandle` to work _task_manager: TaskManager, } @@ -268,23 +306,20 @@ mod tests { async fn prepare() -> Self { let task_manager = TaskManager::new(Handle::current(), None).unwrap(); - // Prepare communication with service - // We can drop the sender, as we will call service.broadcast directly - let (_, messages_from_user) = mpsc::unbounded(); - let (messages_for_user, messages_from_network) = mpsc::unbounded(); - let io = NetworkServiceIO::new(messages_from_user, messages_for_user); // Event stream will never be taken, so we can drop the receiver let (event_stream_oneshot_tx, _) = oneshot::channel(); // Prepare service - let network = MockNetwork::new(event_stream_oneshot_tx); - let service = Service::new(network.clone(), task_manager.spawn_handle(), io); + let network = MockRawNetwork::new(event_stream_oneshot_tx); + let (service, gossip_network) = + Service::new(network.clone(), task_manager.spawn_handle()); + let gossip_network = Box::new(gossip_network); // `TaskManager` needs to be passed, so sender threads are running in background. Self { network, service, - messages_from_network, + gossip_network, _task_manager: task_manager, } } @@ -294,6 +329,19 @@ mod tests { } } + #[async_trait::async_trait] + impl Network for TestData { + type Error = Error; + + fn broadcast(&mut self, data: MockData) -> Result<(), Self::Error> { + self.gossip_network.broadcast(data) + } + + async fn next(&mut self) -> Result { + self.gossip_network.next().await + } + } + fn message(i: u8) -> MockData { vec![i, i + 1, i + 2] } @@ -475,11 +523,7 @@ mod tests { .expect("Should handle"); assert_eq!( - test_data - .messages_from_network - .next() - .await - .expect("Should receive message"), + test_data.next().await.expect("Should receive message"), message, ); diff --git a/finality-aleph/src/network/io.rs b/finality-aleph/src/network/io.rs index 32c890fb23..60bed0de91 100644 --- a/finality-aleph/src/network/io.rs +++ b/finality-aleph/src/network/io.rs @@ -5,51 +5,38 @@ use futures::channel::mpsc; use crate::{ network::{ manager::{DataInSession, VersionedAuthentication}, - AddressingInformation, ConnectionManagerIO, Data, NetworkServiceIO as NetworkIO, - SessionManagerIO, + AddressingInformation, ConnectionManagerIO, Data, GossipNetwork, SessionManagerIO, }, validator_network::{Network as ValidatorNetwork, PublicKey}, }; -type AuthenticationNetworkIO = NetworkIO>; - -type FullIO = ( - ConnectionManagerIO, - AuthenticationNetworkIO, - SessionManagerIO, -); +type FullIO = (ConnectionManagerIO, SessionManagerIO); pub fn setup< D: Data, M: Data + Debug, A: AddressingInformation + TryFrom> + Into>, VN: ValidatorNetwork>, + GN: GossipNetwork>, >( validator_network: VN, -) -> FullIO + gossip_network: GN, +) -> FullIO where A::PeerId: PublicKey, { // Prepare and start the network - let (messages_for_network, messages_from_user) = mpsc::unbounded(); let (commands_for_service, commands_from_user) = mpsc::unbounded(); let (messages_for_service, commands_from_manager) = mpsc::unbounded(); - let (messages_for_user, messages_from_network) = mpsc::unbounded(); let connection_io = ConnectionManagerIO::new( - messages_for_network, commands_from_user, commands_from_manager, - messages_from_network, validator_network, + gossip_network, ); - let channels_for_network = NetworkIO::new(messages_from_user, messages_for_user); let channels_for_session_manager = SessionManagerIO::new(commands_for_service, messages_for_service); - ( - connection_io, - channels_for_network, - channels_for_session_manager, - ) + (connection_io, channels_for_session_manager) } diff --git a/finality-aleph/src/network/manager/service.rs b/finality-aleph/src/network/manager/service.rs index 7f6583a3b6..1b390bd316 100644 --- a/finality-aleph/src/network/manager/service.rs +++ b/finality-aleph/src/network/manager/service.rs @@ -1,7 +1,8 @@ use std::{ cmp, collections::{HashMap, HashSet}, - fmt::Debug, + fmt::{Debug, Display, Error as FmtError, Formatter}, + marker::PhantomData, time::Duration, }; @@ -20,7 +21,8 @@ use crate::{ compatibility::PeerAuthentications, Connections, DataInSession, Discovery, DiscoveryMessage, SessionHandler, SessionHandlerError, VersionedAuthentication, }, - AddressedData, AddressingInformation, ConnectionCommand, Data, NetworkIdentity, PeerId, + AddressedData, AddressingInformation, ConnectionCommand, Data, GossipNetwork, + NetworkIdentity, PeerId, }, validator_network::{Network as ValidatorNetwork, PublicKey}, MillisecsPerBlock, NodeIndex, SessionId, SessionPeriod, STATUS_REPORT_INTERVAL, @@ -137,6 +139,13 @@ where initial_delay: Duration, } +/// Error when trying to forward data from the network to the user, should never be fatal. +#[derive(Debug, PartialEq, Eq)] +pub enum SendError { + UserSend, + NoSession, +} + impl Service where NI::AddressingInformation: TryFrom> + Into>, @@ -451,7 +460,7 @@ where } /// Sends the data to the identified session. - pub fn send_session_data(&self, session_id: &SessionId, data: D) -> Result<(), Error> { + pub fn send_session_data(&self, session_id: &SessionId, data: D) -> Result<(), SendError> { match self .sessions .get(session_id) @@ -459,8 +468,8 @@ where { Some(data_for_user) => data_for_user .unbounded_send(data) - .map_err(|_| Error::UserSend), - None => Err(Error::NoSession), + .map_err(|_| SendError::UserSend), + None => Err(SendError::NoSession), } } @@ -550,27 +559,36 @@ pub struct IO< M: Data, A: AddressingInformation + TryFrom> + Into>, VN: ValidatorNetwork>, + GN: GossipNetwork>, > where A::PeerId: PublicKey, { - authentications_for_network: mpsc::UnboundedSender>, commands_from_user: mpsc::UnboundedReceiver>, messages_from_user: mpsc::UnboundedReceiver<(D, SessionId, Recipient)>, - authentications_from_network: mpsc::UnboundedReceiver>, validator_network: VN, + gossip_network: GN, + _phantom: PhantomData<(M, A)>, } /// Errors that can happen during the network service operations. #[derive(Debug, PartialEq, Eq)] -pub enum Error { - NetworkSend, - /// Should never be fatal. - UserSend, - /// Should never be fatal. - NoSession, +pub enum Error { CommandsChannel, MessageChannel, - NetworkChannel, + ValidatorNetwork, + GossipNetwork(GE), +} + +impl Display for Error { + fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), FmtError> { + use Error::*; + match self { + CommandsChannel => write!(f, "commands channel unexpectedly closed"), + MessageChannel => write!(f, "message channel unexpectedly closed"), + ValidatorNetwork => write!(f, "validator network unexpectedly done"), + GossipNetwork(e) => write!(f, "gossip network unexpectedly done: {}", e), + } + } } impl< @@ -578,23 +596,23 @@ impl< M: Data + Debug, A: AddressingInformation + TryFrom> + Into>, VN: ValidatorNetwork>, - > IO + GN: GossipNetwork>, + > IO where A::PeerId: PublicKey, { pub fn new( - authentications_for_network: mpsc::UnboundedSender>, commands_from_user: mpsc::UnboundedReceiver>, messages_from_user: mpsc::UnboundedReceiver<(D, SessionId, Recipient)>, - authentications_from_network: mpsc::UnboundedReceiver>, validator_network: VN, - ) -> IO { + gossip_network: GN, + ) -> IO { IO { - authentications_for_network, commands_from_user, messages_from_user, - authentications_from_network, validator_network, + gossip_network, + _phantom: PhantomData, } } @@ -603,13 +621,13 @@ where } fn send_authentications( - &self, + &mut self, to_send: Vec>, - ) -> Result<(), Error> { + ) -> Result<(), Error> { for auth in to_send { - self.authentications_for_network - .unbounded_send(auth) - .map_err(|_| Error::NetworkSend)?; + self.gossip_network + .broadcast(auth) + .map_err(Error::GossipNetwork)?; } Ok(()) } @@ -636,7 +654,7 @@ where maybe_command, maybe_message, }: ServiceActions, - ) -> Result<(), Error> { + ) -> Result<(), Error> { if let Some(command) = maybe_command { self.handle_connection_command(command); } @@ -650,7 +668,7 @@ where pub async fn run>( mut self, mut service: Service, - ) -> Result<(), Error> { + ) -> Result<(), Error> { // Initial delay is needed so that Network is fully set up and we received some first discovery broadcasts from other nodes. // Otherwise this might cause first maintenance never working, as it happens before first broadcasts. let mut maintenance = time::interval_at( @@ -686,22 +704,19 @@ where match maybe_data { Some(DataInSession{data, session_id}) => if let Err(e) = service.send_session_data(&session_id, data) { match e { - Error::UserSend => trace!(target: "aleph-network", "Failed to send to user in session."), - Error::NoSession => trace!(target: "aleph-network", "Received message for unknown session."), - _ => return Err(e), + SendError::UserSend => trace!(target: "aleph-network", "Failed to send to user in session."), + SendError::NoSession => trace!(target: "aleph-network", "Received message for unknown session."), } }, - None => return Err(Error::NetworkChannel), + None => return Err(Error::ValidatorNetwork), } }, - maybe_authentication = self.authentications_from_network.next() => { + maybe_authentication = self.gossip_network.next() => { + let authentication = maybe_authentication.map_err(Error::GossipNetwork)?; trace!(target: "aleph-network", "Manager received an authentication from network"); - match maybe_authentication { - Some(authentication) => match authentication.try_into() { - Ok(message) => self.handle_service_actions(service.on_discovery_message(message))?, - Err(e) => warn!(target: "aleph-network", "Error casting versioned authentication to discovery message: {:?}", e), - }, - None => return Err(Error::NetworkChannel), + match authentication.try_into() { + Ok(message) => self.handle_service_actions(service.on_discovery_message(message))?, + Err(e) => warn!(target: "aleph-network", "Error casting versioned authentication to discovery message: {:?}", e), } }, _ = maintenance.tick() => { @@ -724,7 +739,7 @@ mod tests { use futures::{channel::oneshot, StreamExt}; - use super::{Config, Error, Service, ServiceActions, SessionCommand}; + use super::{Config, SendError, Service, ServiceActions, SessionCommand}; use crate::{ network::{ manager::{compatibility::PeerAuthentications, DataInSession, DiscoveryMessage}, @@ -763,7 +778,7 @@ mod tests { assert!(maybe_message.is_none()); assert_eq!( service.send_session_data(&session_id, -43), - Err(Error::NoSession) + Err(SendError::NoSession) ); } @@ -829,7 +844,7 @@ mod tests { assert!(maybe_message.is_none()); assert_eq!( service.send_session_data(&session_id, -43), - Err(Error::NoSession) + Err(SendError::NoSession) ); assert!(data_from_network.next().await.is_none()); } diff --git a/finality-aleph/src/network/mock.rs b/finality-aleph/src/network/mock.rs index 69886efb98..30c3aa56c9 100644 --- a/finality-aleph/src/network/mock.rs +++ b/finality-aleph/src/network/mock.rs @@ -1,22 +1,17 @@ -use std::{collections::VecDeque, fmt, sync::Arc, time::Duration}; +use std::{sync::Arc, time::Duration}; use aleph_primitives::KEY_TYPE; -use async_trait::async_trait; -use futures::{ - channel::{mpsc, oneshot}, - StreamExt, -}; -use parking_lot::Mutex; +use futures::{channel::mpsc, StreamExt}; use sp_keystore::{testing::KeyStore, CryptoStore}; use tokio::time::timeout; use crate::{ crypto::{AuthorityPen, AuthorityVerifier}, - network::{Event, EventStream, Network, NetworkSender, Protocol}, - validator_network::mock::MockPublicKey, AuthorityId, NodeIndex, }; +pub type MockData = Vec; + #[derive(Clone)] pub struct Channel( pub mpsc::UnboundedSender, @@ -67,124 +62,6 @@ impl Default for Channel { } } -pub type MockEvent = Event; - -pub type MockData = Vec; - -pub struct MockEventStream(mpsc::UnboundedReceiver); - -#[async_trait] -impl EventStream for MockEventStream { - async fn next_event(&mut self) -> Option { - self.0.next().await - } -} - -pub struct MockNetworkSender { - sender: mpsc::UnboundedSender<(Vec, MockPublicKey, Protocol)>, - peer_id: MockPublicKey, - protocol: Protocol, - error: Result<(), MockSenderError>, -} - -#[async_trait] -impl NetworkSender for MockNetworkSender { - type SenderError = MockSenderError; - - async fn send<'a>( - &'a self, - data: impl Into> + Send + Sync + 'static, - ) -> Result<(), MockSenderError> { - self.error?; - self.sender - .unbounded_send((data.into(), self.peer_id.clone(), self.protocol)) - .unwrap(); - Ok(()) - } -} - -#[derive(Clone)] -pub struct MockNetwork { - pub send_message: Channel<(Vec, MockPublicKey, Protocol)>, - pub event_sinks: Arc>>>, - event_stream_taken_oneshot: Arc>>>, - pub create_sender_errors: Arc>>, - pub send_errors: Arc>>, -} - -#[derive(Debug, Copy, Clone)] -pub struct MockSenderError; - -impl fmt::Display for MockSenderError { - fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - write!(f, "Some error message") - } -} - -impl std::error::Error for MockSenderError {} - -impl Network for MockNetwork { - type SenderError = MockSenderError; - type NetworkSender = MockNetworkSender; - type PeerId = MockPublicKey; - type EventStream = MockEventStream; - - fn event_stream(&self) -> Self::EventStream { - let (tx, rx) = mpsc::unbounded(); - self.event_sinks.lock().push(tx); - // Necessary for tests to detect when service takes event_stream - if let Some(tx) = self.event_stream_taken_oneshot.lock().take() { - tx.send(()).unwrap(); - } - MockEventStream(rx) - } - - fn sender( - &self, - peer_id: Self::PeerId, - protocol: Protocol, - ) -> Result { - self.create_sender_errors - .lock() - .pop_front() - .map_or(Ok(()), Err)?; - let error = self.send_errors.lock().pop_front().map_or(Ok(()), Err); - Ok(MockNetworkSender { - sender: self.send_message.0.clone(), - peer_id, - protocol, - error, - }) - } -} - -impl MockNetwork { - pub fn new(oneshot_sender: oneshot::Sender<()>) -> Self { - MockNetwork { - send_message: Channel::new(), - event_sinks: Arc::new(Mutex::new(vec![])), - event_stream_taken_oneshot: Arc::new(Mutex::new(Some(oneshot_sender))), - create_sender_errors: Arc::new(Mutex::new(VecDeque::new())), - send_errors: Arc::new(Mutex::new(VecDeque::new())), - } - } - - pub fn emit_event(&mut self, event: MockEvent) { - for sink in &*self.event_sinks.lock() { - sink.unbounded_send(event.clone()).unwrap(); - } - } - - // Consumes the network asserting there are no unreceived messages in the channels. - pub async fn close_channels(self) { - self.event_sinks.lock().clear(); - // We disable it until tests regarding new substrate network protocol are created. - // assert!(self.add_reserved.close().await.is_none()); - // assert!(self.remove_reserved.close().await.is_none()); - assert!(self.send_message.close().await.is_none()); - } -} - pub async fn crypto_basics( num_crypto_basics: usize, ) -> (Vec<(NodeIndex, AuthorityPen)>, AuthorityVerifier) { diff --git a/finality-aleph/src/network/mod.rs b/finality-aleph/src/network/mod.rs index 0a41c4aedd..4f76b90dcb 100644 --- a/finality-aleph/src/network/mod.rs +++ b/finality-aleph/src/network/mod.rs @@ -4,8 +4,6 @@ use std::{ hash::Hash, }; -use async_trait::async_trait; -use bytes::Bytes; use codec::Codec; use sp_api::NumberFor; use sp_runtime::traits::Block; @@ -13,33 +11,38 @@ use sp_runtime::traits::Block; use crate::abft::Recipient; mod component; +mod gossip; mod io; mod manager; #[cfg(test)] pub mod mock; -mod service; mod session; mod split; +mod substrate; pub use component::{ Network as ComponentNetwork, NetworkExt as ComponentNetworkExt, NetworkMap as ComponentNetworkMap, Receiver as ReceiverComponent, Sender as SenderComponent, SimpleNetwork, }; +pub use gossip::{Network as GossipNetwork, Protocol, Service as GossipService}; pub use io::setup as setup_io; use manager::SessionCommand; pub use manager::{ ConnectionIO as ConnectionManagerIO, ConnectionManager, ConnectionManagerConfig, }; -pub use service::{Service, IO as NetworkServiceIO}; pub use session::{Manager as SessionManager, ManagerError, Sender, IO as SessionManagerIO}; pub use split::{split, Split}; +pub use substrate::protocol_name; #[cfg(test)] pub mod testing { use super::manager::LegacyAuthentication; - pub use super::manager::{ - Authentication, DataInSession, DiscoveryMessage, LegacyDiscoveryMessage, - PeerAuthentications, SessionHandler, VersionedAuthentication, + pub use super::{ + gossip::mock::{MockEvent, MockRawNetwork}, + manager::{ + Authentication, DataInSession, DiscoveryMessage, LegacyDiscoveryMessage, + PeerAuthentications, SessionHandler, VersionedAuthentication, + }, }; use crate::testing::mocks::validator_network::MockAddressingInformation; @@ -96,54 +99,6 @@ pub trait AddressingInformation: Debug + Hash + Codec + Clone + Eq + Send + Sync fn verify(&self) -> bool; } -/// The Authentication protocol is used for validator discovery. -#[derive(Debug, PartialEq, Eq, Copy, Clone, Hash)] -pub enum Protocol { - Authentication, -} - -/// Abstraction over a sender to network. -#[async_trait] -pub trait NetworkSender: Send + Sync + 'static { - type SenderError: std::error::Error; - - /// A method for sending data. Returns Error if not connected to the peer. - async fn send<'a>( - &'a self, - data: impl Into> + Send + Sync + 'static, - ) -> Result<(), Self::SenderError>; -} - -#[derive(Clone)] -pub enum Event

{ - StreamOpened(P, Protocol), - StreamClosed(P, Protocol), - Messages(Vec<(Protocol, Bytes)>), -} - -#[async_trait] -pub trait EventStream

{ - async fn next_event(&mut self) -> Option>; -} - -/// Abstraction over a network. -pub trait Network: Clone + Send + Sync + 'static { - type SenderError: std::error::Error; - type NetworkSender: NetworkSender; - type PeerId: Clone + Debug + Eq + Hash + Send; - type EventStream: EventStream; - - /// Returns a stream of events representing what happens on the network. - fn event_stream(&self) -> Self::EventStream; - - /// Returns a sender to the given peer using a given protocol. Returns Error if not connected to the peer. - fn sender( - &self, - peer_id: Self::PeerId, - protocol: Protocol, - ) -> Result; -} - /// Abstraction for requesting own network addressing information. pub trait NetworkIdentity { type PeerId: PeerId; diff --git a/finality-aleph/src/substrate_network.rs b/finality-aleph/src/network/substrate.rs similarity index 97% rename from finality-aleph/src/substrate_network.rs rename to finality-aleph/src/network/substrate.rs index 0f3e0b2bae..57d0c9745b 100644 --- a/finality-aleph/src/substrate_network.rs +++ b/finality-aleph/src/network/substrate.rs @@ -17,7 +17,10 @@ use sp_api::NumberFor; use sp_consensus::SyncOracle; use sp_runtime::traits::Block; -use crate::network::{Event, EventStream, Network, NetworkSender, Protocol, RequestBlocks}; +use crate::network::{ + gossip::{Event, EventStream, NetworkSender, Protocol, RawNetwork}, + RequestBlocks, +}; impl RequestBlocks for Arc> { fn request_justification(&self, hash: &B::Hash, number: NumberFor) { @@ -191,7 +194,7 @@ impl EventStream for NetworkEventStream { } } -impl Network for Arc> { +impl RawNetwork for Arc> { type SenderError = SenderError; type NetworkSender = SubstrateNetworkSender; type PeerId = PeerId; diff --git a/finality-aleph/src/nodes/validator_node.rs b/finality-aleph/src/nodes/validator_node.rs index a167ca065e..81b651b44e 100644 --- a/finality-aleph/src/nodes/validator_node.rs +++ b/finality-aleph/src/nodes/validator_node.rs @@ -12,8 +12,7 @@ use sp_runtime::traits::Block; use crate::{ crypto::AuthorityPen, network::{ - setup_io, ConnectionManager, ConnectionManagerConfig, Service as NetworkService, - SessionManager, + setup_io, ConnectionManager, ConnectionManagerConfig, GossipService, SessionManager, }, nodes::{setup_justification_handler, JustificationParams}, party::{ @@ -92,6 +91,10 @@ where validator_network_service.run(exit).await }); + let (gossip_network_service, gossip_network) = + GossipService::new(network.clone(), spawn_handle.clone()); + let gossip_network_task = async move { gossip_network_service.run().await }; + let block_requester = network.clone(); let map_updater = SessionMapUpdater::<_, _, B>::new( AuthorityProviderImpl::new(client.clone()), @@ -106,7 +109,7 @@ where let (authority_justification_tx, handler_task) = setup_justification_handler(JustificationParams { justification_rx, - network: network.clone(), + network, client: client.clone(), blockchain_backend, metrics: metrics.clone(), @@ -115,7 +118,7 @@ where session_map: session_authorities.clone(), }); - let (connection_io, network_io, session_io) = setup_io(validator_network); + let (connection_io, session_io) = setup_io(validator_network, gossip_network); let connection_manager = ConnectionManager::new( network_identity, @@ -123,22 +126,19 @@ where ); let connection_manager_task = async move { - connection_io - .run(connection_manager) - .await - .expect("Failed to run connection manager") + if let Err(e) = connection_io.run(connection_manager).await { + panic!("Failed to run connection manager: {}", e); + } }; let session_manager = SessionManager::new(session_io); - let network = NetworkService::new(network.clone(), spawn_handle.clone(), network_io); - let network_task = async move { network.run().await }; spawn_handle.spawn("aleph/justification_handler", None, handler_task); debug!(target: "aleph-party", "JustificationHandler has started."); spawn_handle.spawn("aleph/connection_manager", None, connection_manager_task); - spawn_handle.spawn("aleph/network", None, network_task); - debug!(target: "aleph-party", "Network has started."); + spawn_handle.spawn("aleph/gossip_network", None, gossip_network_task); + debug!(target: "aleph-party", "Gossip network has started."); let party = ConsensusParty::new(ConsensusPartyParams { session_authorities, diff --git a/finality-aleph/src/testing/network.rs b/finality-aleph/src/testing/network.rs index 1bfa47ac83..2cb7dd7e2f 100644 --- a/finality-aleph/src/testing/network.rs +++ b/finality-aleph/src/testing/network.rs @@ -12,14 +12,14 @@ use tokio::{runtime::Handle, task::JoinHandle, time::timeout}; use crate::{ crypto::{AuthorityPen, AuthorityVerifier}, network::{ - mock::{crypto_basics, MockData, MockEvent, MockNetwork}, + mock::{crypto_basics, MockData}, setup_io, testing::{ authentication, legacy_authentication, DataInSession, LegacyDiscoveryMessage, - SessionHandler, VersionedAuthentication, + MockEvent, MockRawNetwork, SessionHandler, VersionedAuthentication, }, AddressingInformation, ConnectionManager, ConnectionManagerConfig, DataNetwork, - NetworkIdentity, Protocol, Service as NetworkService, SessionManager, + GossipService, NetworkIdentity, Protocol, SessionManager, }, testing::mocks::validator_network::{ random_address_from, MockAddressingInformation, MockNetwork as MockValidatorNetwork, @@ -72,12 +72,12 @@ struct TestData { pub authorities: Vec, pub authority_verifier: AuthorityVerifier, pub session_manager: SessionManager, - pub network: MockNetwork, + pub network: MockRawNetwork, pub validator_network: MockValidatorNetwork>, network_manager_exit_tx: oneshot::Sender<()>, - network_service_exit_tx: oneshot::Sender<()>, + gossip_service_exit_tx: oneshot::Sender<()>, network_manager_handle: JoinHandle<()>, - network_service_handle: JoinHandle<()>, + gossip_service_handle: JoinHandle<()>, // `TaskManager` can't be dropped for `SpawnTaskHandle` to work _task_manager: TaskManager, } @@ -100,11 +100,14 @@ async fn prepare_one_session_test_data() -> TestData { // Prepare Network let (event_stream_tx, event_stream_rx) = oneshot::channel(); let (network_manager_exit_tx, network_manager_exit_rx) = oneshot::channel(); - let (network_service_exit_tx, network_service_exit_rx) = oneshot::channel(); - let network = MockNetwork::new(event_stream_tx); + let (gossip_service_exit_tx, gossip_service_exit_rx) = oneshot::channel(); + let network = MockRawNetwork::new(event_stream_tx); let validator_network = MockValidatorNetwork::new(); - let (connection_io, network_io, session_io) = setup_io(validator_network.clone()); + let (gossip_service, gossip_network) = + GossipService::new(network.clone(), task_manager.spawn_handle()); + + let (connection_io, session_io) = setup_io(validator_network.clone(), gossip_network); let connection_manager = ConnectionManager::new( authorities[0].clone(), @@ -113,9 +116,6 @@ async fn prepare_one_session_test_data() -> TestData { let session_manager = SessionManager::new(session_io); - let network_service = - NetworkService::new(network.clone(), task_manager.spawn_handle(), network_io); - let network_manager_task = async move { tokio::select! { _ = connection_io @@ -124,14 +124,14 @@ async fn prepare_one_session_test_data() -> TestData { }; }; - let network_service_task = async move { + let gossip_service_task = async move { tokio::select! { - _ = network_service.run() => { }, - _ = network_service_exit_rx => { }, + _ = gossip_service.run() => { }, + _ = gossip_service_exit_rx => { }, }; }; let network_manager_handle = tokio::spawn(network_manager_task); - let network_service_handle = tokio::spawn(network_service_task); + let gossip_service_handle = tokio::spawn(gossip_service_task); event_stream_rx.await.unwrap(); @@ -142,9 +142,9 @@ async fn prepare_one_session_test_data() -> TestData { network, validator_network, network_manager_exit_tx, - network_service_exit_tx, + gossip_service_exit_tx, network_manager_handle, - network_service_handle, + gossip_service_handle, _task_manager: task_manager, } } @@ -279,9 +279,9 @@ impl TestData { async fn cleanup(self) { self.network_manager_exit_tx.send(()).unwrap(); - self.network_service_exit_tx.send(()).unwrap(); + self.gossip_service_exit_tx.send(()).unwrap(); self.network_manager_handle.await.unwrap(); - self.network_service_handle.await.unwrap(); + self.gossip_service_handle.await.unwrap(); while self.network.send_message.try_next().await.is_some() {} self.network.close_channels().await; self.validator_network.close_channels().await; From a4bf9a1e0f20c850aa4c0fb4c1485f1c3b7e92e2 Mon Sep 17 00:00:00 2001 From: timorl Date: Tue, 13 Dec 2022 17:46:11 +0100 Subject: [PATCH 043/212] Move data network into its own module (#809) Co-authored-by: timorl --- finality-aleph/src/abft/current.rs | 4 +-- finality-aleph/src/abft/legacy.rs | 4 +-- finality-aleph/src/abft/network.rs | 12 +++---- finality-aleph/src/aggregation/mod.rs | 25 +++++++------ finality-aleph/src/data_io/data_store.rs | 12 +++++-- finality-aleph/src/lib.rs | 2 +- .../src/network/{ => data}/component.rs | 12 +++++-- finality-aleph/src/network/data/mod.rs | 18 ++++++++++ .../src/network/{ => data}/split.rs | 36 +++++++++---------- finality-aleph/src/network/mod.rs | 28 ++------------- finality-aleph/src/network/session.rs | 17 +++++---- .../src/party/manager/aggregator.rs | 14 ++++---- .../src/party/manager/data_store.rs | 4 +-- finality-aleph/src/party/manager/mod.rs | 18 +++++----- finality-aleph/src/testing/data_store.rs | 5 ++- finality-aleph/src/testing/network.rs | 9 ++--- 16 files changed, 119 insertions(+), 101 deletions(-) rename finality-aleph/src/network/{ => data}/component.rs (97%) create mode 100644 finality-aleph/src/network/data/mod.rs rename finality-aleph/src/network/{ => data}/split.rs (87%) diff --git a/finality-aleph/src/abft/current.rs b/finality-aleph/src/abft/current.rs index 15744d7f63..f647b5c791 100644 --- a/finality-aleph/src/abft/current.rs +++ b/finality-aleph/src/abft/current.rs @@ -12,7 +12,7 @@ use crate::{ }, crypto::Signature, data_io::{AlephData, OrderedDataInterpreter}, - network::DataNetwork, + network::data::Network, oneshot, party::{ backup::ABFTBackup, @@ -27,7 +27,7 @@ pub const VERSION: u32 = 1; pub fn run_member< B: Block, C: HeaderBackend + Send + 'static, - ADN: DataNetwork> + 'static, + ADN: Network> + 'static, >( subtask_common: SubtaskCommon, multikeychain: Keychain, diff --git a/finality-aleph/src/abft/legacy.rs b/finality-aleph/src/abft/legacy.rs index b8613c2710..be749d526b 100644 --- a/finality-aleph/src/abft/legacy.rs +++ b/finality-aleph/src/abft/legacy.rs @@ -11,7 +11,7 @@ use crate::{ NetworkWrapper, SpawnHandleT, }, data_io::{AlephData, OrderedDataInterpreter}, - network::DataNetwork, + network::data::Network, oneshot, party::{ backup::ABFTBackup, @@ -26,7 +26,7 @@ pub const VERSION: u32 = 0; pub fn run_member< B: Block, C: HeaderBackend + Send + 'static, - ADN: DataNetwork> + 'static, + ADN: Network> + 'static, >( subtask_common: SubtaskCommon, multikeychain: Keychain, diff --git a/finality-aleph/src/abft/network.rs b/finality-aleph/src/abft/network.rs index 6cb22b57ab..ee1cac44c6 100644 --- a/finality-aleph/src/abft/network.rs +++ b/finality-aleph/src/abft/network.rs @@ -7,7 +7,7 @@ use crate::{ abft::SignatureSet, crypto::Signature, data_io::{AlephData, AlephNetworkMessage}, - network::{Data, DataNetwork}, + network::{data::Network, Data}, Hasher, Recipient, }; @@ -34,12 +34,12 @@ impl AlephNetworkMessage } /// A wrapper needed only because of type system theoretical constraints. Sadness. -pub struct NetworkWrapper> { +pub struct NetworkWrapper> { inner: DN, _phantom: PhantomData, } -impl> From for NetworkWrapper { +impl> From for NetworkWrapper { fn from(inner: DN) -> Self { NetworkWrapper { inner, @@ -48,7 +48,7 @@ impl> From for NetworkWrapper { } } -impl> NetworkWrapper { +impl> NetworkWrapper { fn send(&self, data: D, recipient: R) where R: Into, @@ -64,7 +64,7 @@ impl> NetworkWrapper { } #[async_trait::async_trait] -impl> current_aleph_bft::Network for NetworkWrapper { +impl> current_aleph_bft::Network for NetworkWrapper { fn send(&self, data: D, recipient: current_aleph_bft::Recipient) { NetworkWrapper::send(self, data, recipient) } @@ -75,7 +75,7 @@ impl> current_aleph_bft::Network for NetworkWrapp } #[async_trait::async_trait] -impl> legacy_aleph_bft::Network for NetworkWrapper { +impl> legacy_aleph_bft::Network for NetworkWrapper { fn send(&self, data: D, recipient: legacy_aleph_bft::Recipient) { NetworkWrapper::send(self, data, recipient) } diff --git a/finality-aleph/src/aggregation/mod.rs b/finality-aleph/src/aggregation/mod.rs index 728da661c9..c8f077a47c 100644 --- a/finality-aleph/src/aggregation/mod.rs +++ b/finality-aleph/src/aggregation/mod.rs @@ -11,7 +11,10 @@ use crate::{ crypto::Signature, metrics::Checkpoint, mpsc, - network::{Data, DataNetwork, SendError}, + network::{ + data::{Network, SendError}, + Data, + }, Keychain, Metrics, }; @@ -50,8 +53,8 @@ pub type CurrentAggregator<'a, B, N> = current_aleph_aggregator::IO< enum EitherAggregator<'a, B, CN, LN> where B: Block, - LN: DataNetwork>, - CN: DataNetwork>, + LN: Network>, + CN: Network>, ::Hash: AsRef<[u8]>, { Current(CurrentAggregator<'a, B, CN>), @@ -63,8 +66,8 @@ where pub struct Aggregator<'a, B, CN, LN> where B: Block, - LN: DataNetwork>, - CN: DataNetwork>, + LN: Network>, + CN: Network>, ::Hash: AsRef<[u8]>, { agg: EitherAggregator<'a, B, CN, LN>, @@ -73,8 +76,8 @@ where impl<'a, B, CN, LN> Aggregator<'a, B, CN, LN> where B: Block, - LN: DataNetwork>, - CN: DataNetwork>, + LN: Network>, + CN: Network>, ::Hash: AsRef<[u8]>, { pub fn new_legacy( @@ -163,9 +166,9 @@ where } } -pub struct NetworkWrapper>(N, PhantomData); +pub struct NetworkWrapper>(N, PhantomData); -impl> NetworkWrapper { +impl> NetworkWrapper { pub fn new(network: N) -> Self { Self(network, PhantomData) } @@ -186,7 +189,7 @@ impl current_aleph_aggregator::Metrics f #[async_trait::async_trait] impl legacy_aleph_aggregator::ProtocolSink for NetworkWrapper where - T: DataNetwork, + T: Network, D: Data, { async fn next(&mut self) -> Option { @@ -207,7 +210,7 @@ where #[async_trait::async_trait] impl current_aleph_aggregator::ProtocolSink for NetworkWrapper where - T: DataNetwork, + T: Network, D: Data, { async fn next(&mut self) -> Option { diff --git a/finality-aleph/src/data_io/data_store.rs b/finality-aleph/src/data_io/data_store.rs index bd9311a51c..55610ddfd9 100644 --- a/finality-aleph/src/data_io/data_store.rs +++ b/finality-aleph/src/data_io/data_store.rs @@ -26,7 +26,13 @@ use crate::{ status_provider::get_proposal_status, AlephNetworkMessage, }, - network::{ComponentNetwork, DataNetwork, ReceiverComponent, RequestBlocks, SimpleNetwork}, + network::{ + data::{ + component::{Network as ComponentNetwork, Receiver, SimpleNetwork}, + Network as DataNetwork, + }, + RequestBlocks, + }, BlockHashNum, SessionBoundaries, }; @@ -174,7 +180,7 @@ where RB: RequestBlocks + 'static, Message: AlephNetworkMessage + std::fmt::Debug + Send + Sync + Clone + codec::Codec + 'static, - R: ReceiverComponent, + R: Receiver, { next_free_id: MessageId, pending_proposals: HashMap, PendingProposalInfo>, @@ -201,7 +207,7 @@ where RB: RequestBlocks + 'static, Message: AlephNetworkMessage + std::fmt::Debug + Send + Sync + Clone + codec::Codec + 'static, - R: ReceiverComponent, + R: Receiver, { /// Returns a struct to be run and a network that outputs messages filtered as appropriate pub fn new>( diff --git a/finality-aleph/src/lib.rs b/finality-aleph/src/lib.rs index d6772d6aa8..84c083d5b3 100644 --- a/finality-aleph/src/lib.rs +++ b/finality-aleph/src/lib.rs @@ -22,7 +22,7 @@ use tokio::time::Duration; use crate::{ abft::{CurrentNetworkData, LegacyNetworkData}, aggregation::{CurrentRmcNetworkData, LegacyRmcNetworkData}, - network::{protocol_name, Split}, + network::{data::split::Split, protocol_name}, session::{ first_block_of_session, last_block_of_session, session_id_from_block_num, SessionBoundaries, SessionId, diff --git a/finality-aleph/src/network/component.rs b/finality-aleph/src/network/data/component.rs similarity index 97% rename from finality-aleph/src/network/component.rs rename to finality-aleph/src/network/data/component.rs index fb69ede92c..75cfd3c323 100644 --- a/finality-aleph/src/network/component.rs +++ b/finality-aleph/src/network/data/component.rs @@ -4,7 +4,10 @@ use futures::{channel::mpsc, StreamExt}; use log::warn; use crate::{ - network::{Data, DataNetwork, SendError}, + network::{ + data::{Network as DataNetwork, SendError}, + Data, + }, Recipient, }; @@ -185,8 +188,11 @@ mod tests { use super::{DataNetwork, NetworkMap, Receiver, Sender}; use crate::{ network::{ - component::{Network, ReceiverMap, SenderMap}, - Data, SendError, + data::{ + component::{Network, ReceiverMap, SenderMap}, + SendError, + }, + Data, }, Recipient, }; diff --git a/finality-aleph/src/network/data/mod.rs b/finality-aleph/src/network/data/mod.rs new file mode 100644 index 0000000000..2ee22d75d7 --- /dev/null +++ b/finality-aleph/src/network/data/mod.rs @@ -0,0 +1,18 @@ +//! Abstraction over an abstract network sending data to a set of nodes. +use crate::{abft::Recipient, network::Data}; + +pub mod component; +pub mod split; + +/// Returned when something went wrong when sending data using a Network. +#[derive(Debug)] +pub enum SendError { + SendFailed, +} + +/// A generic interface for sending and receiving data. +#[async_trait::async_trait] +pub trait Network: Send + Sync { + fn send(&self, data: D, recipient: Recipient) -> Result<(), SendError>; + async fn next(&mut self) -> Option; +} diff --git a/finality-aleph/src/network/split.rs b/finality-aleph/src/network/data/split.rs similarity index 87% rename from finality-aleph/src/network/split.rs rename to finality-aleph/src/network/data/split.rs index 73268ec6d2..c674902d1b 100644 --- a/finality-aleph/src/network/split.rs +++ b/finality-aleph/src/network/data/split.rs @@ -9,8 +9,11 @@ use tokio::sync::Mutex; use crate::{ network::{ - ComponentNetwork, ComponentNetworkExt, Data, ReceiverComponent, SendError, SenderComponent, - SimpleNetwork, + data::{ + component::{Network, NetworkExt, Receiver, Sender, SimpleNetwork}, + SendError, + }, + Data, }, Recipient, Version, Versioned, }; @@ -65,7 +68,7 @@ impl Convert for ToRightSplitConvert { struct SplitSender< LeftData: Data, RightData: Data, - S: SenderComponent>, + S: Sender>, Conv: Convert, > { sender: S, @@ -75,9 +78,9 @@ struct SplitSender< impl< LeftData: Data, RightData: Data, - S: SenderComponent>, + S: Sender>, Conv: Convert> + Clone + Send + Sync, - > SenderComponent for SplitSender + > Sender for SplitSender where ::From: Data, ::To: Data, @@ -96,7 +99,7 @@ type RightSender = struct SplitReceiver< LeftData: Data, RightData: Data, - R: ReceiverComponent>, + R: Receiver>, TranslatedData: Data, > { receiver: Arc>, @@ -110,9 +113,9 @@ struct SplitReceiver< impl< LeftData: Data, RightData: Data, - R: ReceiverComponent>, + R: Receiver>, TranslatedData: Data, - > ReceiverComponent for SplitReceiver + > Receiver for SplitReceiver { async fn next(&mut self) -> Option { loop { @@ -137,7 +140,7 @@ type RightReceiver = SplitReceiver>, + R: Receiver>, >( receiver: &Arc>, left_sender: &mpsc::UnboundedSender, @@ -169,7 +172,7 @@ async fn forward_or_wait< } } -fn split_sender>>( +fn split_sender>>( sender: S, ) -> ( LeftSender, @@ -187,11 +190,7 @@ fn split_sender>, ->( +fn split_receiver>>( receiver: R, left_name: &'static str, right_name: &'static str, @@ -229,14 +228,11 @@ fn split_receiver< /// /// The main example for now is creating an `aleph_bft::Network` and a separate one for accumulating /// signatures for justifications. -pub fn split>>( +pub fn split>>( network: CN, left_name: &'static str, right_name: &'static str, -) -> ( - impl ComponentNetworkExt, - impl ComponentNetworkExt, -) { +) -> (impl NetworkExt, impl NetworkExt) { let (sender, receiver) = network.into(); let (left_sender, right_sender) = split_sender(sender); let (left_receiver, right_receiver) = split_receiver(receiver, left_name, right_name); diff --git a/finality-aleph/src/network/mod.rs b/finality-aleph/src/network/mod.rs index 4f76b90dcb..dda72e4486 100644 --- a/finality-aleph/src/network/mod.rs +++ b/finality-aleph/src/network/mod.rs @@ -8,31 +8,22 @@ use codec::Codec; use sp_api::NumberFor; use sp_runtime::traits::Block; -use crate::abft::Recipient; - -mod component; +pub mod data; mod gossip; mod io; mod manager; #[cfg(test)] pub mod mock; mod session; -mod split; mod substrate; -pub use component::{ - Network as ComponentNetwork, NetworkExt as ComponentNetworkExt, - NetworkMap as ComponentNetworkMap, Receiver as ReceiverComponent, Sender as SenderComponent, - SimpleNetwork, -}; pub use gossip::{Network as GossipNetwork, Protocol, Service as GossipService}; pub use io::setup as setup_io; use manager::SessionCommand; pub use manager::{ ConnectionIO as ConnectionManagerIO, ConnectionManager, ConnectionManagerConfig, }; -pub use session::{Manager as SessionManager, ManagerError, Sender, IO as SessionManagerIO}; -pub use split::{split, Split}; +pub use session::{Manager as SessionManager, ManagerError, SessionSender, IO as SessionManagerIO}; pub use substrate::protocol_name; #[cfg(test)] pub mod testing { @@ -135,23 +126,10 @@ pub enum ConnectionCommand { DelReserved(HashSet), } -/// Returned when something went wrong when sending data using a DataNetwork. -#[derive(Debug)] -pub enum SendError { - SendFailed, -} - -/// What the data sent using the network has to satisfy. +/// A basic alias for properties we expect basic data to satisfy. pub trait Data: Clone + Codec + Send + Sync + 'static {} impl Data for D {} // In practice D: Data and P: PeerId, but we cannot require that in type aliases. type AddressedData = (D, P); - -/// A generic interface for sending and receiving data. -#[async_trait::async_trait] -pub trait DataNetwork: Send + Sync { - fn send(&self, data: D, recipient: Recipient) -> Result<(), SendError>; - async fn next(&mut self) -> Option; -} diff --git a/finality-aleph/src/network/session.rs b/finality-aleph/src/network/session.rs index 4b835e1bc4..9b91ef77bd 100644 --- a/finality-aleph/src/network/session.rs +++ b/finality-aleph/src/network/session.rs @@ -1,21 +1,26 @@ use futures::channel::{mpsc, oneshot}; -use super::SimpleNetwork; use crate::{ abft::Recipient, crypto::{AuthorityPen, AuthorityVerifier}, - network::{Data, SendError, SenderComponent, SessionCommand}, + network::{ + data::{ + component::{Sender, SimpleNetwork}, + SendError, + }, + Data, SessionCommand, + }, NodeIndex, SessionId, }; /// Sends data within a single session. #[derive(Clone)] -pub struct Sender { +pub struct SessionSender { session_id: SessionId, messages_for_network: mpsc::UnboundedSender<(D, SessionId, Recipient)>, } -impl SenderComponent for Sender { +impl Sender for SessionSender { fn send(&self, data: D, recipient: Recipient) -> Result<(), SendError> { self.messages_for_network .unbounded_send((data, self.session_id, recipient)) @@ -24,7 +29,7 @@ impl SenderComponent for Sender { } /// Sends and receives data within a single session. -type Network = SimpleNetwork, Sender>; +type Network = SimpleNetwork, SessionSender>; /// Manages sessions for which the network should be active. pub struct Manager { @@ -105,7 +110,7 @@ impl Manager { Ok(Network::new( data_from_network, - Sender { + SessionSender { session_id, messages_for_network, }, diff --git a/finality-aleph/src/party/manager/aggregator.rs b/finality-aleph/src/party/manager/aggregator.rs index e947b8dcce..852104bed3 100644 --- a/finality-aleph/src/party/manager/aggregator.rs +++ b/finality-aleph/src/party/manager/aggregator.rs @@ -15,7 +15,7 @@ use crate::{ crypto::Signature, justification::{AlephJustification, JustificationNotification}, metrics::Checkpoint, - network::DataNetwork, + network::data::Network, party::{ manager::aggregator::AggregatorVersion::{Current, Legacy}, AuthoritySubtaskCommon, Task, @@ -36,8 +36,8 @@ async fn process_new_block_data( metrics: &Option::Hash>>, ) where B: Block, - CN: DataNetwork>, - LN: DataNetwork>, + CN: Network>, + LN: Network>, ::Hash: AsRef<[u8]>, { trace!(target: "aleph-party", "Received unit {:?} in aggregator.", block); @@ -83,8 +83,8 @@ async fn run_aggregator( where B: Block, C: HeaderBackend + Send + Sync + 'static, - LN: DataNetwork>, - CN: DataNetwork>, + LN: Network>, + CN: Network>, ::Hash: AsRef<[u8]>, { let IO { @@ -169,8 +169,8 @@ pub fn task( where B: Block, C: HeaderBackend + Send + Sync + 'static, - LN: DataNetwork> + 'static, - CN: DataNetwork> + 'static, + LN: Network> + 'static, + CN: Network> + 'static, { let AuthoritySubtaskCommon { spawn_handle, diff --git a/finality-aleph/src/party/manager/data_store.rs b/finality-aleph/src/party/manager/data_store.rs index 6a46e0a892..be3988b675 100644 --- a/finality-aleph/src/party/manager/data_store.rs +++ b/finality-aleph/src/party/manager/data_store.rs @@ -9,7 +9,7 @@ use sp_runtime::traits::Block; use crate::{ abft::SpawnHandleT, data_io::{AlephNetworkMessage, DataStore}, - network::{ReceiverComponent, RequestBlocks}, + network::{data::component::Receiver, RequestBlocks}, party::{AuthoritySubtaskCommon, Task}, }; @@ -23,7 +23,7 @@ where C: HeaderBackend + BlockchainEvents + Send + Sync + 'static, RB: RequestBlocks + 'static, Message: AlephNetworkMessage + Debug + Send + Sync + Codec + 'static, - R: ReceiverComponent + 'static, + R: Receiver + 'static, { let AuthoritySubtaskCommon { spawn_handle, diff --git a/finality-aleph/src/party/manager/mod.rs b/finality-aleph/src/party/manager/mod.rs index a9321f7f70..199e5c9092 100644 --- a/finality-aleph/src/party/manager/mod.rs +++ b/finality-aleph/src/party/manager/mod.rs @@ -21,8 +21,11 @@ use crate::{ data_io::{ChainTracker, DataStore, OrderedDataInterpreter}, mpsc, network::{ - split, ComponentNetworkMap, ManagerError, RequestBlocks, Sender, SessionManager, - SimpleNetwork, + data::{ + component::{Network, NetworkMap, SimpleNetwork}, + split::split, + }, + ManagerError, RequestBlocks, SessionManager, SessionSender, }, party::{ backup::ABFTBackup, manager::aggregator::AggregatorVersion, traits::NodeSessionManager, @@ -44,7 +47,6 @@ pub use task::{Handle, Task}; use crate::{ abft::{CURRENT_VERSION, LEGACY_VERSION}, data_io::DataProvider, - network::ComponentNetwork, }; #[cfg(feature = "only_legacy")] @@ -53,12 +55,12 @@ const ONLY_LEGACY_ENV: &str = "ONLY_LEGACY_PROTOCOL"; type LegacyNetworkType = SimpleNetwork< LegacyRmcNetworkData, mpsc::UnboundedReceiver>, - Sender>, + SessionSender>, >; type CurrentNetworkType = SimpleNetwork< CurrentRmcNetworkData, mpsc::UnboundedReceiver>, - Sender>, + SessionSender>, >; struct SubtasksParams @@ -67,7 +69,7 @@ where C: crate::ClientForAleph + Send + Sync + 'static, BE: Backend + 'static, SC: SelectChain + 'static, - N: ComponentNetwork> + 'static, + N: Network> + 'static, { n_members: usize, node_id: NodeIndex, @@ -143,7 +145,7 @@ where } } - fn legacy_subtasks> + 'static>( + fn legacy_subtasks> + 'static>( &self, params: SubtasksParams, ) -> Subtasks { @@ -201,7 +203,7 @@ where ) } - fn current_subtasks> + 'static>( + fn current_subtasks> + 'static>( &self, params: SubtasksParams, ) -> Subtasks { diff --git a/finality-aleph/src/testing/data_store.rs b/finality-aleph/src/testing/data_store.rs index 1342392751..7005b69942 100644 --- a/finality-aleph/src/testing/data_store.rs +++ b/finality-aleph/src/testing/data_store.rs @@ -18,7 +18,10 @@ use tokio::time::timeout; use crate::{ data_io::{AlephData, AlephNetworkMessage, DataStore, DataStoreConfig, MAX_DATA_BRANCH_LEN}, - network::{ComponentNetwork, Data, DataNetwork, RequestBlocks}, + network::{ + data::{component::Network as ComponentNetwork, Network as DataNetwork}, + Data, RequestBlocks, + }, session::{SessionBoundaries, SessionId, SessionPeriod}, testing::{ client_chain_builder::ClientChainBuilder, diff --git a/finality-aleph/src/testing/network.rs b/finality-aleph/src/testing/network.rs index 2cb7dd7e2f..9c2c1bea0c 100644 --- a/finality-aleph/src/testing/network.rs +++ b/finality-aleph/src/testing/network.rs @@ -12,14 +12,15 @@ use tokio::{runtime::Handle, task::JoinHandle, time::timeout}; use crate::{ crypto::{AuthorityPen, AuthorityVerifier}, network::{ + data::Network, mock::{crypto_basics, MockData}, setup_io, testing::{ authentication, legacy_authentication, DataInSession, LegacyDiscoveryMessage, MockEvent, MockRawNetwork, SessionHandler, VersionedAuthentication, }, - AddressingInformation, ConnectionManager, ConnectionManagerConfig, DataNetwork, - GossipService, NetworkIdentity, Protocol, SessionManager, + AddressingInformation, ConnectionManager, ConnectionManagerConfig, GossipService, + NetworkIdentity, Protocol, SessionManager, }, testing::mocks::validator_network::{ random_address_from, MockAddressingInformation, MockNetwork as MockValidatorNetwork, @@ -159,7 +160,7 @@ impl TestData { &self, node_id: usize, session_id: u32, - ) -> impl DataNetwork { + ) -> impl Network { self.session_manager .start_validator_session( SessionId(session_id), @@ -242,7 +243,7 @@ impl TestData { } } - async fn start_session(&mut self, session_id: u32) -> impl DataNetwork { + async fn start_session(&mut self, session_id: u32) -> impl Network { let data_network = self.start_validator_session(0, session_id).await; self.connect_session_authorities(session_id).await; self.check_add_connection().await; From 0e1a27123837f416015283031214fa7da7f1e5fd Mon Sep 17 00:00:00 2001 From: Krzysztof Ziobro <86822080+krzysztofziobro@users.noreply.github.com> Date: Tue, 13 Dec 2022 20:07:01 +0100 Subject: [PATCH 044/212] A0-1668 Make runtime cache configurable (#801) --- docker/docker_entrypoint.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docker/docker_entrypoint.sh b/docker/docker_entrypoint.sh index 159a734172..fe1b244382 100644 --- a/docker/docker_entrypoint.sh +++ b/docker/docker_entrypoint.sh @@ -31,6 +31,7 @@ TELEMETRY_URL=${TELEMETRY_URL:-'wss://telemetry.polkadot.io/submit/'} TELEMETRY_VERBOSITY_LVL=${TELEMETRY_VERBOSITY_LVL:-'0'} UNIT_CREATION_DELAY=${UNIT_CREATION_DELAY:-300} DB_CACHE=${DB_CACHE:-1024} +RUNTIME_CACHE_SIZE=${RUNTIME_CACHE_SIZE:-2} BACKUP_PATH=${BACKUP_PATH:-${BASE_PATH}/backup-stash} if [[ "true" == "$PURGE_BEFORE_START" ]]; then @@ -58,6 +59,7 @@ ARGS=( --unsafe-ws-external --unsafe-rpc-external --enable-log-reloading --db-cache "${DB_CACHE}" + --runtime-cache-size "${RUNTIME_CACHE_SIZE}" ) if [[ -n "${BOOT_NODES:-}" ]]; then From f8f541deaf0b7e308fc315b20f6bd021834da2ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Piotr=20Miko=C5=82ajczyk?= Date: Wed, 14 Dec 2022 10:54:36 +0100 Subject: [PATCH 045/212] Do not write old state to storage in pre-migration check (#807) --- pallets/aleph/src/migrations/v0_to_v1.rs | 46 ++++++++++------ pallets/aleph/src/migrations/v1_to_v2.rs | 12 +---- pallets/elections/src/migrations/v0_to_v1.rs | 28 ++++------ pallets/elections/src/migrations/v1_to_v2.rs | 50 +++++++++-------- pallets/elections/src/migrations/v2_to_v3.rs | 48 ++++++++++------- pallets/support/src/migration.rs | 57 ++------------------ 6 files changed, 103 insertions(+), 138 deletions(-) diff --git a/pallets/aleph/src/migrations/v0_to_v1.rs b/pallets/aleph/src/migrations/v0_to_v1.rs index 3fe634e69e..79daed3678 100644 --- a/pallets/aleph/src/migrations/v0_to_v1.rs +++ b/pallets/aleph/src/migrations/v0_to_v1.rs @@ -1,15 +1,16 @@ -#[cfg(feature = "try-runtime")] -use frame_support::ensure; use frame_support::{ log, storage_alias, traits::{Get, OnRuntimeUpgrade, PalletInfoAccess, StorageVersion}, weights::Weight, }; -#[cfg(feature = "try-runtime")] -use pallets_support::ensure_storage_version; -use pallets_support::StorageMigration; use primitives::SessionIndex; use sp_std::vec::Vec; +#[cfg(feature = "try-runtime")] +use { + codec::{Decode, Encode}, + frame_support::ensure, + pallets_support::ensure_storage_version, +}; use crate::Config; @@ -24,9 +25,11 @@ type Validators = StorageValue>; /// Flattening double `Option<>` storage. pub struct Migration(sp_std::marker::PhantomData<(T, P)>); -impl StorageMigration for Migration { - #[cfg(feature = "try-runtime")] - const MIGRATION_STORAGE_PREFIX: &'static [u8] = b"PALLET_ALEPH::V0_TO_V1_MIGRATION"; +#[cfg(feature = "try-runtime")] +#[derive(Decode, Encode)] +struct MigrationChecksState { + session: Option>, + validators: Option>>, } impl OnRuntimeUpgrade for Migration { @@ -87,18 +90,27 @@ impl OnRuntimeUpgrade for Migration { ensure_storage_version::

(0)?; - Self::store_temp("session", SessionForValidatorsChange::get()); - Self::store_temp("validators", Validators::::get()); + let session = SessionForValidatorsChange::get(); + let validators = Validators::::get(); - Ok(Vec::new()) + Ok(MigrationChecksState:: { + session, + validators, + } + .encode()) } #[cfg(feature = "try-runtime")] - fn post_upgrade(_state: Vec) -> Result<(), &'static str> { + fn post_upgrade(state: Vec) -> Result<(), &'static str> { ensure_storage_version::

(1)?; + let MigrationChecksState { + session: old_session, + validators: old_validators, + } = >::decode(&mut &*state) + .map_err(|_| "Failed to decode old state")?; + let new_session = SessionForValidatorsChange::get(); - let old_session = Self::read_temp::>>("session"); match old_session { Some(Some(session)) => ensure!( @@ -106,20 +118,22 @@ impl OnRuntimeUpgrade for Migration { "Mismatch on `SessionForValidatorsChange`", ), _ => ensure!( - None == new_session, + new_session.is_none(), "New `SessionForValidatorsChange` should be `None`" ), }; let new_validators = Validators::::get(); - let old_validators = Self::read_temp::>>>("validators"); match old_validators { Some(Some(validators)) => ensure!( Some(validators) == new_validators, "Mismatch on `Validators`", ), - _ => ensure!(None == new_validators, "New `Validators` should be `None`"), + _ => ensure!( + new_validators.is_none(), + "New `Validators` should be `None`" + ), }; Ok(()) diff --git a/pallets/aleph/src/migrations/v1_to_v2.rs b/pallets/aleph/src/migrations/v1_to_v2.rs index 8db71da49e..0a8e9d31c4 100644 --- a/pallets/aleph/src/migrations/v1_to_v2.rs +++ b/pallets/aleph/src/migrations/v1_to_v2.rs @@ -1,15 +1,10 @@ -#[cfg(feature = "try-runtime")] -use frame_support::ensure; use frame_support::{ log, storage_alias, traits::{Get, OnRuntimeUpgrade, PalletInfoAccess, StorageVersion}, weights::Weight, }; #[cfg(feature = "try-runtime")] -use pallets_support::ensure_storage_version; -use pallets_support::StorageMigration; -#[cfg(feature = "try-runtime")] -use sp_std::vec::Vec; +use {frame_support::ensure, pallets_support::ensure_storage_version, sp_std::vec::Vec}; use crate::Config; @@ -32,11 +27,6 @@ type Validators = StorageValue; /// - Validators pub struct Migration(sp_std::marker::PhantomData<(T, P)>); -impl StorageMigration for Migration { - #[cfg(feature = "try-runtime")] - const MIGRATION_STORAGE_PREFIX: &'static [u8] = b"PALLET_ALEPH::V1_TO_V2_MIGRATION"; -} - impl OnRuntimeUpgrade for Migration { fn on_runtime_upgrade() -> Weight { let mut writes = 0; diff --git a/pallets/elections/src/migrations/v0_to_v1.rs b/pallets/elections/src/migrations/v0_to_v1.rs index 589b87188d..949ece52eb 100644 --- a/pallets/elections/src/migrations/v0_to_v1.rs +++ b/pallets/elections/src/migrations/v0_to_v1.rs @@ -1,14 +1,15 @@ -#[cfg(feature = "try-runtime")] -use frame_support::ensure; use frame_support::{ log, storage_alias, traits::{Get, OnRuntimeUpgrade, PalletInfoAccess, StorageVersion}, weights::Weight, }; -#[cfg(feature = "try-runtime")] -use pallets_support::ensure_storage_version; -use pallets_support::StorageMigration; use sp_std::vec::Vec; +#[cfg(feature = "try-runtime")] +use { + codec::{Decode, Encode}, + frame_support::ensure, + pallets_support::ensure_storage_version, +}; use crate::{ compute_validator_scaled_total_rewards, @@ -39,11 +40,6 @@ type ErasMembers = StorageValue, Validators)>; /// - `ErasMembers` contain tuple of (content of `Members`, empty vector). pub struct Migration(sp_std::marker::PhantomData<(T, P)>); -impl StorageMigration for Migration { - #[cfg(feature = "try-runtime")] - const MIGRATION_STORAGE_PREFIX: &'static [u8] = b"PALLET_ELECTIONS::V0_TO_V1_MIGRATION"; -} - impl OnRuntimeUpgrade for Migration { fn on_runtime_upgrade() -> Weight { log::info!(target: "pallet_elections", "Running migration from STORAGE_VERSION 0 to 1 for pallet elections"); @@ -85,15 +81,12 @@ impl OnRuntimeUpgrade for Migration { #[cfg(feature = "try-runtime")] fn pre_upgrade() -> Result, &'static str> { ensure_storage_version::

(0)?; - - let members = Members::::get().ok_or("No `Members` storage")?; - Self::store_temp("members", members); - - Ok(Vec::new()) + let members: Validators = Members::::get().ok_or("No `Members` storage")?; + Ok(members.encode()) } #[cfg(feature = "try-runtime")] - fn post_upgrade(_state: Vec) -> Result<(), &'static str> { + fn post_upgrade(old_members: Vec) -> Result<(), &'static str> { ensure_storage_version::

(1)?; let mps = MembersPerSession::get().ok_or("No `MembersPerSession` in the storage")?; @@ -103,7 +96,8 @@ impl OnRuntimeUpgrade for Migration { NonReservedMembers::::get().ok_or("No `NonReservedMembers` in the storage")?; let eras_members = ErasMembers::::get().ok_or("No `ErasMembers` in the storage")?; - let old_members = Self::read_temp::>("members"); + let old_members = >::decode(&mut &*old_members) + .map_err(|_| "Failed to decode old members set")?; ensure!( reserved_members == old_members, diff --git a/pallets/elections/src/migrations/v1_to_v2.rs b/pallets/elections/src/migrations/v1_to_v2.rs index b6e141e758..42c8ade61e 100644 --- a/pallets/elections/src/migrations/v1_to_v2.rs +++ b/pallets/elections/src/migrations/v1_to_v2.rs @@ -1,15 +1,15 @@ -#[cfg(feature = "try-runtime")] -use frame_support::ensure; use frame_support::{ log, storage_alias, traits::{Get, OnRuntimeUpgrade, PalletInfoAccess, StorageVersion}, weights::Weight, }; #[cfg(feature = "try-runtime")] -use pallets_support::ensure_storage_version; -use pallets_support::StorageMigration; -#[cfg(feature = "try-runtime")] -use sp_std::vec::Vec; +use { + codec::{Decode, Encode}, + frame_support::ensure, + pallets_support::ensure_storage_version, + sp_std::vec::Vec, +}; use crate::{migrations::Validators, Config, EraValidators}; @@ -42,9 +42,13 @@ type CurrentEraValidators = /// - `ErasMembers` `(reserved, non_reserved)` -> `CurrentEraValidators` `ErasValidators { reserved, non_reserved}` pub struct Migration(sp_std::marker::PhantomData<(T, P)>); -impl StorageMigration for Migration { - #[cfg(feature = "try-runtime")] - const MIGRATION_STORAGE_PREFIX: &'static [u8] = b"PALLET_ELECTIONS::V1_TO_V2_MIGRATION"; +#[cfg(feature = "try-runtime")] +#[derive(Decode, Encode)] +struct MigrationChecksState { + members_per_session: u32, + reserved_members: Validators, + non_reserved_members: Validators, + eras_members: (Validators, Validators), } impl OnRuntimeUpgrade for Migration { @@ -89,24 +93,23 @@ impl OnRuntimeUpgrade for Migration { let members_per_session = MembersPerSession::get().ok_or("No `MembersPerSession` in the storage")?; - Self::store_temp("members_per_session", members_per_session); - let reserved_members = ReservedMembers::::get().ok_or("No `ReservedMembers` in the storage")?; - Self::store_temp("reserved_members", reserved_members); - let non_reserved_members = NonReservedMembers::::get().ok_or("No `NonReservedMembers` in the storage")?; - Self::store_temp("non_reserved_members", non_reserved_members); - let eras_members = ErasMembers::::get().ok_or("No `ErasMembers` in the storage")?; - Self::store_temp("eras_members", eras_members); - Ok(Vec::new()) + Ok(MigrationChecksState:: { + members_per_session, + reserved_members, + non_reserved_members, + eras_members, + } + .encode()) } #[cfg(feature = "try-runtime")] - fn post_upgrade(_state: Vec) -> Result<(), &'static str> { + fn post_upgrade(state: Vec) -> Result<(), &'static str> { ensure_storage_version::

(2)?; let committee_size = CommitteeSize::get().ok_or("No `CommitteeSize` in the storage")?; @@ -117,10 +120,13 @@ impl OnRuntimeUpgrade for Migration { let current_era_validators = CurrentEraValidators::::get().ok_or("No `CurrentEraValidators` in the storage")?; - let members_per_session = Self::read_temp::("members_per_session"); - let reserved_members = Self::read_temp::>("reserved_members"); - let non_reserved_members = Self::read_temp::>("non_reserved_members"); - let eras_members = Self::read_temp::<(Validators, Validators)>("eras_members"); + let MigrationChecksState { + members_per_session, + reserved_members, + non_reserved_members, + eras_members, + } = >::decode(&mut &*state) + .map_err(|_| "Failed to decode old state")?; ensure!( committee_size == members_per_session, diff --git a/pallets/elections/src/migrations/v2_to_v3.rs b/pallets/elections/src/migrations/v2_to_v3.rs index 27e29bd75b..b57306ab85 100644 --- a/pallets/elections/src/migrations/v2_to_v3.rs +++ b/pallets/elections/src/migrations/v2_to_v3.rs @@ -1,16 +1,16 @@ -#[cfg(feature = "try-runtime")] -use frame_support::ensure; use frame_support::{ log, storage_alias, traits::{Get, OnRuntimeUpgrade, PalletInfoAccess, StorageVersion}, weights::Weight, }; -#[cfg(feature = "try-runtime")] -use pallets_support::ensure_storage_version; -use pallets_support::StorageMigration; use primitives::CommitteeSeats; #[cfg(feature = "try-runtime")] -use sp_std::vec::Vec; +use { + codec::{Decode, Encode}, + frame_support::ensure, + pallets_support::ensure_storage_version, + sp_std::vec::Vec, +}; use crate::{migrations::Validators, Config, EraValidators}; @@ -31,9 +31,11 @@ type NextEraCommitteeSize = StorageValue; /// `CommitteeSeats`. pub struct Migration(sp_std::marker::PhantomData<(T, P)>); -impl StorageMigration for Migration { - #[cfg(feature = "try-runtime")] - const MIGRATION_STORAGE_PREFIX: &'static [u8] = b"PALLET_ELECTIONS::V2_TO_V3_MIGRATION"; +#[cfg(feature = "try-runtime")] +#[derive(Decode, Encode)] +struct MigrationChecksState { + committee_size: Option, + next_era_committee_size: Option, } impl OnRuntimeUpgrade for Migration { @@ -108,16 +110,17 @@ impl OnRuntimeUpgrade for Migration { ensure_storage_version::

(2)?; let committee_size = CommitteeSize::get(); - Self::store_temp("committee_size", committee_size); - let next_era_committee_size = NextEraCommitteeSize::get(); - Self::store_temp("next_era_committee_size", next_era_committee_size); - Ok(Vec::new()) + Ok(MigrationChecksState { + committee_size, + next_era_committee_size, + } + .encode()) } #[cfg(feature = "try-runtime")] - fn post_upgrade(_state: Vec) -> Result<(), &'static str> { + fn post_upgrade(state: Vec) -> Result<(), &'static str> { ensure_storage_version::

(3)?; let new_committee_size = CommitteeSize::get().ok_or("No `CommitteeSize` in the storage")?; @@ -129,10 +132,11 @@ impl OnRuntimeUpgrade for Migration { let next_era_reserved_validators = NextEraReservedValidators::::get() .ok_or("No `NextEraReservedValidators` in the storage")?; - let old_committee_size = - Self::read_temp::>("committee_size").unwrap_or_default(); - let old_next_era_committee_size = - Self::read_temp::>("next_era_committee_size").unwrap_or_default(); + let MigrationChecksState { + committee_size: old_committee_size, + next_era_committee_size: old_next_era_committee_size, + } = ::decode(&mut &*state) + .map_err(|_| "Failed to decode old state")?; let currently_reserved = current_era_validators.reserved.len(); ensure!( @@ -141,7 +145,9 @@ impl OnRuntimeUpgrade for Migration { ); ensure!( new_committee_size.non_reserved_seats - == old_committee_size.saturating_sub(currently_reserved as u32), + == old_committee_size + .unwrap_or_default() + .saturating_sub(currently_reserved as u32), "Mismatch between `CurrentEraValidators` and `CommitteeSize`" ); @@ -152,7 +158,9 @@ impl OnRuntimeUpgrade for Migration { ); ensure!( new_next_era_committee_size.non_reserved_seats - == old_next_era_committee_size.saturating_sub(next_reserved as u32), + == old_next_era_committee_size + .unwrap_or_default() + .saturating_sub(next_reserved as u32), "Mismatch between `NextEraReservedValidators` and `NextEraCommitteeSize`" ); diff --git a/pallets/support/src/migration.rs b/pallets/support/src/migration.rs index 095712ec9a..d43a8d5a3e 100644 --- a/pallets/support/src/migration.rs +++ b/pallets/support/src/migration.rs @@ -1,10 +1,3 @@ -#[cfg(feature = "try-runtime")] -use frame_support::{ - codec::{Decode, Encode}, - sp_io, - sp_std::vec::Vec, - storage::storage_prefix, -}; use frame_support::{ pallet_prelude::{PalletInfoAccess, StorageVersion, Weight}, traits::OnRuntimeUpgrade, @@ -15,63 +8,23 @@ use frame_support::{ /// /// This way, `try-runtime` no longer triggers checks. We do it by hand. pub trait StorageMigration: OnRuntimeUpgrade { - #[cfg(feature = "try-runtime")] - const MIGRATION_STORAGE_PREFIX: &'static [u8]; - #[allow(clippy::let_and_return)] fn migrate() -> Weight { #[cfg(feature = "try-runtime")] - Self::pre_upgrade().expect("Pre upgrade should succeed"); + let state = Self::pre_upgrade().expect("Pre upgrade should succeed"); let weight = Self::on_runtime_upgrade(); #[cfg(feature = "try-runtime")] - Self::post_upgrade(Vec::new()).expect("Post upgrade should succeed"); + Self::post_upgrade(state).expect("Post upgrade should succeed"); weight } - - /// Wrapper for `OnRuntimeUpgradeHelpersExt::set_temp_storage`. - /// - /// Together with the associated const `MIGRATION_STORAGE_PREFIX` they form a shortcut for: - /// ```rust - /// # use frame_support::traits::OnRuntimeUpgradeHelpersExt; - /// # use crate::pallet_elections::Config; - /// # use frame_support::storage::storage_prefix; - /// # use frame_support::pallet_prelude::PalletInfoAccess; - /// # use frame_support::sp_std; - /// - /// #[cfg(feature = "try-runtime")] - /// const MIGRATION_STORAGE_PREFIX: &[u8] = b"..."; - /// - /// # struct Migration(sp_std::marker::PhantomData<(T, P)>); - /// - /// #[cfg(feature = "try-runtime")] - /// impl OnRuntimeUpgradeHelpersExt for Migration { - /// fn storage_key(ident: &str) -> [u8; 32] { - /// storage_prefix(MIGRATION_STORAGE_PREFIX, ident.as_bytes()) - /// } - /// } - /// ``` - /// which would be required for every implementor of `StorageMigration`. - #[cfg(feature = "try-runtime")] - fn store_temp(storage_key: &str, data: T) { - let full_key = storage_prefix(Self::MIGRATION_STORAGE_PREFIX, storage_key.as_bytes()); - sp_io::storage::set(&full_key, &data.encode()); - } - - /// Wrapper for `OnRuntimeUpgradeHelpersExt::get_temp_storage`. - /// - /// Analogous to `Self::store_temp`. - #[cfg(feature = "try-runtime")] - fn read_temp(storage_key: &str) -> T { - let full_key = storage_prefix(Self::MIGRATION_STORAGE_PREFIX, storage_key.as_bytes()); - sp_io::storage::get(&full_key) - .and_then(|bytes| Decode::decode(&mut &*bytes).ok()) - .unwrap_or_else(|| panic!("No `{storage_key}` in the temp storage")) - } } +impl StorageMigration for T {} + +/// Ensure that the current pallet storage version matches `version`. pub fn ensure_storage_version(version: u16) -> Result<(), &'static str> { if StorageVersion::get::

() == StorageVersion::new(version) { Ok(()) From c14506c07b20900db972f6e6d3e0843fc0414660 Mon Sep 17 00:00:00 2001 From: timorl Date: Fri, 16 Dec 2022 10:18:43 +0100 Subject: [PATCH 046/212] A0-1576: Move clique network into network (#811) * Move clique network into network * For manager it is actually the validator network * Stray bad use of validator_network * Stray uses of 'validator' in clique * Better logging targets Co-authored-by: timorl --- finality-aleph/src/lib.rs | 2 - .../clique}/crypto.rs | 0 .../clique}/incoming.rs | 16 +- .../clique}/io.rs | 2 +- .../clique}/manager/direction.rs | 4 +- .../clique}/manager/legacy.rs | 10 +- .../clique}/manager/mod.rs | 7 +- .../clique/mock.rs} | 392 ++++++++---------- .../clique}/mod.rs | 11 +- .../clique}/outgoing.rs | 24 +- .../clique}/protocols/handshake.rs | 4 +- .../clique}/protocols/mod.rs | 2 +- .../clique}/protocols/negotiation.rs | 4 +- .../clique}/protocols/v0/heartbeat.rs | 4 +- .../clique}/protocols/v0/mod.rs | 30 +- .../clique}/protocols/v1/mod.rs | 30 +- .../clique}/service.rs | 50 +-- finality-aleph/src/network/gossip/mock.rs | 10 +- finality-aleph/src/network/gossip/service.rs | 18 +- finality-aleph/src/network/io.rs | 18 +- .../src/network/manager/compatibility.rs | 6 +- .../src/network/manager/connections.rs | 2 +- .../src/network/manager/discovery.rs | 2 +- finality-aleph/src/network/manager/service.rs | 16 +- finality-aleph/src/network/manager/session.rs | 2 +- finality-aleph/src/network/mock.rs | 60 ++- finality-aleph/src/network/mod.rs | 4 +- .../src/{tcp_network.rs => network/tcp.rs} | 12 +- finality-aleph/src/nodes/validator_node.rs | 7 +- finality-aleph/src/testing/clique_network.rs | 312 ++++++++++++++ finality-aleph/src/testing/mocks/mod.rs | 1 - finality-aleph/src/testing/mod.rs | 2 +- finality-aleph/src/testing/network.rs | 32 +- .../src/testing/validator_network.rs | 131 ------ finality-aleph/src/validator_network/mock.rs | 155 ------- scripts/run_nodes.sh | 2 +- 36 files changed, 721 insertions(+), 663 deletions(-) rename finality-aleph/src/{validator_network => network/clique}/crypto.rs (100%) rename finality-aleph/src/{validator_network => network/clique}/incoming.rs (85%) rename finality-aleph/src/{validator_network => network/clique}/io.rs (99%) rename finality-aleph/src/{validator_network => network/clique}/manager/direction.rs (98%) rename finality-aleph/src/{validator_network => network/clique}/manager/legacy.rs (98%) rename finality-aleph/src/{validator_network => network/clique}/manager/mod.rs (98%) rename finality-aleph/src/{testing/mocks/validator_network.rs => network/clique/mock.rs} (57%) rename finality-aleph/src/{validator_network => network/clique}/mod.rs (92%) rename finality-aleph/src/{validator_network => network/clique}/outgoing.rs (84%) rename finality-aleph/src/{validator_network => network/clique}/protocols/handshake.rs (99%) rename finality-aleph/src/{validator_network => network/clique}/protocols/mod.rs (99%) rename finality-aleph/src/{validator_network => network/clique}/protocols/negotiation.rs (98%) rename finality-aleph/src/{validator_network => network/clique}/protocols/v0/heartbeat.rs (94%) rename finality-aleph/src/{validator_network => network/clique}/protocols/v0/mod.rs (95%) rename finality-aleph/src/{validator_network => network/clique}/protocols/v1/mod.rs (95%) rename finality-aleph/src/{validator_network => network/clique}/service.rs (85%) rename finality-aleph/src/{tcp_network.rs => network/tcp.rs} (96%) create mode 100644 finality-aleph/src/testing/clique_network.rs delete mode 100644 finality-aleph/src/testing/validator_network.rs delete mode 100644 finality-aleph/src/validator_network/mock.rs diff --git a/finality-aleph/src/lib.rs b/finality-aleph/src/lib.rs index 84c083d5b3..4793919d65 100644 --- a/finality-aleph/src/lib.rs +++ b/finality-aleph/src/lib.rs @@ -44,10 +44,8 @@ mod nodes; mod party; mod session; mod session_map; -mod tcp_network; #[cfg(test)] pub mod testing; -mod validator_network; pub use abft::{Keychain, NodeCount, NodeIndex, Recipient, SignatureSet, SpawnHandle}; pub use aleph_primitives::{AuthorityId, AuthorityPair, AuthoritySignature}; diff --git a/finality-aleph/src/validator_network/crypto.rs b/finality-aleph/src/network/clique/crypto.rs similarity index 100% rename from finality-aleph/src/validator_network/crypto.rs rename to finality-aleph/src/network/clique/crypto.rs diff --git a/finality-aleph/src/validator_network/incoming.rs b/finality-aleph/src/network/clique/incoming.rs similarity index 85% rename from finality-aleph/src/validator_network/incoming.rs rename to finality-aleph/src/network/clique/incoming.rs index 719092759e..cab609af98 100644 --- a/finality-aleph/src/validator_network/incoming.rs +++ b/finality-aleph/src/network/clique/incoming.rs @@ -3,9 +3,9 @@ use std::fmt::{Display, Error as FmtError, Formatter}; use futures::channel::mpsc; use log::{debug, info}; -use crate::validator_network::{ +use crate::network::clique::{ protocols::{protocol, ProtocolError, ProtocolNegotiationError, ResultForService}, - Data, PublicKey, SecretKey, Splittable, + Data, PublicKey, SecretKey, Splittable, LOG_TARGET, }; enum IncomingError { @@ -41,9 +41,12 @@ async fn manage_incoming( result_for_parent: mpsc::UnboundedSender>, data_for_user: mpsc::UnboundedSender, ) -> Result<(), IncomingError> { - debug!(target: "validator-network", "Performing incoming protocol negotiation."); + debug!( + target: LOG_TARGET, + "Performing incoming protocol negotiation." + ); let (stream, protocol) = protocol(stream).await?; - debug!(target: "validator-network", "Negotiated protocol, running."); + debug!(target: LOG_TARGET, "Negotiated protocol, running."); Ok(protocol .manage_incoming(stream, secret_key, result_for_parent, data_for_user) .await?) @@ -62,6 +65,9 @@ pub async fn incoming( ) { let addr = stream.peer_address_info(); if let Err(e) = manage_incoming(secret_key, stream, result_for_parent, data_for_user).await { - info!(target: "validator-network", "Incoming connection from {} failed: {}.", addr, e); + info!( + target: LOG_TARGET, + "Incoming connection from {} failed: {}.", addr, e + ); } } diff --git a/finality-aleph/src/validator_network/io.rs b/finality-aleph/src/network/clique/io.rs similarity index 99% rename from finality-aleph/src/validator_network/io.rs rename to finality-aleph/src/network/clique/io.rs index c8c676055f..fee7f09187 100644 --- a/finality-aleph/src/validator_network/io.rs +++ b/finality-aleph/src/network/clique/io.rs @@ -6,7 +6,7 @@ use std::{ use codec::DecodeAll; use tokio::io::{AsyncReadExt, AsyncWriteExt}; -use crate::validator_network::Data; +use crate::network::Data; // We allow sending up to 16MiB, that should be enough forever. pub const MAX_DATA_SIZE: u32 = 16 * 1024 * 1024; diff --git a/finality-aleph/src/validator_network/manager/direction.rs b/finality-aleph/src/network/clique/manager/direction.rs similarity index 98% rename from finality-aleph/src/validator_network/manager/direction.rs rename to finality-aleph/src/network/clique/manager/direction.rs index de69416ba6..7ef675a7f6 100644 --- a/finality-aleph/src/validator_network/manager/direction.rs +++ b/finality-aleph/src/network/clique/manager/direction.rs @@ -3,7 +3,7 @@ use std::{ ops::BitXor, }; -use crate::validator_network::{Data, PublicKey}; +use crate::network::{clique::PublicKey, Data}; /// Data about peers we know and whether we should connect to them or they to us. For the former /// case also keeps the peers' addresses. @@ -85,7 +85,7 @@ impl DirectedPeers { #[cfg(test)] mod tests { use super::DirectedPeers; - use crate::validator_network::mock::{key, MockPublicKey}; + use crate::network::clique::mock::{key, MockPublicKey}; type Address = String; diff --git a/finality-aleph/src/validator_network/manager/legacy.rs b/finality-aleph/src/network/clique/manager/legacy.rs similarity index 98% rename from finality-aleph/src/validator_network/manager/legacy.rs rename to finality-aleph/src/network/clique/manager/legacy.rs index cac850d189..c65285d2a3 100644 --- a/finality-aleph/src/validator_network/manager/legacy.rs +++ b/finality-aleph/src/network/clique/manager/legacy.rs @@ -5,12 +5,12 @@ use std::{ use futures::channel::mpsc; -use crate::{ - network::PeerId, - validator_network::{ +use crate::network::{ + clique::{ manager::{AddResult, SendError}, - Data, PublicKey, + PublicKey, }, + Data, PeerId, }; /// Network component responsible for holding the list of peers that we @@ -218,7 +218,7 @@ mod tests { use futures::{channel::mpsc, StreamExt}; use super::{AddResult::*, Manager, SendError}; - use crate::validator_network::mock::{key, MockPublicKey}; + use crate::network::clique::mock::{key, MockPublicKey}; type Data = String; type Address = String; diff --git a/finality-aleph/src/validator_network/manager/mod.rs b/finality-aleph/src/network/clique/manager/mod.rs similarity index 98% rename from finality-aleph/src/validator_network/manager/mod.rs rename to finality-aleph/src/network/clique/manager/mod.rs index 2a5d094bd3..cb15c3db81 100644 --- a/finality-aleph/src/validator_network/manager/mod.rs +++ b/finality-aleph/src/network/clique/manager/mod.rs @@ -5,10 +5,7 @@ use std::{ use futures::channel::mpsc; -use crate::{ - network::PeerId, - validator_network::{Data, PublicKey}, -}; +use crate::network::{clique::PublicKey, Data, PeerId}; mod direction; mod legacy; @@ -242,7 +239,7 @@ mod tests { use futures::{channel::mpsc, StreamExt}; use super::{AddResult::*, Manager, SendError}; - use crate::validator_network::mock::{key, MockPublicKey}; + use crate::network::clique::mock::{key, MockPublicKey}; type Data = String; type Address = String; diff --git a/finality-aleph/src/testing/mocks/validator_network.rs b/finality-aleph/src/network/clique/mock.rs similarity index 57% rename from finality-aleph/src/testing/mocks/validator_network.rs rename to finality-aleph/src/network/clique/mock.rs index ba2e7acf5b..1fecd877cb 100644 --- a/finality-aleph/src/testing/mocks/validator_network.rs +++ b/finality-aleph/src/network/clique/mock.rs @@ -1,33 +1,169 @@ use std::{ - collections::{BTreeMap, HashMap, HashSet}, + collections::HashMap, + fmt::{Display, Error as FmtError, Formatter}, io::Result as IoResult, pin::Pin, task::{Context, Poll}, }; -use codec::{Decode, Encode, Output}; +use codec::{Decode, Encode}; use futures::{ channel::{mpsc, oneshot}, StreamExt, }; use log::info; -use rand::{thread_rng, Rng}; -use sc_service::{SpawnTaskHandle, TaskManager}; -use tokio::{ - io::{duplex, AsyncRead, AsyncWrite, DuplexStream, ReadBuf}, - runtime::Handle, - time::{error::Elapsed, interval, timeout, Duration}, -}; +use rand::Rng; +use tokio::io::{duplex, AsyncRead, AsyncWrite, DuplexStream, ReadBuf}; -use crate::{ - network::{mock::Channel, AddressingInformation, Data, NetworkIdentity}, - validator_network::{ - mock::{key, random_keys, MockPublicKey, MockSecretKey}, - ConnectionInfo, Dialer as DialerT, Listener as ListenerT, Network, PeerAddressInfo, - SecretKey, Service, Splittable, +use crate::network::{ + clique::{ + ConnectionInfo, Dialer, Listener, Network, PeerAddressInfo, PublicKey, SecretKey, + Splittable, LOG_TARGET, }, + mock::Channel, + AddressingInformation, Data, NetworkIdentity, PeerId, }; +/// A mock secret key that is able to sign messages. +#[derive(Debug, PartialEq, Eq, Clone, Hash)] +pub struct MockSecretKey([u8; 4]); + +/// A mock public key for verifying signatures. +#[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Clone, Hash, Encode, Decode)] +pub struct MockPublicKey([u8; 4]); + +impl Display for MockPublicKey { + fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), FmtError> { + write!(f, "PublicKey({:?})", self.0) + } +} + +impl AsRef<[u8]> for MockPublicKey { + fn as_ref(&self) -> &[u8] { + self.0.as_ref() + } +} + +/// A mock signature, able to discern whether the correct key has been used to sign a specific +/// message. +#[derive(Debug, PartialEq, Eq, Clone, Hash, Encode, Decode)] +pub struct MockSignature { + message: Vec, + key_id: [u8; 4], +} + +impl PublicKey for MockPublicKey { + type Signature = MockSignature; + + fn verify(&self, message: &[u8], signature: &Self::Signature) -> bool { + (message == signature.message.as_slice()) && (self.0 == signature.key_id) + } +} + +impl PeerId for MockPublicKey {} + +#[async_trait::async_trait] +impl SecretKey for MockSecretKey { + type Signature = MockSignature; + type PublicKey = MockPublicKey; + + async fn sign(&self, message: &[u8]) -> Self::Signature { + MockSignature { + message: message.to_vec(), + key_id: self.0, + } + } + + fn public_key(&self) -> Self::PublicKey { + MockPublicKey(self.0) + } +} + +/// Create a random key pair. +pub fn key() -> (MockPublicKey, MockSecretKey) { + let secret_key = MockSecretKey(rand::random()); + (secret_key.public_key(), secret_key) +} + +/// Create a HashMap with public keys as keys and secret keys as values. +pub fn random_keys(n_peers: usize) -> HashMap { + let mut result = HashMap::with_capacity(n_peers); + while result.len() < n_peers { + let (pk, sk) = key(); + result.insert(pk, sk); + } + result +} + +/// A mock that can be split into two streams. +pub struct MockSplittable { + incoming_data: DuplexStream, + outgoing_data: DuplexStream, +} + +impl MockSplittable { + /// Create a pair of mock splittables connected to each other. + pub fn new(max_buf_size: usize) -> (Self, Self) { + let (in_a, out_b) = duplex(max_buf_size); + let (in_b, out_a) = duplex(max_buf_size); + ( + MockSplittable { + incoming_data: in_a, + outgoing_data: out_a, + }, + MockSplittable { + incoming_data: in_b, + outgoing_data: out_b, + }, + ) + } +} + +impl AsyncRead for MockSplittable { + fn poll_read( + self: Pin<&mut Self>, + cx: &mut Context<'_>, + buf: &mut ReadBuf<'_>, + ) -> Poll> { + Pin::new(&mut self.get_mut().incoming_data).poll_read(cx, buf) + } +} + +impl AsyncWrite for MockSplittable { + fn poll_write(self: Pin<&mut Self>, cx: &mut Context<'_>, buf: &[u8]) -> Poll> { + Pin::new(&mut self.get_mut().outgoing_data).poll_write(cx, buf) + } + + fn poll_flush(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll> { + Pin::new(&mut self.get_mut().outgoing_data).poll_flush(cx) + } + + fn poll_shutdown(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll> { + Pin::new(&mut self.get_mut().outgoing_data).poll_shutdown(cx) + } +} + +impl ConnectionInfo for MockSplittable { + fn peer_address_info(&self) -> PeerAddressInfo { + String::from("MOCK_ADDRESS") + } +} + +impl ConnectionInfo for DuplexStream { + fn peer_address_info(&self) -> PeerAddressInfo { + String::from("MOCK_ADDRESS") + } +} + +impl Splittable for MockSplittable { + type Sender = DuplexStream; + type Receiver = DuplexStream; + + fn split(self) -> (Self::Sender, Self::Receiver) { + (self.outgoing_data, self.incoming_data) + } +} + #[derive(Clone, Debug, PartialEq, Eq, Hash, Encode, Decode)] pub struct MockAddressingInformation { peer_id: MockPublicKey, @@ -292,12 +428,10 @@ impl Splittable for UnreliableSplittable { } type Address = u32; -type Addresses = HashMap; +pub type Addresses = HashMap; type Callers = HashMap; type Connection = UnreliableSplittable; -const TWICE_MAX_DATA_SIZE: usize = 32 * 1024 * 1024; - #[derive(Clone)] pub struct MockDialer { // used for logging @@ -306,7 +440,7 @@ pub struct MockDialer { } #[async_trait::async_trait] -impl DialerT

for MockDialer { +impl Dialer
for MockDialer { type Connection = Connection; type Error = std::io::Error; @@ -324,7 +458,7 @@ pub struct MockListener { } #[async_trait::async_trait] -impl ListenerT for MockListener { +impl Listener for MockListener { type Connection = Connection; type Error = std::io::Error; @@ -374,17 +508,26 @@ impl UnreliableConnectionMaker { pub async fn run(&mut self, connections_end_after: Option) { loop { - info!(target: "validator-network", "UnreliableConnectionMaker: waiting for new request..."); + info!( + target: LOG_TARGET, + "UnreliableConnectionMaker: waiting for new request..." + ); let (dialer_address, listener_address, c) = self.dialers.next().await.expect("should receive"); - info!(target: "validator-network", "UnreliableConnectionMaker: received request"); + info!( + target: LOG_TARGET, + "UnreliableConnectionMaker: received request" + ); let (dialer_stream, listener_stream) = Connection::new( 4096, connections_end_after, dialer_address, listener_address, ); - info!(target: "validator-network", "UnreliableConnectionMaker: sending stream"); + info!( + target: LOG_TARGET, + "UnreliableConnectionMaker: sending stream" + ); c.send(dialer_stream).expect("should send"); self.listeners[listener_address as usize] .unbounded_send(listener_stream) @@ -392,206 +535,3 @@ impl UnreliableConnectionMaker { } } } - -#[derive(Clone)] -struct MockData { - data: u32, - filler: Vec, - decodes: bool, -} - -impl MockData { - fn new(data: u32, filler_size: usize, decodes: bool) -> MockData { - MockData { - data, - filler: vec![0; filler_size], - decodes, - } - } -} - -impl Encode for MockData { - fn size_hint(&self) -> usize { - self.data.size_hint() + self.filler.size_hint() + self.decodes.size_hint() - } - - fn encode_to(&self, dest: &mut T) { - // currently this is exactly the default behaviour, but we still - // need it here to make sure that decode works in the future - self.data.encode_to(dest); - self.filler.encode_to(dest); - self.decodes.encode_to(dest); - } -} - -impl Decode for MockData { - fn decode(value: &mut I) -> Result { - let data = u32::decode(value)?; - let filler = Vec::::decode(value)?; - let decodes = bool::decode(value)?; - if !decodes { - return Err("Simulated decode failure.".into()); - } - Ok(Self { - data, - filler, - decodes, - }) - } -} - -#[allow(clippy::too_many_arguments)] -fn spawn_peer( - secret_key: MockSecretKey, - addr: Addresses, - n_msg: usize, - large_message_interval: Option, - corrupted_message_interval: Option, - dialer: MockDialer, - listener: MockListener, - report: mpsc::UnboundedSender<(MockPublicKey, usize)>, - spawn_handle: SpawnTaskHandle, -) { - let our_id = secret_key.public_key(); - let (service, mut interface) = Service::new(dialer, listener, secret_key, spawn_handle); - // run the service - tokio::spawn(async { - let (_exit, rx) = oneshot::channel(); - service.run(rx).await; - }); - // start connecting with the peers - let mut peer_ids = Vec::with_capacity(addr.len()); - for (id, addrs) in addr.into_iter() { - interface.add_connection(id.clone(), addrs); - peer_ids.push(id); - } - // peer main loop - // we send random messages to random peers - // a message is a number in range 0..n_msg - // we also keep a list of messages received at least once - // on receiving a message we report the total number of distinct messages received so far - // the goal is to receive every message at least once - tokio::spawn(async move { - let mut received: HashSet = HashSet::with_capacity(n_msg); - let mut send_ticker = tokio::time::interval(Duration::from_millis(5)); - let mut counter: usize = 0; - loop { - tokio::select! { - _ = send_ticker.tick() => { - counter += 1; - // generate random message - let filler_size = match large_message_interval { - Some(lmi) if counter % lmi == 0 => TWICE_MAX_DATA_SIZE, - _ => 0, - }; - let decodes = match corrupted_message_interval { - Some(cmi) if counter % cmi == 0 => false, - _ => true, - }; - let data: MockData = MockData::new(thread_rng().gen_range(0..n_msg) as u32, filler_size, decodes); - // choose a peer - let peer: MockPublicKey = peer_ids[thread_rng().gen_range(0..peer_ids.len())].clone(); - // send - interface.send(data, peer); - }, - data = interface.next() => { - // receive the message - let data: MockData = data.expect("next should not be closed"); - // mark the message as received, we do not care about sender's identity - received.insert(data.data as usize); - // report the number of received messages - report.unbounded_send((our_id.clone(), received.len())).expect("should send"); - }, - }; - } - }); -} - -/// Takes O(n log n) rounds to finish, where n = n_peers * n_msg. -pub async fn scenario( - n_peers: usize, - n_msg: usize, - broken_connection_interval: Option, - large_message_interval: Option, - corrupted_message_interval: Option, - status_report_interval: Duration, -) { - // create spawn_handle, we need to keep the task_manager - let task_manager = - TaskManager::new(Handle::current(), None).expect("should create TaskManager"); - let spawn_handle = task_manager.spawn_handle(); - // create peer identities - info!(target: "validator-network", "generating keys..."); - let keys = random_keys(n_peers); - info!(target: "validator-network", "done"); - // prepare and run the manager - let (mut connection_manager, mut callers, addr) = - UnreliableConnectionMaker::new(keys.keys().cloned().collect()); - tokio::spawn(async move { - connection_manager.run(broken_connection_interval).await; - }); - // channel for receiving status updates from spawned peers - let (tx_report, mut rx_report) = mpsc::unbounded::<(MockPublicKey, usize)>(); - let mut reports: BTreeMap = - keys.keys().cloned().map(|id| (id, 0)).collect(); - // spawn peers - for (id, secret_key) in keys.into_iter() { - let mut addr = addr.clone(); - // do not connect with itself - addr.remove(&secret_key.public_key()); - let (dialer, listener) = callers.remove(&id).expect("should contain all ids"); - spawn_peer( - secret_key, - addr, - n_msg, - large_message_interval, - corrupted_message_interval, - dialer, - listener, - tx_report.clone(), - spawn_handle.clone(), - ); - } - let mut status_ticker = interval(status_report_interval); - loop { - tokio::select! { - maybe_report = rx_report.next() => match maybe_report { - Some((peer_id, peer_n_msg)) => { - reports.insert(peer_id, peer_n_msg); - if reports.values().all(|&x| x == n_msg) { - info!(target: "validator-network", "Peers received {:?} messages out of {}, finishing.", reports.values(), n_msg); - return; - } - }, - None => panic!("should receive"), - }, - _ = status_ticker.tick() => { - info!(target: "validator-network", "Peers received {:?} messages out of {}.", reports.values(), n_msg); - } - }; - } -} - -/// Takes O(n log n) rounds to finish, where n = n_peers * n_msg. -pub async fn scenario_with_timeout( - n_peers: usize, - n_msg: usize, - broken_connection_interval: Option, - large_message_interval: Option, - corrupted_message_interval: Option, - status_report_interval: Duration, - scenario_timeout: Duration, -) -> Result<(), Elapsed> { - timeout( - scenario_timeout, - scenario( - n_peers, - n_msg, - broken_connection_interval, - large_message_interval, - corrupted_message_interval, - status_report_interval, - ), - ) - .await -} diff --git a/finality-aleph/src/validator_network/mod.rs b/finality-aleph/src/network/clique/mod.rs similarity index 92% rename from finality-aleph/src/validator_network/mod.rs rename to finality-aleph/src/network/clique/mod.rs index 9880754996..02e30db490 100644 --- a/finality-aleph/src/validator_network/mod.rs +++ b/finality-aleph/src/network/clique/mod.rs @@ -1,8 +1,10 @@ +//! A network for maintaining direct connections between all nodes. use std::fmt::Display; -use codec::Codec; use tokio::io::{AsyncRead, AsyncWrite}; +use crate::network::Data; + mod crypto; mod incoming; mod io; @@ -16,12 +18,9 @@ mod service; pub use crypto::{PublicKey, SecretKey}; pub use service::Service; -/// What the data sent using the network has to satisfy. -pub trait Data: Clone + Codec + Send + Sync + 'static {} - -impl Data for D {} +const LOG_TARGET: &str = "clique-network"; -/// Network represents an interface for opening and closing connections with other Validators, +/// Network represents an interface for opening and closing connections with other nodes, /// and sending direct messages between them. /// /// Note on Network reliability and security: it is neither assumed that the sent messages must be diff --git a/finality-aleph/src/validator_network/outgoing.rs b/finality-aleph/src/network/clique/outgoing.rs similarity index 84% rename from finality-aleph/src/validator_network/outgoing.rs rename to finality-aleph/src/network/clique/outgoing.rs index 946aa9e32e..fe100a0e46 100644 --- a/finality-aleph/src/validator_network/outgoing.rs +++ b/finality-aleph/src/network/clique/outgoing.rs @@ -4,11 +4,11 @@ use futures::channel::mpsc; use log::{debug, info}; use tokio::time::{sleep, timeout, Duration}; -use crate::validator_network::{ +use crate::network::clique::{ protocols::{ protocol, ConnectionType, ProtocolError, ProtocolNegotiationError, ResultForService, }, - ConnectionInfo, Data, Dialer, PeerAddressInfo, PublicKey, SecretKey, + ConnectionInfo, Data, Dialer, PeerAddressInfo, PublicKey, SecretKey, LOG_TARGET, }; enum OutgoingError> { @@ -49,17 +49,20 @@ async fn manage_outgoing>( result_for_parent: mpsc::UnboundedSender>, data_for_user: mpsc::UnboundedSender, ) -> Result<(), OutgoingError> { - debug!(target: "validator-network", "Trying to connect to {}.", public_key); + debug!(target: LOG_TARGET, "Trying to connect to {}.", public_key); let stream = timeout(DIAL_TIMEOUT, dialer.connect(address)) .await .map_err(|_| OutgoingError::TimedOut)? .map_err(OutgoingError::Dial)?; let peer_address_info = stream.peer_address_info(); - debug!(target: "validator-network", "Performing outgoing protocol negotiation."); + debug!( + target: LOG_TARGET, + "Performing outgoing protocol negotiation." + ); let (stream, protocol) = protocol(stream) .await .map_err(|e| OutgoingError::ProtocolNegotiation(peer_address_info.clone(), e))?; - debug!(target: "validator-network", "Negotiated protocol, running."); + debug!(target: LOG_TARGET, "Negotiated protocol, running."); protocol .manage_outgoing( stream, @@ -95,7 +98,14 @@ pub async fn outgoing>( ) .await { - info!(target: "validator-network", "Outgoing connection to {} {:?} failed: {}, will retry after {}s.", public_key, address, e, RETRY_DELAY.as_secs()); + info!( + target: LOG_TARGET, + "Outgoing connection to {} {:?} failed: {}, will retry after {}s.", + public_key, + address, + e, + RETRY_DELAY.as_secs() + ); sleep(RETRY_DELAY).await; // we send the "new" connection type, because we always assume it's new until proven // otherwise, and here we did not even get the chance to attempt negotiating a protocol @@ -103,7 +113,7 @@ pub async fn outgoing>( .unbounded_send((public_key, None, ConnectionType::New)) .is_err() { - debug!(target: "validator-network", "Could not send the closing message, we've probably been terminated by the parent service."); + debug!(target: LOG_TARGET, "Could not send the closing message, we've probably been terminated by the parent service."); } } } diff --git a/finality-aleph/src/validator_network/protocols/handshake.rs b/finality-aleph/src/network/clique/protocols/handshake.rs similarity index 99% rename from finality-aleph/src/validator_network/protocols/handshake.rs rename to finality-aleph/src/network/clique/protocols/handshake.rs index d436fca91b..e7720a8880 100644 --- a/finality-aleph/src/validator_network/protocols/handshake.rs +++ b/finality-aleph/src/network/clique/protocols/handshake.rs @@ -4,7 +4,7 @@ use codec::{Decode, Encode}; use rand::Rng; use tokio::time::{timeout, Duration}; -use crate::validator_network::{ +use crate::network::clique::{ io::{receive_data, send_data, ReceiveError, SendError}, PublicKey, SecretKey, Splittable, }; @@ -188,7 +188,7 @@ mod tests { execute_v0_handshake_incoming, execute_v0_handshake_outgoing, Challenge, HandshakeError, Response, }; - use crate::validator_network::{ + use crate::network::clique::{ io::{receive_data, send_data}, mock::{key, MockPublicKey, MockSecretKey, MockSplittable}, SecretKey, Splittable, diff --git a/finality-aleph/src/validator_network/protocols/mod.rs b/finality-aleph/src/network/clique/protocols/mod.rs similarity index 99% rename from finality-aleph/src/validator_network/protocols/mod.rs rename to finality-aleph/src/network/clique/protocols/mod.rs index c37e2d4253..eb056caca8 100644 --- a/finality-aleph/src/validator_network/protocols/mod.rs +++ b/finality-aleph/src/network/clique/protocols/mod.rs @@ -2,7 +2,7 @@ use std::fmt::{Display, Error as FmtError, Formatter}; use futures::channel::mpsc; -use crate::validator_network::{ +use crate::network::clique::{ io::{ReceiveError, SendError}, Data, PublicKey, SecretKey, Splittable, }; diff --git a/finality-aleph/src/validator_network/protocols/negotiation.rs b/finality-aleph/src/network/clique/protocols/negotiation.rs similarity index 98% rename from finality-aleph/src/validator_network/protocols/negotiation.rs rename to finality-aleph/src/network/clique/protocols/negotiation.rs index 52f0f1203a..5519a94c7a 100644 --- a/finality-aleph/src/validator_network/protocols/negotiation.rs +++ b/finality-aleph/src/network/clique/protocols/negotiation.rs @@ -8,7 +8,7 @@ use tokio::{ time::{timeout, Duration}, }; -use crate::validator_network::protocols::{Protocol, Version}; +use crate::network::clique::protocols::{Protocol, Version}; const PROTOCOL_NEGOTIATION_TIMEOUT: Duration = Duration::from_secs(5); @@ -141,7 +141,7 @@ mod tests { use tokio::io::duplex; use super::{negotiate_protocol_version, supported_protocol_range, ProtocolNegotiationError}; - use crate::validator_network::protocols::Protocol; + use crate::network::clique::protocols::Protocol; fn correct_negotiation(result: Result<(S, Protocol), ProtocolNegotiationError>) { match result { diff --git a/finality-aleph/src/validator_network/protocols/v0/heartbeat.rs b/finality-aleph/src/network/clique/protocols/v0/heartbeat.rs similarity index 94% rename from finality-aleph/src/validator_network/protocols/v0/heartbeat.rs rename to finality-aleph/src/network/clique/protocols/v0/heartbeat.rs index ba8fb183e0..2e83e5e60c 100644 --- a/finality-aleph/src/validator_network/protocols/v0/heartbeat.rs +++ b/finality-aleph/src/network/clique/protocols/v0/heartbeat.rs @@ -4,7 +4,7 @@ use tokio::{ time::{sleep, timeout, Duration}, }; -use crate::validator_network::io::{receive_data, send_data}; +use crate::network::clique::io::{receive_data, send_data}; const HEARTBEAT_TIMEOUT: Duration = Duration::from_secs(5); const MAX_MISSED_HEARTBEATS: u32 = 4; @@ -54,7 +54,7 @@ mod tests { }; use super::{heartbeat_receiver, heartbeat_sender}; - use crate::validator_network::mock::MockSplittable; + use crate::network::clique::mock::MockSplittable; #[tokio::test] async fn sender_closed_on_broken_connection() { diff --git a/finality-aleph/src/validator_network/protocols/v0/mod.rs b/finality-aleph/src/network/clique/protocols/v0/mod.rs similarity index 95% rename from finality-aleph/src/validator_network/protocols/v0/mod.rs rename to finality-aleph/src/network/clique/protocols/v0/mod.rs index 7510f71b6e..7c17c39795 100644 --- a/finality-aleph/src/validator_network/protocols/v0/mod.rs +++ b/finality-aleph/src/network/clique/protocols/v0/mod.rs @@ -2,13 +2,13 @@ use futures::{channel::mpsc, StreamExt}; use log::{debug, info, trace}; use tokio::io::{AsyncRead, AsyncWrite}; -use crate::validator_network::{ +use crate::network::clique::{ io::{receive_data, send_data}, protocols::{ handshake::{v0_handshake_incoming, v0_handshake_outgoing}, ConnectionType, ProtocolError, ResultForService, }, - Data, PublicKey, SecretKey, Splittable, + Data, PublicKey, SecretKey, Splittable, LOG_TARGET, }; mod heartbeat; @@ -38,9 +38,12 @@ pub async fn outgoing( public_key: SK::PublicKey, result_for_parent: mpsc::UnboundedSender>, ) -> Result<(), ProtocolError> { - trace!(target: "validator-network", "Extending hand to {}.", public_key); + trace!(target: LOG_TARGET, "Extending hand to {}.", public_key); let (sender, receiver) = v0_handshake_outgoing(stream, secret_key, public_key.clone()).await?; - info!(target: "validator-network", "Outgoing handshake with {} finished successfully.", public_key); + info!( + target: LOG_TARGET, + "Outgoing handshake with {} finished successfully.", public_key + ); let (data_for_network, data_from_user) = mpsc::unbounded(); result_for_parent .unbounded_send(( @@ -53,7 +56,10 @@ pub async fn outgoing( let sending = sending(sender, data_from_user); let heartbeat = heartbeat_receiver(receiver); - debug!(target: "validator-network", "Starting worker for sending to {}.", public_key); + debug!( + target: LOG_TARGET, + "Starting worker for sending to {}.", public_key + ); loop { tokio::select! { _ = heartbeat => return Err(ProtocolError::CardiacArrest), @@ -85,9 +91,12 @@ pub async fn incoming( result_for_parent: mpsc::UnboundedSender>, data_for_user: mpsc::UnboundedSender, ) -> Result<(), ProtocolError> { - trace!(target: "validator-network", "Waiting for extended hand..."); + trace!(target: LOG_TARGET, "Waiting for extended hand..."); let (sender, receiver, public_key) = v0_handshake_incoming(stream, secret_key).await?; - info!(target: "validator-network", "Incoming handshake with {} finished successfully.", public_key); + info!( + target: LOG_TARGET, + "Incoming handshake with {} finished successfully.", public_key + ); let (tx_exit, mut exit) = mpsc::unbounded(); result_for_parent @@ -101,7 +110,10 @@ pub async fn incoming( let receiving = receiving(receiver, data_for_user); let heartbeat = heartbeat_sender(sender); - debug!(target: "validator-network", "Starting worker for receiving from {}.", public_key); + debug!( + target: LOG_TARGET, + "Starting worker for receiving from {}.", public_key + ); loop { tokio::select! { _ = heartbeat => return Err(ProtocolError::CardiacArrest), @@ -119,7 +131,7 @@ mod tests { }; use super::{incoming, outgoing, ProtocolError}; - use crate::validator_network::{ + use crate::network::clique::{ mock::{key, MockPublicKey, MockSecretKey, MockSplittable}, protocols::{ConnectionType, ResultForService}, Data, diff --git a/finality-aleph/src/validator_network/protocols/v1/mod.rs b/finality-aleph/src/network/clique/protocols/v1/mod.rs similarity index 95% rename from finality-aleph/src/validator_network/protocols/v1/mod.rs rename to finality-aleph/src/network/clique/protocols/v1/mod.rs index ca138f9170..978dc3ba8e 100644 --- a/finality-aleph/src/validator_network/protocols/v1/mod.rs +++ b/finality-aleph/src/network/clique/protocols/v1/mod.rs @@ -6,13 +6,13 @@ use tokio::{ time::{timeout, Duration}, }; -use crate::validator_network::{ +use crate::network::clique::{ io::{receive_data, send_data}, protocols::{ handshake::{v0_handshake_incoming, v0_handshake_outgoing}, ConnectionType, ProtocolError, ResultForService, }, - Data, PublicKey, SecretKey, Splittable, + Data, PublicKey, SecretKey, Splittable, LOG_TARGET, }; const HEARTBEAT_TIMEOUT: Duration = Duration::from_secs(5); @@ -92,9 +92,12 @@ pub async fn outgoing( result_for_parent: mpsc::UnboundedSender>, data_for_user: mpsc::UnboundedSender, ) -> Result<(), ProtocolError> { - trace!(target: "validator-network", "Extending hand to {}.", public_key); + trace!(target: LOG_TARGET, "Extending hand to {}.", public_key); let (sender, receiver) = v0_handshake_outgoing(stream, secret_key, public_key.clone()).await?; - info!(target: "validator-network", "Outgoing handshake with {} finished successfully.", public_key); + info!( + target: LOG_TARGET, + "Outgoing handshake with {} finished successfully.", public_key + ); let (data_for_network, data_from_user) = mpsc::unbounded(); result_for_parent .unbounded_send(( @@ -103,7 +106,10 @@ pub async fn outgoing( ConnectionType::New, )) .map_err(|_| ProtocolError::NoParentConnection)?; - debug!(target: "validator-network", "Starting worker for communicating with {}.", public_key); + debug!( + target: LOG_TARGET, + "Starting worker for communicating with {}.", public_key + ); manage_connection(sender, receiver, data_from_user, data_for_user).await } @@ -116,9 +122,12 @@ pub async fn incoming( result_for_parent: mpsc::UnboundedSender>, data_for_user: mpsc::UnboundedSender, ) -> Result<(), ProtocolError> { - trace!(target: "validator-network", "Waiting for extended hand..."); + trace!(target: LOG_TARGET, "Waiting for extended hand..."); let (sender, receiver, public_key) = v0_handshake_incoming(stream, secret_key).await?; - info!(target: "validator-network", "Incoming handshake with {} finished successfully.", public_key); + info!( + target: LOG_TARGET, + "Incoming handshake with {} finished successfully.", public_key + ); let (data_for_network, data_from_user) = mpsc::unbounded(); result_for_parent .unbounded_send(( @@ -127,7 +136,10 @@ pub async fn incoming( ConnectionType::New, )) .map_err(|_| ProtocolError::NoParentConnection)?; - debug!(target: "validator-network", "Starting worker for communicating with {}.", public_key); + debug!( + target: LOG_TARGET, + "Starting worker for communicating with {}.", public_key + ); manage_connection(sender, receiver, data_from_user, data_for_user).await } @@ -139,7 +151,7 @@ mod tests { }; use super::{incoming, outgoing, ProtocolError}; - use crate::validator_network::{ + use crate::network::clique::{ mock::{key, MockPublicKey, MockSecretKey, MockSplittable}, protocols::{ConnectionType, ResultForService}, Data, diff --git a/finality-aleph/src/validator_network/service.rs b/finality-aleph/src/network/clique/service.rs similarity index 85% rename from finality-aleph/src/validator_network/service.rs rename to finality-aleph/src/network/clique/service.rs index 320e78c62d..470ca0898c 100644 --- a/finality-aleph/src/validator_network/service.rs +++ b/finality-aleph/src/network/clique/service.rs @@ -8,13 +8,15 @@ use log::{debug, info, trace, warn}; use tokio::time; use crate::{ - network::PeerId, - validator_network::{ - incoming::incoming, - manager::{AddResult, LegacyManager, Manager}, - outgoing::outgoing, - protocols::{ConnectionType, ResultForService}, - Data, Dialer, Listener, Network, PublicKey, SecretKey, + network::{ + clique::{ + incoming::incoming, + manager::{AddResult, LegacyManager, Manager}, + outgoing::outgoing, + protocols::{ConnectionType, ResultForService}, + Dialer, Listener, Network, PublicKey, SecretKey, LOG_TARGET, + }, + Data, PeerId, }, SpawnTaskHandle, STATUS_REPORT_INTERVAL, }; @@ -39,7 +41,7 @@ impl Network for ServiceInterface Network for ServiceInterface Network for ServiceInterface Network for ServiceInterface, NL: Listener> where SK::PublicKey: PeerId, @@ -93,7 +95,7 @@ impl, NL: Listener> Servi where SK::PublicKey: PeerId, { - /// Create a new validator network service plus an interface for interacting with it. + /// Create a new clique network service plus an interface for interacting with it. pub fn new( dialer: ND, listener: NL, @@ -133,7 +135,7 @@ where let dialer = self.dialer.clone(); let next_to_interface = self.next_to_interface.clone(); self.spawn_handle - .spawn("aleph/validator_network_outgoing", None, async move { + .spawn("aleph/clique_network_outgoing", None, async move { outgoing( secret_key, public_key, @@ -154,7 +156,7 @@ where let secret_key = self.secret_key.clone(); let next_to_interface = self.next_to_interface.clone(); self.spawn_handle - .spawn("aleph/validator_network_incoming", None, async move { + .spawn("aleph/clique_network_incoming", None, async move { incoming(secret_key, stream, result_for_parent, next_to_interface).await; }); } @@ -237,7 +239,7 @@ where // got new incoming connection from the listener - spawn an incoming worker maybe_stream = self.listener.accept() => match maybe_stream { Ok(stream) => self.spawn_new_incoming(stream, result_for_parent.clone()), - Err(e) => warn!(target: "validator-network", "Listener failed to accept connection: {}", e), + Err(e) => warn!(target: LOG_TARGET, "Listener failed to accept connection: {}", e), }, // got a new command from the interface Some(command) = self.commands_from_interface.next() => match command { @@ -264,12 +266,12 @@ where SendData(data, public_key) => { match self.legacy_connected.contains(&public_key) { true => match self.legacy_manager.send_to(&public_key, data) { - Ok(_) => trace!(target: "validator-network", "Sending data to {} through legacy.", public_key), - Err(e) => trace!(target: "validator-network", "Failed sending to {} through legacy: {}", public_key, e), + Ok(_) => trace!(target: LOG_TARGET, "Sending data to {} through legacy.", public_key), + Err(e) => trace!(target: LOG_TARGET, "Failed sending to {} through legacy: {}", public_key, e), }, false => match self.manager.send_to(&public_key, data) { - Ok(_) => trace!(target: "validator-network", "Sending data to {}.", public_key), - Err(e) => trace!(target: "validator-network", "Failed sending to {}: {}", public_key, e), + Ok(_) => trace!(target: LOG_TARGET, "Sending data to {}.", public_key), + Err(e) => trace!(target: LOG_TARGET, "Failed sending to {}: {}", public_key, e), }, } }, @@ -290,9 +292,9 @@ where use AddResult::*; match maybe_data_for_network { Some(data_for_network) => match self.add_connection(public_key.clone(), data_for_network, connection_type) { - Uninterested => warn!(target: "validator-network", "Established connection with peer {} for unknown reasons.", public_key), - Added => info!(target: "validator-network", "New connection with peer {}.", public_key), - Replaced => info!(target: "validator-network", "Replaced connection with peer {}.", public_key), + Uninterested => warn!(target: LOG_TARGET, "Established connection with peer {} for unknown reasons.", public_key), + Added => info!(target: LOG_TARGET, "New connection with peer {}.", public_key), + Replaced => info!(target: LOG_TARGET, "Replaced connection with peer {}.", public_key), }, None => if let Some(address) = self.peer_address(&public_key) { self.spawn_new_outgoing(public_key, address, result_for_parent.clone()); @@ -301,8 +303,8 @@ where }, // periodically reporting what we are trying to do _ = status_ticker.tick() => { - info!(target: "validator-network", "Validator Network status: {}", self.manager.status_report()); - debug!(target: "validator-network", "Validator Network legacy status: {}", self.legacy_manager.status_report()); + info!(target: LOG_TARGET, "Clique Network status: {}", self.manager.status_report()); + debug!(target: LOG_TARGET, "Clique Network legacy status: {}", self.legacy_manager.status_report()); } // received exit signal, stop the network // all workers will be killed automatically after the manager gets dropped diff --git a/finality-aleph/src/network/gossip/mock.rs b/finality-aleph/src/network/gossip/mock.rs index 076dc644f8..9bac21124d 100644 --- a/finality-aleph/src/network/gossip/mock.rs +++ b/finality-aleph/src/network/gossip/mock.rs @@ -7,12 +7,10 @@ use futures::{ }; use parking_lot::Mutex; -use crate::{ - network::{ - gossip::{Event, EventStream, NetworkSender, Protocol, RawNetwork}, - mock::Channel, - }, - validator_network::mock::MockPublicKey, +use crate::network::{ + clique::mock::MockPublicKey, + gossip::{Event, EventStream, NetworkSender, Protocol, RawNetwork}, + mock::Channel, }; pub type MockEvent = Event; diff --git a/finality-aleph/src/network/gossip/service.rs b/finality-aleph/src/network/gossip/service.rs index 6b5ae91f98..7f94c31d6c 100644 --- a/finality-aleph/src/network/gossip/service.rs +++ b/finality-aleph/src/network/gossip/service.rs @@ -280,16 +280,14 @@ mod tests { use tokio::runtime::Handle; use super::{Error, Service}; - use crate::{ - network::{ - gossip::{ - mock::{MockEvent, MockRawNetwork, MockSenderError}, - Network, - }, - mock::MockData, - Protocol, + use crate::network::{ + clique::mock::random_peer_id, + gossip::{ + mock::{MockEvent, MockRawNetwork, MockSenderError}, + Network, }, - testing::mocks::validator_network::random_peer_id, + mock::MockData, + Protocol, }; const PROTOCOL: Protocol = Protocol::Authentication; @@ -343,7 +341,7 @@ mod tests { } fn message(i: u8) -> MockData { - vec![i, i + 1, i + 2] + MockData::new(i.into(), 3) } #[tokio::test] diff --git a/finality-aleph/src/network/io.rs b/finality-aleph/src/network/io.rs index 60bed0de91..d86b6b3bfe 100644 --- a/finality-aleph/src/network/io.rs +++ b/finality-aleph/src/network/io.rs @@ -2,26 +2,24 @@ use std::fmt::Debug; use futures::channel::mpsc; -use crate::{ - network::{ - manager::{DataInSession, VersionedAuthentication}, - AddressingInformation, ConnectionManagerIO, Data, GossipNetwork, SessionManagerIO, - }, - validator_network::{Network as ValidatorNetwork, PublicKey}, +use crate::network::{ + clique::{Network as CliqueNetwork, PublicKey}, + manager::{DataInSession, VersionedAuthentication}, + AddressingInformation, ConnectionManagerIO, Data, GossipNetwork, SessionManagerIO, }; -type FullIO = (ConnectionManagerIO, SessionManagerIO); +type FullIO = (ConnectionManagerIO, SessionManagerIO); pub fn setup< D: Data, M: Data + Debug, A: AddressingInformation + TryFrom> + Into>, - VN: ValidatorNetwork>, + CN: CliqueNetwork>, GN: GossipNetwork>, >( - validator_network: VN, + validator_network: CN, gossip_network: GN, -) -> FullIO +) -> FullIO where A::PeerId: PublicKey, { diff --git a/finality-aleph/src/network/manager/compatibility.rs b/finality-aleph/src/network/manager/compatibility.rs index 314ecae5c1..bb368716c8 100644 --- a/finality-aleph/src/network/manager/compatibility.rs +++ b/finality-aleph/src/network/manager/compatibility.rs @@ -252,17 +252,15 @@ mod test { use crate::{ crypto::AuthorityVerifier, network::{ + clique::mock::MockAddressingInformation, manager::{ compatibility::{PeerAuthentications, MAX_AUTHENTICATION_SIZE}, LegacyDiscoveryMessage, SessionHandler, }, + tcp::{testing::new_identity, LegacyTcpMultiaddress, SignedTcpAddressingInformation}, NetworkIdentity, }, nodes::testing::new_pen, - tcp_network::{ - testing::new_identity, LegacyTcpMultiaddress, SignedTcpAddressingInformation, - }, - testing::mocks::validator_network::MockAddressingInformation, NodeIndex, SessionId, Version, }; diff --git a/finality-aleph/src/network/manager/connections.rs b/finality-aleph/src/network/manager/connections.rs index 4023a54ca4..4db59a51b7 100644 --- a/finality-aleph/src/network/manager/connections.rs +++ b/finality-aleph/src/network/manager/connections.rs @@ -57,7 +57,7 @@ mod tests { use super::Connections; use crate::{ - validator_network::mock::{random_keys, MockPublicKey}, + network::clique::mock::{random_keys, MockPublicKey}, SessionId, }; diff --git a/finality-aleph/src/network/manager/discovery.rs b/finality-aleph/src/network/manager/discovery.rs index f1b3d2bf3b..4e36513b69 100644 --- a/finality-aleph/src/network/manager/discovery.rs +++ b/finality-aleph/src/network/manager/discovery.rs @@ -122,11 +122,11 @@ mod tests { use super::Discovery; use crate::{ network::{ + clique::mock::{random_address, MockAddressingInformation}, manager::{compatibility::PeerAuthentications, SessionHandler}, mock::crypto_basics, testing::{authentication, legacy_authentication}, }, - testing::mocks::validator_network::{random_address, MockAddressingInformation}, SessionId, }; diff --git a/finality-aleph/src/network/manager/service.rs b/finality-aleph/src/network/manager/service.rs index 1b390bd316..d0d0978bc8 100644 --- a/finality-aleph/src/network/manager/service.rs +++ b/finality-aleph/src/network/manager/service.rs @@ -17,6 +17,7 @@ use crate::{ abft::Recipient, crypto::{AuthorityPen, AuthorityVerifier}, network::{ + clique::{Network as CliqueNetwork, PublicKey}, manager::{ compatibility::PeerAuthentications, Connections, DataInSession, Discovery, DiscoveryMessage, SessionHandler, SessionHandlerError, VersionedAuthentication, @@ -24,7 +25,6 @@ use crate::{ AddressedData, AddressingInformation, ConnectionCommand, Data, GossipNetwork, NetworkIdentity, PeerId, }, - validator_network::{Network as ValidatorNetwork, PublicKey}, MillisecsPerBlock, NodeIndex, SessionId, SessionPeriod, STATUS_REPORT_INTERVAL, }; @@ -558,14 +558,14 @@ pub struct IO< D: Data, M: Data, A: AddressingInformation + TryFrom> + Into>, - VN: ValidatorNetwork>, + CN: CliqueNetwork>, GN: GossipNetwork>, > where A::PeerId: PublicKey, { commands_from_user: mpsc::UnboundedReceiver>, messages_from_user: mpsc::UnboundedReceiver<(D, SessionId, Recipient)>, - validator_network: VN, + validator_network: CN, gossip_network: GN, _phantom: PhantomData<(M, A)>, } @@ -595,18 +595,18 @@ impl< D: Data, M: Data + Debug, A: AddressingInformation + TryFrom> + Into>, - VN: ValidatorNetwork>, + CN: CliqueNetwork>, GN: GossipNetwork>, - > IO + > IO where A::PeerId: PublicKey, { pub fn new( commands_from_user: mpsc::UnboundedReceiver>, messages_from_user: mpsc::UnboundedReceiver<(D, SessionId, Recipient)>, - validator_network: VN, + validator_network: CN, gossip_network: GN, - ) -> IO { + ) -> IO { IO { commands_from_user, messages_from_user, @@ -742,11 +742,11 @@ mod tests { use super::{Config, SendError, Service, ServiceActions, SessionCommand}; use crate::{ network::{ + clique::mock::{random_address, MockAddressingInformation}, manager::{compatibility::PeerAuthentications, DataInSession, DiscoveryMessage}, mock::crypto_basics, ConnectionCommand, }, - testing::mocks::validator_network::{random_address, MockAddressingInformation}, Recipient, SessionId, }; diff --git a/finality-aleph/src/network/manager/session.rs b/finality-aleph/src/network/manager/session.rs index cf5b204ada..009786f946 100644 --- a/finality-aleph/src/network/manager/session.rs +++ b/finality-aleph/src/network/manager/session.rs @@ -273,11 +273,11 @@ mod tests { use super::{Handler, HandlerError}; use crate::{ network::{ + clique::mock::{random_address, random_invalid_address}, mock::crypto_basics, testing::{authentication, legacy_authentication}, AddressingInformation, }, - testing::mocks::validator_network::{random_address, random_invalid_address}, NodeIndex, SessionId, }; diff --git a/finality-aleph/src/network/mock.rs b/finality-aleph/src/network/mock.rs index 30c3aa56c9..dff81e2e46 100644 --- a/finality-aleph/src/network/mock.rs +++ b/finality-aleph/src/network/mock.rs @@ -1,6 +1,7 @@ use std::{sync::Arc, time::Duration}; use aleph_primitives::KEY_TYPE; +use codec::{Decode, Encode, Output}; use futures::{channel::mpsc, StreamExt}; use sp_keystore::{testing::KeyStore, CryptoStore}; use tokio::time::timeout; @@ -10,7 +11,64 @@ use crate::{ AuthorityId, NodeIndex, }; -pub type MockData = Vec; +#[derive(Hash, Debug, Clone, PartialEq, Eq)] +pub struct MockData { + data: u32, + filler: Vec, + decodes: bool, +} + +impl MockData { + pub fn new(data: u32, filler_size: usize) -> MockData { + MockData { + data, + filler: vec![0; filler_size], + decodes: true, + } + } + + pub fn new_undecodable(data: u32, filler_size: usize) -> MockData { + MockData { + data, + filler: vec![0; filler_size], + decodes: false, + } + } + + pub fn data(&self) -> u32 { + self.data + } +} + +impl Encode for MockData { + fn size_hint(&self) -> usize { + self.data.size_hint() + self.filler.size_hint() + self.decodes.size_hint() + } + + fn encode_to(&self, dest: &mut T) { + // currently this is exactly the default behaviour, but we still + // need it here to make sure that decode works in the future + self.data.encode_to(dest); + self.filler.encode_to(dest); + self.decodes.encode_to(dest); + } +} + +impl Decode for MockData { + fn decode(value: &mut I) -> Result { + let data = u32::decode(value)?; + let filler = Vec::::decode(value)?; + let decodes = bool::decode(value)?; + if !decodes { + return Err("Simulated decode failure.".into()); + } + Ok(Self { + data, + filler, + decodes, + }) + } +} #[derive(Clone)] pub struct Channel( diff --git a/finality-aleph/src/network/mod.rs b/finality-aleph/src/network/mod.rs index dda72e4486..6111f2e4b7 100644 --- a/finality-aleph/src/network/mod.rs +++ b/finality-aleph/src/network/mod.rs @@ -8,6 +8,7 @@ use codec::Codec; use sp_api::NumberFor; use sp_runtime::traits::Block; +pub mod clique; pub mod data; mod gossip; mod io; @@ -16,6 +17,7 @@ mod manager; pub mod mock; mod session; mod substrate; +pub mod tcp; pub use gossip::{Network as GossipNetwork, Protocol, Service as GossipService}; pub use io::setup as setup_io; @@ -29,13 +31,13 @@ pub use substrate::protocol_name; pub mod testing { use super::manager::LegacyAuthentication; pub use super::{ + clique::mock::MockAddressingInformation, gossip::mock::{MockEvent, MockRawNetwork}, manager::{ Authentication, DataInSession, DiscoveryMessage, LegacyDiscoveryMessage, PeerAuthentications, SessionHandler, VersionedAuthentication, }, }; - use crate::testing::mocks::validator_network::MockAddressingInformation; pub fn legacy_authentication( handler: &SessionHandler, diff --git a/finality-aleph/src/tcp_network.rs b/finality-aleph/src/network/tcp.rs similarity index 96% rename from finality-aleph/src/tcp_network.rs rename to finality-aleph/src/network/tcp.rs index e5a77727de..98346ff3ed 100644 --- a/finality-aleph/src/tcp_network.rs +++ b/finality-aleph/src/network/tcp.rs @@ -11,10 +11,14 @@ use tokio::net::{ use crate::{ crypto::{verify, AuthorityPen, Signature}, - network::{AddressingInformation, NetworkIdentity, PeerId}, - validator_network::{ConnectionInfo, Dialer, Listener, PublicKey, SecretKey, Splittable}, + network::{ + clique::{ConnectionInfo, Dialer, Listener, PublicKey, SecretKey, Splittable}, + AddressingInformation, NetworkIdentity, PeerId, + }, }; +const LOG_TARGET: &str = "tcp-network"; + pub const KEY_TYPE: KeyTypeId = KeyTypeId(*b"a0vn"); impl ConnectionInfo for TcpStream { @@ -62,7 +66,7 @@ impl Listener for TcpListener { async fn accept(&mut self) -> Result { let stream = TcpListener::accept(self).await.map(|(stream, _)| stream)?; if stream.set_linger(None).is_err() { - info!(target: "validator-network", "stream.set_linger(None) failed."); + info!(target: LOG_TARGET, "stream.set_linger(None) failed."); }; Ok(stream) } @@ -269,7 +273,7 @@ impl Dialer for TcpDialer { .collect(); let stream = TcpStream::connect(&parsed_addresses[..]).await?; if stream.set_linger(None).is_err() { - info!(target: "validator-network", "stream.set_linger(None) failed."); + info!(target: LOG_TARGET, "stream.set_linger(None) failed."); }; Ok(stream) } diff --git a/finality-aleph/src/nodes/validator_node.rs b/finality-aleph/src/nodes/validator_node.rs index 81b651b44e..50fb08f597 100644 --- a/finality-aleph/src/nodes/validator_node.rs +++ b/finality-aleph/src/nodes/validator_node.rs @@ -12,7 +12,10 @@ use sp_runtime::traits::Block; use crate::{ crypto::AuthorityPen, network::{ - setup_io, ConnectionManager, ConnectionManagerConfig, GossipService, SessionManager, + clique::Service, + setup_io, + tcp::{new_tcp_network, KEY_TYPE}, + ConnectionManager, ConnectionManagerConfig, GossipService, SessionManager, }, nodes::{setup_justification_handler, JustificationParams}, party::{ @@ -21,8 +24,6 @@ use crate::{ ConsensusParty, ConsensusPartyParams, }, session_map::{AuthorityProviderImpl, FinalityNotificatorImpl, SessionMapUpdater}, - tcp_network::{new_tcp_network, KEY_TYPE}, - validator_network::Service, AlephConfig, BlockchainBackend, }; diff --git a/finality-aleph/src/testing/clique_network.rs b/finality-aleph/src/testing/clique_network.rs new file mode 100644 index 0000000000..a30c840f3e --- /dev/null +++ b/finality-aleph/src/testing/clique_network.rs @@ -0,0 +1,312 @@ +use std::{ + collections::{BTreeMap, HashSet}, + sync::Once, +}; + +use futures::{ + channel::{mpsc, oneshot}, + StreamExt, +}; +use log::info; +use rand::{thread_rng, Rng}; +use sc_service::{SpawnTaskHandle, TaskManager}; +use tokio::{ + runtime::Handle, + time::{error::Elapsed, interval, timeout, Duration}, +}; + +use crate::network::{ + clique::{ + mock::{ + random_keys, Addresses, MockDialer, MockListener, MockPublicKey, MockSecretKey, + UnreliableConnectionMaker, + }, + Network, SecretKey, Service, + }, + mock::MockData, +}; + +pub const LOG_TARGET: &str = "clique-network-test"; + +const TWICE_MAX_DATA_SIZE: usize = 32 * 1024 * 1024; + +#[allow(clippy::too_many_arguments)] +fn spawn_peer( + secret_key: MockSecretKey, + addr: Addresses, + n_msg: usize, + large_message_interval: Option, + corrupted_message_interval: Option, + dialer: MockDialer, + listener: MockListener, + report: mpsc::UnboundedSender<(MockPublicKey, usize)>, + spawn_handle: SpawnTaskHandle, +) { + let our_id = secret_key.public_key(); + let (service, mut interface) = Service::new(dialer, listener, secret_key, spawn_handle); + // run the service + tokio::spawn(async { + let (_exit, rx) = oneshot::channel(); + service.run(rx).await; + }); + // start connecting with the peers + let mut peer_ids = Vec::with_capacity(addr.len()); + for (id, addrs) in addr.into_iter() { + interface.add_connection(id.clone(), addrs); + peer_ids.push(id); + } + // peer main loop + // we send random messages to random peers + // a message is a number in range 0..n_msg + // we also keep a list of messages received at least once + // on receiving a message we report the total number of distinct messages received so far + // the goal is to receive every message at least once + tokio::spawn(async move { + let mut received: HashSet = HashSet::with_capacity(n_msg); + let mut send_ticker = tokio::time::interval(Duration::from_millis(5)); + let mut counter: usize = 0; + loop { + tokio::select! { + _ = send_ticker.tick() => { + counter += 1; + // generate random message + let filler_size = match large_message_interval { + Some(lmi) if counter % lmi == 0 => TWICE_MAX_DATA_SIZE, + _ => 0, + }; + let data = match corrupted_message_interval { + Some(cmi) if counter % cmi == 0 => MockData::new_undecodable(thread_rng().gen_range(0..n_msg) as u32, filler_size), + _ => MockData::new(thread_rng().gen_range(0..n_msg) as u32, filler_size), + }; + // choose a peer + let peer: MockPublicKey = peer_ids[thread_rng().gen_range(0..peer_ids.len())].clone(); + // send + interface.send(data, peer); + }, + data = interface.next() => { + // receive the message + let data: MockData = data.expect("next should not be closed"); + // mark the message as received, we do not care about sender's identity + received.insert(data.data() as usize); + // report the number of received messages + report.unbounded_send((our_id.clone(), received.len())).expect("should send"); + }, + }; + } + }); +} + +/// Takes O(n log n) rounds to finish, where n = n_peers * n_msg. +async fn scenario( + n_peers: usize, + n_msg: usize, + broken_connection_interval: Option, + large_message_interval: Option, + corrupted_message_interval: Option, + status_report_interval: Duration, +) { + // create spawn_handle, we need to keep the task_manager + let task_manager = + TaskManager::new(Handle::current(), None).expect("should create TaskManager"); + let spawn_handle = task_manager.spawn_handle(); + // create peer identities + info!(target: LOG_TARGET, "generating keys..."); + let keys = random_keys(n_peers); + info!(target: LOG_TARGET, "done"); + // prepare and run the manager + let (mut connection_manager, mut callers, addr) = + UnreliableConnectionMaker::new(keys.keys().cloned().collect()); + tokio::spawn(async move { + connection_manager.run(broken_connection_interval).await; + }); + // channel for receiving status updates from spawned peers + let (tx_report, mut rx_report) = mpsc::unbounded::<(MockPublicKey, usize)>(); + let mut reports: BTreeMap = + keys.keys().cloned().map(|id| (id, 0)).collect(); + // spawn peers + for (id, secret_key) in keys.into_iter() { + let mut addr = addr.clone(); + // do not connect with itself + addr.remove(&secret_key.public_key()); + let (dialer, listener) = callers.remove(&id).expect("should contain all ids"); + spawn_peer( + secret_key, + addr, + n_msg, + large_message_interval, + corrupted_message_interval, + dialer, + listener, + tx_report.clone(), + spawn_handle.clone(), + ); + } + let mut status_ticker = interval(status_report_interval); + loop { + tokio::select! { + maybe_report = rx_report.next() => match maybe_report { + Some((peer_id, peer_n_msg)) => { + reports.insert(peer_id, peer_n_msg); + if reports.values().all(|&x| x == n_msg) { + info!(target: LOG_TARGET, "Peers received {:?} messages out of {}, finishing.", reports.values(), n_msg); + return; + } + }, + None => panic!("should receive"), + }, + _ = status_ticker.tick() => { + info!(target: LOG_TARGET, "Peers received {:?} messages out of {}.", reports.values(), n_msg); + } + }; + } +} + +/// Takes O(n log n) rounds to finish, where n = n_peers * n_msg. +async fn scenario_with_timeout( + n_peers: usize, + n_msg: usize, + broken_connection_interval: Option, + large_message_interval: Option, + corrupted_message_interval: Option, + status_report_interval: Duration, + scenario_timeout: Duration, +) -> Result<(), Elapsed> { + timeout( + scenario_timeout, + scenario( + n_peers, + n_msg, + broken_connection_interval, + large_message_interval, + corrupted_message_interval, + status_report_interval, + ), + ) + .await +} + +static INIT: Once = Once::new(); + +/// Required to capture logs from the tests e.g. by running +/// `RUST_LOG=info cargo test -- --nocapture testing::clique_network` +fn setup() { + // env_logger::init can be called at most once + INIT.call_once(|| { + env_logger::init(); + }); +} + +#[tokio::test(flavor = "multi_thread")] +async fn normal_conditions() { + setup(); + let n_peers: usize = 10; + let n_msg: usize = 30; + let broken_connection_interval: Option = None; + let large_message_interval: Option = None; + let corrupted_message_interval: Option = None; + let status_report_interval: Duration = Duration::from_secs(1); + let timeout: Duration = Duration::from_secs(300); + scenario_with_timeout( + n_peers, + n_msg, + broken_connection_interval, + large_message_interval, + corrupted_message_interval, + status_report_interval, + timeout, + ) + .await + .expect("timeout"); +} + +#[tokio::test(flavor = "multi_thread")] +async fn connections_break() { + setup(); + let n_peers: usize = 10; + let n_msg: usize = 30; + let broken_connection_interval: Option = Some(10); + let large_message_interval: Option = None; + let corrupted_message_interval: Option = None; + let status_report_interval: Duration = Duration::from_secs(1); + let timeout: Duration = Duration::from_secs(300); + scenario_with_timeout( + n_peers, + n_msg, + broken_connection_interval, + large_message_interval, + corrupted_message_interval, + status_report_interval, + timeout, + ) + .await + .expect("timeout"); +} + +#[tokio::test(flavor = "multi_thread")] +async fn large_messages_being_sent() { + setup(); + let n_peers: usize = 10; + let n_msg: usize = 30; + let broken_connection_interval: Option = None; + let large_message_interval: Option = Some(10); + let corrupted_message_interval: Option = None; + let status_report_interval: Duration = Duration::from_secs(1); + let timeout: Duration = Duration::from_secs(300); + scenario_with_timeout( + n_peers, + n_msg, + broken_connection_interval, + large_message_interval, + corrupted_message_interval, + status_report_interval, + timeout, + ) + .await + .expect("timeout"); +} + +#[tokio::test(flavor = "multi_thread")] +async fn corrupted_messages_being_sent() { + setup(); + let n_peers: usize = 10; + let n_msg: usize = 30; + let broken_connection_interval: Option = None; + let large_message_interval: Option = None; + let corrupted_message_interval: Option = Some(10); + let status_report_interval: Duration = Duration::from_secs(1); + let timeout: Duration = Duration::from_secs(300); + scenario_with_timeout( + n_peers, + n_msg, + broken_connection_interval, + large_message_interval, + corrupted_message_interval, + status_report_interval, + timeout, + ) + .await + .expect("timeout"); +} + +#[tokio::test(flavor = "multi_thread")] +async fn everything_fails_all_the_time() { + setup(); + let n_peers: usize = 3; + let n_msg: usize = 10; + let broken_connection_interval: Option = Some(5); + let large_message_interval: Option = Some(7); + let corrupted_message_interval: Option = Some(8); + let status_report_interval: Duration = Duration::from_secs(1); + let timeout: Duration = Duration::from_secs(600); + scenario_with_timeout( + n_peers, + n_msg, + broken_connection_interval, + large_message_interval, + corrupted_message_interval, + status_report_interval, + timeout, + ) + .await + .expect("timeout"); +} diff --git a/finality-aleph/src/testing/mocks/mod.rs b/finality-aleph/src/testing/mocks/mod.rs index dee1ad4e89..fdd4d2a098 100644 --- a/finality-aleph/src/testing/mocks/mod.rs +++ b/finality-aleph/src/testing/mocks/mod.rs @@ -21,4 +21,3 @@ mod justification_handler_config; mod proposal; mod session_info; mod single_action_mock; -pub mod validator_network; diff --git a/finality-aleph/src/testing/mod.rs b/finality-aleph/src/testing/mod.rs index 2c5cc9680d..a247ab5ca1 100644 --- a/finality-aleph/src/testing/mod.rs +++ b/finality-aleph/src/testing/mod.rs @@ -1,6 +1,6 @@ pub mod client_chain_builder; +mod clique_network; mod data_store; mod justification; pub mod mocks; mod network; -mod validator_network; diff --git a/finality-aleph/src/testing/network.rs b/finality-aleph/src/testing/network.rs index 9c2c1bea0c..07806ef495 100644 --- a/finality-aleph/src/testing/network.rs +++ b/finality-aleph/src/testing/network.rs @@ -12,6 +12,10 @@ use tokio::{runtime::Handle, task::JoinHandle, time::timeout}; use crate::{ crypto::{AuthorityPen, AuthorityVerifier}, network::{ + clique::mock::{ + key, random_address_from, MockAddressingInformation, MockNetwork as MockCliqueNetwork, + MockPublicKey, + }, data::Network, mock::{crypto_basics, MockData}, setup_io, @@ -22,10 +26,6 @@ use crate::{ AddressingInformation, ConnectionManager, ConnectionManagerConfig, GossipService, NetworkIdentity, Protocol, SessionManager, }, - testing::mocks::validator_network::{ - random_address_from, MockAddressingInformation, MockNetwork as MockValidatorNetwork, - }, - validator_network::mock::{key, MockPublicKey}, MillisecsPerBlock, NodeIndex, Recipient, SessionId, SessionPeriod, }; @@ -74,7 +74,7 @@ struct TestData { pub authority_verifier: AuthorityVerifier, pub session_manager: SessionManager, pub network: MockRawNetwork, - pub validator_network: MockValidatorNetwork>, + pub validator_network: MockCliqueNetwork>, network_manager_exit_tx: oneshot::Sender<()>, gossip_service_exit_tx: oneshot::Sender<()>, network_manager_handle: JoinHandle<()>, @@ -103,7 +103,7 @@ async fn prepare_one_session_test_data() -> TestData { let (network_manager_exit_tx, network_manager_exit_rx) = oneshot::channel(); let (gossip_service_exit_tx, gossip_service_exit_rx) = oneshot::channel(); let network = MockRawNetwork::new(event_stream_tx); - let validator_network = MockValidatorNetwork::new(); + let validator_network = MockCliqueNetwork::new(); let (gossip_service, gossip_network) = GossipService::new(network.clone(), task_manager.spawn_handle()); @@ -414,7 +414,7 @@ async fn test_connects_to_others() { let mut test_data = prepare_one_session_test_data().await; let mut data_network = test_data.start_session(session_id).await; - let data = vec![1, 2, 3]; + let data = MockData::new(43, 3); test_data.validator_network.next.send(DataInSession { data: data.clone(), session_id: SessionId(session_id), @@ -439,7 +439,7 @@ async fn test_connects_to_others_early_validator() { let mut data_network = test_data.start_validator_session(0, session_id).await; - let data = vec![1, 2, 3]; + let data = MockData::new(43, 3); test_data.validator_network.next.send(DataInSession { data: data.clone(), session_id: SessionId(session_id), @@ -497,10 +497,10 @@ async fn test_receives_data_in_correct_session() { let mut data_network_2 = test_data.start_session(session_id_2).await; - let data_1_1 = vec![1, 2, 3]; - let data_1_2 = vec![4, 5, 6]; - let data_2_1 = vec![7, 8, 9]; - let data_2_2 = vec![10, 11, 12]; + let data_1_1 = MockData::new(43, 3); + let data_1_2 = MockData::new(44, 3); + let data_2_1 = MockData::new(45, 3); + let data_2_2 = MockData::new(46, 3); test_data.validator_network.next.send(DataInSession { data: data_1_1.clone(), session_id: SessionId(session_id_1), @@ -558,8 +558,8 @@ async fn test_sends_data_to_correct_session() { let mut expected_data = HashSet::new(); for node_id in 1..NODES_N { - let data_1 = vec![2 * node_id as u8 - 1]; - let data_2 = vec![2 * node_id as u8]; + let data_1 = MockData::new((node_id - 1) as u32, 1); + let data_2 = MockData::new(node_id as u32, 1); expected_data.insert(( data_1.clone(), @@ -610,8 +610,8 @@ async fn test_broadcasts_data_to_correct_session() { let mut data_network_1 = test_data.start_session(session_id_1).await; let mut data_network_2 = test_data.start_session(session_id_2).await; - let data_1 = vec![1, 2, 3]; - let data_2 = vec![4, 5, 6]; + let data_1 = MockData::new(43, 3); + let data_2 = MockData::new(44, 3); data_network_1 .send(data_1.clone(), Recipient::Everyone) .expect("Should send"); diff --git a/finality-aleph/src/testing/validator_network.rs b/finality-aleph/src/testing/validator_network.rs deleted file mode 100644 index 68a8dcfdca..0000000000 --- a/finality-aleph/src/testing/validator_network.rs +++ /dev/null @@ -1,131 +0,0 @@ -use std::sync::Once; - -use tokio::time::Duration; - -use crate::testing::mocks::validator_network::scenario_with_timeout; - -static INIT: Once = Once::new(); - -/// Required to capture logs from the tests e.g. by running -/// `RUST_LOG=info cargo test -- --nocapture testing::validator_network` -fn setup() { - // env_logger::init can be called at most once - INIT.call_once(|| { - env_logger::init(); - }); -} - -#[tokio::test(flavor = "multi_thread")] -async fn normal_conditions() { - setup(); - let n_peers: usize = 10; - let n_msg: usize = 30; - let broken_connection_interval: Option = None; - let large_message_interval: Option = None; - let corrupted_message_interval: Option = None; - let status_report_interval: Duration = Duration::from_secs(1); - let timeout: Duration = Duration::from_secs(300); - scenario_with_timeout( - n_peers, - n_msg, - broken_connection_interval, - large_message_interval, - corrupted_message_interval, - status_report_interval, - timeout, - ) - .await - .expect("timeout"); -} - -#[tokio::test(flavor = "multi_thread")] -async fn connections_break() { - setup(); - let n_peers: usize = 10; - let n_msg: usize = 30; - let broken_connection_interval: Option = Some(10); - let large_message_interval: Option = None; - let corrupted_message_interval: Option = None; - let status_report_interval: Duration = Duration::from_secs(1); - let timeout: Duration = Duration::from_secs(300); - scenario_with_timeout( - n_peers, - n_msg, - broken_connection_interval, - large_message_interval, - corrupted_message_interval, - status_report_interval, - timeout, - ) - .await - .expect("timeout"); -} - -#[tokio::test(flavor = "multi_thread")] -async fn large_messages_being_sent() { - setup(); - let n_peers: usize = 10; - let n_msg: usize = 30; - let broken_connection_interval: Option = None; - let large_message_interval: Option = Some(10); - let corrupted_message_interval: Option = None; - let status_report_interval: Duration = Duration::from_secs(1); - let timeout: Duration = Duration::from_secs(300); - scenario_with_timeout( - n_peers, - n_msg, - broken_connection_interval, - large_message_interval, - corrupted_message_interval, - status_report_interval, - timeout, - ) - .await - .expect("timeout"); -} - -#[tokio::test(flavor = "multi_thread")] -async fn corrupted_messages_being_sent() { - setup(); - let n_peers: usize = 10; - let n_msg: usize = 30; - let broken_connection_interval: Option = None; - let large_message_interval: Option = None; - let corrupted_message_interval: Option = Some(10); - let status_report_interval: Duration = Duration::from_secs(1); - let timeout: Duration = Duration::from_secs(300); - scenario_with_timeout( - n_peers, - n_msg, - broken_connection_interval, - large_message_interval, - corrupted_message_interval, - status_report_interval, - timeout, - ) - .await - .expect("timeout"); -} - -#[tokio::test(flavor = "multi_thread")] -async fn everything_fails_all_the_time() { - setup(); - let n_peers: usize = 3; - let n_msg: usize = 10; - let broken_connection_interval: Option = Some(5); - let large_message_interval: Option = Some(7); - let corrupted_message_interval: Option = Some(8); - let status_report_interval: Duration = Duration::from_secs(1); - let timeout: Duration = Duration::from_secs(600); - scenario_with_timeout( - n_peers, - n_msg, - broken_connection_interval, - large_message_interval, - corrupted_message_interval, - status_report_interval, - timeout, - ) - .await - .expect("timeout"); -} diff --git a/finality-aleph/src/validator_network/mock.rs b/finality-aleph/src/validator_network/mock.rs deleted file mode 100644 index 37858f5858..0000000000 --- a/finality-aleph/src/validator_network/mock.rs +++ /dev/null @@ -1,155 +0,0 @@ -use std::{ - collections::HashMap, - fmt::{Display, Error as FmtError, Formatter}, - io::Result as IoResult, - pin::Pin, - task::{Context, Poll}, -}; - -use codec::{Decode, Encode}; -use tokio::io::{duplex, AsyncRead, AsyncWrite, DuplexStream, ReadBuf}; - -use crate::{ - network::PeerId, - validator_network::{ConnectionInfo, PeerAddressInfo, PublicKey, SecretKey, Splittable}, -}; - -/// A mock secret key that is able to sign messages. -#[derive(Debug, PartialEq, Eq, Clone, Hash)] -pub struct MockSecretKey([u8; 4]); - -/// A mock public key for verifying signatures. -#[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Clone, Hash, Encode, Decode)] -pub struct MockPublicKey([u8; 4]); - -impl Display for MockPublicKey { - fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), FmtError> { - write!(f, "PublicKey({:?})", self.0) - } -} - -impl AsRef<[u8]> for MockPublicKey { - fn as_ref(&self) -> &[u8] { - self.0.as_ref() - } -} - -/// A mock signature, able to discern whether the correct key has been used to sign a specific -/// message. -#[derive(Debug, PartialEq, Eq, Clone, Hash, Encode, Decode)] -pub struct MockSignature { - message: Vec, - key_id: [u8; 4], -} - -impl PublicKey for MockPublicKey { - type Signature = MockSignature; - - fn verify(&self, message: &[u8], signature: &Self::Signature) -> bool { - (message == signature.message.as_slice()) && (self.0 == signature.key_id) - } -} - -impl PeerId for MockPublicKey {} - -#[async_trait::async_trait] -impl SecretKey for MockSecretKey { - type Signature = MockSignature; - type PublicKey = MockPublicKey; - - async fn sign(&self, message: &[u8]) -> Self::Signature { - MockSignature { - message: message.to_vec(), - key_id: self.0, - } - } - - fn public_key(&self) -> Self::PublicKey { - MockPublicKey(self.0) - } -} - -/// Create a random key pair. -pub fn key() -> (MockPublicKey, MockSecretKey) { - let secret_key = MockSecretKey(rand::random()); - (secret_key.public_key(), secret_key) -} - -/// Create a HashMap with public keys as keys and secret keys as values. -pub fn random_keys(n_peers: usize) -> HashMap { - let mut result = HashMap::with_capacity(n_peers); - while result.len() < n_peers { - let (pk, sk) = key(); - result.insert(pk, sk); - } - result -} - -/// A mock that can be split into two streams. -pub struct MockSplittable { - incoming_data: DuplexStream, - outgoing_data: DuplexStream, -} - -impl MockSplittable { - /// Create a pair of mock splittables connected to each other. - pub fn new(max_buf_size: usize) -> (Self, Self) { - let (in_a, out_b) = duplex(max_buf_size); - let (in_b, out_a) = duplex(max_buf_size); - ( - MockSplittable { - incoming_data: in_a, - outgoing_data: out_a, - }, - MockSplittable { - incoming_data: in_b, - outgoing_data: out_b, - }, - ) - } -} - -impl AsyncRead for MockSplittable { - fn poll_read( - self: Pin<&mut Self>, - cx: &mut Context<'_>, - buf: &mut ReadBuf<'_>, - ) -> Poll> { - Pin::new(&mut self.get_mut().incoming_data).poll_read(cx, buf) - } -} - -impl AsyncWrite for MockSplittable { - fn poll_write(self: Pin<&mut Self>, cx: &mut Context<'_>, buf: &[u8]) -> Poll> { - Pin::new(&mut self.get_mut().outgoing_data).poll_write(cx, buf) - } - - fn poll_flush(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll> { - Pin::new(&mut self.get_mut().outgoing_data).poll_flush(cx) - } - - fn poll_shutdown(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll> { - Pin::new(&mut self.get_mut().outgoing_data).poll_shutdown(cx) - } -} - -impl ConnectionInfo for MockSplittable { - fn peer_address_info(&self) -> PeerAddressInfo { - String::from("MOCK_ADDRESS") - } -} - -impl ConnectionInfo for DuplexStream { - fn peer_address_info(&self) -> PeerAddressInfo { - String::from("MOCK_ADDRESS") - } -} - -impl Splittable for MockSplittable { - type Sender = DuplexStream; - type Receiver = DuplexStream; - - fn split(self) -> (Self::Sender, Self::Receiver) { - (self.outgoing_data, self.incoming_data) - } -} diff --git a/scripts/run_nodes.sh b/scripts/run_nodes.sh index f7885ea417..ac3e9d94f0 100755 --- a/scripts/run_nodes.sh +++ b/scripts/run_nodes.sh @@ -101,7 +101,7 @@ run_node() { --validator-port ${validator_port} \ -laleph-party=debug \ -laleph-network=debug \ - -lvalidator-network=debug \ + -lclique-network=debug \ -laleph-finality=debug \ -laleph-justification=debug \ -laleph-data-store=debug \ From 95c40fb64bfb741266cf2a424554cc454658befa Mon Sep 17 00:00:00 2001 From: timorl Date: Mon, 19 Dec 2022 15:10:01 +0100 Subject: [PATCH 047/212] A0-1576: Improve network manager interface (#815) * Improve network manager interface * Two hard problems in CS Co-authored-by: timorl --- finality-aleph/src/network/io.rs | 40 -- finality-aleph/src/network/manager/mod.rs | 139 ----- finality-aleph/src/network/mod.rs | 59 +- finality-aleph/src/network/session.rs | 143 ----- .../{manager => session}/compatibility.rs | 4 +- .../{manager => session}/connections.rs | 0 finality-aleph/src/network/session/data.rs | 34 ++ .../network/{manager => session}/discovery.rs | 8 +- .../session.rs => session/handler.rs} | 32 +- .../service.rs => session/manager.rs} | 556 +++++------------- finality-aleph/src/network/session/mod.rs | 178 ++++++ finality-aleph/src/network/session/service.rs | 410 +++++++++++++ .../network/{manager => session}/testing.rs | 0 finality-aleph/src/nodes/validator_node.rs | 16 +- finality-aleph/src/party/manager/mod.rs | 52 +- finality-aleph/src/party/mocks.rs | 12 +- finality-aleph/src/party/mod.rs | 11 +- finality-aleph/src/party/traits.rs | 5 +- finality-aleph/src/testing/network.rs | 60 +- 19 files changed, 872 insertions(+), 887 deletions(-) delete mode 100644 finality-aleph/src/network/io.rs delete mode 100644 finality-aleph/src/network/manager/mod.rs delete mode 100644 finality-aleph/src/network/session.rs rename finality-aleph/src/network/{manager => session}/compatibility.rs (99%) rename finality-aleph/src/network/{manager => session}/connections.rs (100%) create mode 100644 finality-aleph/src/network/session/data.rs rename finality-aleph/src/network/{manager => session}/discovery.rs (98%) rename finality-aleph/src/network/{manager/session.rs => session/handler.rs} (95%) rename finality-aleph/src/network/{manager/service.rs => session/manager.rs} (50%) create mode 100644 finality-aleph/src/network/session/mod.rs create mode 100644 finality-aleph/src/network/session/service.rs rename finality-aleph/src/network/{manager => session}/testing.rs (100%) diff --git a/finality-aleph/src/network/io.rs b/finality-aleph/src/network/io.rs deleted file mode 100644 index d86b6b3bfe..0000000000 --- a/finality-aleph/src/network/io.rs +++ /dev/null @@ -1,40 +0,0 @@ -use std::fmt::Debug; - -use futures::channel::mpsc; - -use crate::network::{ - clique::{Network as CliqueNetwork, PublicKey}, - manager::{DataInSession, VersionedAuthentication}, - AddressingInformation, ConnectionManagerIO, Data, GossipNetwork, SessionManagerIO, -}; - -type FullIO = (ConnectionManagerIO, SessionManagerIO); - -pub fn setup< - D: Data, - M: Data + Debug, - A: AddressingInformation + TryFrom> + Into>, - CN: CliqueNetwork>, - GN: GossipNetwork>, ->( - validator_network: CN, - gossip_network: GN, -) -> FullIO -where - A::PeerId: PublicKey, -{ - // Prepare and start the network - let (commands_for_service, commands_from_user) = mpsc::unbounded(); - let (messages_for_service, commands_from_manager) = mpsc::unbounded(); - - let connection_io = ConnectionManagerIO::new( - commands_from_user, - commands_from_manager, - validator_network, - gossip_network, - ); - let channels_for_session_manager = - SessionManagerIO::new(commands_for_service, messages_for_service); - - (connection_io, channels_for_session_manager) -} diff --git a/finality-aleph/src/network/manager/mod.rs b/finality-aleph/src/network/manager/mod.rs deleted file mode 100644 index ad79ae7bc8..0000000000 --- a/finality-aleph/src/network/manager/mod.rs +++ /dev/null @@ -1,139 +0,0 @@ -use codec::{Decode, Encode, Error, Input, Output}; - -use crate::{ - crypto::Signature, - network::{AddressingInformation, Data}, - NodeIndex, SessionId, -}; - -mod compatibility; -mod connections; -mod discovery; -mod service; -mod session; - -pub use compatibility::{ - DiscoveryMessage, LegacyDiscoveryMessage, PeerAuthentications, VersionedAuthentication, -}; -use connections::Connections; -pub use discovery::Discovery; -pub use service::{ - Config as ConnectionManagerConfig, Service as ConnectionManager, SessionCommand, - IO as ConnectionIO, -}; -pub use session::{Handler as SessionHandler, HandlerError as SessionHandlerError}; - -/// Data validators used to use to authenticate themselves for a single session -/// and disseminate their addresses. -#[derive(Clone, Debug, PartialEq, Eq, Hash, Encode, Decode)] -pub struct LegacyAuthData { - addresses: Vec, - node_id: NodeIndex, - session_id: SessionId, -} - -impl LegacyAuthData { - pub fn session(&self) -> SessionId { - self.session_id - } - - pub fn creator(&self) -> NodeIndex { - self.node_id - } -} - -/// Data validators use to authenticate themselves for a single session -/// and disseminate their addresses. -#[derive(Clone, Debug, PartialEq, Eq, Hash, Encode, Decode)] -pub struct AuthData { - address: A, - node_id: NodeIndex, - session_id: SessionId, -} - -impl AuthData { - pub fn session(&self) -> SessionId { - self.session_id - } - - pub fn creator(&self) -> NodeIndex { - self.node_id - } - - pub fn address(&self) -> A { - self.address.clone() - } -} - -impl>> From> for LegacyAuthData { - fn from(auth_data: AuthData) -> Self { - let AuthData { - address, - node_id, - session_id, - } = auth_data; - let addresses = address.into(); - LegacyAuthData { - addresses, - node_id, - session_id, - } - } -} - -impl>> TryFrom> - for AuthData -{ - type Error = (); - - fn try_from(legacy_auth_data: LegacyAuthData) -> Result { - let LegacyAuthData { - addresses, - node_id, - session_id, - } = legacy_auth_data; - let address = addresses.try_into().map_err(|_| ())?; - Ok(AuthData { - address, - node_id, - session_id, - }) - } -} - -/// A full legacy authentication, consisting of a signed LegacyAuthData. -pub type LegacyAuthentication = (LegacyAuthData, Signature); - -/// A full authentication, consisting of a signed AuthData. -pub type Authentication = (AuthData, Signature); - -/// Data inside session, sent to validator network. -/// Wrapper for data send over network. We need it to ensure compatibility. -/// The order of the data and session_id is fixed in encode and the decode expects it to be data, session_id. -/// Since data is versioned, i.e. it's encoding starts with a version number in the standardized way, -/// this will allow us to retrofit versioning here if we ever need to change this structure. -#[derive(Clone, Debug, PartialEq, Eq)] -pub struct DataInSession { - pub data: D, - pub session_id: SessionId, -} - -impl Decode for DataInSession { - fn decode(input: &mut I) -> Result { - let data = D::decode(input)?; - let session_id = SessionId::decode(input)?; - - Ok(Self { data, session_id }) - } -} - -impl Encode for DataInSession { - fn size_hint(&self) -> usize { - self.data.size_hint() + self.session_id.size_hint() - } - - fn encode_to(&self, dest: &mut T) { - self.data.encode_to(dest); - self.session_id.encode_to(dest); - } -} diff --git a/finality-aleph/src/network/mod.rs b/finality-aleph/src/network/mod.rs index 6111f2e4b7..35945465ed 100644 --- a/finality-aleph/src/network/mod.rs +++ b/finality-aleph/src/network/mod.rs @@ -1,5 +1,4 @@ use std::{ - collections::HashSet, fmt::{Debug, Display}, hash::Hash, }; @@ -11,58 +10,16 @@ use sp_runtime::traits::Block; pub mod clique; pub mod data; mod gossip; -mod io; -mod manager; #[cfg(test)] pub mod mock; -mod session; +pub mod session; mod substrate; pub mod tcp; +#[cfg(test)] +pub use gossip::mock::{MockEvent, MockRawNetwork}; pub use gossip::{Network as GossipNetwork, Protocol, Service as GossipService}; -pub use io::setup as setup_io; -use manager::SessionCommand; -pub use manager::{ - ConnectionIO as ConnectionManagerIO, ConnectionManager, ConnectionManagerConfig, -}; -pub use session::{Manager as SessionManager, ManagerError, SessionSender, IO as SessionManagerIO}; pub use substrate::protocol_name; -#[cfg(test)] -pub mod testing { - use super::manager::LegacyAuthentication; - pub use super::{ - clique::mock::MockAddressingInformation, - gossip::mock::{MockEvent, MockRawNetwork}, - manager::{ - Authentication, DataInSession, DiscoveryMessage, LegacyDiscoveryMessage, - PeerAuthentications, SessionHandler, VersionedAuthentication, - }, - }; - - pub fn legacy_authentication( - handler: &SessionHandler, - ) -> LegacyAuthentication { - match handler - .authentication() - .expect("this is a validator handler") - { - PeerAuthentications::Both(_, authentication) => authentication, - _ => panic!("handler doesn't have both authentications"), - } - } - - pub fn authentication( - handler: &SessionHandler, - ) -> Authentication { - match handler - .authentication() - .expect("this is a validator handler") - { - PeerAuthentications::Both(authentication, _) => authentication, - _ => panic!("handler doesn't have both authentications"), - } - } -} /// Represents the id of an arbitrary node. pub trait PeerId: PartialEq + Eq + Clone + Debug + Display + Hash + Codec + Send { @@ -121,17 +78,7 @@ pub trait RequestBlocks: Clone + Send + Sync + 'static { fn is_major_syncing(&self) -> bool; } -/// Commands for manipulating the reserved peers set. -#[derive(Debug, PartialEq, Eq)] -pub enum ConnectionCommand { - AddReserved(HashSet), - DelReserved(HashSet), -} - /// A basic alias for properties we expect basic data to satisfy. pub trait Data: Clone + Codec + Send + Sync + 'static {} impl Data for D {} - -// In practice D: Data and P: PeerId, but we cannot require that in type aliases. -type AddressedData = (D, P); diff --git a/finality-aleph/src/network/session.rs b/finality-aleph/src/network/session.rs deleted file mode 100644 index 9b91ef77bd..0000000000 --- a/finality-aleph/src/network/session.rs +++ /dev/null @@ -1,143 +0,0 @@ -use futures::channel::{mpsc, oneshot}; - -use crate::{ - abft::Recipient, - crypto::{AuthorityPen, AuthorityVerifier}, - network::{ - data::{ - component::{Sender, SimpleNetwork}, - SendError, - }, - Data, SessionCommand, - }, - NodeIndex, SessionId, -}; - -/// Sends data within a single session. -#[derive(Clone)] -pub struct SessionSender { - session_id: SessionId, - messages_for_network: mpsc::UnboundedSender<(D, SessionId, Recipient)>, -} - -impl Sender for SessionSender { - fn send(&self, data: D, recipient: Recipient) -> Result<(), SendError> { - self.messages_for_network - .unbounded_send((data, self.session_id, recipient)) - .map_err(|_| SendError::SendFailed) - } -} - -/// Sends and receives data within a single session. -type Network = SimpleNetwork, SessionSender>; - -/// Manages sessions for which the network should be active. -pub struct Manager { - commands_for_service: mpsc::UnboundedSender>, - messages_for_service: mpsc::UnboundedSender<(D, SessionId, Recipient)>, -} - -/// What went wrong during a session management operation. -#[derive(Debug)] -pub enum ManagerError { - CommandSendFailed, - NetworkReceiveFailed, -} - -pub struct IO { - pub commands_for_service: mpsc::UnboundedSender>, - pub messages_for_service: mpsc::UnboundedSender<(D, SessionId, Recipient)>, -} - -impl IO { - pub fn new( - commands_for_service: mpsc::UnboundedSender>, - messages_for_service: mpsc::UnboundedSender<(D, SessionId, Recipient)>, - ) -> Self { - IO { - commands_for_service, - messages_for_service, - } - } -} - -impl Manager { - /// Create a new manager with the given channels to the service. - pub fn new(io: IO) -> Self { - Manager { - commands_for_service: io.commands_for_service, - messages_for_service: io.messages_for_service, - } - } - - /// Start participating or update the verifier in the given session where you are not a - /// validator. - pub fn start_nonvalidator_session( - &self, - session_id: SessionId, - verifier: AuthorityVerifier, - ) -> Result<(), ManagerError> { - self.commands_for_service - .unbounded_send(SessionCommand::StartNonvalidator(session_id, verifier)) - .map_err(|_| ManagerError::CommandSendFailed) - } - - /// Start participating or update the information about the given session where you are a - /// validator. Returns a session network to be used for sending and receiving data within the - /// session. - pub async fn start_validator_session( - &self, - session_id: SessionId, - verifier: AuthorityVerifier, - node_id: NodeIndex, - pen: AuthorityPen, - ) -> Result, ManagerError> { - let (result_for_us, result_from_service) = oneshot::channel(); - self.commands_for_service - .unbounded_send(SessionCommand::StartValidator( - session_id, - verifier, - node_id, - pen, - Some(result_for_us), - )) - .map_err(|_| ManagerError::CommandSendFailed)?; - - let data_from_network = result_from_service - .await - .map_err(|_| ManagerError::NetworkReceiveFailed)?; - let messages_for_network = self.messages_for_service.clone(); - - Ok(Network::new( - data_from_network, - SessionSender { - session_id, - messages_for_network, - }, - )) - } - - /// Start participating or update the information about the given session where you are a - /// validator. Used for early starts when you don't yet need the returned network, but would - /// like to start discovery. - pub fn early_start_validator_session( - &self, - session_id: SessionId, - verifier: AuthorityVerifier, - node_id: NodeIndex, - pen: AuthorityPen, - ) -> Result<(), ManagerError> { - self.commands_for_service - .unbounded_send(SessionCommand::StartValidator( - session_id, verifier, node_id, pen, None, - )) - .map_err(|_| ManagerError::CommandSendFailed) - } - - /// Stop participating in the given session. - pub fn stop_session(&self, session_id: SessionId) -> Result<(), ManagerError> { - self.commands_for_service - .unbounded_send(SessionCommand::Stop(session_id)) - .map_err(|_| ManagerError::CommandSendFailed) - } -} diff --git a/finality-aleph/src/network/manager/compatibility.rs b/finality-aleph/src/network/session/compatibility.rs similarity index 99% rename from finality-aleph/src/network/manager/compatibility.rs rename to finality-aleph/src/network/session/compatibility.rs index bb368716c8..146341bb51 100644 --- a/finality-aleph/src/network/manager/compatibility.rs +++ b/finality-aleph/src/network/session/compatibility.rs @@ -8,7 +8,7 @@ use log::warn; use crate::{ network::{ - manager::{AuthData, Authentication, LegacyAuthentication}, + session::{AuthData, Authentication, LegacyAuthentication}, AddressingInformation, Data, }, SessionId, Version, @@ -253,7 +253,7 @@ mod test { crypto::AuthorityVerifier, network::{ clique::mock::MockAddressingInformation, - manager::{ + session::{ compatibility::{PeerAuthentications, MAX_AUTHENTICATION_SIZE}, LegacyDiscoveryMessage, SessionHandler, }, diff --git a/finality-aleph/src/network/manager/connections.rs b/finality-aleph/src/network/session/connections.rs similarity index 100% rename from finality-aleph/src/network/manager/connections.rs rename to finality-aleph/src/network/session/connections.rs diff --git a/finality-aleph/src/network/session/data.rs b/finality-aleph/src/network/session/data.rs new file mode 100644 index 0000000000..db7cf5f672 --- /dev/null +++ b/finality-aleph/src/network/session/data.rs @@ -0,0 +1,34 @@ +use codec::{Decode, Encode, Error, Input, Output}; + +use crate::{network::Data, SessionId}; + +/// Data inside session, sent to validator network. +/// Wrapper for data send over network. We need it to ensure compatibility. +/// The order of the data and session_id is fixed in encode and the decode expects it to be data, session_id. +/// Since data is versioned, i.e. it's encoding starts with a version number in the standardized way, +/// this will allow us to retrofit versioning here if we ever need to change this structure. +#[derive(Clone, Debug, PartialEq, Eq)] +pub struct DataInSession { + pub data: D, + pub session_id: SessionId, +} + +impl Decode for DataInSession { + fn decode(input: &mut I) -> Result { + let data = D::decode(input)?; + let session_id = SessionId::decode(input)?; + + Ok(Self { data, session_id }) + } +} + +impl Encode for DataInSession { + fn size_hint(&self) -> usize { + self.data.size_hint() + self.session_id.size_hint() + } + + fn encode_to(&self, dest: &mut T) { + self.data.encode_to(dest); + self.session_id.encode_to(dest); + } +} diff --git a/finality-aleph/src/network/manager/discovery.rs b/finality-aleph/src/network/session/discovery.rs similarity index 98% rename from finality-aleph/src/network/manager/discovery.rs rename to finality-aleph/src/network/session/discovery.rs index 4e36513b69..e64e1a030c 100644 --- a/finality-aleph/src/network/manager/discovery.rs +++ b/finality-aleph/src/network/session/discovery.rs @@ -9,7 +9,7 @@ use log::{debug, info, trace}; use crate::{ network::{ - manager::{ + session::{ compatibility::PeerAuthentications, Authentication, LegacyAuthentication, SessionHandler, }, @@ -123,9 +123,11 @@ mod tests { use crate::{ network::{ clique::mock::{random_address, MockAddressingInformation}, - manager::{compatibility::PeerAuthentications, SessionHandler}, mock::crypto_basics, - testing::{authentication, legacy_authentication}, + session::{ + authentication, compatibility::PeerAuthentications, legacy_authentication, + SessionHandler, + }, }, SessionId, }; diff --git a/finality-aleph/src/network/manager/session.rs b/finality-aleph/src/network/session/handler.rs similarity index 95% rename from finality-aleph/src/network/manager/session.rs rename to finality-aleph/src/network/session/handler.rs index 009786f946..797fe073d6 100644 --- a/finality-aleph/src/network/manager/session.rs +++ b/finality-aleph/src/network/session/handler.rs @@ -6,7 +6,7 @@ use crate::{ abft::NodeCount, crypto::{AuthorityPen, AuthorityVerifier}, network::{ - manager::{ + session::{ compatibility::PeerAuthentications, AuthData, Authentication, LegacyAuthData, LegacyAuthentication, }, @@ -269,18 +269,42 @@ impl> + Into>> Handler } #[cfg(test)] -mod tests { +pub mod tests { use super::{Handler, HandlerError}; use crate::{ network::{ - clique::mock::{random_address, random_invalid_address}, + clique::mock::{random_address, random_invalid_address, MockAddressingInformation}, mock::crypto_basics, - testing::{authentication, legacy_authentication}, + session::{compatibility::PeerAuthentications, Authentication, LegacyAuthentication}, AddressingInformation, }, NodeIndex, SessionId, }; + pub fn legacy_authentication( + handler: &Handler, + ) -> LegacyAuthentication { + match handler + .authentication() + .expect("this is a validator handler") + { + PeerAuthentications::Both(_, authentication) => authentication, + _ => panic!("handler doesn't have both authentications"), + } + } + + pub fn authentication( + handler: &Handler, + ) -> Authentication { + match handler + .authentication() + .expect("this is a validator handler") + { + PeerAuthentications::Both(authentication, _) => authentication, + _ => panic!("handler doesn't have both authentications"), + } + } + const NUM_NODES: usize = 7; #[tokio::test] diff --git a/finality-aleph/src/network/manager/service.rs b/finality-aleph/src/network/session/manager.rs similarity index 50% rename from finality-aleph/src/network/manager/service.rs rename to finality-aleph/src/network/session/manager.rs index d0d0978bc8..6feff15c67 100644 --- a/finality-aleph/src/network/manager/service.rs +++ b/finality-aleph/src/network/session/manager.rs @@ -1,47 +1,35 @@ use std::{ - cmp, collections::{HashMap, HashSet}, - fmt::{Debug, Display, Error as FmtError, Formatter}, - marker::PhantomData, + fmt::Debug, time::Duration, }; -use futures::{ - channel::{mpsc, oneshot}, - StreamExt, -}; -use log::{debug, info, trace, warn}; -use tokio::time::{self, Instant}; +use futures::channel::mpsc; +use log::{debug, info}; use crate::{ abft::Recipient, crypto::{AuthorityPen, AuthorityVerifier}, network::{ - clique::{Network as CliqueNetwork, PublicKey}, - manager::{ - compatibility::PeerAuthentications, Connections, DataInSession, Discovery, - DiscoveryMessage, SessionHandler, SessionHandlerError, VersionedAuthentication, + session::{ + compatibility::PeerAuthentications, data::DataInSession, Connections, Discovery, + DiscoveryMessage, SessionHandler, SessionHandlerError, }, - AddressedData, AddressingInformation, ConnectionCommand, Data, GossipNetwork, - NetworkIdentity, PeerId, + AddressingInformation, Data, NetworkIdentity, PeerId, }, - MillisecsPerBlock, NodeIndex, SessionId, SessionPeriod, STATUS_REPORT_INTERVAL, + NodeIndex, SessionId, }; -/// Commands for manipulating sessions, stopping them and starting both validator and non-validator -/// sessions. -pub enum SessionCommand { - StartValidator( - SessionId, - AuthorityVerifier, - NodeIndex, - AuthorityPen, - Option>>, - ), - StartNonvalidator(SessionId, AuthorityVerifier), - Stop(SessionId), +/// Commands for manipulating the reserved peers set. +#[derive(Debug, PartialEq, Eq)] +pub enum ConnectionCommand { + AddReserved(HashSet), + DelReserved(HashSet), } +// In practice D: Data and P: PeerId, but we cannot require that in type aliases. +pub type AddressedData = (D, P); + struct Session> + Into>> { handler: SessionHandler, discovery: Discovery, @@ -50,75 +38,38 @@ struct Session> + In #[derive(Clone)] /// Stores all data needed for starting validator session -struct PreValidatorSession { - session_id: SessionId, - verifier: AuthorityVerifier, - node_id: NodeIndex, - pen: AuthorityPen, +pub struct PreValidatorSession { + pub session_id: SessionId, + pub verifier: AuthorityVerifier, + pub node_id: NodeIndex, + pub pen: AuthorityPen, } #[derive(Clone)] /// Stores all data needed for starting non-validator session -struct PreNonvalidatorSession { - session_id: SessionId, - verifier: AuthorityVerifier, -} - -/// Configuration for the session manager service. Controls how often the maintenance and -/// rebroadcasts are triggerred. Also controls when maintenance starts. -pub struct Config { - discovery_cooldown: Duration, - maintenance_period: Duration, - initial_delay: Duration, -} - -impl Config { - fn new( - discovery_cooldown: Duration, - maintenance_period: Duration, - initial_delay: Duration, - ) -> Self { - Config { - discovery_cooldown, - maintenance_period, - initial_delay, - } - } - - /// Returns a configuration that triggers maintenance about 5 times per session. - pub fn with_session_period( - session_period: &SessionPeriod, - millisecs_per_block: &MillisecsPerBlock, - ) -> Self { - let discovery_cooldown = - Duration::from_millis(millisecs_per_block.0 * session_period.0 as u64 / 5); - let maintenance_period = discovery_cooldown / 2; - let initial_delay = cmp::min( - Duration::from_millis(millisecs_per_block.0 * 10), - maintenance_period, - ); - Config::new(discovery_cooldown, maintenance_period, initial_delay) - } +pub struct PreNonvalidatorSession { + pub session_id: SessionId, + pub verifier: AuthorityVerifier, } -/// Actions that the service wants to take as the result of some information. Might contain a +/// Actions that the manager wants to take as the result of some information. Might contain a /// command for connecting to or disconnecting from some peers or a message to broadcast for /// discovery purposes. -pub struct ServiceActions> + Into>> { - maybe_command: Option>, - maybe_message: Option>, +pub struct ManagerActions> + Into>> { + pub maybe_command: Option>, + pub maybe_message: Option>, } -impl> + Into>> ServiceActions { +impl> + Into>> ManagerActions { fn noop() -> Self { - ServiceActions { + ManagerActions { maybe_command: None, maybe_message: None, } } } -/// The connection manager service. It handles the abstraction over the network we build to support +/// The connection manager. It handles the abstraction over the network we build to support /// separate sessions. This includes: /// 1. Starting and ending specific sessions on user demand. /// 2. Forwarding in-session user messages to the network using session handlers for address @@ -127,7 +78,7 @@ impl> + Into>> Service /// 1. In-session messages are forwarded to the user. /// 2. Authentication messages forwarded to session handlers. /// 4. Running periodic maintenance, mostly related to node discovery. -pub struct Service +pub struct Manager where NI::AddressingInformation: TryFrom> + Into>, { @@ -135,8 +86,6 @@ where connections: Connections, sessions: HashMap>, discovery_cooldown: Duration, - maintenance_period: Duration, - initial_delay: Duration, } /// Error when trying to forward data from the network to the user, should never be fatal. @@ -146,24 +95,17 @@ pub enum SendError { NoSession, } -impl Service +impl Manager where NI::AddressingInformation: TryFrom> + Into>, { - /// Create a new connection manager service. - pub fn new(network_identity: NI, config: Config) -> Self { - let Config { - discovery_cooldown, - maintenance_period, - initial_delay, - } = config; - Service { + /// Create a new connection manager. + pub fn new(network_identity: NI, discovery_cooldown: Duration) -> Self { + Manager { network_identity, connections: Connections::new(), sessions: HashMap::new(), discovery_cooldown, - maintenance_period, - initial_delay, } } @@ -176,12 +118,16 @@ where } } - fn finish_session( + /// Ends a session. + pub fn finish_session( &mut self, session_id: SessionId, - ) -> Option> { + ) -> ManagerActions { self.sessions.remove(&session_id); - Self::delete_reserved(self.connections.remove_session(session_id)) + ManagerActions { + maybe_command: Self::delete_reserved(self.connections.remove_session(session_id)), + maybe_message: None, + } } fn discover_authorities( @@ -234,12 +180,13 @@ where (self.discover_authorities(&session_id), data_from_network) } - async fn update_validator_session( + /// Starts or updates a validator session. + pub async fn update_validator_session( &mut self, pre_session: PreValidatorSession, ) -> Result< ( - ServiceActions, + ManagerActions, mpsc::UnboundedReceiver, ), SessionHandlerError, @@ -251,7 +198,7 @@ where let (maybe_message, data_from_network) = self.start_validator_session(pre_session, address).await; return Ok(( - ServiceActions { + ManagerActions { maybe_command: None, maybe_message, }, @@ -283,7 +230,7 @@ where session.data_for_user = Some(data_for_user); self.connections.add_peers(session_id, peers_to_stay); Ok(( - ServiceActions { + ManagerActions { maybe_command, maybe_message: self.discover_authorities(&session_id), }, @@ -291,23 +238,6 @@ where )) } - async fn handle_validator_presession( - &mut self, - pre_session: PreValidatorSession, - result_for_user: Option>>, - ) -> Result, SessionHandlerError> { - self.update_validator_session(pre_session) - .await - .map(|(actions, data_from_network)| { - if let Some(result_for_user) = result_for_user { - if result_for_user.send(data_from_network).is_err() { - warn!(target: "aleph-network", "Failed to send started session.") - } - } - actions - }) - } - async fn start_nonvalidator_session( &mut self, pre_session: PreNonvalidatorSession, @@ -329,63 +259,24 @@ where ); } - async fn update_nonvalidator_session( + /// Starts or updates a nonvalidator session. + pub async fn update_nonvalidator_session( &mut self, pre_session: PreNonvalidatorSession, - ) -> Result<(), SessionHandlerError> { + ) -> Result, SessionHandlerError> { let address = self.network_identity.identity(); - let session = match self.sessions.get_mut(&pre_session.session_id) { - Some(session) => session, + match self.sessions.get_mut(&pre_session.session_id) { + Some(session) => { + session + .handler + .update(None, pre_session.verifier, address) + .await?; + } None => { self.start_nonvalidator_session(pre_session, address).await; - return Ok(()); } }; - session - .handler - .update(None, pre_session.verifier, address) - .await?; - Ok(()) - } - - async fn handle_nonvalidator_presession( - &mut self, - pre_session: PreNonvalidatorSession, - ) -> Result<(), SessionHandlerError> { - self.update_nonvalidator_session(pre_session).await - } - - /// Handle a session command. - /// Returns actions the service wants to take or an error if the session command is invalid. - pub async fn on_command( - &mut self, - command: SessionCommand, - ) -> Result, SessionHandlerError> { - use SessionCommand::*; - match command { - StartValidator(session_id, verifier, node_id, pen, result_for_user) => { - let pre_session = PreValidatorSession { - session_id, - verifier, - node_id, - pen, - }; - self.handle_validator_presession(pre_session, result_for_user) - .await - } - StartNonvalidator(session_id, verifier) => { - let pre_session = PreNonvalidatorSession { - session_id, - verifier, - }; - self.handle_nonvalidator_presession(pre_session).await?; - Ok(ServiceActions::noop()) - } - Stop(session_id) => Ok(ServiceActions { - maybe_command: self.finish_session(session_id), - maybe_message: None, - }), - } + Ok(ManagerActions::noop()) } /// Handle a user request for sending data. @@ -420,11 +311,11 @@ where } /// Handle a discovery message. - /// Returns actions the service wants to take. + /// Returns actions the manager wants to take. pub fn on_discovery_message( &mut self, message: DiscoveryMessage, - ) -> ServiceActions { + ) -> ManagerActions { use DiscoveryMessage::*; let session_id = message.session_id(); match self.sessions.get_mut(&session_id) { @@ -447,14 +338,14 @@ where } _ => None, }; - ServiceActions { + ManagerActions { maybe_command, maybe_message, } } None => { debug!(target: "aleph-network", "Received message from unknown session: {:?}", message); - ServiceActions::noop() + ManagerActions::noop() } } } @@ -553,297 +444,114 @@ where } } -/// Input/output interface for the connection manager service. -pub struct IO< - D: Data, - M: Data, - A: AddressingInformation + TryFrom> + Into>, - CN: CliqueNetwork>, - GN: GossipNetwork>, -> where - A::PeerId: PublicKey, -{ - commands_from_user: mpsc::UnboundedReceiver>, - messages_from_user: mpsc::UnboundedReceiver<(D, SessionId, Recipient)>, - validator_network: CN, - gossip_network: GN, - _phantom: PhantomData<(M, A)>, -} - -/// Errors that can happen during the network service operations. -#[derive(Debug, PartialEq, Eq)] -pub enum Error { - CommandsChannel, - MessageChannel, - ValidatorNetwork, - GossipNetwork(GE), -} - -impl Display for Error { - fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), FmtError> { - use Error::*; - match self { - CommandsChannel => write!(f, "commands channel unexpectedly closed"), - MessageChannel => write!(f, "message channel unexpectedly closed"), - ValidatorNetwork => write!(f, "validator network unexpectedly done"), - GossipNetwork(e) => write!(f, "gossip network unexpectedly done: {}", e), - } - } -} - -impl< - D: Data, - M: Data + Debug, - A: AddressingInformation + TryFrom> + Into>, - CN: CliqueNetwork>, - GN: GossipNetwork>, - > IO -where - A::PeerId: PublicKey, -{ - pub fn new( - commands_from_user: mpsc::UnboundedReceiver>, - messages_from_user: mpsc::UnboundedReceiver<(D, SessionId, Recipient)>, - validator_network: CN, - gossip_network: GN, - ) -> IO { - IO { - commands_from_user, - messages_from_user, - validator_network, - gossip_network, - _phantom: PhantomData, - } - } - - fn send_data(&self, to_send: AddressedData, A::PeerId>) { - self.validator_network.send(to_send.0, to_send.1) - } - - fn send_authentications( - &mut self, - to_send: Vec>, - ) -> Result<(), Error> { - for auth in to_send { - self.gossip_network - .broadcast(auth) - .map_err(Error::GossipNetwork)?; - } - Ok(()) - } - - fn handle_connection_command(&mut self, connection_command: ConnectionCommand) { - match connection_command { - ConnectionCommand::AddReserved(addresses) => { - for address in addresses { - self.validator_network - .add_connection(address.peer_id(), address); - } - } - ConnectionCommand::DelReserved(peers) => { - for peer in peers { - self.validator_network.remove_connection(peer); - } - } - }; - } - - fn handle_service_actions( - &mut self, - ServiceActions { - maybe_command, - maybe_message, - }: ServiceActions, - ) -> Result<(), Error> { - if let Some(command) = maybe_command { - self.handle_connection_command(command); - } - if let Some(message) = maybe_message { - self.send_authentications(message.into())?; - } - Ok(()) - } - - /// Run the connection manager service with this IO. - pub async fn run>( - mut self, - mut service: Service, - ) -> Result<(), Error> { - // Initial delay is needed so that Network is fully set up and we received some first discovery broadcasts from other nodes. - // Otherwise this might cause first maintenance never working, as it happens before first broadcasts. - let mut maintenance = time::interval_at( - Instant::now() + service.initial_delay, - service.maintenance_period, - ); - - let mut status_ticker = time::interval(STATUS_REPORT_INTERVAL); - loop { - trace!(target: "aleph-network", "Manager Loop started a next iteration"); - tokio::select! { - maybe_command = self.commands_from_user.next() => { - trace!(target: "aleph-network", "Manager received a command from user"); - match maybe_command { - Some(command) => match service.on_command(command).await { - Ok(to_send) => self.handle_service_actions(to_send)?, - Err(e) => warn!(target: "aleph-network", "Failed to update handler: {:?}", e), - }, - None => return Err(Error::CommandsChannel), - } - }, - maybe_message = self.messages_from_user.next() => { - trace!(target: "aleph-network", "Manager received a message from user"); - match maybe_message { - Some((message, session_id, recipient)) => for message in service.on_user_message(message, session_id, recipient) { - self.send_data(message); - }, - None => return Err(Error::MessageChannel), - } - }, - maybe_data = self.validator_network.next() => { - trace!(target: "aleph-network", "Manager received some data from network"); - match maybe_data { - Some(DataInSession{data, session_id}) => if let Err(e) = service.send_session_data(&session_id, data) { - match e { - SendError::UserSend => trace!(target: "aleph-network", "Failed to send to user in session."), - SendError::NoSession => trace!(target: "aleph-network", "Received message for unknown session."), - } - }, - None => return Err(Error::ValidatorNetwork), - } - }, - maybe_authentication = self.gossip_network.next() => { - let authentication = maybe_authentication.map_err(Error::GossipNetwork)?; - trace!(target: "aleph-network", "Manager received an authentication from network"); - match authentication.try_into() { - Ok(message) => self.handle_service_actions(service.on_discovery_message(message))?, - Err(e) => warn!(target: "aleph-network", "Error casting versioned authentication to discovery message: {:?}", e), - } - }, - _ = maintenance.tick() => { - debug!(target: "aleph-network", "Manager starts maintenence"); - for to_send in service.discovery() { - self.send_authentications(to_send.into())?; - } - }, - _ = status_ticker.tick() => { - service.status_report(); - } - } - } - } -} - #[cfg(test)] mod tests { use std::{iter, time::Duration}; - use futures::{channel::oneshot, StreamExt}; + use futures::StreamExt; - use super::{Config, SendError, Service, ServiceActions, SessionCommand}; + use super::{ + ConnectionCommand, Manager, ManagerActions, PreNonvalidatorSession, PreValidatorSession, + SendError, + }; use crate::{ network::{ clique::mock::{random_address, MockAddressingInformation}, - manager::{compatibility::PeerAuthentications, DataInSession, DiscoveryMessage}, mock::crypto_basics, - ConnectionCommand, + session::{compatibility::PeerAuthentications, data::DataInSession, DiscoveryMessage}, }, Recipient, SessionId, }; const NUM_NODES: usize = 7; - const MAINTENANCE_PERIOD: Duration = Duration::from_secs(120); const DISCOVERY_PERIOD: Duration = Duration::from_secs(60); - const INITIAL_DELAY: Duration = Duration::from_secs(5); - fn build() -> Service { - Service::new( - random_address(), - Config::new(MAINTENANCE_PERIOD, DISCOVERY_PERIOD, INITIAL_DELAY), - ) + fn build() -> Manager { + Manager::new(random_address(), DISCOVERY_PERIOD) } #[tokio::test] async fn starts_nonvalidator_session() { - let mut service = build(); + let mut manager = build(); let (_, verifier) = crypto_basics(NUM_NODES).await; let session_id = SessionId(43); - let ServiceActions { + let ManagerActions { maybe_command, maybe_message, - } = service - .on_command(SessionCommand::StartNonvalidator(session_id, verifier)) + } = manager + .update_nonvalidator_session(PreNonvalidatorSession { + session_id, + verifier, + }) .await .unwrap(); assert!(maybe_command.is_none()); assert!(maybe_message.is_none()); assert_eq!( - service.send_session_data(&session_id, -43), + manager.send_session_data(&session_id, -43), Err(SendError::NoSession) ); } #[tokio::test] async fn starts_validator_session() { - let mut service = build(); + let mut manager = build(); let (validator_data, verifier) = crypto_basics(NUM_NODES).await; let (node_id, pen) = validator_data[0].clone(); let session_id = SessionId(43); - let (result_for_user, result_from_service) = oneshot::channel(); - let ServiceActions { - maybe_command, - maybe_message, - } = service - .on_command(SessionCommand::StartValidator( + let ( + ManagerActions { + maybe_command, + maybe_message, + }, + _data_from_network, + ) = manager + .update_validator_session(PreValidatorSession { session_id, verifier, node_id, pen, - Some(result_for_user), - )) + }) .await .unwrap(); assert!(maybe_command.is_none()); assert!(maybe_message.is_some()); - let _data_from_network = result_from_service.await.unwrap(); - assert_eq!(service.send_session_data(&session_id, -43), Ok(())); + assert_eq!(manager.send_session_data(&session_id, -43), Ok(())); } #[tokio::test] async fn stops_session() { - let mut service = build(); + let mut manager = build(); let (validator_data, verifier) = crypto_basics(NUM_NODES).await; let (node_id, pen) = validator_data[0].clone(); let session_id = SessionId(43); - let (result_for_user, result_from_service) = oneshot::channel(); - let ServiceActions { - maybe_command, - maybe_message, - } = service - .on_command(SessionCommand::StartValidator( + let ( + ManagerActions { + maybe_command, + maybe_message, + }, + mut data_from_network, + ) = manager + .update_validator_session(PreValidatorSession { session_id, verifier, node_id, pen, - Some(result_for_user), - )) + }) .await .unwrap(); assert!(maybe_command.is_none()); assert!(maybe_message.is_some()); - assert_eq!(service.send_session_data(&session_id, -43), Ok(())); - let mut data_from_network = result_from_service.await.unwrap(); + assert_eq!(manager.send_session_data(&session_id, -43), Ok(())); assert_eq!(data_from_network.next().await, Some(-43)); - let ServiceActions { + let ManagerActions { maybe_command, maybe_message, - } = service - .on_command(SessionCommand::Stop(session_id)) - .await - .unwrap(); + } = manager.finish_session(session_id); assert!(maybe_command.is_none()); assert!(maybe_message.is_none()); assert_eq!( - service.send_session_data(&session_id, -43), + manager.send_session_data(&session_id, -43), Err(SendError::NoSession) ); assert!(data_from_network.next().await.is_none()); @@ -851,26 +559,28 @@ mod tests { #[tokio::test] async fn handles_broadcast() { - let mut service = build(); + let mut manager = build(); let (validator_data, verifier) = crypto_basics(NUM_NODES).await; let (node_id, pen) = validator_data[0].clone(); let session_id = SessionId(43); - service - .on_command(SessionCommand::StartValidator( + manager + .update_validator_session(PreValidatorSession { session_id, - verifier.clone(), + verifier: verifier.clone(), node_id, pen, - None, - )) + }) .await .unwrap(); - let mut other_service = build(); + let mut other_manager = build(); let (node_id, pen) = validator_data[1].clone(); - let ServiceActions { maybe_message, .. } = other_service - .on_command(SessionCommand::StartValidator( - session_id, verifier, node_id, pen, None, - )) + let (ManagerActions { maybe_message, .. }, _) = other_manager + .update_validator_session(PreValidatorSession { + session_id, + verifier, + node_id, + pen, + }) .await .unwrap(); let message = maybe_message.expect("there should be a discovery message"); @@ -881,10 +591,10 @@ mod tests { ), message => panic!("Expected both authentications, got {:?}", message), }; - let ServiceActions { + let ManagerActions { maybe_command, maybe_message, - } = service.on_discovery_message(message); + } = manager.on_discovery_message(message); assert_eq!( maybe_command, Some(ConnectionCommand::AddReserved( @@ -896,26 +606,28 @@ mod tests { #[tokio::test] async fn sends_user_data() { - let mut service = build(); + let mut manager = build(); let (validator_data, verifier) = crypto_basics(NUM_NODES).await; let (node_id, pen) = validator_data[0].clone(); let session_id = SessionId(43); - service - .on_command(SessionCommand::StartValidator( + manager + .update_validator_session(PreValidatorSession { session_id, - verifier.clone(), + verifier: verifier.clone(), node_id, pen, - None, - )) + }) .await .unwrap(); - let mut other_service = build(); + let mut other_manager = build(); let (node_id, pen) = validator_data[1].clone(); - let ServiceActions { maybe_message, .. } = other_service - .on_command(SessionCommand::StartValidator( - session_id, verifier, node_id, pen, None, - )) + let (ManagerActions { maybe_message, .. }, _) = other_manager + .update_validator_session(PreValidatorSession { + session_id, + verifier, + node_id, + pen, + }) .await .unwrap(); let message = match maybe_message.expect("there should be a discovery message") { @@ -924,8 +636,8 @@ mod tests { } message => panic!("Expected both authentications, got {:?}", message), }; - service.on_discovery_message(message); - let messages = service.on_user_message(2137, session_id, Recipient::Everyone); + manager.on_discovery_message(message); + let messages = manager.on_user_message(2137, session_id, Recipient::Everyone); assert_eq!(messages.len(), 1); let (network_data, _) = &messages[0]; assert_eq!( diff --git a/finality-aleph/src/network/session/mod.rs b/finality-aleph/src/network/session/mod.rs new file mode 100644 index 0000000000..a3b7ed75ad --- /dev/null +++ b/finality-aleph/src/network/session/mod.rs @@ -0,0 +1,178 @@ +//! Managing the validator connections in sessions using the gossip network. +use std::fmt::Display; + +use codec::{Decode, Encode}; +use futures::channel::mpsc; + +use crate::{ + crypto::{AuthorityPen, AuthorityVerifier, Signature}, + network::{ + data::{ + component::{Sender, SimpleNetwork}, + SendError, + }, + AddressingInformation, Data, + }, + NodeIndex, Recipient, SessionId, +}; + +mod compatibility; +mod connections; +mod data; +mod discovery; +mod handler; +mod manager; +mod service; + +pub use compatibility::{ + DiscoveryMessage, LegacyDiscoveryMessage, PeerAuthentications, VersionedAuthentication, +}; +use connections::Connections; +#[cfg(test)] +pub use data::DataInSession; +pub use discovery::Discovery; +#[cfg(test)] +pub use handler::tests::{authentication, legacy_authentication}; +pub use handler::{Handler as SessionHandler, HandlerError as SessionHandlerError}; +pub use service::{Config as ConnectionManagerConfig, ManagerError, Service as ConnectionManager}; + +/// Data validators used to use to authenticate themselves for a single session +/// and disseminate their addresses. +#[derive(Clone, Debug, PartialEq, Eq, Hash, Encode, Decode)] +pub struct LegacyAuthData { + addresses: Vec, + node_id: NodeIndex, + session_id: SessionId, +} + +impl LegacyAuthData { + pub fn session(&self) -> SessionId { + self.session_id + } + + pub fn creator(&self) -> NodeIndex { + self.node_id + } +} + +/// Data validators use to authenticate themselves for a single session +/// and disseminate their addresses. +#[derive(Clone, Debug, PartialEq, Eq, Hash, Encode, Decode)] +pub struct AuthData { + address: A, + node_id: NodeIndex, + session_id: SessionId, +} + +impl AuthData { + pub fn session(&self) -> SessionId { + self.session_id + } + + pub fn creator(&self) -> NodeIndex { + self.node_id + } + + pub fn address(&self) -> A { + self.address.clone() + } +} + +impl>> From> for LegacyAuthData { + fn from(auth_data: AuthData) -> Self { + let AuthData { + address, + node_id, + session_id, + } = auth_data; + let addresses = address.into(); + LegacyAuthData { + addresses, + node_id, + session_id, + } + } +} + +impl>> TryFrom> + for AuthData +{ + type Error = (); + + fn try_from(legacy_auth_data: LegacyAuthData) -> Result { + let LegacyAuthData { + addresses, + node_id, + session_id, + } = legacy_auth_data; + let address = addresses.try_into().map_err(|_| ())?; + Ok(AuthData { + address, + node_id, + session_id, + }) + } +} + +/// A full legacy authentication, consisting of a signed LegacyAuthData. +pub type LegacyAuthentication = (LegacyAuthData, Signature); + +/// A full authentication, consisting of a signed AuthData. +pub type Authentication = (AuthData, Signature); + +/// Sends data within a single session. +#[derive(Clone)] +pub struct SessionSender { + session_id: SessionId, + messages_for_network: mpsc::UnboundedSender<(D, SessionId, Recipient)>, +} + +impl Sender for SessionSender { + fn send(&self, data: D, recipient: Recipient) -> Result<(), SendError> { + self.messages_for_network + .unbounded_send((data, self.session_id, recipient)) + .map_err(|_| SendError::SendFailed) + } +} + +/// Sends and receives data within a single session. +type Network = SimpleNetwork, SessionSender>; + +/// An interface for managing session networks for validators and nonvalidators. +#[async_trait::async_trait] +pub trait SessionManager: Send + Sync + 'static { + type Error: Display; + + /// Start participating or update the verifier in the given session where you are not a + /// validator. + fn start_nonvalidator_session( + &self, + session_id: SessionId, + verifier: AuthorityVerifier, + ) -> Result<(), Self::Error>; + + /// Start participating or update the information about the given session where you are a + /// validator. Returns a session network to be used for sending and receiving data within the + /// session. + async fn start_validator_session( + &self, + session_id: SessionId, + verifier: AuthorityVerifier, + node_id: NodeIndex, + pen: AuthorityPen, + ) -> Result, Self::Error>; + + /// Start participating or update the information about the given session where you are a + /// validator. Used for early starts when you don't yet need the returned network, but would + /// like to start discovery. + fn early_start_validator_session( + &self, + session_id: SessionId, + verifier: AuthorityVerifier, + node_id: NodeIndex, + pen: AuthorityPen, + ) -> Result<(), Self::Error>; + + /// Stop participating in the given session. + fn stop_session(&self, session_id: SessionId) -> Result<(), Self::Error>; +} diff --git a/finality-aleph/src/network/session/service.rs b/finality-aleph/src/network/session/service.rs new file mode 100644 index 0000000000..080368397d --- /dev/null +++ b/finality-aleph/src/network/session/service.rs @@ -0,0 +1,410 @@ +use std::{ + cmp, + fmt::{Debug, Display, Error as FmtError, Formatter}, + time::Duration, +}; + +use futures::{ + channel::{mpsc, oneshot}, + StreamExt, +}; +use log::{debug, trace, warn}; +use tokio::time::{self, Instant}; + +use crate::{ + abft::Recipient, + crypto::{AuthorityPen, AuthorityVerifier}, + network::{ + clique::{Network as CliqueNetwork, PublicKey}, + session::{ + data::DataInSession, + manager::{ + AddressedData, ConnectionCommand, Manager, ManagerActions, PreNonvalidatorSession, + PreValidatorSession, SendError, + }, + Network, SessionHandlerError, SessionManager, SessionSender, VersionedAuthentication, + }, + AddressingInformation, Data, GossipNetwork, NetworkIdentity, + }, + MillisecsPerBlock, NodeIndex, SessionId, SessionPeriod, STATUS_REPORT_INTERVAL, +}; + +/// Commands for manipulating sessions, stopping them and starting both validator and non-validator +/// sessions. +enum SessionCommand { + StartValidator( + SessionId, + AuthorityVerifier, + NodeIndex, + AuthorityPen, + Option>>, + ), + StartNonvalidator(SessionId, AuthorityVerifier), + Stop(SessionId), +} + +/// Manages sessions for which the network should be active. +struct ManagerInterface { + commands_for_service: mpsc::UnboundedSender>, + messages_for_service: mpsc::UnboundedSender<(D, SessionId, Recipient)>, +} + +/// What went wrong during a session management operation. +#[derive(Debug)] +pub enum ManagerError { + CommandSendFailed, + NetworkReceiveFailed, +} + +impl Display for ManagerError { + fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), FmtError> { + use ManagerError::*; + match self { + CommandSendFailed => write!(f, "failed to send a command to the service"), + NetworkReceiveFailed => write!(f, "the service did not return a network"), + } + } +} + +#[async_trait::async_trait] +impl SessionManager for ManagerInterface { + type Error = ManagerError; + + fn start_nonvalidator_session( + &self, + session_id: SessionId, + verifier: AuthorityVerifier, + ) -> Result<(), Self::Error> { + self.commands_for_service + .unbounded_send(SessionCommand::StartNonvalidator(session_id, verifier)) + .map_err(|_| ManagerError::CommandSendFailed) + } + + async fn start_validator_session( + &self, + session_id: SessionId, + verifier: AuthorityVerifier, + node_id: NodeIndex, + pen: AuthorityPen, + ) -> Result, Self::Error> { + let (result_for_us, result_from_service) = oneshot::channel(); + self.commands_for_service + .unbounded_send(SessionCommand::StartValidator( + session_id, + verifier, + node_id, + pen, + Some(result_for_us), + )) + .map_err(|_| ManagerError::CommandSendFailed)?; + + let data_from_network = result_from_service + .await + .map_err(|_| ManagerError::NetworkReceiveFailed)?; + let messages_for_network = self.messages_for_service.clone(); + + Ok(Network::new( + data_from_network, + SessionSender { + session_id, + messages_for_network, + }, + )) + } + + fn early_start_validator_session( + &self, + session_id: SessionId, + verifier: AuthorityVerifier, + node_id: NodeIndex, + pen: AuthorityPen, + ) -> Result<(), Self::Error> { + self.commands_for_service + .unbounded_send(SessionCommand::StartValidator( + session_id, verifier, node_id, pen, None, + )) + .map_err(|_| ManagerError::CommandSendFailed) + } + + fn stop_session(&self, session_id: SessionId) -> Result<(), Self::Error> { + self.commands_for_service + .unbounded_send(SessionCommand::Stop(session_id)) + .map_err(|_| ManagerError::CommandSendFailed) + } +} + +/// Configuration for the session manager. Controls how often the maintenance and +/// rebroadcasts are triggerred. Also controls when maintenance starts. +pub struct Config { + discovery_cooldown: Duration, + maintenance_period: Duration, + initial_delay: Duration, +} + +impl Config { + fn new( + discovery_cooldown: Duration, + maintenance_period: Duration, + initial_delay: Duration, + ) -> Self { + Config { + discovery_cooldown, + maintenance_period, + initial_delay, + } + } + + /// Returns a configuration that triggers maintenance about 5 times per session. + pub fn with_session_period( + session_period: &SessionPeriod, + millisecs_per_block: &MillisecsPerBlock, + ) -> Self { + let discovery_cooldown = + Duration::from_millis(millisecs_per_block.0 * session_period.0 as u64 / 5); + let maintenance_period = discovery_cooldown / 2; + let initial_delay = cmp::min( + Duration::from_millis(millisecs_per_block.0 * 10), + maintenance_period, + ); + Config::new(discovery_cooldown, maintenance_period, initial_delay) + } +} + +/// The connection manager service. +pub struct Service< + D: Data, + M: Data + Debug, + NI: NetworkIdentity, + CN: CliqueNetwork>, + GN: GossipNetwork>, +> where + NI::PeerId: PublicKey, + NI::AddressingInformation: TryFrom> + Into>, +{ + manager: Manager, + commands_from_user: mpsc::UnboundedReceiver>, + messages_from_user: mpsc::UnboundedReceiver<(D, SessionId, Recipient)>, + validator_network: CN, + gossip_network: GN, + maintenance_period: Duration, + initial_delay: Duration, +} + +/// Errors that can happen during the network service operations. +#[derive(Debug, PartialEq, Eq)] +pub enum Error { + CommandsChannel, + MessageChannel, + ValidatorNetwork, + GossipNetwork(GE), +} + +impl Display for Error { + fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), FmtError> { + use Error::*; + match self { + CommandsChannel => write!(f, "commands channel unexpectedly closed"), + MessageChannel => write!(f, "message channel unexpectedly closed"), + ValidatorNetwork => write!(f, "validator network unexpectedly done"), + GossipNetwork(e) => write!(f, "gossip network unexpectedly done: {}", e), + } + } +} + +impl< + D: Data, + M: Data + Debug, + NI: NetworkIdentity, + CN: CliqueNetwork>, + GN: GossipNetwork>, + > Service +where + NI::PeerId: PublicKey, + NI::AddressingInformation: TryFrom> + Into>, +{ + pub fn new( + network_identity: NI, + validator_network: CN, + gossip_network: GN, + config: Config, + ) -> ( + Service, + impl SessionManager, + ) { + let Config { + discovery_cooldown, + maintenance_period, + initial_delay, + } = config; + let manager = Manager::new(network_identity, discovery_cooldown); + let (commands_for_service, commands_from_user) = mpsc::unbounded(); + let (messages_for_service, messages_from_user) = mpsc::unbounded(); + ( + Service { + manager, + commands_from_user, + messages_from_user, + validator_network, + gossip_network, + maintenance_period, + initial_delay, + }, + ManagerInterface { + commands_for_service, + messages_for_service, + }, + ) + } + + fn send_data(&self, to_send: AddressedData, NI::PeerId>) { + self.validator_network.send(to_send.0, to_send.1) + } + + fn send_authentications( + &mut self, + to_send: Vec>, + ) -> Result<(), Error> { + for auth in to_send { + self.gossip_network + .broadcast(auth) + .map_err(Error::GossipNetwork)?; + } + Ok(()) + } + + fn handle_connection_command( + &mut self, + connection_command: ConnectionCommand, + ) { + match connection_command { + ConnectionCommand::AddReserved(addresses) => { + for address in addresses { + self.validator_network + .add_connection(address.peer_id(), address); + } + } + ConnectionCommand::DelReserved(peers) => { + for peer in peers { + self.validator_network.remove_connection(peer); + } + } + }; + } + + fn handle_manager_actions( + &mut self, + ManagerActions { + maybe_command, + maybe_message, + }: ManagerActions, + ) -> Result<(), Error> { + if let Some(command) = maybe_command { + self.handle_connection_command(command); + } + if let Some(message) = maybe_message { + self.send_authentications(message.into())?; + } + Ok(()) + } + + /// Handle a session command. + /// Returns actions the manager wants to take or an error if the session command is invalid. + async fn handle_command( + &mut self, + command: SessionCommand, + ) -> Result, SessionHandlerError> { + use SessionCommand::*; + match command { + StartValidator(session_id, verifier, node_id, pen, result_for_user) => { + let pre_session = PreValidatorSession { + session_id, + verifier, + node_id, + pen, + }; + let (actions, data_from_network) = + self.manager.update_validator_session(pre_session).await?; + if let Some(result_for_user) = result_for_user { + if result_for_user.send(data_from_network).is_err() { + warn!(target: "aleph-network", "Failed to send started session.") + } + } + Ok(actions) + } + StartNonvalidator(session_id, verifier) => { + let pre_session = PreNonvalidatorSession { + session_id, + verifier, + }; + self.manager.update_nonvalidator_session(pre_session).await + } + Stop(session_id) => Ok(self.manager.finish_session(session_id)), + } + } + + /// Run the connection manager service. + pub async fn run(mut self) -> Result<(), Error> { + // Initial delay is needed so that Network is fully set up and we received some first discovery broadcasts from other nodes. + // Otherwise this might cause first maintenance never working, as it happens before first broadcasts. + let mut maintenance = + time::interval_at(Instant::now() + self.initial_delay, self.maintenance_period); + + let mut status_ticker = time::interval(STATUS_REPORT_INTERVAL); + loop { + trace!(target: "aleph-network", "Manager Loop started a next iteration"); + tokio::select! { + maybe_command = self.commands_from_user.next() => { + trace!(target: "aleph-network", "Manager received a command from user"); + match maybe_command { + Some(command) => match self.handle_command(command).await { + Ok(to_send) => self.handle_manager_actions(to_send)?, + Err(e) => warn!(target: "aleph-network", "Failed to update handler: {:?}", e), + }, + None => return Err(Error::CommandsChannel), + } + }, + maybe_message = self.messages_from_user.next() => { + trace!(target: "aleph-network", "Manager received a message from user"); + match maybe_message { + Some((message, session_id, recipient)) => for message in self.manager.on_user_message(message, session_id, recipient) { + self.send_data(message); + }, + None => return Err(Error::MessageChannel), + } + }, + maybe_data = self.validator_network.next() => { + trace!(target: "aleph-network", "Manager received some data from network"); + match maybe_data { + Some(DataInSession{data, session_id}) => if let Err(e) = self.manager.send_session_data(&session_id, data) { + match e { + SendError::UserSend => trace!(target: "aleph-network", "Failed to send to user in session."), + SendError::NoSession => trace!(target: "aleph-network", "Received message for unknown session."), + } + }, + None => return Err(Error::ValidatorNetwork), + } + }, + maybe_authentication = self.gossip_network.next() => { + let authentication = maybe_authentication.map_err(Error::GossipNetwork)?; + trace!(target: "aleph-network", "Manager received an authentication from network"); + match authentication.try_into() { + Ok(message) => { + let manager_actions = self.manager.on_discovery_message(message); + self.handle_manager_actions(manager_actions)? + }, + Err(e) => warn!(target: "aleph-network", "Error casting versioned authentication to discovery message: {:?}", e), + } + }, + _ = maintenance.tick() => { + debug!(target: "aleph-network", "Manager starts maintenence"); + for to_send in self.manager.discovery() { + self.send_authentications(to_send.into())?; + } + }, + _ = status_ticker.tick() => { + self.manager.status_report(); + } + } + } + } +} diff --git a/finality-aleph/src/network/manager/testing.rs b/finality-aleph/src/network/session/testing.rs similarity index 100% rename from finality-aleph/src/network/manager/testing.rs rename to finality-aleph/src/network/session/testing.rs diff --git a/finality-aleph/src/nodes/validator_node.rs b/finality-aleph/src/nodes/validator_node.rs index 50fb08f597..5301fa25a6 100644 --- a/finality-aleph/src/nodes/validator_node.rs +++ b/finality-aleph/src/nodes/validator_node.rs @@ -13,9 +13,9 @@ use crate::{ crypto::AuthorityPen, network::{ clique::Service, - setup_io, + session::{ConnectionManager, ConnectionManagerConfig}, tcp::{new_tcp_network, KEY_TYPE}, - ConnectionManager, ConnectionManagerConfig, GossipService, SessionManager, + GossipService, }, nodes::{setup_justification_handler, JustificationParams}, party::{ @@ -119,21 +119,19 @@ where session_map: session_authorities.clone(), }); - let (connection_io, session_io) = setup_io(validator_network, gossip_network); - - let connection_manager = ConnectionManager::new( + let (connection_manager_service, connection_manager) = ConnectionManager::new( network_identity, + validator_network, + gossip_network, ConnectionManagerConfig::with_session_period(&session_period, &millisecs_per_block), ); let connection_manager_task = async move { - if let Err(e) = connection_io.run(connection_manager).await { + if let Err(e) = connection_manager_service.run().await { panic!("Failed to run connection manager: {}", e); } }; - let session_manager = SessionManager::new(session_io); - spawn_handle.spawn("aleph/justification_handler", None, handler_task); debug!(target: "aleph-party", "JustificationHandler has started."); @@ -158,7 +156,7 @@ where block_requester, metrics, spawn_handle.into(), - session_manager, + connection_manager, keystore, ), _phantom: PhantomData, diff --git a/finality-aleph/src/party/manager/mod.rs b/finality-aleph/src/party/manager/mod.rs index 199e5c9092..ee4081303c 100644 --- a/finality-aleph/src/party/manager/mod.rs +++ b/finality-aleph/src/party/manager/mod.rs @@ -1,4 +1,4 @@ -use std::{collections::HashSet, fmt::Debug, marker::PhantomData, sync::Arc}; +use std::{collections::HashSet, marker::PhantomData, sync::Arc}; use aleph_primitives::{AlephSessionApi, KEY_TYPE}; use async_trait::async_trait; @@ -25,7 +25,8 @@ use crate::{ component::{Network, NetworkMap, SimpleNetwork}, split::split, }, - ManagerError, RequestBlocks, SessionManager, SessionSender, + session::{SessionManager, SessionSender}, + RequestBlocks, }, party::{ backup::ABFTBackup, manager::aggregator::AggregatorVersion, traits::NodeSessionManager, @@ -87,13 +88,14 @@ where phantom: PhantomData, } -pub struct NodeSessionManagerImpl +pub struct NodeSessionManagerImpl where B: BlockT, C: crate::ClientForAleph + Send + Sync + 'static, BE: Backend + 'static, SC: SelectChain + 'static, RB: RequestBlocks, + SM: SessionManager> + 'static, { client: Arc, select_chain: SC, @@ -103,12 +105,12 @@ where block_requester: RB, metrics: Option::Hash>>, spawn_handle: SpawnHandle, - session_manager: SessionManager>, + session_manager: SM, keystore: Arc, _phantom: PhantomData, } -impl NodeSessionManagerImpl +impl NodeSessionManagerImpl where B: BlockT, C: crate::ClientForAleph + Send + Sync + 'static, @@ -116,6 +118,7 @@ where BE: Backend + 'static, SC: SelectChain + 'static, RB: RequestBlocks, + SM: SessionManager>, { #[allow(clippy::too_many_arguments)] pub fn new( @@ -127,7 +130,7 @@ where block_requester: RB, metrics: Option::Hash>>, spawn_handle: SpawnHandle, - session_manager: SessionManager>, + session_manager: SM, keystore: Arc, ) -> Self { Self { @@ -305,11 +308,14 @@ where justifications_for_chain: self.authority_justification_tx.clone(), }; - let data_network = self + let data_network = match self .session_manager .start_validator_session(session_id, authority_verifier, node_id, authority_pen) .await - .expect("Failed to start validator session!"); + { + Ok(data_network) => data_network, + Err(e) => panic!("Failed to start validator session: {}", e), + }; let last_block_of_previous_session = session_boundaries .first_block() @@ -359,14 +365,8 @@ where } } -#[derive(Debug)] -pub enum SessionManagerError { - NotAuthority, - ManagerError(ManagerError), -} - #[async_trait] -impl NodeSessionManager for NodeSessionManagerImpl +impl NodeSessionManager for NodeSessionManagerImpl where B: BlockT, C: crate::ClientForAleph + Send + Sync + 'static, @@ -374,8 +374,9 @@ where BE: Backend + 'static, SC: SelectChain + 'static, RB: RequestBlocks, + SM: SessionManager>, { - type Error = SessionManagerError; + type Error = SM::Error; async fn spawn_authority_task_for_session( &self, @@ -404,20 +405,20 @@ where async fn early_start_validator_session( &self, session: SessionId, + node_id: NodeIndex, authorities: &[AuthorityId], ) -> Result<(), Self::Error> { - let node_id = match self.node_idx(authorities).await { - Some(id) => id, - None => return Err(SessionManagerError::NotAuthority), - }; let authority_verifier = AuthorityVerifier::new(authorities.to_vec()); let authority_pen = AuthorityPen::new(authorities[node_id.0].clone(), self.keystore.clone()) .await .expect("The keys should sign successfully"); - self.session_manager - .early_start_validator_session(session, authority_verifier, node_id, authority_pen) - .map_err(SessionManagerError::ManagerError) + self.session_manager.early_start_validator_session( + session, + authority_verifier, + node_id, + authority_pen, + ) } fn start_nonvalidator_session( @@ -429,13 +430,10 @@ where self.session_manager .start_nonvalidator_session(session, authority_verifier) - .map_err(SessionManagerError::ManagerError) } fn stop_session(&self, session: SessionId) -> Result<(), Self::Error> { - self.session_manager - .stop_session(session) - .map_err(SessionManagerError::ManagerError) + self.session_manager.stop_session(session) } async fn node_idx(&self, authorities: &[AuthorityId]) -> Option { diff --git a/finality-aleph/src/party/mocks.rs b/finality-aleph/src/party/mocks.rs index 2a0d78441b..21977bc100 100644 --- a/finality-aleph/src/party/mocks.rs +++ b/finality-aleph/src/party/mocks.rs @@ -1,5 +1,6 @@ use std::{ collections::HashSet, + fmt::{Debug, Display, Error as FmtError, Formatter}, hash::Hash, sync::{Arc, Mutex}, }; @@ -111,9 +112,17 @@ impl MockNodeSessionManager { } } +pub struct MockNodeSessionManagerError; + +impl Display for MockNodeSessionManagerError { + fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), FmtError> { + write!(f, "mock node session manager error") + } +} + #[async_trait] impl NodeSessionManager for Arc { - type Error = (); + type Error = MockNodeSessionManagerError; async fn spawn_authority_task_for_session( &self, @@ -133,6 +142,7 @@ impl NodeSessionManager for Arc { async fn early_start_validator_session( &self, session: SessionId, + _node_id: NodeIndex, _authorities: &[AuthorityId], ) -> Result<(), Self::Error> { self.insert(self.session_early_started.clone(), session); diff --git a/finality-aleph/src/party/mod.rs b/finality-aleph/src/party/mod.rs index fd46336da6..50c9c78e3f 100644 --- a/finality-aleph/src/party/mod.rs +++ b/finality-aleph/src/party/mod.rs @@ -154,7 +154,7 @@ where .session_manager .start_nonvalidator_session(session_id, authorities) { - warn!(target: "aleph-party", "Failed to start nonvalidator session{:?}:{:?}", session_id, e); + warn!(target: "aleph-party", "Failed to start nonvalidator session{:?}: {}", session_id, e); } None }; @@ -194,21 +194,22 @@ where } => { let next_session_authorities = next_session_authority_data.authorities(); match self.session_manager.node_idx(next_session_authorities).await { - Some(_) => if let Err(e) = self + Some(next_session_node_id) => if let Err(e) = self .session_manager .early_start_validator_session( next_session_id, + next_session_node_id, next_session_authorities, ).await { - warn!(target: "aleph-party", "Failed to early start validator session{:?}:{:?}", next_session_id, e); + warn!(target: "aleph-party", "Failed to early start validator session{:?}: {}", next_session_id, e); } None => { if let Err(e) = self .session_manager .start_nonvalidator_session(next_session_id, next_session_authorities) { - warn!(target: "aleph-party", "Failed to early start nonvalidator session{:?}:{:?}", next_session_id, e); + warn!(target: "aleph-party", "Failed to early start nonvalidator session{:?}: {}", next_session_id, e); } } } @@ -232,7 +233,7 @@ where } } if let Err(e) = self.session_manager.stop_session(session_id) { - warn!(target: "aleph-party", "Session Manager failed to stop in session {:?}: {:?}", session_id, e) + warn!(target: "aleph-party", "Session Manager failed to stop in session {:?}: {}", session_id, e) } } diff --git a/finality-aleph/src/party/traits.rs b/finality-aleph/src/party/traits.rs index 74c139a284..21198d737f 100644 --- a/finality-aleph/src/party/traits.rs +++ b/finality-aleph/src/party/traits.rs @@ -1,4 +1,4 @@ -use std::fmt::Debug; +use std::fmt::{Debug, Display}; use async_trait::async_trait; use sp_runtime::traits::{Block as BlockT, NumberFor}; @@ -34,7 +34,7 @@ pub trait ChainState { #[async_trait] /// Abstraction over session related tasks. pub trait NodeSessionManager { - type Error: Debug; + type Error: Display; /// Spawns every task needed for an authority to run in a session. async fn spawn_authority_task_for_session( @@ -49,6 +49,7 @@ pub trait NodeSessionManager { async fn early_start_validator_session( &self, session: SessionId, + node_id: NodeIndex, authorities: &[AuthorityId], ) -> Result<(), Self::Error>; diff --git a/finality-aleph/src/testing/network.rs b/finality-aleph/src/testing/network.rs index 07806ef495..77445be02c 100644 --- a/finality-aleph/src/testing/network.rs +++ b/finality-aleph/src/testing/network.rs @@ -18,13 +18,12 @@ use crate::{ }, data::Network, mock::{crypto_basics, MockData}, - setup_io, - testing::{ - authentication, legacy_authentication, DataInSession, LegacyDiscoveryMessage, - MockEvent, MockRawNetwork, SessionHandler, VersionedAuthentication, + session::{ + authentication, legacy_authentication, ConnectionManager, ConnectionManagerConfig, + DataInSession, LegacyDiscoveryMessage, ManagerError, SessionHandler, SessionManager, + VersionedAuthentication, }, - AddressingInformation, ConnectionManager, ConnectionManagerConfig, GossipService, - NetworkIdentity, Protocol, SessionManager, + AddressingInformation, GossipService, MockEvent, MockRawNetwork, Protocol, }, MillisecsPerBlock, NodeIndex, Recipient, SessionId, SessionPeriod, }; @@ -60,19 +59,10 @@ impl Authority { } } -impl NetworkIdentity for Authority { - type PeerId = MockPublicKey; - type AddressingInformation = MockAddressingInformation; - - fn identity(&self) -> Self::AddressingInformation { - self.address.clone() - } -} - struct TestData { pub authorities: Vec, pub authority_verifier: AuthorityVerifier, - pub session_manager: SessionManager, + pub session_manager: Box>, pub network: MockRawNetwork, pub validator_network: MockCliqueNetwork>, network_manager_exit_tx: oneshot::Sender<()>, @@ -108,19 +98,17 @@ async fn prepare_one_session_test_data() -> TestData { let (gossip_service, gossip_network) = GossipService::new(network.clone(), task_manager.spawn_handle()); - let (connection_io, session_io) = setup_io(validator_network.clone(), gossip_network); - - let connection_manager = ConnectionManager::new( - authorities[0].clone(), + let (connection_manager_service, session_manager) = ConnectionManager::new( + authorities[0].address(), + validator_network.clone(), + gossip_network, ConnectionManagerConfig::with_session_period(&SESSION_PERIOD, &MILLISECS_PER_BLOCK), ); - - let session_manager = SessionManager::new(session_io); + let session_manager = Box::new(session_manager); let network_manager_task = async move { tokio::select! { - _ = connection_io - .run(connection_manager) => { }, + _ =connection_manager_service.run() => { }, _ = network_manager_exit_rx => { }, }; }; @@ -161,7 +149,8 @@ impl TestData { node_id: usize, session_id: u32, ) -> impl Network { - self.session_manager + match self + .session_manager .start_validator_session( SessionId(session_id), self.authority_verifier.clone(), @@ -169,18 +158,21 @@ impl TestData { self.authorities[node_id].pen(), ) .await - .expect("Failed to start validator session!") + { + Ok(network) => network, + Err(e) => panic!("Failed to start validator session: {}", e), + } } fn early_start_validator_session(&self, node_id: usize, session_id: u32) { - self.session_manager - .early_start_validator_session( - SessionId(session_id), - self.authority_verifier.clone(), - NodeIndex(node_id), - self.authorities[node_id].pen(), - ) - .expect("Failed to start validator session!"); + if let Err(e) = self.session_manager.early_start_validator_session( + SessionId(session_id), + self.authority_verifier.clone(), + NodeIndex(node_id), + self.authorities[node_id].pen(), + ) { + panic!("Failed to start validator session: {}", e); + } } async fn get_session_handler( From 795e7efa5d1cadefaaed7af777488bc7a1662008 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maciej=20Nem=C5=9B?= Date: Tue, 20 Dec 2022 09:53:01 +0100 Subject: [PATCH 048/212] add clique network log target to docker entrypoint (#818) --- docker/docker_entrypoint.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/docker_entrypoint.sh b/docker/docker_entrypoint.sh index fe1b244382..fd73dccd7d 100644 --- a/docker/docker_entrypoint.sh +++ b/docker/docker_entrypoint.sh @@ -75,7 +75,7 @@ if [[ -n "${RESERVED_ONLY:-}" ]]; then fi if [[ -n "${FLAG_LAFA:-}" ]]; then - ARGS+=(-laleph-party=debug -laleph-network=debug -laleph-finality=debug -laleph-justification=debug -laleph-data-store=debug -laleph-metrics=debug) + ARGS+=(-laleph-party=debug -laleph-network=debug -lclique-network=debug -laleph-finality=debug -laleph-justification=debug -laleph-data-store=debug -laleph-metrics=debug) fi if [[ -n "${FLAG_L_ALEPH_BFT:-}" ]]; then From 52b0a98f56ff0d509521059c8ddeeccc453f4fd6 Mon Sep 17 00:00:00 2001 From: Krzysztof Ziobro <86822080+krzysztofziobro@users.noreply.github.com> Date: Tue, 20 Dec 2022 16:30:13 +0100 Subject: [PATCH 049/212] Make max-runtime-instances configurable (#817) --- docker/docker_entrypoint.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docker/docker_entrypoint.sh b/docker/docker_entrypoint.sh index fd73dccd7d..43575e026e 100644 --- a/docker/docker_entrypoint.sh +++ b/docker/docker_entrypoint.sh @@ -32,6 +32,7 @@ TELEMETRY_VERBOSITY_LVL=${TELEMETRY_VERBOSITY_LVL:-'0'} UNIT_CREATION_DELAY=${UNIT_CREATION_DELAY:-300} DB_CACHE=${DB_CACHE:-1024} RUNTIME_CACHE_SIZE=${RUNTIME_CACHE_SIZE:-2} +MAX_RUNTIME_INSTANCES=${MAX_RUNTIME_INSTANCES:-8} BACKUP_PATH=${BACKUP_PATH:-${BASE_PATH}/backup-stash} if [[ "true" == "$PURGE_BEFORE_START" ]]; then @@ -60,6 +61,7 @@ ARGS=( --enable-log-reloading --db-cache "${DB_CACHE}" --runtime-cache-size "${RUNTIME_CACHE_SIZE}" + --max-runtime-instances "${MAX_RUNTIME_INSTANCES}" ) if [[ -n "${BOOT_NODES:-}" ]]; then From 3bbcf46eab3ef6ad06ad30d49a94464da7d306ee Mon Sep 17 00:00:00 2001 From: Marcin Date: Wed, 21 Dec 2022 10:13:03 +0100 Subject: [PATCH 050/212] Short session mode is now 3 (#789) * Short session mode is now 3 * Fixed e2e case --- e2e-tests/src/test/staking.rs | 4 +++- primitives/src/lib.rs | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/e2e-tests/src/test/staking.rs b/e2e-tests/src/test/staking.rs index 82d4957191..1ce9f7638f 100644 --- a/e2e-tests/src/test/staking.rs +++ b/e2e-tests/src/test/staking.rs @@ -198,7 +198,9 @@ pub async fn staking_new_validator() -> anyhow::Result<()> { total: MIN_VALIDATOR_BOND, active: MIN_VALIDATOR_BOND, unlocking: BoundedVec(vec![]), - claimed_rewards: BoundedVec(vec![]), + // since era is 3 sessions, validate is done in the first block of 2nd session, + // that is already after elections has been done for 1st era + claimed_rewards: BoundedVec(vec![0]), } ); diff --git a/primitives/src/lib.rs b/primitives/src/lib.rs index e59bd722e3..94220796dd 100644 --- a/primitives/src/lib.rs +++ b/primitives/src/lib.rs @@ -44,7 +44,7 @@ pub const MILLISECS_PER_BLOCK: u64 = 1000; #[cfg(feature = "short_session")] pub const DEFAULT_SESSION_PERIOD: u32 = 30; #[cfg(feature = "short_session")] -pub const DEFAULT_SESSIONS_PER_ERA: SessionIndex = 5; +pub const DEFAULT_SESSIONS_PER_ERA: SessionIndex = 3; // Default values outside testing #[cfg(not(feature = "short_session"))] From ef9752ba76de85122776cc9c5036e4c5190f898e Mon Sep 17 00:00:00 2001 From: maciejzelaszczyk <48910177+maciejzelaszczyk@users.noreply.github.com> Date: Wed, 21 Dec 2022 12:57:58 +0100 Subject: [PATCH 051/212] Clippy args change for aleph-node (#772) * More restrictive clippy checks * Fixed all clippy complaints * Fixed clippy args order * Do not allow type complexity lints to sneak through * Streamlined clippy command * First batch * Partial * Complex types partial * Structs for mock data * Cleanup * Removed non-channel unused parameters --- .github/workflows/unit_tests.yml | 2 +- e2e-tests/src/config.rs | 4 +- finality-aleph/src/network/clique/mock.rs | 24 ++- .../src/network/clique/protocols/v0/mod.rs | 156 +++++++----------- .../src/network/clique/protocols/v1/mod.rs | 147 +++++++---------- finality-aleph/src/network/data/component.rs | 4 +- finality-aleph/src/testing/data_store.rs | 6 +- fork-off/Cargo.lock | 2 +- pallets/elections/src/mock.rs | 5 +- scripts/run_checks_on_aleph_node.sh | 2 +- 10 files changed, 149 insertions(+), 203 deletions(-) diff --git a/.github/workflows/unit_tests.yml b/.github/workflows/unit_tests.yml index 1d34aa02ac..7e3431687a 100644 --- a/.github/workflows/unit_tests.yml +++ b/.github/workflows/unit_tests.yml @@ -58,7 +58,7 @@ jobs: RUSTC_WORKSPACE_WRAPPER: sccache with: command: clippy - args: -- --no-deps -D warnings + args: --all-targets --all-features -- --no-deps -D warnings - name: Run Unit Test Suite uses: actions-rs/cargo@v1 diff --git a/e2e-tests/src/config.rs b/e2e-tests/src/config.rs index 4dc0bac63f..0fbdfe5c75 100644 --- a/e2e-tests/src/config.rs +++ b/e2e-tests/src/config.rs @@ -8,7 +8,7 @@ use crate::accounts::{get_sudo_key, get_validators_keys, get_validators_seeds, N static GLOBAL_CONFIG: Lazy = Lazy::new(|| { let node = get_env("NODE_URL").unwrap_or_else(|| "ws://127.0.0.1:9943".to_string()); - let validator_count = get_env("VALIDATOR_COUNT").unwrap_or_else(|| 5); + let validator_count = get_env("VALIDATOR_COUNT").unwrap_or(5); let validators_seeds = env::var("VALIDATORS_SEEDS") .ok() .map(|s| s.split(',').map(|s| s.to_string()).collect()); @@ -41,7 +41,7 @@ where { env::var(name).ok().map(|v| { v.parse() - .expect(&format!("Failed to parse env var {}", name)) + .unwrap_or_else(|_| panic!("Failed to parse env var {}", name)) }) } diff --git a/finality-aleph/src/network/clique/mock.rs b/finality-aleph/src/network/clique/mock.rs index 1fecd877cb..13ade25354 100644 --- a/finality-aleph/src/network/clique/mock.rs +++ b/finality-aleph/src/network/clique/mock.rs @@ -8,8 +8,8 @@ use std::{ use codec::{Decode, Encode}; use futures::{ - channel::{mpsc, oneshot}, - StreamExt, + channel::{mpsc, mpsc::UnboundedReceiver, oneshot}, + Future, StreamExt, }; use log::info; use rand::Rng; @@ -17,6 +17,7 @@ use tokio::io::{duplex, AsyncRead, AsyncWrite, DuplexStream, ReadBuf}; use crate::network::{ clique::{ + protocols::{ProtocolError, ResultForService}, ConnectionInfo, Dialer, Listener, Network, PeerAddressInfo, PublicKey, SecretKey, Splittable, LOG_TARGET, }, @@ -290,6 +291,12 @@ impl MockNetwork { } } +impl Default for MockNetwork { + fn default() -> Self { + Self::new() + } +} + /// Bidirectional in-memory stream that closes abruptly after a specified /// number of poll_write calls. #[derive(Debug)] @@ -535,3 +542,16 @@ impl UnreliableConnectionMaker { } } } + +pub struct MockPrelims { + pub id_incoming: MockPublicKey, + pub pen_incoming: MockSecretKey, + pub id_outgoing: MockPublicKey, + pub pen_outgoing: MockSecretKey, + pub incoming_handle: Pin>>>>, + pub outgoing_handle: Pin>>>>, + pub data_from_incoming: UnboundedReceiver, + pub data_from_outgoing: Option>, + pub result_from_incoming: UnboundedReceiver>, + pub result_from_outgoing: UnboundedReceiver>, +} diff --git a/finality-aleph/src/network/clique/protocols/v0/mod.rs b/finality-aleph/src/network/clique/protocols/v0/mod.rs index 7c17c39795..5d93a14f14 100644 --- a/finality-aleph/src/network/clique/protocols/v0/mod.rs +++ b/finality-aleph/src/network/clique/protocols/v0/mod.rs @@ -125,29 +125,16 @@ pub async fn incoming( #[cfg(test)] mod tests { - use futures::{ - channel::{mpsc, mpsc::UnboundedReceiver}, - pin_mut, FutureExt, StreamExt, - }; + use futures::{channel::mpsc, pin_mut, FutureExt, StreamExt}; use super::{incoming, outgoing, ProtocolError}; use crate::network::clique::{ - mock::{key, MockPublicKey, MockSecretKey, MockSplittable}, - protocols::{ConnectionType, ResultForService}, + mock::{key, MockPrelims, MockSplittable}, + protocols::ConnectionType, Data, }; - fn prepare() -> ( - MockPublicKey, - MockSecretKey, - MockPublicKey, - MockSecretKey, - impl futures::Future>>, - impl futures::Future>>, - UnboundedReceiver, - UnboundedReceiver>, - UnboundedReceiver>, - ) { + fn prepare() -> MockPrelims { let (stream_incoming, stream_outgoing) = MockSplittable::new(4096); let (id_incoming, pen_incoming) = key(); let (id_outgoing, pen_outgoing) = key(); @@ -155,19 +142,19 @@ mod tests { let (incoming_result_for_service, result_from_incoming) = mpsc::unbounded(); let (outgoing_result_for_service, result_from_outgoing) = mpsc::unbounded(); let (data_for_user, data_from_incoming) = mpsc::unbounded::(); - let incoming_handle = incoming( + let incoming_handle = Box::pin(incoming( stream_incoming, pen_incoming.clone(), incoming_result_for_service, data_for_user, - ); - let outgoing_handle = outgoing( + )); + let outgoing_handle = Box::pin(outgoing( stream_outgoing, pen_outgoing.clone(), id_incoming.clone(), outgoing_result_for_service, - ); - ( + )); + MockPrelims { id_incoming, pen_incoming, id_outgoing, @@ -175,24 +162,22 @@ mod tests { incoming_handle, outgoing_handle, data_from_incoming, + data_from_outgoing: None, result_from_incoming, result_from_outgoing, - ) + } } #[tokio::test] async fn send_data() { - let ( - _id_incoming, - _pen_incoming, - _id_outgoing, - _pen_outgoing, + let MockPrelims { incoming_handle, outgoing_handle, mut data_from_incoming, - _result_from_incoming, + result_from_incoming: _result_from_incoming, mut result_from_outgoing, - ) = prepare::>(); + .. + } = prepare::>(); let incoming_handle = incoming_handle.fuse(); let outgoing_handle = outgoing_handle.fuse(); pin_mut!(incoming_handle); @@ -201,7 +186,7 @@ mod tests { _ = &mut incoming_handle => panic!("incoming process unexpectedly finished"), _ = &mut outgoing_handle => panic!("outgoing process unexpectedly finished"), result = result_from_outgoing.next() => { - let (_, maybe_data_for_outgoing, connection_type) = result.expect("the chennel shouldn't be dropped"); + let (_, maybe_data_for_outgoing, connection_type) = result.expect("the channel shouldn't be dropped"); assert_eq!(connection_type, ConnectionType::LegacyOutgoing); let data_for_outgoing = maybe_data_for_outgoing.expect("successfully connected"); data_for_outgoing @@ -231,17 +216,15 @@ mod tests { #[tokio::test] async fn closed_by_parent_service() { - let ( - _id_incoming, - _pen_incoming, + let MockPrelims { id_outgoing, - _pen_outgoing, incoming_handle, outgoing_handle, - _data_from_incoming, + data_from_incoming: _data_from_incoming, mut result_from_incoming, - _result_from_outgoing, - ) = prepare::>(); + result_from_outgoing: _result_from_outgoing, + .. + } = prepare::>(); let incoming_handle = incoming_handle.fuse(); let outgoing_handle = outgoing_handle.fuse(); pin_mut!(incoming_handle); @@ -251,7 +234,7 @@ mod tests { _ = &mut outgoing_handle => panic!("outgoing process unexpectedly finished"), received = result_from_incoming.next() => { // we drop the exit oneshot channel, thus finishing incoming_handle - let (received_id, _, connection_type) = received.expect("the chennel shouldn't be dropped"); + let (received_id, _, connection_type) = received.expect("the channel shouldn't be dropped"); assert_eq!(connection_type, ConnectionType::LegacyIncoming); assert_eq!(received_id, id_outgoing); }, @@ -263,17 +246,14 @@ mod tests { #[tokio::test] async fn parent_service_dead() { - let ( - _id_incoming, - _pen_incoming, - _id_outgoing, - _pen_outgoing, + let MockPrelims { incoming_handle, outgoing_handle, - _data_from_incoming, + data_from_incoming: _data_from_incoming, result_from_incoming, - _result_from_outgoing, - ) = prepare::>(); + result_from_outgoing: _result_from_outgoing, + .. + } = prepare::>(); std::mem::drop(result_from_incoming); let incoming_handle = incoming_handle.fuse(); let outgoing_handle = outgoing_handle.fuse(); @@ -291,17 +271,14 @@ mod tests { #[tokio::test] async fn parent_user_dead() { - let ( - _id_incoming, - _pen_incoming, - _id_outgoing, - _pen_outgoing, + let MockPrelims { incoming_handle, outgoing_handle, data_from_incoming, - _result_from_incoming, + result_from_incoming: _result_from_incoming, mut result_from_outgoing, - ) = prepare::>(); + .. + } = prepare::>(); std::mem::drop(data_from_incoming); let incoming_handle = incoming_handle.fuse(); let outgoing_handle = outgoing_handle.fuse(); @@ -311,7 +288,7 @@ mod tests { _ = &mut incoming_handle => panic!("incoming process unexpectedly finished"), _ = &mut outgoing_handle => panic!("outgoing process unexpectedly finished"), result = result_from_outgoing.next() => { - let (_, maybe_data_for_outgoing, connection_type) = result.expect("the chennel shouldn't be dropped"); + let (_, maybe_data_for_outgoing, connection_type) = result.expect("the channel shouldn't be dropped"); assert_eq!(connection_type, ConnectionType::LegacyOutgoing); let data_for_outgoing = maybe_data_for_outgoing.expect("successfully connected"); data_for_outgoing @@ -332,17 +309,14 @@ mod tests { #[tokio::test] async fn sender_dead_before_handshake() { - let ( - _id_incoming, - _pen_incoming, - _id_outgoing, - _pen_outgoing, + let MockPrelims { incoming_handle, outgoing_handle, - _data_from_incoming, - _result_from_incoming, - _result_from_outgoing, - ) = prepare::>(); + data_from_incoming: _data_from_incoming, + result_from_incoming: _result_from_incoming, + result_from_outgoing: _result_from_outgoing, + .. + } = prepare::>(); std::mem::drop(outgoing_handle); match incoming_handle.await { Err(ProtocolError::HandshakeError(_)) => (), @@ -353,17 +327,14 @@ mod tests { #[tokio::test] async fn sender_dead_after_handshake() { - let ( - _id_incoming, - _pen_incoming, - _id_outgoing, - _pen_outgoing, + let MockPrelims { incoming_handle, outgoing_handle, - _data_from_incoming, + data_from_incoming: _data_from_incoming, mut result_from_incoming, - _result_from_outgoing, - ) = prepare::>(); + result_from_outgoing: _result_from_outgoing, + .. + } = prepare::>(); let incoming_handle = incoming_handle.fuse(); pin_mut!(incoming_handle); let (_, _exit, connection_type) = tokio::select! { @@ -382,17 +353,14 @@ mod tests { #[tokio::test] async fn receiver_dead_before_handshake() { - let ( - _id_incoming, - _pen_incoming, - _id_outgoing, - _pen_outgoing, + let MockPrelims { incoming_handle, outgoing_handle, - _data_from_incoming, - _result_from_incoming, - _result_from_outgoing, - ) = prepare::>(); + data_from_incoming: _data_from_incoming, + result_from_incoming: _result_from_incoming, + result_from_outgoing: _result_from_outgoing, + .. + } = prepare::>(); std::mem::drop(incoming_handle); match outgoing_handle.await { Err(ProtocolError::HandshakeError(_)) => (), @@ -403,17 +371,14 @@ mod tests { #[tokio::test] async fn receiver_dead_after_handshake() { - let ( - _id_incoming, - _pen_incoming, - _id_outgoing, - _pen_outgoing, + let MockPrelims { incoming_handle, outgoing_handle, - _data_from_incoming, + data_from_incoming: _data_from_incoming, mut result_from_incoming, - _result_from_outgoing, - ) = prepare::>(); + result_from_outgoing: _result_from_outgoing, + .. + } = prepare::>(); let outgoing_handle = outgoing_handle.fuse(); pin_mut!(outgoing_handle); let (_, _exit, connection_type) = tokio::select! { @@ -434,17 +399,14 @@ mod tests { #[tokio::test] async fn receiver_dead_after_handshake_try_send_error() { - let ( - _id_incoming, - _pen_incoming, - _id_outgoing, - _pen_outgoing, + let MockPrelims { incoming_handle, outgoing_handle, - _data_from_incoming, + data_from_incoming: _data_from_incoming, mut result_from_incoming, - _result_from_outgoing, - ) = prepare::>(); + result_from_outgoing: _result_from_outgoing, + .. + } = prepare::>(); let outgoing_handle = outgoing_handle.fuse(); pin_mut!(outgoing_handle); let (_, _exit, connection_type) = tokio::select! { diff --git a/finality-aleph/src/network/clique/protocols/v1/mod.rs b/finality-aleph/src/network/clique/protocols/v1/mod.rs index 978dc3ba8e..701baeb244 100644 --- a/finality-aleph/src/network/clique/protocols/v1/mod.rs +++ b/finality-aleph/src/network/clique/protocols/v1/mod.rs @@ -145,30 +145,16 @@ pub async fn incoming( #[cfg(test)] mod tests { - use futures::{ - channel::{mpsc, mpsc::UnboundedReceiver}, - pin_mut, FutureExt, StreamExt, - }; + use futures::{channel::mpsc, pin_mut, FutureExt, StreamExt}; use super::{incoming, outgoing, ProtocolError}; use crate::network::clique::{ - mock::{key, MockPublicKey, MockSecretKey, MockSplittable}, - protocols::{ConnectionType, ResultForService}, + mock::{key, MockPrelims, MockSplittable}, + protocols::ConnectionType, Data, }; - fn prepare() -> ( - MockPublicKey, - MockSecretKey, - MockPublicKey, - MockSecretKey, - impl futures::Future>>, - impl futures::Future>>, - UnboundedReceiver, - UnboundedReceiver, - UnboundedReceiver>, - UnboundedReceiver>, - ) { + fn prepare() -> MockPrelims { let (stream_incoming, stream_outgoing) = MockSplittable::new(4096); let (id_incoming, pen_incoming) = key(); let (id_outgoing, pen_outgoing) = key(); @@ -177,20 +163,20 @@ mod tests { let (outgoing_result_for_service, result_from_outgoing) = mpsc::unbounded(); let (incoming_data_for_user, data_from_incoming) = mpsc::unbounded::(); let (outgoing_data_for_user, data_from_outgoing) = mpsc::unbounded::(); - let incoming_handle = incoming( + let incoming_handle = Box::pin(incoming( stream_incoming, pen_incoming.clone(), incoming_result_for_service, incoming_data_for_user, - ); - let outgoing_handle = outgoing( + )); + let outgoing_handle = Box::pin(outgoing( stream_outgoing, pen_outgoing.clone(), id_incoming.clone(), outgoing_result_for_service, outgoing_data_for_user, - ); - ( + )); + MockPrelims { id_incoming, pen_incoming, id_outgoing, @@ -198,26 +184,24 @@ mod tests { incoming_handle, outgoing_handle, data_from_incoming, - data_from_outgoing, + data_from_outgoing: Some(data_from_outgoing), result_from_incoming, result_from_outgoing, - ) + } } #[tokio::test] async fn send_data() { - let ( - _id_incoming, - _pen_incoming, - _id_outgoing, - _pen_outgoing, + let MockPrelims { incoming_handle, outgoing_handle, mut data_from_incoming, - mut data_from_outgoing, + data_from_outgoing, mut result_from_incoming, mut result_from_outgoing, - ) = prepare::>(); + .. + } = prepare::>(); + let mut data_from_outgoing = data_from_outgoing.expect("No data from outgoing!"); let incoming_handle = incoming_handle.fuse(); let outgoing_handle = outgoing_handle.fuse(); pin_mut!(incoming_handle); @@ -226,7 +210,7 @@ mod tests { _ = &mut incoming_handle => panic!("incoming process unexpectedly finished"), _ = &mut outgoing_handle => panic!("outgoing process unexpectedly finished"), result = result_from_outgoing.next() => { - let (_, maybe_data_for_outgoing, connection_type) = result.expect("the chennel shouldn't be dropped"); + let (_, maybe_data_for_outgoing, connection_type) = result.expect("the channel shouldn't be dropped"); assert_eq!(connection_type, ConnectionType::New); let data_for_outgoing = maybe_data_for_outgoing.expect("successfully connected"); data_for_outgoing @@ -242,7 +226,7 @@ mod tests { _ = &mut incoming_handle => panic!("incoming process unexpectedly finished"), _ = &mut outgoing_handle => panic!("outgoing process unexpectedly finished"), result = result_from_incoming.next() => { - let (_, maybe_data_for_incoming, connection_type) = result.expect("the chennel shouldn't be dropped"); + let (_, maybe_data_for_incoming, connection_type) = result.expect("the channel shouldn't be dropped"); assert_eq!(connection_type, ConnectionType::New); let data_for_incoming = maybe_data_for_incoming.expect("successfully connected"); data_for_incoming @@ -286,18 +270,16 @@ mod tests { #[tokio::test] async fn closed_by_parent_service() { - let ( - _id_incoming, - _pen_incoming, + let MockPrelims { id_outgoing, - _pen_outgoing, incoming_handle, outgoing_handle, - _data_from_incoming, - _data_from_outgoing, + data_from_incoming: _data_from_incoming, + data_from_outgoing: _data_from_outgoing, mut result_from_incoming, - _result_from_outgoing, - ) = prepare::>(); + result_from_outgoing: _result_from_outgoing, + .. + } = prepare::>(); let incoming_handle = incoming_handle.fuse(); let outgoing_handle = outgoing_handle.fuse(); pin_mut!(incoming_handle); @@ -307,7 +289,7 @@ mod tests { _ = &mut outgoing_handle => panic!("outgoing process unexpectedly finished"), received = result_from_incoming.next() => { // we drop the data sending channel, thus finishing incoming_handle - let (received_id, _, connection_type) = received.expect("the chennel shouldn't be dropped"); + let (received_id, _, connection_type) = received.expect("the channel shouldn't be dropped"); assert_eq!(connection_type, ConnectionType::New); assert_eq!(received_id, id_outgoing); }, @@ -319,18 +301,15 @@ mod tests { #[tokio::test] async fn parent_service_dead() { - let ( - _id_incoming, - _pen_incoming, - _id_outgoing, - _pen_outgoing, + let MockPrelims { incoming_handle, outgoing_handle, - _data_from_incoming, - _data_from_outgoing, + data_from_incoming: _data_from_incoming, + data_from_outgoing: _data_from_outgoing, result_from_incoming, - _result_from_outgoing, - ) = prepare::>(); + result_from_outgoing: _result_from_outgoing, + .. + } = prepare::>(); std::mem::drop(result_from_incoming); let incoming_handle = incoming_handle.fuse(); let outgoing_handle = outgoing_handle.fuse(); @@ -348,18 +327,15 @@ mod tests { #[tokio::test] async fn parent_user_dead() { - let ( - _id_incoming, - _pen_incoming, - _id_outgoing, - _pen_outgoing, + let MockPrelims { incoming_handle, outgoing_handle, data_from_incoming, - _data_from_outgoing, - _result_from_incoming, + data_from_outgoing: _data_from_outgoing, + result_from_incoming: _result_from_incoming, mut result_from_outgoing, - ) = prepare::>(); + .. + } = prepare::>(); std::mem::drop(data_from_incoming); let incoming_handle = incoming_handle.fuse(); let outgoing_handle = outgoing_handle.fuse(); @@ -369,7 +345,7 @@ mod tests { _ = &mut incoming_handle => panic!("incoming process unexpectedly finished"), _ = &mut outgoing_handle => panic!("outgoing process unexpectedly finished"), result = result_from_outgoing.next() => { - let (_, maybe_data_for_outgoing, connection_type) = result.expect("the chennel shouldn't be dropped"); + let (_, maybe_data_for_outgoing, connection_type) = result.expect("the channel shouldn't be dropped"); assert_eq!(connection_type, ConnectionType::New); let data_for_outgoing = maybe_data_for_outgoing.expect("successfully connected"); data_for_outgoing @@ -390,18 +366,15 @@ mod tests { #[tokio::test] async fn sender_dead_before_handshake() { - let ( - _id_incoming, - _pen_incoming, - _id_outgoing, - _pen_outgoing, + let MockPrelims { incoming_handle, outgoing_handle, - _data_from_incoming, - _data_from_outgoing, - _result_from_incoming, - _result_from_outgoing, - ) = prepare::>(); + data_from_incoming: _data_from_incoming, + data_from_outgoing: _data_from_outgoing, + result_from_incoming: _result_from_incoming, + result_from_outgoing: _result_from_outgoing, + .. + } = prepare::>(); std::mem::drop(outgoing_handle); match incoming_handle.await { Err(ProtocolError::HandshakeError(_)) => (), @@ -412,18 +385,15 @@ mod tests { #[tokio::test] async fn sender_dead_after_handshake() { - let ( - _id_incoming, - _pen_incoming, - _id_outgoing, - _pen_outgoing, + let MockPrelims { incoming_handle, outgoing_handle, - _data_from_incoming, - _data_from_outgoing, + data_from_incoming: _data_from_incoming, + data_from_outgoing: _data_from_outgoing, mut result_from_incoming, - _result_from_outgoing, - ) = prepare::>(); + result_from_outgoing: _result_from_outgoing, + .. + } = prepare::>(); let incoming_handle = incoming_handle.fuse(); pin_mut!(incoming_handle); let (_, _exit, connection_type) = tokio::select! { @@ -442,18 +412,15 @@ mod tests { #[tokio::test] async fn receiver_dead_before_handshake() { - let ( - _id_incoming, - _pen_incoming, - _id_outgoing, - _pen_outgoing, + let MockPrelims { incoming_handle, outgoing_handle, - _data_from_incoming, - _data_from_outgoing, - _result_from_incoming, - _result_from_outgoing, - ) = prepare::>(); + data_from_incoming: _data_from_incoming, + data_from_outgoing: _data_from_outgoing, + result_from_incoming: _result_from_incoming, + result_from_outgoing: _result_from_outgoing, + .. + } = prepare::>(); std::mem::drop(incoming_handle); match outgoing_handle.await { Err(ProtocolError::HandshakeError(_)) => (), diff --git a/finality-aleph/src/network/data/component.rs b/finality-aleph/src/network/data/component.rs index 75cfd3c323..c154ff1664 100644 --- a/finality-aleph/src/network/data/component.rs +++ b/finality-aleph/src/network/data/component.rs @@ -227,8 +227,8 @@ mod tests { } } - impl Into for IntoType { - fn into(self) -> FromType { + impl From for FromType { + fn from(_value: IntoType) -> Self { FromType::A } } diff --git a/finality-aleph/src/testing/data_store.rs b/finality-aleph/src/testing/data_store.rs index 7005b69942..ceb32cfde3 100644 --- a/finality-aleph/src/testing/data_store.rs +++ b/finality-aleph/src/testing/data_store.rs @@ -260,7 +260,7 @@ async fn correct_messages_go_through() { .await; for i in 1..=MAX_DATA_BRANCH_LEN { - let blocks_branch = blocks[0..(i as usize)].to_vec(); + let blocks_branch = blocks[0..i].to_vec(); let test_data: TestData = vec![aleph_data_from_blocks(blocks_branch)]; test_handler.send_data(test_data.clone()); @@ -282,7 +282,7 @@ async fn too_long_branch_message_does_not_go_through() { test_handler.finalize_block(&blocks[MAX_DATA_BRANCH_LEN + 2].hash()); - let blocks_branch = blocks[0..((MAX_DATA_BRANCH_LEN + 1) as usize)].to_vec(); + let blocks_branch = blocks[0..(MAX_DATA_BRANCH_LEN + 1)].to_vec(); let test_data: TestData = vec![aleph_data_from_blocks(blocks_branch)]; test_handler.send_data(test_data.clone()); test_handler @@ -381,7 +381,7 @@ async fn branch_with_not_finalized_ancestor_correctly_handled() { fn send_proposals_of_each_len(blocks: Vec, test_handler: &mut TestHandler) { for i in 1..=MAX_DATA_BRANCH_LEN { - let blocks_branch = blocks[0..(i as usize)].to_vec(); + let blocks_branch = blocks[0..i].to_vec(); let test_data: TestData = vec![aleph_data_from_blocks(blocks_branch)]; test_handler.send_data(test_data.clone()); } diff --git a/fork-off/Cargo.lock b/fork-off/Cargo.lock index e9fa11e878..73cec88c08 100644 --- a/fork-off/Cargo.lock +++ b/fork-off/Cargo.lock @@ -839,7 +839,7 @@ checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" [[package]] name = "fork-off" -version = "1.3.0" +version = "1.4.0" dependencies = [ "anyhow", "async-channel", diff --git a/pallets/elections/src/mock.rs b/pallets/elections/src/mock.rs index 492823bfb5..d7eb53f13c 100644 --- a/pallets/elections/src/mock.rs +++ b/pallets/elections/src/mock.rs @@ -275,10 +275,7 @@ impl TestExtBuilder { .chain(self.reserved_validators.iter()) .collect(); - let balances: Vec<_> = validators - .iter() - .map(|i| (**i as u64, 10_000_000)) - .collect(); + let balances: Vec<_> = validators.iter().map(|i| (**i, 10_000_000)).collect(); pallet_balances::GenesisConfig:: { balances } .assimilate_storage(&mut t) diff --git a/scripts/run_checks_on_aleph_node.sh b/scripts/run_checks_on_aleph_node.sh index 7b0dffe210..c4b1237496 100755 --- a/scripts/run_checks_on_aleph_node.sh +++ b/scripts/run_checks_on_aleph_node.sh @@ -2,6 +2,6 @@ set -e -CARGO_INCREMENTAL=0 cargo clippy --all-targets --all-features --no-deps +CARGO_INCREMENTAL=0 cargo clippy --all-targets --all-features -- --no-deps -D warnings CARGO_INCREMENTAL=0 cargo fmt --all CARGO_INCREMENTAL=0 cargo test --lib From efb28ccbd61439f5bfa050c37c806a6ccf7a490d Mon Sep 17 00:00:00 2001 From: timorl Date: Wed, 21 Dec 2022 14:41:11 +0100 Subject: [PATCH 052/212] Add logging about ABFT version (#823) * Add logging about ABFT version * Legacy-only log Co-authored-by: timorl --- finality-aleph/src/party/manager/mod.rs | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/finality-aleph/src/party/manager/mod.rs b/finality-aleph/src/party/manager/mod.rs index ee4081303c..933cc42dce 100644 --- a/finality-aleph/src/party/manager/mod.rs +++ b/finality-aleph/src/party/manager/mod.rs @@ -3,7 +3,7 @@ use std::{collections::HashSet, marker::PhantomData, sync::Arc}; use aleph_primitives::{AlephSessionApi, KEY_TYPE}; use async_trait::async_trait; use futures::channel::oneshot; -use log::{debug, trace, warn}; +use log::{debug, info, trace, warn}; use sc_client_api::Backend; use sp_consensus::SelectChain; use sp_keystore::CryptoStore; @@ -344,9 +344,18 @@ where .next_session_finality_version(&BlockId::Number(last_block_of_previous_session)) { #[cfg(feature = "only_legacy")] - _ if self.only_legacy() => self.legacy_subtasks(params), - Ok(version) if version == CURRENT_VERSION => self.current_subtasks(params), - Ok(version) if version == LEGACY_VERSION => self.legacy_subtasks(params), + _ if self.only_legacy() => { + info!(target: "aleph-party", "Running session with legacy-only AlephBFT version."); + self.legacy_subtasks(params) + } + Ok(version) if version == CURRENT_VERSION => { + info!(target: "aleph-party", "Running session with AlephBFT version {}, which is current.", version); + self.current_subtasks(params) + } + Ok(version) if version == LEGACY_VERSION => { + info!(target: "aleph-party", "Running session with AlephBFT version {}, which is legacy.", version); + self.legacy_subtasks(params) + } Ok(version) => { panic!("Unsupported version {}. Supported versions: {} or {}. Potentially outdated node.", version, LEGACY_VERSION, CURRENT_VERSION) } From 2ed033d2c8e0daa5299e5c25b85eb9ce68c7765e Mon Sep 17 00:00:00 2001 From: Michal Swietek Date: Thu, 22 Dec 2022 11:12:03 +0100 Subject: [PATCH 053/212] bump versions (#820) * bump versions * Adjust to new versions * Bump finality version * bump versions and use defaults * fmt * consistent import * Bump default abft version --- Cargo.lock | 437 ++++++++++++++------------ aggregator/Cargo.toml | 6 +- finality-aleph/Cargo.toml | 14 +- finality-aleph/src/abft/common.rs | 21 +- finality-aleph/src/abft/current.rs | 22 +- finality-aleph/src/abft/legacy.rs | 26 +- finality-aleph/src/aggregation/mod.rs | 2 +- pallets/aleph/src/lib.rs | 2 +- 8 files changed, 281 insertions(+), 249 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index ec085b1b6c..d828ae8c4a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -18,7 +18,16 @@ version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b9ecd88a8c8378ca913a680cd98f0f13ac67383d35993f86c90a70e3f137816b" dependencies = [ - "gimli", + "gimli 0.26.2", +] + +[[package]] +name = "addr2line" +version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a76fd60b23679b7d19bd066031410fb7e458ccc5e958eb5c325888ce4baedc97" +dependencies = [ + "gimli 0.27.0", ] [[package]] @@ -64,11 +73,11 @@ dependencies = [ [[package]] name = "aggregator" -version = "0.1.0" -source = "git+https://github.com/Cardinal-Cryptography/aleph-node.git?tag=aggregator-v0.1.0#5e7e4300e92b2b4c6fd18acd2f430b83e6e28903" +version = "0.2.1" +source = "git+https://github.com/Cardinal-Cryptography/aleph-node.git?tag=aggregator-v0.2.1#95a6b02ccd2295f9d4c21ece2b0721a4b99e1ee5" dependencies = [ - "aleph-bft-rmc 0.4.0", - "aleph-bft-types 0.6.0", + "aleph-bft-rmc 0.5.2", + "aleph-bft-types 0.7.2", "async-trait", "futures", "log", @@ -78,10 +87,10 @@ dependencies = [ [[package]] name = "aggregator" -version = "0.2.0" +version = "0.3.0" dependencies = [ - "aleph-bft-rmc 0.5.1", - "aleph-bft-types 0.6.0", + "aleph-bft-rmc 0.6.1", + "aleph-bft-types 0.8.1", "async-trait", "futures", "log", @@ -111,12 +120,12 @@ dependencies = [ [[package]] name = "aleph-bft" -version = "0.18.2" +version = "0.19.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d802f8bc4d40b1acf5c895a27463866eae7537fc30a5f5884cfde7a01464630c" +checksum = "9cc671f15e05082b6ae350d40d83964fa92e26ead5d1b739f83ce130bd733e2d" dependencies = [ - "aleph-bft-rmc 0.4.0", - "aleph-bft-types 0.6.0", + "aleph-bft-rmc 0.5.2", + "aleph-bft-types 0.7.2", "async-trait", "derivative", "futures", @@ -130,12 +139,12 @@ dependencies = [ [[package]] name = "aleph-bft" -version = "0.19.3" +version = "0.20.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cc671f15e05082b6ae350d40d83964fa92e26ead5d1b739f83ce130bd733e2d" +checksum = "6b728a1cd327f84c61a3c0cf087f952703237fb6db8bde33284d67827e86e58f" dependencies = [ - "aleph-bft-rmc 0.5.1", - "aleph-bft-types 0.7.2", + "aleph-bft-rmc 0.6.1", + "aleph-bft-types 0.8.1", "async-trait", "derivative", "futures", @@ -149,9 +158,9 @@ dependencies = [ [[package]] name = "aleph-bft-crypto" -version = "0.4.0" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba414eaabb61c300a93267e7d07133a960fc417df394086da804b032ead6b715" +checksum = "fcc63efe80dacbfe53bc008aab6a24e864142198355b1a9a4f31543246e3d63f" dependencies = [ "async-trait", "bit-vec", @@ -162,9 +171,9 @@ dependencies = [ [[package]] name = "aleph-bft-crypto" -version = "0.5.2" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcc63efe80dacbfe53bc008aab6a24e864142198355b1a9a4f31543246e3d63f" +checksum = "39ef65bb0b342d411e32789cdf722cbf163667e1656577ef356221c5aebf75c9" dependencies = [ "async-trait", "bit-vec", @@ -175,11 +184,11 @@ dependencies = [ [[package]] name = "aleph-bft-rmc" -version = "0.4.0" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14bb3b9c3729667084ae9c1257e785219e23e1d1ee246f73b18a9457aead6214" +checksum = "38c317cd1a7c5b9208fd02c8f33ea7a89b55be1181ccc42da45e12dbefb66209" dependencies = [ - "aleph-bft-crypto 0.4.0", + "aleph-bft-crypto 0.5.2", "async-trait", "futures", "futures-timer", @@ -189,11 +198,11 @@ dependencies = [ [[package]] name = "aleph-bft-rmc" -version = "0.5.1" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1190a7b2af2c25bd0f318a9a45c05603e5f93cd170be7da15a10c33f2c8153bc" +checksum = "e1a34546c3d75df640c0224294be256fd0c17ed3f7191367124ece4d93753061" dependencies = [ - "aleph-bft-crypto 0.5.2", + "aleph-bft-crypto 0.6.0", "async-trait", "futures", "futures-timer", @@ -203,11 +212,11 @@ dependencies = [ [[package]] name = "aleph-bft-types" -version = "0.6.0" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb9f5b8526b63c76102ef1b36400cf62381f6900585a8258511580af917dd580" +checksum = "14c0995c7a6709cec7dc62ef8316426442ea4756b34182c21d6549a1c6bfb904" dependencies = [ - "aleph-bft-crypto 0.4.0", + "aleph-bft-crypto 0.5.2", "async-trait", "futures", "parity-scale-codec", @@ -215,11 +224,11 @@ dependencies = [ [[package]] name = "aleph-bft-types" -version = "0.7.2" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14c0995c7a6709cec7dc62ef8316426442ea4756b34182c21d6549a1c6bfb904" +checksum = "4b39893b3cb3670ade7d8fe3cb807f9b032cd2a2937df88a64b53ad927fc1510" dependencies = [ - "aleph-bft-crypto 0.5.2", + "aleph-bft-crypto 0.6.0", "async-trait", "futures", "parity-scale-codec", @@ -350,9 +359,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.66" +version = "1.0.68" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "216261ddc8289130e551ddcd5ce8a064710c0d064a4d2895c67151c92b5443f6" +checksum = "2cb2f989d18dd141ab8ae82f64d1a8cdd37e0840f73a406896cf5e99502fab61" [[package]] name = "approx" @@ -540,9 +549,9 @@ checksum = "7a40729d2133846d9ed0ea60a8b9541bccddab49cd30f0715a1da672fe9a2524" [[package]] name = "async-trait" -version = "0.1.59" +version = "0.1.60" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31e6e93155431f3931513b243d371981bb2770112b370c82745a1d19d2f99364" +checksum = "677d1d8ab452a3936018a687b20e6f7cf5363d713b732b8884001317b0e48aa3" dependencies = [ "proc-macro2", "quote", @@ -587,16 +596,16 @@ checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" [[package]] name = "backtrace" -version = "0.3.66" +version = "0.3.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cab84319d616cfb654d03394f38ab7e6f0919e181b1b57e1fd15e7fb4077d9a7" +checksum = "233d376d6d185f2a3093e58f283f60f880315b6c60075b01f36b3b85154564ca" dependencies = [ - "addr2line", + "addr2line 0.19.0", "cc", "cfg-if", "libc", - "miniz_oxide 0.5.4", - "object", + "miniz_oxide", + "object 0.30.0", "rustc-demangle", ] @@ -720,9 +729,9 @@ dependencies = [ [[package]] name = "blake2" -version = "0.10.5" +version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b12e5fd123190ce1c2e559308a94c9bacad77907d4c6005d9e58fe1a0689e55e" +checksum = "46502ad458c9a52b69d4d4d32775c788b7a1b85e8bc9d482d92250fc0e3f8efe" dependencies = [ "digest 0.10.6", ] @@ -916,16 +925,16 @@ checksum = "4acbb09d9ee8e23699b9634375c72795d095bf268439da88562cf9b501f181fa" dependencies = [ "camino", "cargo-platform", - "semver 1.0.14", + "semver 1.0.16", "serde", "serde_json", ] [[package]] name = "cc" -version = "1.0.77" +version = "1.0.78" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9f73505338f7d905b19d18738976aae232eb46b8efc15554ffc56deb5d9ebe4" +checksum = "a20104e2335ce8a659d6dd92a51a767a0c062599c73b343fd152cb401e828c3d" dependencies = [ "jobserver", ] @@ -1035,9 +1044,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.0.29" +version = "4.0.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d63b9e9c07271b9957ad22c173bae2a4d9a81127680962039296abcd2f8251d" +checksum = "656ad1e55e23d287773f7d8192c300dc715c3eeded93b3da651d11c42cfd74d2" dependencies = [ "bitflags", "clap_derive", @@ -1178,7 +1187,7 @@ dependencies = [ "cranelift-codegen-shared", "cranelift-entity", "cranelift-isle", - "gimli", + "gimli 0.26.2", "log", "regalloc2", "smallvec", @@ -1401,22 +1410,23 @@ dependencies = [ [[package]] name = "curve25519-dalek" -version = "4.0.0-pre.1" +version = "4.0.0-pre.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4033478fbf70d6acf2655ac70da91ee65852d69daf7a67bf7a2f518fb47aafcf" +checksum = "67bc65846be335cb20f4e52d49a437b773a2c1fdb42b19fc84e79e6f6771536f" dependencies = [ - "byteorder", - "digest 0.9.0", - "rand_core 0.6.4", + "cfg-if", + "fiat-crypto", + "packed_simd_2", + "platforms 3.0.2", "subtle", "zeroize", ] [[package]] name = "cxx" -version = "1.0.82" +version = "1.0.85" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4a41a86530d0fe7f5d9ea779916b7cadd2d4f9add748b99c2c029cbbdfaf453" +checksum = "5add3fc1717409d029b20c5b6903fc0c0b02fa6741d820054f4a2efa5e5816fd" dependencies = [ "cc", "cxxbridge-flags", @@ -1426,9 +1436,9 @@ dependencies = [ [[package]] name = "cxx-build" -version = "1.0.82" +version = "1.0.85" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06416d667ff3e3ad2df1cd8cd8afae5da26cf9cec4d0825040f88b5ca659a2f0" +checksum = "b4c87959ba14bc6fbc61df77c3fcfe180fc32b93538c4f1031dd802ccb5f2ff0" dependencies = [ "cc", "codespan-reporting", @@ -1441,15 +1451,15 @@ dependencies = [ [[package]] name = "cxxbridge-flags" -version = "1.0.82" +version = "1.0.85" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "820a9a2af1669deeef27cb271f476ffd196a2c4b6731336011e0ba63e2c7cf71" +checksum = "69a3e162fde4e594ed2b07d0f83c6c67b745e7f28ce58c6df5e6b6bef99dfb59" [[package]] name = "cxxbridge-macro" -version = "1.0.82" +version = "1.0.85" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a08a6e2fcc370a089ad3b4aaf54db3b1b4cee38ddabce5896b33eb693275f470" +checksum = "3e7e2adeb6a0d4a282e581096b06e1791532b7d576dcde5ccd9382acf55db8e6" dependencies = [ "proc-macro2", "quote", @@ -1458,9 +1468,9 @@ dependencies = [ [[package]] name = "data-encoding" -version = "2.3.2" +version = "2.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ee2393c4a91429dffb4bedf19f4d6abf27d8a732c8ce4980305d782e5426d57" +checksum = "23d8666cb01533c39dde32bcbab8e227b4ed6679b2c925eba05feabea39508fb" [[package]] name = "data-encoding-macro" @@ -1615,9 +1625,9 @@ checksum = "9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650" [[package]] name = "dtoa" -version = "1.0.4" +version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8a6eee2d5d0d113f015688310da018bd1d864d86bd567c8fca9c266889e1bfa" +checksum = "c00704156a7de8df8da0911424e30c2049957b0a714542a44e05fe693dd85313" [[package]] name = "dyn-clonable" @@ -1642,9 +1652,9 @@ dependencies = [ [[package]] name = "dyn-clone" -version = "1.0.9" +version = "1.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f94fa09c2aeea5b8839e414b7b841bf429fd25b9c522116ac97ee87856d88b2" +checksum = "c9b0705efd4599c15a38151f4721f7bc388306f61084d3bfd50bd07fbca5cb60" [[package]] name = "ecdsa" @@ -1846,6 +1856,12 @@ dependencies = [ "subtle", ] +[[package]] +name = "fiat-crypto" +version = "0.1.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a214f5bb88731d436478f3ae1f8a277b62124089ba9fb67f4f93fb100ef73c90" + [[package]] name = "file-per-thread-logger" version = "0.1.5" @@ -1858,9 +1874,9 @@ dependencies = [ [[package]] name = "filetime" -version = "0.2.18" +version = "0.2.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b9663d381d07ae25dc88dbdf27df458faa83a9b25336bcac83d5e452b5fc9d3" +checksum = "4e884668cd0c7480504233e951174ddc3b382f7c2666e3b7310b5c4e7b0c37f9" dependencies = [ "cfg-if", "libc", @@ -1870,15 +1886,15 @@ dependencies = [ [[package]] name = "finality-aleph" -version = "0.5.4" +version = "0.6.0" dependencies = [ - "aggregator 0.1.0", - "aggregator 0.2.0", - "aleph-bft 0.18.2", + "aggregator 0.2.1", + "aggregator 0.3.0", "aleph-bft 0.19.3", - "aleph-bft-crypto 0.4.0", - "aleph-bft-rmc 0.4.0", - "aleph-bft-rmc 0.5.1", + "aleph-bft 0.20.4", + "aleph-bft-crypto 0.5.2", + "aleph-bft-rmc 0.5.2", + "aleph-bft-rmc 0.6.1", "async-trait", "bytes", "derive_more", @@ -1961,7 +1977,7 @@ checksum = "a8a2db397cb1c8772f31494cb8917e48cd1e64f0fa7efac59fbd741a0a8ce841" dependencies = [ "crc32fast", "libz-sys", - "miniz_oxide 0.6.2", + "miniz_oxide", ] [[package]] @@ -2405,6 +2421,12 @@ dependencies = [ "stable_deref_trait", ] +[[package]] +name = "gimli" +version = "0.27.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dec7af912d60cdbd3677c1af9352ebae6fb8394d165568a2234df0fa00f87793" + [[package]] name = "glob" version = "0.3.0" @@ -2643,9 +2665,9 @@ dependencies = [ [[package]] name = "hyper-rustls" -version = "0.23.1" +version = "0.23.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59df7c4e19c950e6e0e868dcc0a300b09a9b88e9ec55bd879ca819087a77355d" +checksum = "1788965e61b367cd03a62950836d5cd41560c3577d90e40e0819373194d1661c" dependencies = [ "http", "hyper", @@ -2823,19 +2845,19 @@ dependencies = [ [[package]] name = "ipnet" -version = "2.5.1" +version = "2.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f88c5561171189e69df9d98bcf18fd5f9558300f7ea7b801eb8a0fd748bd8745" +checksum = "11b0d96e660696543b251e58030cf9787df56da39dab19ad60eae7353040917e" [[package]] name = "is-terminal" -version = "0.4.1" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "927609f78c2913a6f6ac3c27a4fe87f43e2a35367c0c4b0f8265e8f49a104330" +checksum = "28dfb6c8100ccc63462345b67d1bbc3679177c75ee4bf59bf29c8b1d110b8189" dependencies = [ "hermit-abi 0.2.6", "io-lifetimes 1.0.3", - "rustix 0.36.4", + "rustix 0.36.5", "windows-sys 0.42.0", ] @@ -2850,9 +2872,9 @@ dependencies = [ [[package]] name = "itoa" -version = "1.0.4" +version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4217ad341ebadf8d8e724e264f13e593e0648f5b3e94b3896a5df283be015ecc" +checksum = "fad582f4b9e86b6caa621cabeb0963332d92eea04729ab12892c2533951e6440" [[package]] name = "jobserver" @@ -3097,9 +3119,9 @@ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" [[package]] name = "libc" -version = "0.2.137" +version = "0.2.138" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc7fcc620a3bff7cdd7a365be3376c97191aeaccc2a603e600951e452615bf89" +checksum = "db6d7e329c562c5dfab7a46a2afabc8b987ab9a4834c9d1ca04dc54c1546cef8" [[package]] name = "libloading" @@ -3111,6 +3133,12 @@ dependencies = [ "winapi", ] +[[package]] +name = "libm" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7fc7aa29613bd6a620df431842069224d8bc9011086b1db4c0e0cd47fa03ec9a" + [[package]] name = "libm" version = "0.2.6" @@ -3526,9 +3554,9 @@ dependencies = [ [[package]] name = "link-cplusplus" -version = "1.0.7" +version = "1.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9272ab7b96c9046fbc5bc56c06c117cb639fe2d509df0c421cad82d2915cf369" +checksum = "ecd207c9c713c34f95a097a5b029ac2ce6010530c7b49d7fea24d977dede04f5" dependencies = [ "cc", ] @@ -3566,9 +3594,9 @@ checksum = "d4d2456c373231a208ad294c33dc5bff30051eafd954cd4caae83a712b12854d" [[package]] name = "linux-raw-sys" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f9f08d8963a6c613f4b1a78f4f4a4dbfadf8e6545b2d72861731e4858b8b47f" +checksum = "f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4" [[package]] name = "lock_api" @@ -3688,7 +3716,7 @@ version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b20a59d985586e4a5aef64564ac77299f8586d8be6cf9106a5a40207e8908efb" dependencies = [ - "rustix 0.36.4", + "rustix 0.36.5", ] [[package]] @@ -3753,15 +3781,6 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" -[[package]] -name = "miniz_oxide" -version = "0.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96590ba8f175222643a85693f33d26e9c8a015f599c216509b1a6894af675d34" -dependencies = [ - "adler", -] - [[package]] name = "miniz_oxide" version = "0.6.2" @@ -3996,9 +4015,9 @@ dependencies = [ [[package]] name = "nix" -version = "0.24.2" +version = "0.24.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "195cdbc1741b8134346d515b3a56a1c94b0912758009cfd53f99ea0f57b065fc" +checksum = "fa52e972a9a719cecb6864fb88568781eb706bac2cd1d4f04a648542dbf78069" dependencies = [ "bitflags", "cfg-if", @@ -4055,9 +4074,9 @@ dependencies = [ [[package]] name = "num-format" -version = "0.4.3" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54b862ff8df690cf089058c98b183676a7ed0f974cc08b426800093227cbff3b" +checksum = "a652d9771a63711fd3c3deb670acfbe5c30a4072e664d7a3bf5a9e1056ac72c3" dependencies = [ "arrayvec 0.7.2", "itoa", @@ -4092,16 +4111,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" dependencies = [ "autocfg", - "libm", + "libm 0.2.6", ] [[package]] name = "num_cpus" -version = "1.14.0" +version = "1.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6058e64324c71e02bc2b150e4f3bc8286db6c83092132ffa3f6b1eab0f9def5" +checksum = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b" dependencies = [ - "hermit-abi 0.1.19", + "hermit-abi 0.2.6", "libc", ] @@ -4117,6 +4136,15 @@ dependencies = [ "memchr", ] +[[package]] +name = "object" +version = "0.30.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "239da7f290cfa979f43f85a8efeee9a8a76d0827c356d37f9d3d7254d6b537fb" +dependencies = [ + "memchr", +] + [[package]] name = "once_cell" version = "1.16.0" @@ -4147,6 +4175,16 @@ version = "6.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee" +[[package]] +name = "packed_simd_2" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1914cd452d8fccd6f9db48147b29fd4ae05bea9dc5d9ad578509f72415de282" +dependencies = [ + "cfg-if", + "libm 0.1.4", +] + [[package]] name = "pallet-aleph" version = "0.5.4" @@ -4680,7 +4718,7 @@ checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99" dependencies = [ "instant", "lock_api", - "parking_lot_core 0.8.5", + "parking_lot_core 0.8.6", ] [[package]] @@ -4695,9 +4733,9 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.8.5" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d76e8e1493bcac0d2766c42737f34458f1c8c50c0d23bcb24ea953affb273216" +checksum = "60a2cfe6f0ad2bfc16aefa463b497d5c7a5ecd44a23efa72aa342d90177356dc" dependencies = [ "cfg-if", "instant", @@ -4722,9 +4760,9 @@ dependencies = [ [[package]] name = "paste" -version = "1.0.9" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1de2e551fb905ac83f73f7aedf2f0cb4a0da7e35efa24a202a936269f1f18e1" +checksum = "d01a5bd0424d00070b0098dd17ebca6f961a959dead1dbcbbbc1d1cd8d3deeba" [[package]] name = "pbkdf2" @@ -4836,11 +4874,17 @@ version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e8d0eef3571242013a0d5dc84861c3ae4a652e56e12adf8bdc26ff5f8cb34c94" +[[package]] +name = "platforms" +version = "3.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3d7ddaed09e0eb771a79ab0fd64609ba0afb0a8366421957936ad14cbd13630" + [[package]] name = "polling" -version = "2.5.1" +version = "2.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "166ca89eb77fd403230b9c156612965a81e094ec6ec3aa13663d4c8b113fa748" +checksum = "22122d5ec4f9fe1b3916419b76be1e80bcb93f618d071d2edf841b137b2a2bd6" dependencies = [ "autocfg", "cfg-if", @@ -4911,9 +4955,9 @@ dependencies = [ [[package]] name = "prettyplease" -version = "0.1.21" +version = "0.1.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c142c0e46b57171fe0c528bee8c5b7569e80f0c17e377cd0e30ea57dbc11bb51" +checksum = "2c8992a85d8e93a28bdf76137db888d3874e3b230dee5ed8bebac4c9f7617773" dependencies = [ "proc-macro2", "syn", @@ -4984,9 +5028,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.47" +version = "1.0.49" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ea3d908b0e36316caf9e9e2c4625cdde190a7e6f440d794667ed17a1855e725" +checksum = "57a8eca9f9c4ffde41714334dee777596264c7825420f521abc92b5b5deb63a5" dependencies = [ "unicode-ident", ] @@ -5030,9 +5074,9 @@ dependencies = [ [[package]] name = "prost" -version = "0.11.3" +version = "0.11.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0b18e655c21ff5ac2084a5ad0611e827b3f92badf79f4910b5a5c58f4d87ff0" +checksum = "c01db6702aa05baa3f57dec92b8eeeeb4cb19e894e73996b32a4093289e54592" dependencies = [ "bytes", "prost-derive", @@ -5040,9 +5084,9 @@ dependencies = [ [[package]] name = "prost-build" -version = "0.11.3" +version = "0.11.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e330bf1316db56b12c2bcfa399e8edddd4821965ea25ddb2c134b610b1c1c604" +checksum = "cb5320c680de74ba083512704acb90fe00f28f79207286a848e730c45dd73ed6" dependencies = [ "bytes", "heck", @@ -5075,9 +5119,9 @@ dependencies = [ [[package]] name = "prost-derive" -version = "0.11.2" +version = "0.11.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "164ae68b6587001ca506d3bf7f1000bfa248d0e1217b618108fba4ec1d0cc306" +checksum = "c8842bad1a5419bca14eac663ba798f6bc19c413c2fdceb5f3ba3b0932d96720" dependencies = [ "anyhow", "itertools", @@ -5088,9 +5132,9 @@ dependencies = [ [[package]] name = "prost-types" -version = "0.11.2" +version = "0.11.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "747761bc3dc48f9a34553bf65605cf6cb6288ba219f3450b4275dbd81539551a" +checksum = "017f79637768cde62820bc2d4fe0e45daaa027755c323ad077767c6c5f173091" dependencies = [ "bytes", "prost", @@ -5124,9 +5168,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.21" +version = "1.0.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbe448f377a7d6961e30f5955f9b8d106c3f5e449d493ee1b125c1d43c2b5179" +checksum = "8856d8364d252a14d474036ea1358d63c9e6965c8e5c1885c18f73d70bff9c7b" dependencies = [ "proc-macro2", ] @@ -5236,11 +5280,10 @@ checksum = "60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3" [[package]] name = "rayon" -version = "1.6.0" +version = "1.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e060280438193c554f654141c9ea9417886713b7acd75974c85b18a69a88e0b" +checksum = "6db3a213adf02b3bcfd2d3846bb41cb22857d131789e01df434fb7e7bc0759b7" dependencies = [ - "crossbeam-deque", "either", "rayon-core", ] @@ -5279,18 +5322,18 @@ dependencies = [ [[package]] name = "ref-cast" -version = "1.0.13" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53b15debb4f9d60d767cd8ca9ef7abb2452922f3214671ff052defc7f3502c44" +checksum = "8c78fb8c9293bcd48ef6fce7b4ca950ceaf21210de6e105a883ee280c0f7b9ed" dependencies = [ "ref-cast-impl", ] [[package]] name = "ref-cast-impl" -version = "1.0.13" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abfa8511e9e94fd3de6585a3d3cd00e01ed556dc9814829280af0e8dc72a8f36" +checksum = "9f9c0c92af03644e4806106281fe2e068ac5bc0ae74a707266d06ea27bccee5f" dependencies = [ "proc-macro2", "quote", @@ -5476,7 +5519,7 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" dependencies = [ - "semver 1.0.14", + "semver 1.0.16", ] [[package]] @@ -5495,15 +5538,15 @@ dependencies = [ [[package]] name = "rustix" -version = "0.36.4" +version = "0.36.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb93e85278e08bb5788653183213d3a60fc242b10cb9be96586f5a73dcb67c23" +checksum = "a3807b5d10909833d3e9acd1eb5fb988f79376ff10fce42937de71a449c4c588" dependencies = [ "bitflags", "errno", "io-lifetimes 1.0.3", "libc", - "linux-raw-sys 0.1.3", + "linux-raw-sys 0.1.4", "windows-sys 0.42.0", ] @@ -5542,9 +5585,9 @@ dependencies = [ [[package]] name = "rustversion" -version = "1.0.9" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97477e48b4cf8603ad5f7aaf897467cf42ab4218a38ef76fb14c2d6773a6d6a8" +checksum = "5583e89e108996506031660fe09baa5011b9dd0341b89029313006d1fb508d70" [[package]] name = "rw-stream-sink" @@ -5559,9 +5602,9 @@ dependencies = [ [[package]] name = "ryu" -version = "1.0.11" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4501abdff3ae82a1c1b477a17252eb69cee9e66eb915c1abaa4f44d873df9f09" +checksum = "7b4b9743ed687d4b4bcedf9ff5eaa7398495ae14e61cba0a295704edbc7decde" [[package]] name = "safe-mix" @@ -6459,9 +6502,9 @@ dependencies = [ [[package]] name = "scale-info" -version = "2.3.0" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88d8a765117b237ef233705cc2cc4c6a27fccd46eea6ef0c8c6dae5f3ef407f8" +checksum = "001cf62ece89779fd16105b5f515ad0e5cedcd5440d3dd806bb067978e7c3608" dependencies = [ "bitvec", "cfg-if", @@ -6473,9 +6516,9 @@ dependencies = [ [[package]] name = "scale-info-derive" -version = "2.3.0" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdcd47b380d8c4541044e341dcd9475f55ba37ddc50c908d945fc036a8642496" +checksum = "303959cf613a6f6efd19ed4b4ad5bf79966a13352716299ad532cfb115f4205c" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -6519,9 +6562,9 @@ checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" [[package]] name = "scratch" -version = "1.0.2" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c8132065adcfd6e02db789d9285a0deb2f3fcb04002865ab67d5fb103533898" +checksum = "ddccb15bcce173023b3fedd9436f882a0739b8dfb45e4f6b6002bee5929f61b2" [[package]] name = "sct" @@ -6548,9 +6591,9 @@ dependencies = [ [[package]] name = "secp256k1" -version = "0.24.1" +version = "0.24.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff55dc09d460954e9ef2fa8a7ced735a964be9981fd50e870b2b3b0705e14964" +checksum = "d9512ffd81e3a3503ed401f79c33168b9148c75038956039166cd750eaa037c3" dependencies = [ "secp256k1-sys", ] @@ -6616,9 +6659,9 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.14" +version = "1.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e25dfac463d778e353db5be2449d1cce89bd6fd23c9f1ea21310ce6e5a1b29c4" +checksum = "58bc9567378fc7690d6b2addae4e60ac2eeea07becb2c64b9f218b53865cba2a" dependencies = [ "serde", ] @@ -6631,18 +6674,18 @@ checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" [[package]] name = "serde" -version = "1.0.148" +version = "1.0.151" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e53f64bb4ba0191d6d0676e1b141ca55047d83b74f5607e6d8eb88126c52c2dc" +checksum = "97fed41fc1a24994d044e6db6935e69511a1153b52c15eb42493b26fa87feba0" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.148" +version = "1.0.151" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a55492425aa53521babf6137309e7d34c20bbfbbfcfe2c7f3a047fd1f6b92c0c" +checksum = "255abe9a125a985c05190d687b320c12f9b1f0b99445e608c21ba0782c719ad8" dependencies = [ "proc-macro2", "quote", @@ -6651,9 +6694,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.89" +version = "1.0.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "020ff22c755c2ed3f8cf162dbb41a7268d934702f3ed3631656ea597e08fc3db" +checksum = "877c235533714907a8c2464236f5c4b2a17262ef1bd71f38f35ea592c8da6883" dependencies = [ "itoa", "ryu", @@ -6811,7 +6854,7 @@ dependencies = [ "aes-gcm", "blake2", "chacha20poly1305", - "curve25519-dalek 4.0.0-pre.1", + "curve25519-dalek 4.0.0-pre.5", "rand_core 0.6.4", "ring", "rustc_version 0.4.0", @@ -7584,9 +7627,9 @@ dependencies = [ [[package]] name = "ss58-registry" -version = "1.35.0" +version = "1.36.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa0813c10b9dbdc842c2305f949f724c64866e4ef4d09c9151e96f6a2106773c" +checksum = "23d92659e7d18d82b803824a9ba5a6022cff101c3491d027c1c1d8d30e749284" dependencies = [ "Inflector", "num-format", @@ -7619,7 +7662,7 @@ dependencies = [ "cfg_aliases", "libc", "parking_lot 0.11.2", - "parking_lot_core 0.8.5", + "parking_lot_core 0.8.6", "static_init_macro", "winapi", ] @@ -7696,7 +7739,7 @@ name = "substrate-build-script-utils" version = "3.0.0" source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" dependencies = [ - "platforms", + "platforms 2.0.0", ] [[package]] @@ -7860,9 +7903,9 @@ checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" [[package]] name = "syn" -version = "1.0.105" +version = "1.0.107" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60b9b43d45702de4c839cb9b51d9f529c5dd26a4aff255b42b1ebc03e88ee908" +checksum = "1f4064b5b16e03ae50984a5a8ed5d4f8803e6bc1fd170a3cda91a1be4b18e3f5" dependencies = [ "proc-macro2", "quote", @@ -7945,18 +7988,18 @@ checksum = "95059e91184749cb66be6dc994f67f182b6d897cb3df74a5bf66b5e709295fd8" [[package]] name = "thiserror" -version = "1.0.37" +version = "1.0.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10deb33631e3c9018b9baf9dcbbc4f737320d2b576bac10f6aefa048fa407e3e" +checksum = "6a9cd18aa97d5c45c6603caea1da6628790b37f7a34b6ca89522331c5180fed0" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.37" +version = "1.0.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "982d17546b47146b28f7c22e3d08465f6b8903d0ea13c1660d9d84a6e7adcdbb" +checksum = "1fb327af4685e4d03fa8cbcf1716380da910eeb2bb8be417e7f9fd3fb164f36f" dependencies = [ "proc-macro2", "quote", @@ -8058,9 +8101,9 @@ checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" [[package]] name = "tokio" -version = "1.22.0" +version = "1.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d76ce4a75fb488c605c54bf610f221cea8b0dafb53333c1a67e8ee199dcd2ae3" +checksum = "eab6d665857cc6ca78d6e80303a02cea7a7851e85dfbd77cbdc09bd129f1ef46" dependencies = [ "autocfg", "bytes", @@ -8073,7 +8116,7 @@ dependencies = [ "signal-hook-registry", "socket2", "tokio-macros", - "winapi", + "windows-sys 0.42.0", ] [[package]] @@ -8126,9 +8169,9 @@ dependencies = [ [[package]] name = "toml" -version = "0.5.9" +version = "0.5.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d82e1a7758622a465f8cee077614c73484dac5b836c02ff6a40d5d1010324d7" +checksum = "1333c76748e868a4d9d1017b5ab53171dfd095f70c712fdb4653a406547f598f" dependencies = [ "serde", ] @@ -8326,9 +8369,9 @@ dependencies = [ [[package]] name = "tt-call" -version = "1.0.8" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e66dcbec4290c69dd03c57e76c2469ea5c7ce109c6dd4351c13055cf71ea055" +checksum = "f4f195fd851901624eee5a58c4bb2b4f06399148fcd0ed336e6f1cb60a9881df" [[package]] name = "twox-hash" @@ -8344,9 +8387,9 @@ dependencies = [ [[package]] name = "typenum" -version = "1.15.0" +version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987" +checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba" [[package]] name = "uint" @@ -8377,9 +8420,9 @@ checksum = "099b7128301d285f79ddd55b9a83d5e6b9e97c92e0ea0daebee7263e932de992" [[package]] name = "unicode-ident" -version = "1.0.5" +version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ceab39d59e4c9499d4e5a8ee0e2735b891bb7308ac83dfb4e80cad195c9f6f3" +checksum = "84a22b9f218b40614adcb3f4ff08b703773ad44fa9423e4e0d346d5db86e4ebc" [[package]] name = "unicode-normalization" @@ -8648,7 +8691,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "57d20cb3c59b788653d99541c646c561c9dd26506f25c0cebfe810659c54c6d7" dependencies = [ "downcast-rs", - "libm", + "libm 0.2.6", "memory_units", "num-rational", "num-traits", @@ -8675,7 +8718,7 @@ dependencies = [ "indexmap", "libc", "log", - "object", + "object 0.29.0", "once_cell", "paste", "psm", @@ -8732,9 +8775,9 @@ dependencies = [ "cranelift-frontend", "cranelift-native", "cranelift-wasm", - "gimli", + "gimli 0.26.2", "log", - "object", + "object 0.29.0", "target-lexicon", "thiserror", "wasmparser", @@ -8749,10 +8792,10 @@ checksum = "ebb881c61f4f627b5d45c54e629724974f8a8890d455bcbe634330cc27309644" dependencies = [ "anyhow", "cranelift-entity", - "gimli", + "gimli 0.26.2", "indexmap", "log", - "object", + "object 0.29.0", "serde", "target-lexicon", "thiserror", @@ -8766,14 +8809,14 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1985c628011fe26adf5e23a5301bdc79b245e0e338f14bb58b39e4e25e4d8681" dependencies = [ - "addr2line", + "addr2line 0.17.0", "anyhow", "bincode", "cfg-if", "cpp_demangle", - "gimli", + "gimli 0.26.2", "log", - "object", + "object 0.29.0", "rustc-demangle", "rustix 0.35.13", "serde", @@ -8791,7 +8834,7 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f671b588486f5ccec8c5a3dba6b4c07eac2e66ab8c60e6f4e53717c77f709731" dependencies = [ - "object", + "object 0.29.0", "once_cell", "rustix 0.35.13", ] @@ -8855,9 +8898,9 @@ dependencies = [ [[package]] name = "webpki-roots" -version = "0.22.5" +version = "0.22.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "368bfe657969fb01238bb756d351dcade285e0f6fcbd36dcb23359a5169975be" +checksum = "b6c71e40d7d2c34a5106301fb632274ca37242cd0c9d3e64dbece371a40a2d87" dependencies = [ "webpki", ] diff --git a/aggregator/Cargo.toml b/aggregator/Cargo.toml index a6ac01c701..77b50b8fb7 100644 --- a/aggregator/Cargo.toml +++ b/aggregator/Cargo.toml @@ -1,14 +1,14 @@ [package] name = "aggregator" -version = "0.2.0" +version = "0.3.0" authors = ["Cardinal Cryptography"] edition = "2021" license = "Apache 2.0" [dependencies] -aleph-bft-rmc = "0.5.0" -aleph-bft-types = "0.6.0" +aleph-bft-rmc = "0.6" +aleph-bft-types = "0.8" async-trait = "0.1" futures = "0.3" diff --git a/finality-aleph/Cargo.toml b/finality-aleph/Cargo.toml index a4c9ad51d3..cd2dae041c 100644 --- a/finality-aleph/Cargo.toml +++ b/finality-aleph/Cargo.toml @@ -1,21 +1,21 @@ [package] name = "finality-aleph" -version = "0.5.4" +version = "0.6.0" authors = ["Cardinal Cryptography"] edition = "2021" license = "Apache 2.0" [dependencies] # fixed version to 'freeze' some types used in abft, mainly `SignatureSet` used in justification and signature aggregation -aleph-bft-crypto = "0.4.0" +aleph-bft-crypto = "0.5" -current-aleph-bft = { package = "aleph-bft", version = "0.19.1" } -current-aleph-bft-rmc = { package = "aleph-bft-rmc", version = "0.5.0" } -legacy-aleph-bft = { package = "aleph-bft", version = "0.18.1" } -legacy-aleph-bft-rmc = { package = "aleph-bft-rmc", version = "0.4.0" } +current-aleph-bft = { package = "aleph-bft", version = "0.20" } +current-aleph-bft-rmc = { package = "aleph-bft-rmc", version = "0.6" } +legacy-aleph-bft = { package = "aleph-bft", version = "0.19" } +legacy-aleph-bft-rmc = { package = "aleph-bft-rmc", version = "0.5" } aleph-primitives = { package = "primitives", path = "../primitives" } -legacy-aleph-aggregator = { package = "aggregator", git = "https://github.com/Cardinal-Cryptography/aleph-node.git", tag = "aggregator-v0.1.0" } +legacy-aleph-aggregator = { package = "aggregator", git = "https://github.com/Cardinal-Cryptography/aleph-node.git", tag = "aggregator-v0.2.1" } current-aleph-aggregator = { path = "../aggregator", package = "aggregator" } async-trait = "0.1" diff --git a/finality-aleph/src/abft/common.rs b/finality-aleph/src/abft/common.rs index 6354e36044..5ef41bccf7 100644 --- a/finality-aleph/src/abft/common.rs +++ b/finality-aleph/src/abft/common.rs @@ -25,14 +25,12 @@ fn exponential_slowdown( } pub type DelaySchedule = Arc Duration + Sync + Send + 'static>; +pub type RecipientCountSchedule = Arc usize + Sync + Send + 'static>; pub fn unit_creation_delay_fn(unit_creation_delay: UnitCreationDelay) -> DelaySchedule { - Arc::new(move |t| { - if t == 0 { - Duration::from_millis(2000) - } else { - exponential_slowdown(t, unit_creation_delay.0 as f64, 5000, 1.005) - } + Arc::new(move |t| match t { + 0 => Duration::from_millis(2000), + _ => exponential_slowdown(t, unit_creation_delay.0 as f64, 5000, 1.005), }) } @@ -42,6 +40,11 @@ pub struct DelayConfig { pub unit_rebroadcast_interval_min: Duration, pub unit_rebroadcast_interval_max: Duration, pub unit_creation_delay: DelaySchedule, + pub coord_request_delay: DelaySchedule, + pub coord_request_recipients: RecipientCountSchedule, + pub parent_request_delay: DelaySchedule, + pub parent_request_recipients: RecipientCountSchedule, + pub newest_request_delay: DelaySchedule, } pub struct AlephConfig { @@ -83,10 +86,14 @@ impl From for current_aleph_bft::DelayConfig { fn from(cfg: DelayConfig) -> Self { Self { tick_interval: cfg.tick_interval, - requests_interval: cfg.requests_interval, unit_rebroadcast_interval_max: cfg.unit_rebroadcast_interval_max, unit_rebroadcast_interval_min: cfg.unit_rebroadcast_interval_min, unit_creation_delay: cfg.unit_creation_delay, + coord_request_delay: cfg.coord_request_delay, + coord_request_recipients: cfg.coord_request_recipients, + parent_request_delay: cfg.parent_request_delay, + parent_request_recipients: cfg.parent_request_recipients, + newest_request_delay: cfg.newest_request_delay, } } } diff --git a/finality-aleph/src/abft/current.rs b/finality-aleph/src/abft/current.rs index f647b5c791..c02c8af54a 100644 --- a/finality-aleph/src/abft/current.rs +++ b/finality-aleph/src/abft/current.rs @@ -1,15 +1,10 @@ -use std::time::Duration; - -use current_aleph_bft::{Config, LocalIO, Terminator}; +use current_aleph_bft::{default_config, Config, LocalIO, Terminator}; use log::debug; use sp_blockchain::HeaderBackend; use sp_runtime::traits::Block; use crate::{ - abft::{ - common::{unit_creation_delay_fn, AlephConfig, DelayConfig}, - NetworkWrapper, SpawnHandleT, - }, + abft::{common::unit_creation_delay_fn, NetworkWrapper, SpawnHandleT}, crypto::Signature, data_io::{AlephData, OrderedDataInterpreter}, network::data::Network, @@ -22,7 +17,7 @@ use crate::{ }; /// Version of the current abft -pub const VERSION: u32 = 1; +pub const VERSION: u32 = 2; pub fn run_member< B: Block, @@ -75,13 +70,8 @@ pub fn create_aleph_config( session_id: SessionId, unit_creation_delay: UnitCreationDelay, ) -> Config { - let delay_config = DelayConfig { - tick_interval: Duration::from_millis(100), - requests_interval: Duration::from_millis(3000), - unit_rebroadcast_interval_min: Duration::from_millis(15000), - unit_rebroadcast_interval_max: Duration::from_millis(20000), - unit_creation_delay: unit_creation_delay_fn(unit_creation_delay), - }; + let mut config = default_config(n_members.into(), node_id.into(), session_id.0 as u64); + config.delay_config.unit_creation_delay = unit_creation_delay_fn(unit_creation_delay); - AlephConfig::new(delay_config, n_members, node_id, session_id).into() + config } diff --git a/finality-aleph/src/abft/legacy.rs b/finality-aleph/src/abft/legacy.rs index be749d526b..af3208bc42 100644 --- a/finality-aleph/src/abft/legacy.rs +++ b/finality-aleph/src/abft/legacy.rs @@ -1,15 +1,11 @@ -use std::time::Duration; - -use legacy_aleph_bft::{Config, LocalIO}; +use legacy_aleph_bft::{default_config, Config, LocalIO, Terminator}; use log::debug; use sp_blockchain::HeaderBackend; use sp_runtime::traits::Block; +use super::common::unit_creation_delay_fn; use crate::{ - abft::{ - common::{unit_creation_delay_fn, AlephConfig, DelayConfig}, - NetworkWrapper, SpawnHandleT, - }, + abft::{NetworkWrapper, SpawnHandleT}, data_io::{AlephData, OrderedDataInterpreter}, network::data::Network, oneshot, @@ -21,7 +17,7 @@ use crate::{ }; /// Version of the legacy abft -pub const VERSION: u32 = 0; +pub const VERSION: u32 = 1; pub fn run_member< B: Block, @@ -41,6 +37,7 @@ pub fn run_member< session_id, } = subtask_common; let (stop, exit) = oneshot::channel(); + let member_terminator = Terminator::create_root(exit, "member"); let local_io = LocalIO::new(data_provider, ordered_data_interpreter, backup.0, backup.1); let task = { @@ -53,7 +50,7 @@ pub fn run_member< network, multikeychain, spawn_handle, - exit, + member_terminator, ) .await; debug!(target: "aleph-party", "Member task stopped for {:?}", session_id); @@ -70,13 +67,8 @@ pub fn create_aleph_config( session_id: SessionId, unit_creation_delay: UnitCreationDelay, ) -> Config { - let delay_config = DelayConfig { - tick_interval: Duration::from_millis(100), - requests_interval: Duration::from_millis(3000), - unit_rebroadcast_interval_min: Duration::from_millis(15000), - unit_rebroadcast_interval_max: Duration::from_millis(20000), - unit_creation_delay: unit_creation_delay_fn(unit_creation_delay), - }; + let mut config = default_config(n_members.into(), node_id.into(), session_id.0 as u64); + config.delay_config.unit_creation_delay = unit_creation_delay_fn(unit_creation_delay); - AlephConfig::new(delay_config, n_members, node_id, session_id).into() + config } diff --git a/finality-aleph/src/aggregation/mod.rs b/finality-aleph/src/aggregation/mod.rs index c8f077a47c..3861230ad2 100644 --- a/finality-aleph/src/aggregation/mod.rs +++ b/finality-aleph/src/aggregation/mod.rs @@ -220,7 +220,7 @@ where fn send( &self, data: D, - recipient: legacy_aleph_bft::Recipient, + recipient: current_aleph_bft::Recipient, ) -> Result<(), CurrentNetworkError> { self.0.send(data, recipient.into()).map_err(|e| match e { SendError::SendFailed => CurrentNetworkError::SendFail, diff --git a/pallets/aleph/src/lib.rs b/pallets/aleph/src/lib.rs index a7198039b9..cbe54bfe38 100644 --- a/pallets/aleph/src/lib.rs +++ b/pallets/aleph/src/lib.rs @@ -37,7 +37,7 @@ use sp_std::prelude::*; /// The current storage version. const STORAGE_VERSION: StorageVersion = StorageVersion::new(2); -const DEFAULT_FINALITY_VERSION: Version = 0; +const DEFAULT_FINALITY_VERSION: Version = 2; #[frame_support::pallet] pub mod pallet { From 766e93915629d9f7e3fdc9d75e82fa5cfcc1116a Mon Sep 17 00:00:00 2001 From: timorl Date: Thu, 22 Dec 2022 13:06:35 +0100 Subject: [PATCH 054/212] A0-1761: Enhance gossip network interface (#822) * Enhance gossip network interface * Add tests for sending Co-authored-by: timorl --- finality-aleph/src/network/gossip/mod.rs | 27 +- finality-aleph/src/network/gossip/service.rs | 258 ++++++++++++++++-- finality-aleph/src/network/session/service.rs | 2 +- finality-aleph/src/network/substrate.rs | 3 +- finality-aleph/src/testing/network.rs | 22 +- 5 files changed, 267 insertions(+), 45 deletions(-) diff --git a/finality-aleph/src/network/gossip/mod.rs b/finality-aleph/src/network/gossip/mod.rs index c6ba22d633..4b8143d9ea 100644 --- a/finality-aleph/src/network/gossip/mod.rs +++ b/finality-aleph/src/network/gossip/mod.rs @@ -1,5 +1,6 @@ //! A P2P-based gossip network, for now only for sending broadcasts. use std::{ + collections::HashSet, fmt::{Debug, Display}, hash::Hash, }; @@ -15,9 +16,25 @@ mod service; pub use service::Service; #[async_trait::async_trait] -/// Interface for the gossip network, currently only supports broadcasting and receiving data. +/// Interface for the gossip network. This represents a P2P network and a lot of the properties of +/// this interface result from that. In particular we might know the ID of a given peer, but not be +/// connected to them directly. pub trait Network: Send + 'static { type Error: Display + Send; + type PeerId: Clone + Debug + Eq + Hash + Send + 'static; + + /// Attempt to send data to a peer. Might silently fail if we are not connected to them. + fn send_to(&mut self, data: D, peer_id: Self::PeerId) -> Result<(), Self::Error>; + + /// Send data to a random peer, preferably from a list. It should send the data to a randomly + /// chosen peer from the provided list, but if it cannot (e.g. because it's not connected) it + /// will send to a random available peer. No guarantees any peer gets it even if no errors are + /// returned, retry appropriately. + fn send_to_random( + &mut self, + data: D, + peer_ids: HashSet, + ) -> Result<(), Self::Error>; /// Broadcast data to all directly connected peers. Network-wide broadcasts have to be /// implemented on top of this abstraction. Note that there might be no currently connected @@ -25,8 +42,8 @@ pub trait Network: Send + 'static { /// returned, retry appropriately. fn broadcast(&mut self, data: D) -> Result<(), Self::Error>; - /// Receive some data from the network. - async fn next(&mut self) -> Result; + /// Receive some data from the network, including information about who sent it. + async fn next(&mut self) -> Result<(D, Self::PeerId), Self::Error>; } /// The Authentication protocol is used for validator discovery. @@ -51,7 +68,7 @@ pub trait NetworkSender: Send + Sync + 'static { pub enum Event

{ StreamOpened(P, Protocol), StreamClosed(P, Protocol), - Messages(Vec<(Protocol, Bytes)>), + Messages(P, Vec<(Protocol, Bytes)>), } #[async_trait::async_trait] @@ -63,7 +80,7 @@ pub trait EventStream

{ pub trait RawNetwork: Clone + Send + Sync + 'static { type SenderError: std::error::Error; type NetworkSender: NetworkSender; - type PeerId: Clone + Debug + Eq + Hash + Send; + type PeerId: Clone + Debug + Eq + Hash + Send + 'static; type EventStream: EventStream; /// Returns a stream of events representing what happens on the network. diff --git a/finality-aleph/src/network/gossip/service.rs b/finality-aleph/src/network/gossip/service.rs index 7f94c31d6c..876349d2b7 100644 --- a/finality-aleph/src/network/gossip/service.rs +++ b/finality-aleph/src/network/gossip/service.rs @@ -1,11 +1,13 @@ use std::{ collections::{HashMap, HashSet}, - fmt::{Display, Error as FmtError, Formatter}, + fmt::{Debug, Display, Error as FmtError, Formatter}, future::Future, + hash::Hash, }; use futures::{channel::mpsc, StreamExt}; use log::{debug, error, info, trace, warn}; +use rand::{seq::IteratorRandom, thread_rng}; use sc_service::SpawnTaskHandle; use sc_utils::mpsc::{tracing_unbounded, TracingUnboundedReceiver, TracingUnboundedSender}; use tokio::time; @@ -18,6 +20,12 @@ use crate::{ STATUS_REPORT_INTERVAL, }; +enum Command { + Send(D, P, Protocol), + SendToRandom(D, HashSet

, Protocol), + Broadcast(D, Protocol), +} + /// A service managing all the direct interaction with the underlying network implementation. It /// handles: /// 1. Incoming network events @@ -26,16 +34,16 @@ use crate::{ /// 3. Outgoing messages, sending them out, using 1.2. to broadcast. pub struct Service { network: N, - messages_from_user: mpsc::UnboundedReceiver, - messages_for_user: mpsc::UnboundedSender, + messages_from_user: mpsc::UnboundedReceiver>, + messages_for_user: mpsc::UnboundedSender<(D, N::PeerId)>, authentication_connected_peers: HashSet, authentication_peer_senders: HashMap>, spawn_handle: SpawnTaskHandle, } -struct ServiceInterface { - messages_from_service: mpsc::UnboundedReceiver, - messages_for_service: mpsc::UnboundedSender, +struct ServiceInterface { + messages_from_service: mpsc::UnboundedReceiver<(D, P)>, + messages_for_service: mpsc::UnboundedSender>, } /// What can go wrong when receiving or sending data. @@ -56,16 +64,37 @@ impl Display for Error { } #[async_trait::async_trait] -impl Network for ServiceInterface { +impl Network for ServiceInterface { type Error = Error; + type PeerId = P; + + fn send_to(&mut self, data: D, peer_id: Self::PeerId) -> Result<(), Self::Error> { + self.messages_for_service + .unbounded_send(Command::Send(data, peer_id, Protocol::Authentication)) + .map_err(|_| Error::ServiceStopped) + } + + fn send_to_random( + &mut self, + data: D, + peer_ids: HashSet, + ) -> Result<(), Self::Error> { + self.messages_for_service + .unbounded_send(Command::SendToRandom( + data, + peer_ids, + Protocol::Authentication, + )) + .map_err(|_| Error::ServiceStopped) + } fn broadcast(&mut self, data: D) -> Result<(), Self::Error> { self.messages_for_service - .unbounded_send(data) + .unbounded_send(Command::Broadcast(data, Protocol::Authentication)) .map_err(|_| Error::ServiceStopped) } - async fn next(&mut self) -> Result { + async fn next(&mut self) -> Result<(D, Self::PeerId), Self::Error> { self.messages_from_service .next() .await @@ -83,7 +112,10 @@ impl Service { pub fn new( network: N, spawn_handle: SpawnTaskHandle, - ) -> (Service, impl Network) { + ) -> ( + Service, + impl Network, + ) { let (messages_for_user, messages_from_service) = mpsc::unbounded(); let (messages_for_service, messages_from_user) = mpsc::unbounded(); ( @@ -170,21 +202,55 @@ impl Service { } } - fn broadcast(&mut self, data: D, protocol: Protocol) { - let peers = match protocol { - Protocol::Authentication => self.authentication_connected_peers.clone(), + fn send(&mut self, data: D, peer_id: N::PeerId, protocol: Protocol) { + if let Err(e) = self.send_to_peer(data, peer_id.clone(), protocol) { + trace!(target: "aleph-network", "Failed to send to peer{:?}, {:?}", peer_id, e); + } + } + + fn protocol_peers(&self, protocol: Protocol) -> &HashSet { + match protocol { + Protocol::Authentication => &self.authentication_connected_peers, + } + } + + fn random_peer<'a>( + &'a self, + peer_ids: &'a HashSet, + protocol: Protocol, + ) -> Option<&'a N::PeerId> { + peer_ids + .intersection(self.protocol_peers(protocol)) + .into_iter() + .choose(&mut thread_rng()) + .or(self + .protocol_peers(protocol) + .iter() + .choose(&mut thread_rng())) + } + + fn send_to_random(&mut self, data: D, peer_ids: HashSet, protocol: Protocol) { + let peer_id = match self.random_peer(&peer_ids, protocol) { + Some(peer_id) => peer_id.clone(), + None => { + trace!(target: "aleph-network", "Failed to send to random peer, no peers are available."); + return; + } }; + self.send(data, peer_id, protocol); + } + + fn broadcast(&mut self, data: D, protocol: Protocol) { + let peers = self.protocol_peers(protocol).clone(); for peer in peers { - if let Err(e) = self.send_to_peer(data.clone(), peer.clone(), protocol) { - trace!(target: "aleph-network", "Failed to send broadcast to peer{:?}, {:?}", peer, e); - } + self.send(data.clone(), peer, protocol); } } fn handle_network_event( &mut self, event: Event, - ) -> Result<(), mpsc::TrySendError> { + ) -> Result<(), mpsc::TrySendError<(D, N::PeerId)>> { use Event::*; match event { StreamOpened(peer, protocol) => { @@ -212,11 +278,13 @@ impl Service { } } } - Messages(messages) => { + Messages(peer_id, messages) => { for (protocol, data) in messages.into_iter() { match protocol { Protocol::Authentication => match D::decode(&mut &data[..]) { - Ok(data) => self.messages_for_user.unbounded_send(data)?, + Ok(data) => self + .messages_for_user + .unbounded_send((data, peer_id.clone()))?, Err(e) => { warn!(target: "aleph-network", "Error decoding authentication protocol message: {}", e) } @@ -256,7 +324,9 @@ impl Service { } }, maybe_message = self.messages_from_user.next() => match maybe_message { - Some(message) => self.broadcast(message, Protocol::Authentication), + Some(Command::Broadcast(message, protocol)) => self.broadcast(message, protocol), + Some(Command::SendToRandom(message, peer_ids, protocol)) => self.send_to_random(message, peer_ids, protocol), + Some(Command::Send(message, peer_id, protocol)) => self.send(message, peer_id, protocol), None => { error!(target: "aleph-network", "User message stream ended."); return; @@ -272,7 +342,7 @@ impl Service { #[cfg(test)] mod tests { - use std::collections::HashSet; + use std::{collections::HashSet, iter}; use codec::Encode; use futures::channel::oneshot; @@ -281,7 +351,7 @@ mod tests { use super::{Error, Service}; use crate::network::{ - clique::mock::random_peer_id, + clique::mock::{random_peer_id, MockPublicKey}, gossip::{ mock::{MockEvent, MockRawNetwork, MockSenderError}, Network, @@ -294,7 +364,7 @@ mod tests { pub struct TestData { pub network: MockRawNetwork, - gossip_network: Box>, + gossip_network: Box>, pub service: Service, // `TaskManager` can't be dropped for `SpawnTaskHandle` to work _task_manager: TaskManager, @@ -330,12 +400,25 @@ mod tests { #[async_trait::async_trait] impl Network for TestData { type Error = Error; + type PeerId = MockPublicKey; + + fn send_to(&mut self, data: MockData, peer_id: Self::PeerId) -> Result<(), Self::Error> { + self.gossip_network.send_to(data, peer_id) + } + + fn send_to_random( + &mut self, + data: MockData, + peer_ids: HashSet, + ) -> Result<(), Self::Error> { + self.gossip_network.send_to_random(data, peer_ids) + } fn broadcast(&mut self, data: MockData) -> Result<(), Self::Error> { self.gossip_network.broadcast(data) } - async fn next(&mut self) -> Result { + async fn next(&mut self) -> Result<(MockData, Self::PeerId), Self::Error> { self.gossip_network.next().await } } @@ -512,17 +595,132 @@ mod tests { let message = message(1); + let peer_id = random_peer_id(); + test_data + .service + .handle_network_event(MockEvent::Messages( + peer_id.clone(), + vec![(PROTOCOL, message.clone().encode().into())], + )) + .expect("Should handle"); + + let (received_message, received_peer_id) = + test_data.next().await.expect("Should receive message"); + assert_eq!(received_message, message); + assert_eq!(received_peer_id, peer_id); + + test_data.cleanup().await + } + + #[tokio::test] + async fn test_send_to_connected() { + let mut test_data = TestData::prepare().await; + + let peer_id = random_peer_id(); + + let message = message(1); + test_data .service - .handle_network_event(MockEvent::Messages(vec![( - PROTOCOL, - message.clone().encode().into(), - )])) + .handle_network_event(MockEvent::StreamOpened(peer_id.clone(), PROTOCOL)) .expect("Should handle"); + test_data + .service + .send(message.clone(), peer_id.clone(), PROTOCOL); + + let expected = (message.encode(), peer_id, PROTOCOL); + assert_eq!( - test_data.next().await.expect("Should receive message"), - message, + test_data + .network + .send_message + .next() + .await + .expect("Should receive message"), + expected, + ); + + test_data.cleanup().await + } + + #[tokio::test] + async fn test_no_send_to_disconnected() { + let mut test_data = TestData::prepare().await; + + let peer_id = random_peer_id(); + + let message = message(1); + + test_data.service.send(message, peer_id, PROTOCOL); + + test_data.cleanup().await + } + + #[tokio::test] + async fn test_send_to_random_connected() { + let mut test_data = TestData::prepare().await; + + let peer_id = random_peer_id(); + + let message = message(1); + + test_data + .service + .handle_network_event(MockEvent::StreamOpened(peer_id.clone(), PROTOCOL)) + .expect("Should handle"); + + test_data.service.send_to_random( + message.clone(), + iter::once(peer_id.clone()).collect(), + PROTOCOL, + ); + + let expected = (message.encode(), peer_id, PROTOCOL); + + assert_eq!( + test_data + .network + .send_message + .next() + .await + .expect("Should receive message"), + expected, + ); + + test_data.cleanup().await + } + + #[tokio::test] + async fn test_send_to_random_disconnected() { + let mut test_data = TestData::prepare().await; + + let peer_id = random_peer_id(); + let other_peer_id = random_peer_id(); + + let message = message(1); + + test_data + .service + .handle_network_event(MockEvent::StreamOpened(other_peer_id.clone(), PROTOCOL)) + .expect("Should handle"); + + test_data.service.send_to_random( + message.clone(), + iter::once(peer_id.clone()).collect(), + PROTOCOL, + ); + + let expected = (message.encode(), other_peer_id, PROTOCOL); + + assert_eq!( + test_data + .network + .send_message + .next() + .await + .expect("Should receive message"), + expected, ); test_data.cleanup().await diff --git a/finality-aleph/src/network/session/service.rs b/finality-aleph/src/network/session/service.rs index 080368397d..8225260e2f 100644 --- a/finality-aleph/src/network/session/service.rs +++ b/finality-aleph/src/network/session/service.rs @@ -385,7 +385,7 @@ where } }, maybe_authentication = self.gossip_network.next() => { - let authentication = maybe_authentication.map_err(Error::GossipNetwork)?; + let (authentication, _) = maybe_authentication.map_err(Error::GossipNetwork)?; trace!(target: "aleph-network", "Manager received an authentication from network"); match authentication.try_into() { Ok(message) => { diff --git a/finality-aleph/src/network/substrate.rs b/finality-aleph/src/network/substrate.rs index 57d0c9745b..123423b9a8 100644 --- a/finality-aleph/src/network/substrate.rs +++ b/finality-aleph/src/network/substrate.rs @@ -171,8 +171,9 @@ impl EventStream for NetworkEventStream { Err(_) => continue, } } - NotificationsReceived { messages, .. } => { + NotificationsReceived { messages, remote } => { return Some(Messages( + remote, messages .into_iter() .filter_map(|(protocol, data)| { diff --git a/finality-aleph/src/testing/network.rs b/finality-aleph/src/testing/network.rs index 77445be02c..5d6733f1b5 100644 --- a/finality-aleph/src/testing/network.rs +++ b/finality-aleph/src/testing/network.rs @@ -227,10 +227,13 @@ impl TestData { for versioned_authentication in Vec::>::from(handler.authentication().unwrap()) { - self.network.emit_event(MockEvent::Messages(vec![( - Protocol::Authentication, - versioned_authentication.encode().into(), - )])); + self.network.emit_event(MockEvent::Messages( + authority.auth_peer_id(), + vec![( + Protocol::Authentication, + versioned_authentication.encode().into(), + )], + )); } } } @@ -334,10 +337,13 @@ async fn test_forwards_authentication_broadcast() { for versioned_authentication in Vec::>::from(sending_peer_handler.authentication().unwrap()) { - test_data.network.emit_event(MockEvent::Messages(vec![( - Protocol::Authentication, - versioned_authentication.encode().into(), - )])); + test_data.network.emit_event(MockEvent::Messages( + sending_peer.auth_peer_id(), + vec![( + Protocol::Authentication, + versioned_authentication.encode().into(), + )], + )); } for _ in 0..2 { From 151f846e98c55ae53fe22150f8a1d63d585541da Mon Sep 17 00:00:00 2001 From: timorl Date: Fri, 23 Dec 2022 13:23:30 +0100 Subject: [PATCH 055/212] Fixing broken compatibility (#828) * Generate raw chainspecs in script * Make compatibility work again Co-authored-by: timorl --- finality-aleph/src/abft/current.rs | 2 +- finality-aleph/src/abft/legacy.rs | 2 +- finality-aleph/src/lib.rs | 6 +++--- finality-aleph/src/party/manager/mod.rs | 6 ++++-- pallets/aleph/src/lib.rs | 2 +- scripts/run_nodes.sh | 2 +- 6 files changed, 11 insertions(+), 9 deletions(-) diff --git a/finality-aleph/src/abft/current.rs b/finality-aleph/src/abft/current.rs index c02c8af54a..c2302b877f 100644 --- a/finality-aleph/src/abft/current.rs +++ b/finality-aleph/src/abft/current.rs @@ -17,7 +17,7 @@ use crate::{ }; /// Version of the current abft -pub const VERSION: u32 = 2; +pub const VERSION: u16 = 2; pub fn run_member< B: Block, diff --git a/finality-aleph/src/abft/legacy.rs b/finality-aleph/src/abft/legacy.rs index af3208bc42..b03e68e7b1 100644 --- a/finality-aleph/src/abft/legacy.rs +++ b/finality-aleph/src/abft/legacy.rs @@ -17,7 +17,7 @@ use crate::{ }; /// Version of the legacy abft -pub const VERSION: u32 = 1; +pub const VERSION: u16 = 1; pub fn run_member< B: Block, diff --git a/finality-aleph/src/lib.rs b/finality-aleph/src/lib.rs index 4793919d65..62c630282f 100644 --- a/finality-aleph/src/lib.rs +++ b/finality-aleph/src/lib.rs @@ -20,7 +20,7 @@ use sp_runtime::traits::{BlakeTwo256, Block, Header}; use tokio::time::Duration; use crate::{ - abft::{CurrentNetworkData, LegacyNetworkData}, + abft::{CurrentNetworkData, LegacyNetworkData, CURRENT_VERSION, LEGACY_VERSION}, aggregation::{CurrentRmcNetworkData, LegacyRmcNetworkData}, network::{data::split::Split, protocol_name}, session::{ @@ -95,11 +95,11 @@ pub type LegacySplitData = Split, LegacyRmcNetworkData = Split, CurrentRmcNetworkData>; impl Versioned for LegacyNetworkData { - const VERSION: Version = Version(0); + const VERSION: Version = Version(LEGACY_VERSION); } impl Versioned for CurrentNetworkData { - const VERSION: Version = Version(1); + const VERSION: Version = Version(CURRENT_VERSION); } /// The main purpose of this data type is to enable a seamless transition between protocol versions at the Network level. It diff --git a/finality-aleph/src/party/manager/mod.rs b/finality-aleph/src/party/manager/mod.rs index 933cc42dce..20d39c662e 100644 --- a/finality-aleph/src/party/manager/mod.rs +++ b/finality-aleph/src/party/manager/mod.rs @@ -348,11 +348,13 @@ where info!(target: "aleph-party", "Running session with legacy-only AlephBFT version."); self.legacy_subtasks(params) } - Ok(version) if version == CURRENT_VERSION => { + // The `as`es here should be removed, but this would require a pallet migration and I + // am lazy. + Ok(version) if version == CURRENT_VERSION as u32 => { info!(target: "aleph-party", "Running session with AlephBFT version {}, which is current.", version); self.current_subtasks(params) } - Ok(version) if version == LEGACY_VERSION => { + Ok(version) if version == LEGACY_VERSION as u32 => { info!(target: "aleph-party", "Running session with AlephBFT version {}, which is legacy.", version); self.legacy_subtasks(params) } diff --git a/pallets/aleph/src/lib.rs b/pallets/aleph/src/lib.rs index cbe54bfe38..93ef3b2c5a 100644 --- a/pallets/aleph/src/lib.rs +++ b/pallets/aleph/src/lib.rs @@ -37,7 +37,7 @@ use sp_std::prelude::*; /// The current storage version. const STORAGE_VERSION: StorageVersion = StorageVersion::new(2); -const DEFAULT_FINALITY_VERSION: Version = 2; +const DEFAULT_FINALITY_VERSION: Version = 1; #[frame_support::pallet] pub mod pallet { diff --git a/scripts/run_nodes.sh b/scripts/run_nodes.sh index ac3e9d94f0..3367deefb7 100755 --- a/scripts/run_nodes.sh +++ b/scripts/run_nodes.sh @@ -52,7 +52,7 @@ validator_ids_string="${validator_ids[*]}" validator_ids_string="${validator_ids_string//${IFS:0:1}/,}" echo "Bootstrapping chain for nodes 0..$((N_VALIDATORS - 1))" -./target/release/aleph-node bootstrap-chain --base-path "$BASE_PATH" --account-ids "$validator_ids_string" --chain-type local > "$BASE_PATH/chainspec.json" +./target/release/aleph-node bootstrap-chain --raw --base-path "$BASE_PATH" --account-ids "$validator_ids_string" --chain-type local > "$BASE_PATH/chainspec.json" for i in $(seq "$N_VALIDATORS" "$(( N_VALIDATORS + N_NON_VALIDATORS - 1 ))"); do echo "Bootstrapping node $i" From d59c6d462e4e77f22866bda51d4a188c6042602b Mon Sep 17 00:00:00 2001 From: timorl Date: Tue, 27 Dec 2022 11:20:39 +0100 Subject: [PATCH 056/212] A0-1491: Change protocol naming convention and add block sync protocol (#829) * Change protocol naming convention and add block sync protocol * Turn the block sync network on properly Co-authored-by: timorl --- bin/node/src/service.rs | 35 ++++- finality-aleph/src/lib.rs | 19 +-- finality-aleph/src/network/gossip/mod.rs | 5 +- finality-aleph/src/network/gossip/service.rs | 64 ++++++-- finality-aleph/src/network/mod.rs | 2 +- finality-aleph/src/network/substrate.rs | 148 ++++++++++++++----- finality-aleph/src/nodes/validator_node.rs | 11 +- finality-aleph/src/testing/network.rs | 2 +- 8 files changed, 212 insertions(+), 74 deletions(-) diff --git a/bin/node/src/service.rs b/bin/node/src/service.rs index 044cfa2021..056149b205 100644 --- a/bin/node/src/service.rs +++ b/bin/node/src/service.rs @@ -9,11 +9,11 @@ use aleph_primitives::AlephSessionApi; use aleph_runtime::{self, opaque::Block, RuntimeApi, MAX_BLOCK_SIZE}; use finality_aleph::{ run_nonvalidator_node, run_validator_node, AlephBlockImport, AlephConfig, - JustificationNotification, Metrics, MillisecsPerBlock, Protocol, SessionPeriod, + JustificationNotification, Metrics, MillisecsPerBlock, Protocol, ProtocolNaming, SessionPeriod, }; use futures::channel::mpsc; use log::warn; -use sc_client_api::{Backend, HeaderBackend}; +use sc_client_api::{Backend, BlockBackend, HeaderBackend}; use sc_consensus_aura::{ImportQueueParams, SlotProportion, StartAuraParams}; use sc_consensus_slots::BackoffAuthoringBlocksStrategy; use sc_network::NetworkService; @@ -212,14 +212,35 @@ fn setup( ( RpcHandlers, Arc::Hash>>, + ProtocolNaming, NetworkStarter, ), ServiceError, > { + let genesis_hash = client + .block_hash(0) + .ok() + .flatten() + .expect("we should have a hash"); + let chain_prefix = match config.chain_spec.fork_id() { + Some(fork_id) => format!("/{}/{}", genesis_hash, fork_id), + None => format!("/{}", genesis_hash), + }; + let protocol_naming = ProtocolNaming::new(chain_prefix); + config + .network + .extra_sets + .push(finality_aleph::peers_set_config( + protocol_naming.clone(), + Protocol::Authentication, + )); config .network .extra_sets - .push(finality_aleph::peers_set_config(Protocol::Authentication)); + .push(finality_aleph::peers_set_config( + protocol_naming.clone(), + Protocol::BlockSync, + )); let (network, system_rpc_tx, tx_handler_controller, network_starter) = sc_service::build_network(sc_service::BuildNetworkParams { @@ -262,7 +283,7 @@ fn setup( telemetry: telemetry.as_mut(), })?; - Ok((rpc_handlers, network, network_starter)) + Ok((rpc_handlers, network, protocol_naming, network_starter)) } /// Builds a new service for a full client. @@ -308,7 +329,7 @@ pub fn new_authority( let backoff_authoring_blocks = Some(LimitNonfinalized(aleph_config.max_nonfinalized_blocks())); let prometheus_registry = config.prometheus_registry().cloned(); - let (_rpc_handlers, network, network_starter) = setup( + let (_rpc_handlers, network, protocol_naming, network_starter) = setup( config, backend.clone(), &keystore_container, @@ -383,6 +404,7 @@ pub fn new_authority( backup_saving_path: backup_path, external_addresses: aleph_config.external_addresses(), validator_port: aleph_config.validator_port(), + protocol_naming, }; task_manager.spawn_essential_handle().spawn_blocking( "aleph", @@ -418,7 +440,7 @@ pub fn new_full( .path(), ); - let (_rpc_handlers, network, network_starter) = setup( + let (_rpc_handlers, network, protocol_naming, network_starter) = setup( config, backend.clone(), &keystore_container, @@ -460,6 +482,7 @@ pub fn new_full( backup_saving_path: backup_path, external_addresses: aleph_config.external_addresses(), validator_port: aleph_config.validator_port(), + protocol_naming, }; task_manager.spawn_essential_handle().spawn_blocking( diff --git a/finality-aleph/src/lib.rs b/finality-aleph/src/lib.rs index 62c630282f..9de90b43de 100644 --- a/finality-aleph/src/lib.rs +++ b/finality-aleph/src/lib.rs @@ -22,7 +22,7 @@ use tokio::time::Duration; use crate::{ abft::{CurrentNetworkData, LegacyNetworkData, CURRENT_VERSION, LEGACY_VERSION}, aggregation::{CurrentRmcNetworkData, LegacyRmcNetworkData}, - network::{data::split::Split, protocol_name}, + network::data::split::Split, session::{ first_block_of_session, last_block_of_session, session_id_from_block_num, SessionBoundaries, SessionId, @@ -51,7 +51,7 @@ pub use abft::{Keychain, NodeCount, NodeIndex, Recipient, SignatureSet, SpawnHan pub use aleph_primitives::{AuthorityId, AuthorityPair, AuthoritySignature}; pub use import::AlephBlockImport; pub use justification::{AlephJustification, JustificationNotification}; -pub use network::Protocol; +pub use network::{Protocol, ProtocolNaming}; pub use nodes::{run_nonvalidator_node, run_validator_node}; pub use session::SessionPeriod; @@ -67,11 +67,12 @@ enum Error { } /// Returns a NonDefaultSetConfig for the specified protocol. -pub fn peers_set_config(protocol: Protocol) -> sc_network_common::config::NonDefaultSetConfig { - let name = protocol_name(&protocol); - +pub fn peers_set_config( + naming: ProtocolNaming, + protocol: Protocol, +) -> sc_network_common::config::NonDefaultSetConfig { let mut config = sc_network_common::config::NonDefaultSetConfig::new( - name, + naming.protocol_name(&protocol), // max_notification_size should be larger than the maximum possible honest message size (in bytes). // Max size of alert is UNIT_SIZE * MAX_UNITS_IN_ALERT ~ 100 * 5000 = 50000 bytes // Max size of parents response UNIT_SIZE * N_MEMBERS ~ 100 * N_MEMBERS @@ -79,9 +80,8 @@ pub fn peers_set_config(protocol: Protocol) -> sc_network_common::config::NonDef 1024 * 1024, ); - config.set_config = match protocol { - Protocol::Authentication => sc_network_common::config::SetConfig::default(), - }; + config.set_config = sc_network_common::config::SetConfig::default(); + config.add_fallback_names(naming.fallback_protocol_names(&protocol)); config } @@ -254,6 +254,7 @@ pub struct AlephConfig { pub backup_saving_path: Option, pub external_addresses: Vec, pub validator_port: u16, + pub protocol_naming: ProtocolNaming, } pub trait BlockchainBackend { diff --git a/finality-aleph/src/network/gossip/mod.rs b/finality-aleph/src/network/gossip/mod.rs index 4b8143d9ea..9edd411206 100644 --- a/finality-aleph/src/network/gossip/mod.rs +++ b/finality-aleph/src/network/gossip/mod.rs @@ -46,10 +46,13 @@ pub trait Network: Send + 'static { async fn next(&mut self) -> Result<(D, Self::PeerId), Self::Error>; } -/// The Authentication protocol is used for validator discovery. +/// Protocols used by the network. #[derive(Debug, PartialEq, Eq, Copy, Clone, Hash)] pub enum Protocol { + /// The authentication protocol is used for validator discovery. Authentication, + /// The block synchronization protocol. + BlockSync, } /// Abstraction over a sender to the raw network. diff --git a/finality-aleph/src/network/gossip/service.rs b/finality-aleph/src/network/gossip/service.rs index 876349d2b7..3b73ea7c74 100644 --- a/finality-aleph/src/network/gossip/service.rs +++ b/finality-aleph/src/network/gossip/service.rs @@ -35,13 +35,17 @@ enum Command { pub struct Service { network: N, messages_from_user: mpsc::UnboundedReceiver>, - messages_for_user: mpsc::UnboundedSender<(D, N::PeerId)>, + messages_for_authentication_user: mpsc::UnboundedSender<(D, N::PeerId)>, + messages_for_block_sync_user: mpsc::UnboundedSender<(D, N::PeerId)>, authentication_connected_peers: HashSet, authentication_peer_senders: HashMap>, + block_sync_connected_peers: HashSet, + block_sync_peer_senders: HashMap>, spawn_handle: SpawnTaskHandle, } struct ServiceInterface { + protocol: Protocol, messages_from_service: mpsc::UnboundedReceiver<(D, P)>, messages_for_service: mpsc::UnboundedSender>, } @@ -70,7 +74,7 @@ impl Network for Serv fn send_to(&mut self, data: D, peer_id: Self::PeerId) -> Result<(), Self::Error> { self.messages_for_service - .unbounded_send(Command::Send(data, peer_id, Protocol::Authentication)) + .unbounded_send(Command::Send(data, peer_id, self.protocol)) .map_err(|_| Error::ServiceStopped) } @@ -80,17 +84,13 @@ impl Network for Serv peer_ids: HashSet, ) -> Result<(), Self::Error> { self.messages_for_service - .unbounded_send(Command::SendToRandom( - data, - peer_ids, - Protocol::Authentication, - )) + .unbounded_send(Command::SendToRandom(data, peer_ids, self.protocol)) .map_err(|_| Error::ServiceStopped) } fn broadcast(&mut self, data: D) -> Result<(), Self::Error> { self.messages_for_service - .unbounded_send(Command::Broadcast(data, Protocol::Authentication)) + .unbounded_send(Command::Broadcast(data, self.protocol)) .map_err(|_| Error::ServiceStopped) } @@ -115,20 +115,32 @@ impl Service { ) -> ( Service, impl Network, + impl Network, ) { - let (messages_for_user, messages_from_service) = mpsc::unbounded(); + let (messages_for_authentication_user, messages_from_authentication_service) = + mpsc::unbounded(); + let (messages_for_block_sync_user, messages_from_block_sync_service) = mpsc::unbounded(); let (messages_for_service, messages_from_user) = mpsc::unbounded(); ( Service { network, messages_from_user, - messages_for_user, + messages_for_authentication_user, + messages_for_block_sync_user, spawn_handle, authentication_connected_peers: HashSet::new(), authentication_peer_senders: HashMap::new(), + block_sync_connected_peers: HashSet::new(), + block_sync_peer_senders: HashMap::new(), + }, + ServiceInterface { + protocol: Protocol::Authentication, + messages_from_service: messages_from_authentication_service, + messages_for_service: messages_for_service.clone(), }, ServiceInterface { - messages_from_service, + protocol: Protocol::BlockSync, + messages_from_service: messages_from_block_sync_service, messages_for_service, }, ) @@ -141,6 +153,7 @@ impl Service { ) -> Option<&mut TracingUnboundedSender> { match protocol { Protocol::Authentication => self.authentication_peer_senders.get_mut(peer), + Protocol::BlockSync => self.block_sync_peer_senders.get_mut(peer), } } @@ -211,6 +224,7 @@ impl Service { fn protocol_peers(&self, protocol: Protocol) -> &HashSet { match protocol { Protocol::Authentication => &self.authentication_connected_peers, + Protocol::BlockSync => &self.block_sync_connected_peers, } } @@ -262,6 +276,12 @@ impl Service { self.authentication_peer_senders.insert(peer.clone(), tx); rx } + Protocol::BlockSync => { + let (tx, rx) = tracing_unbounded("mpsc_notification_stream_block_sync"); + self.block_sync_connected_peers.insert(peer.clone()); + self.block_sync_peer_senders.insert(peer.clone(), tx); + rx + } }; self.spawn_handle.spawn( "aleph/network/peer_sender", @@ -276,6 +296,10 @@ impl Service { self.authentication_connected_peers.remove(&peer); self.authentication_peer_senders.remove(&peer); } + Protocol::BlockSync => { + self.block_sync_connected_peers.remove(&peer); + self.block_sync_peer_senders.remove(&peer); + } } } Messages(peer_id, messages) => { @@ -283,12 +307,22 @@ impl Service { match protocol { Protocol::Authentication => match D::decode(&mut &data[..]) { Ok(data) => self - .messages_for_user + .messages_for_authentication_user .unbounded_send((data, peer_id.clone()))?, Err(e) => { warn!(target: "aleph-network", "Error decoding authentication protocol message: {}", e) } }, + // This is a bit of a placeholder for now, as we are not yet using this + // protocol. In the future we will not be using the same D as above. + Protocol::BlockSync => match D::decode(&mut &data[..]) { + Ok(data) => self + .messages_for_block_sync_user + .unbounded_send((data, peer_id.clone()))?, + Err(e) => { + warn!(target: "aleph-network", "Error decoding block sync protocol message: {}", e) + } + }, }; } } @@ -303,6 +337,10 @@ impl Service { "authentication connected peers - {:?}; ", self.authentication_connected_peers.len() )); + status.push_str(&format!( + "block sync connected peers - {:?}; ", + self.block_sync_connected_peers.len() + )); info!(target: "aleph-network", "{}", status); } @@ -379,7 +417,7 @@ mod tests { // Prepare service let network = MockRawNetwork::new(event_stream_oneshot_tx); - let (service, gossip_network) = + let (service, gossip_network, _) = Service::new(network.clone(), task_manager.spawn_handle()); let gossip_network = Box::new(gossip_network); diff --git a/finality-aleph/src/network/mod.rs b/finality-aleph/src/network/mod.rs index 35945465ed..7ae7b269e6 100644 --- a/finality-aleph/src/network/mod.rs +++ b/finality-aleph/src/network/mod.rs @@ -19,7 +19,7 @@ pub mod tcp; #[cfg(test)] pub use gossip::mock::{MockEvent, MockRawNetwork}; pub use gossip::{Network as GossipNetwork, Protocol, Service as GossipService}; -pub use substrate::protocol_name; +pub use substrate::{ProtocolNaming, SubstrateNetwork}; /// Represents the id of an arbitrary node. pub trait PeerId: PartialEq + Eq + Clone + Debug + Display + Hash + Codec + Send { diff --git a/finality-aleph/src/network/substrate.rs b/finality-aleph/src/network/substrate.rs index 123423b9a8..c0823e36f9 100644 --- a/finality-aleph/src/network/substrate.rs +++ b/finality-aleph/src/network/substrate.rs @@ -1,12 +1,12 @@ -use std::{fmt, iter, pin::Pin, sync::Arc}; +use std::{collections::HashMap, fmt, iter, pin::Pin, sync::Arc}; use async_trait::async_trait; use futures::stream::{Stream, StreamExt}; use log::{error, trace}; use sc_consensus::JustificationSyncLink; use sc_network::{ - multiaddr::Protocol as MultiaddressProtocol, Event as SubstrateEvent, NetworkService, - NetworkSyncForkRequest, PeerId, + multiaddr::Protocol as MultiaddressProtocol, Event as SubstrateEvent, Multiaddr, + NetworkService, NetworkSyncForkRequest, PeerId, }; use sc_network_common::{ protocol::ProtocolName, @@ -45,24 +45,70 @@ impl RequestBlocks for Arc> { } } -/// Name of the network protocol used by Aleph Zero. This is how messages -/// are subscribed to ensure that we are gossiping and communicating with our -/// own network. -const AUTHENTICATION_PROTOCOL_NAME: &str = "/aleph/1"; +/// Name of the network protocol used by Aleph Zero to disseminate validator +/// authentications. +const AUTHENTICATION_PROTOCOL_NAME: &str = "/auth/0"; -/// Returns the canonical name of the protocol. -pub fn protocol_name(protocol: &Protocol) -> ProtocolName { - use Protocol::*; - match protocol { - Authentication => AUTHENTICATION_PROTOCOL_NAME.into(), - } +/// Legacy name of the network protocol used by Aleph Zero to disseminate validator +/// authentications. Might be removed after some updates. +const LEGACY_AUTHENTICATION_PROTOCOL_NAME: &str = "/aleph/1"; + +/// Name of the network protocol used by Aleph Zero to synchronize the block state. +const BLOCK_SYNC_PROTOCOL_NAME: &str = "/sync/0"; + +/// Convert protocols to their names and vice versa. +#[derive(Clone)] +pub struct ProtocolNaming { + authentication_name: ProtocolName, + authentication_fallback_names: Vec, + block_sync_name: ProtocolName, + protocols_by_name: HashMap, } -/// Attempts to convert the protocol name to a protocol. -fn to_protocol(protocol_name: &str) -> Result { - match protocol_name { - AUTHENTICATION_PROTOCOL_NAME => Ok(Protocol::Authentication), - _ => Err(()), +impl ProtocolNaming { + /// Create a new protocol naming scheme with the given chain prefix. + pub fn new(chain_prefix: String) -> Self { + let authentication_name: ProtocolName = + format!("{}{}", chain_prefix, AUTHENTICATION_PROTOCOL_NAME).into(); + let mut protocols_by_name = HashMap::new(); + protocols_by_name.insert(authentication_name.clone(), Protocol::Authentication); + let authentication_fallback_names: Vec = + vec![LEGACY_AUTHENTICATION_PROTOCOL_NAME.into()]; + for protocol_name in &authentication_fallback_names { + protocols_by_name.insert(protocol_name.clone(), Protocol::Authentication); + } + let block_sync_name: ProtocolName = + format!("{}{}", chain_prefix, BLOCK_SYNC_PROTOCOL_NAME).into(); + protocols_by_name.insert(block_sync_name.clone(), Protocol::BlockSync); + ProtocolNaming { + authentication_name, + authentication_fallback_names, + block_sync_name, + protocols_by_name, + } + } + + /// Returns the canonical name of the protocol. + pub fn protocol_name(&self, protocol: &Protocol) -> ProtocolName { + use Protocol::*; + match protocol { + Authentication => self.authentication_name.clone(), + BlockSync => self.block_sync_name.clone(), + } + } + + /// Returns the fallback names of the protocol. + pub fn fallback_protocol_names(&self, protocol: &Protocol) -> Vec { + use Protocol::*; + match protocol { + Authentication => self.authentication_fallback_names.clone(), + _ => Vec::new(), + } + } + + /// Attempts to convert the protocol name to a protocol. + fn to_protocol(&self, protocol_name: &str) -> Option { + self.protocols_by_name.get(protocol_name).copied() } } @@ -127,6 +173,7 @@ impl NetworkSender for SubstrateNetworkSender { pub struct NetworkEventStream { stream: Pin + Send>>, + naming: ProtocolNaming, network: Arc>, } @@ -139,36 +186,46 @@ impl EventStream for NetworkEventStream { match self.stream.next().await { Some(event) => match event { SyncConnected { remote } => { - let multiaddress = + let multiaddress: Multiaddr = iter::once(MultiaddressProtocol::P2p(remote.into())).collect(); trace!(target: "aleph-network", "Connected event from address {:?}", multiaddress); if let Err(e) = self.network.add_peers_to_reserved_set( - protocol_name(&Protocol::Authentication), + self.naming.protocol_name(&Protocol::Authentication), + iter::once(multiaddress.clone()).collect(), + ) { + error!(target: "aleph-network", "add_reserved failed for authentications: {}", e); + } + if let Err(e) = self.network.add_peers_to_reserved_set( + self.naming.protocol_name(&Protocol::BlockSync), iter::once(multiaddress).collect(), ) { - error!(target: "aleph-network", "add_reserved failed: {}", e); + error!(target: "aleph-network", "add_reserved failed for block sync: {}", e); } continue; } SyncDisconnected { remote } => { trace!(target: "aleph-network", "Disconnected event for peer {:?}", remote); - let addresses = iter::once(remote).collect(); + let addresses: Vec<_> = iter::once(remote).collect(); + self.network.remove_peers_from_reserved_set( + self.naming.protocol_name(&Protocol::Authentication), + addresses.clone(), + ); self.network.remove_peers_from_reserved_set( - protocol_name(&Protocol::Authentication), + self.naming.protocol_name(&Protocol::BlockSync), addresses, ); continue; } NotificationStreamOpened { remote, protocol, .. - } => match to_protocol(protocol.as_ref()) { - Ok(protocol) => return Some(StreamOpened(remote, protocol)), - Err(_) => continue, + } => match self.naming.to_protocol(protocol.as_ref()) { + Some(protocol) => return Some(StreamOpened(remote, protocol)), + None => continue, }, NotificationStreamClosed { remote, protocol } => { - match to_protocol(protocol.as_ref()) { - Ok(protocol) => return Some(StreamClosed(remote, protocol)), - Err(_) => continue, + match self.naming.to_protocol(protocol.as_ref()) { + Some(protocol) => return Some(StreamClosed(remote, protocol)), + None => continue, } } NotificationsReceived { messages, remote } => { @@ -177,12 +234,9 @@ impl EventStream for NetworkEventStream { messages .into_iter() .filter_map(|(protocol, data)| { - match to_protocol(protocol.as_ref()) { - Ok(protocol) => Some((protocol, data)), - // This might end with us returning an empty vec, but it's probably not - // worth it to handle this situation here. - Err(_) => None, - } + self.naming + .to_protocol(protocol.as_ref()) + .map(|protocol| (protocol, data)) }) .collect(), )); @@ -195,7 +249,21 @@ impl EventStream for NetworkEventStream { } } -impl RawNetwork for Arc> { +/// A wrapper around the substrate network that includes information about protocol names. +#[derive(Clone)] +pub struct SubstrateNetwork { + network: Arc>, + naming: ProtocolNaming, +} + +impl SubstrateNetwork { + /// Create a new substrate network wrapper. + pub fn new(network: Arc>, naming: ProtocolNaming) -> Self { + SubstrateNetwork { network, naming } + } +} + +impl RawNetwork for SubstrateNetwork { type SenderError = SenderError; type NetworkSender = SubstrateNetworkSender; type PeerId = PeerId; @@ -203,8 +271,9 @@ impl RawNetwork for Arc> { fn event_stream(&self) -> Self::EventStream { NetworkEventStream { - stream: Box::pin(self.as_ref().event_stream("aleph-network")), - network: self.clone(), + stream: Box::pin(self.network.as_ref().event_stream("aleph-network")), + naming: self.naming.clone(), + network: self.network.clone(), } } @@ -217,7 +286,8 @@ impl RawNetwork for Arc> { // Currently method `notification_sender` does not distinguish whether we are not connected to the peer // or there is no such protocol so we need to have this worthless `SenderError::CannotCreateSender` error here notification_sender: self - .notification_sender(peer_id, protocol_name(&protocol)) + .network + .notification_sender(peer_id, self.naming.protocol_name(&protocol)) .map_err(|_| SenderError::CannotCreateSender(peer_id, protocol))?, peer_id, }) diff --git a/finality-aleph/src/nodes/validator_node.rs b/finality-aleph/src/nodes/validator_node.rs index 5301fa25a6..d59f0c3bc7 100644 --- a/finality-aleph/src/nodes/validator_node.rs +++ b/finality-aleph/src/nodes/validator_node.rs @@ -15,7 +15,7 @@ use crate::{ clique::Service, session::{ConnectionManager, ConnectionManagerConfig}, tcp::{new_tcp_network, KEY_TYPE}, - GossipService, + GossipService, SubstrateNetwork, }, nodes::{setup_justification_handler, JustificationParams}, party::{ @@ -62,6 +62,7 @@ where backup_saving_path, external_addresses, validator_port, + protocol_naming, .. } = aleph_config; @@ -92,8 +93,10 @@ where validator_network_service.run(exit).await }); - let (gossip_network_service, gossip_network) = - GossipService::new(network.clone(), spawn_handle.clone()); + let (gossip_network_service, authentication_network, _block_sync_network) = GossipService::new( + SubstrateNetwork::new(network.clone(), protocol_naming), + spawn_handle.clone(), + ); let gossip_network_task = async move { gossip_network_service.run().await }; let block_requester = network.clone(); @@ -122,7 +125,7 @@ where let (connection_manager_service, connection_manager) = ConnectionManager::new( network_identity, validator_network, - gossip_network, + authentication_network, ConnectionManagerConfig::with_session_period(&session_period, &millisecs_per_block), ); diff --git a/finality-aleph/src/testing/network.rs b/finality-aleph/src/testing/network.rs index 5d6733f1b5..78cbbb009e 100644 --- a/finality-aleph/src/testing/network.rs +++ b/finality-aleph/src/testing/network.rs @@ -95,7 +95,7 @@ async fn prepare_one_session_test_data() -> TestData { let network = MockRawNetwork::new(event_stream_tx); let validator_network = MockCliqueNetwork::new(); - let (gossip_service, gossip_network) = + let (gossip_service, gossip_network, _) = GossipService::new(network.clone(), task_manager.spawn_handle()); let (connection_manager_service, session_manager) = ConnectionManager::new( From 88be75241c2bde0ceb057bb22932b59649049e5e Mon Sep 17 00:00:00 2001 From: Marcin Date: Wed, 28 Dec 2022 10:32:27 +0100 Subject: [PATCH 057/212] A0-1609 Removed unwrap()'s in aleph-client (#824) * A0-1609 Removed unwrap()'s in aleph-client * A0-1609 Review --- aleph-client/Cargo.lock | 2 +- aleph-client/Cargo.toml | 3 +- aleph-client/src/pallets/author.rs | 8 +-- aleph-client/src/pallets/contract.rs | 8 ++- aleph-client/src/pallets/elections.rs | 6 +- aleph-client/src/pallets/staking.rs | 12 ++-- aleph-client/src/pallets/treasury.rs | 10 ++-- aleph-client/src/runtime_types.rs | 12 +++- aleph-client/src/utility.rs | 71 ++++++++++++++--------- aleph-client/src/waiting.rs | 36 ++++++++++-- benches/payout-stakers/Cargo.lock | 2 +- bin/cliain/Cargo.lock | 4 +- bin/cliain/Cargo.toml | 2 +- bin/cliain/src/keys.rs | 13 +++-- bin/cliain/src/main.rs | 5 +- e2e-tests/Cargo.lock | 4 +- e2e-tests/Cargo.toml | 2 +- e2e-tests/src/ban.rs | 9 +-- e2e-tests/src/elections.rs | 6 +- e2e-tests/src/rewards.rs | 20 ++++--- e2e-tests/src/test/electing_validators.rs | 12 ++-- e2e-tests/src/test/era_validators.rs | 7 ++- e2e-tests/src/test/finalization.rs | 9 ++- e2e-tests/src/test/rewards.rs | 18 +++--- e2e-tests/src/test/staking.rs | 2 +- e2e-tests/src/test/treasury.rs | 2 +- e2e-tests/src/test/validators_change.rs | 7 ++- e2e-tests/src/test/validators_rotate.rs | 14 ++++- e2e-tests/src/test/version_upgrade.rs | 13 +++-- e2e-tests/src/validators.rs | 9 ++- flooder/Cargo.lock | 2 +- 31 files changed, 213 insertions(+), 117 deletions(-) diff --git a/aleph-client/Cargo.lock b/aleph-client/Cargo.lock index ab6cf0e29a..33dfcb4bbf 100644 --- a/aleph-client/Cargo.lock +++ b/aleph-client/Cargo.lock @@ -49,7 +49,7 @@ dependencies = [ [[package]] name = "aleph_client" -version = "2.4.0" +version = "2.5.0" dependencies = [ "anyhow", "async-trait", diff --git a/aleph-client/Cargo.toml b/aleph-client/Cargo.toml index b412e30552..e37a066193 100644 --- a/aleph-client/Cargo.toml +++ b/aleph-client/Cargo.toml @@ -1,6 +1,7 @@ [package] name = "aleph_client" -version = "2.4.0" +# TODO bump major version when API stablize +version = "2.5.0" edition = "2021" license = "Apache 2.0" diff --git a/aleph-client/src/pallets/author.rs b/aleph-client/src/pallets/author.rs index f614e9e545..6edae050b0 100644 --- a/aleph-client/src/pallets/author.rs +++ b/aleph-client/src/pallets/author.rs @@ -4,14 +4,14 @@ use crate::{aleph_runtime::SessionKeys, Connection}; #[async_trait::async_trait] pub trait AuthorRpc { - async fn author_rotate_keys(&self) -> SessionKeys; + async fn author_rotate_keys(&self) -> anyhow::Result; } #[async_trait::async_trait] impl AuthorRpc for Connection { - async fn author_rotate_keys(&self) -> SessionKeys { - let bytes = self.client.rpc().rotate_keys().await.unwrap(); + async fn author_rotate_keys(&self) -> anyhow::Result { + let bytes = self.client.rpc().rotate_keys().await?; - SessionKeys::decode(&mut bytes.0.as_slice()).unwrap() + SessionKeys::decode(&mut bytes.0.as_slice()).map_err(|e| e.into()) } } diff --git a/aleph-client/src/pallets/contract.rs b/aleph-client/src/pallets/contract.rs index e1cb81fd47..0612114b4b 100644 --- a/aleph-client/src/pallets/contract.rs +++ b/aleph-client/src/pallets/contract.rs @@ -188,7 +188,13 @@ impl ContractRpc for Connection { let res: ContractExecResult = self.rpc_call("state_call".to_string(), params).await?; - let res = T::decode(&mut (res.result.unwrap().data.as_slice()))?; + let res = T::decode( + &mut (res + .result + .expect("Failed to decode execution result of the wasm code!") + .data + .as_slice()), + )?; Ok(res) } diff --git a/aleph-client/src/pallets/elections.rs b/aleph-client/src/pallets/elections.rs index cb9f1ef5bd..b29789f084 100644 --- a/aleph-client/src/pallets/elections.rs +++ b/aleph-client/src/pallets/elections.rs @@ -43,7 +43,7 @@ pub trait ElectionsApi { validator: AccountId, at: Option, ) -> Option; - async fn get_session_period(&self) -> u32; + async fn get_session_period(&self) -> anyhow::Result; } #[async_trait::async_trait] @@ -164,10 +164,10 @@ impl ElectionsApi for Connection { self.get_storage_entry_maybe(&addrs, at).await } - async fn get_session_period(&self) -> u32 { + async fn get_session_period(&self) -> anyhow::Result { let addrs = api::constants().elections().session_period(); - self.client.constants().at(&addrs).unwrap() + self.client.constants().at(&addrs).map_err(|e| e.into()) } } diff --git a/aleph-client/src/pallets/staking.rs b/aleph-client/src/pallets/staking.rs index 81031abb95..7d10ec7201 100644 --- a/aleph-client/src/pallets/staking.rs +++ b/aleph-client/src/pallets/staking.rs @@ -44,7 +44,7 @@ pub trait StakingApi { at: Option, ) -> Option>; async fn get_minimum_validator_count(&self, at: Option) -> u32; - async fn get_session_per_era(&self) -> u32; + async fn get_session_per_era(&self) -> anyhow::Result; } #[async_trait::async_trait] @@ -113,7 +113,7 @@ pub trait StakingRawApi { &self, era: EraIndex, at: Option, - ) -> Vec; + ) -> anyhow::Result>; async fn get_stakers_storage_keys_from_accounts( &self, era: EraIndex, @@ -181,10 +181,10 @@ impl StakingApi for Connection { self.get_storage_entry(&addrs, at).await } - async fn get_session_per_era(&self) -> u32 { + async fn get_session_per_era(&self) -> anyhow::Result { let addrs = api::constants().staking().sessions_per_era(); - self.client.constants().at(&addrs).unwrap() + self.client.constants().at(&addrs).map_err(|e| e.into()) } } @@ -300,7 +300,7 @@ impl StakingRawApi for Connection { &self, era: EraIndex, at: Option, - ) -> Vec { + ) -> anyhow::Result> { let key_addrs = api::storage().staking().eras_stakers_root(); let mut key = key_addrs.to_root_bytes(); StorageMapKey::new(era, StorageHasher::Twox64Concat).to_bytes(&mut key); @@ -308,7 +308,7 @@ impl StakingRawApi for Connection { .storage() .fetch_keys(&key, 10, None, at) .await - .unwrap() + .map_err(|e| e.into()) } async fn get_stakers_storage_keys_from_accounts( diff --git a/aleph-client/src/pallets/treasury.rs b/aleph-client/src/pallets/treasury.rs index c47eb75643..1b1bb3773a 100644 --- a/aleph-client/src/pallets/treasury.rs +++ b/aleph-client/src/pallets/treasury.rs @@ -33,7 +33,7 @@ pub trait TreasuryUserApi { #[async_trait::async_trait] pub trait TreasureApiExt { - async fn possible_treasury_payout(&self) -> Balance; + async fn possible_treasury_payout(&self) -> anyhow::Result; } #[async_trait::async_trait] @@ -106,12 +106,12 @@ impl TreasurySudoApi for RootConnection { #[async_trait::async_trait] impl TreasureApiExt for Connection { - async fn possible_treasury_payout(&self) -> Balance { - let session_period = self.get_session_period().await; - let sessions_per_era = self.get_session_per_era().await; + async fn possible_treasury_payout(&self) -> anyhow::Result { + let session_period = self.get_session_period().await?; + let sessions_per_era = self.get_session_per_era().await?; let millisecs_per_era = MILLISECS_PER_BLOCK * session_period as u64 * sessions_per_era as u64; - primitives::staking::era_payout(millisecs_per_era).1 + Ok(primitives::staking::era_payout(millisecs_per_era).1) } } diff --git a/aleph-client/src/runtime_types.rs b/aleph-client/src/runtime_types.rs index 866487b5a8..2c1eceddbe 100644 --- a/aleph-client/src/runtime_types.rs +++ b/aleph-client/src/runtime_types.rs @@ -24,8 +24,16 @@ impl From> for SessionKeys { fn from(bytes: Vec) -> Self { assert_eq!(bytes.len(), 64); Self { - aura: AuraPublic(SrPublic(bytes[..32].try_into().unwrap())), - aleph: AlephPublic(EdPublic(bytes[32..64].try_into().unwrap())), + aura: AuraPublic(SrPublic( + bytes[..32] + .try_into() + .expect("Failed to convert bytes slice to an Aura key!"), + )), + aleph: AlephPublic(EdPublic( + bytes[32..64] + .try_into() + .expect("Failed to convert bytes slice to an Aleph key!"), + )), } } } diff --git a/aleph-client/src/utility.rs b/aleph-client/src/utility.rs index eb59983f03..bdb195a1dc 100644 --- a/aleph-client/src/utility.rs +++ b/aleph-client/src/utility.rs @@ -8,64 +8,77 @@ use crate::{ #[async_trait::async_trait] pub trait BlocksApi { - async fn first_block_of_session(&self, session: SessionIndex) -> Option; - async fn get_block_hash(&self, block: BlockNumber) -> Option; - async fn get_best_block(&self) -> BlockNumber; - async fn get_finalized_block_hash(&self) -> BlockHash; - async fn get_block_number(&self, block: BlockHash) -> Option; + async fn first_block_of_session( + &self, + session: SessionIndex, + ) -> anyhow::Result>; + async fn get_block_hash(&self, block: BlockNumber) -> anyhow::Result>; + async fn get_best_block(&self) -> anyhow::Result>; + async fn get_finalized_block_hash(&self) -> anyhow::Result; + async fn get_block_number(&self, block: BlockHash) -> anyhow::Result>; } #[async_trait::async_trait] pub trait SessionEraApi { - async fn get_active_era_for_session(&self, session: SessionIndex) -> EraIndex; + async fn get_active_era_for_session(&self, session: SessionIndex) -> anyhow::Result; +} + +impl Connection { + async fn get_block_number_inner( + &self, + block: Option, + ) -> anyhow::Result> { + self.client + .rpc() + .header(block) + .await + .map(|maybe_header| maybe_header.map(|header| header.number)) + .map_err(|e| e.into()) + } } #[async_trait::async_trait] impl BlocksApi for Connection { - async fn first_block_of_session(&self, session: SessionIndex) -> Option { - let period = self.get_session_period().await; + async fn first_block_of_session( + &self, + session: SessionIndex, + ) -> anyhow::Result> { + let period = self.get_session_period().await?; let block_num = period * session; self.get_block_hash(block_num).await } - async fn get_block_hash(&self, block: BlockNumber) -> Option { + async fn get_block_hash(&self, block: BlockNumber) -> anyhow::Result> { info!(target: "aleph-client", "querying block hash for number #{}", block); self.client .rpc() .block_hash(Some(block.into())) .await - .unwrap() + .map_err(|e| e.into()) } - async fn get_best_block(&self) -> BlockNumber { - self.client - .rpc() - .header(None) - .await - .unwrap() - .unwrap() - .number - } - - async fn get_finalized_block_hash(&self) -> BlockHash { - self.client.rpc().finalized_head().await.unwrap() + async fn get_best_block(&self) -> anyhow::Result> { + self.get_block_number_inner(None).await } - async fn get_block_number(&self, block: BlockHash) -> Option { + async fn get_finalized_block_hash(&self) -> anyhow::Result { self.client .rpc() - .header(Some(block)) + .finalized_head() .await - .unwrap() - .map(|h| h.number) + .map_err(|e| e.into()) + } + + async fn get_block_number(&self, block: BlockHash) -> anyhow::Result> { + self.get_block_number_inner(Some(block)).await } } #[async_trait::async_trait] impl SessionEraApi for Connection { - async fn get_active_era_for_session(&self, session: SessionIndex) -> EraIndex { - let block = self.first_block_of_session(session).await; - self.get_active_era(block).await + async fn get_active_era_for_session(&self, session: SessionIndex) -> anyhow::Result { + let block = self.first_block_of_session(session).await?; + Ok(self.get_active_era(block).await) } } diff --git a/aleph-client/src/waiting.rs b/aleph-client/src/waiting.rs index dcb8b355ef..74d7cc5ca9 100644 --- a/aleph-client/src/waiting.rs +++ b/aleph-client/src/waiting.rs @@ -37,8 +37,18 @@ pub trait WaitingExt { impl AlephWaiting for Connection { async fn wait_for_block bool + Send>(&self, predicate: P, status: BlockStatus) { let mut block_sub = match status { - BlockStatus::Best => self.client.blocks().subscribe_best().await.unwrap(), - BlockStatus::Finalized => self.client.blocks().subscribe_finalized().await.unwrap(), + BlockStatus::Best => self + .client + .blocks() + .subscribe_best() + .await + .expect("Failed to subscribe to the best block stream!"), + BlockStatus::Finalized => self + .client + .blocks() + .subscribe_finalized() + .await + .expect("Failed to subscribe to the finalized block stream!"), }; while let Some(Ok(block)) = block_sub.next().await { @@ -54,8 +64,18 @@ impl AlephWaiting for Connection { status: BlockStatus, ) -> T { let mut block_sub = match status { - BlockStatus::Best => self.client.blocks().subscribe_best().await.unwrap(), - BlockStatus::Finalized => self.client.blocks().subscribe_finalized().await.unwrap(), + BlockStatus::Best => self + .client + .blocks() + .subscribe_best() + .await + .expect("Failed to subscribe to the best block stream!"), + BlockStatus::Finalized => self + .client + .blocks() + .subscribe_finalized() + .await + .expect("Failed to subscribe to the finalized block stream!"), }; info!(target: "aleph-client", "waiting for event {}.{}", T::PALLET, T::EVENT); @@ -67,7 +87,7 @@ impl AlephWaiting for Connection { }; for event in events.iter() { - let event = event.unwrap(); + let event = event.expect("Failed to obtain event from the block!"); if let Ok(Some(ev)) = event.as_event::() { if predicate(&ev) { return ev; @@ -81,7 +101,11 @@ impl AlephWaiting for Connection { async fn wait_for_era(&self, era: EraIndex, status: BlockStatus) { let addrs = aleph_zero::api::constants().staking().sessions_per_era(); - let sessions_per_era = self.client.constants().at(&addrs).unwrap(); + let sessions_per_era = self + .client + .constants() + .at(&addrs) + .expect("Failed to obtain sessions_per_era const!"); let first_session_in_era = era * sessions_per_era; self.wait_for_session(first_session_in_era, status).await; diff --git a/benches/payout-stakers/Cargo.lock b/benches/payout-stakers/Cargo.lock index 416a39b5c9..2749a90e7b 100644 --- a/benches/payout-stakers/Cargo.lock +++ b/benches/payout-stakers/Cargo.lock @@ -49,7 +49,7 @@ dependencies = [ [[package]] name = "aleph_client" -version = "2.4.0" +version = "2.5.0" dependencies = [ "anyhow", "async-trait", diff --git a/bin/cliain/Cargo.lock b/bin/cliain/Cargo.lock index f2358ff658..346655da73 100644 --- a/bin/cliain/Cargo.lock +++ b/bin/cliain/Cargo.lock @@ -49,7 +49,7 @@ dependencies = [ [[package]] name = "aleph_client" -version = "2.4.0" +version = "2.5.0" dependencies = [ "anyhow", "async-trait", @@ -393,7 +393,7 @@ dependencies = [ [[package]] name = "cliain" -version = "0.10.0" +version = "0.11.0" dependencies = [ "aleph_client", "anyhow", diff --git a/bin/cliain/Cargo.toml b/bin/cliain/Cargo.toml index 4f36298741..0d04e9b332 100644 --- a/bin/cliain/Cargo.toml +++ b/bin/cliain/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "cliain" -version = "0.10.0" +version = "0.11.0" edition = "2021" license = "GPL-3.0-or-later" diff --git a/bin/cliain/src/keys.rs b/bin/cliain/src/keys.rs index a75ff66cda..7cd1827ebc 100644 --- a/bin/cliain/src/keys.rs +++ b/bin/cliain/src/keys.rs @@ -13,7 +13,10 @@ use primitives::staking::MIN_VALIDATOR_BOND; use serde_json::json; use subxt::ext::sp_core::crypto::Ss58Codec; -pub async fn prepare_keys(connection: RootConnection, controller_account_id: AccountId) { +pub async fn prepare_keys( + connection: RootConnection, + controller_account_id: AccountId, +) -> anyhow::Result<()> { connection .as_signed() .bond( @@ -23,12 +26,12 @@ pub async fn prepare_keys(connection: RootConnection, controller_account_id: Acc ) .await .unwrap(); - let new_keys = connection.connection.author_rotate_keys().await; - connection + let new_keys = connection.connection.author_rotate_keys().await?; + let _ = connection .as_signed() .set_keys(new_keys, TxStatus::Finalized) - .await - .unwrap(); + .await?; + Ok(()) } pub async fn set_keys(connection: SignedConnection, new_keys: String) { diff --git a/bin/cliain/src/main.rs b/bin/cliain/src/main.rs index bd89b9f464..ff06959770 100644 --- a/bin/cliain/src/main.rs +++ b/bin/cliain/src/main.rs @@ -58,7 +58,7 @@ fn read_secret(secret: Option, message: &str) -> String { } #[tokio::main] -async fn main() { +async fn main() -> anyhow::Result<()> { init_env(); let Config { @@ -76,7 +76,7 @@ async fn main() { Command::PrepareKeys => { let key = keypair_from_string(&seed); let controller_account_id = account_from_keypair(key.signer()); - prepare_keys(cfg.get_root_connection().await, controller_account_id).await; + prepare_keys(cfg.get_root_connection().await, controller_account_id).await? } Command::Bond { controller_account, @@ -245,6 +245,7 @@ async fn main() { Err(why) => error!("Unable to schedule an upgrade {:?}", why), }, } + Ok(()) } fn init_env() { diff --git a/e2e-tests/Cargo.lock b/e2e-tests/Cargo.lock index 33330c590a..e379e2513c 100644 --- a/e2e-tests/Cargo.lock +++ b/e2e-tests/Cargo.lock @@ -49,7 +49,7 @@ dependencies = [ [[package]] name = "aleph-e2e-client" -version = "0.9.4" +version = "0.10.0" dependencies = [ "aleph_client", "anyhow", @@ -75,7 +75,7 @@ dependencies = [ [[package]] name = "aleph_client" -version = "2.4.0" +version = "2.5.0" dependencies = [ "anyhow", "async-trait", diff --git a/e2e-tests/Cargo.toml b/e2e-tests/Cargo.toml index 48166153be..851f5f1e1e 100644 --- a/e2e-tests/Cargo.toml +++ b/e2e-tests/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "aleph-e2e-client" -version = "0.9.4" +version = "0.10.0" edition = "2021" license = "Apache 2.0" diff --git a/e2e-tests/src/ban.rs b/e2e-tests/src/ban.rs index 3972508623..8d54b229d0 100644 --- a/e2e-tests/src/ban.rs +++ b/e2e-tests/src/ban.rs @@ -186,7 +186,7 @@ pub async fn check_underperformed_count_for_sessions( end_session: SessionIndex, ban_session_threshold: SessionCount, ) -> anyhow::Result<()> { - let session_period = connection.get_session_period().await; + let session_period = connection.get_session_period().await?; let validators: Vec<_> = reserved_validators .iter() @@ -195,11 +195,12 @@ pub async fn check_underperformed_count_for_sessions( for session in start_session..end_session { let session_end_block = (session + 1) * session_period; - let session_end_block_hash = connection.get_block_hash(session_end_block).await; + let session_end_block_hash = connection.get_block_hash(session_end_block).await?; let previous_session_end_block = session_end_block - session_period; - let previous_session_end_block_hash = - connection.get_block_hash(previous_session_end_block).await; + let previous_session_end_block_hash = connection + .get_block_hash(previous_session_end_block) + .await?; let members = get_members_for_session(reserved_validators, non_reserved_validators, seats, session); diff --git a/e2e-tests/src/elections.rs b/e2e-tests/src/elections.rs index fcc9f19edf..72c42f2545 100644 --- a/e2e-tests/src/elections.rs +++ b/e2e-tests/src/elections.rs @@ -14,7 +14,7 @@ pub async fn get_and_test_members_for_session( seats: CommitteeSeats, era_validators: &EraValidators, session: SessionIndex, -) -> (Vec, Vec) { +) -> anyhow::Result<(Vec, Vec)> { let reserved_members_for_session = get_members_subset_for_session(seats.reserved_seats, &era_validators.reserved, session); let non_reserved_members_for_session = get_members_subset_for_session( @@ -40,7 +40,7 @@ pub async fn get_and_test_members_for_session( .collect(); let members_active_set: HashSet<_> = members_active.iter().cloned().collect(); - let block = connection.first_block_of_session(session).await; + let block = connection.first_block_of_session(session).await?; let network_members: HashSet<_> = connection.get_validators(block).await.into_iter().collect(); debug!( @@ -55,7 +55,7 @@ pub async fn get_and_test_members_for_session( assert_eq!(members_active_set, network_members); - (members_active, members_bench) + Ok((members_active, members_bench)) } /// Computes a list of validators that should be elected for a given session, based on description in our elections pallet. diff --git a/e2e-tests/src/rewards.rs b/e2e-tests/src/rewards.rs index 69c7b3d257..d081a4272e 100644 --- a/e2e-tests/src/rewards.rs +++ b/e2e-tests/src/rewards.rs @@ -14,6 +14,7 @@ use aleph_client::{ waiting::{AlephWaiting, BlockStatus, WaitingExt}, AccountId, SignedConnection, TxStatus, }; +use anyhow::anyhow; use log::{debug, info}; use pallet_elections::LENIENT_THRESHOLD; use primitives::{Balance, BlockHash, EraIndex, SessionIndex, TOKEN}; @@ -54,7 +55,10 @@ pub async fn set_invalid_keys_for_validator( pub(super) async fn reset_validator_keys( controller_connection: &SignedConnection, ) -> anyhow::Result<()> { - let validator_keys = controller_connection.connection.author_rotate_keys().await; + let validator_keys = controller_connection + .connection + .author_rotate_keys() + .await?; controller_connection .set_keys(validator_keys, TxStatus::InBlock) .await @@ -164,7 +168,7 @@ pub async fn check_points( members_per_session: u32, max_relative_difference: f64, ) -> anyhow::Result<()> { - let session_period = connection.connection.get_session_period().await; + let session_period = connection.connection.get_session_period().await?; info!("Era: {} | session: {}.", era, session); @@ -179,15 +183,15 @@ pub async fn check_points( let beginning_of_session_block_hash = connection .connection .get_block_hash(beginning_of_session_block) - .await; + .await?; let end_of_session_block_hash = connection .connection .get_block_hash(end_of_session_block) - .await; + .await?; let before_end_of_session_block_hash = connection .connection .get_block_hash(end_of_session_block - 1) - .await; + .await?; info!( "End-of-session block hash: {:?}.", end_of_session_block_hash @@ -313,8 +317,8 @@ pub async fn setup_validators( let first_block_in_session = root_connection .connection .first_block_of_session(session) - .await - .unwrap(); + .await? + .ok_or(anyhow!("First block of session {} is None!", session))?; let network_seats = root_connection .connection .get_committee_seats(Some(first_block_in_session)) @@ -349,7 +353,7 @@ pub async fn setup_validators( let first_block_in_session = root_connection .connection .first_block_of_session(session) - .await; + .await?; let network_validators = root_connection .connection .get_current_era_validators(first_block_in_session) diff --git a/e2e-tests/src/test/electing_validators.rs b/e2e-tests/src/test/electing_validators.rs index 31994843b3..b099bde3b6 100644 --- a/e2e-tests/src/test/electing_validators.rs +++ b/e2e-tests/src/test/electing_validators.rs @@ -25,10 +25,10 @@ async fn assert_validators_are_elected_stakers( connection: &Connection, current_era: EraIndex, expected_validators_as_keys: Vec>, -) { +) -> anyhow::Result<()> { let stakers = connection .get_stakers_storage_keys(current_era, None) - .await + .await? .into_iter() .map(|key| key.0); let stakers_tree = BTreeSet::from_iter(stakers); @@ -39,6 +39,8 @@ async fn assert_validators_are_elected_stakers( "Expected another set of staking validators.\n\tExpected: {:?}\n\tActual: {:?}", expected_validators_as_keys, stakers_tree ); + + Ok(()) } // There are v non-reserved validators and s non-reserved seats. We will have seen all @@ -180,7 +182,7 @@ pub async fn authorities_are_staking() -> anyhow::Result<()> { let desired_validator_count = reserved_seats + non_reserved_seats; let accounts = setup_accounts(desired_validator_count); - prepare_validators(&root_connection.as_signed(), node, &accounts).await; + prepare_validators(&root_connection.as_signed(), node, &accounts).await?; info!("New validators are set up"); let reserved_validators = accounts.get_stash_accounts()[..reserved_seats as usize].to_vec(); @@ -249,7 +251,7 @@ pub async fn authorities_are_staking() -> anyhow::Result<()> { .map(|k| k.0) .collect(), ) - .await; + .await?; let min_num_sessions = min_num_sessions_to_see_all_non_reserved_validators(non_reserved_count, non_reserved_seats); @@ -288,7 +290,7 @@ pub async fn authorities_are_staking() -> anyhow::Result<()> { .map(|k| k.0) .collect(), ) - .await; + .await?; assert_validators_are_used_as_authorities( &connection.connection, &BTreeSet::from_iter(left_stashes.into_iter()), diff --git a/e2e-tests/src/test/era_validators.rs b/e2e-tests/src/test/era_validators.rs index 81c2570116..4eee186fb9 100644 --- a/e2e-tests/src/test/era_validators.rs +++ b/e2e-tests/src/test/era_validators.rs @@ -5,6 +5,7 @@ use aleph_client::{ waiting::{AlephWaiting, BlockStatus, WaitingExt}, AccountId, Connection, KeyPair, TxStatus, }; +use anyhow::anyhow; use crate::{ accounts::{account_ids_from_keys, get_validators_raw_keys}, @@ -160,7 +161,11 @@ pub async fn era_validators() -> anyhow::Result<()> { "Non-reserved validators set is not properly updated in the next era." ); - let block_number = connection.connection.get_best_block().await; + let block_number = connection + .connection + .get_best_block() + .await? + .ok_or(anyhow!("Failed to retrieve best block number!"))?; connection .connection .wait_for_block(|n| n >= block_number, BlockStatus::Finalized) diff --git a/e2e-tests/src/test/finalization.rs b/e2e-tests/src/test/finalization.rs index 2c28b5d32f..3d53c3a562 100644 --- a/e2e-tests/src/test/finalization.rs +++ b/e2e-tests/src/test/finalization.rs @@ -2,6 +2,7 @@ use aleph_client::{ utility::BlocksApi, waiting::{AlephWaiting, BlockStatus}, }; +use anyhow::anyhow; use crate::config::setup_test; @@ -10,12 +11,14 @@ pub async fn finalization() -> anyhow::Result<()> { let config = setup_test(); let connection = config.create_root_connection().await; - let finalized = connection.connection.get_finalized_block_hash().await; + let finalized = connection.connection.get_finalized_block_hash().await?; let finalized_number = connection .connection .get_block_number(finalized) - .await - .unwrap(); + .await? + .ok_or(anyhow!( + "Failed to retrieve block number for hash {finalized:?}" + ))?; connection .connection .wait_for_block(|n| n > finalized_number, BlockStatus::Finalized) diff --git a/e2e-tests/src/test/rewards.rs b/e2e-tests/src/test/rewards.rs index 9ca7ff4e16..fd4652ef57 100644 --- a/e2e-tests/src/test/rewards.rs +++ b/e2e-tests/src/test/rewards.rs @@ -48,14 +48,14 @@ pub async fn points_basic() -> anyhow::Result<()> { let era = connection .connection .get_active_era_for_session(session) - .await; + .await?; let (members_active, members_bench) = get_and_test_members_for_session( &connection.connection, committee_size.clone(), &era_validators, session, ) - .await; + .await?; check_points( &connection, @@ -109,14 +109,14 @@ pub async fn points_stake_change() -> anyhow::Result<()> { let era = connection .connection .get_active_era_for_session(session) - .await; + .await?; let (members_active, members_bench) = get_and_test_members_for_session( &connection.connection, committee_size.clone(), &era_validators, session, ) - .await; + .await?; check_points( &connection, @@ -165,14 +165,14 @@ pub async fn disable_node() -> anyhow::Result<()> { let era = root_connection .connection .get_active_era_for_session(session) - .await; + .await?; let (members_active, members_bench) = get_and_test_members_for_session( &controller_connection.connection, committee_size.clone(), &era_validators, session, ) - .await; + .await?; check_points( &controller_connection, @@ -203,7 +203,7 @@ pub async fn force_new_era() -> anyhow::Result<()> { let start_era = connection .connection .get_active_era_for_session(start_session) - .await; + .await?; info!("Start | era: {}, session: {}", start_era, start_session); @@ -248,7 +248,7 @@ pub async fn change_stake_and_force_new_era() -> anyhow::Result<()> { let start_era = connection .connection .get_active_era_for_session(start_session) - .await; + .await?; info!("Start | era: {}, session: {}", start_era, start_session); validators_bond_extra_stakes( @@ -316,7 +316,7 @@ async fn check_points_after_force_new_era( era_validators, session_to_check, ) - .await; + .await?; check_points( connection, diff --git a/e2e-tests/src/test/staking.rs b/e2e-tests/src/test/staking.rs index 1ce9f7638f..766c0a1971 100644 --- a/e2e-tests/src/test/staking.rs +++ b/e2e-tests/src/test/staking.rs @@ -178,7 +178,7 @@ pub async fn staking_new_validator() -> anyhow::Result<()> { &stash_account, &controller_account, &bonded_controller_account ); - let validator_keys = root_connection.connection.author_rotate_keys().await; + let validator_keys = root_connection.connection.author_rotate_keys().await?; let controller_connection = SignedConnection::new(node.to_string(), KeyPair::new(controller.signer().clone())).await; controller_connection diff --git a/e2e-tests/src/test/treasury.rs b/e2e-tests/src/test/treasury.rs index 50df832815..940d0779af 100644 --- a/e2e-tests/src/test/treasury.rs +++ b/e2e-tests/src/test/treasury.rs @@ -41,7 +41,7 @@ pub async fn channeling_fee_and_tip() -> anyhow::Result<()> { let (treasury_balance_before, issuance_before) = balance_info(&connection.connection).await; let possible_treasury_gain_from_staking = - connection.connection.possible_treasury_payout().await; + connection.connection.possible_treasury_payout().await?; let (fee, _) = current_fees(&connection, to, Some(tip), transfer_amount).await; let (treasury_balance_after, issuance_after) = balance_info(&connection.connection).await; diff --git a/e2e-tests/src/test/validators_change.rs b/e2e-tests/src/test/validators_change.rs index e1e0e8cb4a..f906f980f1 100644 --- a/e2e-tests/src/test/validators_change.rs +++ b/e2e-tests/src/test/validators_change.rs @@ -6,6 +6,7 @@ use aleph_client::{ waiting::{AlephWaiting, BlockStatus}, AccountId, Pair, TxStatus, }; +use anyhow::anyhow; use log::info; use crate::{accounts::get_validators_keys, config::setup_test}; @@ -90,7 +91,11 @@ pub async fn change_validators() -> anyhow::Result<()> { }, committee_size_after ); - let block_number = connection.connection.get_best_block().await; + let block_number = connection + .connection + .get_best_block() + .await? + .ok_or(anyhow!("Failed to retrieve best block!"))?; connection .connection .wait_for_block(|n| n >= block_number, BlockStatus::Finalized) diff --git a/e2e-tests/src/test/validators_rotate.rs b/e2e-tests/src/test/validators_rotate.rs index 56d222346c..f206865a20 100644 --- a/e2e-tests/src/test/validators_rotate.rs +++ b/e2e-tests/src/test/validators_rotate.rs @@ -7,6 +7,7 @@ use aleph_client::{ waiting::{AlephWaiting, BlockStatus, WaitingExt}, TxStatus, }; +use anyhow::anyhow; use crate::{ accounts::account_ids_from_keys, config::setup_test, elections::get_members_subset_for_session, @@ -54,7 +55,12 @@ pub async fn validators_rotate() -> anyhow::Result<()> { for session in current_session..current_session + TEST_LENGTH { let elected = connection .connection - .get_validators(connection.connection.first_block_of_session(session).await) + .get_validators( + connection + .connection + .first_block_of_session(session) + .await?, + ) .await; let non_reserved = get_members_subset_for_session( @@ -101,7 +107,11 @@ pub async fn validators_rotate() -> anyhow::Result<()> { let min_elected = non_reserved_count.values().min().unwrap(); assert!(max_elected - min_elected <= 1); - let block_number = connection.connection.get_best_block().await; + let block_number = connection + .connection + .get_best_block() + .await? + .ok_or(anyhow!("Failed to retrieve best block number!"))?; connection .connection .wait_for_block(|n| n >= block_number, BlockStatus::Finalized) diff --git a/e2e-tests/src/test/version_upgrade.rs b/e2e-tests/src/test/version_upgrade.rs index 8f718335b3..8d0846e78e 100644 --- a/e2e-tests/src/test/version_upgrade.rs +++ b/e2e-tests/src/test/version_upgrade.rs @@ -4,6 +4,7 @@ use aleph_client::{ waiting::{AlephWaiting, BlockStatus}, TxStatus, }; +use anyhow::anyhow; use primitives::SessionIndex; use crate::config::setup_test; @@ -44,7 +45,11 @@ pub async fn schedule_version_change() -> anyhow::Result<()> { .wait_for_session(session_after_upgrade + 1, BlockStatus::Finalized) .await; - let block_number = connection.connection.get_best_block().await; + let block_number = connection + .connection + .get_best_block() + .await? + .ok_or(anyhow!("Failed to retrieve best block number!"))?; connection .connection .wait_for_block(|n| n >= block_number, BlockStatus::Finalized) @@ -86,11 +91,11 @@ pub async fn schedule_doomed_version_change_and_verify_finalization_stopped() -> .await; let last_finalized_block = - session_for_upgrade * connection.connection.get_session_period().await - 1; + session_for_upgrade * connection.connection.get_session_period().await? - 1; let connection = connection.connection; - let finalized_block_head = connection.get_finalized_block_hash().await; - let finalized_block = connection.get_block_number(finalized_block_head).await; + let finalized_block_head = connection.get_finalized_block_hash().await?; + let finalized_block = connection.get_block_number(finalized_block_head).await?; let finalized_block = match finalized_block { Some(block) => block, diff --git a/e2e-tests/src/validators.rs b/e2e-tests/src/validators.rs index a4567e429c..31833885b2 100644 --- a/e2e-tests/src/validators.rs +++ b/e2e-tests/src/validators.rs @@ -103,7 +103,11 @@ pub fn setup_accounts(desired_validator_count: u32) -> Accounts { /// Endow validators (stashes and controllers), bond and rotate keys. /// /// Signer of `connection` should have enough balance to endow new accounts. -pub async fn prepare_validators(connection: &SignedConnection, node: &str, accounts: &Accounts) { +pub async fn prepare_validators( + connection: &SignedConnection, + node: &str, + accounts: &Accounts, +) -> anyhow::Result<()> { connection .batch_transfer( &accounts.stash_accounts, @@ -134,7 +138,7 @@ pub async fn prepare_validators(connection: &SignedConnection, node: &str, accou } for controller in accounts.controller_raw_keys.iter() { - let keys = connection.connection.author_rotate_keys().await; + let keys = connection.connection.author_rotate_keys().await?; let connection = SignedConnection::new(node.to_string(), KeyPair::new(controller.clone())).await; handles.push(tokio::spawn(async move { @@ -147,4 +151,5 @@ pub async fn prepare_validators(connection: &SignedConnection, node: &str, accou } join_all(handles).await; + Ok(()) } diff --git a/flooder/Cargo.lock b/flooder/Cargo.lock index bbd519f9f1..fef7c2c125 100644 --- a/flooder/Cargo.lock +++ b/flooder/Cargo.lock @@ -49,7 +49,7 @@ dependencies = [ [[package]] name = "aleph_client" -version = "2.4.0" +version = "2.5.0" dependencies = [ "anyhow", "async-trait", From a3ab96e52298ee14c1d516ea2ef732b88fe37154 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Obrok?= Date: Thu, 29 Dec 2022 15:44:00 +0100 Subject: [PATCH 058/212] A0-1610: Contract support redux (#816) * Add e2e tests for a simple contract * Fix tests and warnings * Run adder test on CI * Install fmt/clippy/wasm target per package on CI The different packages can have different toolchain versions, so installing once isn't enough. * Install cargo contract for e2e tests * Install cargo-contract only in adder test It can take a significant amount of time without cache, which exceeds the timeout on the tests. * Install rust-src for 1.65.0 on CI * Set adder metadata on CI * Pass ADDER_METADATA to adder test * Extend adder test timeout * Give names to adder arguments in CI * Mount contract dir in e2e tests (for the metadata) * Fix clippy * Bump aleph-client to 2.5.0 * Authenticate when installing protoc This should make it less likely that we hit API limits. * Revert "Authenticate when installing protoc" This reverts commit f7563d4807df963bd67d18531a8b0b3c64529b1b. * Add Option conversion for contract returns * Extract variables --- .github/actions/run-e2e-test/action.yml | 12 ++ .github/scripts/run_e2e_test.sh | 7 +- .github/workflows/check-excluded-packages.yml | 8 +- .github/workflows/e2e-tests-main-devnet.yml | 26 +++ Cargo.toml | 1 + aleph-client/src/connections.rs | 4 +- .../src/contract/convertible_value.rs | 195 ++++++++++++++++++ aleph-client/src/contract/mod.rs | 130 ++++++------ aleph-client/src/lib.rs | 4 + aleph-client/src/pallets/contract.rs | 43 ++-- contracts/adder/.gitignore | 9 + contracts/adder/Cargo.toml | 29 +++ contracts/adder/deploy.sh | 15 ++ contracts/adder/lib.rs | 65 ++++++ contracts/rust-toolchain | 1 + e2e-tests/Cargo.lock | 73 ++++--- e2e-tests/Cargo.toml | 5 +- e2e-tests/src/config.rs | 23 ++- e2e-tests/src/test/adder.rs | 95 +++++++++ e2e-tests/src/test/helpers.rs | 80 +++++++ e2e-tests/src/test/mod.rs | 2 + 21 files changed, 695 insertions(+), 132 deletions(-) create mode 100644 aleph-client/src/contract/convertible_value.rs create mode 100755 contracts/adder/.gitignore create mode 100755 contracts/adder/Cargo.toml create mode 100755 contracts/adder/deploy.sh create mode 100755 contracts/adder/lib.rs create mode 100644 contracts/rust-toolchain create mode 100644 e2e-tests/src/test/adder.rs create mode 100644 e2e-tests/src/test/helpers.rs diff --git a/.github/actions/run-e2e-test/action.yml b/.github/actions/run-e2e-test/action.yml index 870a248989..f066979c56 100644 --- a/.github/actions/run-e2e-test/action.yml +++ b/.github/actions/run-e2e-test/action.yml @@ -26,6 +26,10 @@ inputs: follow-up-finalization-check: description: 'Whether to run a follow-up finalization check.' required: false + deploy-adder: + description: 'Whether to deploy the adder sample contract to the node.' + required: false + default: 'false' runs: using: 'composite' @@ -84,6 +88,14 @@ runs: ) fi + DEPLOY_ADDER="${{ inputs.deploy-adder }}" + + if [[ "${DEPLOY_ADDER}" = "true" ]]; then + pushd contracts/adder + export ADDER=$(./deploy.sh) + popd + fi + ./.github/scripts/run_e2e_test.sh "${ARGS[@]}" - name: Run finalization e2e test diff --git a/.github/scripts/run_e2e_test.sh b/.github/scripts/run_e2e_test.sh index bbe31c5d98..47dcdfa0d3 100755 --- a/.github/scripts/run_e2e_test.sh +++ b/.github/scripts/run_e2e_test.sh @@ -111,6 +111,11 @@ if [[ -n "${ONLY_LEGACY:-}" ]]; then ARGS+=(-e ONLY_LEGACY) fi -docker run -v $(pwd)/docker/data:/data "${ARGS[@]}" aleph-e2e-client:latest +if [[ -n "${ADDER:-}" ]]; then + ARGS+=(-e "ADDER=${ADDER}") + ARGS+=(-e "ADDER_METADATA=/contracts/adder/target/ink/metadata.json") +fi + +docker run -v "$(pwd)/contracts:/contracts" -v "$(pwd)/docker/data:/data" "${ARGS[@]}" aleph-e2e-client:latest exit $? diff --git a/.github/workflows/check-excluded-packages.yml b/.github/workflows/check-excluded-packages.yml index 6a3f6879f9..202fb804be 100644 --- a/.github/workflows/check-excluded-packages.yml +++ b/.github/workflows/check-excluded-packages.yml @@ -32,12 +32,6 @@ jobs: with: version: '3.6.1' - - name: Install clippy and fmt - run: rustup component add clippy rustfmt - - - name: Install WASM target - run: rustup target add wasm32-unknown-unknown - - name: Read excluded packages from Cargo.toml id: read_excluded uses: SebRollen/toml-action@v1.0.0 @@ -75,6 +69,8 @@ jobs: do echo "Checking package $p..." pushd "$p" + rustup component add clippy rustfmt + rustup target add wasm32-unknown-unknown cargo fmt --all --check cargo clippy --all-features -- --no-deps -D warnings popd diff --git a/.github/workflows/e2e-tests-main-devnet.yml b/.github/workflows/e2e-tests-main-devnet.yml index 63ee5476c7..839b64b956 100644 --- a/.github/workflows/e2e-tests-main-devnet.yml +++ b/.github/workflows/e2e-tests-main-devnet.yml @@ -552,6 +552,31 @@ jobs: UPGRADE_FINALIZATION_WAIT_SESSIONS: 2 timeout-minutes: 10 + run-e2e-adder-contract-test: + needs: [build-test-docker, build-test-client] + name: Run e2e adder contract test + runs-on: ubuntu-20.04 + steps: + - name: Checkout source code + uses: actions/checkout@v2 + + - name: Install cargo-contract + uses: baptiste0928/cargo-install@v1 + with: + crate: cargo-contract + version: "2.0.0-beta.1" + + - name: Install rust-src + working-directory: ./contracts + run: rustup component add rust-src + + - name: Run e2e test + uses: ./.github/actions/run-e2e-test + with: + deploy-adder: true + test-case: adder + timeout-minutes: 10 + # The tests below were written under the assumption that nonfinalized blocks are being produced, they need a rewrite before being reenabled. # TODO(A0-1644): Reenable these tests. # run-e2e-failing-version-upgrade: @@ -659,6 +684,7 @@ jobs: run-e2e-ban-threshold, run-e2e-version-upgrade, run-e2e-permissionless-ban, + run-e2e-adder-contract-test, # run-e2e-failing-version-upgrade, # run-e2e-version-upgrade-catchup, ] diff --git a/Cargo.toml b/Cargo.toml index 36b4491e69..822e5fe487 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -18,6 +18,7 @@ exclude = [ "fork-off", "benches/payout-stakers", "bin/cliain", + "contracts/adder" ] [profile.release] diff --git a/aleph-client/src/connections.rs b/aleph-client/src/connections.rs index 2d8da43b4b..5b12262349 100644 --- a/aleph-client/src/connections.rs +++ b/aleph-client/src/connections.rs @@ -142,12 +142,14 @@ impl SignedConnection { if let Some(details) = tx.validation_details() { info!(target:"aleph-client", "Sending extrinsic {}.{} with params: {:?}", details.pallet_name, details.call_name, params); } + let progress = self .connection .client .tx() .sign_and_submit_then_watch(&tx, &self.signer, params) - .await?; + .await + .map_err(|e| anyhow!("Failed to submit transaction: {:?}", e))?; // In case of Submitted hash does not mean anything let hash = match status { diff --git a/aleph-client/src/contract/convertible_value.rs b/aleph-client/src/contract/convertible_value.rs new file mode 100644 index 0000000000..18397e3d47 --- /dev/null +++ b/aleph-client/src/contract/convertible_value.rs @@ -0,0 +1,195 @@ +use std::{fmt::Debug, ops::Deref, str::FromStr}; + +use anyhow::{anyhow, bail, Context, Result}; +use contract_transcode::Value; + +use crate::AccountId; + +/// Temporary wrapper for converting from [Value] to primitive types. +/// +/// ``` +/// # #![feature(assert_matches)] +/// # #![feature(type_ascription)] +/// # use std::assert_matches::assert_matches; +/// # use anyhow::{anyhow, Result}; +/// # use aleph_client::{AccountId, contract::ConvertibleValue}; +/// use contract_transcode::Value; +/// +/// assert_matches!(ConvertibleValue(Value::UInt(42)).try_into(), Ok(42u128)); +/// assert_matches!(ConvertibleValue(Value::UInt(42)).try_into(), Ok(42u32)); +/// assert_matches!(ConvertibleValue(Value::UInt(u128::MAX)).try_into(): Result, Err(_)); +/// assert_matches!(ConvertibleValue(Value::Bool(true)).try_into(), Ok(true)); +/// assert_matches!( +/// ConvertibleValue(Value::Literal("5H8cjBBzCJrAvDn9LHZpzzJi2UKvEGC9VeVYzWX5TrwRyVCA".to_string())). +/// try_into(): Result, +/// Ok(_) +/// ); +/// assert_matches!( +/// ConvertibleValue(Value::String("not a number".to_string())).try_into(): Result, +/// Err(_) +/// ); +/// ``` +#[derive(Debug, Clone)] +pub struct ConvertibleValue(pub Value); + +impl Deref for ConvertibleValue { + type Target = Value; + + fn deref(&self) -> &Value { + &self.0 + } +} + +impl TryFrom for bool { + type Error = anyhow::Error; + + fn try_from(value: ConvertibleValue) -> Result { + match value.0 { + Value::Bool(value) => Ok(value), + _ => bail!("Expected {:?} to be a boolean", value.0), + } + } +} + +impl TryFrom for u128 { + type Error = anyhow::Error; + + fn try_from(value: ConvertibleValue) -> Result { + match value.0 { + Value::UInt(value) => Ok(value), + _ => bail!("Expected {:?} to be an integer", value.0), + } + } +} + +impl TryFrom for u32 { + type Error = anyhow::Error; + + fn try_from(value: ConvertibleValue) -> Result { + match value.0 { + Value::UInt(value) => Ok(value.try_into()?), + _ => bail!("Expected {:?} to be an integer", value.0), + } + } +} + +impl TryFrom for AccountId { + type Error = anyhow::Error; + + fn try_from(value: ConvertibleValue) -> Result { + match value.0 { + Value::Literal(value) => { + AccountId::from_str(&value).map_err(|_| anyhow!("Invalid account id")) + } + _ => bail!("Expected {:?} to be a string", value), + } + } +} + +impl TryFrom for Result +where + ConvertibleValue: TryInto, +{ + type Error = anyhow::Error; + + fn try_from(value: ConvertibleValue) -> Result, Self::Error> { + if let Value::Tuple(tuple) = &value.0 { + match tuple.ident() { + Some(x) if x == "Ok" => { + if tuple.values().count() == 1 { + let item = + ConvertibleValue(tuple.values().next().unwrap().clone()).try_into()?; + return Ok(Ok(item)); + } else { + bail!("Unexpected number of elements in Ok variant: {:?}", &value); + } + } + Some(x) if x == "Err" => { + if tuple.values().count() == 1 { + return Ok(Err(anyhow!(value.to_string()))); + } else { + bail!("Unexpected number of elements in Err variant: {:?}", &value); + } + } + _ => (), + } + } + + bail!("Expected {:?} to be an Ok(_) or Err(_) tuple.", value); + } +} + +impl TryFrom for String { + type Error = anyhow::Error; + + fn try_from(value: ConvertibleValue) -> std::result::Result { + let seq = match value.0 { + Value::Seq(seq) => seq, + _ => bail!("Failed parsing `ConvertibleValue` to `String`. Expected `Seq(Value::UInt)` but instead got: {:?}", value), + }; + + let mut bytes: Vec = Vec::with_capacity(seq.len()); + for el in seq.elems() { + if let Value::UInt(byte) = *el { + if byte > u8::MAX as u128 { + bail!("Expected number <= u8::MAX but instead got: {:?}", byte) + } + bytes.push(byte as u8); + } else { + bail!("Failed parsing `ConvertibleValue` to `String`. Expected `Value::UInt` but instead got: {:?}", el); + } + } + String::from_utf8(bytes).context("Failed parsing bytes to UTF-8 String.") + } +} + +auto trait NotEq {} +// We're basically telling the compiler that there is no instance of NotEq for `(X,X)` tuple. +// Or put differently - that you can't implement `NotEq` for `(X,X)`. +impl !NotEq for (X, X) {} + +impl TryFrom for Option +where + T: TryFrom + Debug, + // We will derive this impl only when `T != ConvertibleValue`. + // Otherwise we will get a conflict with generic impl in the rust `core` crate. + (ConvertibleValue, T): NotEq, +{ + type Error = anyhow::Error; + + fn try_from(value: ConvertibleValue) -> std::result::Result, Self::Error> { + let tuple = match &value.0 { + Value::Tuple(tuple) => tuple, + _ => bail!("Expected {:?} to be a Some(_) or None Tuple.", &value), + }; + + match tuple.ident() { + Some(x) if x == "Some" => { + if tuple.values().count() == 1 { + let item = + ConvertibleValue(tuple.values().next().unwrap().clone()).try_into()?; + Ok(Some(item)) + } else { + bail!( + "Unexpected number of elements in Some(_) variant: {:?}. Expected one.", + &value + ); + } + } + Some(x) if x == "None" => { + if tuple.values().count() == 0 { + Ok(None) + } else { + bail!( + "Unexpected number of elements in None variant: {:?}. Expected zero.", + &value + ); + } + } + _ => bail!( + "Expected `.ident()` to be `Some` or `None`, got: {:?}", + &tuple + ), + } + } +} diff --git a/aleph-client/src/contract/mod.rs b/aleph-client/src/contract/mod.rs index 8591e4ee0b..d40c662050 100644 --- a/aleph-client/src/contract/mod.rs +++ b/aleph-client/src/contract/mod.rs @@ -5,10 +5,9 @@ //! //! ```no_run //! # use anyhow::{Result, Context}; -//! # use sp_core::crypto::AccountId32; -//! # use aleph_client::{AccountId, Connection, SignedConnection}; +//! # use aleph_client::AccountId; +//! # use aleph_client::{Connection, SignedConnection}; //! # use aleph_client::contract::ContractInstance; -//! # use aleph_client::contract::util::to_u128; //! # //! #[derive(Debug)] //! struct PSP22TokenInstance { @@ -25,39 +24,34 @@ //! }) //! } //! -//! fn transfer(&self, conn: &SignedConnection, to: AccountId, amount: u128) -> Result<()> { +//! async fn transfer(&self, conn: &SignedConnection, to: AccountId, amount: u128) -> Result<()> { //! self.contract.contract_exec( //! conn, //! "PSP22::transfer", //! vec![to.to_string().as_str(), amount.to_string().as_str(), "0x00"].as_slice(), -//! ) +//! ).await //! } //! -//! fn balance_of(&self, conn: &Connection, account: AccountId) -> Result { -//! to_u128(self.contract.contract_read( +//! async fn balance_of(&self, conn: &Connection, account: AccountId) -> Result { +//! self.contract.contract_read( //! conn, //! "PSP22::balance_of", //! &vec![account.to_string().as_str()], -//! )?) +//! ).await? //! } //! } //! ``` -pub mod util; +mod convertible_value; -use std::{ - fmt::{Debug, Formatter}, - fs::File, -}; +use std::fmt::{Debug, Formatter}; -use anyhow::{Context, Result}; -use codec::{Compact, Decode}; -use contract_metadata::ContractMetadata; +use anyhow::{anyhow, Context, Result}; use contract_transcode::ContractMessageTranscoder; -use ink_metadata::InkProject; -use serde_json::{from_reader, from_value}; +pub use convertible_value::ConvertibleValue; use crate::{ + contract_transcode::Value, pallets::contract::{ContractCallArgs, ContractRpc, ContractsUserApi}, sp_weights::weight_v2::Weight, AccountId, Connection, SignedConnection, TxStatus, @@ -66,22 +60,17 @@ use crate::{ /// Represents a contract instantiated on the chain. pub struct ContractInstance { address: AccountId, - ink_project: InkProject, transcoder: ContractMessageTranscoder, } impl ContractInstance { - const MAX_READ_GAS: u64 = 500000000000u64; const MAX_GAS: u64 = 10000000000u64; - const PAYABLE_VALUE: u64 = 0u64; - const STORAGE_FEE_LIMIT: Option> = None; /// Creates a new contract instance under `address` with metadata read from `metadata_path`. pub fn new(address: AccountId, metadata_path: &str) -> Result { Ok(Self { address, - ink_project: load_metadata(metadata_path)?, - transcoder: ContractMessageTranscoder::new(load_metadata(metadata_path)?), + transcoder: ContractMessageTranscoder::load(metadata_path)?, }) } @@ -90,93 +79,108 @@ impl ContractInstance { &self.address } - /// The metadata of this contract instance. - pub fn ink_project(&self) -> &InkProject { - &self.ink_project - } - /// Reads the value of a read-only, 0-argument call via RPC. - pub async fn contract_read0(&self, conn: &Connection, message: &str) -> Result { - self.contract_read(conn, message, &[]).await + pub async fn contract_read0>( + &self, + conn: &Connection, + message: &str, + ) -> Result { + self.contract_read::(conn, message, &[]).await } /// Reads the value of a read-only call via RPC. - pub async fn contract_read( + pub async fn contract_read< + S: AsRef + Debug, + T: TryFrom, + >( &self, conn: &Connection, message: &str, - args: &[&str], + args: &[S], ) -> Result { let payload = self.encode(message, args)?; let args = ContractCallArgs { origin: self.address.clone(), dest: self.address.clone(), value: 0, - gas_limit: Weight { - ref_time: Self::MAX_READ_GAS, - proof_size: u64::MAX, - }, + gas_limit: None, input_data: payload, storage_deposit_limit: None, }; - conn.call_and_get(args) + + let result = conn + .call_and_get(args) .await - .context("RPC request error - there may be more info in node logs.") + .context("RPC request error - there may be more info in node logs.")? + .result + .map_err(|e| anyhow!("Contract exec failed {:?}", e))?; + let decoded = self.decode(message, result.data)?; + ConvertibleValue(decoded).try_into()? } /// Executes a 0-argument contract call. pub async fn contract_exec0(&self, conn: &SignedConnection, message: &str) -> Result<()> { - self.contract_exec(conn, message, &[]).await + self.contract_exec::(conn, message, &[]).await } /// Executes a contract call. - pub async fn contract_exec( + pub async fn contract_exec + Debug>( &self, conn: &SignedConnection, message: &str, - args: &[&str], + args: &[S], + ) -> Result<()> { + self.contract_exec_value(conn, message, args, 0).await + } + + /// Executes a 0-argument contract call sending the given amount of value with it. + pub async fn contract_exec_value0( + &self, + conn: &SignedConnection, + message: &str, + value: u128, + ) -> Result<()> { + self.contract_exec_value::(conn, message, &[], value) + .await + } + + /// Executes a contract call sending the given amount of value with it. + pub async fn contract_exec_value + Debug>( + &self, + conn: &SignedConnection, + message: &str, + args: &[S], + value: u128, ) -> Result<()> { let data = self.encode(message, args)?; conn.call( self.address.clone(), - Self::PAYABLE_VALUE as u128, + value, Weight { ref_time: Self::MAX_GAS, - proof_size: u64::MAX, + proof_size: Self::MAX_GAS, }, - Self::STORAGE_FEE_LIMIT, + None, data, TxStatus::InBlock, ) .await - .context("Failed to exec contract message")?; - - Ok(()) + .map(|_| ()) } - fn encode(&self, message: &str, args: &[&str]) -> Result> { + fn encode + Debug>(&self, message: &str, args: &[S]) -> Result> { self.transcoder.encode(message, args) } + + fn decode(&self, message: &str, data: Vec) -> Result { + self.transcoder.decode_return(message, &mut data.as_slice()) + } } impl Debug for ContractInstance { fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result { f.debug_struct("ContractInstance") .field("address", &self.address) - .field("ink_project", &self.ink_project) .finish() } } - -/// Helper for loading contract metadata from a file. -/// -/// The contract-metadata lib contains a similar function starting with version 0.2. It seems that -/// version conflicts with some of our other dependencies, however, if we upgrade in the future we -/// can drop this function in favour of their implementation. -fn load_metadata(path: &str) -> Result { - let file = File::open(path)?; - let metadata: ContractMetadata = from_reader(file)?; - let ink_metadata = from_value(serde_json::Value::Object(metadata.abi))?; - - Ok(ink_metadata) -} diff --git a/aleph-client/src/lib.rs b/aleph-client/src/lib.rs index 3acc5db42d..f6ccaceeec 100644 --- a/aleph-client/src/lib.rs +++ b/aleph-client/src/lib.rs @@ -1,5 +1,9 @@ +#![feature(auto_traits)] +#![feature(negative_impls)] + extern crate core; +pub use contract_transcode; pub use subxt::ext::sp_core::Pair; use subxt::{ ext::sp_core::{ed25519, sr25519, H256}, diff --git a/aleph-client/src/pallets/contract.rs b/aleph-client/src/pallets/contract.rs index 0612114b4b..8ea602df63 100644 --- a/aleph-client/src/pallets/contract.rs +++ b/aleph-client/src/pallets/contract.rs @@ -1,10 +1,7 @@ -use codec::{Compact, Decode, Encode}; +use codec::{Compact, Encode}; use pallet_contracts_primitives::ContractExecResult; use primitives::Balance; -use subxt::{ - ext::{sp_core::Bytes, sp_runtime::MultiAddress}, - rpc_params, -}; +use subxt::{ext::sp_core::Bytes, rpc_params}; use crate::{ api, pallet_contracts::wasm::OwnerInfo, sp_weights::weight_v2::Weight, AccountId, BlockHash, @@ -16,7 +13,7 @@ pub struct ContractCallArgs { pub origin: AccountId, pub dest: AccountId, pub value: Balance, - pub gas_limit: Weight, + pub gas_limit: Option, pub storage_deposit_limit: Option, pub input_data: Vec, } @@ -78,7 +75,10 @@ pub trait ContractsUserApi { #[async_trait::async_trait] pub trait ContractRpc { - async fn call_and_get(&self, args: ContractCallArgs) -> anyhow::Result; + async fn call_and_get( + &self, + args: ContractCallArgs, + ) -> anyhow::Result>; } #[async_trait::async_trait] @@ -160,13 +160,10 @@ impl ContractsUserApi for SignedConnection { data: Vec, status: TxStatus, ) -> anyhow::Result { - let tx = api::tx().contracts().call( - MultiAddress::Id(destination), - balance, - gas_limit, - storage_limit, - data, - ); + let tx = + api::tx() + .contracts() + .call(destination.into(), balance, gas_limit, storage_limit, data); self.send_tx(tx, status).await } @@ -183,19 +180,11 @@ impl ContractsUserApi for SignedConnection { #[async_trait::async_trait] impl ContractRpc for Connection { - async fn call_and_get(&self, args: ContractCallArgs) -> anyhow::Result { + async fn call_and_get( + &self, + args: ContractCallArgs, + ) -> anyhow::Result> { let params = rpc_params!["ContractsApi_call", Bytes(args.encode())]; - - let res: ContractExecResult = - self.rpc_call("state_call".to_string(), params).await?; - let res = T::decode( - &mut (res - .result - .expect("Failed to decode execution result of the wasm code!") - .data - .as_slice()), - )?; - - Ok(res) + self.rpc_call("state_call".to_string(), params).await } } diff --git a/contracts/adder/.gitignore b/contracts/adder/.gitignore new file mode 100755 index 0000000000..8de8f877e4 --- /dev/null +++ b/contracts/adder/.gitignore @@ -0,0 +1,9 @@ +# Ignore build artifacts from the local tests sub-crate. +/target/ + +# Ignore backup files creates by cargo fmt. +**/*.rs.bk + +# Remove Cargo.lock when creating an executable, leave it for libraries +# More information here http://doc.crates.io/guide.html#cargotoml-vs-cargolock +Cargo.lock diff --git a/contracts/adder/Cargo.toml b/contracts/adder/Cargo.toml new file mode 100755 index 0000000000..b55dd2fac2 --- /dev/null +++ b/contracts/adder/Cargo.toml @@ -0,0 +1,29 @@ +[package] +name = "adder" +version = "0.1.0" +authors = ["[your_name] <[your_email]>"] +edition = "2021" + +[dependencies] +anyhow = "*" +ink = { version = "4.0.0-beta", default-features = false } + +scale = { package = "parity-scale-codec", version = "3", default-features = false, features = ["derive"] } +scale-info = { version = "2.3", default-features = false, features = ["derive"], optional = true } + +[lib] +name = "adder" +path = "lib.rs" +crate-type = [ + # Used for normal contract Wasm blobs. + "cdylib", +] + +[features] +default = ["std"] +std = [ + "ink/std", + "scale/std", + "scale-info/std", +] +ink-as-dependency = [] diff --git a/contracts/adder/deploy.sh b/contracts/adder/deploy.sh new file mode 100755 index 0000000000..5acd85cbe3 --- /dev/null +++ b/contracts/adder/deploy.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +NODE_URL="${NODE_URL:-ws://localhost:9944}" +AUTHORITY="${AUTHORITY:-//Alice}" + +cargo contract build --release --quiet 1>&2 +cargo contract upload --url "$NODE_URL" --suri "$AUTHORITY" --quiet 1>&2 + +export ADDER + +ADDER=$( + cargo contract instantiate --url "$NODE_URL" --suri "$AUTHORITY" --skip-confirm --output-json \ + | jq -r ".contract" +) +echo "$ADDER" diff --git a/contracts/adder/lib.rs b/contracts/adder/lib.rs new file mode 100755 index 0000000000..7e86049c66 --- /dev/null +++ b/contracts/adder/lib.rs @@ -0,0 +1,65 @@ +#![cfg_attr(not(feature = "std"), no_std)] + +//! This is a simple example contract for use with e2e tests of the aleph-client contract interaction. + +#[ink::contract] +mod adder { + #[ink(storage)] + pub struct Adder { + name: Option<[u8; 20]>, + value: u32, + } + + #[ink(event)] + pub struct ValueChanged { + new_value: u32, + } + + #[derive(Debug, PartialEq, Eq, scale::Encode, scale::Decode)] + #[cfg_attr(feature = "std", derive(scale_info::TypeInfo))] + pub enum Error { + Overflow, + } + + impl Adder { + #[ink(constructor)] + pub fn new() -> Self { + Self { + value: 0, + name: None, + } + } + + #[ink(message)] + pub fn add(&mut self, value: u32) -> Result<(), Error> { + self.value = self.value.checked_add(value).ok_or(Error::Overflow)?; + + Self::env().emit_event(ValueChanged { + new_value: self.value, + }); + + Ok(()) + } + + #[ink(message)] + pub fn get(&self) -> u32 { + self.value + } + + #[ink(message)] + pub fn set_name(&mut self, name: Option<[u8; 20]>) { + self.name = name; + } + + #[ink(message)] + pub fn get_name(&self) -> Option<[u8; 20]> { + self.name + } + } + + impl Default for Adder { + fn default() -> Self { + Self::new() + } + } +} diff --git a/contracts/rust-toolchain b/contracts/rust-toolchain new file mode 100644 index 0000000000..902c74186f --- /dev/null +++ b/contracts/rust-toolchain @@ -0,0 +1 @@ +1.65.0 diff --git a/e2e-tests/Cargo.lock b/e2e-tests/Cargo.lock index e379e2513c..91ed27a6a8 100644 --- a/e2e-tests/Cargo.lock +++ b/e2e-tests/Cargo.lock @@ -53,12 +53,14 @@ version = "0.10.0" dependencies = [ "aleph_client", "anyhow", + "assert2", "clap", - "env_logger 0.8.4", + "env_logger", "frame-support", "frame-system", "futures", "hex", + "itertools", "log", "once_cell", "pallet-balances", @@ -66,6 +68,7 @@ dependencies = [ "pallet-staking", "parity-scale-codec", "primitives", + "rand 0.8.5", "rayon", "serde_json", "sp-core 6.0.0", @@ -154,6 +157,29 @@ version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6" +[[package]] +name = "assert2" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce1b167af16149cd41ff2b784bf511bb4208b21c3b05f3f61e30823ce3986361" +dependencies = [ + "assert2-macros", + "atty", + "yansi", +] + +[[package]] +name = "assert2-macros" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6ac27dd1c8f16b282d1c22a8a5ae17119acc757101dec79054458fef62c447e" +dependencies = [ + "proc-macro2", + "quote", + "rustc_version", + "syn", +] + [[package]] name = "async-lock" version = "2.6.0" @@ -435,9 +461,9 @@ checksum = "e4c78c047431fee22c1a7bb92e00ad095a02a983affe4d8a72e2a2c62c1b94f3" [[package]] name = "contract-metadata" -version = "2.0.0-beta" +version = "2.0.0-beta.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40248c6a648b3679ea52bb83d8921246d0347644eaf7b0eec4c5601fa8feb651" +checksum = "7bff7703529b16e9d8ba0d54e842b2051691772a822eb9bc130a91183ff9f6a6" dependencies = [ "anyhow", "impl-serde", @@ -449,13 +475,12 @@ dependencies = [ [[package]] name = "contract-transcode" -version = "2.0.0-beta" +version = "2.0.0-beta.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61159f8e266d4892be25f2b1e7ff2c4c6dd4338ca26498d907e5532a52a28e5f" +checksum = "d25e184ac4c29748e28c026f4c443fb94c002ad0877f0b190dccd624df8f893f" dependencies = [ "anyhow", "contract-metadata", - "env_logger 0.9.3", "escape8259", "hex", "indexmap", @@ -850,19 +875,6 @@ dependencies = [ "termcolor", ] -[[package]] -name = "env_logger" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a12e6657c4c97ebab115a42dcee77225f7f482cdd841cf7088c657a42e9e00e7" -dependencies = [ - "atty", - "humantime", - "log", - "regex", - "termcolor", -] - [[package]] name = "environmental" version = "1.1.4" @@ -2774,6 +2786,15 @@ version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3e75f6a532d0fd9f7f13144f392b6ad56a32696bfcd9c78f797f16bbb6f072d6" +[[package]] +name = "rustc_version" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" +dependencies = [ + "semver", +] + [[package]] name = "rustls" version = "0.20.7" @@ -3009,18 +3030,18 @@ dependencies = [ [[package]] name = "serde" -version = "1.0.148" +version = "1.0.150" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e53f64bb4ba0191d6d0676e1b141ca55047d83b74f5607e6d8eb88126c52c2dc" +checksum = "e326c9ec8042f1b5da33252c8a37e9ffbd2c9bef0155215b6e6c80c790e05f91" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.148" +version = "1.0.150" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a55492425aa53521babf6137309e7d34c20bbfbbfcfe2c7f3a047fd1f6b92c0c" +checksum = "42a3df25b0713732468deadad63ab9da1f1fd75a48a15024b50363f128db627e" dependencies = [ "proc-macro2", "quote", @@ -4799,6 +4820,12 @@ version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "735a71d46c4d68d71d4b24d03fdc2b98e38cea81730595801db779c04fe80d70" +[[package]] +name = "yansi" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec" + [[package]] name = "yap" version = "0.7.2" diff --git a/e2e-tests/Cargo.toml b/e2e-tests/Cargo.toml index 851f5f1e1e..0cb8cb0be4 100644 --- a/e2e-tests/Cargo.toml +++ b/e2e-tests/Cargo.toml @@ -13,6 +13,9 @@ log = "0.4" serde_json = "1.0" codec = { package = 'parity-scale-codec', version = "3.0", default-features = false, features = ['derive'] } rayon = "1.5" +rand = "0.8" +itertools = "0.10" +assert2 = "0.3" tokio = { version = "1.21.2", features = ["full"] } futures = "0.3.25" once_cell = "1.16" @@ -33,5 +36,5 @@ default = ["std"] std = [ "pallet-staking/std", "pallet-balances/std", - "primitives/std" + "primitives/std", ] diff --git a/e2e-tests/src/config.rs b/e2e-tests/src/config.rs index 0fbdfe5c75..3352ea35f1 100644 --- a/e2e-tests/src/config.rs +++ b/e2e-tests/src/config.rs @@ -13,11 +13,6 @@ static GLOBAL_CONFIG: Lazy = Lazy::new(|| { .ok() .map(|s| s.split(',').map(|s| s.to_string()).collect()); let sudo_seed = get_env("SUDO_SEED").unwrap_or_else(|| "//Alice".to_string()); - let reserved_seats = get_env("RESERVED_SEATS"); - let non_reserved_seats = get_env("NON_RESERVED_SEATS"); - let upgrade_to_version = get_env("UPGRADE_VERSION"); - let upgrade_session = get_env("UPGRADE_SESSION"); - let upgrade_finalization_wait_sessions = get_env("UPGRADE_FINALIZATION_WAIT_SESSIONS"); Config { node, @@ -25,11 +20,13 @@ static GLOBAL_CONFIG: Lazy = Lazy::new(|| { validators_seeds, sudo_seed, test_case_params: TestCaseParams { - reserved_seats, - non_reserved_seats, - upgrade_to_version, - upgrade_session, - upgrade_finalization_wait_sessions, + reserved_seats: get_env("RESERVED_SEATS"), + non_reserved_seats: get_env("NON_RESERVED_SEATS"), + upgrade_to_version: get_env("UPGRADE_VERSION"), + upgrade_session: get_env("UPGRADE_SESSION"), + upgrade_finalization_wait_sessions: get_env("UPGRADE_FINALIZATION_WAIT_SESSIONS"), + adder: get_env("ADDER"), + adder_metadata: get_env("ADDER_METADATA"), }, } }); @@ -113,4 +110,10 @@ pub struct TestCaseParams { /// How many sessions we should wait after upgrade in VersionUpgrade test. pub upgrade_finalization_wait_sessions: Option, + + /// Adder contract address. + pub adder: Option, + + /// Adder contract metadata. + pub adder_metadata: Option, } diff --git a/e2e-tests/src/test/adder.rs b/e2e-tests/src/test/adder.rs new file mode 100644 index 0000000000..3b32450795 --- /dev/null +++ b/e2e-tests/src/test/adder.rs @@ -0,0 +1,95 @@ +use std::str::FromStr; + +use aleph_client::{contract::ContractInstance, AccountId, Connection, SignedConnection}; +use anyhow::{Context, Result}; +use assert2::assert; + +use crate::{config::setup_test, test::helpers::basic_test_context}; + +/// This test exercises the aleph-client code for interacting with contracts by testing a simple contract that maintains +/// some state and publishes some events. +#[tokio::test] +pub async fn adder() -> Result<()> { + let config = setup_test(); + + let (conn, _authority, account) = basic_test_context(config).await?; + let contract = AdderInstance::new( + &config.test_case_params.adder, + &config.test_case_params.adder_metadata, + )?; + + let increment = 10; + let before = contract.get(&conn).await?; + contract.add(&account.sign(&conn), increment).await?; + let after = contract.get(&conn).await?; + assert!(after == before + increment); + + let new_name = "test"; + contract.set_name(&account.sign(&conn), None).await?; + assert!(contract.get_name(&conn).await?.is_none()); + contract + .set_name(&account.sign(&conn), Some(new_name)) + .await?; + assert!(contract.get_name(&conn).await? == Some(new_name.to_string())); + + Ok(()) +} + +pub(super) struct AdderInstance { + contract: ContractInstance, +} + +impl<'a> From<&'a AdderInstance> for &'a ContractInstance { + fn from(instance: &'a AdderInstance) -> Self { + &instance.contract + } +} + +impl<'a> From<&'a AdderInstance> for AccountId { + fn from(instance: &'a AdderInstance) -> Self { + instance.contract.address().clone() + } +} + +impl AdderInstance { + pub fn new(address: &Option, metadata_path: &Option) -> Result { + let address = address.as_ref().context("Adder contract address not set")?; + let metadata_path = metadata_path + .as_ref() + .context("Adder contract metadata not set")?; + + let address = AccountId::from_str(address) + .ok() + .with_context(|| format!("Failed to parse address: {}", address))?; + let contract = ContractInstance::new(address, metadata_path)?; + Ok(Self { contract }) + } + + pub async fn get(&self, conn: &Connection) -> Result { + self.contract.contract_read0(conn, "get").await + } + + pub async fn add(&self, conn: &SignedConnection, value: u32) -> Result<()> { + self.contract + .contract_exec(conn, "add", &[value.to_string()]) + .await + } + + pub async fn set_name(&self, conn: &SignedConnection, name: Option<&str>) -> Result<()> { + let name = name.map_or_else( + || "None".to_string(), + |name| { + let mut bytes = name.bytes().take(20).collect::>(); + bytes.extend(std::iter::repeat(0).take(20 - bytes.len())); + format!("Some({:?})", bytes) + }, + ); + + self.contract.contract_exec(conn, "set_name", &[name]).await + } + + pub async fn get_name(&self, conn: &Connection) -> Result> { + let res: Option = self.contract.contract_read0(conn, "get_name").await?; + Ok(res.map(|name| name.replace("\0", ""))) + } +} diff --git a/e2e-tests/src/test/helpers.rs b/e2e-tests/src/test/helpers.rs new file mode 100644 index 0000000000..a235fde8fe --- /dev/null +++ b/e2e-tests/src/test/helpers.rs @@ -0,0 +1,80 @@ +use std::ops::Deref; + +use aleph_client::{ + pallets::balances::BalanceUserApi, AccountId, Connection, KeyPair, Pair, SignedConnection, + TxStatus, +}; +use anyhow::Result; +use primitives::Balance; +use rand::Rng; + +use crate::config::Config; + +/// A wrapper around a KeyPair for purposes of converting to an account id in tests. +pub struct KeyPairWrapper(KeyPair); + +impl KeyPairWrapper { + /// Creates a copy of the `connection` signed by `signer` + pub fn sign(&self, conn: &Connection) -> SignedConnection { + SignedConnection::from_connection(conn.clone(), self.clone().0) + } +} + +impl Clone for KeyPairWrapper { + fn clone(&self) -> Self { + Self(KeyPair::new(self.0.signer().clone())) + } +} + +impl Deref for KeyPairWrapper { + type Target = KeyPair; + + fn deref(&self) -> &Self::Target { + &self.0 + } +} + +impl From<&KeyPairWrapper> for AccountId { + fn from(keypair: &KeyPairWrapper) -> Self { + keypair.signer().public().into() + } +} + +impl From for AccountId { + fn from(keypair: KeyPairWrapper) -> Self { + (&keypair).into() + } +} + +/// Derives a test account based on a randomized string +pub fn random_account() -> KeyPairWrapper { + KeyPairWrapper(aleph_client::keypair_from_string(&format!( + "//TestAccount/{}", + rand::thread_rng().gen::() + ))) +} + +/// Transfer `amount` from `from` to `to` +pub async fn transfer(conn: &SignedConnection, to: &KeyPair, amount: Balance) -> Result<()> { + conn.transfer(to.signer().public().into(), amount, TxStatus::InBlock) + .await + .map(|_| ()) +} + +/// Returns a number representing the given amount of alephs (adding decimals) +pub fn alephs(basic_unit_amount: Balance) -> Balance { + basic_unit_amount * 1_000_000_000_000 +} + +/// Prepares a `(conn, authority, account)` triple with some money in `account` for fees. +pub async fn basic_test_context( + config: &Config, +) -> Result<(Connection, KeyPairWrapper, KeyPairWrapper)> { + let conn = config.get_first_signed_connection().await; + let authority = KeyPairWrapper(aleph_client::keypair_from_string(&config.sudo_seed)); + let account = random_account(); + + transfer(&conn, &account, alephs(100)).await?; + + Ok((conn.connection, authority, account)) +} diff --git a/e2e-tests/src/test/mod.rs b/e2e-tests/src/test/mod.rs index 392a56f4e5..afadd91b9f 100644 --- a/e2e-tests/src/test/mod.rs +++ b/e2e-tests/src/test/mod.rs @@ -18,12 +18,14 @@ pub use version_upgrade::{ schedule_doomed_version_change_and_verify_finalization_stopped, schedule_version_change, }; +mod adder; mod ban; mod electing_validators; mod era_payout; mod era_validators; mod fee; mod finalization; +mod helpers; mod rewards; mod staking; mod transfer; From 4d5e7009efed098a50ccf8abf295863173eb2b03 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maciej=20Nem=C5=9B?= Date: Thu, 29 Dec 2022 17:06:25 +0100 Subject: [PATCH 059/212] A0-1796: add justification broadcast ticker (#833) * add justification broadcast ticker * Join periodic and normal broadcast last Instant * move clippy dead code * rename to ticker * restructure tests * change timeout after try tick true * hmmmmmm * apply suggested changes to docs * add assert to constructor * or maybe no assert * the in docs Co-authored-by: kostekIV <27210860+kostekIV@users.noreply.github.com> * wait_and_tick Co-authored-by: kostekIV <27210860+kostekIV@users.noreply.github.com> --- finality-aleph/src/lib.rs | 3 + finality-aleph/src/sync/mod.rs | 1 + finality-aleph/src/sync/ticker.rs | 137 ++++++++++++++++++++++++++++++ 3 files changed, 141 insertions(+) create mode 100644 finality-aleph/src/sync/mod.rs create mode 100644 finality-aleph/src/sync/ticker.rs diff --git a/finality-aleph/src/lib.rs b/finality-aleph/src/lib.rs index 9de90b43de..b2a6f7aae0 100644 --- a/finality-aleph/src/lib.rs +++ b/finality-aleph/src/lib.rs @@ -44,6 +44,9 @@ mod nodes; mod party; mod session; mod session_map; +// TODO: remove when module is used +#[allow(dead_code)] +mod sync; #[cfg(test)] pub mod testing; diff --git a/finality-aleph/src/sync/mod.rs b/finality-aleph/src/sync/mod.rs new file mode 100644 index 0000000000..54f03c743e --- /dev/null +++ b/finality-aleph/src/sync/mod.rs @@ -0,0 +1 @@ +mod ticker; diff --git a/finality-aleph/src/sync/ticker.rs b/finality-aleph/src/sync/ticker.rs new file mode 100644 index 0000000000..3120a0f13a --- /dev/null +++ b/finality-aleph/src/sync/ticker.rs @@ -0,0 +1,137 @@ +use tokio::time::{sleep, Duration, Instant}; + +/// This struct is used for rate limiting as an on-demand ticker. It can be used for ticking +/// at least once `max_timeout` but not more than once every `min_timeout`. +/// Example usage would be to use `wait` method in main select loop and `try_tick` whenever +/// you would like to tick sooner in another branch of select. +pub struct Ticker { + last_tick: Instant, + current_timeout: Duration, + max_timeout: Duration, + min_timeout: Duration, +} + +impl Ticker { + /// Retruns new Ticker struct. Behaves as if last tick happened during creation of TIcker. + /// Requires `max_timeout` >= `min_timeout`. + pub fn new(mut max_timeout: Duration, min_timeout: Duration) -> Self { + if max_timeout < min_timeout { + max_timeout = min_timeout; + }; + Self { + last_tick: Instant::now(), + current_timeout: max_timeout, + max_timeout, + min_timeout, + } + } + + /// Returns whether at least `min_timeout` time elapsed since the last tick. + /// If `min_timeout` elapsed since the last tick, returns true and records a tick. + /// If not, returns false and calls to `wait` will return when `min_timeout` + /// elapses until the next tick. + pub fn try_tick(&mut self) -> bool { + let now = Instant::now(); + if now.saturating_duration_since(self.last_tick) >= self.min_timeout { + self.last_tick = now; + self.current_timeout = self.max_timeout; + true + } else { + self.current_timeout = self.min_timeout; + false + } + } + + /// Sleeps until next tick should happen. + /// When enough time elapsed, returns and records a tick. + pub async fn wait_and_tick(&mut self) { + let since_last = Instant::now().saturating_duration_since(self.last_tick); + sleep(self.current_timeout.saturating_sub(since_last)).await; + self.current_timeout = self.max_timeout; + self.last_tick = Instant::now(); + } +} + +#[cfg(test)] +mod tests { + use tokio::time::{sleep, timeout, Duration}; + + use super::Ticker; + + const MAX_TIMEOUT: Duration = Duration::from_millis(700); + const MIN_TIMEOUT: Duration = Duration::from_millis(100); + + const MAX_TIMEOUT_PLUS: Duration = Duration::from_millis(800); + const MIN_TIMEOUT_PLUS: Duration = Duration::from_millis(200); + + fn setup_ticker() -> Ticker { + Ticker::new(MAX_TIMEOUT, MIN_TIMEOUT) + } + + #[tokio::test] + async fn try_tick() { + let mut ticker = setup_ticker(); + + assert!(!ticker.try_tick()); + sleep(MIN_TIMEOUT).await; + assert!(ticker.try_tick()); + assert!(!ticker.try_tick()); + } + + #[tokio::test] + async fn wait() { + let mut ticker = setup_ticker(); + + assert_ne!( + timeout(MIN_TIMEOUT_PLUS, ticker.wait_and_tick()).await, + Ok(()) + ); + assert_eq!(timeout(MAX_TIMEOUT, ticker.wait_and_tick()).await, Ok(())); + } + + #[tokio::test] + async fn wait_after_try_tick_true() { + let mut ticker = setup_ticker(); + + assert!(!ticker.try_tick()); + sleep(MIN_TIMEOUT).await; + assert!(ticker.try_tick()); + + assert_ne!( + timeout(MIN_TIMEOUT_PLUS, ticker.wait_and_tick()).await, + Ok(()) + ); + assert_eq!(timeout(MAX_TIMEOUT, ticker.wait_and_tick()).await, Ok(())); + } + + #[tokio::test] + async fn wait_after_try_tick_false() { + let mut ticker = setup_ticker(); + + assert!(!ticker.try_tick()); + + assert_eq!( + timeout(MIN_TIMEOUT_PLUS, ticker.wait_and_tick()).await, + Ok(()) + ); + assert_ne!( + timeout(MIN_TIMEOUT_PLUS, ticker.wait_and_tick()).await, + Ok(()) + ); + assert_eq!(timeout(MAX_TIMEOUT, ticker.wait_and_tick()).await, Ok(())); + } + + #[tokio::test] + async fn try_tick_after_wait() { + let mut ticker = setup_ticker(); + + assert_eq!( + timeout(MAX_TIMEOUT_PLUS, ticker.wait_and_tick()).await, + Ok(()) + ); + + assert!(!ticker.try_tick()); + sleep(MIN_TIMEOUT).await; + assert!(ticker.try_tick()); + } +} From f84e20de70ac1fd8dc96c7c707487864509c8278 Mon Sep 17 00:00:00 2001 From: timorl Date: Fri, 30 Dec 2022 11:25:10 +0100 Subject: [PATCH 060/212] A0-1770: Add basic interfaces used and exposed by sync (#837) * Add basic interfaces used and exposed by sync * Huh, hashes are `Copy` * Better verification abstraction * Use BlockNumber Co-authored-by: timorl --- finality-aleph/src/sync/mod.rs | 96 ++++++++++++++++++++++++++++ finality-aleph/src/sync/substrate.rs | 47 ++++++++++++++ 2 files changed, 143 insertions(+) create mode 100644 finality-aleph/src/sync/substrate.rs diff --git a/finality-aleph/src/sync/mod.rs b/finality-aleph/src/sync/mod.rs index 54f03c743e..9907ec1ca9 100644 --- a/finality-aleph/src/sync/mod.rs +++ b/finality-aleph/src/sync/mod.rs @@ -1 +1,97 @@ +use std::{ + fmt::{Debug, Display}, + hash::Hash, +}; + +mod substrate; mod ticker; + +/// The identifier of a block, the least amount of knowledge we can have about a block. +pub trait BlockIdentifier: Clone + Hash + Debug + Eq { + /// The block number, useful when reasoning about hopeless forks. + fn number(&self) -> u32; +} + +/// Informs the sync that it should attempt to acquire the specified data. +pub trait Requester { + /// The sync should attempt to acquire justifications for this block. + fn request_justification(&self, id: BI); +} + +/// The header of a block, containing information about the parent relation. +pub trait Header: Clone { + type Identifier: BlockIdentifier; + + /// The identifier of this block. + fn id(&self) -> Self::Identifier; + + /// The identifier of this block's parent. + fn parent_id(&self) -> Option; +} + +/// The verified justification of a block, including a header. +pub trait Justification: Clone { + type Header: Header; + type Unverified; + + /// The header of the block. + fn header(&self) -> &Self::Header; + + /// Return an unverified version of this, for sending over the network. + fn into_unverified(self) -> Self::Unverified; +} + +/// A verifier of justifications. +pub trait Verifier { + type Error: Display; + + /// Verifies the raw justification and returns a full justification if successful, otherwise an + /// error. + fn verify(&self, justification: J::Unverified) -> Result; +} + +/// A facility for finalizing blocks using justifications. +pub trait Finalizer { + type Error: Display; + + /// Finalize a block using this justification. Since the justification contains the header, we + /// don't need to additionally specify the block. + fn finalize(&self, justification: J) -> Result<(), Self::Error>; +} + +/// A notification about the chain state changing. +pub enum ChainStateNotification { + /// A block has been imported. + BlockImported(BI), + /// A block has been finalized. + BlockFinalized(BI), +} + +/// A stream of notifications about the chain state in the database changing. +#[async_trait::async_trait] +pub trait ChainStateNotifier { + /// Returns a chain state notification when it is available. + async fn next(&self) -> ChainStateNotification; +} + +/// The state of a block in the database. +pub enum BlockState { + /// The block is justified and thus finalized. + Justified(J), + /// The block is present, might be finalized if a descendant is justified. + Present(J::Header), + /// The block is not known. + Unknown, +} + +/// The knowledge about the chain state. +pub trait ChainState { + /// The state of the block. + fn state_of(&self, id: ::Identifier) -> BlockState; + + /// The header of the best block. + fn best_block(&self) -> J::Header; + + /// The justification of the top finalized block. + fn top_finalized(&self) -> J; +} diff --git a/finality-aleph/src/sync/substrate.rs b/finality-aleph/src/sync/substrate.rs new file mode 100644 index 0000000000..5516f80ba2 --- /dev/null +++ b/finality-aleph/src/sync/substrate.rs @@ -0,0 +1,47 @@ +use std::hash::{Hash, Hasher}; + +use aleph_primitives::BlockNumber; +use sp_runtime::traits::{CheckedSub, Header as SubstrateHeader, One}; + +use crate::sync::{BlockIdentifier, Header}; + +#[derive(Clone, Debug, PartialEq, Eq)] +pub struct BlockId> { + hash: H::Hash, + number: H::Number, +} + +impl> Hash for BlockId { + fn hash(&self, state: &mut H) + where + H: Hasher, + { + self.hash.hash(state); + self.number.hash(state); + } +} + +impl> BlockIdentifier for BlockId { + fn number(&self) -> u32 { + self.number + } +} + +impl> Header for H { + type Identifier = BlockId; + + fn id(&self) -> Self::Identifier { + BlockId { + hash: self.hash(), + number: *self.number(), + } + } + + fn parent_id(&self) -> Option { + let number = self.number().checked_sub(&One::one())?; + Some(BlockId { + hash: *self.parent_hash(), + number, + }) + } +} From 38fde8fe920b9b823aed7bb33d4e63f091d899d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maciej=20Nem=C5=9B?= Date: Mon, 2 Jan 2023 11:33:39 +0100 Subject: [PATCH 061/212] A0-1822: add substrate chain status notifier (#839) * add substrate chain status notifier --- finality-aleph/src/sync/mod.rs | 26 ++++--- .../sync/{substrate.rs => substrate/mod.rs} | 2 + .../src/sync/substrate/status_notifier.rs | 78 +++++++++++++++++++ 3 files changed, 94 insertions(+), 12 deletions(-) rename finality-aleph/src/sync/{substrate.rs => substrate/mod.rs} (98%) create mode 100644 finality-aleph/src/sync/substrate/status_notifier.rs diff --git a/finality-aleph/src/sync/mod.rs b/finality-aleph/src/sync/mod.rs index 9907ec1ca9..880c2e84ef 100644 --- a/finality-aleph/src/sync/mod.rs +++ b/finality-aleph/src/sync/mod.rs @@ -59,23 +59,25 @@ pub trait Finalizer { fn finalize(&self, justification: J) -> Result<(), Self::Error>; } -/// A notification about the chain state changing. -pub enum ChainStateNotification { +/// A notification about the chain status changing. +pub enum ChainStatusNotification { /// A block has been imported. BlockImported(BI), /// A block has been finalized. BlockFinalized(BI), } -/// A stream of notifications about the chain state in the database changing. +/// A stream of notifications about the chain status in the database changing. #[async_trait::async_trait] -pub trait ChainStateNotifier { - /// Returns a chain state notification when it is available. - async fn next(&self) -> ChainStateNotification; +pub trait ChainStatusNotifier { + type Error: Display; + + /// Returns a chain status notification when it is available. + async fn next(&mut self) -> Result, Self::Error>; } -/// The state of a block in the database. -pub enum BlockState { +/// The status of a block in the database. +pub enum BlockStatus { /// The block is justified and thus finalized. Justified(J), /// The block is present, might be finalized if a descendant is justified. @@ -84,10 +86,10 @@ pub enum BlockState { Unknown, } -/// The knowledge about the chain state. -pub trait ChainState { - /// The state of the block. - fn state_of(&self, id: ::Identifier) -> BlockState; +/// The knowledge about the chain status. +pub trait ChainStatus { + /// The status of the block. + fn status_of(&self, id: ::Identifier) -> BlockStatus; /// The header of the best block. fn best_block(&self) -> J::Header; diff --git a/finality-aleph/src/sync/substrate.rs b/finality-aleph/src/sync/substrate/mod.rs similarity index 98% rename from finality-aleph/src/sync/substrate.rs rename to finality-aleph/src/sync/substrate/mod.rs index 5516f80ba2..e7e46924a4 100644 --- a/finality-aleph/src/sync/substrate.rs +++ b/finality-aleph/src/sync/substrate/mod.rs @@ -5,6 +5,8 @@ use sp_runtime::traits::{CheckedSub, Header as SubstrateHeader, One}; use crate::sync::{BlockIdentifier, Header}; +mod status_notifier; + #[derive(Clone, Debug, PartialEq, Eq)] pub struct BlockId> { hash: H::Hash, diff --git a/finality-aleph/src/sync/substrate/status_notifier.rs b/finality-aleph/src/sync/substrate/status_notifier.rs new file mode 100644 index 0000000000..042e05104a --- /dev/null +++ b/finality-aleph/src/sync/substrate/status_notifier.rs @@ -0,0 +1,78 @@ +use std::fmt::{Display, Error as FmtError, Formatter}; + +use aleph_primitives::BlockNumber; +use futures::StreamExt; +use sc_client_api::client::{FinalityNotifications, ImportNotifications}; +use sp_runtime::traits::{Block as BlockT, Header as SubstrateHeader}; +use tokio::select; + +use crate::sync::{substrate::BlockId, ChainStatusNotification, ChainStatusNotifier, Header}; + +/// What can go wrong when waiting for next chain status notification. +#[derive(Debug)] +pub enum Error { + JustificationStreamClosed, + ImportStreamClosed, +} + +impl Display for Error { + fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), FmtError> { + use Error::*; + match self { + JustificationStreamClosed => { + write!(f, "finalization notification stream has ended") + } + ImportStreamClosed => { + write!(f, "import notification stream has ended") + } + } + } +} + +/// Substrate specific implementation of `ChainStatusNotifier`. +pub struct SubstrateChainStatusNotifier +where + B: BlockT, +{ + finality_notifications: FinalityNotifications, + import_notifications: ImportNotifications, +} + +impl SubstrateChainStatusNotifier +where + B: BlockT, +{ + fn new( + finality_notifications: FinalityNotifications, + import_notifications: ImportNotifications, + ) -> Self { + Self { + finality_notifications, + import_notifications, + } + } +} + +#[async_trait::async_trait] +impl ChainStatusNotifier> for SubstrateChainStatusNotifier +where + B: BlockT, + B::Header: SubstrateHeader, +{ + type Error = Error; + + async fn next(&mut self) -> Result>, Self::Error> { + select! { + maybe_block = self.finality_notifications.next() => { + maybe_block + .map(|block| ChainStatusNotification::BlockFinalized(block.header.id())) + .ok_or(Error::JustificationStreamClosed) + }, + maybe_block = self.import_notifications.next() => { + maybe_block + .map(|block| ChainStatusNotification::BlockImported(block.header.id())) + .ok_or(Error::ImportStreamClosed) + } + } + } +} From 3e27eac18a6996ba7646a4f59de80e63d6676f87 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maciej=20Nem=C5=9B?= Date: Mon, 2 Jan 2023 12:29:04 +0100 Subject: [PATCH 062/212] A0-1795: add task queue (#836) * add task queue * extract aleph-block-sync LOG_TARGET --- finality-aleph/src/sync/mod.rs | 3 + finality-aleph/src/sync/task_queue.rs | 118 ++++++++++++++++++++++++++ 2 files changed, 121 insertions(+) create mode 100644 finality-aleph/src/sync/task_queue.rs diff --git a/finality-aleph/src/sync/mod.rs b/finality-aleph/src/sync/mod.rs index 880c2e84ef..801e0b7902 100644 --- a/finality-aleph/src/sync/mod.rs +++ b/finality-aleph/src/sync/mod.rs @@ -4,8 +4,11 @@ use std::{ }; mod substrate; +mod task_queue; mod ticker; +const LOG_TARGET: &str = "aleph-block-sync"; + /// The identifier of a block, the least amount of knowledge we can have about a block. pub trait BlockIdentifier: Clone + Hash + Debug + Eq { /// The block number, useful when reasoning about hopeless forks. diff --git a/finality-aleph/src/sync/task_queue.rs b/finality-aleph/src/sync/task_queue.rs new file mode 100644 index 0000000000..8f28521a5e --- /dev/null +++ b/finality-aleph/src/sync/task_queue.rs @@ -0,0 +1,118 @@ +use std::{ + cmp::Ordering, + collections::BinaryHeap, + fmt::{Debug, Formatter}, +}; + +use log::warn; +use tokio::time::{sleep, Duration, Instant}; + +use crate::sync::LOG_TARGET; + +#[derive(Clone)] +struct ScheduledTask { + task: T, + scheduled_time: Instant, +} + +impl Eq for ScheduledTask {} + +impl PartialEq for ScheduledTask { + fn eq(&self, other: &Self) -> bool { + other.scheduled_time.eq(&self.scheduled_time) + } +} + +impl PartialOrd for ScheduledTask { + fn partial_cmp(&self, other: &Self) -> Option { + Some(self.cmp(other)) + } +} + +impl Ord for ScheduledTask { + /// Compare tasks so that earlier times come first in a max-heap. + fn cmp(&self, other: &Self) -> Ordering { + other.scheduled_time.cmp(&self.scheduled_time) + } +} + +#[derive(Clone, Default)] +pub struct TaskQueue { + queue: BinaryHeap>, +} + +impl Debug for TaskQueue { + fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result { + f.debug_struct("TaskQueue") + .field("task count", &self.queue.len()) + .finish() + } +} + +/// Implements a queue allowing for scheduling tasks for some time in the future. +/// +/// Does not actually execute any tasks, is used for ordering in time only. +impl TaskQueue { + /// Creates an empty queue. + pub fn new() -> Self { + Self { + queue: BinaryHeap::new(), + } + } + + /// Schedules `task` for after `delay`. + pub fn schedule_in(&mut self, task: T, delay: Duration) { + let scheduled_time = match Instant::now().checked_add(delay) { + Some(time) => time, + None => { + warn!( + target: LOG_TARGET, + "Could not schedule task in {:?}. Instant out of bound.", delay + ); + return; + } + }; + self.queue.push(ScheduledTask { + task, + scheduled_time, + }); + } + + /// Awaits for the first and most overdue task and returns it. Returns `None` if there are no tasks. + pub async fn pop(&mut self) -> Option { + let scheduled_task = self.queue.peek()?; + + let duration = scheduled_task + .scheduled_time + .saturating_duration_since(Instant::now()); + if !duration.is_zero() { + sleep(duration).await; + } + self.queue.pop().map(|t| t.task) + } +} + +#[cfg(test)] +mod tests { + use tokio::time::{timeout, Duration}; + + use super::TaskQueue; + + #[tokio::test] + async fn test_scheduling() { + let mut q = TaskQueue::new(); + q.schedule_in(2, Duration::from_millis(50)); + q.schedule_in(1, Duration::from_millis(20)); + + assert!(timeout(Duration::from_millis(5), q.pop()).await.is_err()); + assert_eq!( + timeout(Duration::from_millis(20), q.pop()).await, + Ok(Some(1)) + ); + assert!(timeout(Duration::from_millis(10), q.pop()).await.is_err()); + assert_eq!( + timeout(Duration::from_millis(50), q.pop()).await, + Ok(Some(2)) + ); + } +} From 7eda2ba00f1863af683536f4fb62c92a0eaf714f Mon Sep 17 00:00:00 2001 From: timorl Date: Tue, 3 Jan 2023 12:54:30 +0100 Subject: [PATCH 063/212] Add justification implementation (#841) Co-authored-by: timorl --- finality-aleph/src/sync/substrate/mod.rs | 25 +++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/finality-aleph/src/sync/substrate/mod.rs b/finality-aleph/src/sync/substrate/mod.rs index e7e46924a4..56cd111be1 100644 --- a/finality-aleph/src/sync/substrate/mod.rs +++ b/finality-aleph/src/sync/substrate/mod.rs @@ -3,7 +3,10 @@ use std::hash::{Hash, Hasher}; use aleph_primitives::BlockNumber; use sp_runtime::traits::{CheckedSub, Header as SubstrateHeader, One}; -use crate::sync::{BlockIdentifier, Header}; +use crate::{ + sync::{BlockIdentifier, Header, Justification as JustificationT}, + AlephJustification, +}; mod status_notifier; @@ -47,3 +50,23 @@ impl> Header for H { }) } } + +/// A justification, including the related header. +#[derive(Clone)] +pub struct Justification> { + header: H, + raw_justification: AlephJustification, +} + +impl> JustificationT for Justification { + type Header = H; + type Unverified = Self; + + fn header(&self) -> &Self::Header { + &self.header + } + + fn into_unverified(self) -> Self::Unverified { + self + } +} From 917b76efd0cfbd212d3e6aba63afb6bd61833f74 Mon Sep 17 00:00:00 2001 From: Krzysztof Ziobro <86822080+krzysztofziobro@users.noreply.github.com> Date: Wed, 4 Jan 2023 12:55:47 +0100 Subject: [PATCH 064/212] A0-1613 Improving `Connection`s (#834) --- aleph-client/Cargo.lock | 2 +- aleph-client/Cargo.toml | 2 +- aleph-client/src/connections.rs | 224 ++++++++++++++++------ aleph-client/src/contract/mod.rs | 39 ++-- aleph-client/src/lib.rs | 7 +- aleph-client/src/pallets/aleph.rs | 4 +- aleph-client/src/pallets/author.rs | 7 +- aleph-client/src/pallets/balances.rs | 8 +- aleph-client/src/pallets/contract.rs | 8 +- aleph-client/src/pallets/elections.rs | 12 +- aleph-client/src/pallets/fee.rs | 4 +- aleph-client/src/pallets/multisig.rs | 6 +- aleph-client/src/pallets/session.rs | 8 +- aleph-client/src/pallets/staking.rs | 23 ++- aleph-client/src/pallets/system.rs | 4 +- aleph-client/src/pallets/treasury.rs | 10 +- aleph-client/src/pallets/utility.rs | 4 +- aleph-client/src/pallets/vesting.rs | 8 +- aleph-client/src/utility.rs | 48 +++-- aleph-client/src/waiting.rs | 21 +- benches/payout-stakers/Cargo.lock | 2 +- benches/payout-stakers/src/main.rs | 30 ++- bin/cliain/Cargo.lock | 2 +- bin/cliain/src/contracts.rs | 16 +- bin/cliain/src/keys.rs | 8 +- bin/cliain/src/lib.rs | 17 +- bin/cliain/src/treasury.rs | 6 +- e2e-tests/Cargo.lock | 2 +- e2e-tests/src/ban.rs | 31 ++- e2e-tests/src/config.rs | 6 +- e2e-tests/src/elections.rs | 6 +- e2e-tests/src/rewards.rs | 78 +++----- e2e-tests/src/test/adder.rs | 29 ++- e2e-tests/src/test/ban.rs | 95 +++------ e2e-tests/src/test/electing_validators.rs | 49 ++--- e2e-tests/src/test/era_payout.rs | 21 +- e2e-tests/src/test/era_validators.rs | 27 +-- e2e-tests/src/test/fee.rs | 8 +- e2e-tests/src/test/finalization.rs | 5 +- e2e-tests/src/test/helpers.rs | 12 +- e2e-tests/src/test/rewards.rs | 81 +++----- e2e-tests/src/test/staking.rs | 42 ++-- e2e-tests/src/test/transfer.rs | 10 +- e2e-tests/src/test/treasury.rs | 40 ++-- e2e-tests/src/test/validators_change.rs | 35 +--- e2e-tests/src/test/validators_rotate.rs | 14 +- e2e-tests/src/test/version_upgrade.rs | 13 +- e2e-tests/src/transfer.rs | 2 +- e2e-tests/src/validators.rs | 14 +- flooder/Cargo.lock | 2 +- flooder/src/main.rs | 14 +- 51 files changed, 547 insertions(+), 619 deletions(-) diff --git a/aleph-client/Cargo.lock b/aleph-client/Cargo.lock index 33dfcb4bbf..e39596ee91 100644 --- a/aleph-client/Cargo.lock +++ b/aleph-client/Cargo.lock @@ -49,7 +49,7 @@ dependencies = [ [[package]] name = "aleph_client" -version = "2.5.0" +version = "2.6.0" dependencies = [ "anyhow", "async-trait", diff --git a/aleph-client/Cargo.toml b/aleph-client/Cargo.toml index e37a066193..3b61da710f 100644 --- a/aleph-client/Cargo.toml +++ b/aleph-client/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "aleph_client" # TODO bump major version when API stablize -version = "2.5.0" +version = "2.6.0" edition = "2021" license = "Apache 2.0" diff --git a/aleph-client/src/connections.rs b/aleph-client/src/connections.rs index 5b12262349..9011949403 100644 --- a/aleph-client/src/connections.rs +++ b/aleph-client/src/connections.rs @@ -12,21 +12,72 @@ use subxt::{ SubstrateConfig, }; -use crate::{api, sp_weights::weight_v2::Weight, BlockHash, Call, Client, KeyPair, TxStatus}; +use crate::{ + api, sp_weights::weight_v2::Weight, AccountId, BlockHash, Call, KeyPair, SubxtClient, TxStatus, +}; #[derive(Clone)] pub struct Connection { - pub client: Client, + client: SubxtClient, } pub struct SignedConnection { - pub connection: Connection, - pub signer: KeyPair, + connection: Connection, + signer: KeyPair, } +#[derive(Clone)] pub struct RootConnection { - pub connection: Connection, - pub root: KeyPair, + connection: SignedConnection, +} + +pub(crate) trait AsConnection { + fn as_connection(&self) -> &Connection; +} + +pub(crate) trait AsSigned { + fn as_signed(&self) -> &SignedConnection; +} + +#[async_trait::async_trait] +pub trait ConnectionApi: Sync { + async fn get_storage_entry( + &self, + addrs: &StaticStorageAddress, + at: Option, + ) -> T::Target; + + async fn get_storage_entry_maybe< + T: DecodeWithMetadata + Sync, + Defaultable: Sync, + Iterable: Sync, + >( + &self, + addrs: &StaticStorageAddress, + at: Option, + ) -> Option; + + async fn rpc_call(&self, func_name: String, params: RpcParams) -> anyhow::Result; +} + +#[async_trait::async_trait] +pub trait SignedConnectionApi: ConnectionApi { + async fn send_tx( + &self, + tx: Call, + status: TxStatus, + ) -> anyhow::Result; + + async fn send_tx_with_params( + &self, + tx: Call, + params: BaseExtrinsicParamsBuilder, + status: TxStatus, + ) -> anyhow::Result; + + fn account_id(&self) -> &AccountId; + fn signer(&self) -> &KeyPair; + async fn try_as_root(&self) -> anyhow::Result; } #[async_trait::async_trait] @@ -58,29 +109,42 @@ impl SudoCall for RootConnection { } } -impl Connection { - const DEFAULT_RETRIES: u32 = 10; - const RETRY_WAIT_SECS: u64 = 1; +impl Clone for SignedConnection { + fn clone(&self) -> Self { + SignedConnection { + connection: self.connection.clone(), + signer: KeyPair::new(self.signer.signer().clone()), + } + } +} - pub async fn new(address: String) -> Self { - Self::new_with_retries(address, Self::DEFAULT_RETRIES).await +impl AsConnection for Connection { + fn as_connection(&self) -> &Connection { + self } +} - pub async fn new_with_retries(address: String, mut retries: u32) -> Self { - loop { - let client = Client::from_url(&address).await; - match (retries, client) { - (_, Ok(client)) => return Self { client }, - (0, Err(e)) => panic!("{:?}", e), - _ => { - sleep(Duration::from_secs(Self::RETRY_WAIT_SECS)); - retries -= 1; - } - } - } +impl AsConnection for S { + fn as_connection(&self) -> &Connection { + &self.as_signed().connection } +} + +impl AsSigned for SignedConnection { + fn as_signed(&self) -> &SignedConnection { + self + } +} + +impl AsSigned for RootConnection { + fn as_signed(&self) -> &SignedConnection { + &self.connection + } +} - pub async fn get_storage_entry( +#[async_trait::async_trait] +impl ConnectionApi for C { + async fn get_storage_entry( &self, addrs: &StaticStorageAddress, at: Option, @@ -90,41 +154,40 @@ impl Connection { .expect("There should be a value") } - pub async fn get_storage_entry_maybe( + async fn get_storage_entry_maybe< + T: DecodeWithMetadata + Sync, + Defaultable: Sync, + Iterable: Sync, + >( &self, addrs: &StaticStorageAddress, at: Option, ) -> Option { info!(target: "aleph-client", "accessing storage at {}::{} at block {:?}", addrs.pallet_name(), addrs.entry_name(), at); - self.client + self.as_connection() + .as_client() .storage() .fetch(addrs, at) .await .expect("Should access storage") } - pub async fn rpc_call( - &self, - func_name: String, - params: RpcParams, - ) -> anyhow::Result { + async fn rpc_call(&self, func_name: String, params: RpcParams) -> anyhow::Result { info!(target: "aleph-client", "submitting rpc call `{}`, with params {:?}", func_name, params); - let bytes: Bytes = self.client.rpc().request(&func_name, params).await?; + let bytes: Bytes = self + .as_connection() + .as_client() + .rpc() + .request(&func_name, params) + .await?; Ok(R::decode(&mut bytes.as_ref())?) } } -impl SignedConnection { - pub async fn new(address: String, signer: KeyPair) -> Self { - Self::from_connection(Connection::new(address).await, signer) - } - - pub fn from_connection(connection: Connection, signer: KeyPair) -> Self { - Self { connection, signer } - } - - pub async fn send_tx( +#[async_trait::async_trait] +impl SignedConnectionApi for S { + async fn send_tx( &self, tx: Call, status: TxStatus, @@ -133,7 +196,7 @@ impl SignedConnection { .await } - pub async fn send_tx_with_params( + async fn send_tx_with_params( &self, tx: Call, params: BaseExtrinsicParamsBuilder, @@ -144,10 +207,10 @@ impl SignedConnection { } let progress = self - .connection - .client + .as_connection() + .as_client() .tx() - .sign_and_submit_then_watch(&tx, &self.signer, params) + .sign_and_submit_then_watch(&tx, self.as_signed().signer(), params) .await .map_err(|e| anyhow!("Failed to submit transaction: {:?}", e))?; @@ -161,10 +224,60 @@ impl SignedConnection { Ok(hash) } + + fn account_id(&self) -> &AccountId { + self.as_signed().signer().account_id() + } + + fn signer(&self) -> &KeyPair { + &self.as_signed().signer + } + + async fn try_as_root(&self) -> anyhow::Result { + let temp = self.as_signed().clone(); + RootConnection::try_from_connection(temp.connection, temp.signer).await + } +} + +impl Connection { + const DEFAULT_RETRIES: u32 = 10; + const RETRY_WAIT_SECS: u64 = 1; + + pub async fn new(address: &str) -> Connection { + Self::new_with_retries(address, Self::DEFAULT_RETRIES).await + } + + async fn new_with_retries(address: &str, mut retries: u32) -> Connection { + loop { + let client = SubxtClient::from_url(&address).await; + match (retries, client) { + (_, Ok(client)) => return Connection { client }, + (0, Err(e)) => panic!("{:?}", e), + _ => { + sleep(Duration::from_secs(Self::RETRY_WAIT_SECS)); + retries -= 1; + } + } + } + } + + pub(crate) fn as_client(&self) -> &SubxtClient { + &self.client + } +} + +impl SignedConnection { + pub async fn new(address: &str, signer: KeyPair) -> Self { + Self::from_connection(Connection::new(address).await, signer) + } + + pub fn from_connection(connection: Connection, signer: KeyPair) -> Self { + Self { connection, signer } + } } impl RootConnection { - pub async fn new(address: String, root: KeyPair) -> anyhow::Result { + pub async fn new(address: &str, root: KeyPair) -> anyhow::Result { RootConnection::try_from_connection(Connection::new(address).await, root).await } @@ -174,7 +287,12 @@ impl RootConnection { ) -> anyhow::Result { let root_address = api::storage().sudo().key(); - let root = match connection.client.storage().fetch(&root_address, None).await { + let root = match connection + .as_client() + .storage() + .fetch(&root_address, None) + .await + { Ok(Some(account)) => account, _ => return Err(anyhow!("Could not read sudo key from chain")), }; @@ -188,15 +306,7 @@ impl RootConnection { } Ok(Self { - connection, - root: signer, + connection: SignedConnection { connection, signer }, }) } - - pub fn as_signed(&self) -> SignedConnection { - SignedConnection { - connection: self.connection.clone(), - signer: KeyPair::new(self.root.signer().clone()), - } - } } diff --git a/aleph-client/src/contract/mod.rs b/aleph-client/src/contract/mod.rs index d40c662050..ddff119754 100644 --- a/aleph-client/src/contract/mod.rs +++ b/aleph-client/src/contract/mod.rs @@ -54,7 +54,7 @@ use crate::{ contract_transcode::Value, pallets::contract::{ContractCallArgs, ContractRpc, ContractsUserApi}, sp_weights::weight_v2::Weight, - AccountId, Connection, SignedConnection, TxStatus, + AccountId, ConnectionApi, SignedConnectionApi, TxStatus, }; /// Represents a contract instantiated on the chain. @@ -80,21 +80,25 @@ impl ContractInstance { } /// Reads the value of a read-only, 0-argument call via RPC. - pub async fn contract_read0>( + pub async fn contract_read0< + T: TryFrom, + C: ConnectionApi, + >( &self, - conn: &Connection, + conn: &C, message: &str, ) -> Result { - self.contract_read::(conn, message, &[]).await + self.contract_read::(conn, message, &[]).await } /// Reads the value of a read-only call via RPC. pub async fn contract_read< S: AsRef + Debug, T: TryFrom, + C: ConnectionApi, >( &self, - conn: &Connection, + conn: &C, message: &str, args: &[S], ) -> Result { @@ -119,35 +123,40 @@ impl ContractInstance { } /// Executes a 0-argument contract call. - pub async fn contract_exec0(&self, conn: &SignedConnection, message: &str) -> Result<()> { - self.contract_exec::(conn, message, &[]).await + pub async fn contract_exec0( + &self, + conn: &C, + message: &str, + ) -> Result<()> { + self.contract_exec::(conn, message, &[]).await } /// Executes a contract call. - pub async fn contract_exec + Debug>( + pub async fn contract_exec + Debug>( &self, - conn: &SignedConnection, + conn: &C, message: &str, args: &[S], ) -> Result<()> { - self.contract_exec_value(conn, message, args, 0).await + self.contract_exec_value::(conn, message, args, 0) + .await } /// Executes a 0-argument contract call sending the given amount of value with it. - pub async fn contract_exec_value0( + pub async fn contract_exec_value0( &self, - conn: &SignedConnection, + conn: &C, message: &str, value: u128, ) -> Result<()> { - self.contract_exec_value::(conn, message, &[], value) + self.contract_exec_value::(conn, message, &[], value) .await } /// Executes a contract call sending the given amount of value with it. - pub async fn contract_exec_value + Debug>( + pub async fn contract_exec_value + Debug>( &self, - conn: &SignedConnection, + conn: &C, message: &str, args: &[S], value: u128, diff --git a/aleph-client/src/lib.rs b/aleph-client/src/lib.rs index f6ccaceeec..4dbdf8cfc1 100644 --- a/aleph-client/src/lib.rs +++ b/aleph-client/src/lib.rs @@ -30,10 +30,13 @@ pub type AlephKeyPair = ed25519::Pair; pub type RawKeyPair = sr25519::Pair; pub type KeyPair = PairSigner; pub type AccountId = subxt::ext::sp_core::crypto::AccountId32; -pub type Client = OnlineClient; pub type BlockHash = H256; -pub use connections::{Connection, RootConnection, SignedConnection, SudoCall}; +pub(crate) type SubxtClient = OnlineClient; + +pub use connections::{ + Connection, ConnectionApi, RootConnection, SignedConnection, SignedConnectionApi, SudoCall, +}; #[derive(Copy, Clone)] pub enum TxStatus { diff --git a/aleph-client/src/pallets/aleph.rs b/aleph-client/src/pallets/aleph.rs index 5e7ece9824..3f0c8530b5 100644 --- a/aleph-client/src/pallets/aleph.rs +++ b/aleph-client/src/pallets/aleph.rs @@ -10,7 +10,7 @@ use crate::{ pallet_aleph::pallet::Call::schedule_finality_version_change, AccountId, AlephKeyPair, BlockHash, Call::Aleph, - Connection, Pair, RootConnection, SudoCall, TxStatus, + ConnectionApi, Pair, RootConnection, SudoCall, TxStatus, }; #[async_trait::async_trait] @@ -68,7 +68,7 @@ impl AlephSudoApi for RootConnection { } #[async_trait::async_trait] -impl AlephRpc for Connection { +impl AlephRpc for C { async fn emergency_finalize( &self, number: BlockNumber, diff --git a/aleph-client/src/pallets/author.rs b/aleph-client/src/pallets/author.rs index 6edae050b0..56bc511782 100644 --- a/aleph-client/src/pallets/author.rs +++ b/aleph-client/src/pallets/author.rs @@ -1,6 +1,6 @@ use codec::Decode; -use crate::{aleph_runtime::SessionKeys, Connection}; +use crate::{aleph_runtime::SessionKeys, connections::AsConnection}; #[async_trait::async_trait] pub trait AuthorRpc { @@ -8,10 +8,9 @@ pub trait AuthorRpc { } #[async_trait::async_trait] -impl AuthorRpc for Connection { +impl AuthorRpc for C { async fn author_rotate_keys(&self) -> anyhow::Result { - let bytes = self.client.rpc().rotate_keys().await?; - + let bytes = self.as_connection().as_client().rpc().rotate_keys().await?; SessionKeys::decode(&mut bytes.0.as_slice()).map_err(|e| e.into()) } } diff --git a/aleph-client/src/pallets/balances.rs b/aleph-client/src/pallets/balances.rs index 166cf56271..e4d44e6f6b 100644 --- a/aleph-client/src/pallets/balances.rs +++ b/aleph-client/src/pallets/balances.rs @@ -7,7 +7,7 @@ use crate::{ pallets::utility::UtilityApi, AccountId, BlockHash, Call::Balances, - Connection, SignedConnection, TxStatus, + ConnectionApi, SignedConnectionApi, TxStatus, }; #[async_trait::async_trait] @@ -53,7 +53,7 @@ pub trait BalanceUserBatchExtApi { } #[async_trait::async_trait] -impl BalanceApi for Connection { +impl BalanceApi for C { async fn locks_for_account( &self, account: AccountId, @@ -86,7 +86,7 @@ impl BalanceApi for Connection { } #[async_trait::async_trait] -impl BalanceUserApi for SignedConnection { +impl BalanceUserApi for S { async fn transfer( &self, dest: AccountId, @@ -116,7 +116,7 @@ impl BalanceUserApi for SignedConnection { } #[async_trait::async_trait] -impl BalanceUserBatchExtApi for SignedConnection { +impl BalanceUserBatchExtApi for S { async fn batch_transfer( &self, dests: &[AccountId], diff --git a/aleph-client/src/pallets/contract.rs b/aleph-client/src/pallets/contract.rs index 8ea602df63..1eb7fd807e 100644 --- a/aleph-client/src/pallets/contract.rs +++ b/aleph-client/src/pallets/contract.rs @@ -5,7 +5,7 @@ use subxt::{ext::sp_core::Bytes, rpc_params}; use crate::{ api, pallet_contracts::wasm::OwnerInfo, sp_weights::weight_v2::Weight, AccountId, BlockHash, - Connection, SignedConnection, TxStatus, + ConnectionApi, SignedConnectionApi, TxStatus, }; #[derive(Encode)] @@ -82,7 +82,7 @@ pub trait ContractRpc { } #[async_trait::async_trait] -impl ContractsApi for Connection { +impl ContractsApi for C { async fn get_owner_info( &self, code_hash: BlockHash, @@ -95,7 +95,7 @@ impl ContractsApi for Connection { } #[async_trait::async_trait] -impl ContractsUserApi for SignedConnection { +impl ContractsUserApi for S { async fn upload_code( &self, code: Vec, @@ -179,7 +179,7 @@ impl ContractsUserApi for SignedConnection { } #[async_trait::async_trait] -impl ContractRpc for Connection { +impl ContractRpc for C { async fn call_and_get( &self, args: ContractCallArgs, diff --git a/aleph-client/src/pallets/elections.rs b/aleph-client/src/pallets/elections.rs index b29789f084..5c04534657 100644 --- a/aleph-client/src/pallets/elections.rs +++ b/aleph-client/src/pallets/elections.rs @@ -6,13 +6,14 @@ use crate::{ pallet_elections::pallet::Call::set_ban_config, primitives::{BanReason, CommitteeSeats, EraValidators}, }, + connections::AsConnection, pallet_elections::pallet::Call::{ ban_from_committee, change_validators, set_elections_openness, }, primitives::{BanConfig, BanInfo, ElectionOpenness}, AccountId, BlockHash, Call::Elections, - Connection, RootConnection, SudoCall, TxStatus, + ConnectionApi, RootConnection, SudoCall, TxStatus, }; #[async_trait::async_trait] @@ -78,7 +79,7 @@ pub trait ElectionsSudoApi { } #[async_trait::async_trait] -impl ElectionsApi for Connection { +impl ElectionsApi for C { async fn get_ban_config(&self, at: Option) -> BanConfig { let addrs = api::storage().elections().ban_config(); @@ -166,8 +167,11 @@ impl ElectionsApi for Connection { async fn get_session_period(&self) -> anyhow::Result { let addrs = api::constants().elections().session_period(); - - self.client.constants().at(&addrs).map_err(|e| e.into()) + self.as_connection() + .as_client() + .constants() + .at(&addrs) + .map_err(|e| e.into()) } } diff --git a/aleph-client/src/pallets/fee.rs b/aleph-client/src/pallets/fee.rs index 1b7e595ec8..330b8239c0 100644 --- a/aleph-client/src/pallets/fee.rs +++ b/aleph-client/src/pallets/fee.rs @@ -1,4 +1,4 @@ -use crate::{api, BlockHash, Connection}; +use crate::{api, BlockHash, ConnectionApi}; pub type FeeMultiplier = u128; @@ -8,7 +8,7 @@ pub trait TransactionPaymentApi { } #[async_trait::async_trait] -impl TransactionPaymentApi for Connection { +impl TransactionPaymentApi for C { async fn get_next_fee_multiplier(&self, at: Option) -> FeeMultiplier { let addrs = api::storage().transaction_payment().next_fee_multiplier(); diff --git a/aleph-client/src/pallets/multisig.rs b/aleph-client/src/pallets/multisig.rs index a91241135c..e92bdbe122 100644 --- a/aleph-client/src/pallets/multisig.rs +++ b/aleph-client/src/pallets/multisig.rs @@ -1,8 +1,8 @@ use primitives::{Balance, BlockNumber}; use crate::{ - api, api::runtime_types, sp_weights::weight_v2::Weight, AccountId, BlockHash, SignedConnection, - TxStatus, + api, api::runtime_types, sp_weights::weight_v2::Weight, AccountId, BlockHash, + SignedConnectionApi, TxStatus, }; pub type CallHash = [u8; 32]; @@ -32,7 +32,7 @@ pub trait MultisigUserApi { } #[async_trait::async_trait] -impl MultisigUserApi for SignedConnection { +impl MultisigUserApi for S { async fn approve_as_multi( &self, threshold: u16, diff --git a/aleph-client/src/pallets/session.rs b/aleph-client/src/pallets/session.rs index c5393e2a49..d9176ada4a 100644 --- a/aleph-client/src/pallets/session.rs +++ b/aleph-client/src/pallets/session.rs @@ -1,8 +1,8 @@ use primitives::SessionIndex; use crate::{ - api, api::runtime_types::aleph_runtime::SessionKeys, AccountId, BlockHash, Connection, - SignedConnection, TxStatus, + api, api::runtime_types::aleph_runtime::SessionKeys, AccountId, BlockHash, ConnectionApi, + SignedConnectionApi, TxStatus, }; #[async_trait::async_trait] @@ -22,7 +22,7 @@ pub trait SessionUserApi { } #[async_trait::async_trait] -impl SessionApi for Connection { +impl SessionApi for C { async fn get_next_session_keys( &self, account: AccountId, @@ -49,7 +49,7 @@ impl SessionApi for Connection { } #[async_trait::async_trait] -impl SessionUserApi for SignedConnection { +impl SessionUserApi for S { async fn set_keys(&self, new_keys: SessionKeys, status: TxStatus) -> anyhow::Result { let tx = api::tx().session().set_keys(new_keys, vec![]); diff --git a/aleph-client/src/pallets/staking.rs b/aleph-client/src/pallets/staking.rs index 7d10ec7201..cae30b052c 100644 --- a/aleph-client/src/pallets/staking.rs +++ b/aleph-client/src/pallets/staking.rs @@ -9,6 +9,7 @@ use subxt::{ use crate::{ api, + connections::AsConnection, pallet_staking::{ pallet::pallet::{ Call::{bond, force_new_era, nominate, set_staking_configs}, @@ -22,7 +23,7 @@ use crate::{ sp_arithmetic::per_things::Perbill, AccountId, BlockHash, Call::{Staking, Sudo}, - Connection, RootConnection, SignedConnection, SudoCall, TxStatus, + ConnectionApi, RootConnection, SignedConnectionApi, SudoCall, TxStatus, }; #[async_trait::async_trait] @@ -123,7 +124,7 @@ pub trait StakingRawApi { } #[async_trait::async_trait] -impl StakingApi for Connection { +impl StakingApi for C { async fn get_active_era(&self, at: Option) -> EraIndex { let addrs = api::storage().staking().active_era(); @@ -183,13 +184,16 @@ impl StakingApi for Connection { async fn get_session_per_era(&self) -> anyhow::Result { let addrs = api::constants().staking().sessions_per_era(); - - self.client.constants().at(&addrs).map_err(|e| e.into()) + self.as_connection() + .as_client() + .constants() + .at(&addrs) + .map_err(|e| e.into()) } } #[async_trait::async_trait] -impl StakingUserApi for SignedConnection { +impl StakingUserApi for S { async fn bond( &self, initial_stake: Balance, @@ -295,7 +299,7 @@ impl StakingSudoApi for RootConnection { } #[async_trait::async_trait] -impl StakingRawApi for Connection { +impl StakingRawApi for C { async fn get_stakers_storage_keys( &self, era: EraIndex, @@ -304,7 +308,8 @@ impl StakingRawApi for Connection { let key_addrs = api::storage().staking().eras_stakers_root(); let mut key = key_addrs.to_root_bytes(); StorageMapKey::new(era, StorageHasher::Twox64Concat).to_bytes(&mut key); - self.client + self.as_connection() + .as_client() .storage() .fetch_keys(&key, 10, None, at) .await @@ -356,7 +361,7 @@ impl StakingApiExt for RootConnection { }) .collect(); - self.as_signed().batch_call(calls, status).await + self.batch_call(calls, status).await } async fn batch_nominate( @@ -377,6 +382,6 @@ impl StakingApiExt for RootConnection { }) .collect(); - self.as_signed().batch_call(calls, status).await + self.batch_call(calls, status).await } } diff --git a/aleph-client/src/pallets/system.rs b/aleph-client/src/pallets/system.rs index 102d3bf095..5c2bb270b4 100644 --- a/aleph-client/src/pallets/system.rs +++ b/aleph-client/src/pallets/system.rs @@ -7,7 +7,7 @@ use crate::{ sp_arithmetic::per_things::Perbill, AccountId, BlockHash, Call::System, - Connection, RootConnection, SudoCall, TxStatus, + ConnectionApi, RootConnection, SudoCall, TxStatus, }; #[async_trait::async_trait] @@ -47,7 +47,7 @@ impl SystemSudoApi for RootConnection { } #[async_trait::async_trait] -impl SystemApi for Connection { +impl SystemApi for C { async fn get_free_balance(&self, account: AccountId, at: Option) -> Balance { let addrs = api::storage().system().account(&account); diff --git a/aleph-client/src/pallets/treasury.rs b/aleph-client/src/pallets/treasury.rs index 1b1bb3773a..8e4deace36 100644 --- a/aleph-client/src/pallets/treasury.rs +++ b/aleph-client/src/pallets/treasury.rs @@ -5,11 +5,12 @@ use subxt::ext::sp_runtime::MultiAddress; use crate::{ api, + connections::AsConnection, pallet_treasury::pallet::Call::{approve_proposal, reject_proposal}, pallets::{elections::ElectionsApi, staking::StakingApi}, AccountId, BlockHash, Call::Treasury, - Connection, RootConnection, SignedConnection, SudoCall, TxStatus, + ConnectionApi, RootConnection, SignedConnectionApi, SudoCall, TxStatus, }; #[async_trait::async_trait] @@ -43,7 +44,7 @@ pub trait TreasurySudoApi { } #[async_trait::async_trait] -impl TreasuryApi for Connection { +impl TreasuryApi for C { async fn treasury_account(&self) -> AccountId { PalletId(*b"a0/trsry").into_account_truncating() } @@ -62,7 +63,7 @@ impl TreasuryApi for Connection { } #[async_trait::async_trait] -impl TreasuryUserApi for SignedConnection { +impl TreasuryUserApi for S { async fn propose_spend( &self, amount: Balance, @@ -105,11 +106,10 @@ impl TreasurySudoApi for RootConnection { } #[async_trait::async_trait] -impl TreasureApiExt for Connection { +impl TreasureApiExt for C { async fn possible_treasury_payout(&self) -> anyhow::Result { let session_period = self.get_session_period().await?; let sessions_per_era = self.get_session_per_era().await?; - let millisecs_per_era = MILLISECS_PER_BLOCK * session_period as u64 * sessions_per_era as u64; Ok(primitives::staking::era_payout(millisecs_per_era).1) diff --git a/aleph-client/src/pallets/utility.rs b/aleph-client/src/pallets/utility.rs index 9374b8480e..884325508c 100644 --- a/aleph-client/src/pallets/utility.rs +++ b/aleph-client/src/pallets/utility.rs @@ -1,4 +1,4 @@ -use crate::{api, BlockHash, Call, SignedConnection, TxStatus}; +use crate::{api, BlockHash, Call, SignedConnectionApi, TxStatus}; #[async_trait::async_trait] pub trait UtilityApi { @@ -6,7 +6,7 @@ pub trait UtilityApi { } #[async_trait::async_trait] -impl UtilityApi for SignedConnection { +impl UtilityApi for S { async fn batch_call(&self, calls: Vec, status: TxStatus) -> anyhow::Result { let tx = api::tx().utility().batch(calls); diff --git a/aleph-client/src/pallets/vesting.rs b/aleph-client/src/pallets/vesting.rs index 567c35202d..c6faa1d7a7 100644 --- a/aleph-client/src/pallets/vesting.rs +++ b/aleph-client/src/pallets/vesting.rs @@ -1,8 +1,8 @@ use subxt::ext::sp_runtime::MultiAddress; use crate::{ - api, pallet_vesting::vesting_info::VestingInfo, AccountId, BlockHash, Connection, - SignedConnection, TxStatus, + api, pallet_vesting::vesting_info::VestingInfo, AccountId, BlockHash, ConnectionApi, + SignedConnectionApi, TxStatus, }; #[async_trait::async_trait] @@ -33,7 +33,7 @@ pub trait VestingUserApi { } #[async_trait::async_trait] -impl VestingApi for Connection { +impl VestingApi for C { async fn get_vesting( &self, who: AccountId, @@ -46,7 +46,7 @@ impl VestingApi for Connection { } #[async_trait::async_trait] -impl VestingUserApi for SignedConnection { +impl VestingUserApi for S { async fn vest(&self, status: TxStatus) -> anyhow::Result { let tx = api::tx().vesting().vest(); diff --git a/aleph-client/src/utility.rs b/aleph-client/src/utility.rs index bdb195a1dc..e02b1e2cb8 100644 --- a/aleph-client/src/utility.rs +++ b/aleph-client/src/utility.rs @@ -2,8 +2,9 @@ use log::info; use primitives::{BlockNumber, EraIndex, SessionIndex}; use crate::{ + connections::AsConnection, pallets::{elections::ElectionsApi, staking::StakingApi}, - BlockHash, Connection, + BlockHash, }; #[async_trait::async_trait] @@ -16,6 +17,10 @@ pub trait BlocksApi { async fn get_best_block(&self) -> anyhow::Result>; async fn get_finalized_block_hash(&self) -> anyhow::Result; async fn get_block_number(&self, block: BlockHash) -> anyhow::Result>; + async fn get_block_number_opt( + &self, + block: Option, + ) -> anyhow::Result>; } #[async_trait::async_trait] @@ -23,22 +28,8 @@ pub trait SessionEraApi { async fn get_active_era_for_session(&self, session: SessionIndex) -> anyhow::Result; } -impl Connection { - async fn get_block_number_inner( - &self, - block: Option, - ) -> anyhow::Result> { - self.client - .rpc() - .header(block) - .await - .map(|maybe_header| maybe_header.map(|header| header.number)) - .map_err(|e| e.into()) - } -} - #[async_trait::async_trait] -impl BlocksApi for Connection { +impl BlocksApi for C { async fn first_block_of_session( &self, session: SessionIndex, @@ -51,7 +42,8 @@ impl BlocksApi for Connection { async fn get_block_hash(&self, block: BlockNumber) -> anyhow::Result> { info!(target: "aleph-client", "querying block hash for number #{}", block); - self.client + self.as_connection() + .as_client() .rpc() .block_hash(Some(block.into())) .await @@ -59,24 +51,38 @@ impl BlocksApi for Connection { } async fn get_best_block(&self) -> anyhow::Result> { - self.get_block_number_inner(None).await + self.get_block_number_opt(None).await } async fn get_finalized_block_hash(&self) -> anyhow::Result { - self.client + self.as_connection() + .as_client() .rpc() .finalized_head() .await .map_err(|e| e.into()) } + async fn get_block_number_opt( + &self, + block: Option, + ) -> anyhow::Result> { + self.as_connection() + .as_client() + .rpc() + .header(block) + .await + .map(|maybe_header| maybe_header.map(|header| header.number)) + .map_err(|e| e.into()) + } + async fn get_block_number(&self, block: BlockHash) -> anyhow::Result> { - self.get_block_number_inner(Some(block)).await + self.get_block_number_opt(Some(block)).await } } #[async_trait::async_trait] -impl SessionEraApi for Connection { +impl SessionEraApi for C { async fn get_active_era_for_session(&self, session: SessionIndex) -> anyhow::Result { let block = self.first_block_of_session(session).await?; Ok(self.get_active_era(block).await) diff --git a/aleph-client/src/waiting.rs b/aleph-client/src/waiting.rs index 74d7cc5ca9..e06fdd09d2 100644 --- a/aleph-client/src/waiting.rs +++ b/aleph-client/src/waiting.rs @@ -6,8 +6,8 @@ use subxt::events::StaticEvent; use crate::{ aleph_zero, api::session::events::NewSession, + connections::AsConnection, pallets::{session::SessionApi, staking::StakingApi}, - Connection, }; pub enum BlockStatus { @@ -34,17 +34,19 @@ pub trait WaitingExt { } #[async_trait::async_trait] -impl AlephWaiting for Connection { +impl AlephWaiting for C { async fn wait_for_block bool + Send>(&self, predicate: P, status: BlockStatus) { let mut block_sub = match status { BlockStatus::Best => self - .client + .as_connection() + .as_client() .blocks() .subscribe_best() .await .expect("Failed to subscribe to the best block stream!"), BlockStatus::Finalized => self - .client + .as_connection() + .as_client() .blocks() .subscribe_finalized() .await @@ -65,13 +67,15 @@ impl AlephWaiting for Connection { ) -> T { let mut block_sub = match status { BlockStatus::Best => self - .client + .as_connection() + .as_client() .blocks() .subscribe_best() .await .expect("Failed to subscribe to the best block stream!"), BlockStatus::Finalized => self - .client + .as_connection() + .as_client() .blocks() .subscribe_finalized() .await @@ -102,7 +106,8 @@ impl AlephWaiting for Connection { async fn wait_for_era(&self, era: EraIndex, status: BlockStatus) { let addrs = aleph_zero::api::constants().staking().sessions_per_era(); let sessions_per_era = self - .client + .as_connection() + .as_client() .constants() .at(&addrs) .expect("Failed to obtain sessions_per_era const!"); @@ -121,7 +126,7 @@ impl AlephWaiting for Connection { } #[async_trait::async_trait] -impl WaitingExt for Connection { +impl WaitingExt for C { async fn wait_for_n_sessions(&self, n: SessionIndex, status: BlockStatus) { let current_session = self.get_session(None).await; diff --git a/benches/payout-stakers/Cargo.lock b/benches/payout-stakers/Cargo.lock index 2749a90e7b..b7108bb045 100644 --- a/benches/payout-stakers/Cargo.lock +++ b/benches/payout-stakers/Cargo.lock @@ -49,7 +49,7 @@ dependencies = [ [[package]] name = "aleph_client" -version = "2.5.0" +version = "2.6.0" dependencies = [ "anyhow", "async-trait", diff --git a/benches/payout-stakers/src/main.rs b/benches/payout-stakers/src/main.rs index 81aef363a4..ba9a3ab003 100644 --- a/benches/payout-stakers/src/main.rs +++ b/benches/payout-stakers/src/main.rs @@ -7,7 +7,8 @@ use aleph_client::{ staking::{StakingApi, StakingApiExt, StakingUserApi}, }, waiting::{BlockStatus, WaitingExt}, - AccountId, Connection, KeyPair, RootConnection, SignedConnection, TxStatus, + AccountId, ConnectionApi, KeyPair, RootConnection, SignedConnection, SignedConnectionApi, + TxStatus, }; use clap::{ArgGroup, Parser}; use futures::future::join_all; @@ -69,7 +70,7 @@ async fn main() -> anyhow::Result<()> { let sudoer = get_sudoer_keypair(root_seed_file); - let connection = RootConnection::new(address.clone(), sudoer).await.unwrap(); + let connection = RootConnection::new(&address, sudoer).await.unwrap(); let validators = match validators_seed_file { Some(validators_seed_file) => { @@ -109,7 +110,7 @@ async fn main() -> anyhow::Result<()> { wait_for_successive_eras( &address, - &connection.connection, + &connection, validators_and_nominator_stashes, ERAS_TO_WAIT, ) @@ -151,7 +152,7 @@ async fn setup_test_validators_and_nominator_stashes( for (validator_index, validator) in validators.into_iter().enumerate() { let (nominator_controller_accounts, nominator_stash_accounts) = generate_nominator_accounts_with_minimal_bond( - &connection.as_signed(), + connection, validator_index as u32, validators_len as u32, ) @@ -180,9 +181,9 @@ pub fn derive_user_account_from_numeric_seed(seed: u32) -> KeyPair { } /// For a given number of eras, in each era check whether stash balances of a validator are locked. -async fn wait_for_successive_eras( +async fn wait_for_successive_eras( address: &str, - connection: &Connection, + connection: &C, validators_and_nominator_stashes: Vec<(KeyPair, Vec)>, eras_to_wait: u32, ) -> anyhow::Result<()> { @@ -198,11 +199,8 @@ async fn wait_for_successive_eras( current_era - 1 ); for (validator, nominators_stashes) in validators_and_nominator_stashes.iter() { - let validator_connection = SignedConnection::new( - address.to_string(), - KeyPair::new(validator.signer().clone()), - ) - .await; + let validator_connection = + SignedConnection::new(address, KeyPair::new(validator.signer().clone())).await; let validator_account = validator.account_id().clone(); info!("Doing payout_stakers for validator {}", validator_account); payout_stakers_and_assert_locked_balance( @@ -269,7 +267,7 @@ async fn bond_validators_funds_and_choose_controllers( for (controller, validator) in controllers.into_iter().zip(validators) { let validator_address = address.to_string(); handles.push(tokio::spawn(async move { - let connection = SignedConnection::new(validator_address, validator).await; + let connection = SignedConnection::new(&validator_address, validator).await; let controller_account_id = controller.account_id().clone(); connection .bond(MIN_VALIDATOR_BOND, controller_account_id, TxStatus::InBlock) @@ -290,7 +288,7 @@ async fn send_validate_txs(address: &str, controllers: Vec) { let prc = rng.gen::() % 100; handles.push(tokio::spawn(async move { let connection = - SignedConnection::new(node_address, KeyPair::new(controller.signer().clone())) + SignedConnection::new(&node_address, KeyPair::new(controller.signer().clone())) .await; connection.validate(prc, TxStatus::InBlock).await.unwrap(); })); @@ -301,8 +299,8 @@ async fn send_validate_txs(address: &str, controllers: Vec) { /// For a specific validator given by index, generates a predetermined number of nominator accounts. /// Nominator accounts are produced as (controller, stash) tuples with initial endowments. -async fn generate_nominator_accounts_with_minimal_bond( - connection: &SignedConnection, +async fn generate_nominator_accounts_with_minimal_bond( + connection: &S, validator_number: u32, validators_count: u32, ) -> (Vec, Vec) { @@ -343,7 +341,6 @@ async fn payout_stakers_and_assert_locked_balance( era: EraIndex, ) { let locked_stash_balances_before_payout = stash_connection - .connection .locks(accounts_to_check_balance, None) .await; stash_connection @@ -351,7 +348,6 @@ async fn payout_stakers_and_assert_locked_balance( .await .unwrap(); let locked_stash_balances_after_payout = stash_connection - .connection .locks(accounts_to_check_balance, None) .await; locked_stash_balances_before_payout.iter() diff --git a/bin/cliain/Cargo.lock b/bin/cliain/Cargo.lock index 346655da73..4dd2246534 100644 --- a/bin/cliain/Cargo.lock +++ b/bin/cliain/Cargo.lock @@ -49,7 +49,7 @@ dependencies = [ [[package]] name = "aleph_client" -version = "2.5.0" +version = "2.6.0" dependencies = [ "anyhow", "async-trait", diff --git a/bin/cliain/src/contracts.rs b/bin/cliain/src/contracts.rs index 412c6009b5..301968a502 100644 --- a/bin/cliain/src/contracts.rs +++ b/bin/cliain/src/contracts.rs @@ -9,7 +9,7 @@ use aleph_client::{ pallets::contract::{ContractsApi, ContractsUserApi}, sp_weights::weight_v2::Weight, waiting::{AlephWaiting, BlockStatus}, - AccountId, Connection, SignedConnection, TxStatus, + AccountId, Connection, SignedConnection, SignedConnectionApi, TxStatus, }; use codec::{Compact, Decode}; use contract_metadata::ContractMetadata; @@ -45,7 +45,7 @@ pub async fn upload_code( let wasm = fs::read(wasm_path).expect("WASM artifact not found"); debug!(target: "contracts", "Found WASM contract code {:?}", wasm); - let connection = signed_connection.connection.clone(); + let connection = signed_connection.clone(); let event_handler = tokio::spawn(async move { connection .wait_for_event( @@ -94,8 +94,8 @@ pub async fn instantiate( debug!("Encoded constructor data {:?}", data); - let connection = signed_connection.connection.clone(); - let signer_id = signed_connection.signer.account_id().clone(); + let connection = signed_connection.clone(); + let signer_id = signed_connection.account_id().clone(); let event_handler = tokio::spawn(async move { connection @@ -153,9 +153,9 @@ pub async fn instantiate_with_code( debug!("Encoded constructor data {:?}", data); - let signer_id = signed_connection.signer.account_id().clone(); - let connection_0 = signed_connection.connection.clone(); - let connection_1 = signed_connection.connection.clone(); + let signer_id = signed_connection.account_id().clone(); + let connection_0 = signed_connection.clone(); + let connection_1 = signed_connection.clone(); let event_handler_0 = tokio::spawn(async move { connection_0 @@ -253,7 +253,7 @@ pub async fn remove_code( ) -> anyhow::Result { let ContractRemoveCode { code_hash } = command; - let connection = signed_connection.connection.clone(); + let connection = signed_connection.clone(); let event_handler = tokio::spawn(async move { connection diff --git a/bin/cliain/src/keys.rs b/bin/cliain/src/keys.rs index 7cd1827ebc..ae341fccbd 100644 --- a/bin/cliain/src/keys.rs +++ b/bin/cliain/src/keys.rs @@ -18,7 +18,6 @@ pub async fn prepare_keys( controller_account_id: AccountId, ) -> anyhow::Result<()> { connection - .as_signed() .bond( MIN_VALIDATOR_BOND, controller_account_id, @@ -26,11 +25,8 @@ pub async fn prepare_keys( ) .await .unwrap(); - let new_keys = connection.connection.author_rotate_keys().await?; - let _ = connection - .as_signed() - .set_keys(new_keys, TxStatus::Finalized) - .await?; + let new_keys = connection.author_rotate_keys().await?; + connection.set_keys(new_keys, TxStatus::Finalized).await?; Ok(()) } diff --git a/bin/cliain/src/lib.rs b/bin/cliain/src/lib.rs index 0c49fdc0b5..f246fd341b 100644 --- a/bin/cliain/src/lib.rs +++ b/bin/cliain/src/lib.rs @@ -45,23 +45,16 @@ impl ConnectionConfig { } pub async fn get_connection(&self) -> Connection { - Connection::new(self.node_endpoint.clone()).await + Connection::new(&self.node_endpoint).await } pub async fn get_signed_connection(&self) -> SignedConnection { - SignedConnection::new( - self.node_endpoint.clone(), - keypair_from_string(&self.signer_seed), - ) - .await + SignedConnection::new(&self.node_endpoint, keypair_from_string(&self.signer_seed)).await } pub async fn get_root_connection(&self) -> RootConnection { - RootConnection::new( - self.node_endpoint.clone(), - keypair_from_string(&self.signer_seed), - ) - .await - .expect("signer should be root") + RootConnection::new(&self.node_endpoint, keypair_from_string(&self.signer_seed)) + .await + .expect("signer should be root") } } diff --git a/bin/cliain/src/treasury.rs b/bin/cliain/src/treasury.rs index 4843b1b10b..f62f463cc9 100644 --- a/bin/cliain/src/treasury.rs +++ b/bin/cliain/src/treasury.rs @@ -18,16 +18,14 @@ pub async fn propose(connection: SignedConnection, amount_in_tokens: u64, benefi /// Delegates to `aleph_client::approve_treasury_proposal`. pub async fn approve(connection: RootConnection, proposal_id: u32) { - connection - .approve(proposal_id, TxStatus::Finalized) + TreasurySudoApi::approve(&connection, proposal_id, TxStatus::Finalized) .await .unwrap(); } /// Delegates to `aleph_client::reject_treasury_proposal`. pub async fn reject(connection: RootConnection, proposal_id: u32) { - connection - .reject(proposal_id, TxStatus::Finalized) + TreasurySudoApi::reject(&connection, proposal_id, TxStatus::Finalized) .await .unwrap(); } diff --git a/e2e-tests/Cargo.lock b/e2e-tests/Cargo.lock index 91ed27a6a8..24029e5fcb 100644 --- a/e2e-tests/Cargo.lock +++ b/e2e-tests/Cargo.lock @@ -78,7 +78,7 @@ dependencies = [ [[package]] name = "aleph_client" -version = "2.5.0" +version = "2.6.0" dependencies = [ "anyhow", "async-trait", diff --git a/e2e-tests/src/ban.rs b/e2e-tests/src/ban.rs index 8d54b229d0..e0a92c662f 100644 --- a/e2e-tests/src/ban.rs +++ b/e2e-tests/src/ban.rs @@ -4,7 +4,7 @@ use aleph_client::{ primitives::{BanConfig, BanInfo, CommitteeSeats, EraValidators}, utility::BlocksApi, waiting::{AlephWaiting, BlockStatus, WaitingExt}, - AccountId, Connection, RootConnection, TxStatus, + AccountId, RootConnection, TxStatus, }; use codec::Encode; use log::info; @@ -47,10 +47,7 @@ pub async fn setup_test( ) .await?; - root_connection - .connection - .wait_for_n_eras(2, BlockStatus::Best) - .await; + root_connection.wait_for_n_eras(2, BlockStatus::Best).await; Ok(( root_connection, @@ -71,8 +68,8 @@ pub fn check_validators( era_validators } -pub async fn check_ban_config( - connection: &Connection, +pub async fn check_ban_config( + connection: &C, expected_minimal_expected_performance: Perbill, expected_session_count_threshold: SessionCount, expected_clean_session_counter_delay: SessionCount, @@ -95,8 +92,8 @@ pub async fn check_ban_config( ban_config } -pub async fn check_underperformed_validator_session_count( - connection: &Connection, +pub async fn check_underperformed_validator_session_count( + connection: &C, validator: &AccountId, expected_session_count: SessionCount, ) -> SessionCount { @@ -113,8 +110,8 @@ pub async fn check_underperformed_validator_session_count( underperformed_validator_session_count } -pub async fn check_underperformed_validator_reason( - connection: &Connection, +pub async fn check_underperformed_validator_reason( + connection: &C, validator: &AccountId, expected_info: Option<&BanInfo>, ) -> Option { @@ -126,8 +123,8 @@ pub async fn check_underperformed_validator_reason( validator_ban_info } -pub async fn check_ban_info_for_validator( - connection: &Connection, +pub async fn check_ban_info_for_validator( + connection: &C, validator: &AccountId, expected_info: Option<&BanInfo>, ) -> Option { @@ -140,8 +137,8 @@ pub async fn check_ban_info_for_validator( validator_ban_info } -pub async fn check_ban_event( - connection: &Connection, +pub async fn check_ban_event( + connection: &C, expected_banned_validators: &[(AccountId, BanInfo)], ) -> anyhow::Result { let event = connection @@ -177,8 +174,8 @@ pub fn get_members_for_session( /// Checks whether underperformed counts for validators change predictably. Assumes: (a) that the /// sessions checked are in the past, (b) that all the checked validators are underperforming in /// those sessions (e.g. due to a prohibitively high performance threshold). -pub async fn check_underperformed_count_for_sessions( - connection: &Connection, +pub async fn check_underperformed_count_for_sessions( + connection: &C, reserved_validators: &[AccountId], non_reserved_validators: &[AccountId], seats: &CommitteeSeats, diff --git a/e2e-tests/src/config.rs b/e2e-tests/src/config.rs index 3352ea35f1..d2a53c2c00 100644 --- a/e2e-tests/src/config.rs +++ b/e2e-tests/src/config.rs @@ -79,9 +79,7 @@ impl Config { pub async fn create_root_connection(&self) -> RootConnection { let sudo_keypair = get_sudo_key(self); - RootConnection::new(self.node.clone(), sudo_keypair) - .await - .unwrap() + RootConnection::new(&self.node, sudo_keypair).await.unwrap() } /// Get a `SignedConnection` where the signer is the first validator. @@ -89,7 +87,7 @@ impl Config { let node = &self.node; let mut accounts = get_validators_keys(self); let sender = accounts.remove(0); - SignedConnection::new(node.clone(), sender).await + SignedConnection::new(node, sender).await } } diff --git a/e2e-tests/src/elections.rs b/e2e-tests/src/elections.rs index 72c42f2545..5640b5ae28 100644 --- a/e2e-tests/src/elections.rs +++ b/e2e-tests/src/elections.rs @@ -4,13 +4,13 @@ use aleph_client::{ pallets::session::SessionApi, primitives::{CommitteeSeats, EraValidators}, utility::BlocksApi, - AccountId, Connection, + AccountId, }; use log::debug; use primitives::SessionIndex; -pub async fn get_and_test_members_for_session( - connection: &Connection, +pub async fn get_and_test_members_for_session( + connection: &C, seats: CommitteeSeats, era_validators: &EraValidators, session: SessionIndex, diff --git a/e2e-tests/src/rewards.rs b/e2e-tests/src/rewards.rs index d081a4272e..3e49b81538 100644 --- a/e2e-tests/src/rewards.rs +++ b/e2e-tests/src/rewards.rs @@ -33,8 +33,8 @@ type RewardPoint = u32; /// Changes session_keys used by a given `controller` to some `zero`/invalid value, /// making it impossible to create new legal blocks. -pub async fn set_invalid_keys_for_validator( - controller_connection: &SignedConnection, +pub async fn set_invalid_keys_for_validator( + controller_connection: &S, ) -> anyhow::Result<()> { let zero_session_keys = [0; 64].to_vec().into(); @@ -44,7 +44,6 @@ pub async fn set_invalid_keys_for_validator( .await .unwrap(); controller_connection - .connection .wait_for_n_sessions(2, BlockStatus::Best) .await; @@ -52,13 +51,10 @@ pub async fn set_invalid_keys_for_validator( } /// Rotates session_keys of a given `controller`, making it able to rejoin the `consensus`. -pub(super) async fn reset_validator_keys( - controller_connection: &SignedConnection, +pub(super) async fn reset_validator_keys( + controller_connection: &S, ) -> anyhow::Result<()> { - let validator_keys = controller_connection - .connection - .author_rotate_keys() - .await?; + let validator_keys = controller_connection.author_rotate_keys().await?; controller_connection .set_keys(validator_keys, TxStatus::InBlock) .await @@ -66,21 +62,19 @@ pub(super) async fn reset_validator_keys( // wait until our node is forced to use new keys, i.e. current session + 2 controller_connection - .connection .wait_for_n_sessions(2, BlockStatus::Best) .await; Ok(()) } -pub async fn download_exposure( - connection: &SignedConnection, +pub async fn download_exposure( + connection: &S, era: EraIndex, account_id: &AccountId, beginning_of_session_block_hash: BlockHash, ) -> Balance { let exposure = connection - .connection .get_exposure(era, account_id, Some(beginning_of_session_block_hash)) .await; info!( @@ -130,14 +124,13 @@ fn check_rewards( Ok(()) } -async fn get_node_performance( - connection: &SignedConnection, +async fn get_node_performance( + connection: &S, account_id: &AccountId, before_end_of_session_block_hash: BlockHash, blocks_to_produce_per_session: u32, ) -> f64 { let block_count = connection - .connection .get_validator_block_count(account_id.clone(), Some(before_end_of_session_block_hash)) .await .unwrap_or_default(); @@ -159,8 +152,8 @@ async fn get_node_performance( lenient_performance } -pub async fn check_points( - connection: &SignedConnection, +pub async fn check_points( + connection: &S, session: SessionIndex, era: EraIndex, members: impl IntoIterator, @@ -168,7 +161,7 @@ pub async fn check_points( members_per_session: u32, max_relative_difference: f64, ) -> anyhow::Result<()> { - let session_period = connection.connection.get_session_period().await?; + let session_period = connection.get_session_period().await?; info!("Era: {} | session: {}.", era, session); @@ -176,22 +169,15 @@ pub async fn check_points( let end_of_session_block = beginning_of_session_block + session_period; info!("Waiting for block: {}.", end_of_session_block); connection - .connection .wait_for_block(|n| n >= end_of_session_block, BlockStatus::Finalized) .await; let beginning_of_session_block_hash = connection - .connection .get_block_hash(beginning_of_session_block) .await?; - let end_of_session_block_hash = connection - .connection - .get_block_hash(end_of_session_block) - .await?; - let before_end_of_session_block_hash = connection - .connection - .get_block_hash(end_of_session_block - 1) - .await?; + let end_of_session_block_hash = connection.get_block_hash(end_of_session_block).await?; + let before_end_of_session_block_hash = + connection.get_block_hash(end_of_session_block - 1).await?; info!( "End-of-session block hash: {:?}.", end_of_session_block_hash @@ -207,7 +193,6 @@ pub async fn check_points( // get points stored by the Staking pallet let validator_reward_points_current_era = connection - .connection .get_era_reward_points(era, end_of_session_block_hash) .await .unwrap_or_default() @@ -215,7 +200,6 @@ pub async fn check_points( let validator_reward_points_previous_session = HashMap::::from_iter( connection - .connection .get_era_reward_points(era, beginning_of_session_block_hash) .await .unwrap_or_default() @@ -286,10 +270,7 @@ pub async fn setup_validators( ) -> anyhow::Result<(EraValidators, CommitteeSeats, SessionIndex)> { let root_connection = config.create_root_connection().await; // we need to wait for at least era 1 since some of the storage items are not available at era 0 - root_connection - .connection - .wait_for_n_eras(1, BlockStatus::Best) - .await; + root_connection.wait_for_n_eras(1, BlockStatus::Best).await; let seats = COMMITTEE_SEATS; let members_seats = seats.reserved_seats + seats.non_reserved_seats; @@ -309,18 +290,13 @@ pub async fn setup_validators( let reserved_members = &members[0..reserved_size]; let non_reserved_members = &members[reserved_size..]; - let session = root_connection.connection.get_session(None).await; - let network_validators = root_connection - .connection - .get_current_era_validators(None) - .await; + let session = root_connection.get_session(None).await; + let network_validators = root_connection.get_current_era_validators(None).await; let first_block_in_session = root_connection - .connection .first_block_of_session(session) .await? .ok_or(anyhow!("First block of session {} is None!", session))?; let network_seats = root_connection - .connection .get_committee_seats(Some(first_block_in_session)) .await; @@ -344,18 +320,11 @@ pub async fn setup_validators( ) .await?; - root_connection - .connection - .wait_for_n_eras(1, BlockStatus::Best) - .await; - let session = root_connection.connection.get_session(None).await; + root_connection.wait_for_n_eras(1, BlockStatus::Best).await; + let session = root_connection.get_session(None).await; - let first_block_in_session = root_connection - .connection - .first_block_of_session(session) - .await?; + let first_block_in_session = root_connection.first_block_of_session(session).await?; let network_validators = root_connection - .connection .get_current_era_validators(first_block_in_session) .await; let reserved: HashSet<_> = era_validators.reserved.iter().cloned().collect(); @@ -363,7 +332,6 @@ pub async fn setup_validators( let non_reserved: HashSet<_> = era_validators.non_reserved.iter().cloned().collect(); let network_non_reserved: HashSet<_> = network_validators.non_reserved.into_iter().collect(); let network_seats = root_connection - .connection .get_committee_seats(first_block_in_session) .await; @@ -390,7 +358,6 @@ pub async fn validators_bond_extra_stakes(config: &Config, additional_stakes: &[ // funds to cover fees root_connection - .as_signed() .batch_transfer(&controller_accounts, TOKEN, TxStatus::Finalized) .await .unwrap(); @@ -401,11 +368,10 @@ pub async fn validators_bond_extra_stakes(config: &Config, additional_stakes: &[ // Additional TOKEN to cover fees root_connection - .as_signed() .transfer(validator_id, *additional_stake + TOKEN, TxStatus::Finalized) .await .unwrap(); - let stash_connection = SignedConnection::new(node.clone(), account_keys.validator).await; + let stash_connection = SignedConnection::new(node, account_keys.validator).await; stash_connection .bond_extra_stake(*additional_stake, TxStatus::Finalized) .await diff --git a/e2e-tests/src/test/adder.rs b/e2e-tests/src/test/adder.rs index 3b32450795..1deeea6285 100644 --- a/e2e-tests/src/test/adder.rs +++ b/e2e-tests/src/test/adder.rs @@ -1,6 +1,8 @@ use std::str::FromStr; -use aleph_client::{contract::ContractInstance, AccountId, Connection, SignedConnection}; +use aleph_client::{ + contract::ContractInstance, AccountId, Connection, ConnectionApi, SignedConnectionApi, +}; use anyhow::{Context, Result}; use assert2::assert; @@ -20,15 +22,20 @@ pub async fn adder() -> Result<()> { let increment = 10; let before = contract.get(&conn).await?; - contract.add(&account.sign(&conn), increment).await?; + let raw_connection = Connection::new(&config.node).await; + contract + .add(&account.sign(&raw_connection), increment) + .await?; let after = contract.get(&conn).await?; assert!(after == before + increment); let new_name = "test"; - contract.set_name(&account.sign(&conn), None).await?; + contract + .set_name(&account.sign(&raw_connection), None) + .await?; assert!(contract.get_name(&conn).await?.is_none()); contract - .set_name(&account.sign(&conn), Some(new_name)) + .set_name(&account.sign(&raw_connection), Some(new_name)) .await?; assert!(contract.get_name(&conn).await? == Some(new_name.to_string())); @@ -65,17 +72,21 @@ impl AdderInstance { Ok(Self { contract }) } - pub async fn get(&self, conn: &Connection) -> Result { + pub async fn get(&self, conn: &C) -> Result { self.contract.contract_read0(conn, "get").await } - pub async fn add(&self, conn: &SignedConnection, value: u32) -> Result<()> { + pub async fn add(&self, conn: &S, value: u32) -> Result<()> { self.contract .contract_exec(conn, "add", &[value.to_string()]) .await } - pub async fn set_name(&self, conn: &SignedConnection, name: Option<&str>) -> Result<()> { + pub async fn set_name( + &self, + conn: &S, + name: Option<&str>, + ) -> Result<()> { let name = name.map_or_else( || "None".to_string(), |name| { @@ -88,8 +99,8 @@ impl AdderInstance { self.contract.contract_exec(conn, "set_name", &[name]).await } - pub async fn get_name(&self, conn: &Connection) -> Result> { + pub async fn get_name(&self, conn: &C) -> Result> { let res: Option = self.contract.contract_read0(conn, "get_name").await?; - Ok(res.map(|name| name.replace("\0", ""))) + Ok(res.map(|name| name.replace('\0', ""))) } } diff --git a/e2e-tests/src/test/ban.rs b/e2e-tests/src/test/ban.rs index b1ddebd621..56e0b08eb1 100644 --- a/e2e-tests/src/test/ban.rs +++ b/e2e-tests/src/test/ban.rs @@ -48,7 +48,7 @@ async fn disable_validator(validator_address: &str, validator_seed: u32) -> anyh // This connection has to be set up with the controller key. let connection_to_disable = - SignedConnection::new(validator_address.to_string(), controller_key_to_disable).await; + SignedConnection::new(validator_address, controller_key_to_disable).await; set_invalid_keys_for_validator(&connection_to_disable).await } @@ -57,11 +57,7 @@ async fn signed_connection_for_disabled_controller() -> SignedConnection { let validator_seed = get_validator_seed(VALIDATOR_TO_DISABLE_OVERALL_INDEX); let stash_controller = NodeKeys::from(validator_seed); let controller_key_to_disable = stash_controller.controller; - SignedConnection::new( - NODE_TO_DISABLE_ADDRESS.to_string(), - controller_key_to_disable, - ) - .await + SignedConnection::new(NODE_TO_DISABLE_ADDRESS, controller_key_to_disable).await } /// Runs a chain, sets up a committee and validators. Sets an incorrect key for one of the @@ -79,14 +75,11 @@ pub async fn ban_automatic() -> anyhow::Result<()> { check_validators( &reserved_validators, &non_reserved_validators, - root_connection - .connection - .get_current_era_validators(None) - .await, + root_connection.get_current_era_validators(None).await, ); check_ban_config( - &root_connection.connection, + &root_connection, DEFAULT_BAN_MINIMAL_EXPECTED_PERFORMANCE, DEFAULT_BAN_SESSION_COUNT_THRESHOLD, DEFAULT_CLEAN_SESSION_COUNTER_DELAY, @@ -98,37 +91,25 @@ pub async fn ban_automatic() -> anyhow::Result<()> { info!("Validator to disable: {}", validator_to_disable); - check_underperformed_validator_session_count( - &root_connection.connection, - validator_to_disable, - 0, - ) - .await; - check_underperformed_validator_reason(&root_connection.connection, validator_to_disable, None) - .await; + check_underperformed_validator_session_count(&root_connection, validator_to_disable, 0).await; + check_underperformed_validator_reason(&root_connection, validator_to_disable, None).await; disable_validator(NODE_TO_DISABLE_ADDRESS, VALIDATOR_TO_DISABLE_OVERALL_INDEX).await?; root_connection - .connection .wait_for_n_sessions(SESSIONS_TO_MEET_BAN_THRESHOLD, BlockStatus::Best) .await; // The session count for underperforming validators is reset to 0 immediately on reaching the // threshold. - check_underperformed_validator_session_count( - &root_connection.connection, - validator_to_disable, - 0, - ) - .await; + check_underperformed_validator_session_count(&root_connection, validator_to_disable, 0).await; let reason = BanReason::InsufficientUptime(DEFAULT_BAN_SESSION_COUNT_THRESHOLD); - let start = root_connection.connection.get_current_era(None).await + 1; + let start = root_connection.get_current_era(None).await + 1; let expected_ban_info = BanInfo { reason, start }; check_underperformed_validator_reason( - &root_connection.connection, + &root_connection, validator_to_disable, Some(&expected_ban_info), ) @@ -138,16 +119,13 @@ pub async fn ban_automatic() -> anyhow::Result<()> { &non_reserved_validators[(VALIDATOR_TO_DISABLE_NON_RESERVED_INDEX + 1) as usize..]; let expected_banned_validators = vec![(validator_to_disable.clone(), expected_ban_info)]; - check_ban_event(&root_connection.connection, &expected_banned_validators).await?; + check_ban_event(&root_connection, &expected_banned_validators).await?; // Check current validators. check_validators( &reserved_validators, expected_non_reserved, - root_connection - .connection - .get_current_era_validators(None) - .await, + root_connection.get_current_era_validators(None).await, ); Ok(()) @@ -166,14 +144,11 @@ pub async fn ban_manual() -> anyhow::Result<()> { check_validators( &reserved_validators, &non_reserved_validators, - root_connection - .connection - .get_current_era_validators(None) - .await, + root_connection.get_current_era_validators(None).await, ); check_ban_config( - &root_connection.connection, + &root_connection, DEFAULT_BAN_MINIMAL_EXPECTED_PERFORMANCE, DEFAULT_BAN_SESSION_COUNT_THRESHOLD, DEFAULT_CLEAN_SESSION_COUNTER_DELAY, @@ -185,14 +160,9 @@ pub async fn ban_manual() -> anyhow::Result<()> { info!("Validator to manually ban: {}", validator_to_manually_ban); - check_underperformed_validator_session_count( - &root_connection.connection, - validator_to_manually_ban, - 0, - ) - .await; - check_ban_info_for_validator(&root_connection.connection, validator_to_manually_ban, None) + check_underperformed_validator_session_count(&root_connection, validator_to_manually_ban, 0) .await; + check_ban_info_for_validator(&root_connection, validator_to_manually_ban, None).await; let bounded_reason = BoundedVec(MANUAL_BAN_REASON.as_bytes().to_vec()); @@ -205,10 +175,10 @@ pub async fn ban_manual() -> anyhow::Result<()> { .await?; let reason = BanReason::OtherReason(bounded_reason); - let start = root_connection.connection.get_current_era(None).await + 1; + let start = root_connection.get_current_era(None).await + 1; let expected_ban_info = BanInfo { reason, start }; check_ban_info_for_validator( - &root_connection.connection, + &root_connection, validator_to_manually_ban, Some(&expected_ban_info), ) @@ -216,7 +186,7 @@ pub async fn ban_manual() -> anyhow::Result<()> { let expected_banned_validators = vec![(validator_to_manually_ban.clone(), expected_ban_info)]; - check_ban_event(&root_connection.connection, &expected_banned_validators).await?; + check_ban_event(&root_connection, &expected_banned_validators).await?; let expected_non_reserved: Vec<_> = non_reserved_validators .clone() @@ -228,10 +198,7 @@ pub async fn ban_manual() -> anyhow::Result<()> { check_validators( &reserved_validators, &expected_non_reserved, - root_connection - .connection - .get_current_era_validators(None) - .await, + root_connection.get_current_era_validators(None).await, ); Ok(()) @@ -257,12 +224,10 @@ pub async fn clearing_session_count() -> anyhow::Result<()> { disable_validator(NODE_TO_DISABLE_ADDRESS, VALIDATOR_TO_DISABLE_OVERALL_INDEX).await?; root_connection - .connection .wait_for_n_sessions(5, BlockStatus::Best) .await; let underperformed_validator_session_count = root_connection - .connection .get_underperformed_validator_session_count(validator_to_disable.clone(), None) .await .unwrap_or_default(); @@ -270,12 +235,8 @@ pub async fn clearing_session_count() -> anyhow::Result<()> { // it only has to be ge than 0 and should be cleared before reaching values larger than 3. assert!(underperformed_validator_session_count <= 2); - let next_era_reserved_validators = root_connection - .connection - .get_next_era_reserved_validators(None) - .await; + let next_era_reserved_validators = root_connection.get_next_era_reserved_validators(None).await; let next_era_non_reserved_validators = root_connection - .connection .get_next_era_non_reserved_validators(None) .await; @@ -328,14 +289,12 @@ pub async fn permissionless_ban() -> anyhow::Result<()> { .ban_from_committee(validator_to_ban.clone(), vec![], TxStatus::InBlock) .await?; root_connection - .connection .wait_for_n_eras(2, BlockStatus::Finalized) .await; let without_banned = HashSet::<_>::from_iter(non_reserved_without_banned); let non_reserved = HashSet::<_>::from_iter( root_connection - .connection .get_current_era_validators(None) .await .non_reserved, @@ -346,13 +305,11 @@ pub async fn permissionless_ban() -> anyhow::Result<()> { // validate again signed_connection.validate(0, TxStatus::InBlock).await?; root_connection - .connection .wait_for_n_eras(2, BlockStatus::Finalized) .await; let expected_non_reserved = HashSet::<_>::from_iter(non_reserved_validators); let non_reserved = HashSet::<_>::from_iter( root_connection - .connection .get_current_era_validators(None) .await .non_reserved, @@ -376,14 +333,11 @@ pub async fn ban_threshold() -> anyhow::Result<()> { check_validators( &reserved_validators, &non_reserved_validators, - root_connection - .connection - .get_current_era_validators(None) - .await, + root_connection.get_current_era_validators(None).await, ); check_ban_config( - &root_connection.connection, + &root_connection, DEFAULT_BAN_MINIMAL_EXPECTED_PERFORMANCE, DEFAULT_BAN_SESSION_COUNT_THRESHOLD, DEFAULT_CLEAN_SESSION_COUNTER_DELAY, @@ -401,16 +355,15 @@ pub async fn ban_threshold() -> anyhow::Result<()> { ) .await?; - let ban_config_change_session = root_connection.connection.get_session(None).await; + let ban_config_change_session = root_connection.get_session(None).await; let check_start_session = ban_config_change_session + 1; let check_end_session = check_start_session + SESSIONS_TO_CHECK - 1; root_connection - .connection .wait_for_n_sessions(SESSIONS_TO_CHECK, BlockStatus::Finalized) .await; check_underperformed_count_for_sessions( - &root_connection.connection, + &root_connection, &reserved_validators, &non_reserved_validators, &seats, diff --git a/e2e-tests/src/test/electing_validators.rs b/e2e-tests/src/test/electing_validators.rs index b099bde3b6..59bdfc65b7 100644 --- a/e2e-tests/src/test/electing_validators.rs +++ b/e2e-tests/src/test/electing_validators.rs @@ -8,7 +8,7 @@ use aleph_client::{ }, primitives::CommitteeSeats, waiting::{BlockStatus, WaitingExt}, - AccountId, Connection, KeyPair, Pair, SignedConnection, TxStatus, + AccountId, ConnectionApi, KeyPair, Pair, SignedConnection, TxStatus, }; use log::info; use primitives::EraIndex; @@ -21,8 +21,8 @@ use crate::{ /// Verify that `pallet_staking::ErasStakers` contains all target validators. /// /// We have to do it by comparing keys in storage trie. -async fn assert_validators_are_elected_stakers( - connection: &Connection, +async fn assert_validators_are_elected_stakers( + connection: &C, current_era: EraIndex, expected_validators_as_keys: Vec>, ) -> anyhow::Result<()> { @@ -61,8 +61,8 @@ fn min_num_sessions_to_see_all_non_reserved_validators( /// Verify that all target validators are included `pallet_session::Validators` across a few /// consecutive sessions. -async fn assert_validators_are_used_as_authorities( - connection: &Connection, +async fn assert_validators_are_used_as_authorities( + connection: &C, expected_authorities: &BTreeSet, min_num_sessions: u32, ) { @@ -87,7 +87,7 @@ async fn assert_validators_are_used_as_authorities( ); } -async fn assert_enough_validators(connection: &Connection, min_validator_count: u32) { +async fn assert_enough_validators(connection: &C, min_validator_count: u32) { let current_validator_count = connection.get_validators(None).await.len() as u32; assert!( current_validator_count >= min_validator_count, @@ -127,7 +127,7 @@ fn assert_enough_validators_left_after_chilling( async fn chill_validators(node: &str, chilling: Vec) { for validator in chilling.into_iter() { info!("Chilling validator {:?}", validator.signer().public()); - let connection = SignedConnection::new(node.to_string(), validator).await; + let connection = SignedConnection::new(node, validator).await; connection.chill(TxStatus::InBlock).await.unwrap(); } } @@ -160,10 +160,7 @@ pub async fn authorities_are_staking() -> anyhow::Result<()> { const NON_RESERVED_SEATS_DEFAULT: u32 = 3; // `MinimumValidatorCount` from `pallet_staking`, set in chain spec. - let min_validator_count = root_connection - .connection - .get_minimum_validator_count(None) - .await; + let min_validator_count = root_connection.get_minimum_validator_count(None).await; let reserved_seats = match config.test_case_params.reserved_seats { Some(seats) => seats, @@ -178,11 +175,11 @@ pub async fn authorities_are_staking() -> anyhow::Result<()> { const RESERVED_TO_CHILL_COUNT: u32 = 1; const NON_RESERVED_TO_CHILL_COUNT: u32 = 1; - assert_enough_validators(&root_connection.connection, min_validator_count).await; + assert_enough_validators(&root_connection, min_validator_count).await; let desired_validator_count = reserved_seats + non_reserved_seats; let accounts = setup_accounts(desired_validator_count); - prepare_validators(&root_connection.as_signed(), node, &accounts).await?; + prepare_validators(&root_connection, node, &accounts).await?; info!("New validators are set up"); let reserved_validators = accounts.get_stash_accounts()[..reserved_seats as usize].to_vec(); @@ -228,19 +225,15 @@ pub async fn authorities_are_staking() -> anyhow::Result<()> { info!("Changed validators to a new set"); // We need any signed connection. - let connection = root_connection.as_signed(); - connection - .connection - .wait_for_n_eras(2, BlockStatus::Best) - .await; - let current_era = connection.connection.get_current_era(None).await; + let connection = root_connection; + connection.wait_for_n_eras(2, BlockStatus::Best).await; + let current_era = connection.get_current_era(None).await; info!("New validators are in force (era: {})", current_era); assert_validators_are_elected_stakers( - &connection.connection, + &connection, current_era, connection - .connection .get_stakers_storage_keys_from_accounts( current_era, accounts.get_stash_accounts(), @@ -257,7 +250,7 @@ pub async fn authorities_are_staking() -> anyhow::Result<()> { min_num_sessions_to_see_all_non_reserved_validators(non_reserved_count, non_reserved_seats); assert_validators_are_used_as_authorities( - &connection.connection, + &connection, &BTreeSet::from_iter(accounts.get_stash_accounts().clone().into_iter()), min_num_sessions, ) @@ -265,11 +258,8 @@ pub async fn authorities_are_staking() -> anyhow::Result<()> { chill_validators(node, vec![chilling_reserved, chilling_non_reserved]).await; - connection - .connection - .wait_for_n_eras(2, BlockStatus::Best) - .await; - let current_era = connection.connection.get_current_era(None).await; + connection.wait_for_n_eras(2, BlockStatus::Best).await; + let current_era = connection.get_current_era(None).await; info!( "Subset of validators should be in force (era: {})", current_era @@ -280,10 +270,9 @@ pub async fn authorities_are_staking() -> anyhow::Result<()> { left_stashes.remove(0); assert_validators_are_elected_stakers( - &connection.connection, + &connection, current_era, connection - .connection .get_stakers_storage_keys_from_accounts(current_era, &left_stashes, None) .await .into_iter() @@ -292,7 +281,7 @@ pub async fn authorities_are_staking() -> anyhow::Result<()> { ) .await?; assert_validators_are_used_as_authorities( - &connection.connection, + &connection, &BTreeSet::from_iter(left_stashes.into_iter()), min_num_sessions, ) diff --git a/e2e-tests/src/test/era_payout.rs b/e2e-tests/src/test/era_payout.rs index d2576d1584..a822f716bf 100644 --- a/e2e-tests/src/test/era_payout.rs +++ b/e2e-tests/src/test/era_payout.rs @@ -1,7 +1,7 @@ use aleph_client::{ pallets::staking::{StakingApi, StakingSudoApi}, waiting::{AlephWaiting, BlockStatus, WaitingExt}, - Connection, TxStatus, + TxStatus, }; use primitives::{ staking::era_payout, Balance, EraIndex, DEFAULT_SESSIONS_PER_ERA, DEFAULT_SESSION_PERIOD, @@ -32,7 +32,7 @@ fn payout_within_two_block_delta(expected_payout: Balance, payout: Balance) { ); } -async fn wait_to_second_era(connection: &Connection) -> EraIndex { +async fn wait_to_second_era(connection: &C) -> EraIndex { let active_era = connection.get_active_era(None).await; if active_era < 2 { connection.wait_for_n_eras(2, BlockStatus::Best).await; @@ -42,30 +42,22 @@ async fn wait_to_second_era(connection: &Connection) -> EraIndex { async fn force_era_payout(config: &Config) -> anyhow::Result<()> { let root_connection = config.create_root_connection().await; - let active_era = wait_to_second_era(&root_connection.connection).await; - root_connection - .connection - .wait_for_n_eras(1, BlockStatus::Best) - .await; + let active_era = wait_to_second_era(&root_connection).await; + root_connection.wait_for_n_eras(1, BlockStatus::Best).await; let active_era = active_era + 1; let starting_session = active_era * DEFAULT_SESSIONS_PER_ERA; root_connection - .connection .wait_for_session(starting_session + 1, BlockStatus::Best) .await; // new era will start in the session `starting_session + 3` root_connection.force_new_era(TxStatus::InBlock).await?; root_connection - .connection .wait_for_session(starting_session + 3, BlockStatus::Best) .await; - let payout = root_connection - .connection - .get_payout_for_era(active_era, None) - .await; + let payout = root_connection.get_payout_for_era(active_era, None).await; let expected_payout = era_payout((3 * DEFAULT_SESSION_PERIOD) as u64 * MILLISECS_PER_BLOCK).0; payout_within_two_block_delta(expected_payout, payout); @@ -76,9 +68,8 @@ async fn force_era_payout(config: &Config) -> anyhow::Result<()> { async fn normal_era_payout(config: &Config) -> anyhow::Result<()> { let root_connection = config.create_root_connection().await; - let active_era = wait_to_second_era(&root_connection.connection).await; + let active_era = wait_to_second_era(&root_connection).await; let payout = root_connection - .connection .get_payout_for_era(active_era - 1, None) .await; let expected_payout = era_payout( diff --git a/e2e-tests/src/test/era_validators.rs b/e2e-tests/src/test/era_validators.rs index 4eee186fb9..c3b20d8195 100644 --- a/e2e-tests/src/test/era_validators.rs +++ b/e2e-tests/src/test/era_validators.rs @@ -3,7 +3,7 @@ use aleph_client::{ primitives::CommitteeSeats, utility::BlocksApi, waiting::{AlephWaiting, BlockStatus, WaitingExt}, - AccountId, Connection, KeyPair, TxStatus, + AccountId, KeyPair, TxStatus, }; use anyhow::anyhow; @@ -40,16 +40,16 @@ fn get_new_non_reserved_validators(config: &Config) -> Vec { .collect() } -async fn get_current_and_next_era_reserved_validators( - connection: &Connection, +async fn get_current_and_next_era_reserved_validators( + connection: &C, ) -> (Vec, Vec) { let stored_reserved = connection.get_next_era_reserved_validators(None).await; let current_reserved = connection.get_current_era_validators(None).await.reserved; (current_reserved, stored_reserved) } -async fn get_current_and_next_era_non_reserved_validators( - connection: &Connection, +async fn get_current_and_next_era_non_reserved_validators( + connection: &C, ) -> (Vec, Vec) { let stored_non_reserved = connection.get_next_era_non_reserved_validators(None).await; let current_non_reserved = connection @@ -90,7 +90,6 @@ pub async fn era_validators() -> anyhow::Result<()> { ) .await?; root_connection - .connection .wait_for_n_eras(1, BlockStatus::Finalized) .await; @@ -107,13 +106,12 @@ pub async fn era_validators() -> anyhow::Result<()> { .await?; root_connection - .connection .wait_for_session(1, BlockStatus::Finalized) .await; let (eras_reserved, stored_reserved) = - get_current_and_next_era_reserved_validators(&connection.connection).await; + get_current_and_next_era_reserved_validators(&connection).await; let (eras_non_reserved, stored_non_reserved) = - get_current_and_next_era_non_reserved_validators(&connection.connection).await; + get_current_and_next_era_non_reserved_validators(&connection).await; assert_eq!( stored_reserved, new_reserved_validators, @@ -133,15 +131,12 @@ pub async fn era_validators() -> anyhow::Result<()> { "Non-reserved validators set has been updated too early." ); - connection - .connection - .wait_for_n_eras(1, BlockStatus::Finalized) - .await; + connection.wait_for_n_eras(1, BlockStatus::Finalized).await; let (eras_reserved, stored_reserved) = - get_current_and_next_era_reserved_validators(&connection.connection).await; + get_current_and_next_era_reserved_validators(&connection).await; let (eras_non_reserved, stored_non_reserved) = - get_current_and_next_era_non_reserved_validators(&connection.connection).await; + get_current_and_next_era_non_reserved_validators(&connection).await; assert_eq!( stored_reserved, new_reserved_validators, @@ -162,12 +157,10 @@ pub async fn era_validators() -> anyhow::Result<()> { ); let block_number = connection - .connection .get_best_block() .await? .ok_or(anyhow!("Failed to retrieve best block number!"))?; connection - .connection .wait_for_block(|n| n >= block_number, BlockStatus::Finalized) .await; diff --git a/e2e-tests/src/test/fee.rs b/e2e-tests/src/test/fee.rs index 3fcf1a4132..8bafab4b93 100644 --- a/e2e-tests/src/test/fee.rs +++ b/e2e-tests/src/test/fee.rs @@ -2,7 +2,7 @@ use aleph_client::{ api::transaction_payment::events::TransactionFeePaid, pallets::{balances::BalanceUserApi, fee::TransactionPaymentApi, system::SystemSudoApi}, waiting::{AlephWaiting, BlockStatus}, - AccountId, RootConnection, SignedConnection, TxStatus, + AccountId, RootConnection, SignedConnection, SignedConnectionApi, TxStatus, }; use log::info; use primitives::Balance; @@ -105,10 +105,10 @@ pub async fn current_fees( tip: Option, transfer_value: Balance, ) -> (Balance, u128) { - let actual_multiplier = connection.connection.get_next_fee_multiplier(None).await; + let actual_multiplier = connection.get_next_fee_multiplier(None).await; - let waiting_connection = connection.connection.clone(); - let signer = connection.signer.account_id().clone(); + let waiting_connection = connection.clone(); + let signer = connection.account_id().clone(); let event_handle = tokio::spawn(async move { waiting_connection .wait_for_event( diff --git a/e2e-tests/src/test/finalization.rs b/e2e-tests/src/test/finalization.rs index 3d53c3a562..ab01b8d032 100644 --- a/e2e-tests/src/test/finalization.rs +++ b/e2e-tests/src/test/finalization.rs @@ -11,16 +11,15 @@ pub async fn finalization() -> anyhow::Result<()> { let config = setup_test(); let connection = config.create_root_connection().await; - let finalized = connection.connection.get_finalized_block_hash().await?; + let finalized = connection.get_finalized_block_hash().await?; let finalized_number = connection - .connection .get_block_number(finalized) .await? .ok_or(anyhow!( "Failed to retrieve block number for hash {finalized:?}" ))?; + connection - .connection .wait_for_block(|n| n > finalized_number, BlockStatus::Finalized) .await; diff --git a/e2e-tests/src/test/helpers.rs b/e2e-tests/src/test/helpers.rs index a235fde8fe..4ebe74a377 100644 --- a/e2e-tests/src/test/helpers.rs +++ b/e2e-tests/src/test/helpers.rs @@ -2,7 +2,7 @@ use std::ops::Deref; use aleph_client::{ pallets::balances::BalanceUserApi, AccountId, Connection, KeyPair, Pair, SignedConnection, - TxStatus, + SignedConnectionApi, TxStatus, }; use anyhow::Result; use primitives::Balance; @@ -55,7 +55,11 @@ pub fn random_account() -> KeyPairWrapper { } /// Transfer `amount` from `from` to `to` -pub async fn transfer(conn: &SignedConnection, to: &KeyPair, amount: Balance) -> Result<()> { +pub async fn transfer( + conn: &S, + to: &KeyPair, + amount: Balance, +) -> Result<()> { conn.transfer(to.signer().public().into(), amount, TxStatus::InBlock) .await .map(|_| ()) @@ -69,12 +73,12 @@ pub fn alephs(basic_unit_amount: Balance) -> Balance { /// Prepares a `(conn, authority, account)` triple with some money in `account` for fees. pub async fn basic_test_context( config: &Config, -) -> Result<(Connection, KeyPairWrapper, KeyPairWrapper)> { +) -> Result<(SignedConnection, KeyPairWrapper, KeyPairWrapper)> { let conn = config.get_first_signed_connection().await; let authority = KeyPairWrapper(aleph_client::keypair_from_string(&config.sudo_seed)); let account = random_account(); transfer(&conn, &account, alephs(100)).await?; - Ok((conn.connection, authority, account)) + Ok((conn.clone(), authority, account)) } diff --git a/e2e-tests/src/test/rewards.rs b/e2e-tests/src/test/rewards.rs index fd4652ef57..cd7d225718 100644 --- a/e2e-tests/src/test/rewards.rs +++ b/e2e-tests/src/test/rewards.rs @@ -1,12 +1,13 @@ use aleph_client::{ pallets::{ + elections::ElectionsApi, session::SessionApi, staking::{StakingApi, StakingSudoApi}, }, primitives::{CommitteeSeats, EraValidators}, - utility::SessionEraApi, + utility::{BlocksApi, SessionEraApi}, waiting::{AlephWaiting, BlockStatus, WaitingExt}, - AccountId, SignedConnection, TxStatus, + AccountId, SignedConnection, SignedConnectionApi, TxStatus, }; use log::info; use primitives::{staking::MIN_VALIDATOR_BOND, EraIndex, SessionIndex}; @@ -32,11 +33,8 @@ pub async fn points_basic() -> anyhow::Result<()> { let connection = config.get_first_signed_connection().await; - connection - .connection - .wait_for_n_eras(1, BlockStatus::Best) - .await; - let end_session = connection.connection.get_session(None).await; + connection.wait_for_n_eras(1, BlockStatus::Best).await; + let end_session = connection.get_session(None).await; let members_per_session = committee_size.reserved_seats + committee_size.non_reserved_seats; info!( @@ -45,12 +43,9 @@ pub async fn points_basic() -> anyhow::Result<()> { ); for session in start_session..end_session { - let era = connection - .connection - .get_active_era_for_session(session) - .await?; + let era = connection.get_active_era_for_session(session).await?; let (members_active, members_bench) = get_and_test_members_for_session( - &connection.connection, + &connection, committee_size.clone(), &era_validators, session, @@ -92,12 +87,9 @@ pub async fn points_stake_change() -> anyhow::Result<()> { .await; let connection = config.get_first_signed_connection().await; - let start_session = connection.connection.get_session(None).await; - connection - .connection - .wait_for_n_eras(1, BlockStatus::Best) - .await; - let end_session = connection.connection.get_session(None).await; + let start_session = connection.get_session(None).await; + connection.wait_for_n_eras(1, BlockStatus::Best).await; + let end_session = connection.get_session(None).await; let members_per_session = committee_size.reserved_seats + committee_size.non_reserved_seats; info!( @@ -106,12 +98,9 @@ pub async fn points_stake_change() -> anyhow::Result<()> { ); for session in start_session..end_session { - let era = connection - .connection - .get_active_era_for_session(session) - .await?; + let era = connection.get_active_era_for_session(session).await?; let (members_active, members_bench) = get_and_test_members_for_session( - &connection.connection, + &connection, committee_size.clone(), &era_validators, session, @@ -142,18 +131,15 @@ pub async fn disable_node() -> anyhow::Result<()> { let root_connection = config.create_root_connection().await; let controller_connection = - SignedConnection::new(config.node.clone(), config.node_keys().controller).await; + SignedConnection::new(&config.node, config.node_keys().controller).await; // this should `disable` this node by setting invalid session_keys set_invalid_keys_for_validator(&controller_connection).await?; // this should `re-enable` this node, i.e. by means of the `rotate keys` procedure reset_validator_keys(&controller_connection).await?; - root_connection - .connection - .wait_for_n_eras(1, BlockStatus::Best) - .await; - let end_session = root_connection.connection.get_session(None).await; + root_connection.wait_for_n_eras(1, BlockStatus::Best).await; + let end_session = root_connection.get_session(None).await; let members_per_session = committee_size.reserved_seats + committee_size.non_reserved_seats; info!( @@ -162,12 +148,9 @@ pub async fn disable_node() -> anyhow::Result<()> { ); for session in start_session..end_session { - let era = root_connection - .connection - .get_active_era_for_session(session) - .await?; + let era = root_connection.get_active_era_for_session(session).await?; let (members_active, members_bench) = get_and_test_members_for_session( - &controller_connection.connection, + &controller_connection, committee_size.clone(), &era_validators, session, @@ -200,20 +183,16 @@ pub async fn force_new_era() -> anyhow::Result<()> { let connection = config.get_first_signed_connection().await; let root_connection = config.create_root_connection().await; - let start_era = connection - .connection - .get_active_era_for_session(start_session) - .await?; + let start_era = connection.get_active_era_for_session(start_session).await?; info!("Start | era: {}, session: {}", start_era, start_session); root_connection.force_new_era(TxStatus::Finalized).await?; connection - .connection .wait_for_session(start_session + 2, BlockStatus::Finalized) .await; - let active_era = connection.connection.get_active_era(None).await; - let current_session = connection.connection.get_session(None).await; + let active_era = connection.get_active_era(None).await; + let current_session = connection.get_session(None).await; info!( "After ForceNewEra | era: {}, session: {}", active_era, current_session @@ -245,10 +224,7 @@ pub async fn change_stake_and_force_new_era() -> anyhow::Result<()> { let connection = config.get_first_signed_connection().await; let root_connection = config.create_root_connection().await; - let start_era = connection - .connection - .get_active_era_for_session(start_session) - .await?; + let start_era = connection.get_active_era_for_session(start_session).await?; info!("Start | era: {}, session: {}", start_era, start_session); validators_bond_extra_stakes( @@ -264,13 +240,12 @@ pub async fn change_stake_and_force_new_era() -> anyhow::Result<()> { .await; root_connection.force_new_era(TxStatus::Finalized).await?; - let start_session = root_connection.connection.get_session(None).await; + let start_session = root_connection.get_session(None).await; connection - .connection .wait_for_session(start_session + 2, BlockStatus::Finalized) .await; - let active_era = connection.connection.get_active_era(None).await; - let current_session = connection.connection.get_session(None).await; + let active_era = connection.get_active_era(None).await; + let current_session = connection.get_session(None).await; info!( "After ForceNewEra | era: {}, session: {}", active_era, current_session @@ -288,8 +263,10 @@ pub async fn change_stake_and_force_new_era() -> anyhow::Result<()> { Ok(()) } -async fn check_points_after_force_new_era( - connection: &SignedConnection, +async fn check_points_after_force_new_era< + S: SignedConnectionApi + BlocksApi + ElectionsApi + AlephWaiting + StakingApi, +>( + connection: &S, start_session: SessionIndex, start_era: EraIndex, era_validators: &EraValidators, @@ -311,7 +288,7 @@ async fn check_points_after_force_new_era( ); let (members_active, members_bench) = get_and_test_members_for_session( - &connection.connection, + connection, seats.clone(), era_validators, session_to_check, diff --git a/e2e-tests/src/test/staking.rs b/e2e-tests/src/test/staking.rs index 766c0a1971..757638a69a 100644 --- a/e2e-tests/src/test/staking.rs +++ b/e2e-tests/src/test/staking.rs @@ -11,7 +11,7 @@ use aleph_client::{ primitives::CommitteeSeats, sp_core::bounded::bounded_vec::BoundedVec, waiting::{BlockStatus, WaitingExt}, - AccountId, KeyPair, Pair, SignedConnection, TxStatus, + AccountId, KeyPair, Pair, SignedConnection, SignedConnectionApi, TxStatus, }; use log::info; use primitives::{ @@ -63,7 +63,7 @@ pub async fn staking_era_payouts() -> anyhow::Result<()> { .into_iter() .zip(validator_accounts) { - let connection = SignedConnection::new(node.clone(), nominator).await; + let connection = SignedConnection::new(node, nominator).await; let nominee_account_id = AccountId::from(nominee.signer().public()); connection .nominate(nominee_account_id, TxStatus::InBlock) @@ -72,11 +72,8 @@ pub async fn staking_era_payouts() -> anyhow::Result<()> { // All the above calls influence the next era, so we need to wait that it passes. // this test can be speeded up by forcing new era twice, and waiting 4 sessions in total instead of almost 10 sessions - connection - .connection - .wait_for_n_eras(2, BlockStatus::Finalized) - .await; - let current_era = connection.connection.get_current_era(None).await; + connection.wait_for_n_eras(2, BlockStatus::Finalized).await; + let current_era = connection.get_current_era(None).await; info!( "Era {} started, claiming rewards for era {}", current_era, @@ -86,7 +83,7 @@ pub async fn staking_era_payouts() -> anyhow::Result<()> { let (_, validator_accounts) = get_validator_stashes_key_pairs(config); for key_pair in validator_accounts { let stash_account = AccountId::from(key_pair.signer().public()); - let stash_connection = SignedConnection::new(node.to_string(), key_pair).await; + let stash_connection = SignedConnection::new(node, key_pair).await; payout_stakers_and_assert_locked_balance( &stash_connection, &[stash_account.clone()], @@ -137,13 +134,11 @@ pub async fn staking_new_validator() -> anyhow::Result<()> { .await?; root_connection - .connection .wait_for_n_sessions(2, BlockStatus::Best) .await; // to cover tx fees as we need a bit more than VALIDATOR_STAKE root_connection - .as_signed() .transfer( stash_account.clone(), MIN_VALIDATOR_BOND + TOKEN, @@ -152,12 +147,10 @@ pub async fn staking_new_validator() -> anyhow::Result<()> { .await?; // to cover txs fees root_connection - .as_signed() .transfer(controller_account.clone(), TOKEN, TxStatus::InBlock) .await?; - let stash_connection = - SignedConnection::new(node.to_string(), KeyPair::new(stash.signer().clone())).await; + let stash_connection = SignedConnection::new(node, KeyPair::new(stash.signer().clone())).await; stash_connection .bond( @@ -168,7 +161,6 @@ pub async fn staking_new_validator() -> anyhow::Result<()> { .await?; let bonded_controller_account = root_connection - .connection .get_bonded(stash_account.clone(), None) .await .expect("should be bonded to smth"); @@ -178,9 +170,9 @@ pub async fn staking_new_validator() -> anyhow::Result<()> { &stash_account, &controller_account, &bonded_controller_account ); - let validator_keys = root_connection.connection.author_rotate_keys().await?; + let validator_keys = root_connection.author_rotate_keys().await?; let controller_connection = - SignedConnection::new(node.to_string(), KeyPair::new(controller.signer().clone())).await; + SignedConnection::new(node, KeyPair::new(controller.signer().clone())).await; controller_connection .set_keys(validator_keys, TxStatus::InBlock) .await?; @@ -188,7 +180,6 @@ pub async fn staking_new_validator() -> anyhow::Result<()> { .validate(10, TxStatus::InBlock) .await?; let ledger = controller_connection - .connection .get_ledger(controller_account, None) .await; assert_eq!( @@ -217,14 +208,10 @@ pub async fn staking_new_validator() -> anyhow::Result<()> { ) .await?; root_connection - .connection .wait_for_n_sessions(2, BlockStatus::Best) .await; - root_connection - .connection - .wait_for_n_eras(2, BlockStatus::Best) - .await; - let current_era = root_connection.connection.get_current_era(None).await; + root_connection.wait_for_n_eras(2, BlockStatus::Best).await; + let current_era = root_connection.get_current_era(None).await; info!( "Era {} started, claiming rewards for era {}", current_era, @@ -245,8 +232,7 @@ pub async fn staking_new_validator() -> anyhow::Result<()> { pub async fn multi_bond(node: &str, bonders: &[KeyPair], stake: Balance) { for bonder in bonders { let controller_account = account_from_keypair(bonder.signer()); - let connection = - SignedConnection::new(node.to_string(), KeyPair::new(bonder.signer().clone())).await; + let connection = SignedConnection::new(node, KeyPair::new(bonder.signer().clone())).await; connection .bond(stake, controller_account, TxStatus::InBlock) .await @@ -254,14 +240,13 @@ pub async fn multi_bond(node: &str, bonders: &[KeyPair], stake: Balance) { } } -async fn payout_stakers_and_assert_locked_balance( - stash_connection: &SignedConnection, +async fn payout_stakers_and_assert_locked_balance( + stash_connection: &S, accounts_to_check_balance: &[AccountId], stash_account: &AccountId, era: BlockNumber, ) { let locked_stash_balances_before_payout = stash_connection - .connection .locks(accounts_to_check_balance, None) .await; stash_connection @@ -269,7 +254,6 @@ async fn payout_stakers_and_assert_locked_balance( .await .unwrap(); let locked_stash_balances_after_payout = stash_connection - .connection .locks(accounts_to_check_balance, None) .await; locked_stash_balances_before_payout.iter() diff --git a/e2e-tests/src/test/transfer.rs b/e2e-tests/src/test/transfer.rs index 8cd33daa3c..c0c29a04a8 100644 --- a/e2e-tests/src/test/transfer.rs +++ b/e2e-tests/src/test/transfer.rs @@ -11,10 +11,7 @@ pub async fn token_transfer() -> anyhow::Result<()> { let config = setup_test(); let (connection, to) = setup_for_transfer(config).await; - let balance_before = connection - .connection - .get_free_balance(to.clone(), None) - .await; + let balance_before = connection.get_free_balance(to.clone(), None).await; info!("[+] Account {} balance before tx: {}", to, balance_before); let transfer_value = 1000; @@ -22,10 +19,7 @@ pub async fn token_transfer() -> anyhow::Result<()> { .transfer(to.clone(), transfer_value, TxStatus::Finalized) .await?; - let balance_after = connection - .connection - .get_free_balance(to.clone(), None) - .await; + let balance_after = connection.get_free_balance(to.clone(), None).await; info!("[+] Account {} balance after tx: {}", to, balance_after); assert_eq!( diff --git a/e2e-tests/src/test/treasury.rs b/e2e-tests/src/test/treasury.rs index 940d0779af..2ab69a80a6 100644 --- a/e2e-tests/src/test/treasury.rs +++ b/e2e-tests/src/test/treasury.rs @@ -7,7 +7,7 @@ use aleph_client::{ treasury::{TreasureApiExt, TreasuryApi, TreasuryUserApi}, }, waiting::{AlephWaiting, BlockStatus}, - Connection, KeyPair, RootConnection, SignedConnection, TxStatus, + ConnectionApi, KeyPair, RootConnection, SignedConnection, TxStatus, }; use log::info; use primitives::Balance; @@ -20,7 +20,7 @@ use crate::{ /// Returns current treasury free funds and total issuance. /// /// Takes two storage reads. -async fn balance_info(connection: &Connection) -> (Balance, Balance) { +async fn balance_info(connection: &C) -> (Balance, Balance) { let treasury_balance = connection .get_free_balance(connection.treasury_account().await, None) .await; @@ -39,11 +39,11 @@ pub async fn channeling_fee_and_tip() -> anyhow::Result<()> { let (transfer_amount, tip) = (1_000u128, 10_000u128); let (connection, to) = setup_for_transfer(config).await; - let (treasury_balance_before, issuance_before) = balance_info(&connection.connection).await; - let possible_treasury_gain_from_staking = - connection.connection.possible_treasury_payout().await?; + let (treasury_balance_before, issuance_before) = balance_info(&connection).await; + let possible_treasury_gain_from_staking = connection.possible_treasury_payout().await?; + let (fee, _) = current_fees(&connection, to, Some(tip), transfer_amount).await; - let (treasury_balance_after, issuance_after) = balance_info(&connection.connection).await; + let (treasury_balance_after, issuance_after) = balance_info(&connection).await; check_issuance( possible_treasury_gain_from_staking, @@ -107,24 +107,16 @@ pub async fn treasury_access() -> anyhow::Result<()> { let config = setup_test(); let proposer = KeyPair::new(get_validators_raw_keys(config)[0].clone()); let beneficiary = account_from_keypair(proposer.signer()); - let connection = SignedConnection::new(config.node.clone(), proposer).await; + let connection = SignedConnection::new(&config.node, proposer).await; - let proposals_counter_before = connection - .connection - .proposals_count(None) - .await - .unwrap_or_default(); + let proposals_counter_before = connection.proposals_count(None).await.unwrap_or_default(); connection .propose_spend(10, beneficiary.clone(), TxStatus::InBlock) .await?; connection .propose_spend(100, beneficiary.clone(), TxStatus::InBlock) .await?; - let proposals_counter_after = connection - .connection - .proposals_count(None) - .await - .unwrap_or_default(); + let proposals_counter_after = connection.proposals_count(None).await.unwrap_or_default(); assert_eq!( proposals_counter_before + 2, @@ -141,18 +133,15 @@ pub async fn treasury_access() -> anyhow::Result<()> { } async fn approve_treasury_proposal(connection: &RootConnection, id: u32) -> anyhow::Result<()> { - connection - .as_signed() - .approve(id, TxStatus::Finalized) - .await?; - let approvals = connection.connection.approvals(None).await; + connection.approve(id, TxStatus::Finalized).await?; + let approvals = connection.approvals(None).await; assert!(approvals.contains(&id)); Ok(()) } async fn reject_treasury_proposal(connection: &RootConnection, id: u32) -> anyhow::Result<()> { - let handle_connection = connection.connection.clone(); + let handle_connection = connection.clone(); let handle = tokio::spawn(async move { handle_connection .wait_for_event( @@ -161,10 +150,7 @@ async fn reject_treasury_proposal(connection: &RootConnection, id: u32) -> anyho ) .await; }); - connection - .as_signed() - .reject(id, TxStatus::Finalized) - .await?; + connection.reject(id, TxStatus::Finalized).await?; handle.await?; Ok(()) diff --git a/e2e-tests/src/test/validators_change.rs b/e2e-tests/src/test/validators_change.rs index f906f980f1..187142c3da 100644 --- a/e2e-tests/src/test/validators_change.rs +++ b/e2e-tests/src/test/validators_change.rs @@ -18,18 +18,9 @@ pub async fn change_validators() -> anyhow::Result<()> { let accounts = get_validators_keys(config); let connection = config.create_root_connection().await; - let reserved_before = connection - .connection - .get_next_era_reserved_validators(None) - .await; - let non_reserved_before = connection - .connection - .get_next_era_non_reserved_validators(None) - .await; - let committee_size_before = connection - .connection - .get_next_era_committee_seats(None) - .await; + let reserved_before = connection.get_next_era_reserved_validators(None).await; + let non_reserved_before = connection.get_next_era_non_reserved_validators(None).await; + let committee_size_before = connection.get_next_era_committee_seats(None).await; info!( "[+] state before tx: reserved: {:#?}, non_reserved: {:#?}, committee_size: {:#?}", @@ -52,7 +43,7 @@ pub async fn change_validators() -> anyhow::Result<()> { ) .await?; - connection.connection.wait_for_event(|e: &ChangeValidators| { + connection.wait_for_event(|e: &ChangeValidators| { info!("[+] NewValidatorsEvent: reserved: {:#?}, non_reserved: {:#?}, committee_size: {:#?}", e.0, e.1, e.2); e.0 == new_validators[0..2] @@ -64,18 +55,9 @@ pub async fn change_validators() -> anyhow::Result<()> { } }, BlockStatus::Best).await; - let reserved_after = connection - .connection - .get_next_era_reserved_validators(None) - .await; - let non_reserved_after = connection - .connection - .get_next_era_non_reserved_validators(None) - .await; - let committee_size_after = connection - .connection - .get_next_era_committee_seats(None) - .await; + let reserved_after = connection.get_next_era_reserved_validators(None).await; + let non_reserved_after = connection.get_next_era_non_reserved_validators(None).await; + let committee_size_after = connection.get_next_era_committee_seats(None).await; info!( "[+] state before tx: reserved: {:#?}, non_reserved: {:#?}, committee_size: {:#?}", @@ -91,13 +73,12 @@ pub async fn change_validators() -> anyhow::Result<()> { }, committee_size_after ); + let block_number = connection - .connection .get_best_block() .await? .ok_or(anyhow!("Failed to retrieve best block!"))?; connection - .connection .wait_for_block(|n| n >= block_number, BlockStatus::Finalized) .await; diff --git a/e2e-tests/src/test/validators_rotate.rs b/e2e-tests/src/test/validators_rotate.rs index f206865a20..8e55cc67b4 100644 --- a/e2e-tests/src/test/validators_rotate.rs +++ b/e2e-tests/src/test/validators_rotate.rs @@ -41,12 +41,10 @@ pub async fn validators_rotate() -> anyhow::Result<()> { ) .await?; root_connection - .connection .wait_for_n_eras(2, BlockStatus::Finalized) .await; - let current_session = root_connection.connection.get_session(None).await; + let current_session = root_connection.get_session(None).await; root_connection - .connection .wait_for_n_sessions(TEST_LENGTH, BlockStatus::Finalized) .await; @@ -54,13 +52,7 @@ pub async fn validators_rotate() -> anyhow::Result<()> { for session in current_session..current_session + TEST_LENGTH { let elected = connection - .connection - .get_validators( - connection - .connection - .first_block_of_session(session) - .await?, - ) + .get_validators(connection.first_block_of_session(session).await?) .await; let non_reserved = get_members_subset_for_session( @@ -108,12 +100,10 @@ pub async fn validators_rotate() -> anyhow::Result<()> { assert!(max_elected - min_elected <= 1); let block_number = connection - .connection .get_best_block() .await? .ok_or(anyhow!("Failed to retrieve best block number!"))?; connection - .connection .wait_for_block(|n| n >= block_number, BlockStatus::Finalized) .await; diff --git a/e2e-tests/src/test/version_upgrade.rs b/e2e-tests/src/test/version_upgrade.rs index 8d0846e78e..6bce869b1a 100644 --- a/e2e-tests/src/test/version_upgrade.rs +++ b/e2e-tests/src/test/version_upgrade.rs @@ -22,7 +22,7 @@ pub async fn schedule_version_change() -> anyhow::Result<()> { let connection = config.create_root_connection().await; let test_case_params = config.test_case_params.clone(); - let current_session = connection.connection.get_session(None).await; + let current_session = connection.get_session(None).await; let version_for_upgrade = test_case_params .upgrade_to_version .unwrap_or(UPGRADE_TO_VERSION); @@ -41,17 +41,14 @@ pub async fn schedule_version_change() -> anyhow::Result<()> { ) .await?; connection - .connection .wait_for_session(session_after_upgrade + 1, BlockStatus::Finalized) .await; let block_number = connection - .connection .get_best_block() .await? .ok_or(anyhow!("Failed to retrieve best block number!"))?; connection - .connection .wait_for_block(|n| n >= block_number, BlockStatus::Finalized) .await; @@ -67,7 +64,7 @@ pub async fn schedule_doomed_version_change_and_verify_finalization_stopped() -> let connection = config.create_root_connection().await; let test_case_params = config.test_case_params.clone(); - let current_session = connection.connection.get_session(None).await; + let current_session = connection.get_session(None).await; let version_for_upgrade = test_case_params .upgrade_to_version .unwrap_or(UPGRADE_TO_VERSION); @@ -86,14 +83,12 @@ pub async fn schedule_doomed_version_change_and_verify_finalization_stopped() -> ) .await?; connection - .connection .wait_for_session(session_after_upgrade + 1, BlockStatus::Best) .await; - let last_finalized_block = - session_for_upgrade * connection.connection.get_session_period().await? - 1; + let last_finalized_block = session_for_upgrade * connection.get_session_period().await? - 1; - let connection = connection.connection; + let connection = connection; let finalized_block_head = connection.get_finalized_block_hash().await?; let finalized_block = connection.get_block_number(finalized_block_head).await?; diff --git a/e2e-tests/src/transfer.rs b/e2e-tests/src/transfer.rs index e9d19ee18c..b12364a8e7 100644 --- a/e2e-tests/src/transfer.rs +++ b/e2e-tests/src/transfer.rs @@ -9,7 +9,7 @@ async fn setup(config: &Config) -> (Connection, KeyPair, AccountId) { KeyPair::new(accounts[1].clone()), ); let to = AccountId::from(to.signer().public()); - (Connection::new(config.node.clone()).await, from, to) + (Connection::new(&config.node).await, from, to) } pub async fn setup_for_transfer(config: &Config) -> (SignedConnection, AccountId) { diff --git a/e2e-tests/src/validators.rs b/e2e-tests/src/validators.rs index 31833885b2..850dbad40f 100644 --- a/e2e-tests/src/validators.rs +++ b/e2e-tests/src/validators.rs @@ -5,7 +5,8 @@ use aleph_client::{ staking::StakingUserApi, }, primitives::EraValidators, - raw_keypair_from_string, AccountId, KeyPair, RawKeyPair, SignedConnection, TxStatus, + raw_keypair_from_string, AccountId, KeyPair, RawKeyPair, SignedConnection, SignedConnectionApi, + TxStatus, }; use futures::future::join_all; use primitives::{staking::MIN_VALIDATOR_BOND, TOKEN}; @@ -103,8 +104,8 @@ pub fn setup_accounts(desired_validator_count: u32) -> Accounts { /// Endow validators (stashes and controllers), bond and rotate keys. /// /// Signer of `connection` should have enough balance to endow new accounts. -pub async fn prepare_validators( - connection: &SignedConnection, +pub async fn prepare_validators( + connection: &S, node: &str, accounts: &Accounts, ) -> anyhow::Result<()> { @@ -127,7 +128,7 @@ pub async fn prepare_validators( .iter() .zip(accounts.get_controller_accounts().iter()) { - let connection = SignedConnection::new(node.to_string(), KeyPair::new(stash.clone())).await; + let connection = SignedConnection::new(node, KeyPair::new(stash.clone())).await; let contr = controller.clone(); handles.push(tokio::spawn(async move { connection @@ -138,9 +139,8 @@ pub async fn prepare_validators( } for controller in accounts.controller_raw_keys.iter() { - let keys = connection.connection.author_rotate_keys().await?; - let connection = - SignedConnection::new(node.to_string(), KeyPair::new(controller.clone())).await; + let keys = connection.author_rotate_keys().await?; + let connection = SignedConnection::new(node, KeyPair::new(controller.clone())).await; handles.push(tokio::spawn(async move { connection .set_keys(keys, TxStatus::Finalized) diff --git a/flooder/Cargo.lock b/flooder/Cargo.lock index fef7c2c125..d1b9af837e 100644 --- a/flooder/Cargo.lock +++ b/flooder/Cargo.lock @@ -49,7 +49,7 @@ dependencies = [ [[package]] name = "aleph_client" -version = "2.5.0" +version = "2.6.0" dependencies = [ "anyhow", "async-trait", diff --git a/flooder/src/main.rs b/flooder/src/main.rs index f9c1b8c9c5..2a44a9c913 100644 --- a/flooder/src/main.rs +++ b/flooder/src/main.rs @@ -2,7 +2,7 @@ use std::time::Duration; use aleph_client::{ account_from_keypair, pallets::balances::BalanceUserApi, raw_keypair_from_string, AccountId, - KeyPair, SignedConnection, TxStatus, + KeyPair, SignedConnection, SignedConnectionApi, TxStatus, }; use clap::Parser; use config::Config; @@ -72,7 +72,7 @@ async fn initialize_n_accounts String>( for i in 0..n { let seed = i.to_string(); let signer = KeyPair::new(raw_keypair_from_string(&("//".to_string() + &seed))); - connections.push(SignedConnection::new(node(i), signer).await); + connections.push(SignedConnection::new(&node(i), signer).await); } if skip { @@ -81,7 +81,7 @@ async fn initialize_n_accounts String>( for conn in connections.iter() { connection .transfer( - conn.signer.account_id().clone(), + conn.account_id().clone(), account_balance, TxStatus::Submitted, ) @@ -90,11 +90,7 @@ async fn initialize_n_accounts String>( } connection - .transfer( - connection.signer.account_id().clone(), - 1, - TxStatus::Finalized, - ) + .transfer(connection.account_id().clone(), 1, TxStatus::Finalized) .await .unwrap(); @@ -138,7 +134,7 @@ async fn main() -> anyhow::Result<()> { .unwrap(), }; let main_connection = - SignedConnection::new(config.nodes[0].to_string(), KeyPair::new(account.clone())).await; + SignedConnection::new(&config.nodes[0], KeyPair::new(account.clone())).await; let nodes = config.nodes.clone(); From 69435470f295183cd940373439996f66d21aab14 Mon Sep 17 00:00:00 2001 From: fixxxedpoint Date: Wed, 4 Jan 2023 18:46:43 +0100 Subject: [PATCH 065/212] synthetic-network for nightly-pipeline (#804) * as_ref in aleph-client for Connection types * rust API for synthetic-network's json API * refactored synthetic-link * new e2e-tests: high out-latency * refactored synthetic-network bash scripts * added git submodule for synthetic-network * added nightly e2e test for synthetic-network * refactored synthetic-link library * added load_config for synthetic-network e2e test * more refactoring of synthetic-link * missing synthetic-link in Cargo.toml * e2e-tests/config.rs cleaned * Into -> From in synthetic-link * slightly cleaned code for synthetic-network * added RUST_SRC_PATH in shell.nix for better support for IDEs * slightly cleaned synthetic-link * refactored synthetic-link: more types for ranged parameters * refactored synthetic-link lib * added code-docs to synthetic-link * using try_from for PortRange in synthetic-lib for input validation * missing deps after merge for synthetic-network * REVERT ME testing nightly pipeline * fix after merge * say no to install-protoc in github pipelines * Revert "say no to install-protoc in github pipelines" This reverts commit b991f75a1e87636a66839c061b7fb037473d531d. * GITHUB_TOKEN for "Install Protoc" action * reverted changed file permissions * reverted rust-toolchain file * typo in description for PortRange * e2e-tests: config.validator_names() uses validators_count * e2e-tests: added description for the `latency` tests * shell.nix: added description for new ENV var RUST_SRC_PATH - it's for rust-analyzer * BACKUP: e2e-tests/config.rs with iterators * new verion of the synthetic-network e2e-test that supports non-dockerized runs (urls) * fix for e2e-test `no_quorum_without_high_latency` - missing call for urls instead of names * extended README.md for the synthetic-network: how to run e2e-tests with synthetic-network locally * renamed e2e-tests for high-out-latency with synthetic-network * renamed one of the e2e-tests pipelines in nightly for high-latency (synthetic-network) * Revert "REVERT ME testing nightly pipeline" This reverts commit 8eb1410e3b28d5684afc4b00b79bc4fd260cadf2. --- .github/actions/run-e2e-test/action.yml | 16 +- .github/scripts/run_consensus.sh | 3 +- .github/scripts/run_e2e_test.sh | 4 + .github/workflows/build-and-push-cliain.yaml | 7 +- .github/workflows/build-node-and-runtime.yml | 1 + ...build-send-postsync-hook-runtime-image.yml | 9 +- .github/workflows/check-excluded-packages.yml | 1 + .github/workflows/e2e-tests-main-devnet.yml | 12 +- .github/workflows/nightly-pipeline.yaml | 73 +- .github/workflows/unit_tests.yml | 3 +- .gitmodules | 3 + Cargo.toml | 3 +- e2e-tests/Cargo.lock | 388 ++++- e2e-tests/Cargo.toml | 1 + e2e-tests/src/config.rs | 38 +- e2e-tests/src/lib.rs | 2 + e2e-tests/src/synthetic_network.rs | 24 + e2e-tests/src/test/high_latency.rs | 96 ++ e2e-tests/src/test/mod.rs | 2 + scripts/synthetic-network/README.md | 20 + .../build_synthetic-network.sh | 22 +- .../run_consensus_synthetic-network.sh | 24 +- .../run_script_for_synthetic-network.sh | 31 +- .../synthetic-link/Cargo.lock | 1319 +++++++++++++++++ .../synthetic-link/Cargo.toml | 17 + .../synthetic-link/src/lib.rs | 266 ++++ .../synthetic-link/src/main.rs | 34 + .../vendor/synthetic-network | 1 + shell.nix | 4 +- 29 files changed, 2350 insertions(+), 74 deletions(-) create mode 100644 .gitmodules create mode 100644 e2e-tests/src/synthetic_network.rs create mode 100644 e2e-tests/src/test/high_latency.rs create mode 100644 scripts/synthetic-network/synthetic-link/Cargo.lock create mode 100644 scripts/synthetic-network/synthetic-link/Cargo.toml create mode 100644 scripts/synthetic-network/synthetic-link/src/lib.rs create mode 100644 scripts/synthetic-network/synthetic-link/src/main.rs create mode 160000 scripts/synthetic-network/vendor/synthetic-network diff --git a/.github/actions/run-e2e-test/action.yml b/.github/actions/run-e2e-test/action.yml index f066979c56..ff15febb55 100644 --- a/.github/actions/run-e2e-test/action.yml +++ b/.github/actions/run-e2e-test/action.yml @@ -30,6 +30,18 @@ inputs: description: 'Whether to deploy the adder sample contract to the node.' required: false default: 'false' + image-path: + description: 'Custom path to docker image for aleph-node' + required: false + default: aleph-test-docker + node-image: + description: 'Custom name of aleph-node image' + required: false + default: aleph-node:latest + compose-file: + description: 'Custom docker-compose configuration' + required: false + default: '' runs: using: 'composite' @@ -38,7 +50,7 @@ runs: - name: Download artifact with docker image uses: actions/download-artifact@v2 with: - name: aleph-test-docker + name: ${{ inputs.image-path }} - name: Load node docker image shell: bash @@ -46,7 +58,7 @@ runs: - name: Run consensus party shell: bash - run: ./.github/scripts/run_consensus.sh -m ${{ inputs.min-validator-count }} -n ${{ inputs.node-count }} + run: NODE_IMAGE=${{ inputs.node-image }} DOCKER_COMPOSE=${{ inputs.compose-file }} ./.github/scripts/run_consensus.sh -m ${{ inputs.min-validator-count }} -n ${{ inputs.node-count }} - name: Sleep shell: bash diff --git a/.github/scripts/run_consensus.sh b/.github/scripts/run_consensus.sh index ca40484618..f5f82cbbfc 100755 --- a/.github/scripts/run_consensus.sh +++ b/.github/scripts/run_consensus.sh @@ -8,11 +8,12 @@ NODE_COUNT=5 MIN_VALIDATOR_COUNT=4 DOCKER_COMPOSE=${DOCKER_COMPOSE:-"docker/docker-compose.yml"} OVERRIDE_DOCKER_COMPOSE=${OVERRIDE_DOCKER_COMPOSE:-""} +NODE_IMAGE=${NODE_IMAGE:-aleph-node:latest} # default minimum validator count MIN_VALIDATOR_COUNT=4 -export NODE_IMAGE=aleph-node:latest +export NODE_IMAGE mkdir -p docker/data/ diff --git a/.github/scripts/run_e2e_test.sh b/.github/scripts/run_e2e_test.sh index 47dcdfa0d3..1e23eb5c76 100755 --- a/.github/scripts/run_e2e_test.sh +++ b/.github/scripts/run_e2e_test.sh @@ -116,6 +116,10 @@ if [[ -n "${ADDER:-}" ]]; then ARGS+=(-e "ADDER_METADATA=/contracts/adder/target/ink/metadata.json") fi +if [[ -n "${OUT_LATENCY:-}" ]]; then + ARGS+=(-e OUT_LATENCY) +fi + docker run -v "$(pwd)/contracts:/contracts" -v "$(pwd)/docker/data:/data" "${ARGS[@]}" aleph-e2e-client:latest exit $? diff --git a/.github/workflows/build-and-push-cliain.yaml b/.github/workflows/build-and-push-cliain.yaml index 32a2f983eb..ad77ef3cf5 100644 --- a/.github/workflows/build-and-push-cliain.yaml +++ b/.github/workflows/build-and-push-cliain.yaml @@ -21,6 +21,7 @@ jobs: uses: arduino/setup-protoc@v1 with: version: '3.6.1' + repo-token: ${{ secrets.GITHUB_TOKEN }} - name: Cargo | Build release binary run: | @@ -29,18 +30,18 @@ jobs: - name: GIT | Get branch name and commit SHA id: get_branch uses: ./.github/actions/get-branch - + - name: Login to ECR uses: docker/login-action@v1 with: registry: public.ecr.aws username: ${{ secrets.AWS_MAINNET_ACCESS_KEY_ID }} password: ${{ secrets.AWS_MAINNET_SECRET_ACCESS_KEY }} - + - name: Set up Docker Buildx id: buildx uses: docker/setup-buildx-action@master - + - name: Build and push latest docker image id: build-image env: diff --git a/.github/workflows/build-node-and-runtime.yml b/.github/workflows/build-node-and-runtime.yml index 4c9d4597b1..32415adf90 100644 --- a/.github/workflows/build-node-and-runtime.yml +++ b/.github/workflows/build-node-and-runtime.yml @@ -37,6 +37,7 @@ jobs: uses: arduino/setup-protoc@v1 with: version: '3.6.1' + repo-token: ${{ secrets.GITHUB_TOKEN }} - name: Install WASM target run: rustup target add wasm32-unknown-unknown diff --git a/.github/workflows/build-send-postsync-hook-runtime-image.yml b/.github/workflows/build-send-postsync-hook-runtime-image.yml index e66e0093cf..64485810a4 100644 --- a/.github/workflows/build-send-postsync-hook-runtime-image.yml +++ b/.github/workflows/build-send-postsync-hook-runtime-image.yml @@ -36,7 +36,8 @@ jobs: - name: Install Protoc uses: arduino/setup-protoc@v1 with: - version: '3.6.1' + version: '3.6.1' + repo-token: ${{ secrets.GITHUB_TOKEN }} - name: Build binary run: | @@ -76,7 +77,7 @@ jobs: docker tag ${{ env.ECR_PUSH_IMAGE }} ${{ env.ECR_LATEST }} docker push ${{ env.ECR_LATEST }} - + - name: GIT | Checkout aleph-apps repo uses: actions/checkout@master with: @@ -89,8 +90,8 @@ jobs: with: kustomize-version: "3.8.6" - - name: Update postsync hook docker image - env: + - name: Update postsync hook docker image + env: RELEASE_IMAGE: public.ecr.aws/p6e8q1z1/runtime-update-hook:${{ steps.vars.outputs.sha_short }} REGIONS_AWS: 'eu-central-1' run: | diff --git a/.github/workflows/check-excluded-packages.yml b/.github/workflows/check-excluded-packages.yml index 202fb804be..9eeb954a4e 100644 --- a/.github/workflows/check-excluded-packages.yml +++ b/.github/workflows/check-excluded-packages.yml @@ -31,6 +31,7 @@ jobs: uses: arduino/setup-protoc@v1 with: version: '3.6.1' + repo-token: ${{ secrets.GITHUB_TOKEN }} - name: Read excluded packages from Cargo.toml id: read_excluded diff --git a/.github/workflows/e2e-tests-main-devnet.yml b/.github/workflows/e2e-tests-main-devnet.yml index 839b64b956..70bb8fc8d9 100644 --- a/.github/workflows/e2e-tests-main-devnet.yml +++ b/.github/workflows/e2e-tests-main-devnet.yml @@ -68,7 +68,8 @@ jobs: - name: Install Protoc uses: arduino/setup-protoc@v1 with: - version: '3.6.1' + version: '3.6.1' + repo-token: ${{ secrets.GITHUB_TOKEN }} - name: Restore cache uses: ./.github/actions/restore-cache @@ -115,7 +116,8 @@ jobs: - name: Install Protoc uses: arduino/setup-protoc@v1 with: - version: '3.6.1' + version: '3.6.1' + repo-token: ${{ secrets.GITHUB_TOKEN }} - name: Install WASM target run: rustup target add wasm32-unknown-unknown @@ -153,7 +155,8 @@ jobs: - name: Install Protoc uses: arduino/setup-protoc@v1 with: - version: '3.6.1' + version: '3.6.1' + repo-token: ${{ secrets.GITHUB_TOKEN }} - name: Restore cache uses: ./.github/actions/restore-cache @@ -839,7 +842,8 @@ jobs: - name: Install Protoc uses: arduino/setup-protoc@v1 with: - version: '3.6.1' + version: '3.6.1' + repo-token: ${{ secrets.GITHUB_TOKEN }} - name: Install WASM target run: rustup target add wasm32-unknown-unknown diff --git a/.github/workflows/nightly-pipeline.yaml b/.github/workflows/nightly-pipeline.yaml index fe47743973..a426f97ffc 100644 --- a/.github/workflows/nightly-pipeline.yaml +++ b/.github/workflows/nightly-pipeline.yaml @@ -43,6 +43,37 @@ jobs: if-no-files-found: error retention-days: 7 + build-synthetic-network-docker: + needs: [build-test-docker] + name: Build docker image with the test node artifact and support for synthetic-network + runs-on: ubuntu-20.04 + steps: + - name: Checkout source code + uses: actions/checkout@v2 + + - name: Download artifact with docker image for aleph-node + uses: actions/download-artifact@v2 + with: + name: aleph-test-docker + + - name: Load node docker image + shell: bash + run: docker load -i aleph-node.tar + + - name: Build test docker image + id: build-image + run: | + scripts/synthetic-network/build_synthetic-network.sh + docker save -o aleph-node.tar aleph-node:syntheticnet + + - name: Upload test docker image + uses: actions/upload-artifact@v2 + with: + name: aleph-test-synthetic-docker + path: aleph-node.tar + if-no-files-found: error + retention-days: 7 + check-determinism: needs: [build-new-node] name: Verify runtime build determinism @@ -59,7 +90,8 @@ jobs: - name: Install Protoc uses: arduino/setup-protoc@v1 with: - version: '3.6.1' + version: '3.6.1' + repo-token: ${{ secrets.GITHUB_TOKEN }} - name: Install WASM target run: rustup target add wasm32-unknown-unknown @@ -96,7 +128,8 @@ jobs: - name: Install Protoc uses: arduino/setup-protoc@v1 with: - version: '3.6.1' + version: '3.6.1' + repo-token: ${{ secrets.GITHUB_TOKEN }} - name: Restore cache uses: ./.github/actions/restore-cache @@ -140,9 +173,45 @@ jobs: randomized: true timeout-minutes: 60 + run-e2e-high-out-latency: + needs: [build-synthetic-network-docker, build-test-client] + name: Run high out-latency test + runs-on: ubuntu-20.04 + steps: + - name: Checkout source code + uses: actions/checkout@v2 + + - name: Run e2e test + uses: ./.github/actions/run-e2e-test + with: + test-case: high_out_latency_for_all + image-path: aleph-test-synthetic-docker + node-image: aleph-node:syntheticnet + compose-file: docker/docker-compose.synthetic-network.yml + timeout-minutes: 30 + + run-e2e-no-quorum-without-high-out-latency: + needs: [build-synthetic-network-docker, build-test-client] + name: Run high out-latency for every quorum + runs-on: ubuntu-20.04 + steps: + - name: Checkout source code + uses: actions/checkout@v2 + + - name: Run e2e test + uses: ./.github/actions/run-e2e-test + with: + test-case: high_out_latency_for_each_quorum + image-path: aleph-test-synthetic-docker + node-image: aleph-node:syntheticnet + compose-file: docker/docker-compose.synthetic-network.yml + timeout-minutes: 15 + check-e2e-test-suite-completion: needs: [ run-e2e-authorities-are-staking, + run-e2e-high-out-latency, + run-e2e-no-quorum-without-high-out-latency, ] name: Check e2e test suite completion runs-on: ubuntu-20.04 diff --git a/.github/workflows/unit_tests.yml b/.github/workflows/unit_tests.yml index 7e3431687a..fa644dc1f2 100644 --- a/.github/workflows/unit_tests.yml +++ b/.github/workflows/unit_tests.yml @@ -30,7 +30,8 @@ jobs: - name: Install Protoc uses: arduino/setup-protoc@v1 with: - version: '3.6.1' + version: '3.6.1' + repo-token: ${{ secrets.GITHUB_TOKEN }} - name: Install clippy and fmt run: rustup component add clippy rustfmt diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000000..2a602c4b2c --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "scripts/synthetic-network/vendor/synthetic-network"] + path = scripts/synthetic-network/vendor/synthetic-network + url = https://github.com/daily-co/synthetic-network.git diff --git a/Cargo.toml b/Cargo.toml index 822e5fe487..d772088611 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -18,7 +18,8 @@ exclude = [ "fork-off", "benches/payout-stakers", "bin/cliain", - "contracts/adder" + "contracts/adder", + "scripts/synthetic-network/synthetic-link", ] [profile.release] diff --git a/e2e-tests/Cargo.lock b/e2e-tests/Cargo.lock index 24029e5fcb..faad2015b8 100644 --- a/e2e-tests/Cargo.lock +++ b/e2e-tests/Cargo.lock @@ -54,8 +54,8 @@ dependencies = [ "aleph_client", "anyhow", "assert2", - "clap", - "env_logger", + "clap 3.2.23", + "env_logger 0.8.4", "frame-support", "frame-system", "futures", @@ -73,6 +73,7 @@ dependencies = [ "serde_json", "sp-core 6.0.0", "sp-runtime 6.0.0", + "synthetic-link", "tokio", ] @@ -207,7 +208,7 @@ version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" dependencies = [ - "hermit-abi", + "hermit-abi 0.1.19", "libc", "winapi", ] @@ -412,8 +413,8 @@ checksum = "71655c45cb9845d3270c9d6df84ebe72b4dad3c2ba3f7023ad47c144e4e473a5" dependencies = [ "atty", "bitflags", - "clap_derive", - "clap_lex", + "clap_derive 3.2.18", + "clap_lex 0.2.4", "indexmap", "once_cell", "strsim", @@ -421,6 +422,21 @@ dependencies = [ "textwrap", ] +[[package]] +name = "clap" +version = "4.0.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4d63b9e9c07271b9957ad22c173bae2a4d9a81127680962039296abcd2f8251d" +dependencies = [ + "bitflags", + "clap_derive 4.0.21", + "clap_lex 0.3.0", + "is-terminal", + "once_cell", + "strsim", + "termcolor", +] + [[package]] name = "clap_derive" version = "3.2.18" @@ -434,6 +450,19 @@ dependencies = [ "syn", ] +[[package]] +name = "clap_derive" +version = "4.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0177313f9f02afc995627906bbd8967e2be069f5261954222dac78290c2b9014" +dependencies = [ + "heck", + "proc-macro-error", + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "clap_lex" version = "0.2.4" @@ -443,6 +472,15 @@ dependencies = [ "os_str_bytes", ] +[[package]] +name = "clap_lex" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d4198f73e42b4936b35b5bb248d81d2b595ecb170da0bac7655c54eedfa8da8" +dependencies = [ + "os_str_bytes", +] + [[package]] name = "codespan-reporting" version = "0.11.1" @@ -862,6 +900,15 @@ dependencies = [ "zeroize", ] +[[package]] +name = "encoding_rs" +version = "0.8.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9852635589dc9f9ea1b6fe9f05b50ef208c85c834a562f0c6abb1c475736ec2b" +dependencies = [ + "cfg-if", +] + [[package]] name = "env_logger" version = "0.8.4" @@ -875,12 +922,46 @@ dependencies = [ "termcolor", ] +[[package]] +name = "env_logger" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85cdab6a89accf66733ad5a1693a4dcced6aeff64602b634530dd73c1f3ee9f0" +dependencies = [ + "humantime", + "is-terminal", + "log", + "regex", + "termcolor", +] + [[package]] name = "environmental" version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e48c92028aaa870e83d51c64e5d4e0b6981b360c522198c23959f219a4e1b15b" +[[package]] +name = "errno" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f639046355ee4f37944e44f60642c6f3a7efa3cf6b78c78a0d989a8ce6c396a1" +dependencies = [ + "errno-dragonfly", + "libc", + "winapi", +] + +[[package]] +name = "errno-dragonfly" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf" +dependencies = [ + "cc", + "libc", +] + [[package]] name = "escape8259" version = "0.5.2" @@ -939,6 +1020,21 @@ version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" +[[package]] +name = "foreign-types" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" +dependencies = [ + "foreign-types-shared", +] + +[[package]] +name = "foreign-types-shared" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" + [[package]] name = "form_urlencoded" version = "1.1.0" @@ -1333,6 +1429,15 @@ dependencies = [ "libc", ] +[[package]] +name = "hermit-abi" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7" +dependencies = [ + "libc", +] + [[package]] name = "hex" version = "0.4.3" @@ -1450,6 +1555,19 @@ dependencies = [ "webpki-roots", ] +[[package]] +name = "hyper-tls" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905" +dependencies = [ + "bytes", + "hyper", + "native-tls", + "tokio", + "tokio-native-tls", +] + [[package]] name = "iana-time-zone" version = "0.1.53" @@ -1654,6 +1772,34 @@ dependencies = [ "num-traits", ] +[[package]] +name = "io-lifetimes" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46112a93252b123d31a119a8d1a1ac19deac4fac6e0e8b0df58f0d4e5870e63c" +dependencies = [ + "libc", + "windows-sys 0.42.0", +] + +[[package]] +name = "ipnet" +version = "2.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11b0d96e660696543b251e58030cf9787df56da39dab19ad60eae7353040917e" + +[[package]] +name = "is-terminal" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "927609f78c2913a6f6ac3c27a4fe87f43e2a35367c0c4b0f8265e8f49a104330" +dependencies = [ + "hermit-abi 0.2.6", + "io-lifetimes", + "rustix", + "windows-sys 0.42.0", +] + [[package]] name = "itertools" version = "0.10.5" @@ -1879,6 +2025,12 @@ dependencies = [ "statrs", ] +[[package]] +name = "linux-raw-sys" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4" + [[package]] name = "lock_api" version = "0.4.9" @@ -1978,6 +2130,12 @@ dependencies = [ "zeroize", ] +[[package]] +name = "mime" +version = "0.3.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a60c7ce501c71e03a9c9c0d35b861413ae925bd979cc7a4e30d060069aaac8d" + [[package]] name = "minimal-lexical" version = "0.2.1" @@ -2034,6 +2192,24 @@ dependencies = [ "syn", ] +[[package]] +name = "native-tls" +version = "0.2.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e" +dependencies = [ + "lazy_static", + "libc", + "log", + "openssl", + "openssl-probe", + "openssl-sys", + "schannel", + "security-framework", + "security-framework-sys", + "tempfile", +] + [[package]] name = "nohash-hasher" version = "0.2.0" @@ -2131,7 +2307,7 @@ version = "1.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f6058e64324c71e02bc2b150e4f3bc8286db6c83092132ffa3f6b1eab0f9def5" dependencies = [ - "hermit-abi", + "hermit-abi 0.1.19", "libc", ] @@ -2162,12 +2338,51 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" +[[package]] +name = "openssl" +version = "0.10.44" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29d971fd5722fec23977260f6e81aa67d2f22cadbdc2aa049f1022d9a3be1566" +dependencies = [ + "bitflags", + "cfg-if", + "foreign-types", + "libc", + "once_cell", + "openssl-macros", + "openssl-sys", +] + +[[package]] +name = "openssl-macros" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b501e44f11665960c7e7fcf062c7d96a14ade4aa98116c004b2e37b5be7d736c" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "openssl-probe" version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" +[[package]] +name = "openssl-sys" +version = "0.9.79" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5454462c0eced1e97f2ec09036abc8da362e66802f66fd20f86854d9d8cbcbc4" +dependencies = [ + "autocfg", + "cc", + "libc", + "pkg-config", + "vcpkg", +] + [[package]] name = "os_str_bytes" version = "6.4.1" @@ -2468,6 +2683,12 @@ dependencies = [ "zeroize", ] +[[package]] +name = "pkg-config" +version = "0.3.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ac9a59f73473f1b8d852421e59e64809f025994837ef743615c6d0c5b305160" + [[package]] name = "ppv-lite86" version = "0.2.17" @@ -2736,6 +2957,52 @@ version = "0.6.28" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848" +[[package]] +name = "remove_dir_all" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7" +dependencies = [ + "winapi", +] + +[[package]] +name = "reqwest" +version = "0.11.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68cc60575865c7831548863cc02356512e3f1dc2f3f82cb837d7fc4cc8f3c97c" +dependencies = [ + "base64", + "bytes", + "encoding_rs", + "futures-core", + "futures-util", + "h2", + "http", + "http-body", + "hyper", + "hyper-tls", + "ipnet", + "js-sys", + "log", + "mime", + "native-tls", + "once_cell", + "percent-encoding", + "pin-project-lite", + "serde", + "serde_json", + "serde_urlencoded", + "tokio", + "tokio-native-tls", + "tower-service", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "winreg", +] + [[package]] name = "rfc6979" version = "0.1.0" @@ -2795,6 +3062,20 @@ dependencies = [ "semver", ] +[[package]] +name = "rustix" +version = "0.36.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4feacf7db682c6c329c4ede12649cd36ecab0f3be5b7d74e6a20304725db4549" +dependencies = [ + "bitflags", + "errno", + "io-lifetimes", + "libc", + "linux-raw-sys", + "windows-sys 0.42.0", +] + [[package]] name = "rustls" version = "0.20.7" @@ -3059,6 +3340,29 @@ dependencies = [ "serde", ] +[[package]] +name = "serde_repr" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a5ec9fa74a20ebbe5d9ac23dac1fc96ba0ecfe9f50f2843b52e537b10fbcb4e" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "serde_urlencoded" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" +dependencies = [ + "form_urlencoded", + "itoa", + "ryu", + "serde", +] + [[package]] name = "sha-1" version = "0.9.8" @@ -4171,12 +4475,41 @@ dependencies = [ "unicode-xid", ] +[[package]] +name = "synthetic-link" +version = "0.1.0" +dependencies = [ + "anyhow", + "clap 4.0.29", + "env_logger 0.10.0", + "log", + "reqwest", + "serde", + "serde_json", + "serde_repr", + "tokio", +] + [[package]] name = "tap" version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" +[[package]] +name = "tempfile" +version = "3.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5cdb1ef4eaeeaddc8fbd371e5017057064af0911902ef36b39801f67cc6d79e4" +dependencies = [ + "cfg-if", + "fastrand", + "libc", + "redox_syscall", + "remove_dir_all", + "winapi", +] + [[package]] name = "termcolor" version = "1.1.3" @@ -4257,9 +4590,9 @@ checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" [[package]] name = "tokio" -version = "1.22.0" +version = "1.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d76ce4a75fb488c605c54bf610f221cea8b0dafb53333c1a67e8ee199dcd2ae3" +checksum = "eab6d665857cc6ca78d6e80303a02cea7a7851e85dfbd77cbdc09bd129f1ef46" dependencies = [ "autocfg", "bytes", @@ -4272,7 +4605,7 @@ dependencies = [ "signal-hook-registry", "socket2", "tokio-macros", - "winapi", + "windows-sys 0.42.0", ] [[package]] @@ -4286,6 +4619,16 @@ dependencies = [ "syn", ] +[[package]] +name = "tokio-native-tls" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7d995660bd2b7f8c1568414c1126076c13fbb725c40112dc0120b78eb9b717b" +dependencies = [ + "native-tls", + "tokio", +] + [[package]] name = "tokio-rustls" version = "0.23.4" @@ -4524,6 +4867,12 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" +[[package]] +name = "vcpkg" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" + [[package]] name = "version_check" version = "0.9.4" @@ -4583,6 +4932,18 @@ dependencies = [ "wasm-bindgen-shared", ] +[[package]] +name = "wasm-bindgen-futures" +version = "0.4.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23639446165ca5a5de86ae1d8896b737ae80319560fbaa4c2887b7da6e7ebd7d" +dependencies = [ + "cfg-if", + "js-sys", + "wasm-bindgen", + "web-sys", +] + [[package]] name = "wasm-bindgen-macro" version = "0.2.83" @@ -4805,6 +5166,15 @@ version = "0.42.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f40009d85759725a34da6d89a94e63d7bdc50a862acf0dbc7c8e488f1edcb6f5" +[[package]] +name = "winreg" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "80d0f4e272c85def139476380b12f9ac60926689dd2e01d4923222f40580869d" +dependencies = [ + "winapi", +] + [[package]] name = "wyz" version = "0.5.1" diff --git a/e2e-tests/Cargo.toml b/e2e-tests/Cargo.toml index 0cb8cb0be4..edc7a56303 100644 --- a/e2e-tests/Cargo.toml +++ b/e2e-tests/Cargo.toml @@ -30,6 +30,7 @@ pallet-balances = { git = "https://github.com/Cardinal-Cryptography/substrate.gi aleph_client = { path = "../aleph-client" } primitives = { path = "../primitives", features = ["short_session"], default-features = false } pallet-elections = { path = "../pallets/elections" } +synthetic-link = { path = "../scripts/synthetic-network/synthetic-link" } [features] default = ["std"] diff --git a/e2e-tests/src/config.rs b/e2e-tests/src/config.rs index d2a53c2c00..10d781bd4f 100644 --- a/e2e-tests/src/config.rs +++ b/e2e-tests/src/config.rs @@ -27,6 +27,10 @@ static GLOBAL_CONFIG: Lazy = Lazy::new(|| { upgrade_finalization_wait_sessions: get_env("UPGRADE_FINALIZATION_WAIT_SESSIONS"), adder: get_env("ADDER"), adder_metadata: get_env("ADDER_METADATA"), + out_latency: get_env("OUT_LATENCY"), + synthetic_network_urls: env::var("SYNTHETIC_URLS") + .ok() + .map(|s| s.split(',').map(|s| s.to_string()).collect()), }, } }); @@ -34,7 +38,7 @@ static GLOBAL_CONFIG: Lazy = Lazy::new(|| { fn get_env(name: &str) -> Option where T: FromStr, - ::Err: std::fmt::Debug, + T::Err: std::fmt::Debug, { env::var(name).ok().map(|v| { v.parse() @@ -82,6 +86,23 @@ impl Config { RootConnection::new(&self.node, sudo_keypair).await.unwrap() } + pub fn validator_names<'a>(&'a self) -> Vec { + (0..self.validator_count) + .map(|id| format!("Node{}", id)) + .collect() + } + + pub fn synthetic_network_urls(&self) -> Vec { + match &self.test_case_params.synthetic_network_urls { + Some(urls) => urls.clone(), + None => self + .validator_names() + .into_iter() + .map(|node_name| format!("http://{}:80/qos", node_name)) + .collect(), + } + } + /// Get a `SignedConnection` where the signer is the first validator. pub async fn get_first_signed_connection(&self) -> SignedConnection { let node = &self.node; @@ -89,6 +110,15 @@ impl Config { let sender = accounts.remove(0); SignedConnection::new(node, sender).await } + + pub async fn create_signed_connections(&self) -> Vec { + futures::future::join_all( + get_validators_keys(self) + .into_iter() + .map(|account| async { SignedConnection::new(&self.node, account).await }), + ) + .await + } } /// Parameters which can be passed to test cases. @@ -114,4 +144,10 @@ pub struct TestCaseParams { /// Adder contract metadata. pub adder_metadata: Option, + + /// Milliseconds of network latency + pub out_latency: Option, + + /// List of URLs for the configuration endpoints of the synthetic-network + pub synthetic_network_urls: Option>, } diff --git a/e2e-tests/src/lib.rs b/e2e-tests/src/lib.rs index 9f150c60b8..1bf9a76cfd 100644 --- a/e2e-tests/src/lib.rs +++ b/e2e-tests/src/lib.rs @@ -9,6 +9,8 @@ mod elections; #[cfg(test)] mod rewards; #[cfg(test)] +mod synthetic_network; +#[cfg(test)] mod test; #[cfg(test)] mod transfer; diff --git a/e2e-tests/src/synthetic_network.rs b/e2e-tests/src/synthetic_network.rs new file mode 100644 index 0000000000..51692bc591 --- /dev/null +++ b/e2e-tests/src/synthetic_network.rs @@ -0,0 +1,24 @@ +use log::info; +use synthetic_link::SyntheticNetworkClient; + +pub type Milliseconds = u64; + +pub async fn set_out_latency(milliseconds: Milliseconds, synthetic_url: String) { + info!( + "setting out-latency of node {} to {}ms", + synthetic_url, milliseconds + ); + info!("creating an http client for url {}", synthetic_url); + let mut client = SyntheticNetworkClient::new(synthetic_url); + let mut config = client + .load_config() + .await + .expect("we should be able to download config of the synthetic-network "); + + config.default_link.egress.latency = milliseconds; + + client + .commit_config(&config) + .await + .expect("unable to commit network configuration"); +} diff --git a/e2e-tests/src/test/high_latency.rs b/e2e-tests/src/test/high_latency.rs new file mode 100644 index 0000000000..0c60b0bec8 --- /dev/null +++ b/e2e-tests/src/test/high_latency.rs @@ -0,0 +1,96 @@ +use std::cmp::max; + +use aleph_client::{ + pallets::session::SessionApi, + waiting::{AlephWaiting, BlockStatus}, +}; +use log::info; + +use crate::{config::setup_test, synthetic_network::set_out_latency}; + +const OUT_LATENCY: u64 = 500; + +/// Test if nodes are able to proceed despite high latency. More precisely, it first awaits predefined number of sessions, sets +/// egress-latency for each node using same value (default is 500 milliseconds) and verifies if after it was able to proceed two +/// more sessions. +#[tokio::test] +pub async fn high_out_latency_for_all() -> anyhow::Result<()> { + let config = setup_test(); + let out_latency = config.test_case_params.out_latency.unwrap_or(OUT_LATENCY); + + let connections = config.create_signed_connections().await; + info!("waiting for at least session 3"); + for connection in &connections { + if connection.get_session(None).await < 3 { + connection.wait_for_session(3, BlockStatus::Finalized).await; + } + } + + info!("setting out-latency"); + for synthetic_url in config.synthetic_network_urls() { + info!( + "setting out-latency of node {} to {}", + synthetic_url, out_latency + ); + set_out_latency(out_latency, synthetic_url).await; + } + + let mut max_session = 0; + for connection in &connections { + let node_session = connection.get_session(None).await; + max_session = max(max_session, node_session); + } + info!("current session is {}", max_session); + + for connection in connections { + connection + .wait_for_session(max_session + 2, BlockStatus::Finalized) + .await; + } + Ok(()) +} + +/// Test if nodes are able to proceed despite high latency, but set only for a subset of nodes. More precisely, it first awaits +/// predefined number of sessions, sets egress-latency for 1/3n of nodes using same value (default is 500 milliseconds) and +/// verifies if after it was able to proceed two more sessions. +#[tokio::test] +pub async fn high_out_latency_for_each_quorum() -> anyhow::Result<()> { + let config = setup_test(); + let out_latency = config.test_case_params.out_latency.unwrap_or(OUT_LATENCY); + + let connections = config.create_signed_connections().await; + info!("waiting for at least session 3"); + for connection in &connections { + if connection.get_session(None).await < 3 { + connection.wait_for_session(3, BlockStatus::Finalized).await; + } + } + + info!("setting out-latency"); + for synthetic_url in config + .synthetic_network_urls() + .into_iter() + .take(((config.validator_count - 1) / 3 + 1) as usize) + { + info!( + "setting out-latency of node {} to {}", + synthetic_url, out_latency + ); + set_out_latency(out_latency, synthetic_url).await; + } + + let mut max_session = 0; + for connection in &connections { + let node_session = connection.get_session(None).await; + max_session = max(max_session, node_session); + } + info!("current session is {}", max_session); + + info!("waiting for session {}", max_session + 2); + for connection in connections { + connection + .wait_for_session(max_session + 2, BlockStatus::Finalized) + .await; + } + Ok(()) +} diff --git a/e2e-tests/src/test/mod.rs b/e2e-tests/src/test/mod.rs index afadd91b9f..367ae28eda 100644 --- a/e2e-tests/src/test/mod.rs +++ b/e2e-tests/src/test/mod.rs @@ -6,6 +6,7 @@ pub use era_payout::era_payouts_calculated_correctly; pub use era_validators::era_validators; pub use fee::fee_calculation; pub use finalization::finalization; +pub use high_latency::{high_out_latency_for_all, high_out_latency_for_each_quorum}; pub use rewards::{ change_stake_and_force_new_era, disable_node, force_new_era, points_basic, points_stake_change, }; @@ -26,6 +27,7 @@ mod era_validators; mod fee; mod finalization; mod helpers; +mod high_latency; mod rewards; mod staking; mod transfer; diff --git a/scripts/synthetic-network/README.md b/scripts/synthetic-network/README.md index ce2897ea5a..836457f996 100644 --- a/scripts/synthetic-network/README.md +++ b/scripts/synthetic-network/README.md @@ -19,3 +19,23 @@ interact with its web-ui. Additionally, this folder contains an example .js script introducing API of the synthetic-network. You can use it by executing `run_script_for_synthetic-network.sh --script-path ./latency.js`. +# How to run e2e-tests that use synthetic-network + +All following commands are run from within root folder of this repository. + +```shell +# build aleph-node docker-image +# it assumes that aleph-node binary is stored at ./target/release/aleph-node +docker build -t aleph-node:latest -f docker/Dockerfile . + +# run synthetic-network with aleph-node using docker-compose +# by default, it should build for you a docker-image for synthetic-network +# consult its help for available options +./scripts/synthetic-network/run_consensus_synthetic-network.sh + +# run e2e-tests +cd e2e-tests +# set an ENV variable required by the e2e-test, namely a list of URLs for synthetic-network configuration endpoints +export SYNTHETIC_URLS="http://localhost:3000/qos,http://localhost:3001/qos,http://localhost:3002/qos,http://localhost:3003/qos,http://localhost:3004/qos" +cargo test latency +``` diff --git a/scripts/synthetic-network/build_synthetic-network.sh b/scripts/synthetic-network/build_synthetic-network.sh index ddb803829c..e25eb456c8 100755 --- a/scripts/synthetic-network/build_synthetic-network.sh +++ b/scripts/synthetic-network/build_synthetic-network.sh @@ -4,27 +4,17 @@ set -euo pipefail source ./scripts/common.sh -GIT_COMMIT=${GIT_COMMIT:-72bbb4fde915e4132c19cd7ce3605364abac58a5} +UPDATE=${UPDATE:-true} -TMPDIR="$(dirname $0)/vendor" -mkdir -p $TMPDIR -log "created a temporary folder at $TMPDIR" +if [[ "$UPDATE" = true ]]; then + git submodule init + git submodule update +fi pushd . - -log "cloning synthetic-network's git repo" -cd $TMPDIR -if [[ ! -d ./synthetic-network ]]; then - git clone https://github.com/daily-co/synthetic-network.git -fi -cd synthetic-network -git fetch origin -git checkout $GIT_COMMIT +cd scripts/synthetic-network/vendor/synthetic-network log "building base docker image for synthetic-network with support for synthetic-network" -log "patching synthetic network" -# aleph-node crashes since it uses newer glibc than this image -sed -i 's/FROM node:12.20.2/FROM node:19.2/' Dockerfile docker build -t syntheticnet . popd diff --git a/scripts/synthetic-network/run_consensus_synthetic-network.sh b/scripts/synthetic-network/run_consensus_synthetic-network.sh index 9c66c4d0f4..6cc4522217 100755 --- a/scripts/synthetic-network/run_consensus_synthetic-network.sh +++ b/scripts/synthetic-network/run_consensus_synthetic-network.sh @@ -15,17 +15,16 @@ Usage: IMPORTANT: this script requires aleph-node:latest docker image. --no-build-image skip docker image build - --commit 72bbb4fde915e4132c19cd7ce3605364abac58a5 - commit hash used to build synthetic-network, default is 72bbb4fde915e4132c19cd7ce3605364abac58a5 + --no-update + skip git-submodule update for the synthetic-network repository EOF exit 0 } function build_test_image() { - local commit=$1 - local path=$2 + local path=$1 - GIT_COMMIT=$commit ${path}/build_synthetic-network.sh + ${path}/build_synthetic-network.sh } while [[ $# -gt 0 ]]; do @@ -34,9 +33,9 @@ while [[ $# -gt 0 ]]; do BUILD_IMAGE=false shift ;; - --commit) - GIT_COMMIT="$2" - shift;shift + --no-update) + UPDATE=false + shift ;; --help) usage @@ -49,12 +48,17 @@ while [[ $# -gt 0 ]]; do done BUILD_IMAGE=${BUILD_IMAGE:-true} -GIT_COMMIT=${GIT_COMMIT:-72bbb4fde915e4132c19cd7ce3605364abac58a5} +UPDATE=${UPDATE:-true} + +if [[ "$UPDATE" = true ]]; then + git submodule init + git submodule update +fi if [[ "$BUILD_IMAGE" = true ]]; then log "building custom docker image for synthetic-network tests" path=$(dirname $0) - build_test_image $GIT_COMMIT $path + build_test_image $path fi log "running synthetic-network" diff --git a/scripts/synthetic-network/run_script_for_synthetic-network.sh b/scripts/synthetic-network/run_script_for_synthetic-network.sh index b8b44d98c3..419df5ad4b 100755 --- a/scripts/synthetic-network/run_script_for_synthetic-network.sh +++ b/scripts/synthetic-network/run_script_for_synthetic-network.sh @@ -12,25 +12,25 @@ Usage: IMPORTANT: first you need to call 'scripts/run_consensus_synthetic-network.sh' and let it run in background. It spawns docker-compose configured with synthetic-network. It requires node.js to run. - --commit 72bbb4fde915e4132c19cd7ce3605364abac58a5 - commit hash used to build synthetic-network, default is 72bbb4fde915e4132c19cd7ce3605364abac58a5 --script-path scripts/vendor/synthetic-network/frontend/udp_rate_sine_demo.js path to a synthetic-network scrypt. Default is a demo scripts/vendor/synthetic-network/frontend/udp_rate_sine_demo.js from the synthetic-network repo. Please consult synthetic-network repo for details: https://github.com/daily-co/synthetic-network + --no-update + skip git-submodule update for the synthetic-network repository EOF exit 0 } while [[ $# -gt 0 ]]; do case $1 in - --commit) - GIT_COMMIT="$2" - shift;shift - ;; --script-path) SCRIPT_PATH="$2" shift;shift ;; + --no-update) + UPDATE=false + shift + ;; --help) usage shift @@ -41,23 +41,16 @@ while [[ $# -gt 0 ]]; do esac done -GIT_COMMIT=${GIT_COMMIT:-72bbb4fde915e4132c19cd7ce3605364abac58a5} SCRIPT_PATH=${SCRIPT_PATH:-scripts/vendor/synthetic-network/frontend/udp_rate_sine_demo.js} SCRIPT_PATH=$(realpath $SCRIPT_PATH) +UPDATE=${UPDATE:-true} -TMPDIR="$(dirname $0)/vendor" -mkdir -p $TMPDIR -log "created a temporary folder at $TMPDIR" - -log "cloning synthetic-network's git repo" -cd $TMPDIR -if [[ ! -d ./synthetic-network ]]; then - git clone https://github.com/daily-co/synthetic-network.git +if [[ "$UPDATE" = true ]]; then + git submodule init + git submodule update fi -cd synthetic-network -git fetch origin -git checkout $GIT_COMMIT -cd frontend + +cd synthetic-network/frontend log "running .js script" node $SCRIPT_PATH ${@:1} diff --git a/scripts/synthetic-network/synthetic-link/Cargo.lock b/scripts/synthetic-network/synthetic-link/Cargo.lock new file mode 100644 index 0000000000..c583cf2385 --- /dev/null +++ b/scripts/synthetic-network/synthetic-link/Cargo.lock @@ -0,0 +1,1319 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "aho-corasick" +version = "0.7.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac" +dependencies = [ + "memchr", +] + +[[package]] +name = "anyhow" +version = "1.0.66" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "216261ddc8289130e551ddcd5ce8a064710c0d064a4d2895c67151c92b5443f6" + +[[package]] +name = "autocfg" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" + +[[package]] +name = "base64" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" + +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + +[[package]] +name = "bumpalo" +version = "3.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "572f695136211188308f16ad2ca5c851a712c464060ae6974944458eb83880ba" + +[[package]] +name = "bytes" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dfb24e866b15a1af2a1b663f10c6b6b8f397a84aadb828f12e5b289ec23a3a3c" + +[[package]] +name = "cc" +version = "1.0.77" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e9f73505338f7d905b19d18738976aae232eb46b8efc15554ffc56deb5d9ebe4" + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "clap" +version = "4.0.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4d63b9e9c07271b9957ad22c173bae2a4d9a81127680962039296abcd2f8251d" +dependencies = [ + "bitflags", + "clap_derive", + "clap_lex", + "is-terminal", + "once_cell", + "strsim", + "termcolor", +] + +[[package]] +name = "clap_derive" +version = "4.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0177313f9f02afc995627906bbd8967e2be069f5261954222dac78290c2b9014" +dependencies = [ + "heck", + "proc-macro-error", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "clap_lex" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d4198f73e42b4936b35b5bb248d81d2b595ecb170da0bac7655c54eedfa8da8" +dependencies = [ + "os_str_bytes", +] + +[[package]] +name = "core-foundation" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "core-foundation-sys" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc" + +[[package]] +name = "encoding_rs" +version = "0.8.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9852635589dc9f9ea1b6fe9f05b50ef208c85c834a562f0c6abb1c475736ec2b" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "env_logger" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85cdab6a89accf66733ad5a1693a4dcced6aeff64602b634530dd73c1f3ee9f0" +dependencies = [ + "humantime", + "is-terminal", + "log", + "regex", + "termcolor", +] + +[[package]] +name = "errno" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f639046355ee4f37944e44f60642c6f3a7efa3cf6b78c78a0d989a8ce6c396a1" +dependencies = [ + "errno-dragonfly", + "libc", + "winapi", +] + +[[package]] +name = "errno-dragonfly" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf" +dependencies = [ + "cc", + "libc", +] + +[[package]] +name = "fastrand" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7a407cfaa3385c4ae6b23e84623d48c2798d06e3e6a1878f7f59f17b3f86499" +dependencies = [ + "instant", +] + +[[package]] +name = "fnv" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" + +[[package]] +name = "foreign-types" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" +dependencies = [ + "foreign-types-shared", +] + +[[package]] +name = "foreign-types-shared" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" + +[[package]] +name = "form_urlencoded" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8" +dependencies = [ + "percent-encoding", +] + +[[package]] +name = "futures-channel" +version = "0.3.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52ba265a92256105f45b719605a571ffe2d1f0fea3807304b522c1d778f79eed" +dependencies = [ + "futures-core", +] + +[[package]] +name = "futures-core" +version = "0.3.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04909a7a7e4633ae6c4a9ab280aeb86da1236243a77b694a49eacd659a4bd3ac" + +[[package]] +name = "futures-sink" +version = "0.3.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "39c15cf1a4aa79df40f1bb462fb39676d0ad9e366c2a33b590d7c66f4f81fcf9" + +[[package]] +name = "futures-task" +version = "0.3.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2ffb393ac5d9a6eaa9d3fdf37ae2776656b706e200c8e16b1bdb227f5198e6ea" + +[[package]] +name = "futures-util" +version = "0.3.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "197676987abd2f9cadff84926f410af1c183608d36641465df73ae8211dc65d6" +dependencies = [ + "futures-core", + "futures-task", + "pin-project-lite", + "pin-utils", +] + +[[package]] +name = "h2" +version = "0.3.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f9f29bc9dda355256b2916cf526ab02ce0aeaaaf2bad60d65ef3f12f11dd0f4" +dependencies = [ + "bytes", + "fnv", + "futures-core", + "futures-sink", + "futures-util", + "http", + "indexmap", + "slab", + "tokio", + "tokio-util", + "tracing", +] + +[[package]] +name = "hashbrown" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" + +[[package]] +name = "heck" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9" + +[[package]] +name = "hermit-abi" +version = "0.1.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" +dependencies = [ + "libc", +] + +[[package]] +name = "hermit-abi" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7" +dependencies = [ + "libc", +] + +[[package]] +name = "http" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75f43d41e26995c17e71ee126451dd3941010b0514a81a9d11f3b341debc2399" +dependencies = [ + "bytes", + "fnv", + "itoa", +] + +[[package]] +name = "http-body" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1" +dependencies = [ + "bytes", + "http", + "pin-project-lite", +] + +[[package]] +name = "httparse" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" + +[[package]] +name = "httpdate" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421" + +[[package]] +name = "humantime" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" + +[[package]] +name = "hyper" +version = "0.14.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "034711faac9d2166cb1baf1a2fb0b60b1f277f8492fd72176c17f3515e1abd3c" +dependencies = [ + "bytes", + "futures-channel", + "futures-core", + "futures-util", + "h2", + "http", + "http-body", + "httparse", + "httpdate", + "itoa", + "pin-project-lite", + "socket2", + "tokio", + "tower-service", + "tracing", + "want", +] + +[[package]] +name = "hyper-tls" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905" +dependencies = [ + "bytes", + "hyper", + "native-tls", + "tokio", + "tokio-native-tls", +] + +[[package]] +name = "idna" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6" +dependencies = [ + "unicode-bidi", + "unicode-normalization", +] + +[[package]] +name = "indexmap" +version = "1.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399" +dependencies = [ + "autocfg", + "hashbrown", +] + +[[package]] +name = "instant" +version = "0.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "io-lifetimes" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46112a93252b123d31a119a8d1a1ac19deac4fac6e0e8b0df58f0d4e5870e63c" +dependencies = [ + "libc", + "windows-sys 0.42.0", +] + +[[package]] +name = "ipnet" +version = "2.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec947b7a4ce12e3b87e353abae7ce124d025b6c7d6c5aea5cc0bcf92e9510ded" + +[[package]] +name = "is-terminal" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "927609f78c2913a6f6ac3c27a4fe87f43e2a35367c0c4b0f8265e8f49a104330" +dependencies = [ + "hermit-abi 0.2.6", + "io-lifetimes", + "rustix", + "windows-sys 0.42.0", +] + +[[package]] +name = "itoa" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4217ad341ebadf8d8e724e264f13e593e0648f5b3e94b3896a5df283be015ecc" + +[[package]] +name = "js-sys" +version = "0.3.60" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49409df3e3bf0856b916e2ceaca09ee28e6871cf7d9ce97a692cacfdb2a25a47" +dependencies = [ + "wasm-bindgen", +] + +[[package]] +name = "lazy_static" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" + +[[package]] +name = "libc" +version = "0.2.138" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db6d7e329c562c5dfab7a46a2afabc8b987ab9a4834c9d1ca04dc54c1546cef8" + +[[package]] +name = "linux-raw-sys" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f9f08d8963a6c613f4b1a78f4f4a4dbfadf8e6545b2d72861731e4858b8b47f" + +[[package]] +name = "lock_api" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df" +dependencies = [ + "autocfg", + "scopeguard", +] + +[[package]] +name = "log" +version = "0.4.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "memchr" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" + +[[package]] +name = "mime" +version = "0.3.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a60c7ce501c71e03a9c9c0d35b861413ae925bd979cc7a4e30d060069aaac8d" + +[[package]] +name = "mio" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5d732bc30207a6423068df043e3d02e0735b155ad7ce1a6f76fe2baa5b158de" +dependencies = [ + "libc", + "log", + "wasi", + "windows-sys 0.42.0", +] + +[[package]] +name = "native-tls" +version = "0.2.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e" +dependencies = [ + "lazy_static", + "libc", + "log", + "openssl", + "openssl-probe", + "openssl-sys", + "schannel", + "security-framework", + "security-framework-sys", + "tempfile", +] + +[[package]] +name = "num_cpus" +version = "1.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6058e64324c71e02bc2b150e4f3bc8286db6c83092132ffa3f6b1eab0f9def5" +dependencies = [ + "hermit-abi 0.1.19", + "libc", +] + +[[package]] +name = "once_cell" +version = "1.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86f0b0d4bf799edbc74508c1e8bf170ff5f41238e5f8225603ca7caaae2b7860" + +[[package]] +name = "openssl" +version = "0.10.44" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29d971fd5722fec23977260f6e81aa67d2f22cadbdc2aa049f1022d9a3be1566" +dependencies = [ + "bitflags", + "cfg-if", + "foreign-types", + "libc", + "once_cell", + "openssl-macros", + "openssl-sys", +] + +[[package]] +name = "openssl-macros" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b501e44f11665960c7e7fcf062c7d96a14ade4aa98116c004b2e37b5be7d736c" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "openssl-probe" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" + +[[package]] +name = "openssl-sys" +version = "0.9.79" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5454462c0eced1e97f2ec09036abc8da362e66802f66fd20f86854d9d8cbcbc4" +dependencies = [ + "autocfg", + "cc", + "libc", + "pkg-config", + "vcpkg", +] + +[[package]] +name = "os_str_bytes" +version = "6.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee" + +[[package]] +name = "parking_lot" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" +dependencies = [ + "lock_api", + "parking_lot_core", +] + +[[package]] +name = "parking_lot_core" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ff9f3fef3968a3ec5945535ed654cb38ff72d7495a25619e2247fb15a2ed9ba" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall", + "smallvec", + "windows-sys 0.42.0", +] + +[[package]] +name = "percent-encoding" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e" + +[[package]] +name = "pin-project-lite" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116" + +[[package]] +name = "pin-utils" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" + +[[package]] +name = "pkg-config" +version = "0.3.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ac9a59f73473f1b8d852421e59e64809f025994837ef743615c6d0c5b305160" + +[[package]] +name = "proc-macro-error" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" +dependencies = [ + "proc-macro-error-attr", + "proc-macro2", + "quote", + "syn", + "version_check", +] + +[[package]] +name = "proc-macro-error-attr" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" +dependencies = [ + "proc-macro2", + "quote", + "version_check", +] + +[[package]] +name = "proc-macro2" +version = "1.0.47" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ea3d908b0e36316caf9e9e2c4625cdde190a7e6f440d794667ed17a1855e725" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quote" +version = "1.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbe448f377a7d6961e30f5955f9b8d106c3f5e449d493ee1b125c1d43c2b5179" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "redox_syscall" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" +dependencies = [ + "bitflags", +] + +[[package]] +name = "regex" +version = "1.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e076559ef8e241f2ae3479e36f97bd5741c0330689e217ad51ce2c76808b868a" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.6.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848" + +[[package]] +name = "remove_dir_all" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7" +dependencies = [ + "winapi", +] + +[[package]] +name = "reqwest" +version = "0.11.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68cc60575865c7831548863cc02356512e3f1dc2f3f82cb837d7fc4cc8f3c97c" +dependencies = [ + "base64", + "bytes", + "encoding_rs", + "futures-core", + "futures-util", + "h2", + "http", + "http-body", + "hyper", + "hyper-tls", + "ipnet", + "js-sys", + "log", + "mime", + "native-tls", + "once_cell", + "percent-encoding", + "pin-project-lite", + "serde", + "serde_json", + "serde_urlencoded", + "tokio", + "tokio-native-tls", + "tower-service", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "winreg", +] + +[[package]] +name = "rustix" +version = "0.36.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3807b5d10909833d3e9acd1eb5fb988f79376ff10fce42937de71a449c4c588" +dependencies = [ + "bitflags", + "errno", + "io-lifetimes", + "libc", + "linux-raw-sys", + "windows-sys 0.42.0", +] + +[[package]] +name = "ryu" +version = "1.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4501abdff3ae82a1c1b477a17252eb69cee9e66eb915c1abaa4f44d873df9f09" + +[[package]] +name = "schannel" +version = "0.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88d6731146462ea25d9244b2ed5fd1d716d25c52e4d54aa4fb0f3c4e9854dbe2" +dependencies = [ + "lazy_static", + "windows-sys 0.36.1", +] + +[[package]] +name = "scopeguard" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" + +[[package]] +name = "security-framework" +version = "2.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2bc1bb97804af6631813c55739f771071e0f2ed33ee20b68c86ec505d906356c" +dependencies = [ + "bitflags", + "core-foundation", + "core-foundation-sys", + "libc", + "security-framework-sys", +] + +[[package]] +name = "security-framework-sys" +version = "2.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0160a13a177a45bfb43ce71c01580998474f556ad854dcbca936dd2841a5c556" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "serde" +version = "1.0.149" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "256b9932320c590e707b94576e3cc1f7c9024d0ee6612dfbcf1cb106cbe8e055" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.149" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4eae9b04cbffdfd550eb462ed33bc6a1b68c935127d008b27444d08380f94e4" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "serde_json" +version = "1.0.89" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "020ff22c755c2ed3f8cf162dbb41a7268d934702f3ed3631656ea597e08fc3db" +dependencies = [ + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "serde_repr" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fe39d9fbb0ebf5eb2c7cb7e2a47e4f462fad1379f1166b8ae49ad9eae89a7ca" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "serde_urlencoded" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" +dependencies = [ + "form_urlencoded", + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "signal-hook-registry" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e51e73328dc4ac0c7ccbda3a494dfa03df1de2f46018127f60c693f2648455b0" +dependencies = [ + "libc", +] + +[[package]] +name = "slab" +version = "0.4.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4614a76b2a8be0058caa9dbbaf66d988527d86d003c11a94fbd335d7661edcef" +dependencies = [ + "autocfg", +] + +[[package]] +name = "smallvec" +version = "1.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" + +[[package]] +name = "socket2" +version = "0.4.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "02e2d2db9033d13a1567121ddd7a095ee144db4e1ca1b1bda3419bc0da294ebd" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "strsim" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" + +[[package]] +name = "syn" +version = "1.0.105" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60b9b43d45702de4c839cb9b51d9f529c5dd26a4aff255b42b1ebc03e88ee908" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "synthetic-link" +version = "0.1.0" +dependencies = [ + "anyhow", + "clap", + "env_logger", + "log", + "reqwest", + "serde", + "serde_json", + "serde_repr", + "tokio", +] + +[[package]] +name = "tempfile" +version = "3.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5cdb1ef4eaeeaddc8fbd371e5017057064af0911902ef36b39801f67cc6d79e4" +dependencies = [ + "cfg-if", + "fastrand", + "libc", + "redox_syscall", + "remove_dir_all", + "winapi", +] + +[[package]] +name = "termcolor" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "tinyvec" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" +dependencies = [ + "tinyvec_macros", +] + +[[package]] +name = "tinyvec_macros" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" + +[[package]] +name = "tokio" +version = "1.23.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eab6d665857cc6ca78d6e80303a02cea7a7851e85dfbd77cbdc09bd129f1ef46" +dependencies = [ + "autocfg", + "bytes", + "libc", + "memchr", + "mio", + "num_cpus", + "parking_lot", + "pin-project-lite", + "signal-hook-registry", + "socket2", + "tokio-macros", + "windows-sys 0.42.0", +] + +[[package]] +name = "tokio-macros" +version = "1.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d266c00fde287f55d3f1c3e96c500c362a2b8c695076ec180f27918820bc6df8" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "tokio-native-tls" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7d995660bd2b7f8c1568414c1126076c13fbb725c40112dc0120b78eb9b717b" +dependencies = [ + "native-tls", + "tokio", +] + +[[package]] +name = "tokio-util" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bb2e075f03b3d66d8d8785356224ba688d2906a371015e225beeb65ca92c740" +dependencies = [ + "bytes", + "futures-core", + "futures-sink", + "pin-project-lite", + "tokio", + "tracing", +] + +[[package]] +name = "tower-service" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" + +[[package]] +name = "tracing" +version = "0.1.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8" +dependencies = [ + "cfg-if", + "pin-project-lite", + "tracing-core", +] + +[[package]] +name = "tracing-core" +version = "0.1.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24eb03ba0eab1fd845050058ce5e616558e8f8d8fca633e6b163fe25c797213a" +dependencies = [ + "once_cell", +] + +[[package]] +name = "try-lock" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642" + +[[package]] +name = "unicode-bidi" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "099b7128301d285f79ddd55b9a83d5e6b9e97c92e0ea0daebee7263e932de992" + +[[package]] +name = "unicode-ident" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ceab39d59e4c9499d4e5a8ee0e2735b891bb7308ac83dfb4e80cad195c9f6f3" + +[[package]] +name = "unicode-normalization" +version = "0.1.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" +dependencies = [ + "tinyvec", +] + +[[package]] +name = "url" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643" +dependencies = [ + "form_urlencoded", + "idna", + "percent-encoding", +] + +[[package]] +name = "vcpkg" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" + +[[package]] +name = "version_check" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" + +[[package]] +name = "want" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0" +dependencies = [ + "log", + "try-lock", +] + +[[package]] +name = "wasi" +version = "0.11.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" + +[[package]] +name = "wasm-bindgen" +version = "0.2.83" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eaf9f5aceeec8be17c128b2e93e031fb8a4d469bb9c4ae2d7dc1888b26887268" +dependencies = [ + "cfg-if", + "wasm-bindgen-macro", +] + +[[package]] +name = "wasm-bindgen-backend" +version = "0.2.83" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c8ffb332579b0557b52d268b91feab8df3615f265d5270fec2a8c95b17c1142" +dependencies = [ + "bumpalo", + "log", + "once_cell", + "proc-macro2", + "quote", + "syn", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-futures" +version = "0.4.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23639446165ca5a5de86ae1d8896b737ae80319560fbaa4c2887b7da6e7ebd7d" +dependencies = [ + "cfg-if", + "js-sys", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.83" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "052be0f94026e6cbc75cdefc9bae13fd6052cdcaf532fa6c45e7ae33a1e6c810" +dependencies = [ + "quote", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.83" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07bc0c051dc5f23e307b13285f9d75df86bfdf816c5721e573dec1f9b8aa193c" +dependencies = [ + "proc-macro2", + "quote", + "syn", + "wasm-bindgen-backend", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.83" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c38c045535d93ec4f0b4defec448e4291638ee608530863b1e2ba115d4fff7f" + +[[package]] +name = "web-sys" +version = "0.3.60" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bcda906d8be16e728fd5adc5b729afad4e444e106ab28cd1c7256e54fa61510f" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" +dependencies = [ + "winapi", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows-sys" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea04155a16a59f9eab786fe12a4a450e75cdb175f9e0d80da1e17db09f55b8d2" +dependencies = [ + "windows_aarch64_msvc 0.36.1", + "windows_i686_gnu 0.36.1", + "windows_i686_msvc 0.36.1", + "windows_x86_64_gnu 0.36.1", + "windows_x86_64_msvc 0.36.1", +] + +[[package]] +name = "windows-sys" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" +dependencies = [ + "windows_aarch64_gnullvm", + "windows_aarch64_msvc 0.42.0", + "windows_i686_gnu 0.42.0", + "windows_i686_msvc 0.42.0", + "windows_x86_64_gnu 0.42.0", + "windows_x86_64_gnullvm", + "windows_x86_64_msvc 0.42.0", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41d2aa71f6f0cbe00ae5167d90ef3cfe66527d6f613ca78ac8024c3ccab9a19e" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd0f252f5a35cac83d6311b2e795981f5ee6e67eb1f9a7f64eb4500fbc4dcdb4" + +[[package]] +name = "windows_i686_gnu" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6" + +[[package]] +name = "windows_i686_gnu" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbeae19f6716841636c28d695375df17562ca208b2b7d0dc47635a50ae6c5de7" + +[[package]] +name = "windows_i686_msvc" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024" + +[[package]] +name = "windows_i686_msvc" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "84c12f65daa39dd2babe6e442988fc329d6243fdce47d7d2d155b8d874862246" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf7b1b21b5362cbc318f686150e5bcea75ecedc74dd157d874d754a2ca44b0ed" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09d525d2ba30eeb3297665bd434a54297e4170c7f1a44cad4ef58095b4cd2028" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f40009d85759725a34da6d89a94e63d7bdc50a862acf0dbc7c8e488f1edcb6f5" + +[[package]] +name = "winreg" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "80d0f4e272c85def139476380b12f9ac60926689dd2e01d4923222f40580869d" +dependencies = [ + "winapi", +] diff --git a/scripts/synthetic-network/synthetic-link/Cargo.toml b/scripts/synthetic-network/synthetic-link/Cargo.toml new file mode 100644 index 0000000000..2b0226b48a --- /dev/null +++ b/scripts/synthetic-network/synthetic-link/Cargo.toml @@ -0,0 +1,17 @@ +[package] +name = "synthetic-link" +version = "0.1.0" +authors = ["Cardinal Cryptography"] +edition = "2021" +license = "Apache 2.0" + +[dependencies] +anyhow = "1.0.66" +clap = { version = "4.0.29", features = ["derive"] } +env_logger = "0.10.0" +log = "0.4.17" +reqwest = { version = "0.11.13", features = ["json"] } +serde = { version = "1.0.149", features = ["derive"] } +serde_json = "1.0.89" +serde_repr = "0.1.9" +tokio = { version = "1.23.0", features = ["full"] } diff --git a/scripts/synthetic-network/synthetic-link/src/lib.rs b/scripts/synthetic-network/synthetic-link/src/lib.rs new file mode 100644 index 0000000000..ba5f5a5c96 --- /dev/null +++ b/scripts/synthetic-network/synthetic-link/src/lib.rs @@ -0,0 +1,266 @@ +use std::ops::RangeInclusive; + +use anyhow::bail; +use reqwest::Client; +use serde::{Deserialize, Serialize}; +use serde_repr::{Deserialize_repr, Serialize_repr}; + +const DEFAULT_SYNTHETIC_NETWORK: SyntheticNetwork = SyntheticNetwork { + default_link: DEFAULT_SYNTHETIC_LINK, + flows: Vec::new(), +}; + +const DEFAULT_SYNTHETIC_LINK: SyntheticLink = SyntheticLink { + ingress: DEFAULT_QOS, + egress: DEFAULT_QOS, +}; + +const DEFAULT_QOS: QualityOfService = QualityOfService { + rate: 1000000000, + loss: StrengthParam::zero(), + latency: 0, + jitter: 0, + jitter_strength: StrengthParam::zero(), + reorder_packets: false, +}; + +const DEFAULT_FLOW: Flow = Flow { + ip: IpPattern::All, + protocol: Protocol::All, + port_range: PortRange::all(), +}; + +#[derive(Serialize, Deserialize, Clone)] +pub struct SyntheticNetwork { + pub default_link: SyntheticLink, + pub flows: Vec, +} + +impl Default for SyntheticNetwork { + fn default() -> Self { + DEFAULT_SYNTHETIC_NETWORK + } +} + +#[derive(Serialize, Deserialize, Clone)] +pub struct SyntheticLink { + pub ingress: QualityOfService, + pub egress: QualityOfService, +} + +impl Default for SyntheticLink { + fn default() -> Self { + DEFAULT_SYNTHETIC_LINK + } +} + +#[derive(Serialize, Deserialize, Clone)] +pub struct QualityOfService { + pub rate: u64, + pub loss: StrengthParam, + pub latency: u64, + pub jitter: u64, + pub jitter_strength: StrengthParam, + pub reorder_packets: bool, +} + +impl Default for QualityOfService { + fn default() -> Self { + DEFAULT_QOS + } +} + +#[derive(Serialize, Deserialize, Clone)] +pub struct SyntheticFlow { + pub label: NonEmptyString, + pub flow: Flow, + pub link: SyntheticLink, +} + +impl SyntheticFlow { + pub fn new(label: NonEmptyString) -> Self { + Self { + label, + flow: DEFAULT_FLOW, + link: DEFAULT_SYNTHETIC_LINK, + } + } +} + +#[derive(Serialize, Deserialize, Clone)] +pub struct Flow { + pub ip: IpPattern, + pub protocol: Protocol, + #[serde(flatten)] + pub port_range: PortRange, +} + +impl Default for Flow { + fn default() -> Self { + DEFAULT_FLOW + } +} + +/// Simple wrapper for the `String` type representing only non-empty strings. +#[derive(Serialize, Deserialize, Clone)] +pub struct NonEmptyString(String); + +impl NonEmptyString { + /// Creates an instance of the NonEmptyString type. Bails if provided value `is_empty`. + pub fn new(value: String) -> anyhow::Result { + if value.is_empty() { + bail!("`value` must be non-empty"); + } + Ok(Self(value)) + } +} + +impl AsRef for NonEmptyString { + fn as_ref(&self) -> &String { + &self.0 + } +} + +/// Simple wrapper for the `f64` type representing number in range 0..=1. +#[derive(Serialize, Deserialize, Clone)] +pub struct StrengthParam(f64); + +impl Default for StrengthParam { + fn default() -> Self { + Self(0.0) + } +} + +impl StrengthParam { + /// Creates an instance of the `StrengthParam` type. Bails if provided value is not withing 0..=1 range. + pub fn new(value: f64) -> anyhow::Result { + if value > 1.0 { + bail!("value shouldn't be larger than 1"); + } + if value < 0.0 { + bail!("value shouldn't be smaller than 0"); + } + Ok(Self(value)) + } + + const fn zero() -> Self { + Self(0.0) + } +} + +impl AsRef for StrengthParam { + fn as_ref(&self) -> &f64 { + &self.0 + } +} + +#[derive(Serialize_repr, Deserialize_repr, Clone)] +#[repr(u8)] +pub enum Protocol { + Icmp = 1, + Tcp = 6, + Udp = 17, + All = 0, +} + +/// Simple wrapper for the `RangeInclusive` type. +#[derive(Serialize, Deserialize, Clone)] +#[serde(try_from = "PortRangeSerde", into = "PortRangeSerde")] +pub struct PortRange(RangeInclusive); + +impl PortRange { + pub const fn all() -> Self { + Self(0..=u16::MAX) + } + + /// Creates an instance of the `PortRange` type. Bails if `port_min > port_max`. + pub fn new(port_min: u16, port_max: u16) -> anyhow::Result { + if port_min > port_max { + bail!("`port_min` is larger than `port_max`"); + } + Ok(Self(port_min..=port_max)) + } +} + +impl AsRef> for PortRange { + fn as_ref(&self) -> &RangeInclusive { + &self.0 + } +} + +#[derive(Serialize, Deserialize, Clone)] +struct PortRangeSerde { + port_min: u16, + port_max: u16, +} + +impl TryFrom for PortRange { + type Error = anyhow::Error; + + fn try_from(value: PortRangeSerde) -> Result { + Self::new(value.port_min, value.port_max) + } +} + +impl From for PortRangeSerde { + fn from(value: PortRange) -> Self { + PortRangeSerde { + port_min: *value.0.start(), + port_max: *value.0.end(), + } + } +} + +/// Custom type for representing IP patterns, namely `all addresses` or any other specific value. +#[derive(Serialize, Deserialize, Clone)] +#[serde(from = "IpPatternSerde", into = "IpPatternSerde")] +pub enum IpPattern { + All, + Ip(u32), +} + +#[derive(Serialize, Deserialize, Clone)] +struct IpPatternSerde(u32); + +impl From for IpPattern { + fn from(value: IpPatternSerde) -> Self { + match value.0 { + 0 => IpPattern::All, + ip => IpPattern::Ip(ip), + } + } +} + +impl From for IpPatternSerde { + fn from(value: IpPattern) -> Self { + let ip = match value { + IpPattern::All => 0, + IpPattern::Ip(ip) => ip, + }; + IpPatternSerde(ip) + } +} + +pub struct SyntheticNetworkClient { + client: Client, + url: String, +} + +impl SyntheticNetworkClient { + pub fn new(url: String) -> Self { + SyntheticNetworkClient { + client: Client::new(), + url, + } + } + + pub async fn commit_config(&mut self, config: &SyntheticNetwork) -> anyhow::Result<()> { + let result = self.client.post(&self.url).json(config).send().await; + Ok(result.map(|_| ())?) + } + + pub async fn load_config(&mut self) -> anyhow::Result { + let result = self.client.get(&self.url).send().await?; + Ok(result.json::().await?) + } +} diff --git a/scripts/synthetic-network/synthetic-link/src/main.rs b/scripts/synthetic-network/synthetic-link/src/main.rs new file mode 100644 index 0000000000..01f7a68924 --- /dev/null +++ b/scripts/synthetic-network/synthetic-link/src/main.rs @@ -0,0 +1,34 @@ +use clap::{arg, Parser}; +use log::info; +use synthetic_link::{SyntheticNetwork, SyntheticNetworkClient}; + +#[derive(Parser, Debug)] +struct Args { + #[arg(short, long, default_value = "http://Node0:80/qos")] + url: String, +} + +#[tokio::main] +async fn main() { + env_logger::init(); + + let args = Args::parse(); + let synth_net_url = args.url; + + info!("reading SyntheticNetwork configuration from stdin"); + let deserializer = serde_json::Deserializer::from_reader(std::io::stdin()); + let synth_net_config: SyntheticNetwork = deserializer + .into_iter() + .next() + .unwrap_or_else(|| panic!("no configuration on stdin")) + .unwrap_or_else(|e| panic!("unable to parse SyntheticNetwork config: {}", e)); + info!("parsed SyntheticNetwork configuration"); + + info!("commiting configuration"); + let mut synth_net_client = SyntheticNetworkClient::new(synth_net_url); + synth_net_client + .commit_config(&synth_net_config) + .await + .unwrap_or_else(|e| panic!("failed to commit SyntheticNetwork configuration: {}", e)); + info!("successfully committed new configuration"); +} diff --git a/scripts/synthetic-network/vendor/synthetic-network b/scripts/synthetic-network/vendor/synthetic-network new file mode 160000 index 0000000000..72bbb4fde9 --- /dev/null +++ b/scripts/synthetic-network/vendor/synthetic-network @@ -0,0 +1 @@ +Subproject commit 72bbb4fde915e4132c19cd7ce3605364abac58a5 diff --git a/shell.nix b/shell.nix index d21ea4d5ee..030d32db42 100644 --- a/shell.nix +++ b/shell.nix @@ -6,7 +6,7 @@ let nixpkgs = versions.nixpkgs; env = versions.stdenv; project = import ./default.nix ( buildOptions // { inherit versions; } ); - rust = nixpkgs.rust.override { + rust = versions.rustToolchain.rust.override { extensions = [ "rust-src" ]; }; nativeBuildInputs = [rust nixpkgs.cacert nixpkgs.openssl] ++ project.nativeBuildInputs; @@ -15,4 +15,6 @@ nixpkgs.mkShell.override { stdenv = env; } { inherit nativeBuildInputs; inherit (project) buildInputs shellHook; + # RUST_SRC_PATH might be needed by the `rust-analyzer` + RUST_SRC_PATH = "${versions.rustToolchain.rust-src}/lib/rustlib/src/rust/library/"; } From 36016d77b526925e0d28f578a661500764168808 Mon Sep 17 00:00:00 2001 From: Marcin Date: Thu, 5 Jan 2023 11:23:21 +0100 Subject: [PATCH 066/212] A0-1619 New GH check for runtime metadata (#842) * A0-1619 New GH check for runtime metadata * A0-1619 Removed interactive mode from the new runtime check. Fixed steps dependencies. * A0-1619 Attempt to fix workflows. * A0-1619 use pre-build subxt image * A0-1619 Fixed docker entrypoint. Regenerated runtime metadata as it was outdated. * A0-1619 Attempt 4 to fix workflows * A0-1619 Attempt 5 to fix workflows * A0-1619 Hopefully better attempt to the Dockerfile --- .github/actions/run-e2e-test/action.yml | 5 ++++- .github/workflows/e2e-tests-main-devnet.yml | 19 +++++++++++++++++++ aleph-client/.dockerignore | 2 ++ aleph-client/docker/README.md | 18 ++++++++++++++++++ .../docker/subxt-integration-entrypoint.sh | 12 ++++++++++++ .../docker/subxt-integration.Dockerfile | 13 +++++++++++++ aleph-client/rustfmt.toml | 7 +++++++ aleph-client/src/aleph_zero.rs | 13 ++++++------- 8 files changed, 81 insertions(+), 8 deletions(-) create mode 100644 aleph-client/.dockerignore create mode 100644 aleph-client/docker/README.md create mode 100644 aleph-client/docker/subxt-integration-entrypoint.sh create mode 100644 aleph-client/docker/subxt-integration.Dockerfile create mode 100644 aleph-client/rustfmt.toml diff --git a/.github/actions/run-e2e-test/action.yml b/.github/actions/run-e2e-test/action.yml index ff15febb55..d0139b4646 100644 --- a/.github/actions/run-e2e-test/action.yml +++ b/.github/actions/run-e2e-test/action.yml @@ -12,7 +12,7 @@ inputs: default: '4' test-case: description: 'Name of test to run.' - required: true + required: false randomized: description: 'Whether to use randomized test params.' required: false @@ -69,15 +69,18 @@ runs: run: docker logs Node0 --follow & - name: Download artifact with the test suite image + if: inputs.test-case != '' uses: actions/download-artifact@v2 with: name: aleph-e2e-client - name: Load test suite docker image + if: inputs.test-case != '' shell: bash run: docker load -i aleph-e2e-client.tar - name: Run single e2e test + if: inputs.test-case != '' shell: bash run: | ARGS=( diff --git a/.github/workflows/e2e-tests-main-devnet.yml b/.github/workflows/e2e-tests-main-devnet.yml index 70bb8fc8d9..492b585c1f 100644 --- a/.github/workflows/e2e-tests-main-devnet.yml +++ b/.github/workflows/e2e-tests-main-devnet.yml @@ -185,6 +185,25 @@ jobs: if-no-files-found: error retention-days: 7 + run-aleph-client-subxt-codegen-check: + needs: [build-test-docker] + name: Checks if runtime file in aleph-client is up-to-date + runs-on: ubuntu-20.04 + steps: + - name: Checkout source code + uses: actions/checkout@v2 + + - name: Run one node in the background + uses: ./.github/actions/run-e2e-test + with: + node-count: 1 + min-validator-count: 1 + + - name: check if runtime metadata matches + run: | + cd aleph-client + docker pull public.ecr.aws/p6e8q1z1/subxt-client-integration:latest + docker run --rm --network host --mount type=bind,source="$(pwd)/..",target=/subxt/aleph-node public.ecr.aws/p6e8q1z1/subxt-client-integration:latest run-e2e-finalization-test: needs: [build-test-docker, build-test-client] diff --git a/aleph-client/.dockerignore b/aleph-client/.dockerignore new file mode 100644 index 0000000000..11e58e6c04 --- /dev/null +++ b/aleph-client/.dockerignore @@ -0,0 +1,2 @@ +** +!docker/subxt-integration-entrypoint.sh diff --git a/aleph-client/docker/README.md b/aleph-client/docker/README.md new file mode 100644 index 0000000000..207b432454 --- /dev/null +++ b/aleph-client/docker/README.md @@ -0,0 +1,18 @@ +This directory contains following files: +### `subxt-integration.Dockerfile` +This is not a main `aleph-client`, rather it is a helper Dockerfile to run on GH, which has `subxt` tool. + +It requires: +* an `aleph-node` chain to be run in the background (ie `127.0.0.1:9944` port must be opened), +* access to `rustfmt.toml`, +* access to current `aleph_zero.rs` file + +The docker checks whether a `subxt`-generated runtime metadata is the same as from the current commit. + +It needs to be run only from `aleph-client` directory and in network host mode: +```bash + docker run --network host --mount type=bind,source="$(pwd)/..",target=/subxt/aleph-node subxt:latest +``` + +### `subxt-integration-entrypoint.sh` +An entrypoint for above Dockerfile diff --git a/aleph-client/docker/subxt-integration-entrypoint.sh b/aleph-client/docker/subxt-integration-entrypoint.sh new file mode 100644 index 0000000000..947010e7a5 --- /dev/null +++ b/aleph-client/docker/subxt-integration-entrypoint.sh @@ -0,0 +1,12 @@ +#!/usr/bin/env bash + +subxt codegen --derive Clone --derive Debug --derive Eq --derive PartialEq | rustfmt --edition=2021 --config-path aleph-node/rustfmt.toml > aleph_zero.rs +diff -y -W 200 --suppress-common-lines aleph_zero.rs aleph-node/aleph-client/src/aleph_zero.rs +diff_exit_code=$? +if [[ ! $diff_exit_code -eq 0 ]]; then + echo "Current runtime metadata is different than versioned in git!" + echo "Run subxt codegen --derive Clone --derive Debug --derive Eq --derive PartialEq | rustfmt --edition=2021 >" \ +"src/aleph_zero.rs from aleph-client directory and commit to git." + exit 1 +fi +echo "Current runtime metadata and versioned in git matches." diff --git a/aleph-client/docker/subxt-integration.Dockerfile b/aleph-client/docker/subxt-integration.Dockerfile new file mode 100644 index 0000000000..54c2049df7 --- /dev/null +++ b/aleph-client/docker/subxt-integration.Dockerfile @@ -0,0 +1,13 @@ +FROM rustlang/rust:nightly-slim + +WORKDIR subxt + +RUN cargo install subxt-cli +RUN rustup component add rustfmt --toolchain nightly + +COPY docker/subxt-integration-entrypoint.sh /subxt/subxt-integration-entrypoint.sh + +RUN chmod +x /subxt/subxt-integration-entrypoint.sh +RUN rustc --version + +ENTRYPOINT ["./subxt-integration-entrypoint.sh"] diff --git a/aleph-client/rustfmt.toml b/aleph-client/rustfmt.toml new file mode 100644 index 0000000000..af85000b72 --- /dev/null +++ b/aleph-client/rustfmt.toml @@ -0,0 +1,7 @@ +edition = "2021" +use_field_init_shorthand = true +reorder_modules = true + +imports_granularity = "Crate" +group_imports = "StdExternalCrate" +reorder_imports = true diff --git a/aleph-client/src/aleph_zero.rs b/aleph-client/src/aleph_zero.rs index 96dc79aca0..c3d5c0f443 100644 --- a/aleph-client/src/aleph_zero.rs +++ b/aleph-client/src/aleph_zero.rs @@ -6409,10 +6409,9 @@ pub mod api { "FinalityVersion", vec![], [ - 134u8, 19u8, 94u8, 247u8, 125u8, 18u8, 148u8, 160u8, 167u8, 235u8, - 174u8, 4u8, 107u8, 69u8, 55u8, 187u8, 249u8, 13u8, 129u8, 99u8, 116u8, - 158u8, 38u8, 29u8, 239u8, 112u8, 150u8, 92u8, 151u8, 197u8, 223u8, - 30u8, + 99u8, 158u8, 103u8, 180u8, 128u8, 32u8, 84u8, 110u8, 229u8, 2u8, 3u8, + 114u8, 95u8, 125u8, 230u8, 210u8, 56u8, 85u8, 38u8, 136u8, 49u8, 206u8, + 6u8, 136u8, 193u8, 164u8, 251u8, 60u8, 125u8, 91u8, 205u8, 144u8, ], ) } @@ -19533,9 +19532,9 @@ pub mod api { let runtime_metadata_hash = client.metadata().metadata_hash(&PALLETS); if runtime_metadata_hash != [ - 155u8, 236u8, 207u8, 138u8, 149u8, 114u8, 96u8, 168u8, 143u8, 247u8, 148u8, 106u8, - 148u8, 203u8, 48u8, 129u8, 14u8, 48u8, 155u8, 234u8, 78u8, 212u8, 73u8, 65u8, - 212u8, 201u8, 174u8, 194u8, 72u8, 70u8, 240u8, 233u8, + 10u8, 121u8, 157u8, 11u8, 147u8, 107u8, 235u8, 73u8, 90u8, 254u8, 82u8, 183u8, + 112u8, 64u8, 213u8, 99u8, 23u8, 17u8, 10u8, 91u8, 124u8, 231u8, 209u8, 172u8, 59u8, + 160u8, 15u8, 142u8, 149u8, 200u8, 95u8, 164u8, ] { Err(::subxt::error::MetadataError::IncompatibleMetadata) From 56c6ff4b3ff25e5937d7bd8f5106c77d16783941 Mon Sep 17 00:00:00 2001 From: Marcin Date: Thu, 5 Jan 2023 13:38:34 +0100 Subject: [PATCH 067/212] A0-1608 Add documentation of all public API and traits of aleph-client (#832) * A0-1608 Add documentation of all public API and traits * A0-1608 Review * A0-1608 Added basic workflow for building docs * A0-1608 Removed redundant workflow condition * A0-1068 Review part 2 * A0-1608 fixes after conflicts * sneaky fix for outdated runtime data * revert sneaky fix * an ugly workaround for the fact we want to ignore rustdoc warnings in generated runtime file --- .github/workflows/build-docs.yaml | 21 ++++ .../docker/subxt-integration-entrypoint.sh | 5 +- aleph-client/src/aleph_zero.rs | 1 + aleph-client/src/connections.rs | 90 +++++++++++++ aleph-client/src/lib.rs | 32 +++++ aleph-client/src/pallets/aleph.rs | 17 +++ aleph-client/src/pallets/author.rs | 2 + aleph-client/src/pallets/balances.rs | 30 +++++ aleph-client/src/pallets/contract.rs | 23 ++++ aleph-client/src/pallets/elections.rs | 57 +++++++++ aleph-client/src/pallets/fee.rs | 3 + aleph-client/src/pallets/mod.rs | 13 ++ aleph-client/src/pallets/multisig.rs | 13 +- aleph-client/src/pallets/session.rs | 8 ++ aleph-client/src/pallets/staking.rs | 118 ++++++++++++++++++ aleph-client/src/pallets/system.rs | 12 ++ aleph-client/src/pallets/treasury.rs | 23 ++++ aleph-client/src/pallets/utility.rs | 2 + aleph-client/src/pallets/vesting.rs | 12 ++ aleph-client/src/runtime_types.rs | 1 + aleph-client/src/utility.rs | 20 +++ aleph-client/src/waiting.rs | 55 ++++++++ 22 files changed, 553 insertions(+), 5 deletions(-) create mode 100644 .github/workflows/build-docs.yaml diff --git a/.github/workflows/build-docs.yaml b/.github/workflows/build-docs.yaml new file mode 100644 index 0000000000..0b5234af84 --- /dev/null +++ b/.github/workflows/build-docs.yaml @@ -0,0 +1,21 @@ +# this workflow builds rustdoc for aleph-node crates +name: build-docs + +on: + push: + +jobs: + build-aleph-client-docs: + name: Build docs + runs-on: ubuntu-20.04 + steps: + - name: GIT | Checkout source code + uses: actions/checkout@v2 + + - name: Install Rust toolchain + uses: actions-rs/toolchain@v1 + + - name: rustdoc | Build aleph-client docs + run: | + cd aleph-client && cargo doc --no-deps + diff --git a/aleph-client/docker/subxt-integration-entrypoint.sh b/aleph-client/docker/subxt-integration-entrypoint.sh index 947010e7a5..3720d936a6 100644 --- a/aleph-client/docker/subxt-integration-entrypoint.sh +++ b/aleph-client/docker/subxt-integration-entrypoint.sh @@ -1,6 +1,9 @@ #!/usr/bin/env bash -subxt codegen --derive Clone --derive Debug --derive Eq --derive PartialEq | rustfmt --edition=2021 --config-path aleph-node/rustfmt.toml > aleph_zero.rs +# an ugly workaround for the fact we want to ignore rustdoc warnings in generated runtime file +echo "#[doc(hidden)]" > aleph_zero.rs +subxt codegen --derive Clone --derive Debug --derive Eq --derive PartialEq | rustfmt --edition=2021 --config-path aleph-node/rustfmt.toml >> aleph_zero.rs + diff -y -W 200 --suppress-common-lines aleph_zero.rs aleph-node/aleph-client/src/aleph_zero.rs diff_exit_code=$? if [[ ! $diff_exit_code -eq 0 ]]; then diff --git a/aleph-client/src/aleph_zero.rs b/aleph-client/src/aleph_zero.rs index c3d5c0f443..810b80fb6e 100644 --- a/aleph-client/src/aleph_zero.rs +++ b/aleph-client/src/aleph_zero.rs @@ -1,3 +1,4 @@ +#[doc(hidden)] #[allow(dead_code, unused_imports, non_camel_case_types)] pub mod api { use super::api as root_mod; diff --git a/aleph-client/src/connections.rs b/aleph-client/src/connections.rs index 9011949403..aab0b24a84 100644 --- a/aleph-client/src/connections.rs +++ b/aleph-client/src/connections.rs @@ -16,16 +16,19 @@ use crate::{ api, sp_weights::weight_v2::Weight, AccountId, BlockHash, Call, KeyPair, SubxtClient, TxStatus, }; +/// Capable of communicating with a live Aleph chain. #[derive(Clone)] pub struct Connection { client: SubxtClient, } +/// Any connection that is signed by some key. pub struct SignedConnection { connection: Connection, signer: KeyPair, } +/// Specific connection that is signed by the sudo key. #[derive(Clone)] pub struct RootConnection { connection: SignedConnection, @@ -39,14 +42,35 @@ pub(crate) trait AsSigned { fn as_signed(&self) -> &SignedConnection; } +/// Any connection should be able to request storage and submit RPC calls #[async_trait::async_trait] pub trait ConnectionApi: Sync { + /// Retrieves a decoded storage value stored under given key. + /// + /// # Panic + /// This method `panic`s, in case storage key is invalid, or in case value cannot be decoded, + /// or there is no such value + /// * `addrs` - represents a storage key, see [more info about keys](https://docs.substrate.io/fundamentals/state-transitions-and-storage/#querying-storage) + /// * `at` - optional block hash to query state from async fn get_storage_entry( &self, addrs: &StaticStorageAddress, at: Option, ) -> T::Target; + /// Retrieves a decoded storage value stored under given key. + /// + /// # Panic + /// This method `panic`s, in case storage key is invalid, or in case value cannot be decoded, + /// but does _not_ `panic` if there is no such value + /// * `addrs` - represents a storage key, see [more info about keys](https://docs.substrate.io/fundamentals/state-transitions-and-storage/#querying-storage) + /// * `at` - optional block hash to query state from + /// + /// # Examples + /// ```ignore + /// let addrs = api::storage().treasury().proposal_count(); + /// get_storage_entry_maybe(&addrs, None).await + /// ``` async fn get_storage_entry_maybe< T: DecodeWithMetadata + Sync, Defaultable: Sync, @@ -57,17 +81,55 @@ pub trait ConnectionApi: Sync { at: Option, ) -> Option; + /// Submit a RPC call. + /// + /// * `func_name` - name of a RPC call + /// * `params` - result of calling `rpc_params!` macro, that's `Vec` of encoded data + /// to this rpc call + /// + /// # Examples + /// ```ignore + /// let args = ContractCallArgs { + /// origin: address.clone(), + /// dest: address.clone(), + /// value: 0, + /// gas_limit: None, + /// input_data: payload, + /// storage_deposit_limit: None, + /// }; + /// let params = rpc_params!["ContractsApi_call", Bytes(args.encode())]; + /// rpc_call("state_call".to_string(), params).await; + /// ``` async fn rpc_call(&self, func_name: String, params: RpcParams) -> anyhow::Result; } +/// Signed connection should be able to sends transactions to chain #[async_trait::async_trait] pub trait SignedConnectionApi: ConnectionApi { + /// Send a transaction to a chain. It waits for a given tx `status`. + /// * `tx` - encoded transaction payload + /// * `status` - a [`TxStatus`] for a tx to wait for + /// # Returns + /// Block hash of block where transaction was put or error + /// # Examples + /// ```ignore + /// let tx = api::tx() + /// .balances() + /// .transfer(MultiAddress::Id(dest), amount); + /// send_tx(tx, status).await + /// ``` async fn send_tx( &self, tx: Call, status: TxStatus, ) -> anyhow::Result; + /// Send a transaction to a chain. It waits for a given tx `status`. + /// * `tx` - encoded transaction payload + /// * `params` - optional tx params e.g. tip + /// * `status` - a [`TxStatus`] of a tx to wait for + /// # Returns + /// Block hash of block where transaction was put or error async fn send_tx_with_params( &self, tx: Call, @@ -75,14 +137,22 @@ pub trait SignedConnectionApi: ConnectionApi { status: TxStatus, ) -> anyhow::Result; + /// Returns account id which signs this connection fn account_id(&self) -> &AccountId; + + /// Returns a [`KeyPair`] which signs this connection fn signer(&self) -> &KeyPair; + + /// Tries to convert [`SignedConnection`] as [`RootConnection`] async fn try_as_root(&self) -> anyhow::Result; } +/// API for [sudo pallet](https://paritytech.github.io/substrate/master/pallet_sudo/index.html). #[async_trait::async_trait] pub trait SudoCall { + /// API for [`sudo_unchecked_weight`](https://paritytech.github.io/substrate/master/pallet_sudo/pallet/enum.Call.html#variant.sudo_unchecked_weight) call. async fn sudo_unchecked(&self, call: Call, status: TxStatus) -> anyhow::Result; + /// API for [`sudo`](https://paritytech.github.io/substrate/master/pallet_sudo/pallet/enum.Call.html#variant.sudo) call. async fn sudo(&self, call: Call, status: TxStatus) -> anyhow::Result; } @@ -243,10 +313,16 @@ impl Connection { const DEFAULT_RETRIES: u32 = 10; const RETRY_WAIT_SECS: u64 = 1; + /// Creates new connection from a given url. + /// By default, it tries to connect 10 times, waiting 1 second between each unsuccessful attempt. + /// * `address` - address in websocket format, e.g. `ws://127.0.0.1:9943` pub async fn new(address: &str) -> Connection { Self::new_with_retries(address, Self::DEFAULT_RETRIES).await } + /// Creates new connection from a given url and given number of connection attempts. + /// * `address` - address in websocket format, e.g. `ws://127.0.0.1:9943` + /// * `retries` - number of connection attempts async fn new_with_retries(address: &str, mut retries: u32) -> Connection { loop { let client = SubxtClient::from_url(&address).await; @@ -267,20 +343,34 @@ impl Connection { } impl SignedConnection { + /// Creates new signed connection from existing [`Connection`] object. + /// * `connection` - existing connection + /// * `signer` - a [`KeyPair`] of signing account pub async fn new(address: &str, signer: KeyPair) -> Self { Self::from_connection(Connection::new(address).await, signer) } + /// Creates new signed connection from existing [`Connection`] object. + /// * `connection` - existing connection + /// * `signer` - a [`KeyPair`] of signing account pub fn from_connection(connection: Connection, signer: KeyPair) -> Self { Self { connection, signer } } } impl RootConnection { + /// Creates new root connection from a given url. + /// It tries to connect 10 times, waiting 1 second between each unsuccessful attempt. + /// * `address` - address in websocket format, e.g. `ws://127.0.0.1:9943` + /// * `root` - a [`KeyPair`] of the Sudo account pub async fn new(address: &str, root: KeyPair) -> anyhow::Result { RootConnection::try_from_connection(Connection::new(address).await, root).await } + /// Creates new root connection from a given [`Connection`] object. It validates whether given + /// key is really a sudo account + /// * `connection` - existing connection + /// * `signer` - a [`KeyPair`] of the Sudo account pub async fn try_from_connection( connection: Connection, signer: KeyPair, diff --git a/aleph-client/src/lib.rs b/aleph-client/src/lib.rs index 4dbdf8cfc1..313f30d6df 100644 --- a/aleph-client/src/lib.rs +++ b/aleph-client/src/lib.rs @@ -1,3 +1,12 @@ +#![warn(missing_docs)] +//! API for [aleph-node](https://github.com/Cardinal-Cryptography/aleph-node) chain. +//! +//! This crate provides a Rust application interface for submitting transactions to `aleph-node` chain. +//! Most of the [pallets](https://docs.substrate.io/reference/frame-pallets/) are common to any +//! [Substrate](https://github.com/paritytech/substrate) chain, but there are some unique to `aleph-node`, +//! e.g. [`pallets::elections::ElectionsApi`]. +//! + #![feature(auto_traits)] #![feature(negative_impls)] @@ -17,19 +26,30 @@ use crate::api::runtime_types::aleph_runtime::RuntimeCall as Call; mod aleph_zero; mod connections; pub mod contract; +/// API for pallets. pub mod pallets; mod runtime_types; +/// Block / session / era API. pub mod utility; +/// Waiting for some events API. pub mod waiting; pub use aleph_zero::api; pub use runtime_types::*; +/// An alias for a configuration of live chain, e.g. block index type, hash type. pub type AlephConfig = PolkadotConfig; +/// An alias for a pallet aleph keys. pub type AlephKeyPair = ed25519::Pair; +/// An alias for a type of a key pair that signs chain transactions. pub type RawKeyPair = sr25519::Pair; +/// An alias for a signer object that constructs [`sr25519::Pair`] from given account id type. pub type KeyPair = PairSigner; +/// An alias for an account id type. pub type AccountId = subxt::ext::sp_core::crypto::AccountId32; +/// An alias for a client type. +pub type Client = OnlineClient; +/// An alias for a hash type. pub type BlockHash = H256; pub(crate) type SubxtClient = OnlineClient; @@ -38,26 +58,38 @@ pub use connections::{ Connection, ConnectionApi, RootConnection, SignedConnection, SignedConnectionApi, SudoCall, }; +/// When submitting a transaction, wait for given status before proceeding. #[derive(Copy, Clone)] pub enum TxStatus { + /// A tx must be included in some block. InBlock, + /// A tx must be included in some finalized block. Finalized, + /// A tx must be successfully submitted. Submitted, } +/// Converts given seed phrase to a sr25519 [`KeyPair`] object. +/// * `seed` - a 12 or 24 word seed phrase pub fn keypair_from_string(seed: &str) -> KeyPair { let pair = sr25519::Pair::from_string(seed, None).expect("Can't create pair from seed value"); KeyPair::new(pair) } +/// Converts given seed phrase to a sr25519 [`RawKeyPair`] object. +/// * `seed` - a 12 or 24 word seed phrase pub fn raw_keypair_from_string(seed: &str) -> RawKeyPair { sr25519::Pair::from_string(seed, None).expect("Can't create pair from seed value") } +/// Converts given seed phrase to a ed25519 [`AlephKeyPair`] object. +/// * `seed` - a 12 or 24 word seed phrase pub fn aleph_keypair_from_string(seed: &str) -> AlephKeyPair { ed25519::Pair::from_string(seed, None).expect("Can't create pair from seed value") } +/// Converts a key pair object to `AccountId`. +/// * `keypair` - a key-pair object, e.g. [`ed25519::Pair`] or [`sr25519::Pair`] pub fn account_from_keypair

(keypair: &P) -> AccountId where P: Pair, diff --git a/aleph-client/src/pallets/aleph.rs b/aleph-client/src/pallets/aleph.rs index 3f0c8530b5..5e06267322 100644 --- a/aleph-client/src/pallets/aleph.rs +++ b/aleph-client/src/pallets/aleph.rs @@ -13,14 +13,27 @@ use crate::{ ConnectionApi, Pair, RootConnection, SudoCall, TxStatus, }; +// TODO replace docs with link to pallet aleph docs, once they are published +/// Pallet aleph API that requires sudo. #[async_trait::async_trait] pub trait AlephSudoApi { + /// Sets the emergency finalization key. + /// * `finalizer` - a new finalizer key + /// * `status` - a [`TxStatus`] of a tx to wait for + /// # Returns + /// Block hash of block where transaction was put or error async fn set_emergency_finalizer( &self, finalizer: AccountId, status: TxStatus, ) -> anyhow::Result; + /// Schedules a finality version change for a future session. + /// * `version` - next version of the finalizer + /// * `session` - from which session the next version applies + /// * `status` - a [`TxStatus`] of a tx to wait for + /// # Returns + /// Block hash of block where transaction was put or error async fn schedule_finality_version_change( &self, version: u32, @@ -29,8 +42,12 @@ pub trait AlephSudoApi { ) -> anyhow::Result; } +/// Pallet aleph RPC api. #[async_trait::async_trait] pub trait AlephRpc { + /// Finalize the block with given hash and number using attached signature. + /// # Returns + /// Block hash of block where transaction was put or error async fn emergency_finalize( &self, number: BlockNumber, diff --git a/aleph-client/src/pallets/author.rs b/aleph-client/src/pallets/author.rs index 56bc511782..7e8006e194 100644 --- a/aleph-client/src/pallets/author.rs +++ b/aleph-client/src/pallets/author.rs @@ -2,8 +2,10 @@ use codec::Decode; use crate::{aleph_runtime::SessionKeys, connections::AsConnection}; +/// Implements RPC calls for [`author`](https://paritytech.github.io/substrate/master/sc_rpc/author/struct.Author.html) pallet #[async_trait::async_trait] pub trait AuthorRpc { + /// API for [`rotate_keys`](https://paritytech.github.io/substrate/master/sc_rpc/author/struct.Author.html#method.rotate_keys) call async fn author_rotate_keys(&self) -> anyhow::Result; } diff --git a/aleph-client/src/pallets/balances.rs b/aleph-client/src/pallets/balances.rs index e4d44e6f6b..b4e4be0aae 100644 --- a/aleph-client/src/pallets/balances.rs +++ b/aleph-client/src/pallets/balances.rs @@ -10,29 +10,44 @@ use crate::{ ConnectionApi, SignedConnectionApi, TxStatus, }; +/// Pallet balances read-only API. #[async_trait::async_trait] pub trait BalanceApi { + /// API for [`locks`](https://paritytech.github.io/substrate/master/pallet_balances/pallet/struct.Pallet.html#method.locks) call. + /// * `account` - an account to query locked balance for + /// * `at` - optional hash of a block to query state from async fn locks_for_account( &self, account: AccountId, at: Option, ) -> Vec>; + + /// API for [`locks`](https://paritytech.github.io/substrate/master/pallet_balances/pallet/struct.Pallet.html#method.locks) call. + /// * `accounts` - a list of accounts to query locked balance for + /// * `at` - optional hash of a block to query state from async fn locks( &self, accounts: &[AccountId], at: Option, ) -> Vec>>; + + /// Returns [`total_issuance`](https://paritytech.github.io/substrate/master/pallet_balances/pallet/type.TotalIssuance.html). async fn total_issuance(&self, at: Option) -> Balance; } +/// Pallet balances API #[async_trait::async_trait] pub trait BalanceUserApi { + /// API for [`transfer`](https://paritytech.github.io/substrate/master/pallet_balances/pallet/struct.Pallet.html#method.transfer) call. async fn transfer( &self, dest: AccountId, amount: Balance, status: TxStatus, ) -> anyhow::Result; + + /// API for [`transfer`](https://paritytech.github.io/substrate/master/pallet_balances/pallet/struct.Pallet.html#method.transfer) call. + /// Include tip in the tx. async fn transfer_with_tip( &self, dest: AccountId, @@ -42,8 +57,23 @@ pub trait BalanceUserApi { ) -> anyhow::Result; } +/// Pallet balances logic not directly related to any pallet call. #[async_trait::async_trait] pub trait BalanceUserBatchExtApi { + /// Performs batch of `balances.transfer` calls. + /// * `dest` - a list of accounts to send tokens to + /// * `amount` - an amount to transfer + /// * `status` - a [`TxStatus`] for a tx to wait for + /// + /// # Examples + /// ```ignore + /// for chunk in stash_accounts.chunks(1024) { + /// connection + /// .batch_transfer(chunk, 1_000_000_000_000u128, TxStatus::InBlock) + /// .await + /// .unwrap(); + /// } + /// ``` async fn batch_transfer( &self, dest: &[AccountId], diff --git a/aleph-client/src/pallets/contract.rs b/aleph-client/src/pallets/contract.rs index 1eb7fd807e..eeebce4a3e 100644 --- a/aleph-client/src/pallets/contract.rs +++ b/aleph-client/src/pallets/contract.rs @@ -8,18 +8,29 @@ use crate::{ ConnectionApi, SignedConnectionApi, TxStatus, }; +/// Arguments to [`ContractRpc::call_and_get`]. #[derive(Encode)] pub struct ContractCallArgs { + /// Who is singing a tx. pub origin: AccountId, + /// Address of the contract to call. pub dest: AccountId, + /// The balance to transfer from the `origin` to `dest`. pub value: Balance, + /// The gas limit enforced when executing the constructor. pub gas_limit: Option, + /// The maximum amount of balance that can be charged from the caller to pay for the storage consumed. pub storage_deposit_limit: Option, + /// The input data to pass to the contract. pub input_data: Vec, } +/// Pallet contracts read-only api. #[async_trait::async_trait] pub trait ContractsApi { + /// Returns `contracts.owner_info_of` storage for a given code hash. + /// * `code_hash` - a code hash + /// * `at` - optional hash of a block to query state from async fn get_owner_info( &self, code_hash: BlockHash, @@ -27,14 +38,18 @@ pub trait ContractsApi { ) -> Option; } +/// Pallet contracts api. #[async_trait::async_trait] pub trait ContractsUserApi { + /// API for [`upload_code`](https://paritytech.github.io/substrate/master/pallet_contracts/pallet/struct.Pallet.html#method.upload_code) call. async fn upload_code( &self, code: Vec, storage_limit: Option>, status: TxStatus, ) -> anyhow::Result; + + /// API for [`instantiate`](https://paritytech.github.io/substrate/master/pallet_contracts/pallet/struct.Pallet.html#method.instantiate) call. #[allow(clippy::too_many_arguments)] async fn instantiate( &self, @@ -46,6 +61,8 @@ pub trait ContractsUserApi { salt: Vec, status: TxStatus, ) -> anyhow::Result; + + /// API for [`instantiate_with_code`](https://paritytech.github.io/substrate/master/pallet_contracts/pallet/struct.Pallet.html#method.instantiate_with_code) call. #[allow(clippy::too_many_arguments)] async fn instantiate_with_code( &self, @@ -57,6 +74,8 @@ pub trait ContractsUserApi { salt: Vec, status: TxStatus, ) -> anyhow::Result; + + /// API for [`call`](https://paritytech.github.io/substrate/master/pallet_contracts/pallet/struct.Pallet.html#method.call) call. async fn call( &self, destination: AccountId, @@ -66,6 +85,8 @@ pub trait ContractsUserApi { data: Vec, status: TxStatus, ) -> anyhow::Result; + + /// API for [`remove_code`](https://paritytech.github.io/substrate/master/pallet_contracts/pallet/struct.Pallet.html#method.remove_code) call. async fn remove_code( &self, code_hash: BlockHash, @@ -73,8 +94,10 @@ pub trait ContractsUserApi { ) -> anyhow::Result; } +/// RPC for runtime ContractsApi #[async_trait::async_trait] pub trait ContractRpc { + /// API for [`call`](https://paritytech.github.io/substrate/master/pallet_contracts/trait.ContractsApi.html#method.call) call. async fn call_and_get( &self, args: ContractCallArgs, diff --git a/aleph-client/src/pallets/elections.rs b/aleph-client/src/pallets/elections.rs index 5c04534657..4ed650412a 100644 --- a/aleph-client/src/pallets/elections.rs +++ b/aleph-client/src/pallets/elections.rs @@ -16,39 +16,82 @@ use crate::{ ConnectionApi, RootConnection, SudoCall, TxStatus, }; +// TODO once pallet elections docs are published, replace api docs with links to public docs +/// Pallet elections read-only api. #[async_trait::async_trait] pub trait ElectionsApi { + /// Returns `elections.ban_config` storage of the elections pallet. + /// * `at` - optional hash of a block to query state from async fn get_ban_config(&self, at: Option) -> BanConfig; + + /// Returns `elections.committee_size` storage of the elections pallet. + /// * `at` - optional hash of a block to query state from async fn get_committee_seats(&self, at: Option) -> CommitteeSeats; + + /// Returns `elections.next_era_committee_seats` storage of the elections pallet. + /// * `at` - optional hash of a block to query state from async fn get_next_era_committee_seats(&self, at: Option) -> CommitteeSeats; + + /// Returns `elections.session_validator_block_count` of a given validator. + /// * `validator` - a validator stash account id + /// * `at` - optional hash of a block to query state from async fn get_validator_block_count( &self, validator: AccountId, at: Option, ) -> Option; + + /// Returns `elections.current_era_validators` storage of the elections pallet. + /// * `at` - optional hash of a block to query state from async fn get_current_era_validators(&self, at: Option) -> EraValidators; + + /// Returns `elections.next_era_reserved_validators` storage of the elections pallet. + /// * `at` - optional hash of a block to query state from async fn get_next_era_reserved_validators(&self, at: Option) -> Vec; + + /// Returns `elections.next_era_non_reserved_validators` storage of the elections pallet. + /// * `at` - optional hash of a block to query state from async fn get_next_era_non_reserved_validators(&self, at: Option) -> Vec; + + /// Returns `elections.underperformed_validator_session_count` storage of a given validator. + /// * `validator` - a validator stash account id + /// * `at` - optional hash of a block to query state from async fn get_underperformed_validator_session_count( &self, validator: AccountId, at: Option, ) -> Option; + + /// Returns `elections.banned.reason` storage of a given validator. + /// * `validator` - a validator stash account id + /// * `at` - optional hash of a block to query state from async fn get_ban_reason_for_validator( &self, validator: AccountId, at: Option, ) -> Option; + + /// Returns `elections.banned` storage of a given validator. + /// * `validator` - a validator stash account id + /// * `at` - optional hash of a block to query state from async fn get_ban_info_for_validator( &self, validator: AccountId, at: Option, ) -> Option; + /// Returns `elections.session_period` const of the elections pallet. async fn get_session_period(&self) -> anyhow::Result; } +/// any object that implements pallet elections api that requires sudo #[async_trait::async_trait] pub trait ElectionsSudoApi { + /// Issues `elections.set_ban_config`. It has an immediate effect. + /// * `minimal_expected_performance` - performance ratio threshold in a session + /// * `underperformed_session_count_threshold` - how many bad uptime sessions force validator to be removed from the committee + /// * `clean_session_counter_delay` - underperformed session counter is cleared every subsequent `clean_session_counter_delay` sessions + /// * `ban_period` - how many eras a validator is banned for + /// * `status` - a [`TxStatus`] for a tx to wait for async fn set_ban_config( &self, minimal_expected_performance: Option, @@ -58,6 +101,11 @@ pub trait ElectionsSudoApi { status: TxStatus, ) -> anyhow::Result; + /// Issues `elections.change_validators` that sets the committee for the next era. + /// * `new_reserved_validators` - reserved validators to be in place in the next era; optional + /// * `new_non_reserved_validators` - non reserved validators to be in place in the next era; optional + /// * `committee_size` - committee size to be in place in the next era; optional + /// * `status` - a [`TxStatus`] for a tx to wait for async fn change_validators( &self, new_reserved_validators: Option>, @@ -65,12 +113,21 @@ pub trait ElectionsSudoApi { committee_size: Option, status: TxStatus, ) -> anyhow::Result; + + /// Schedule a non-reserved node to be banned out from the committee at the end of the era. + /// * `account` - account to be banned, + /// * `ben_reason` - reaons for ban, expressed as raw bytes + /// * `status` - a [`TxStatus`] for a tx to wait for async fn ban_from_committee( &self, account: AccountId, ban_reason: Vec, status: TxStatus, ) -> anyhow::Result; + + /// Set openness of the elections. + /// * `mode` - new elections openness mode + /// * `status` - a [`TxStatus`] for a tx to wait for async fn set_election_openness( &self, mode: ElectionOpenness, diff --git a/aleph-client/src/pallets/fee.rs b/aleph-client/src/pallets/fee.rs index 330b8239c0..1cab7bfd66 100644 --- a/aleph-client/src/pallets/fee.rs +++ b/aleph-client/src/pallets/fee.rs @@ -1,9 +1,12 @@ use crate::{api, BlockHash, ConnectionApi}; +/// An alias for a fee multiplier. pub type FeeMultiplier = u128; +/// Transaction payment pallet API. #[async_trait::async_trait] pub trait TransactionPaymentApi { + /// API for [`next_fee_multiplier`](https://paritytech.github.io/substrate/master/pallet_transaction_payment/pallet/struct.Pallet.html#method.next_fee_multiplier) call. async fn get_next_fee_multiplier(&self, at: Option) -> FeeMultiplier; } diff --git a/aleph-client/src/pallets/mod.rs b/aleph-client/src/pallets/mod.rs index eaa9e11277..047ea35857 100644 --- a/aleph-client/src/pallets/mod.rs +++ b/aleph-client/src/pallets/mod.rs @@ -1,13 +1,26 @@ +/// Pallet aleph API pub mod aleph; +/// Pallet author API pub mod author; +/// Pallet balances API pub mod balances; +/// Pallet contracts API pub mod contract; +/// Pallet elections API pub mod elections; +/// Pallet transaction payment API pub mod fee; +/// Pallet multisig API pub mod multisig; +/// Pallet session API pub mod session; +/// Pallet staking API pub mod staking; +/// Pallet system API pub mod system; +/// Pallet treasury API pub mod treasury; +/// Pallet utility API pub mod utility; +/// Pallet vesting API pub mod vesting; diff --git a/aleph-client/src/pallets/multisig.rs b/aleph-client/src/pallets/multisig.rs index e92bdbe122..62454d450c 100644 --- a/aleph-client/src/pallets/multisig.rs +++ b/aleph-client/src/pallets/multisig.rs @@ -1,17 +1,20 @@ -use primitives::{Balance, BlockNumber}; +use primitives::BlockNumber; use crate::{ - api, api::runtime_types, sp_weights::weight_v2::Weight, AccountId, BlockHash, - SignedConnectionApi, TxStatus, + api, sp_weights::weight_v2::Weight, AccountId, BlockHash, SignedConnectionApi, TxStatus, }; +/// An alias for a call hash. pub type CallHash = [u8; 32]; +/// An alias for a call. pub type Call = Vec; +/// An alias for a timepoint. pub type Timepoint = api::runtime_types::pallet_multisig::Timepoint; -pub type Multisig = runtime_types::pallet_multisig::Multisig; +/// Pallet multisig api. #[async_trait::async_trait] pub trait MultisigUserApi { + /// API for [`approve_as_multi`](https://paritytech.github.io/substrate/master/pallet_multisig/pallet/struct.Pallet.html#method.approve_as_multi) call. async fn approve_as_multi( &self, threshold: u16, @@ -21,6 +24,8 @@ pub trait MultisigUserApi { call_hash: CallHash, status: TxStatus, ) -> anyhow::Result; + + /// API for [`cancel_as_multi`](https://paritytech.github.io/substrate/master/pallet_multisig/pallet/struct.Pallet.html#method.cancel_as_multi) call. async fn cancel_as_multi( &self, threshold: u16, diff --git a/aleph-client/src/pallets/session.rs b/aleph-client/src/pallets/session.rs index d9176ada4a..4f2f2351e1 100644 --- a/aleph-client/src/pallets/session.rs +++ b/aleph-client/src/pallets/session.rs @@ -5,19 +5,27 @@ use crate::{ SignedConnectionApi, TxStatus, }; +/// Pallet session read-only api. #[async_trait::async_trait] pub trait SessionApi { + /// API for [`next_keys`](https://paritytech.github.io/substrate/master/pallet_session/pallet/type.NextKeys.html) call. async fn get_next_session_keys( &self, account: AccountId, at: Option, ) -> Option; + + /// API for [`current_index`](https://paritytech.github.io/substrate/master/pallet_session/pallet/struct.Pallet.html#method.current_index) call. async fn get_session(&self, at: Option) -> SessionIndex; + + /// API for [`validators`](https://paritytech.github.io/substrate/master/pallet_session/pallet/struct.Pallet.html#method.validators) call. async fn get_validators(&self, at: Option) -> Vec; } +/// any object that implements pallet session api #[async_trait::async_trait] pub trait SessionUserApi { + /// API for [`set_keys`](https://paritytech.github.io/substrate/master/pallet_session/pallet/struct.Pallet.html#method.set_keys) call. async fn set_keys(&self, new_keys: SessionKeys, status: TxStatus) -> anyhow::Result; } diff --git a/aleph-client/src/pallets/staking.rs b/aleph-client/src/pallets/staking.rs index cae30b052c..6008a19636 100644 --- a/aleph-client/src/pallets/staking.rs +++ b/aleph-client/src/pallets/staking.rs @@ -26,53 +26,96 @@ use crate::{ ConnectionApi, RootConnection, SignedConnectionApi, SudoCall, TxStatus, }; +/// Any object that implemnts pallet staking read-only api. #[async_trait::async_trait] pub trait StakingApi { + /// Returns [`active_era`](https://paritytech.github.io/substrate/master/pallet_staking/struct.Pallet.html#method.active_era). + /// * `at` - optional hash of a block to query state from async fn get_active_era(&self, at: Option) -> EraIndex; + + /// Returns [`current_era`](https://paritytech.github.io/substrate/master/pallet_staking/struct.Pallet.html#method.current_era). + /// * `at` - optional hash of a block to query state from async fn get_current_era(&self, at: Option) -> EraIndex; + + /// Returns [`bonded`](https://paritytech.github.io/substrate/master/pallet_staking/struct.Pallet.html#method.bonded) for a given stash account. + /// * `stash` - a stash account id + /// * `at` - optional hash of a block to query state from async fn get_bonded(&self, stash: AccountId, at: Option) -> Option; + + /// Returns [`ledger`](https://paritytech.github.io/substrate/master/pallet_staking/struct.Pallet.html#method.ledger) for a given controller account. + /// * `controller` - a controller account id + /// * `at` - optional hash of a block to query state from async fn get_ledger(&self, controller: AccountId, at: Option) -> StakingLedger; + + /// Returns [`eras_validator_reward`](https://paritytech.github.io/substrate/master/pallet_staking/struct.Pallet.html#method.eras_validator_reward) for a given era. + /// * `era` - an era index + /// * `at` - optional hash of a block to query state from async fn get_payout_for_era(&self, era: EraIndex, at: Option) -> u128; + + /// Returns [`eras_stakers`](https://paritytech.github.io/substrate/master/pallet_staking/struct.Pallet.html#method.eras_stakers) for a given era and account id. + /// * `era` - an era index + /// * `account_id` - an account id + /// * `at` - optional hash of a block to query state from async fn get_exposure( &self, era: EraIndex, account_id: &AccountId, at: Option, ) -> Exposure; + + /// Returns [`eras_reward_points`](https://paritytech.github.io/substrate/master/pallet_staking/struct.Pallet.html#method.eras_reward_points) for a given era. + /// * `era` - an era index + /// * `at` - optional hash of a block to query state from async fn get_era_reward_points( &self, era: EraIndex, at: Option, ) -> Option>; + + /// Returns [`minimum_validator_count`](https://paritytech.github.io/substrate/master/pallet_staking/struct.Pallet.html#method.minimum_validator_count). + /// * `at` - optional hash of a block to query state from async fn get_minimum_validator_count(&self, at: Option) -> u32; + /// Returns [`SessionsPerEra`](https://paritytech.github.io/substrate/master/pallet_staking/trait.Config.html#associatedtype.SessionsPerEra) const. async fn get_session_per_era(&self) -> anyhow::Result; } +/// Pallet staking api #[async_trait::async_trait] pub trait StakingUserApi { + /// API for [`bond`](https://paritytech.github.io/substrate/master/pallet_staking/struct.Pallet.html#method.bond) call. async fn bond( &self, initial_stake: Balance, controller_id: AccountId, status: TxStatus, ) -> anyhow::Result; + + /// API for [`validate`](https://paritytech.github.io/substrate/master/pallet_staking/struct.Pallet.html#method.validate) call. async fn validate( &self, validator_commission_percentage: u8, status: TxStatus, ) -> anyhow::Result; + + /// API for [`payout_stakers`](https://paritytech.github.io/substrate/master/pallet_staking/struct.Pallet.html#method.payout_stakers) call. async fn payout_stakers( &self, stash_account: AccountId, era: EraIndex, status: TxStatus, ) -> anyhow::Result; + + /// API for [`nominate`](https://paritytech.github.io/substrate/master/pallet_staking/struct.Pallet.html#method.nominate) call. async fn nominate( &self, nominee_account_id: AccountId, status: TxStatus, ) -> anyhow::Result; + + /// API for [`chill`](https://paritytech.github.io/substrate/master/pallet_staking/struct.Pallet.html#method.chill) call. async fn chill(&self, status: TxStatus) -> anyhow::Result; + + /// API for [`bond_extra`](https://paritytech.github.io/substrate/master/pallet_staking/struct.Pallet.html#method.bond_extra) call. async fn bond_extra_stake( &self, extra_stake: Balance, @@ -80,14 +123,65 @@ pub trait StakingUserApi { ) -> anyhow::Result; } +/// Pallet staking logic, not directly related to any particular pallet call. #[async_trait::async_trait] pub trait StakingApiExt { + /// Send batch of [`bond`](https://paritytech.github.io/substrate/master/pallet_staking/struct.Pallet.html#method.bond) calls. + /// * `accounts` - a slice of account ids pairs (stash, controller) + /// * `stake` - what amount should be bonded, + /// * `status` - a [`TxStatus`] of a tx to wait for + /// + /// # Examples + /// ```ignore + /// async fn nominate_validator( + /// connection: &RootConnection, + /// nominator_controller_accounts: Vec, + /// nominator_stash_accounts: Vec, + /// nominee_account: AccountId, + /// ) { + /// let stash_controller_accounts = nominator_stash_accounts + /// .iter() + /// .cloned() + /// .zip(nominator_controller_accounts.iter().cloned()) + /// .collect::>(); + /// + /// let mut rng = thread_rng(); + /// for chunk in stash_controller_accounts + /// .chunks(256) + /// .map(|c| c.to_vec()) + /// { + /// let stake = 100 * 1_000_000_000_000u128; + /// connection + /// .batch_bond(&chunk, stake, TxStatus::Submitted) + /// .await + /// .unwrap(); + /// } + /// let nominator_nominee_accounts = nominator_controller_accounts + /// .iter() + /// .cloned() + /// .zip(iter::repeat(&nominee_account).cloned()) + /// .collect::>(); + /// for chunks in nominator_nominee_accounts.chunks(128) { + /// connection + /// .batch_nominate(chunks, TxStatus::InBlock) + /// .await + /// .unwrap(); + /// } + /// } + /// ``` async fn batch_bond( &self, accounts: &[(AccountId, AccountId)], stake: Balance, status: TxStatus, ) -> anyhow::Result; + + /// Send batch of [`nominate`](https://paritytech.github.io/substrate/master/pallet_staking/struct.Pallet.html#method.nominate) calls. + /// * `nominator_nominee_pairs` - a slice of account ids pairs (nominator, nominee) + /// * `status` - a [`TxStatus`] of a tx to wait for + /// + /// # Examples + /// see [`Self::batch_bond`] example above async fn batch_nominate( &self, nominator_nominee_pairs: &[(AccountId, AccountId)], @@ -95,9 +189,13 @@ pub trait StakingApiExt { ) -> anyhow::Result; } +/// Pallet staking api that requires sudo. #[async_trait::async_trait] pub trait StakingSudoApi { + /// API for [`force_new_era`](https://paritytech.github.io/substrate/master/pallet_staking/struct.Pallet.html#method.force_new_era) call. async fn force_new_era(&self, status: TxStatus) -> anyhow::Result; + + /// API for [`set_staking_config`](https://paritytech.github.io/substrate/master/pallet_staking/struct.Pallet.html#method.set_staking_configs) call. async fn set_staking_config( &self, minimal_nominator_bond: Option, @@ -108,13 +206,33 @@ pub trait StakingSudoApi { ) -> anyhow::Result; } +/// Logic for retrieving raw storage keys or values from a pallet staking. #[async_trait::async_trait] pub trait StakingRawApi { + /// Returns all encoded [`eras_stakers`](https://paritytech.github.io/substrate/master/pallet_staking/struct.Pallet.html#method.eras_stakers). + /// storage keys for a given era + /// * `era` - an era index + /// * `at` - optional hash of a block to query state from + /// + /// # Examples + /// ```ignore + /// let stakers = connection + /// .get_stakers_storage_keys(current_era, None) + /// .await + /// .into_iter() + /// .map(|key| key.0); + /// ``` async fn get_stakers_storage_keys( &self, era: EraIndex, at: Option, ) -> anyhow::Result>; + + /// Returns encoded [`eras_stakers`](https://paritytech.github.io/substrate/master/pallet_staking/struct.Pallet.html#method.eras_stakers). + /// storage keys for a given era and given account ids + /// * `era` - an era index + /// * `accounts` - list of account ids + /// * `at` - optional hash of a block to query state from async fn get_stakers_storage_keys_from_accounts( &self, era: EraIndex, diff --git a/aleph-client/src/pallets/system.rs b/aleph-client/src/pallets/system.rs index 5c2bb270b4..10a9e792f8 100644 --- a/aleph-client/src/pallets/system.rs +++ b/aleph-client/src/pallets/system.rs @@ -10,14 +10,26 @@ use crate::{ ConnectionApi, RootConnection, SudoCall, TxStatus, }; +/// Pallet system read-only api. #[async_trait::async_trait] pub trait SystemApi { + /// returns free balance of a given account + /// * `account` - account id + /// * `at` - optional hash of a block to query state from + /// + /// it uses [`system.account`](https://paritytech.github.io/substrate/master/frame_system/pallet/struct.Pallet.html#method.account) storage async fn get_free_balance(&self, account: AccountId, at: Option) -> Balance; } +/// Pallet system api. #[async_trait::async_trait] pub trait SystemSudoApi { + /// API for [`set_code`](https://paritytech.github.io/substrate/master/frame_system/pallet/struct.Pallet.html#method.set_code) call. async fn set_code(&self, code: Vec, status: TxStatus) -> anyhow::Result; + + /// A dispatch that will fill the block weight up to the given ratio. + /// * `target_ratio_percent` - ratio to fill block + /// `status` - a [`TxStatus`] to wait for async fn fill_block( &self, target_ratio_percent: u8, diff --git a/aleph-client/src/pallets/treasury.rs b/aleph-client/src/pallets/treasury.rs index 8e4deace36..ef4b4c4251 100644 --- a/aleph-client/src/pallets/treasury.rs +++ b/aleph-client/src/pallets/treasury.rs @@ -13,33 +13,56 @@ use crate::{ ConnectionApi, RootConnection, SignedConnectionApi, SudoCall, TxStatus, }; +/// Pallet treasury read-only api. #[async_trait::async_trait] pub trait TreasuryApi { + /// Returns an unique account id for all treasury transfers. async fn treasury_account(&self) -> AccountId; + + /// Returns storage `proposals_count`. + /// * `at` - an optional block hash to query state from async fn proposals_count(&self, at: Option) -> Option; + + /// Returns storage `approvals`. + /// * `at` - an optional block hash to query state from async fn approvals(&self, at: Option) -> Vec; } +/// Pallet treasury api. #[async_trait::async_trait] pub trait TreasuryUserApi { + /// API for [`propose_spend`](https://paritytech.github.io/substrate/master/pallet_treasury/pallet/struct.Pallet.html#method.propose_spend) call. async fn propose_spend( &self, amount: Balance, beneficiary: AccountId, status: TxStatus, ) -> anyhow::Result; + + /// API for [`approve_proposal`](https://paritytech.github.io/substrate/master/pallet_treasury/pallet/struct.Pallet.html#method.approve_proposal) call. async fn approve(&self, proposal_id: u32, status: TxStatus) -> anyhow::Result; + + /// API for [`reject_proposal`](https://paritytech.github.io/substrate/master/pallet_treasury/pallet/struct.Pallet.html#method.reject_proposal) call. async fn reject(&self, proposal_id: u32, status: TxStatus) -> anyhow::Result; } +/// Pallet treasury funcionality that is not directly related to any pallet call. #[async_trait::async_trait] pub trait TreasureApiExt { + /// When `staking.payout_stakers` is done, what amount of AZERO is transferred to. + /// the treasury async fn possible_treasury_payout(&self) -> anyhow::Result; } +/// Pallet treasury api issued by the sudo account. #[async_trait::async_trait] pub trait TreasurySudoApi { + /// API for [`approve_proposal`](https://paritytech.github.io/substrate/master/pallet_treasury/pallet/struct.Pallet.html#method.approve_proposal) call. + /// wrapped in [`sudo_unchecked_weight`](https://paritytech.github.io/substrate/master/pallet_sudo/pallet/struct.Pallet.html#method.sudo_unchecked_weight) async fn approve(&self, proposal_id: u32, status: TxStatus) -> anyhow::Result; + + /// API for [`reject_proposal`](https://paritytech.github.io/substrate/master/pallet_treasury/pallet/struct.Pallet.html#method.reject_proposal) call. + /// wrapped [`sudo_unchecked_weight`](https://paritytech.github.io/substrate/master/pallet_sudo/pallet/struct.Pallet.html#method.sudo_unchecked_weight) async fn reject(&self, proposal_id: u32, status: TxStatus) -> anyhow::Result; } diff --git a/aleph-client/src/pallets/utility.rs b/aleph-client/src/pallets/utility.rs index 884325508c..974ca4bedd 100644 --- a/aleph-client/src/pallets/utility.rs +++ b/aleph-client/src/pallets/utility.rs @@ -1,7 +1,9 @@ use crate::{api, BlockHash, Call, SignedConnectionApi, TxStatus}; +/// Pallet utility api. #[async_trait::async_trait] pub trait UtilityApi { + /// API for [`batch`](https://paritytech.github.io/substrate/master/pallet_utility/pallet/struct.Pallet.html#method.batch) call. async fn batch_call(&self, calls: Vec, status: TxStatus) -> anyhow::Result; } diff --git a/aleph-client/src/pallets/vesting.rs b/aleph-client/src/pallets/vesting.rs index c6faa1d7a7..287ce17164 100644 --- a/aleph-client/src/pallets/vesting.rs +++ b/aleph-client/src/pallets/vesting.rs @@ -5,8 +5,12 @@ use crate::{ SignedConnectionApi, TxStatus, }; +/// Read only pallet vesting API. #[async_trait::async_trait] pub trait VestingApi { + /// Returns [`VestingInfo`] of the given account. + /// * `who` - an account id + /// * `at` - optional hash of a block to query state from async fn get_vesting( &self, who: AccountId, @@ -14,16 +18,24 @@ pub trait VestingApi { ) -> Vec>; } +/// Pallet vesting api. #[async_trait::async_trait] pub trait VestingUserApi { + /// API for [`vest`](https://paritytech.github.io/substrate/master/pallet_vesting/pallet/enum.Call.html#variant.vest) call. async fn vest(&self, status: TxStatus) -> anyhow::Result; + + /// API for [`vest_other`](https://paritytech.github.io/substrate/master/pallet_vesting/pallet/enum.Call.html#variant.vest_other) call. async fn vest_other(&self, status: TxStatus, other: AccountId) -> anyhow::Result; + + /// API for [`vested_transfer`](https://paritytech.github.io/substrate/master/pallet_vesting/pallet/enum.Call.html#variant.vested_transfer) call. async fn vested_transfer( &self, receiver: AccountId, schedule: VestingInfo, status: TxStatus, ) -> anyhow::Result; + + /// API for [`merge_schedules`](https://paritytech.github.io/substrate/master/pallet_vesting/pallet/enum.Call.html#variant.merge_schedules) call. async fn merge_schedules( &self, idx1: u32, diff --git a/aleph-client/src/runtime_types.rs b/aleph-client/src/runtime_types.rs index 2c1eceddbe..5787c1a23d 100644 --- a/aleph-client/src/runtime_types.rs +++ b/aleph-client/src/runtime_types.rs @@ -51,6 +51,7 @@ impl TryFrom for SessionKeys { } impl Weight { + /// Returns new instance of weight v2 object. pub fn new(ref_time: u64, proof_size: u64) -> Self { Self { ref_time, diff --git a/aleph-client/src/utility.rs b/aleph-client/src/utility.rs index e02b1e2cb8..15821dbe9d 100644 --- a/aleph-client/src/utility.rs +++ b/aleph-client/src/utility.rs @@ -7,24 +7,44 @@ use crate::{ BlockHash, }; +/// Block info API. #[async_trait::async_trait] pub trait BlocksApi { + /// Returns the first block of a session. + /// * `session` - number of the session to query the first block from async fn first_block_of_session( &self, session: SessionIndex, ) -> anyhow::Result>; + + /// Returns hash of a given block if the given block exists, otherwise `None` + /// * `block` - number of the block async fn get_block_hash(&self, block: BlockNumber) -> anyhow::Result>; + + /// Returns the most recent block from the current best chain. async fn get_best_block(&self) -> anyhow::Result>; + + /// Returns the most recent block from the finalized chain. async fn get_finalized_block_hash(&self) -> anyhow::Result; + + /// Returns number of a given block hash, if the given block exists, otherwise `None` + /// This is version that returns `Result` + /// * `block` - hash of the block to query its number async fn get_block_number(&self, block: BlockHash) -> anyhow::Result>; + + /// Returns number of a given block hash, if the given block exists, otherwise `None` + /// * `block` - hash of the block to query its number async fn get_block_number_opt( &self, block: Option, ) -> anyhow::Result>; } +/// Interaction logic between pallet session and pallet staking. #[async_trait::async_trait] pub trait SessionEraApi { + /// Returns which era given session is. + /// * `session` - session index async fn get_active_era_for_session(&self, session: SessionIndex) -> anyhow::Result; } diff --git a/aleph-client/src/waiting.rs b/aleph-client/src/waiting.rs index e06fdd09d2..559c5ed506 100644 --- a/aleph-client/src/waiting.rs +++ b/aleph-client/src/waiting.rs @@ -10,26 +10,81 @@ use crate::{ pallets::{session::SessionApi, staking::StakingApi}, }; +/// When using waiting API, what kind of block status we should wait for. pub enum BlockStatus { + /// Wait for event or block to be in the best chain. Best, + /// Wait for the event or block to be in the finalized chain. Finalized, } +/// Waiting _for_ various events API #[async_trait::async_trait] pub trait AlephWaiting { + /// Wait for a particular block to be in a [`BlockStatus`]. + /// Block number must match given predicate. + /// * `predicate` - a `u32` -> `bool` functor, first argument is a block number + /// * `status` - a [`BlockStatus`] of the block we wait for + /// + /// # Examples + /// ```ignore + /// let finalized = connection.connection.get_finalized_block_hash().await; + /// let finalized_number = connection + /// .connection + /// .get_block_number(finalized) + /// .await + /// .unwrap(); + /// connection + /// .connection + /// .wait_for_block(|n| n > finalized_number, BlockStatus::Finalized) + /// .await; + /// ``` async fn wait_for_block bool + Send>(&self, predicate: P, status: BlockStatus); + + /// Wait for a particular event to be emitted on chain. + /// * `predicate` - a predicate that has one argument (ref to an emitted event) + /// * `status` - a [`BlockStatus`] of the event we wait for + /// + /// # Examples + /// ```ignore + /// let event = connection + /// .wait_for_event( + /// |event: &BanValidators| { + /// info!("Received BanValidators event: {:?}", event.0); + /// true + /// }, + /// BlockStatus::Best, + /// ) + /// .await; + /// ``` async fn wait_for_event bool + Send>( &self, predicate: P, status: BlockStatus, ) -> T; + + /// Wait for given era to happen. + /// * `era` - number of the era to wait for + /// * `status` - a [`BlockStatus`] of the era we wait for async fn wait_for_era(&self, era: EraIndex, status: BlockStatus); + + /// Wait for given session to happen. + /// * `session` - number of the session to wait for + /// * `status` - a [`BlockStatus`] of the session we wait for async fn wait_for_session(&self, session: SessionIndex, status: BlockStatus); } +/// nWaiting _from_ the current moment of time API #[async_trait::async_trait] pub trait WaitingExt { + /// Wait for a given number of sessions to wait from a current session. + /// `n` - number of sessions to wait from now + /// * `status` - a [`BlockStatus`] of the session we wait for async fn wait_for_n_sessions(&self, n: SessionIndex, status: BlockStatus); + + /// Wait for a given number of eras to wait from a current era. + /// `n` - number of eras to wait from now + /// * `status` - a [`BlockStatus`] of the era we wait for async fn wait_for_n_eras(&self, n: EraIndex, status: BlockStatus); } From 81c446cb1c1bfd40f7481cd64031315550fdb68e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Obrok?= Date: Thu, 5 Jan 2023 14:39:15 +0100 Subject: [PATCH 068/212] A0-1610: Restore contract event support (#838) * Restore contract event listening * Authenticate when installing protoc on CI This should reduce the number of failures caused by rate limiting. * Bump aleph-client version * Update contract event docs * Improve cosmetics * This reverts commit e21d155d7f50ec2bd48b2655794699ab208ac3ee. --- aleph-client/Cargo.lock | 31 +++++-- aleph-client/Cargo.toml | 5 +- aleph-client/src/contract/event.rs | 131 +++++++++++++++++++++++++++++ aleph-client/src/contract/mod.rs | 1 + e2e-tests/Cargo.lock | 92 ++++++++------------ e2e-tests/Cargo.toml | 1 - e2e-tests/src/test/adder.rs | 45 +++++++--- e2e-tests/src/test/helpers.rs | 8 +- 8 files changed, 230 insertions(+), 84 deletions(-) create mode 100644 aleph-client/src/contract/event.rs diff --git a/aleph-client/Cargo.lock b/aleph-client/Cargo.lock index e39596ee91..f0ce7e0d9c 100644 --- a/aleph-client/Cargo.lock +++ b/aleph-client/Cargo.lock @@ -53,7 +53,7 @@ version = "2.6.0" dependencies = [ "anyhow", "async-trait", - "contract-metadata", + "contract-metadata 2.0.0-beta.1", "contract-transcode", "frame-support", "futures", @@ -69,6 +69,7 @@ dependencies = [ "sp-runtime 6.0.0", "subxt", "thiserror", + "tokio", ] [[package]] @@ -362,8 +363,21 @@ checksum = "e4c78c047431fee22c1a7bb92e00ad095a02a983affe4d8a72e2a2c62c1b94f3" [[package]] name = "contract-metadata" version = "2.0.0-beta" +source = "git+https://github.com/obrok/cargo-contract?branch=send-sync-env-types#c0ade59847f09ef558c8bca0dc2cf8f78b031188" +dependencies = [ + "anyhow", + "impl-serde", + "semver", + "serde", + "serde_json", + "url", +] + +[[package]] +name = "contract-metadata" +version = "2.0.0-beta.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40248c6a648b3679ea52bb83d8921246d0347644eaf7b0eec4c5601fa8feb651" +checksum = "7bff7703529b16e9d8ba0d54e842b2051691772a822eb9bc130a91183ff9f6a6" dependencies = [ "anyhow", "impl-serde", @@ -376,11 +390,10 @@ dependencies = [ [[package]] name = "contract-transcode" version = "2.0.0-beta" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61159f8e266d4892be25f2b1e7ff2c4c6dd4338ca26498d907e5532a52a28e5f" +source = "git+https://github.com/obrok/cargo-contract?branch=send-sync-env-types#c0ade59847f09ef558c8bca0dc2cf8f78b031188" dependencies = [ "anyhow", - "contract-metadata", + "contract-metadata 2.0.0-beta", "env_logger", "escape8259", "hex", @@ -2578,18 +2591,18 @@ dependencies = [ [[package]] name = "serde" -version = "1.0.148" +version = "1.0.151" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e53f64bb4ba0191d6d0676e1b141ca55047d83b74f5607e6d8eb88126c52c2dc" +checksum = "97fed41fc1a24994d044e6db6935e69511a1153b52c15eb42493b26fa87feba0" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.148" +version = "1.0.151" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a55492425aa53521babf6137309e7d34c20bbfbbfcfe2c7f3a047fd1f6b92c0c" +checksum = "255abe9a125a985c05190d687b320c12f9b1f0b99445e608c21ba0782c719ad8" dependencies = [ "proc-macro2", "quote", diff --git a/aleph-client/Cargo.toml b/aleph-client/Cargo.toml index 3b61da710f..7b6850dd1d 100644 --- a/aleph-client/Cargo.toml +++ b/aleph-client/Cargo.toml @@ -14,7 +14,7 @@ log = "0.4" serde_json = { version = "1.0" } thiserror = "1.0" contract-metadata = "2.0.0-beta" -contract-transcode = "2.0.0-beta" +contract-transcode = { git = "https://github.com/obrok/cargo-contract", branch = "send-sync-env-types" } ink_metadata = "4.0.0-beta" subxt = "0.25.0" futures = "0.3.25" @@ -25,3 +25,6 @@ sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", bran sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } pallet-contracts-primitives = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } primitives = { path = "../primitives" } + +[dev-dependencies] +tokio = "1.21" diff --git a/aleph-client/src/contract/event.rs b/aleph-client/src/contract/event.rs new file mode 100644 index 0000000000..7f8a855d86 --- /dev/null +++ b/aleph-client/src/contract/event.rs @@ -0,0 +1,131 @@ +//! Utilities for listening for contract events. +//! +//! To use the module you will need to pass a connection, some contracts and an `UnboundedSender` to the +//! [listen_contract_events] function. You most likely want to `tokio::spawn` the resulting future, so that it runs +//! concurrently. +//! +//! ```no_run +//! # use std::sync::Arc; +//! # use std::sync::mpsc::channel; +//! # use std::time::Duration; +//! # use aleph_client::{AccountId, Connection, SignedConnection}; +//! # use aleph_client::contract::ContractInstance; +//! # use aleph_client::contract::event::{listen_contract_events}; +//! # use anyhow::Result; +//! use futures::{channel::mpsc::unbounded, StreamExt}; +//! +//! # async fn example(conn: Connection, signed_conn: SignedConnection, address1: AccountId, address2: AccountId, path1: &str, path2: &str) -> Result<()> { +//! // The `Arc` makes it possible to pass a reference to the contract to another thread +//! let contract1 = Arc::new(ContractInstance::new(address1, path1)?); +//! let contract2 = Arc::new(ContractInstance::new(address2, path2)?); +//! +//! let conn_copy = conn.clone(); +//! let contract1_copy = contract1.clone(); +//! let contract2_copy = contract2.clone(); +//! +//! let (tx, mut rx) = unbounded(); +//! let listen = || async move { +//! listen_contract_events(&conn, &[contract1_copy.as_ref(), contract2_copy.as_ref()], tx).await?; +//! >::Ok(()) +//! }; +//! let join = tokio::spawn(listen()); +//! +//! contract1.contract_exec0(&signed_conn, "some_method").await?; +//! contract2.contract_exec0(&signed_conn, "some_other_method").await?; +//! +//! println!("Received event {:?}", rx.next().await); +//! +//! rx.close(); +//! join.await??; +//! +//! # Ok(()) +//! # } +//! ``` + +use std::collections::HashMap; + +use anyhow::{bail, Result}; +use contract_transcode::Value; +use futures::{channel::mpsc::UnboundedSender, StreamExt}; + +use crate::{contract::ContractInstance, AccountId, Connection}; + +/// Represents a single event emitted by a contract. +#[derive(Debug, Clone, Eq, PartialEq)] +pub struct ContractEvent { + /// The address of the contract that emitted the event. + pub contract: AccountId, + /// The name of the event. + pub name: Option, + /// Data contained in the event. + pub data: HashMap, +} + +/// Starts an event listening loop. +/// +/// Will send contract event and every error encountered while fetching through the provided [UnboundedSender]. +/// Only events coming from the address of one of the `contracts` will be decoded. +/// +/// The loop will terminate once `sender` is closed. The loop may also terminate in case of errors while fetching blocks +/// or decoding events (pallet events, contract event decoding errors are sent over the channel). +pub async fn listen_contract_events( + conn: &Connection, + contracts: &[&ContractInstance], + sender: UnboundedSender>, +) -> Result<()> { + let mut block_subscription = conn.as_client().blocks().subscribe_finalized().await?; + + while let Some(block) = block_subscription.next().await { + if sender.is_closed() { + break; + } + + let block = block?; + + for event in block.events().await?.iter() { + let event = event?; + + if let Some(event) = + event.as_event::()? + { + if let Some(contract) = contracts + .iter() + .find(|contract| contract.address() == &event.contract) + { + let data = zero_prefixed(&event.data); + let event = contract + .transcoder + .decode_contract_event(&mut data.as_slice()); + + sender.unbounded_send( + event.and_then(|event| build_event(contract.address().clone(), event)), + )?; + } + } + } + } + + Ok(()) +} + +/// The contract transcoder assumes there is an extra byte (that it discards) indicating the size of the data. However, +/// data arriving through the subscription as used in this file don't have this extra byte. This function adds it. +fn zero_prefixed(data: &[u8]) -> Vec { + let mut result = vec![0]; + result.extend_from_slice(data); + result +} + +fn build_event(address: AccountId, event_data: Value) -> Result { + match event_data { + Value::Map(map) => Ok(ContractEvent { + contract: address, + name: map.ident(), + data: map + .iter() + .map(|(key, value)| (key.to_string(), value.clone())) + .collect(), + }), + _ => bail!("Contract event data is not a map"), + } +} diff --git a/aleph-client/src/contract/mod.rs b/aleph-client/src/contract/mod.rs index ddff119754..d692194026 100644 --- a/aleph-client/src/contract/mod.rs +++ b/aleph-client/src/contract/mod.rs @@ -43,6 +43,7 @@ //! ``` mod convertible_value; +pub mod event; use std::fmt::{Debug, Formatter}; diff --git a/e2e-tests/Cargo.lock b/e2e-tests/Cargo.lock index faad2015b8..c4cdb3df49 100644 --- a/e2e-tests/Cargo.lock +++ b/e2e-tests/Cargo.lock @@ -54,7 +54,6 @@ dependencies = [ "aleph_client", "anyhow", "assert2", - "clap 3.2.23", "env_logger 0.8.4", "frame-support", "frame-system", @@ -83,7 +82,7 @@ version = "2.6.0" dependencies = [ "anyhow", "async-trait", - "contract-metadata", + "contract-metadata 2.0.0-beta.1", "contract-transcode", "frame-support", "futures", @@ -407,49 +406,19 @@ dependencies = [ [[package]] name = "clap" -version = "3.2.23" +version = "4.0.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71655c45cb9845d3270c9d6df84ebe72b4dad3c2ba3f7023ad47c144e4e473a5" +checksum = "a7db700bc935f9e43e88d00b0850dae18a63773cfbec6d8e070fccf7fef89a39" dependencies = [ - "atty", "bitflags", - "clap_derive 3.2.18", - "clap_lex 0.2.4", - "indexmap", - "once_cell", - "strsim", - "termcolor", - "textwrap", -] - -[[package]] -name = "clap" -version = "4.0.29" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d63b9e9c07271b9957ad22c173bae2a4d9a81127680962039296abcd2f8251d" -dependencies = [ - "bitflags", - "clap_derive 4.0.21", - "clap_lex 0.3.0", + "clap_derive", + "clap_lex", "is-terminal", "once_cell", "strsim", "termcolor", ] -[[package]] -name = "clap_derive" -version = "3.2.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea0c8bce528c4be4da13ea6fead8965e95b6073585a2f05204bd8f4119f82a65" -dependencies = [ - "heck", - "proc-macro-error", - "proc-macro2", - "quote", - "syn", -] - [[package]] name = "clap_derive" version = "4.0.21" @@ -463,15 +432,6 @@ dependencies = [ "syn", ] -[[package]] -name = "clap_lex" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5" -dependencies = [ - "os_str_bytes", -] - [[package]] name = "clap_lex" version = "0.3.0" @@ -497,6 +457,19 @@ version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e4c78c047431fee22c1a7bb92e00ad095a02a983affe4d8a72e2a2c62c1b94f3" +[[package]] +name = "contract-metadata" +version = "2.0.0-beta" +source = "git+https://github.com/obrok/cargo-contract?branch=send-sync-env-types#c0ade59847f09ef558c8bca0dc2cf8f78b031188" +dependencies = [ + "anyhow", + "impl-serde", + "semver", + "serde", + "serde_json", + "url", +] + [[package]] name = "contract-metadata" version = "2.0.0-beta.1" @@ -513,12 +486,12 @@ dependencies = [ [[package]] name = "contract-transcode" -version = "2.0.0-beta.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d25e184ac4c29748e28c026f4c443fb94c002ad0877f0b190dccd624df8f893f" +version = "2.0.0-beta" +source = "git+https://github.com/obrok/cargo-contract?branch=send-sync-env-types#c0ade59847f09ef558c8bca0dc2cf8f78b031188" dependencies = [ "anyhow", - "contract-metadata", + "contract-metadata 2.0.0-beta", + "env_logger 0.9.3", "escape8259", "hex", "indexmap", @@ -922,6 +895,19 @@ dependencies = [ "termcolor", ] +[[package]] +name = "env_logger" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a12e6657c4c97ebab115a42dcee77225f7f482cdd841cf7088c657a42e9e00e7" +dependencies = [ + "atty", + "humantime", + "log", + "regex", + "termcolor", +] + [[package]] name = "env_logger" version = "0.10.0" @@ -4480,7 +4466,7 @@ name = "synthetic-link" version = "0.1.0" dependencies = [ "anyhow", - "clap 4.0.29", + "clap", "env_logger 0.10.0", "log", "reqwest", @@ -4519,12 +4505,6 @@ dependencies = [ "winapi-util", ] -[[package]] -name = "textwrap" -version = "0.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d" - [[package]] name = "thiserror" version = "1.0.37" diff --git a/e2e-tests/Cargo.toml b/e2e-tests/Cargo.toml index edc7a56303..2f78045ad2 100644 --- a/e2e-tests/Cargo.toml +++ b/e2e-tests/Cargo.toml @@ -6,7 +6,6 @@ license = "Apache 2.0" [dependencies] anyhow = "1.0" -clap = { version = "3.0", features = ["derive"] } env_logger = "0.8" hex = "0.4.3" log = "0.4" diff --git a/e2e-tests/src/test/adder.rs b/e2e-tests/src/test/adder.rs index 1deeea6285..c1d71be842 100644 --- a/e2e-tests/src/test/adder.rs +++ b/e2e-tests/src/test/adder.rs @@ -1,10 +1,13 @@ -use std::str::FromStr; +use std::{fmt::Debug, str::FromStr, sync::Arc}; use aleph_client::{ - contract::ContractInstance, AccountId, Connection, ConnectionApi, SignedConnectionApi, + contract::{event::listen_contract_events, ContractInstance}, + contract_transcode::Value, + AccountId, ConnectionApi, SignedConnectionApi, }; use anyhow::{Context, Result}; use assert2::assert; +use futures::{channel::mpsc::unbounded, StreamExt}; use crate::{config::setup_test, test::helpers::basic_test_context}; @@ -15,34 +18,50 @@ pub async fn adder() -> Result<()> { let config = setup_test(); let (conn, _authority, account) = basic_test_context(config).await?; - let contract = AdderInstance::new( + + let contract = Arc::new(AdderInstance::new( &config.test_case_params.adder, &config.test_case_params.adder_metadata, - )?; + )?); + + let listen_conn = conn.clone(); + let listen_contract = contract.clone(); + let (tx, mut rx) = unbounded(); + let listen = || async move { + listen_contract_events(&listen_conn, &[listen_contract.as_ref().into()], tx).await?; + >::Ok(()) + }; + let join = tokio::spawn(listen()); let increment = 10; let before = contract.get(&conn).await?; - let raw_connection = Connection::new(&config.node).await; - contract - .add(&account.sign(&raw_connection), increment) - .await?; + + contract.add(&account.sign(&conn), increment).await?; + + let event = rx.next().await.context("No event received")??; + assert!(event.name == Some("ValueChanged".to_string())); + assert!(event.contract == *contract.contract.address()); + assert!(event.data["new_value"] == Value::UInt(before as u128 + 10)); + let after = contract.get(&conn).await?; assert!(after == before + increment); let new_name = "test"; - contract - .set_name(&account.sign(&raw_connection), None) - .await?; + contract.set_name(&account.sign(&conn), None).await?; assert!(contract.get_name(&conn).await?.is_none()); contract - .set_name(&account.sign(&raw_connection), Some(new_name)) + .set_name(&account.sign(&conn), Some(new_name)) .await?; assert!(contract.get_name(&conn).await? == Some(new_name.to_string())); + rx.close(); + join.await??; + Ok(()) } -pub(super) struct AdderInstance { +#[derive(Debug)] +struct AdderInstance { contract: ContractInstance, } diff --git a/e2e-tests/src/test/helpers.rs b/e2e-tests/src/test/helpers.rs index 4ebe74a377..b8b30a35b8 100644 --- a/e2e-tests/src/test/helpers.rs +++ b/e2e-tests/src/test/helpers.rs @@ -73,12 +73,12 @@ pub fn alephs(basic_unit_amount: Balance) -> Balance { /// Prepares a `(conn, authority, account)` triple with some money in `account` for fees. pub async fn basic_test_context( config: &Config, -) -> Result<(SignedConnection, KeyPairWrapper, KeyPairWrapper)> { - let conn = config.get_first_signed_connection().await; +) -> Result<(Connection, KeyPairWrapper, KeyPairWrapper)> { + let conn = Connection::new(&config.node).await; let authority = KeyPairWrapper(aleph_client::keypair_from_string(&config.sudo_seed)); let account = random_account(); - transfer(&conn, &account, alephs(100)).await?; + transfer(&authority.sign(&conn), &account, alephs(100)).await?; - Ok((conn.clone(), authority, account)) + Ok((conn, authority, account)) } From d38e43de1df1e7c03b03228a530b2ca6f3726f99 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Piotr=20Miko=C5=82ajczyk?= Date: Thu, 5 Jan 2023 17:05:05 +0100 Subject: [PATCH 069/212] A0-1611: Full multisig support in `aleph-client` (#845) * Full basic support * Api is ready * Playing * Keep approvers instead of counter * revert local playing * Docs * Easier review comments * Move context code closer to ContextualApi * Docs * playground updated * Revert "playground updated" This reverts commit bf1dbdc95921462b0678e9a12ec3e9fefd1b9cd6. --- aleph-client/src/pallets/multisig.rs | 560 ++++++++++++++++++++++++++- aleph-client/src/runtime_types.rs | 2 +- bin/cliain/Cargo.lock | 46 ++- 3 files changed, 594 insertions(+), 14 deletions(-) diff --git a/aleph-client/src/pallets/multisig.rs b/aleph-client/src/pallets/multisig.rs index 62454d450c..7fce899459 100644 --- a/aleph-client/src/pallets/multisig.rs +++ b/aleph-client/src/pallets/multisig.rs @@ -1,34 +1,72 @@ -use primitives::BlockNumber; +use std::{collections::HashSet, marker::PhantomData}; + +use anyhow::{anyhow, ensure}; +use codec::{Decode, Encode}; +use primitives::{Balance, BlockNumber}; +use sp_core::blake2_256; +use sp_runtime::traits::TrailingZeroInput; use crate::{ - api, sp_weights::weight_v2::Weight, AccountId, BlockHash, SignedConnectionApi, TxStatus, + account_from_keypair, aleph_runtime::RuntimeCall, api, api::runtime_types, + sp_weights::weight_v2::Weight, AccountId, BlockHash, ConnectionApi, SignedConnectionApi, + TxStatus, }; /// An alias for a call hash. pub type CallHash = [u8; 32]; /// An alias for a call. -pub type Call = Vec; +pub type Call = RuntimeCall; +/// An alias for a threshold. +pub type MultisigThreshold = u16; /// An alias for a timepoint. -pub type Timepoint = api::runtime_types::pallet_multisig::Timepoint; +pub type Timepoint = runtime_types::pallet_multisig::Timepoint; +/// An alias for a multisig structure in the pallet storage. +pub type Multisig = runtime_types::pallet_multisig::Multisig; + +/// `MAX_WEIGHT` is the extrinsic parameter specifying upperbound for executing approved call. +/// Unless the approval is final, it has no effect. However, if due to your approval the +/// threshold is reached, you will be charged for execution process. By setting `max_weight` +/// low enough, you can avoid paying and left it for another member. +/// +/// However, passing such parameter everytime is cumbersome and introduces the need of either +/// estimating call weight or setting very high universal bound at every caller side. +/// Thus, we keep a fairly high limit, which should cover almost any call (0.05 token). +pub const DEFAULT_MAX_WEIGHT: Weight = Weight::new(500_000_000, 0); /// Pallet multisig api. #[async_trait::async_trait] pub trait MultisigUserApi { + /// API for [`as_multi_threshold_1`](https://paritytech.github.io/substrate/master/pallet_multisig/pallet/struct.Pallet.html#method.as_multi_threshold_1) call. + async fn as_multi_threshold_1( + &self, + other_signatories: Vec, + call: Call, + status: TxStatus, + ) -> anyhow::Result; + /// API for [`as_multi`](https://paritytech.github.io/substrate/master/pallet_multisig/pallet/struct.Pallet.html#method.as_multi) call. + async fn as_multi( + &self, + threshold: MultisigThreshold, + other_signatories: Vec, + timepoint: Option, + max_weight: Weight, + call: Call, + status: TxStatus, + ) -> anyhow::Result; /// API for [`approve_as_multi`](https://paritytech.github.io/substrate/master/pallet_multisig/pallet/struct.Pallet.html#method.approve_as_multi) call. async fn approve_as_multi( &self, - threshold: u16, + threshold: MultisigThreshold, other_signatories: Vec, timepoint: Option, max_weight: Weight, call_hash: CallHash, status: TxStatus, ) -> anyhow::Result; - /// API for [`cancel_as_multi`](https://paritytech.github.io/substrate/master/pallet_multisig/pallet/struct.Pallet.html#method.cancel_as_multi) call. async fn cancel_as_multi( &self, - threshold: u16, + threshold: MultisigThreshold, other_signatories: Vec, timepoint: Timepoint, call_hash: CallHash, @@ -38,9 +76,42 @@ pub trait MultisigUserApi { #[async_trait::async_trait] impl MultisigUserApi for S { + async fn as_multi_threshold_1( + &self, + other_signatories: Vec, + call: Call, + status: TxStatus, + ) -> anyhow::Result { + let tx = api::tx() + .multisig() + .as_multi_threshold_1(other_signatories, call); + + self.send_tx(tx, status).await + } + + async fn as_multi( + &self, + threshold: MultisigThreshold, + other_signatories: Vec, + timepoint: Option, + max_weight: Weight, + call: Call, + status: TxStatus, + ) -> anyhow::Result { + let tx = api::tx().multisig().as_multi( + threshold, + other_signatories, + timepoint, + call, + max_weight, + ); + + self.send_tx(tx, status).await + } + async fn approve_as_multi( &self, - threshold: u16, + threshold: MultisigThreshold, other_signatories: Vec, timepoint: Option, max_weight: Weight, @@ -60,7 +131,7 @@ impl MultisigUserApi for S { async fn cancel_as_multi( &self, - threshold: u16, + threshold: MultisigThreshold, other_signatories: Vec, timepoint: Timepoint, call_hash: CallHash, @@ -76,3 +147,474 @@ impl MultisigUserApi for S { self.send_tx(tx, status).await } } + +/// A group of accounts together with a threshold. +#[derive(Clone, Eq, PartialEq, Debug)] +pub struct MultisigParty { + signatories: Vec, + threshold: MultisigThreshold, +} + +impl MultisigParty { + /// Create new party from `signatories` and `threshold`. + /// + /// `signatories` can contain duplicates and doesn't have to be sorted. However, there must be + /// at least 2 unique accounts. There is also a virtual upper bound - `MaxSignatories` constant. + /// It isn't checked here (since it requires client), however, using too big party will fail + /// when performing any chain interaction. + /// + /// `threshold` must be between 2 and number of unique accounts in `signatories`. For threshold + /// 1, use special method `MultisigUserApi::as_multi_threshold_1`. + pub fn new(signatories: &[AccountId], threshold: MultisigThreshold) -> anyhow::Result { + let mut sorted_signatories = signatories.to_vec(); + sorted_signatories.sort(); + sorted_signatories.dedup(); + + ensure!( + sorted_signatories.len() > 1, + "There must be at least 2 different signatories" + ); + ensure!( + sorted_signatories.len() >= threshold as usize, + "Threshold must not be greater than the number of unique signatories" + ); + ensure!( + threshold >= 2, + "Threshold must be at least 2 - for threshold 1, use `as_multi_threshold_1`" + ); + + Ok(Self { + signatories: sorted_signatories, + threshold, + }) + } + + /// The multisig account derived from signatories and threshold. + /// + /// This method is copied from the pallet, because: + /// - we don't want to add a new dependency + /// - we cannot instantiate pallet object here anyway (the corresponding functionality exists + /// as pallet's method rather than standalone function) + pub fn account(&self) -> AccountId { + let entropy = + (b"modlpy/utilisuba", &self.signatories, &self.threshold).using_encoded(blake2_256); + Decode::decode(&mut TrailingZeroInput::new(entropy.as_ref())) + .expect("infinite length input; no invalid inputs for type; qed") + } +} + +/// Pallet multisig functionality that is not directly related to any pallet call. +#[async_trait::async_trait] +pub trait MultisigApiExt { + /// Get the coordinate that corresponds to the ongoing signature aggregation for `party_account` + /// and `call_hash`. + async fn get_timepoint( + &self, + party_account: &AccountId, + call_hash: &CallHash, + block_hash: Option, + ) -> Timepoint; +} + +#[async_trait::async_trait] +impl MultisigApiExt for C { + async fn get_timepoint( + &self, + party_account: &AccountId, + call_hash: &CallHash, + block_hash: Option, + ) -> Timepoint { + let multisigs = api::storage() + .multisig() + .multisigs(party_account, call_hash); + let Multisig { when, .. } = self.get_storage_entry(&multisigs, block_hash).await; + when + } +} + +/// We will mark context object as either ongoing procedure or a closed one. However, we put this +/// distinction to the type level, so instead of enum, we use a trait. +pub trait ContextState {} + +/// Context of the signature aggregation that is still in progress. +#[derive(Clone, Eq, PartialEq, Debug)] +pub enum Ongoing {} +impl ContextState for Ongoing {} + +/// Context of the signature aggregation that was either successfully performed or canceled. +#[derive(Clone, Eq, PartialEq, Debug)] +pub enum Closed {} +impl ContextState for Closed {} + +/// A context in which ongoing signature aggregation is performed. +#[derive(Clone, Eq, PartialEq, Debug)] +pub struct Context { + /// The entity for which aggregation is being made. + party: MultisigParty, + /// Derived multisig account (the source of the target call). + author: AccountId, + + /// Pallet's coordinate for this aggregation. + timepoint: Timepoint, + /// Weight limit when dispatching the call. + max_weight: Weight, + + /// The target dispatchable, if already provided. + call: Option, + /// The hash of the target dispatchable. + call_hash: CallHash, + + /// The set of accounts, that already approved the call (via this context object), including the + /// author. + /// + /// `approvers.len() < party.threshold` always holds. + approvers: HashSet, + + _phantom: PhantomData, +} + +/// After approval action, our context can be in two modes - either for further use (`Ongoing`), or +/// read only (`Closed`). +#[derive(Clone, Eq, PartialEq, Debug)] +pub enum ContextAfterUse { + /// Signature aggregation is in progress. + Ongoing(Context), + /// Signature aggregation was either successfully performed or was canceled. + Closed(Context), +} + +impl Context { + fn new( + party: MultisigParty, + author: AccountId, + timepoint: Timepoint, + max_weight: Weight, + call: Option, + call_hash: CallHash, + ) -> Self { + Self { + party, + author: author.clone(), + timepoint, + max_weight, + call, + call_hash, + approvers: HashSet::from([author]), + _phantom: PhantomData, + } + } + + /// In case `Context` object has been passed somewhere, where this limit should be adjusted, we + /// allow for that. + /// + /// Actually, this isn't used until threshold is met, so such changing is perfectly safe. + pub fn change_max_weight(&mut self, max_weight: Weight) { + self.max_weight = max_weight; + } + + /// Set `call` only if `self.call_hash` is matching. + fn set_call(&mut self, call: Call) -> anyhow::Result<()> { + ensure!( + self.call_hash == compute_call_hash(&call), + "Call doesn't match to the registered hash" + ); + self.call = Some(call); + Ok(()) + } + + /// Register another approval. Depending on the threshold meeting and `call` content, we treat + /// signature aggregation process as either still ongoing or closed. + fn add_approval(mut self, approver: AccountId) -> ContextAfterUse { + self.approvers.insert(approver); + if self.call.is_some() && self.approvers.len() >= (self.party.threshold as usize) { + ContextAfterUse::Closed(self.close()) + } else { + ContextAfterUse::Ongoing(self) + } + } + + /// Casting to the closed variant. Private, so that the user don't accidentally call `into()` + /// and close ongoing context. + fn close(self) -> Context { + Context:: { + party: self.party, + author: self.author, + timepoint: self.timepoint, + max_weight: self.max_weight, + call: self.call, + call_hash: self.call_hash, + approvers: self.approvers, + _phantom: Default::default(), + } + } +} + +impl Context { + /// Read party. + pub fn party(&self) -> &MultisigParty { + &self.party + } + /// Read author. + pub fn author(&self) -> &AccountId { + &self.author + } + /// Read timepoint. + pub fn timepoint(&self) -> &Timepoint { + &self.timepoint + } + /// Read max weight. + pub fn max_weight(&self) -> &Weight { + &self.max_weight + } + /// Read call. + pub fn call(&self) -> &Option { + &self.call + } + /// Read call hash. + pub fn call_hash(&self) -> CallHash { + self.call_hash + } + /// Read approvers set. + pub fn approvers(&self) -> &HashSet { + &self.approvers + } +} + +/// Pallet multisig API, but suited for cases when the whole scenario is performed in a single place +/// - we keep data in a context object which helps in concise programming. +#[async_trait::async_trait] +pub trait MultisigContextualApi { + /// Start signature aggregation for `party` and `call_hash`. Get `Context` object as a result + /// (together with standard block hash). + /// + /// This is the recommended way of initialization. + async fn initiate( + &self, + party: &MultisigParty, + max_weight: &Weight, + call_hash: CallHash, + status: TxStatus, + ) -> anyhow::Result<(BlockHash, Context)>; + /// Start signature aggregation for `party` and `call`. Get `Context` object as a result + /// (together with standard block hash). + /// + /// Note: it is usually a better idea to pass `call` only with the final approval (so that it + /// isn't stored on-chain). + async fn initiate_with_call( + &self, + party: &MultisigParty, + max_weight: &Weight, + call: Call, + status: TxStatus, + ) -> anyhow::Result<(BlockHash, Context)>; + /// Express contextual approval for the call hash. + /// + /// This is the recommended way for every intermediate approval. + async fn approve( + &self, + context: Context, + status: TxStatus, + ) -> anyhow::Result<(BlockHash, ContextAfterUse)>; + /// Express contextual approval for the `call`. + /// + /// This is the recommended way only for the final approval. + async fn approve_with_call( + &self, + context: Context, + call: Option, + status: TxStatus, + ) -> anyhow::Result<(BlockHash, ContextAfterUse)>; + /// Cancel signature aggregation. + async fn cancel( + &self, + context: Context, + status: TxStatus, + ) -> anyhow::Result<(BlockHash, Context)>; +} + +#[async_trait::async_trait] +impl MultisigContextualApi for S { + async fn initiate( + &self, + party: &MultisigParty, + max_weight: &Weight, + call_hash: CallHash, + status: TxStatus, + ) -> anyhow::Result<(BlockHash, Context)> { + let other_signatories = ensure_signer_in_party(self, party)?; + + let block_hash = self + .approve_as_multi( + party.threshold, + other_signatories, + None, + max_weight.clone(), + call_hash, + status, + ) + .await?; + + // Even though `subxt` allows us to get timepoint when waiting for the submission + // confirmation (see e.g. `ExtrinsicEvents` object that is returned from + // `wait_for_finalized_success`), we chose to perform one additional storage read. + // Firstly, because of brevity here (we would have to duplicate some lines from + // `connections` module. Secondly, if `Timepoint` struct change, this method (reading raw + // extrinsic position) might become incorrect. + let timepoint = self + .get_timepoint(&party.account(), &call_hash, Some(block_hash)) + .await; + + Ok(( + block_hash, + Context::new( + party.clone(), + self.account_id().clone(), + timepoint, + max_weight.clone(), + None, + call_hash, + ), + )) + } + + async fn initiate_with_call( + &self, + party: &MultisigParty, + max_weight: &Weight, + call: Call, + status: TxStatus, + ) -> anyhow::Result<(BlockHash, Context)> { + let other_signatories = ensure_signer_in_party(self, party)?; + + let block_hash = self + .as_multi( + party.threshold, + other_signatories, + None, + max_weight.clone(), + call.clone(), + status, + ) + .await?; + + let call_hash = compute_call_hash(&call); + let timepoint = self + .get_timepoint(&party.account(), &call_hash, Some(block_hash)) + .await; + + Ok(( + block_hash, + Context::new( + party.clone(), + self.account_id().clone(), + timepoint, + max_weight.clone(), + Some(call.clone()), + call_hash, + ), + )) + } + + async fn approve( + &self, + context: Context, + status: TxStatus, + ) -> anyhow::Result<(BlockHash, ContextAfterUse)> { + let other_signatories = ensure_signer_in_party(self, &context.party)?; + + self.approve_as_multi( + context.party.threshold, + other_signatories, + Some(context.timepoint.clone()), + context.max_weight.clone(), + context.call_hash, + status, + ) + .await + .map(|block_hash| (block_hash, context.add_approval(self.account_id().clone()))) + } + + async fn approve_with_call( + &self, + mut context: Context, + call: Option, + status: TxStatus, + ) -> anyhow::Result<(BlockHash, ContextAfterUse)> { + let other_signatories = ensure_signer_in_party(self, &context.party)?; + + let call = match (call.as_ref(), context.call.as_ref()) { + (None, None) => Err(anyhow!( + "Call wasn't provided earlier - you must pass it now" + )), + (None, Some(call)) => Ok(call), + (Some(call), None) => { + context.set_call(call.clone())?; + Ok(call) + } + (Some(saved_call), Some(new_call)) => { + ensure!( + saved_call == new_call, + "The call is different that the one used previously" + ); + Ok(new_call) + } + }?; + + self.as_multi( + context.party.threshold, + other_signatories, + Some(context.timepoint.clone()), + context.max_weight.clone(), + call.clone(), + status, + ) + .await + .map(|block_hash| (block_hash, context.add_approval(self.account_id().clone()))) + } + + async fn cancel( + &self, + context: Context, + status: TxStatus, + ) -> anyhow::Result<(BlockHash, Context)> { + let other_signatories = ensure_signer_in_party(self, &context.party)?; + + ensure!( + *self.account_id() == context.author, + "Only the author can cancel multisig aggregation" + ); + + let block_hash = self + .cancel_as_multi( + context.party.threshold, + other_signatories, + context.timepoint.clone(), + context.call_hash, + status, + ) + .await?; + + Ok((block_hash, context.close())) + } +} + +/// Compute hash of `call`. +pub fn compute_call_hash(call: &Call) -> CallHash { + call.using_encoded(blake2_256) +} + +/// Ensure that the signer of `conn` is present in `party.signatories`. If so, return all other +/// signatories. +fn ensure_signer_in_party( + conn: &S, + party: &MultisigParty, +) -> anyhow::Result> { + let signer_account = account_from_keypair(conn.signer().signer()); + if let Ok(index) = party.signatories.binary_search(&signer_account) { + let mut other_signatories = party.signatories.clone(); + other_signatories.remove(index); + Ok(other_signatories) + } else { + Err(anyhow!("Connection should be signed by a party member")) + } +} diff --git a/aleph-client/src/runtime_types.rs b/aleph-client/src/runtime_types.rs index 5787c1a23d..49dc56200d 100644 --- a/aleph-client/src/runtime_types.rs +++ b/aleph-client/src/runtime_types.rs @@ -52,7 +52,7 @@ impl TryFrom for SessionKeys { impl Weight { /// Returns new instance of weight v2 object. - pub fn new(ref_time: u64, proof_size: u64) -> Self { + pub const fn new(ref_time: u64, proof_size: u64) -> Self { Self { ref_time, proof_size, diff --git a/bin/cliain/Cargo.lock b/bin/cliain/Cargo.lock index 4dd2246534..1b0ef9676f 100644 --- a/bin/cliain/Cargo.lock +++ b/bin/cliain/Cargo.lock @@ -53,8 +53,8 @@ version = "2.6.0" dependencies = [ "anyhow", "async-trait", - "contract-metadata 2.0.0-beta", - "contract-transcode", + "contract-metadata 2.0.0-beta (registry+https://github.com/rust-lang/crates.io-index)", + "contract-transcode 2.0.0-beta (git+https://github.com/obrok/cargo-contract?branch=send-sync-env-types)", "frame-support", "futures", "hex", @@ -399,7 +399,7 @@ dependencies = [ "anyhow", "clap", "contract-metadata 0.6.0", - "contract-transcode", + "contract-transcode 2.0.0-beta (registry+https://github.com/rust-lang/crates.io-index)", "dialoguer", "env_logger 0.8.4", "hex", @@ -471,6 +471,19 @@ dependencies = [ "url", ] +[[package]] +name = "contract-metadata" +version = "2.0.0-beta" +source = "git+https://github.com/obrok/cargo-contract?branch=send-sync-env-types#d9db29d579c5ba9d19a8f9b64ef1b00112604d5c" +dependencies = [ + "anyhow", + "impl-serde 0.4.0", + "semver", + "serde", + "serde_json", + "url", +] + [[package]] name = "contract-transcode" version = "2.0.0-beta" @@ -478,7 +491,32 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "61159f8e266d4892be25f2b1e7ff2c4c6dd4338ca26498d907e5532a52a28e5f" dependencies = [ "anyhow", - "contract-metadata 2.0.0-beta", + "contract-metadata 2.0.0-beta (registry+https://github.com/rust-lang/crates.io-index)", + "env_logger 0.9.3", + "escape8259", + "hex", + "indexmap", + "ink_env", + "ink_metadata", + "itertools", + "nom", + "nom-supreme", + "parity-scale-codec", + "scale-info", + "serde", + "serde_json", + "sp-core 7.0.0", + "sp-runtime 7.0.0", + "tracing", +] + +[[package]] +name = "contract-transcode" +version = "2.0.0-beta" +source = "git+https://github.com/obrok/cargo-contract?branch=send-sync-env-types#d9db29d579c5ba9d19a8f9b64ef1b00112604d5c" +dependencies = [ + "anyhow", + "contract-metadata 2.0.0-beta (git+https://github.com/obrok/cargo-contract?branch=send-sync-env-types)", "env_logger 0.9.3", "escape8259", "hex", From 0095c94ef2272c2a009a633482067da5b81efae0 Mon Sep 17 00:00:00 2001 From: Marcin Date: Mon, 9 Jan 2023 08:09:35 +0100 Subject: [PATCH 070/212] Updated aleph-client readme (#846) --- aleph-client/README.md | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/aleph-client/README.md b/aleph-client/README.md index 340175d835..3d0e225734 100644 --- a/aleph-client/README.md +++ b/aleph-client/README.md @@ -1,7 +1,20 @@ -### Metadata +# API for [aleph-node](https://github.com/Cardinal-Cryptography/aleph-node) chain. -We use autogenerated metadata in this lib. To generate it you will need subxt-cli. See [here](https://github.com/paritytech/subxt) for instructions how to install it. -The metadata is generated by: -```bash -subxt codegen --derive Clone Debug Eq PartialEq | rustfmt --edition=2021 > src/aleph_zero.rs -``` \ No newline at end of file +This crate provides a Rust application interface for submitting transactions to `aleph-node` chain. +Most of the [pallets](https://docs.substrate.io/reference/frame-pallets/) are common to any +[Substrate](https://github.com/paritytech/substrate) chain, but there are some unique to `aleph-node`, +e.g. [`pallets::elections::ElectionsApi`](./src/pallets/elections.rs). + +## Build + +Just use `cargo build` or `cargo build --release`, depends on your usecase. + +## Contributions + +All contributions are welcome, e.g. adding new API for pallets in `aleph-node`. + +## Metadata + +`aleph-client` uses [`subxt`](https://github.com/paritytech/subxt) to communicate with a Substrate-based chain which +`aleph-node` is. In order to provide a strong type safety, it uses a manually generated file [`aleph_zero.rs`](src/aleph_zero.rs) +which refers to top of the `main` branch in `aleph-node` repository. See more info [here](docker/README.md). From 969dce460cca5f84474f0520ebfa2c56d895546a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maciej=20Nem=C5=9B?= Date: Mon, 9 Jan 2023 12:19:28 +0100 Subject: [PATCH 071/212] A0-1823: add substrate specific chain status (#844) * add substrate chain status --- finality-aleph/src/sync/mod.rs | 11 +- .../src/sync/substrate/chain_status.rs | 162 ++++++++++++++++++ finality-aleph/src/sync/substrate/mod.rs | 1 + 3 files changed, 171 insertions(+), 3 deletions(-) create mode 100644 finality-aleph/src/sync/substrate/chain_status.rs diff --git a/finality-aleph/src/sync/mod.rs b/finality-aleph/src/sync/mod.rs index 801e0b7902..23e66bd53e 100644 --- a/finality-aleph/src/sync/mod.rs +++ b/finality-aleph/src/sync/mod.rs @@ -91,12 +91,17 @@ pub enum BlockStatus { /// The knowledge about the chain status. pub trait ChainStatus { + type Error: Display; + /// The status of the block. - fn status_of(&self, id: ::Identifier) -> BlockStatus; + fn status_of( + &self, + id: ::Identifier, + ) -> Result, Self::Error>; /// The header of the best block. - fn best_block(&self) -> J::Header; + fn best_block(&self) -> Result; /// The justification of the top finalized block. - fn top_finalized(&self) -> J; + fn top_finalized(&self) -> Result; } diff --git a/finality-aleph/src/sync/substrate/chain_status.rs b/finality-aleph/src/sync/substrate/chain_status.rs new file mode 100644 index 0000000000..74958dba6f --- /dev/null +++ b/finality-aleph/src/sync/substrate/chain_status.rs @@ -0,0 +1,162 @@ +use std::{ + fmt::{Display, Error as FmtError, Formatter}, + marker::PhantomData, +}; + +use aleph_primitives::{BlockNumber, ALEPH_ENGINE_ID}; +use log::warn; +use sp_blockchain::{Backend, Error as ClientError}; +use sp_runtime::{ + generic::BlockId as SubstrateBlockId, + traits::{Block as BlockT, Header as SubstrateHeader}, +}; + +use crate::{ + justification::backwards_compatible_decode, + sync::{substrate::Justification, BlockStatus, ChainStatus, Header, LOG_TARGET}, + AlephJustification, +}; + +/// What can go wrong when checking chain status +#[derive(Debug)] +pub enum Error { + MissingHash(B::Hash), + MissingJustification(B::Hash), + Client(ClientError), +} + +impl Display for Error { + fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), FmtError> { + use Error::*; + match self { + MissingHash(hash) => { + write!( + f, + "data availability problem: no block for existing hash {:?}", + hash + ) + } + MissingJustification(hash) => { + write!( + f, + "data availability problem: no justification for finalized block with hash {:?}", + hash + ) + } + Client(e) => { + write!(f, "substrate client error {}", e) + } + } + } +} + +impl From for Error { + fn from(value: ClientError) -> Self { + Error::Client(value) + } +} + +/// Substrate implementation of ChainStatus trait +pub struct SubstrateChainStatus +where + BE: Backend, + B: BlockT, + B::Header: SubstrateHeader, +{ + client: BE, + _phantom: PhantomData, +} + +impl SubstrateChainStatus +where + BE: Backend, + B: BlockT, + B::Header: SubstrateHeader, +{ + fn header(&self, hash: B::Hash) -> Result, ClientError> { + let id = SubstrateBlockId::::Hash(hash); + self.client.header(id) + } + + fn justification(&self, hash: B::Hash) -> Result, ClientError> { + let id = SubstrateBlockId::::Hash(hash); + let justification = match self + .client + .justifications(id)? + .and_then(|j| j.into_justification(ALEPH_ENGINE_ID)) + { + Some(justification) => justification, + None => return Ok(None), + }; + + match backwards_compatible_decode(justification) { + Ok(justification) => Ok(Some(justification)), + // This should not happen, as we only import correctly encoded justification. + Err(e) => { + warn!( + target: LOG_TARGET, + "Could not decode stored justification for block {:?}: {}", hash, e + ); + Ok(None) + } + } + } + + fn best_hash(&self) -> B::Hash { + self.client.info().best_hash + } + + fn finalized_hash(&self) -> B::Hash { + self.client.info().finalized_hash + } +} + +impl ChainStatus> for SubstrateChainStatus +where + BE: Backend, + B: BlockT, + B::Header: SubstrateHeader, +{ + type Error = Error; + + fn status_of( + &self, + id: ::Identifier, + ) -> Result>, Self::Error> { + let header = match self.header(id.hash)? { + Some(header) => header, + None => return Ok(BlockStatus::Unknown), + }; + + if let Some(raw_justification) = self.justification(id.hash)? { + Ok(BlockStatus::Justified(Justification { + header, + raw_justification, + })) + } else { + Ok(BlockStatus::Present(header)) + } + } + + fn best_block(&self) -> Result { + let best_hash = self.best_hash(); + + self.header(best_hash)?.ok_or(Error::MissingHash(best_hash)) + } + + fn top_finalized(&self) -> Result, Self::Error> { + let finalized_hash = self.finalized_hash(); + + let header = self + .header(finalized_hash)? + .ok_or(Error::MissingHash(finalized_hash))?; + let raw_justification = self + .justification(finalized_hash)? + .ok_or(Error::MissingJustification(finalized_hash))?; + + Ok(Justification { + header, + raw_justification, + }) + } +} diff --git a/finality-aleph/src/sync/substrate/mod.rs b/finality-aleph/src/sync/substrate/mod.rs index 56cd111be1..049ad41c44 100644 --- a/finality-aleph/src/sync/substrate/mod.rs +++ b/finality-aleph/src/sync/substrate/mod.rs @@ -8,6 +8,7 @@ use crate::{ AlephJustification, }; +mod chain_status; mod status_notifier; #[derive(Clone, Debug, PartialEq, Eq)] From 69f93f29e370606f2ce3a971b8f454bd12624446 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Piotr=20Miko=C5=82ajczyk?= Date: Mon, 9 Jan 2023 14:30:04 +0100 Subject: [PATCH 072/212] Remove `pub(crate)` from `aleph-client` (#849) * Remove `pub(crate)` * Don't expose client * Revert "Don't expose client" This reverts commit 66a34176aa3a658300297c37a9a651dce86d1b28. * Bump --- aleph-client/Cargo.lock | 2 +- aleph-client/Cargo.toml | 2 +- aleph-client/src/connections.rs | 9 ++++++--- aleph-client/src/lib.rs | 3 ++- bin/cliain/Cargo.lock | 2 +- 5 files changed, 11 insertions(+), 7 deletions(-) diff --git a/aleph-client/Cargo.lock b/aleph-client/Cargo.lock index f0ce7e0d9c..3d9cd6dd90 100644 --- a/aleph-client/Cargo.lock +++ b/aleph-client/Cargo.lock @@ -49,7 +49,7 @@ dependencies = [ [[package]] name = "aleph_client" -version = "2.6.0" +version = "2.7.0" dependencies = [ "anyhow", "async-trait", diff --git a/aleph-client/Cargo.toml b/aleph-client/Cargo.toml index 7b6850dd1d..1e8ab5a76c 100644 --- a/aleph-client/Cargo.toml +++ b/aleph-client/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "aleph_client" # TODO bump major version when API stablize -version = "2.6.0" +version = "2.7.0" edition = "2021" license = "Apache 2.0" diff --git a/aleph-client/src/connections.rs b/aleph-client/src/connections.rs index aab0b24a84..b21c1b54f8 100644 --- a/aleph-client/src/connections.rs +++ b/aleph-client/src/connections.rs @@ -34,11 +34,13 @@ pub struct RootConnection { connection: SignedConnection, } -pub(crate) trait AsConnection { +/// Castability to a plain connection. +pub trait AsConnection { fn as_connection(&self) -> &Connection; } -pub(crate) trait AsSigned { +/// Castability to a signed connection. +pub trait AsSigned { fn as_signed(&self) -> &SignedConnection; } @@ -337,7 +339,8 @@ impl Connection { } } - pub(crate) fn as_client(&self) -> &SubxtClient { + /// Casts self to the underlying RPC client. + pub fn as_client(&self) -> &SubxtClient { &self.client } } diff --git a/aleph-client/src/lib.rs b/aleph-client/src/lib.rs index 313f30d6df..74d232850f 100644 --- a/aleph-client/src/lib.rs +++ b/aleph-client/src/lib.rs @@ -52,7 +52,8 @@ pub type Client = OnlineClient; /// An alias for a hash type. pub type BlockHash = H256; -pub(crate) type SubxtClient = OnlineClient; +/// An alias for an RPC client type. +pub type SubxtClient = OnlineClient; pub use connections::{ Connection, ConnectionApi, RootConnection, SignedConnection, SignedConnectionApi, SudoCall, diff --git a/bin/cliain/Cargo.lock b/bin/cliain/Cargo.lock index 1b0ef9676f..9faa15778a 100644 --- a/bin/cliain/Cargo.lock +++ b/bin/cliain/Cargo.lock @@ -49,7 +49,7 @@ dependencies = [ [[package]] name = "aleph_client" -version = "2.6.0" +version = "2.7.0" dependencies = [ "anyhow", "async-trait", From 7c1d8220631e75b7830008d021f5f870c346ba80 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Obrok?= Date: Mon, 9 Jan 2023 18:05:42 +0100 Subject: [PATCH 073/212] Use official contract-transcode instead of fork (#847) --- aleph-client/Cargo.lock | 79 ++++++++++--------------------- aleph-client/Cargo.toml | 2 +- benches/payout-stakers/Cargo.lock | 70 +++++++++++++-------------- bin/cliain/Cargo.lock | 51 ++++++++++---------- e2e-tests/Cargo.lock | 62 ++++++++++-------------- flooder/Cargo.lock | 70 +++++++++++++-------------- 6 files changed, 142 insertions(+), 192 deletions(-) diff --git a/aleph-client/Cargo.lock b/aleph-client/Cargo.lock index 3d9cd6dd90..4ecf994c0a 100644 --- a/aleph-client/Cargo.lock +++ b/aleph-client/Cargo.lock @@ -53,7 +53,7 @@ version = "2.7.0" dependencies = [ "anyhow", "async-trait", - "contract-metadata 2.0.0-beta.1", + "contract-metadata 2.0.0-beta.1 (registry+https://github.com/rust-lang/crates.io-index)", "contract-transcode", "frame-support", "futures", @@ -92,9 +92,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.66" +version = "1.0.68" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "216261ddc8289130e551ddcd5ce8a064710c0d064a4d2895c67151c92b5443f6" +checksum = "2cb2f989d18dd141ab8ae82f64d1a8cdd37e0840f73a406896cf5e99502fab61" [[package]] name = "array-bytes" @@ -141,17 +141,6 @@ dependencies = [ "syn", ] -[[package]] -name = "atty" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" -dependencies = [ - "hermit-abi", - "libc", - "winapi", -] - [[package]] name = "autocfg" version = "1.1.0" @@ -362,8 +351,9 @@ checksum = "e4c78c047431fee22c1a7bb92e00ad095a02a983affe4d8a72e2a2c62c1b94f3" [[package]] name = "contract-metadata" -version = "2.0.0-beta" -source = "git+https://github.com/obrok/cargo-contract?branch=send-sync-env-types#c0ade59847f09ef558c8bca0dc2cf8f78b031188" +version = "2.0.0-beta.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7bff7703529b16e9d8ba0d54e842b2051691772a822eb9bc130a91183ff9f6a6" dependencies = [ "anyhow", "impl-serde", @@ -376,8 +366,7 @@ dependencies = [ [[package]] name = "contract-metadata" version = "2.0.0-beta.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7bff7703529b16e9d8ba0d54e842b2051691772a822eb9bc130a91183ff9f6a6" +source = "git+https://github.com/paritytech/cargo-contract?rev=7ca8c365fc1e157cd52901c54949b2faf1cd8899#7ca8c365fc1e157cd52901c54949b2faf1cd8899" dependencies = [ "anyhow", "impl-serde", @@ -389,12 +378,11 @@ dependencies = [ [[package]] name = "contract-transcode" -version = "2.0.0-beta" -source = "git+https://github.com/obrok/cargo-contract?branch=send-sync-env-types#c0ade59847f09ef558c8bca0dc2cf8f78b031188" +version = "2.0.0-beta.1" +source = "git+https://github.com/paritytech/cargo-contract?rev=7ca8c365fc1e157cd52901c54949b2faf1cd8899#7ca8c365fc1e157cd52901c54949b2faf1cd8899" dependencies = [ "anyhow", - "contract-metadata 2.0.0-beta", - "env_logger", + "contract-metadata 2.0.0-beta.1 (git+https://github.com/paritytech/cargo-contract?rev=7ca8c365fc1e157cd52901c54949b2faf1cd8899)", "escape8259", "hex", "indexmap", @@ -733,19 +721,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "env_logger" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a12e6657c4c97ebab115a42dcee77225f7f482cdd841cf7088c657a42e9e00e7" -dependencies = [ - "atty", - "humantime", - "log", - "regex", - "termcolor", -] - [[package]] name = "environmental" version = "1.1.4" @@ -1207,12 +1182,6 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421" -[[package]] -name = "humantime" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" - [[package]] name = "hyper" version = "0.14.23" @@ -1788,9 +1757,9 @@ checksum = "2bf50223579dc7cdcfb3bfcacf7069ff68243f8c363f62ffa99cf000a6b9c451" [[package]] name = "nom" -version = "7.1.1" +version = "7.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8903e5a29a317527874d0402f867152a3d21c908bb0b933e416c65e301d4c36" +checksum = "e5507769c4919c998e69e49c839d9dc6e693ede4cc4290d6ad8b41d4f09c548c" dependencies = [ "memchr", "minimal-lexical", @@ -2426,9 +2395,9 @@ dependencies = [ [[package]] name = "scale-info" -version = "2.3.0" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88d8a765117b237ef233705cc2cc4c6a27fccd46eea6ef0c8c6dae5f3ef407f8" +checksum = "001cf62ece89779fd16105b5f515ad0e5cedcd5440d3dd806bb067978e7c3608" dependencies = [ "bitvec", "cfg-if", @@ -2440,9 +2409,9 @@ dependencies = [ [[package]] name = "scale-info-derive" -version = "2.3.0" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdcd47b380d8c4541044e341dcd9475f55ba37ddc50c908d945fc036a8642496" +checksum = "303959cf613a6f6efd19ed4b4ad5bf79966a13352716299ad532cfb115f4205c" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -2582,27 +2551,27 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.14" +version = "1.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e25dfac463d778e353db5be2449d1cce89bd6fd23c9f1ea21310ce6e5a1b29c4" +checksum = "58bc9567378fc7690d6b2addae4e60ac2eeea07becb2c64b9f218b53865cba2a" dependencies = [ "serde", ] [[package]] name = "serde" -version = "1.0.151" +version = "1.0.152" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97fed41fc1a24994d044e6db6935e69511a1153b52c15eb42493b26fa87feba0" +checksum = "bb7d1f0d3021d347a83e556fc4683dea2ea09d87bccdf88ff5c12545d89d5efb" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.151" +version = "1.0.152" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "255abe9a125a985c05190d687b320c12f9b1f0b99445e608c21ba0782c719ad8" +checksum = "af487d118eecd09402d70a5d72551860e788df87b464af30e5ea6a38c75c541e" dependencies = [ "proc-macro2", "quote", @@ -2611,9 +2580,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.89" +version = "1.0.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "020ff22c755c2ed3f8cf162dbb41a7268d934702f3ed3631656ea597e08fc3db" +checksum = "877c235533714907a8c2464236f5c4b2a17262ef1bd71f38f35ea592c8da6883" dependencies = [ "itoa", "ryu", diff --git a/aleph-client/Cargo.toml b/aleph-client/Cargo.toml index 1e8ab5a76c..95961566c2 100644 --- a/aleph-client/Cargo.toml +++ b/aleph-client/Cargo.toml @@ -14,7 +14,7 @@ log = "0.4" serde_json = { version = "1.0" } thiserror = "1.0" contract-metadata = "2.0.0-beta" -contract-transcode = { git = "https://github.com/obrok/cargo-contract", branch = "send-sync-env-types" } +contract-transcode = { git = "https://github.com/paritytech/cargo-contract", rev = "7ca8c365fc1e157cd52901c54949b2faf1cd8899" } ink_metadata = "4.0.0-beta" subxt = "0.25.0" futures = "0.3.25" diff --git a/benches/payout-stakers/Cargo.lock b/benches/payout-stakers/Cargo.lock index b7108bb045..9b1dad9c35 100644 --- a/benches/payout-stakers/Cargo.lock +++ b/benches/payout-stakers/Cargo.lock @@ -53,7 +53,7 @@ version = "2.6.0" dependencies = [ "anyhow", "async-trait", - "contract-metadata", + "contract-metadata 2.0.0-beta", "contract-transcode", "frame-support", "futures", @@ -91,9 +91,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.66" +version = "1.0.68" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "216261ddc8289130e551ddcd5ce8a064710c0d064a4d2895c67151c92b5443f6" +checksum = "2cb2f989d18dd141ab8ae82f64d1a8cdd37e0840f73a406896cf5e99502fab61" [[package]] name = "array-bytes" @@ -412,15 +412,26 @@ dependencies = [ "url", ] +[[package]] +name = "contract-metadata" +version = "2.0.0-beta.1" +source = "git+https://github.com/paritytech/cargo-contract?rev=7ca8c365fc1e157cd52901c54949b2faf1cd8899#7ca8c365fc1e157cd52901c54949b2faf1cd8899" +dependencies = [ + "anyhow", + "impl-serde", + "semver", + "serde", + "serde_json", + "url", +] + [[package]] name = "contract-transcode" -version = "2.0.0-beta" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61159f8e266d4892be25f2b1e7ff2c4c6dd4338ca26498d907e5532a52a28e5f" +version = "2.0.0-beta.1" +source = "git+https://github.com/paritytech/cargo-contract?rev=7ca8c365fc1e157cd52901c54949b2faf1cd8899#7ca8c365fc1e157cd52901c54949b2faf1cd8899" dependencies = [ "anyhow", - "contract-metadata", - "env_logger 0.9.3", + "contract-metadata 2.0.0-beta.1", "escape8259", "hex", "indexmap", @@ -772,19 +783,6 @@ dependencies = [ "termcolor", ] -[[package]] -name = "env_logger" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a12e6657c4c97ebab115a42dcee77225f7f482cdd841cf7088c657a42e9e00e7" -dependencies = [ - "atty", - "humantime", - "log", - "regex", - "termcolor", -] - [[package]] name = "environmental" version = "1.1.4" @@ -1827,9 +1825,9 @@ checksum = "2bf50223579dc7cdcfb3bfcacf7069ff68243f8c363f62ffa99cf000a6b9c451" [[package]] name = "nom" -version = "7.1.1" +version = "7.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8903e5a29a317527874d0402f867152a3d21c908bb0b933e416c65e301d4c36" +checksum = "e5507769c4919c998e69e49c839d9dc6e693ede4cc4290d6ad8b41d4f09c548c" dependencies = [ "memchr", "minimal-lexical", @@ -2062,7 +2060,7 @@ dependencies = [ "aleph_client", "anyhow", "clap", - "env_logger 0.8.4", + "env_logger", "futures", "hex", "log", @@ -2491,9 +2489,9 @@ dependencies = [ [[package]] name = "scale-info" -version = "2.3.0" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88d8a765117b237ef233705cc2cc4c6a27fccd46eea6ef0c8c6dae5f3ef407f8" +checksum = "001cf62ece89779fd16105b5f515ad0e5cedcd5440d3dd806bb067978e7c3608" dependencies = [ "bitvec", "cfg-if", @@ -2505,9 +2503,9 @@ dependencies = [ [[package]] name = "scale-info-derive" -version = "2.3.0" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdcd47b380d8c4541044e341dcd9475f55ba37ddc50c908d945fc036a8642496" +checksum = "303959cf613a6f6efd19ed4b4ad5bf79966a13352716299ad532cfb115f4205c" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -2647,27 +2645,27 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.14" +version = "1.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e25dfac463d778e353db5be2449d1cce89bd6fd23c9f1ea21310ce6e5a1b29c4" +checksum = "58bc9567378fc7690d6b2addae4e60ac2eeea07becb2c64b9f218b53865cba2a" dependencies = [ "serde", ] [[package]] name = "serde" -version = "1.0.148" +version = "1.0.152" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e53f64bb4ba0191d6d0676e1b141ca55047d83b74f5607e6d8eb88126c52c2dc" +checksum = "bb7d1f0d3021d347a83e556fc4683dea2ea09d87bccdf88ff5c12545d89d5efb" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.148" +version = "1.0.152" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a55492425aa53521babf6137309e7d34c20bbfbbfcfe2c7f3a047fd1f6b92c0c" +checksum = "af487d118eecd09402d70a5d72551860e788df87b464af30e5ea6a38c75c541e" dependencies = [ "proc-macro2", "quote", @@ -2676,9 +2674,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.89" +version = "1.0.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "020ff22c755c2ed3f8cf162dbb41a7268d934702f3ed3631656ea597e08fc3db" +checksum = "877c235533714907a8c2464236f5c4b2a17262ef1bd71f38f35ea592c8da6883" dependencies = [ "itoa", "ryu", diff --git a/bin/cliain/Cargo.lock b/bin/cliain/Cargo.lock index 9faa15778a..0bf160d3fc 100644 --- a/bin/cliain/Cargo.lock +++ b/bin/cliain/Cargo.lock @@ -53,8 +53,8 @@ version = "2.7.0" dependencies = [ "anyhow", "async-trait", - "contract-metadata 2.0.0-beta (registry+https://github.com/rust-lang/crates.io-index)", - "contract-transcode 2.0.0-beta (git+https://github.com/obrok/cargo-contract?branch=send-sync-env-types)", + "contract-metadata 2.0.0-beta", + "contract-transcode 2.0.0-beta.1", "frame-support", "futures", "hex", @@ -91,9 +91,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.66" +version = "1.0.68" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "216261ddc8289130e551ddcd5ce8a064710c0d064a4d2895c67151c92b5443f6" +checksum = "2cb2f989d18dd141ab8ae82f64d1a8cdd37e0840f73a406896cf5e99502fab61" [[package]] name = "approx" @@ -399,7 +399,7 @@ dependencies = [ "anyhow", "clap", "contract-metadata 0.6.0", - "contract-transcode 2.0.0-beta (registry+https://github.com/rust-lang/crates.io-index)", + "contract-transcode 2.0.0-beta", "dialoguer", "env_logger 0.8.4", "hex", @@ -473,8 +473,8 @@ dependencies = [ [[package]] name = "contract-metadata" -version = "2.0.0-beta" -source = "git+https://github.com/obrok/cargo-contract?branch=send-sync-env-types#d9db29d579c5ba9d19a8f9b64ef1b00112604d5c" +version = "2.0.0-beta.1" +source = "git+https://github.com/paritytech/cargo-contract?rev=7ca8c365fc1e157cd52901c54949b2faf1cd8899#7ca8c365fc1e157cd52901c54949b2faf1cd8899" dependencies = [ "anyhow", "impl-serde 0.4.0", @@ -491,7 +491,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "61159f8e266d4892be25f2b1e7ff2c4c6dd4338ca26498d907e5532a52a28e5f" dependencies = [ "anyhow", - "contract-metadata 2.0.0-beta (registry+https://github.com/rust-lang/crates.io-index)", + "contract-metadata 2.0.0-beta", "env_logger 0.9.3", "escape8259", "hex", @@ -512,12 +512,11 @@ dependencies = [ [[package]] name = "contract-transcode" -version = "2.0.0-beta" -source = "git+https://github.com/obrok/cargo-contract?branch=send-sync-env-types#d9db29d579c5ba9d19a8f9b64ef1b00112604d5c" +version = "2.0.0-beta.1" +source = "git+https://github.com/paritytech/cargo-contract?rev=7ca8c365fc1e157cd52901c54949b2faf1cd8899#7ca8c365fc1e157cd52901c54949b2faf1cd8899" dependencies = [ "anyhow", - "contract-metadata 2.0.0-beta (git+https://github.com/obrok/cargo-contract?branch=send-sync-env-types)", - "env_logger 0.9.3", + "contract-metadata 2.0.0-beta.1", "escape8259", "hex", "indexmap", @@ -2066,9 +2065,9 @@ checksum = "2bf50223579dc7cdcfb3bfcacf7069ff68243f8c363f62ffa99cf000a6b9c451" [[package]] name = "nom" -version = "7.1.1" +version = "7.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8903e5a29a317527874d0402f867152a3d21c908bb0b933e416c65e301d4c36" +checksum = "e5507769c4919c998e69e49c839d9dc6e693ede4cc4290d6ad8b41d4f09c548c" dependencies = [ "memchr", "minimal-lexical", @@ -2821,9 +2820,9 @@ dependencies = [ [[package]] name = "scale-info" -version = "2.3.0" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88d8a765117b237ef233705cc2cc4c6a27fccd46eea6ef0c8c6dae5f3ef407f8" +checksum = "001cf62ece89779fd16105b5f515ad0e5cedcd5440d3dd806bb067978e7c3608" dependencies = [ "bitvec", "cfg-if", @@ -2835,9 +2834,9 @@ dependencies = [ [[package]] name = "scale-info-derive" -version = "2.3.0" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdcd47b380d8c4541044e341dcd9475f55ba37ddc50c908d945fc036a8642496" +checksum = "303959cf613a6f6efd19ed4b4ad5bf79966a13352716299ad532cfb115f4205c" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -2977,27 +2976,27 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.14" +version = "1.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e25dfac463d778e353db5be2449d1cce89bd6fd23c9f1ea21310ce6e5a1b29c4" +checksum = "58bc9567378fc7690d6b2addae4e60ac2eeea07becb2c64b9f218b53865cba2a" dependencies = [ "serde", ] [[package]] name = "serde" -version = "1.0.148" +version = "1.0.152" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e53f64bb4ba0191d6d0676e1b141ca55047d83b74f5607e6d8eb88126c52c2dc" +checksum = "bb7d1f0d3021d347a83e556fc4683dea2ea09d87bccdf88ff5c12545d89d5efb" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.148" +version = "1.0.152" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a55492425aa53521babf6137309e7d34c20bbfbbfcfe2c7f3a047fd1f6b92c0c" +checksum = "af487d118eecd09402d70a5d72551860e788df87b464af30e5ea6a38c75c541e" dependencies = [ "proc-macro2", "quote", @@ -3006,9 +3005,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.89" +version = "1.0.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "020ff22c755c2ed3f8cf162dbb41a7268d934702f3ed3631656ea597e08fc3db" +checksum = "877c235533714907a8c2464236f5c4b2a17262ef1bd71f38f35ea592c8da6883" dependencies = [ "itoa", "ryu", diff --git a/e2e-tests/Cargo.lock b/e2e-tests/Cargo.lock index c4cdb3df49..69fa1e40ed 100644 --- a/e2e-tests/Cargo.lock +++ b/e2e-tests/Cargo.lock @@ -82,7 +82,7 @@ version = "2.6.0" dependencies = [ "anyhow", "async-trait", - "contract-metadata 2.0.0-beta.1", + "contract-metadata 2.0.0-beta.1 (registry+https://github.com/rust-lang/crates.io-index)", "contract-transcode", "frame-support", "futures", @@ -120,9 +120,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.66" +version = "1.0.68" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "216261ddc8289130e551ddcd5ce8a064710c0d064a4d2895c67151c92b5443f6" +checksum = "2cb2f989d18dd141ab8ae82f64d1a8cdd37e0840f73a406896cf5e99502fab61" [[package]] name = "approx" @@ -459,8 +459,9 @@ checksum = "e4c78c047431fee22c1a7bb92e00ad095a02a983affe4d8a72e2a2c62c1b94f3" [[package]] name = "contract-metadata" -version = "2.0.0-beta" -source = "git+https://github.com/obrok/cargo-contract?branch=send-sync-env-types#c0ade59847f09ef558c8bca0dc2cf8f78b031188" +version = "2.0.0-beta.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7bff7703529b16e9d8ba0d54e842b2051691772a822eb9bc130a91183ff9f6a6" dependencies = [ "anyhow", "impl-serde", @@ -473,8 +474,7 @@ dependencies = [ [[package]] name = "contract-metadata" version = "2.0.0-beta.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7bff7703529b16e9d8ba0d54e842b2051691772a822eb9bc130a91183ff9f6a6" +source = "git+https://github.com/paritytech/cargo-contract?rev=7ca8c365fc1e157cd52901c54949b2faf1cd8899#7ca8c365fc1e157cd52901c54949b2faf1cd8899" dependencies = [ "anyhow", "impl-serde", @@ -486,12 +486,11 @@ dependencies = [ [[package]] name = "contract-transcode" -version = "2.0.0-beta" -source = "git+https://github.com/obrok/cargo-contract?branch=send-sync-env-types#c0ade59847f09ef558c8bca0dc2cf8f78b031188" +version = "2.0.0-beta.1" +source = "git+https://github.com/paritytech/cargo-contract?rev=7ca8c365fc1e157cd52901c54949b2faf1cd8899#7ca8c365fc1e157cd52901c54949b2faf1cd8899" dependencies = [ "anyhow", - "contract-metadata 2.0.0-beta", - "env_logger 0.9.3", + "contract-metadata 2.0.0-beta.1 (git+https://github.com/paritytech/cargo-contract?rev=7ca8c365fc1e157cd52901c54949b2faf1cd8899)", "escape8259", "hex", "indexmap", @@ -895,19 +894,6 @@ dependencies = [ "termcolor", ] -[[package]] -name = "env_logger" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a12e6657c4c97ebab115a42dcee77225f7f482cdd841cf7088c657a42e9e00e7" -dependencies = [ - "atty", - "humantime", - "log", - "regex", - "termcolor", -] - [[package]] name = "env_logger" version = "0.10.0" @@ -2204,9 +2190,9 @@ checksum = "2bf50223579dc7cdcfb3bfcacf7069ff68243f8c363f62ffa99cf000a6b9c451" [[package]] name = "nom" -version = "7.1.1" +version = "7.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8903e5a29a317527874d0402f867152a3d21c908bb0b933e416c65e301d4c36" +checksum = "e5507769c4919c998e69e49c839d9dc6e693ede4cc4290d6ad8b41d4f09c548c" dependencies = [ "memchr", "minimal-lexical", @@ -3132,9 +3118,9 @@ dependencies = [ [[package]] name = "scale-info" -version = "2.3.0" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88d8a765117b237ef233705cc2cc4c6a27fccd46eea6ef0c8c6dae5f3ef407f8" +checksum = "001cf62ece89779fd16105b5f515ad0e5cedcd5440d3dd806bb067978e7c3608" dependencies = [ "bitvec", "cfg-if", @@ -3146,9 +3132,9 @@ dependencies = [ [[package]] name = "scale-info-derive" -version = "2.3.0" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdcd47b380d8c4541044e341dcd9475f55ba37ddc50c908d945fc036a8642496" +checksum = "303959cf613a6f6efd19ed4b4ad5bf79966a13352716299ad532cfb115f4205c" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -3288,27 +3274,27 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.14" +version = "1.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e25dfac463d778e353db5be2449d1cce89bd6fd23c9f1ea21310ce6e5a1b29c4" +checksum = "58bc9567378fc7690d6b2addae4e60ac2eeea07becb2c64b9f218b53865cba2a" dependencies = [ "serde", ] [[package]] name = "serde" -version = "1.0.150" +version = "1.0.152" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e326c9ec8042f1b5da33252c8a37e9ffbd2c9bef0155215b6e6c80c790e05f91" +checksum = "bb7d1f0d3021d347a83e556fc4683dea2ea09d87bccdf88ff5c12545d89d5efb" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.150" +version = "1.0.152" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42a3df25b0713732468deadad63ab9da1f1fd75a48a15024b50363f128db627e" +checksum = "af487d118eecd09402d70a5d72551860e788df87b464af30e5ea6a38c75c541e" dependencies = [ "proc-macro2", "quote", @@ -3317,9 +3303,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.89" +version = "1.0.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "020ff22c755c2ed3f8cf162dbb41a7268d934702f3ed3631656ea597e08fc3db" +checksum = "877c235533714907a8c2464236f5c4b2a17262ef1bd71f38f35ea592c8da6883" dependencies = [ "itoa", "ryu", diff --git a/flooder/Cargo.lock b/flooder/Cargo.lock index d1b9af837e..7abb059b74 100644 --- a/flooder/Cargo.lock +++ b/flooder/Cargo.lock @@ -53,7 +53,7 @@ version = "2.6.0" dependencies = [ "anyhow", "async-trait", - "contract-metadata", + "contract-metadata 2.0.0-beta", "contract-transcode", "frame-support", "futures", @@ -91,9 +91,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.66" +version = "1.0.68" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "216261ddc8289130e551ddcd5ce8a064710c0d064a4d2895c67151c92b5443f6" +checksum = "2cb2f989d18dd141ab8ae82f64d1a8cdd37e0840f73a406896cf5e99502fab61" [[package]] name = "array-bytes" @@ -449,15 +449,26 @@ dependencies = [ "url", ] +[[package]] +name = "contract-metadata" +version = "2.0.0-beta.1" +source = "git+https://github.com/paritytech/cargo-contract?rev=7ca8c365fc1e157cd52901c54949b2faf1cd8899#7ca8c365fc1e157cd52901c54949b2faf1cd8899" +dependencies = [ + "anyhow", + "impl-serde", + "semver", + "serde", + "serde_json", + "url", +] + [[package]] name = "contract-transcode" -version = "2.0.0-beta" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61159f8e266d4892be25f2b1e7ff2c4c6dd4338ca26498d907e5532a52a28e5f" +version = "2.0.0-beta.1" +source = "git+https://github.com/paritytech/cargo-contract?rev=7ca8c365fc1e157cd52901c54949b2faf1cd8899#7ca8c365fc1e157cd52901c54949b2faf1cd8899" dependencies = [ "anyhow", - "contract-metadata", - "env_logger 0.9.3", + "contract-metadata 2.0.0-beta.1", "escape8259", "hex", "indexmap", @@ -837,19 +848,6 @@ dependencies = [ "termcolor", ] -[[package]] -name = "env_logger" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a12e6657c4c97ebab115a42dcee77225f7f482cdd841cf7088c657a42e9e00e7" -dependencies = [ - "atty", - "humantime", - "log", - "regex", - "termcolor", -] - [[package]] name = "environmental" version = "1.1.4" @@ -925,7 +923,7 @@ dependencies = [ "aleph_client", "anyhow", "clap", - "env_logger 0.8.4", + "env_logger", "futures", "hdrhistogram", "log", @@ -2057,9 +2055,9 @@ checksum = "2bf50223579dc7cdcfb3bfcacf7069ff68243f8c363f62ffa99cf000a6b9c451" [[package]] name = "nom" -version = "7.1.1" +version = "7.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8903e5a29a317527874d0402f867152a3d21c908bb0b933e416c65e301d4c36" +checksum = "e5507769c4919c998e69e49c839d9dc6e693ede4cc4290d6ad8b41d4f09c548c" dependencies = [ "memchr", "minimal-lexical", @@ -2746,9 +2744,9 @@ dependencies = [ [[package]] name = "scale-info" -version = "2.3.0" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88d8a765117b237ef233705cc2cc4c6a27fccd46eea6ef0c8c6dae5f3ef407f8" +checksum = "001cf62ece89779fd16105b5f515ad0e5cedcd5440d3dd806bb067978e7c3608" dependencies = [ "bitvec", "cfg-if 1.0.0", @@ -2760,9 +2758,9 @@ dependencies = [ [[package]] name = "scale-info-derive" -version = "2.3.0" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdcd47b380d8c4541044e341dcd9475f55ba37ddc50c908d945fc036a8642496" +checksum = "303959cf613a6f6efd19ed4b4ad5bf79966a13352716299ad532cfb115f4205c" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -2902,27 +2900,27 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.14" +version = "1.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e25dfac463d778e353db5be2449d1cce89bd6fd23c9f1ea21310ce6e5a1b29c4" +checksum = "58bc9567378fc7690d6b2addae4e60ac2eeea07becb2c64b9f218b53865cba2a" dependencies = [ "serde", ] [[package]] name = "serde" -version = "1.0.148" +version = "1.0.152" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e53f64bb4ba0191d6d0676e1b141ca55047d83b74f5607e6d8eb88126c52c2dc" +checksum = "bb7d1f0d3021d347a83e556fc4683dea2ea09d87bccdf88ff5c12545d89d5efb" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.148" +version = "1.0.152" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a55492425aa53521babf6137309e7d34c20bbfbbfcfe2c7f3a047fd1f6b92c0c" +checksum = "af487d118eecd09402d70a5d72551860e788df87b464af30e5ea6a38c75c541e" dependencies = [ "proc-macro2", "quote", @@ -2931,9 +2929,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.89" +version = "1.0.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "020ff22c755c2ed3f8cf162dbb41a7268d934702f3ed3631656ea597e08fc3db" +checksum = "877c235533714907a8c2464236f5c4b2a17262ef1bd71f38f35ea592c8da6883" dependencies = [ "itoa", "ryu", From c55171683602c7e3ab3d606a9189ee3776a56fc0 Mon Sep 17 00:00:00 2001 From: Damian Straszak Date: Tue, 10 Jan 2023 11:38:54 +0100 Subject: [PATCH 074/212] Bump to 9.0 (#853) --- Cargo.lock | 4 ++-- bin/node/Cargo.toml | 2 +- bin/runtime/Cargo.toml | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index d828ae8c4a..610adf393d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -236,7 +236,7 @@ dependencies = [ [[package]] name = "aleph-node" -version = "0.8.4" +version = "0.9.0" dependencies = [ "aleph-runtime", "finality-aleph", @@ -290,7 +290,7 @@ dependencies = [ [[package]] name = "aleph-runtime" -version = "0.8.5" +version = "0.9.0" dependencies = [ "frame-executive", "frame-support", diff --git a/bin/node/Cargo.toml b/bin/node/Cargo.toml index 1b6cf3921a..e2d4dbb6dd 100644 --- a/bin/node/Cargo.toml +++ b/bin/node/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "aleph-node" -version = "0.8.4" +version = "0.9.0" authors = ["Cardinal Cryptography"] description = "Aleph node binary" edition = "2021" diff --git a/bin/runtime/Cargo.toml b/bin/runtime/Cargo.toml index 5fd0d072ae..238c41da18 100644 --- a/bin/runtime/Cargo.toml +++ b/bin/runtime/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "aleph-runtime" -version = "0.8.5" +version = "0.9.0" authors = ["Cardinal Cryptography"] edition = "2021" homepage = "https://alephzero.org" From a1423c054248f3076c9e8c018a615f4de8ec8003 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maciej=20Nem=C5=9B?= Date: Tue, 10 Jan 2023 17:15:02 +0100 Subject: [PATCH 075/212] A0-1821: add substrate specific finalizer for sync protocol (#854) --- .../src/sync/substrate/finalizer.rs | 31 +++++++++++++++++++ finality-aleph/src/sync/substrate/mod.rs | 1 + 2 files changed, 32 insertions(+) create mode 100644 finality-aleph/src/sync/substrate/finalizer.rs diff --git a/finality-aleph/src/sync/substrate/finalizer.rs b/finality-aleph/src/sync/substrate/finalizer.rs new file mode 100644 index 0000000000..4bd4c9aa4f --- /dev/null +++ b/finality-aleph/src/sync/substrate/finalizer.rs @@ -0,0 +1,31 @@ +use aleph_primitives::{BlockNumber, ALEPH_ENGINE_ID}; +use sc_client_api::{Backend, Finalizer as SubstrateFinalizer, HeaderBackend, LockImportRun}; +use sp_blockchain::Error as ClientError; +use sp_runtime::traits::{Block as BlockT, Header as SubstrateHeader}; + +use crate::{ + finalization::{AlephFinalizer, BlockFinalizer}, + justification::versioned_encode, + sync::{substrate::Justification, Finalizer}, +}; + +impl Finalizer> for AlephFinalizer +where + B: BlockT, + B::Header: SubstrateHeader, + BE: Backend, + C: HeaderBackend + LockImportRun + SubstrateFinalizer, +{ + type Error = ClientError; + + fn finalize(&self, justification: Justification) -> Result<(), Self::Error> { + self.finalize_block( + justification.header.hash(), + *justification.header.number(), + Some(( + ALEPH_ENGINE_ID, + versioned_encode(justification.raw_justification), + )), + ) + } +} diff --git a/finality-aleph/src/sync/substrate/mod.rs b/finality-aleph/src/sync/substrate/mod.rs index 049ad41c44..2a96b49ed9 100644 --- a/finality-aleph/src/sync/substrate/mod.rs +++ b/finality-aleph/src/sync/substrate/mod.rs @@ -9,6 +9,7 @@ use crate::{ }; mod chain_status; +mod finalizer; mod status_notifier; #[derive(Clone, Debug, PartialEq, Eq)] From 34a9202dc83e83c587a8ea07fab18bb91c6501a3 Mon Sep 17 00:00:00 2001 From: Mikolaj Gasior Date: Thu, 12 Jan 2023 13:36:21 +0100 Subject: [PATCH 076/212] Fix syntax error in deploy-testnet workflow --- .github/workflows/deploy-testnet.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/deploy-testnet.yml b/.github/workflows/deploy-testnet.yml index 827ae6d7da..d907195c81 100644 --- a/.github/workflows/deploy-testnet.yml +++ b/.github/workflows/deploy-testnet.yml @@ -94,7 +94,7 @@ jobs: S3BUCKET_URL: s3://${{ secrets.CI_MAINNET_S3BUCKET_NAME }}/builds/aleph-node/commits/${{ steps.get_branch.outputs.sha_short }}/aleph-runtime S3BUCKET_FILE: aleph-runtime-${{ steps.get_branch.outputs.sha_short }}.tar.gz run: | - aws s3 cp ${{ env.S3BUCKET_URL }}/${{ S3BUCKET_FILE }} ${{ env.S3BUCKET_FILE }} + aws s3 cp ${{ env.S3BUCKET_URL }}/${{ env.S3BUCKET_FILE }} ${{ env.S3BUCKET_FILE }} - name: RELEASE ASSET | Add runtime to the release uses: softprops/action-gh-release@v1 From eaf53f64d6699e4733c4329c0c8a017534b3843f Mon Sep 17 00:00:00 2001 From: Mikolaj Gasior Date: Thu, 12 Jan 2023 15:08:01 +0100 Subject: [PATCH 077/212] Remove unnecessary AWS credentials step from deploy-testnet workflow --- .github/workflows/deploy-testnet.yml | 9 --------- 1 file changed, 9 deletions(-) diff --git a/.github/workflows/deploy-testnet.yml b/.github/workflows/deploy-testnet.yml index d907195c81..41bff4f71e 100644 --- a/.github/workflows/deploy-testnet.yml +++ b/.github/workflows/deploy-testnet.yml @@ -79,15 +79,6 @@ jobs: docker push ${{ env.DOCKERHUB_TESTNET_IMAGE }} docker push ${{ env.DOCKERHUB_TESTNET_LATEST_IMAGE }} - - name: S3 CI | Configure AWS credentials - uses: aws-actions/configure-aws-credentials@v1 - env: - AWS_REGION: us-east-1 - with: - aws-access-key-id: ${{ secrets.AWS_DEVNET_ACCESS_KEY_ID }} - aws-secret-access-key: ${{ secrets.AWS_DEVNET_SECRET_ACCESS_KEY }} - aws-region: ${{ env.AWS_REGION }} - - name: S3 CI | Download release runtime from S3 bucket shell: bash env: From 852bff0df01de5a480a7ce19ee6c38cb6be363e7 Mon Sep 17 00:00:00 2001 From: Mikolaj Gasior Date: Thu, 12 Jan 2023 15:15:58 +0100 Subject: [PATCH 078/212] Save to S3 bucket --- .../test-action-save-in-s3-bucket.yaml | 137 ++++++++++++++++++ 1 file changed, 137 insertions(+) create mode 100644 .github/workflows/test-action-save-in-s3-bucket.yaml diff --git a/.github/workflows/test-action-save-in-s3-bucket.yaml b/.github/workflows/test-action-save-in-s3-bucket.yaml new file mode 100644 index 0000000000..c36a752259 --- /dev/null +++ b/.github/workflows/test-action-save-in-s3-bucket.yaml @@ -0,0 +1,137 @@ +name: Test save-in-s3-bucket action + +on: + #pull_request: + # paths: + # - '.github/actions/save-in-s3-bucket/*' + push: + #paths: + # - '.github/actions/save-in-s3-bucket/*' + workflow_dispatch: + +concurrency: + group: ${{ github.ref }}-${{ github.workflow }} + cancel-in-progress: true + +jobs: + save-files-in-s3-bucket: + name: Save files in S3 bucket + runs-on: ubuntu-20.04 + steps: + - name: Checkout source code + uses: actions/checkout@v3 + + - name: Get branch name and commit SHA + id: get_branch + uses: ./.github/actions/get-branch + + - name: Create directory with files to be saved in S3 + run: | + mkdir test-directory1 + mkdir test-directory1/sub-directory1 + echo "new test-file 1" > test-directory1/test-file1.txt + echo "new test-file 2" > test-directory1/test-file2.txt + echo "new test-file 3" > test-directory1/sub-directory1/test-file3.txt + + + - name: Save directory to S3 bucket + uses: ./.github/actions/save-in-s3-bucket + with: + aws-access-key-id: ${{ secrets.AWS_MAINNET_ACCESS_KEY_ID }} + aws-secret-access-key: ${{ secrets.AWS_MAINNET_SECRET_ACCESS_KEY }} + s3bucket-name: ${{ secrets.CI_MAINNET_S3BUCKET_NAME }} + source-type: dir + source-dir: test-directory1 + target-type: path + target-dir: action-tests/save-in-s3-bucket + target-filename: test-dir1.tar.gz + + - name: Save file to S3 bucket + uses: ./.github/actions/save-in-s3-bucket + with: + aws-access-key-id: ${{ secrets.AWS_MAINNET_ACCESS_KEY_ID }} + aws-secret-access-key: ${{ secrets.AWS_MAINNET_SECRET_ACCESS_KEY }} + s3bucket-name: ${{ secrets.CI_MAINNET_S3BUCKET_NAME }} + source-type: file + source-dir: test-directory1 + source-file: test-file1.txt + target-type: path + target-dir: action-tests/save-in-s3-bucket + target-filename: test-file1.tar.gz + + + - name: Save directory as commit artifact to S3 bucket + uses: ./.github/actions/save-in-s3-bucket + with: + aws-access-key-id: ${{ secrets.AWS_MAINNET_ACCESS_KEY_ID }} + aws-secret-access-key: ${{ secrets.AWS_MAINNET_SECRET_ACCESS_KEY }} + s3bucket-name: ${{ secrets.CI_MAINNET_S3BUCKET_NAME }} + source-type: dir + source-dir: test-directory1 + target-type: commit + target-repo: aleph-node + target-name: aleph-node + target-commit: "${{ steps.get_branch.outputs.sha_short }}" + target-filename: test-dir1-commit.tar.gz + + - name: Save file as commit artifact to S3 bucket + uses: ./.github/actions/save-in-s3-bucket + with: + aws-access-key-id: ${{ secrets.AWS_MAINNET_ACCESS_KEY_ID }} + aws-secret-access-key: ${{ secrets.AWS_MAINNET_SECRET_ACCESS_KEY }} + s3bucket-name: ${{ secrets.CI_MAINNET_S3BUCKET_NAME }} + source-type: file + source-dir: test-directory1 + source-file: test-file1.txt + target-type: commit + target-repo: aleph-node + target-name: aleph-node + target-commit: "${{ steps.get_branch.outputs.sha_short }}" + target-filename: test-file1-commit.tar.gz + + + - name: Save directory as cache artifact to S3 bucket + uses: ./.github/actions/save-in-s3-bucket + with: + aws-access-key-id: ${{ secrets.AWS_MAINNET_ACCESS_KEY_ID }} + aws-secret-access-key: ${{ secrets.AWS_MAINNET_SECRET_ACCESS_KEY }} + s3bucket-name: ${{ secrets.CI_MAINNET_S3BUCKET_NAME }} + source-type: dir + source-dir: test-directory1 + target-type: cache + target-key: "aleph-node-${{ steps.get_branch.outputs.sha_short }}" + target-filename: test-dir1-cache.tar.gz + + - name: Save file as cache artifact to S3 bucket + uses: ./.github/actions/save-in-s3-bucket + with: + aws-access-key-id: ${{ secrets.AWS_MAINNET_ACCESS_KEY_ID }} + aws-secret-access-key: ${{ secrets.AWS_MAINNET_SECRET_ACCESS_KEY }} + s3bucket-name: ${{ secrets.CI_MAINNET_S3BUCKET_NAME }} + source-type: file + source-dir: test-directory1 + source-file: test-file1.txt + target-type: cache + target-repo: "aleph-node-${{ steps.get_branch.outputs.sha_short }}" + target-filename: test-file1-cache.tar.gz + + test-if-files-in-s3-bucket: + name: Test if files were saved in S3 + needs: ['save-files-in-s3-bucket'] + runs-on: ubuntu-20.04 + steps: + - name: Configure AWS credentials + uses: aws-actions/configure-aws-credentials@v1 + with: + aws-access-key-id: ${{ secrets.AWS_MAINNET_ACCESS_KEY_ID }} + aws-secret-access-key: ${{ secrets.AWS_MAINNET_SECRET_ACCESS_KEY }} + aws-region: us-east-1 + + - name: Download saved directory and check for files + run: | + mkdir test-directory1 + aws s3 cp s3://${{ secrets.CI_MAINNET_S3BUCKET_NAME }}/action-tests/save-in-s3-bucket/test-dir1.tar.gz . + tar -zxvf test-dir1.tar.gz + cat test-file1.txt + cat test-file2.txt + cat sub-directory1/test-file3.txt From d3ddd7efe538fb9f8674996c4f5a714dd5f900ae Mon Sep 17 00:00:00 2001 From: Mikolaj Gasior Date: Thu, 12 Jan 2023 15:16:49 +0100 Subject: [PATCH 079/212] Remove accidentally added file --- .../test-action-save-in-s3-bucket.yaml | 137 ------------------ 1 file changed, 137 deletions(-) delete mode 100644 .github/workflows/test-action-save-in-s3-bucket.yaml diff --git a/.github/workflows/test-action-save-in-s3-bucket.yaml b/.github/workflows/test-action-save-in-s3-bucket.yaml deleted file mode 100644 index c36a752259..0000000000 --- a/.github/workflows/test-action-save-in-s3-bucket.yaml +++ /dev/null @@ -1,137 +0,0 @@ -name: Test save-in-s3-bucket action - -on: - #pull_request: - # paths: - # - '.github/actions/save-in-s3-bucket/*' - push: - #paths: - # - '.github/actions/save-in-s3-bucket/*' - workflow_dispatch: - -concurrency: - group: ${{ github.ref }}-${{ github.workflow }} - cancel-in-progress: true - -jobs: - save-files-in-s3-bucket: - name: Save files in S3 bucket - runs-on: ubuntu-20.04 - steps: - - name: Checkout source code - uses: actions/checkout@v3 - - - name: Get branch name and commit SHA - id: get_branch - uses: ./.github/actions/get-branch - - - name: Create directory with files to be saved in S3 - run: | - mkdir test-directory1 - mkdir test-directory1/sub-directory1 - echo "new test-file 1" > test-directory1/test-file1.txt - echo "new test-file 2" > test-directory1/test-file2.txt - echo "new test-file 3" > test-directory1/sub-directory1/test-file3.txt - - - - name: Save directory to S3 bucket - uses: ./.github/actions/save-in-s3-bucket - with: - aws-access-key-id: ${{ secrets.AWS_MAINNET_ACCESS_KEY_ID }} - aws-secret-access-key: ${{ secrets.AWS_MAINNET_SECRET_ACCESS_KEY }} - s3bucket-name: ${{ secrets.CI_MAINNET_S3BUCKET_NAME }} - source-type: dir - source-dir: test-directory1 - target-type: path - target-dir: action-tests/save-in-s3-bucket - target-filename: test-dir1.tar.gz - - - name: Save file to S3 bucket - uses: ./.github/actions/save-in-s3-bucket - with: - aws-access-key-id: ${{ secrets.AWS_MAINNET_ACCESS_KEY_ID }} - aws-secret-access-key: ${{ secrets.AWS_MAINNET_SECRET_ACCESS_KEY }} - s3bucket-name: ${{ secrets.CI_MAINNET_S3BUCKET_NAME }} - source-type: file - source-dir: test-directory1 - source-file: test-file1.txt - target-type: path - target-dir: action-tests/save-in-s3-bucket - target-filename: test-file1.tar.gz - - - - name: Save directory as commit artifact to S3 bucket - uses: ./.github/actions/save-in-s3-bucket - with: - aws-access-key-id: ${{ secrets.AWS_MAINNET_ACCESS_KEY_ID }} - aws-secret-access-key: ${{ secrets.AWS_MAINNET_SECRET_ACCESS_KEY }} - s3bucket-name: ${{ secrets.CI_MAINNET_S3BUCKET_NAME }} - source-type: dir - source-dir: test-directory1 - target-type: commit - target-repo: aleph-node - target-name: aleph-node - target-commit: "${{ steps.get_branch.outputs.sha_short }}" - target-filename: test-dir1-commit.tar.gz - - - name: Save file as commit artifact to S3 bucket - uses: ./.github/actions/save-in-s3-bucket - with: - aws-access-key-id: ${{ secrets.AWS_MAINNET_ACCESS_KEY_ID }} - aws-secret-access-key: ${{ secrets.AWS_MAINNET_SECRET_ACCESS_KEY }} - s3bucket-name: ${{ secrets.CI_MAINNET_S3BUCKET_NAME }} - source-type: file - source-dir: test-directory1 - source-file: test-file1.txt - target-type: commit - target-repo: aleph-node - target-name: aleph-node - target-commit: "${{ steps.get_branch.outputs.sha_short }}" - target-filename: test-file1-commit.tar.gz - - - - name: Save directory as cache artifact to S3 bucket - uses: ./.github/actions/save-in-s3-bucket - with: - aws-access-key-id: ${{ secrets.AWS_MAINNET_ACCESS_KEY_ID }} - aws-secret-access-key: ${{ secrets.AWS_MAINNET_SECRET_ACCESS_KEY }} - s3bucket-name: ${{ secrets.CI_MAINNET_S3BUCKET_NAME }} - source-type: dir - source-dir: test-directory1 - target-type: cache - target-key: "aleph-node-${{ steps.get_branch.outputs.sha_short }}" - target-filename: test-dir1-cache.tar.gz - - - name: Save file as cache artifact to S3 bucket - uses: ./.github/actions/save-in-s3-bucket - with: - aws-access-key-id: ${{ secrets.AWS_MAINNET_ACCESS_KEY_ID }} - aws-secret-access-key: ${{ secrets.AWS_MAINNET_SECRET_ACCESS_KEY }} - s3bucket-name: ${{ secrets.CI_MAINNET_S3BUCKET_NAME }} - source-type: file - source-dir: test-directory1 - source-file: test-file1.txt - target-type: cache - target-repo: "aleph-node-${{ steps.get_branch.outputs.sha_short }}" - target-filename: test-file1-cache.tar.gz - - test-if-files-in-s3-bucket: - name: Test if files were saved in S3 - needs: ['save-files-in-s3-bucket'] - runs-on: ubuntu-20.04 - steps: - - name: Configure AWS credentials - uses: aws-actions/configure-aws-credentials@v1 - with: - aws-access-key-id: ${{ secrets.AWS_MAINNET_ACCESS_KEY_ID }} - aws-secret-access-key: ${{ secrets.AWS_MAINNET_SECRET_ACCESS_KEY }} - aws-region: us-east-1 - - - name: Download saved directory and check for files - run: | - mkdir test-directory1 - aws s3 cp s3://${{ secrets.CI_MAINNET_S3BUCKET_NAME }}/action-tests/save-in-s3-bucket/test-dir1.tar.gz . - tar -zxvf test-dir1.tar.gz - cat test-file1.txt - cat test-file2.txt - cat sub-directory1/test-file3.txt From 5e35cda39615a04f68109b3b80379cb3030abfda Mon Sep 17 00:00:00 2001 From: maciejzelaszczyk <48910177+maciejzelaszczyk@users.noreply.github.com> Date: Fri, 13 Jan 2023 10:02:56 +0100 Subject: [PATCH 080/212] Authorities are staking finalization stall (#771) * Init CI attempt * More * Finalization check * Max node count * GH action fix * Improved error message * Increased node count * Increased timeout for authorities are staking e2e test * Removed post-test finalization check * Script fix * Make sure rotate keys is done for every validator separately * fmt * Ip address and ports from config * WS params parsing; default node count change * Follow up finalization check * Patch version bump * Extracted controller connections; minor fixes Co-authored-by: Marcin --- .github/actions/run-e2e-test/action.yml | 2 +- .github/scripts/run_consensus.sh | 9 ++++++- .github/workflows/nightly-pipeline.yaml | 3 ++- benches/payout-stakers/Cargo.lock | 2 +- docker/docker-compose.base.yml | 16 +++++++++++++ docker/docker-compose.bridged.yml | 13 ++++++++++ docker/docker-compose.yml | 6 +++++ e2e-tests/Cargo.lock | 4 ++-- e2e-tests/Cargo.toml | 2 +- e2e-tests/src/config.rs | 2 +- e2e-tests/src/test/electing_validators.rs | 7 ++++-- e2e-tests/src/validators.rs | 29 +++++++++++++++++++++-- flooder/Cargo.lock | 2 +- 13 files changed, 84 insertions(+), 13 deletions(-) diff --git a/.github/actions/run-e2e-test/action.yml b/.github/actions/run-e2e-test/action.yml index d0139b4646..7eb9a95ea3 100644 --- a/.github/actions/run-e2e-test/action.yml +++ b/.github/actions/run-e2e-test/action.yml @@ -91,7 +91,7 @@ runs: RESERVED_SEATS="${{ inputs.reserved-seats }}" NON_RESERVED_SEATS="${{ inputs.non-reserved-seats }}" - + if [[ -n "${RANDOMIZED}" ]]; then ARGS+=(-r "${RANDOMIZED}") fi diff --git a/.github/scripts/run_consensus.sh b/.github/scripts/run_consensus.sh index f5f82cbbfc..d1e8092645 100755 --- a/.github/scripts/run_consensus.sh +++ b/.github/scripts/run_consensus.sh @@ -3,8 +3,10 @@ set -euo pipefail # default node count -# change when increasing the number of node containers NODE_COUNT=5 +# max node count that will not crash current GH machines +MAX_NODE_COUNT=6 +# default minimum validator count MIN_VALIDATOR_COUNT=4 DOCKER_COMPOSE=${DOCKER_COMPOSE:-"docker/docker-compose.yml"} OVERRIDE_DOCKER_COMPOSE=${OVERRIDE_DOCKER_COMPOSE:-""} @@ -51,6 +53,11 @@ done export NODE_COUNT +if [[ ${NODE_COUNT} -gt ${MAX_NODE_COUNT} ]]; then + echo "Tried to run ${NODE_COUNT} nodes. Max node count allowed: ${MAX_NODE_COUNT}." + exit 1 +fi + function generate_authorities { local authorities_count="$1" diff --git a/.github/workflows/nightly-pipeline.yaml b/.github/workflows/nightly-pipeline.yaml index a426f97ffc..5933a1c8c9 100644 --- a/.github/workflows/nightly-pipeline.yaml +++ b/.github/workflows/nightly-pipeline.yaml @@ -170,7 +170,8 @@ jobs: uses: ./.github/actions/run-e2e-test with: test-case: authorities_are_staking - randomized: true + node-count: 6 + follow-up-finalization-check: true timeout-minutes: 60 run-e2e-high-out-latency: diff --git a/benches/payout-stakers/Cargo.lock b/benches/payout-stakers/Cargo.lock index 9b1dad9c35..c80accd682 100644 --- a/benches/payout-stakers/Cargo.lock +++ b/benches/payout-stakers/Cargo.lock @@ -49,7 +49,7 @@ dependencies = [ [[package]] name = "aleph_client" -version = "2.6.0" +version = "2.7.0" dependencies = [ "anyhow", "async-trait", diff --git a/docker/docker-compose.base.yml b/docker/docker-compose.base.yml index 6a159a6f19..ca33551779 100644 --- a/docker/docker-compose.base.yml +++ b/docker/docker-compose.base.yml @@ -77,3 +77,19 @@ services: # key derived from "//4" - BASE_PATH=/data/5DiDShBWa1fQx6gLzpf3SFBhMinCoyvHM1BWjPNsmXS8hkrW - NODE_KEY_PATH=/data/5DiDShBWa1fQx6gLzpf3SFBhMinCoyvHM1BWjPNsmXS8hkrW/p2p_secret + + Node5: + extends: + file: common.yml + service: AlephNonBootNode + container_name: Node5 + environment: + - RPC_PORT=9938 + - WS_PORT=9948 + - PORT=30338 + - VALIDATOR_PORT=30348 + - PUBLIC_VALIDATOR_ADDRESS=127.0.0.1:30348 + - NAME=Node5 + # key derived from "//5" + - BASE_PATH=/data/5EFb84yH9tpcFuiKUcsmdoF7xeeY3ajG1ZLQimxQoFt9HMKR + - NODE_KEY_PATH=/data/5EFb84yH9tpcFuiKUcsmdoF7xeeY3ajG1ZLQimxQoFt9HMKR/p2p_secret diff --git a/docker/docker-compose.bridged.yml b/docker/docker-compose.bridged.yml index b1303e4ca4..0f81315058 100644 --- a/docker/docker-compose.bridged.yml +++ b/docker/docker-compose.bridged.yml @@ -53,6 +53,17 @@ services: - PUBLIC_VALIDATOR_ADDRESS=Node4:30347 - BOOT_NODES=/dns4/Node0/tcp/30333/p2p/$BOOTNODE_PEER_ID + Node5: + extends: + file: docker-compose.base.yml + service: Node5 + networks: + - main + - Node5 + environment: + - PUBLIC_VALIDATOR_ADDRESS=Node4:30348 + - BOOT_NODES=/dns4/Node0/tcp/30333/p2p/$BOOTNODE_PEER_ID + networks: main: name: main-network @@ -66,3 +77,5 @@ networks: name: Node3-network Node4: name: Node4-network + Node5: + name: Node5-network diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml index 154031e825..e07f6dfb98 100644 --- a/docker/docker-compose.yml +++ b/docker/docker-compose.yml @@ -30,3 +30,9 @@ services: file: docker-compose.base.yml service: Node4 network_mode: host + + Node5: + extends: + file: docker-compose.base.yml + service: Node5 + network_mode: host diff --git a/e2e-tests/Cargo.lock b/e2e-tests/Cargo.lock index 69fa1e40ed..3ff38122d4 100644 --- a/e2e-tests/Cargo.lock +++ b/e2e-tests/Cargo.lock @@ -49,7 +49,7 @@ dependencies = [ [[package]] name = "aleph-e2e-client" -version = "0.10.0" +version = "0.10.1" dependencies = [ "aleph_client", "anyhow", @@ -78,7 +78,7 @@ dependencies = [ [[package]] name = "aleph_client" -version = "2.6.0" +version = "2.7.0" dependencies = [ "anyhow", "async-trait", diff --git a/e2e-tests/Cargo.toml b/e2e-tests/Cargo.toml index 2f78045ad2..7f027d28a5 100644 --- a/e2e-tests/Cargo.toml +++ b/e2e-tests/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "aleph-e2e-client" -version = "0.10.0" +version = "0.10.1" edition = "2021" license = "Apache 2.0" diff --git a/e2e-tests/src/config.rs b/e2e-tests/src/config.rs index 10d781bd4f..b79b27de74 100644 --- a/e2e-tests/src/config.rs +++ b/e2e-tests/src/config.rs @@ -86,7 +86,7 @@ impl Config { RootConnection::new(&self.node, sudo_keypair).await.unwrap() } - pub fn validator_names<'a>(&'a self) -> Vec { + pub fn validator_names(&self) -> Vec { (0..self.validator_count) .map(|id| format!("Node{}", id)) .collect() diff --git a/e2e-tests/src/test/electing_validators.rs b/e2e-tests/src/test/electing_validators.rs index 59bdfc65b7..d5767ad998 100644 --- a/e2e-tests/src/test/electing_validators.rs +++ b/e2e-tests/src/test/electing_validators.rs @@ -15,7 +15,7 @@ use primitives::EraIndex; use crate::{ config::setup_test, - validators::{prepare_validators, setup_accounts}, + validators::{get_controller_connections_to_nodes, prepare_validators, setup_accounts}, }; /// Verify that `pallet_staking::ErasStakers` contains all target validators. @@ -179,7 +179,10 @@ pub async fn authorities_are_staking() -> anyhow::Result<()> { let desired_validator_count = reserved_seats + non_reserved_seats; let accounts = setup_accounts(desired_validator_count); - prepare_validators(&root_connection, node, &accounts).await?; + let controller_connections = + get_controller_connections_to_nodes(node, accounts.get_controller_raw_keys().clone()) + .await?; + prepare_validators(&root_connection, node, &accounts, controller_connections).await?; info!("New validators are set up"); let reserved_validators = accounts.get_stash_accounts()[..reserved_seats as usize].to_vec(); diff --git a/e2e-tests/src/validators.rs b/e2e-tests/src/validators.rs index 850dbad40f..3a6c6dab54 100644 --- a/e2e-tests/src/validators.rs +++ b/e2e-tests/src/validators.rs @@ -108,6 +108,7 @@ pub async fn prepare_validators( connection: &S, node: &str, accounts: &Accounts, + controller_connections: Vec, ) -> anyhow::Result<()> { connection .batch_transfer( @@ -138,9 +139,8 @@ pub async fn prepare_validators( })); } - for controller in accounts.controller_raw_keys.iter() { + for connection in controller_connections { let keys = connection.author_rotate_keys().await?; - let connection = SignedConnection::new(node, KeyPair::new(controller.clone())).await; handles.push(tokio::spawn(async move { connection .set_keys(keys, TxStatus::Finalized) @@ -153,3 +153,28 @@ pub async fn prepare_validators( join_all(handles).await; Ok(()) } + +// Assumes the same ip address and consecutive ports for nodes, e.g. ws://127.0.0.1:9943, +// ws://127.0.0.1:9944, etc. +pub async fn get_controller_connections_to_nodes( + first_node_address: &str, + controller_raw_keys: Vec, +) -> anyhow::Result> { + let address_tokens = first_node_address.split(':').collect::>(); + let prefix = format!("{}:{}", address_tokens[0], address_tokens[1]); + let address_prefix = prefix.as_str(); + let first_port = address_tokens[2].parse::()?; + let controller_connections = + controller_raw_keys + .into_iter() + .enumerate() + .map(|(port_idx, controller)| async move { + SignedConnection::new( + format!("{}:{}", address_prefix, first_port + port_idx as u16).as_str(), + KeyPair::new(controller), + ) + .await + }); + let connections = join_all(controller_connections.collect::>()).await; + Ok(connections) +} diff --git a/flooder/Cargo.lock b/flooder/Cargo.lock index 7abb059b74..82abc52881 100644 --- a/flooder/Cargo.lock +++ b/flooder/Cargo.lock @@ -49,7 +49,7 @@ dependencies = [ [[package]] name = "aleph_client" -version = "2.6.0" +version = "2.7.0" dependencies = [ "anyhow", "async-trait", From e818f83b0105fe65ec05f56df66029b20973b9f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Piotr=20Miko=C5=82ajczyk?= Date: Fri, 13 Jan 2023 12:46:28 +0100 Subject: [PATCH 081/212] `aleph-client`: Get tx events (#860) * Change connection API * Aleph client migrated * Incorrect bump, but bumping anyway * Rename to `TxInfo` * Migrate cliain * Move to lib * Revert "Move to lib" This reverts commit cb58f2a8c3d1c41473824c8c23db3974a208930c. * Get tx events * Example usage * rename variables * Correct info for submitted * Grammar * xD for the first time * xD for the second time --- aleph-client/Cargo.lock | 2 +- aleph-client/Cargo.toml | 2 +- aleph-client/src/connections.rs | 73 ++++-- aleph-client/src/lib.rs | 6 +- aleph-client/src/pallets/aleph.rs | 9 +- aleph-client/src/pallets/balances.rs | 13 +- aleph-client/src/pallets/contract.rs | 32 +-- aleph-client/src/pallets/elections.rs | 18 +- aleph-client/src/pallets/multisig.rs | 62 ++--- aleph-client/src/pallets/session.rs | 8 +- aleph-client/src/pallets/staking.rs | 42 ++-- aleph-client/src/pallets/system.rs | 9 +- aleph-client/src/pallets/treasury.rs | 22 +- aleph-client/src/pallets/utility.rs | 6 +- aleph-client/src/pallets/vesting.rs | 20 +- aleph-client/src/utility.rs | 30 ++- benches/payout-stakers/Cargo.lock | 2 +- bin/cliain/Cargo.lock | 2 +- bin/cliain/src/contracts.rs | 10 +- e2e-tests/Cargo.lock | 339 ++++++++++++-------------- e2e-tests/src/test/fee.rs | 37 +-- flooder/Cargo.lock | 2 +- 22 files changed, 372 insertions(+), 374 deletions(-) diff --git a/aleph-client/Cargo.lock b/aleph-client/Cargo.lock index 4ecf994c0a..16f592794f 100644 --- a/aleph-client/Cargo.lock +++ b/aleph-client/Cargo.lock @@ -49,7 +49,7 @@ dependencies = [ [[package]] name = "aleph_client" -version = "2.7.0" +version = "2.8.0" dependencies = [ "anyhow", "async-trait", diff --git a/aleph-client/Cargo.toml b/aleph-client/Cargo.toml index 95961566c2..41268b2787 100644 --- a/aleph-client/Cargo.toml +++ b/aleph-client/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "aleph_client" # TODO bump major version when API stablize -version = "2.7.0" +version = "2.8.0" edition = "2021" license = "Apache 2.0" diff --git a/aleph-client/src/connections.rs b/aleph-client/src/connections.rs index b21c1b54f8..f4c7b77568 100644 --- a/aleph-client/src/connections.rs +++ b/aleph-client/src/connections.rs @@ -3,7 +3,9 @@ use std::{thread::sleep, time::Duration}; use anyhow::anyhow; use codec::Decode; use log::info; +use serde::{Deserialize, Serialize}; use subxt::{ + blocks::ExtrinsicEvents, ext::sp_core::Bytes, metadata::DecodeWithMetadata, rpc::RpcParams, @@ -13,7 +15,8 @@ use subxt::{ }; use crate::{ - api, sp_weights::weight_v2::Weight, AccountId, BlockHash, Call, KeyPair, SubxtClient, TxStatus, + api, sp_weights::weight_v2::Weight, AccountId, AlephConfig, BlockHash, Call, KeyPair, + SubxtClient, TxHash, TxStatus, }; /// Capable of communicating with a live Aleph chain. @@ -105,6 +108,22 @@ pub trait ConnectionApi: Sync { async fn rpc_call(&self, func_name: String, params: RpcParams) -> anyhow::Result; } +/// Data regarding submitted transaction. +#[derive(Copy, Clone, Eq, PartialEq, Debug, Deserialize, Serialize)] +pub struct TxInfo { + pub block_hash: BlockHash, + pub tx_hash: TxHash, +} + +impl From> for TxInfo { + fn from(ee: ExtrinsicEvents) -> Self { + Self { + block_hash: ee.block_hash(), + tx_hash: ee.extrinsic_hash(), + } + } +} + /// Signed connection should be able to sends transactions to chain #[async_trait::async_trait] pub trait SignedConnectionApi: ConnectionApi { @@ -112,32 +131,32 @@ pub trait SignedConnectionApi: ConnectionApi { /// * `tx` - encoded transaction payload /// * `status` - a [`TxStatus`] for a tx to wait for /// # Returns - /// Block hash of block where transaction was put or error + /// Block hash of block where transaction was put together with transaction hash, or error. /// # Examples /// ```ignore - /// let tx = api::tx() - /// .balances() - /// .transfer(MultiAddress::Id(dest), amount); - /// send_tx(tx, status).await + /// let tx = api::tx() + /// .balances() + /// .transfer(MultiAddress::Id(dest), amount); + /// send_tx(tx, status).await /// ``` async fn send_tx( &self, tx: Call, status: TxStatus, - ) -> anyhow::Result; + ) -> anyhow::Result; /// Send a transaction to a chain. It waits for a given tx `status`. /// * `tx` - encoded transaction payload /// * `params` - optional tx params e.g. tip /// * `status` - a [`TxStatus`] of a tx to wait for /// # Returns - /// Block hash of block where transaction was put or error + /// Block hash of block where transaction was put together with transaction hash, or error. async fn send_tx_with_params( &self, tx: Call, params: BaseExtrinsicParamsBuilder, status: TxStatus, - ) -> anyhow::Result; + ) -> anyhow::Result; /// Returns account id which signs this connection fn account_id(&self) -> &AccountId; @@ -153,14 +172,14 @@ pub trait SignedConnectionApi: ConnectionApi { #[async_trait::async_trait] pub trait SudoCall { /// API for [`sudo_unchecked_weight`](https://paritytech.github.io/substrate/master/pallet_sudo/pallet/enum.Call.html#variant.sudo_unchecked_weight) call. - async fn sudo_unchecked(&self, call: Call, status: TxStatus) -> anyhow::Result; + async fn sudo_unchecked(&self, call: Call, status: TxStatus) -> anyhow::Result; /// API for [`sudo`](https://paritytech.github.io/substrate/master/pallet_sudo/pallet/enum.Call.html#variant.sudo) call. - async fn sudo(&self, call: Call, status: TxStatus) -> anyhow::Result; + async fn sudo(&self, call: Call, status: TxStatus) -> anyhow::Result; } #[async_trait::async_trait] impl SudoCall for RootConnection { - async fn sudo_unchecked(&self, call: Call, status: TxStatus) -> anyhow::Result { + async fn sudo_unchecked(&self, call: Call, status: TxStatus) -> anyhow::Result { info!(target: "aleph-client", "sending call as sudo_unchecked {:?}", call); let sudo = api::tx().sudo().sudo_unchecked_weight( call, @@ -173,7 +192,7 @@ impl SudoCall for RootConnection { self.as_signed().send_tx(sudo, status).await } - async fn sudo(&self, call: Call, status: TxStatus) -> anyhow::Result { + async fn sudo(&self, call: Call, status: TxStatus) -> anyhow::Result { info!(target: "aleph-client", "sending call as sudo {:?}", call); let sudo = api::tx().sudo().sudo(call); @@ -263,7 +282,7 @@ impl SignedConnectionApi for S { &self, tx: Call, status: TxStatus, - ) -> anyhow::Result { + ) -> anyhow::Result { self.send_tx_with_params(tx, Default::default(), status) .await } @@ -273,7 +292,7 @@ impl SignedConnectionApi for S { tx: Call, params: BaseExtrinsicParamsBuilder, status: TxStatus, - ) -> anyhow::Result { + ) -> anyhow::Result { if let Some(details) = tx.validation_details() { info!(target:"aleph-client", "Sending extrinsic {}.{} with params: {:?}", details.pallet_name, details.call_name, params); } @@ -286,15 +305,25 @@ impl SignedConnectionApi for S { .await .map_err(|e| anyhow!("Failed to submit transaction: {:?}", e))?; - // In case of Submitted hash does not mean anything - let hash = match status { - TxStatus::InBlock => progress.wait_for_in_block().await?.block_hash(), - TxStatus::Finalized => progress.wait_for_finalized_success().await?.block_hash(), - TxStatus::Submitted => return Ok(BlockHash::from_low_u64_be(0)), + let info: TxInfo = match status { + TxStatus::InBlock => progress + .wait_for_in_block() + .await? + .wait_for_success() + .await? + .into(), + TxStatus::Finalized => progress.wait_for_finalized_success().await?.into(), + // In case of Submitted block hash does not mean anything + TxStatus::Submitted => { + return Ok(TxInfo { + block_hash: Default::default(), + tx_hash: progress.extrinsic_hash(), + }) + } }; - info!(target: "aleph-client", "tx included in block {:?}", hash); + info!(target: "aleph-client", "tx with hash {:?} included in block {:?}", info.tx_hash, info.block_hash); - Ok(hash) + Ok(info) } fn account_id(&self) -> &AccountId { diff --git a/aleph-client/src/lib.rs b/aleph-client/src/lib.rs index 74d232850f..f147c58572 100644 --- a/aleph-client/src/lib.rs +++ b/aleph-client/src/lib.rs @@ -13,7 +13,7 @@ extern crate core; pub use contract_transcode; -pub use subxt::ext::sp_core::Pair; +pub use subxt::{blocks::ExtrinsicEvents, ext::sp_core::Pair}; use subxt::{ ext::sp_core::{ed25519, sr25519, H256}, tx::PairSigner, @@ -49,8 +49,10 @@ pub type KeyPair = PairSigner; pub type AccountId = subxt::ext::sp_core::crypto::AccountId32; /// An alias for a client type. pub type Client = OnlineClient; -/// An alias for a hash type. +/// An alias for a block hash type. pub type BlockHash = H256; +/// An alias for a transaction hash type. +pub type TxHash = H256; /// An alias for an RPC client type. pub type SubxtClient = OnlineClient; diff --git a/aleph-client/src/pallets/aleph.rs b/aleph-client/src/pallets/aleph.rs index 5e06267322..b68a00f30b 100644 --- a/aleph-client/src/pallets/aleph.rs +++ b/aleph-client/src/pallets/aleph.rs @@ -7,6 +7,7 @@ use crate::{ pallet_aleph::pallet::Call::set_emergency_finalizer, primitives::app::Public, sp_core::ed25519::Public as EdPublic, }, + connections::TxInfo, pallet_aleph::pallet::Call::schedule_finality_version_change, AccountId, AlephKeyPair, BlockHash, Call::Aleph, @@ -26,7 +27,7 @@ pub trait AlephSudoApi { &self, finalizer: AccountId, status: TxStatus, - ) -> anyhow::Result; + ) -> anyhow::Result; /// Schedules a finality version change for a future session. /// * `version` - next version of the finalizer @@ -39,7 +40,7 @@ pub trait AlephSudoApi { version: u32, session: SessionIndex, status: TxStatus, - ) -> anyhow::Result; + ) -> anyhow::Result; } /// Pallet aleph RPC api. @@ -62,7 +63,7 @@ impl AlephSudoApi for RootConnection { &self, finalizer: AccountId, status: TxStatus, - ) -> anyhow::Result { + ) -> anyhow::Result { let call = Aleph(set_emergency_finalizer { emergency_finalizer: Public(EdPublic(finalizer.into())), }); @@ -74,7 +75,7 @@ impl AlephSudoApi for RootConnection { version: u32, session: SessionIndex, status: TxStatus, - ) -> anyhow::Result { + ) -> anyhow::Result { let call = Aleph(schedule_finality_version_change { version_incoming: version, session, diff --git a/aleph-client/src/pallets/balances.rs b/aleph-client/src/pallets/balances.rs index b4e4be0aae..cf757be5af 100644 --- a/aleph-client/src/pallets/balances.rs +++ b/aleph-client/src/pallets/balances.rs @@ -3,6 +3,7 @@ use subxt::{ext::sp_runtime::MultiAddress, tx::PolkadotExtrinsicParamsBuilder}; use crate::{ aleph_zero::{self, api, api::runtime_types::pallet_balances::BalanceLock}, + connections::TxInfo, pallet_balances::pallet::Call::transfer, pallets::utility::UtilityApi, AccountId, BlockHash, @@ -44,7 +45,7 @@ pub trait BalanceUserApi { dest: AccountId, amount: Balance, status: TxStatus, - ) -> anyhow::Result; + ) -> anyhow::Result; /// API for [`transfer`](https://paritytech.github.io/substrate/master/pallet_balances/pallet/struct.Pallet.html#method.transfer) call. /// Include tip in the tx. @@ -54,7 +55,7 @@ pub trait BalanceUserApi { amount: Balance, tip: Balance, status: TxStatus, - ) -> anyhow::Result; + ) -> anyhow::Result; } /// Pallet balances logic not directly related to any pallet call. @@ -79,7 +80,7 @@ pub trait BalanceUserBatchExtApi { dest: &[AccountId], amount: Balance, status: TxStatus, - ) -> anyhow::Result; + ) -> anyhow::Result; } #[async_trait::async_trait] @@ -122,7 +123,7 @@ impl BalanceUserApi for S { dest: AccountId, amount: Balance, status: TxStatus, - ) -> anyhow::Result { + ) -> anyhow::Result { let tx = api::tx() .balances() .transfer(MultiAddress::Id(dest), amount); @@ -135,7 +136,7 @@ impl BalanceUserApi for S { amount: Balance, tip: Balance, status: TxStatus, - ) -> anyhow::Result { + ) -> anyhow::Result { let tx = api::tx() .balances() .transfer(MultiAddress::Id(dest), amount); @@ -152,7 +153,7 @@ impl BalanceUserBatchExtApi for S { dests: &[AccountId], amount: Balance, status: TxStatus, - ) -> anyhow::Result { + ) -> anyhow::Result { let calls = dests .iter() .map(|dest| { diff --git a/aleph-client/src/pallets/contract.rs b/aleph-client/src/pallets/contract.rs index eeebce4a3e..cf24c640f5 100644 --- a/aleph-client/src/pallets/contract.rs +++ b/aleph-client/src/pallets/contract.rs @@ -4,8 +4,8 @@ use primitives::Balance; use subxt::{ext::sp_core::Bytes, rpc_params}; use crate::{ - api, pallet_contracts::wasm::OwnerInfo, sp_weights::weight_v2::Weight, AccountId, BlockHash, - ConnectionApi, SignedConnectionApi, TxStatus, + api, connections::TxInfo, pallet_contracts::wasm::OwnerInfo, sp_weights::weight_v2::Weight, + AccountId, BlockHash, ConnectionApi, SignedConnectionApi, TxStatus, }; /// Arguments to [`ContractRpc::call_and_get`]. @@ -47,7 +47,7 @@ pub trait ContractsUserApi { code: Vec, storage_limit: Option>, status: TxStatus, - ) -> anyhow::Result; + ) -> anyhow::Result; /// API for [`instantiate`](https://paritytech.github.io/substrate/master/pallet_contracts/pallet/struct.Pallet.html#method.instantiate) call. #[allow(clippy::too_many_arguments)] @@ -60,7 +60,7 @@ pub trait ContractsUserApi { data: Vec, salt: Vec, status: TxStatus, - ) -> anyhow::Result; + ) -> anyhow::Result; /// API for [`instantiate_with_code`](https://paritytech.github.io/substrate/master/pallet_contracts/pallet/struct.Pallet.html#method.instantiate_with_code) call. #[allow(clippy::too_many_arguments)] @@ -73,7 +73,7 @@ pub trait ContractsUserApi { data: Vec, salt: Vec, status: TxStatus, - ) -> anyhow::Result; + ) -> anyhow::Result; /// API for [`call`](https://paritytech.github.io/substrate/master/pallet_contracts/pallet/struct.Pallet.html#method.call) call. async fn call( @@ -84,14 +84,10 @@ pub trait ContractsUserApi { storage_limit: Option>, data: Vec, status: TxStatus, - ) -> anyhow::Result; + ) -> anyhow::Result; /// API for [`remove_code`](https://paritytech.github.io/substrate/master/pallet_contracts/pallet/struct.Pallet.html#method.remove_code) call. - async fn remove_code( - &self, - code_hash: BlockHash, - status: TxStatus, - ) -> anyhow::Result; + async fn remove_code(&self, code_hash: BlockHash, status: TxStatus) -> anyhow::Result; } /// RPC for runtime ContractsApi @@ -124,7 +120,7 @@ impl ContractsUserApi for S { code: Vec, storage_limit: Option>, status: TxStatus, - ) -> anyhow::Result { + ) -> anyhow::Result { let tx = api::tx().contracts().upload_code(code, storage_limit); self.send_tx(tx, status).await @@ -139,7 +135,7 @@ impl ContractsUserApi for S { data: Vec, salt: Vec, status: TxStatus, - ) -> anyhow::Result { + ) -> anyhow::Result { let tx = api::tx().contracts().instantiate( balance, gas_limit, @@ -161,7 +157,7 @@ impl ContractsUserApi for S { data: Vec, salt: Vec, status: TxStatus, - ) -> anyhow::Result { + ) -> anyhow::Result { let tx = api::tx().contracts().instantiate_with_code( balance, gas_limit, @@ -182,7 +178,7 @@ impl ContractsUserApi for S { storage_limit: Option>, data: Vec, status: TxStatus, - ) -> anyhow::Result { + ) -> anyhow::Result { let tx = api::tx() .contracts() @@ -190,11 +186,7 @@ impl ContractsUserApi for S { self.send_tx(tx, status).await } - async fn remove_code( - &self, - code_hash: BlockHash, - status: TxStatus, - ) -> anyhow::Result { + async fn remove_code(&self, code_hash: BlockHash, status: TxStatus) -> anyhow::Result { let tx = api::tx().contracts().remove_code(code_hash); self.send_tx(tx, status).await diff --git a/aleph-client/src/pallets/elections.rs b/aleph-client/src/pallets/elections.rs index 4ed650412a..1e7a9083cb 100644 --- a/aleph-client/src/pallets/elections.rs +++ b/aleph-client/src/pallets/elections.rs @@ -6,7 +6,7 @@ use crate::{ pallet_elections::pallet::Call::set_ban_config, primitives::{BanReason, CommitteeSeats, EraValidators}, }, - connections::AsConnection, + connections::{AsConnection, TxInfo}, pallet_elections::pallet::Call::{ ban_from_committee, change_validators, set_elections_openness, }, @@ -99,7 +99,7 @@ pub trait ElectionsSudoApi { clean_session_counter_delay: Option, ban_period: Option, status: TxStatus, - ) -> anyhow::Result; + ) -> anyhow::Result; /// Issues `elections.change_validators` that sets the committee for the next era. /// * `new_reserved_validators` - reserved validators to be in place in the next era; optional @@ -112,7 +112,7 @@ pub trait ElectionsSudoApi { new_non_reserved_validators: Option>, committee_size: Option, status: TxStatus, - ) -> anyhow::Result; + ) -> anyhow::Result; /// Schedule a non-reserved node to be banned out from the committee at the end of the era. /// * `account` - account to be banned, @@ -123,7 +123,7 @@ pub trait ElectionsSudoApi { account: AccountId, ban_reason: Vec, status: TxStatus, - ) -> anyhow::Result; + ) -> anyhow::Result; /// Set openness of the elections. /// * `mode` - new elections openness mode @@ -132,7 +132,7 @@ pub trait ElectionsSudoApi { &self, mode: ElectionOpenness, status: TxStatus, - ) -> anyhow::Result; + ) -> anyhow::Result; } #[async_trait::async_trait] @@ -241,7 +241,7 @@ impl ElectionsSudoApi for RootConnection { clean_session_counter_delay: Option, ban_period: Option, status: TxStatus, - ) -> anyhow::Result { + ) -> anyhow::Result { let call = Elections(set_ban_config { minimal_expected_performance, underperformed_session_count_threshold, @@ -258,7 +258,7 @@ impl ElectionsSudoApi for RootConnection { new_non_reserved_validators: Option>, committee_size: Option, status: TxStatus, - ) -> anyhow::Result { + ) -> anyhow::Result { let call = Elections(change_validators { reserved_validators: new_reserved_validators, non_reserved_validators: new_non_reserved_validators, @@ -273,7 +273,7 @@ impl ElectionsSudoApi for RootConnection { account: AccountId, ban_reason: Vec, status: TxStatus, - ) -> anyhow::Result { + ) -> anyhow::Result { let call = Elections(ban_from_committee { banned: account, ban_reason, @@ -285,7 +285,7 @@ impl ElectionsSudoApi for RootConnection { &self, mode: ElectionOpenness, status: TxStatus, - ) -> anyhow::Result { + ) -> anyhow::Result { let call = Elections(set_elections_openness { openness: mode }); self.sudo_unchecked(call, status).await diff --git a/aleph-client/src/pallets/multisig.rs b/aleph-client/src/pallets/multisig.rs index 7fce899459..2032029e49 100644 --- a/aleph-client/src/pallets/multisig.rs +++ b/aleph-client/src/pallets/multisig.rs @@ -7,7 +7,7 @@ use sp_core::blake2_256; use sp_runtime::traits::TrailingZeroInput; use crate::{ - account_from_keypair, aleph_runtime::RuntimeCall, api, api::runtime_types, + account_from_keypair, aleph_runtime::RuntimeCall, api, api::runtime_types, connections::TxInfo, sp_weights::weight_v2::Weight, AccountId, BlockHash, ConnectionApi, SignedConnectionApi, TxStatus, }; @@ -42,7 +42,7 @@ pub trait MultisigUserApi { other_signatories: Vec, call: Call, status: TxStatus, - ) -> anyhow::Result; + ) -> anyhow::Result; /// API for [`as_multi`](https://paritytech.github.io/substrate/master/pallet_multisig/pallet/struct.Pallet.html#method.as_multi) call. async fn as_multi( &self, @@ -52,7 +52,7 @@ pub trait MultisigUserApi { max_weight: Weight, call: Call, status: TxStatus, - ) -> anyhow::Result; + ) -> anyhow::Result; /// API for [`approve_as_multi`](https://paritytech.github.io/substrate/master/pallet_multisig/pallet/struct.Pallet.html#method.approve_as_multi) call. async fn approve_as_multi( &self, @@ -62,7 +62,7 @@ pub trait MultisigUserApi { max_weight: Weight, call_hash: CallHash, status: TxStatus, - ) -> anyhow::Result; + ) -> anyhow::Result; /// API for [`cancel_as_multi`](https://paritytech.github.io/substrate/master/pallet_multisig/pallet/struct.Pallet.html#method.cancel_as_multi) call. async fn cancel_as_multi( &self, @@ -71,7 +71,7 @@ pub trait MultisigUserApi { timepoint: Timepoint, call_hash: CallHash, status: TxStatus, - ) -> anyhow::Result; + ) -> anyhow::Result; } #[async_trait::async_trait] @@ -81,7 +81,7 @@ impl MultisigUserApi for S { other_signatories: Vec, call: Call, status: TxStatus, - ) -> anyhow::Result { + ) -> anyhow::Result { let tx = api::tx() .multisig() .as_multi_threshold_1(other_signatories, call); @@ -97,7 +97,7 @@ impl MultisigUserApi for S { max_weight: Weight, call: Call, status: TxStatus, - ) -> anyhow::Result { + ) -> anyhow::Result { let tx = api::tx().multisig().as_multi( threshold, other_signatories, @@ -117,7 +117,7 @@ impl MultisigUserApi for S { max_weight: Weight, call_hash: CallHash, status: TxStatus, - ) -> anyhow::Result { + ) -> anyhow::Result { let tx = api::tx().multisig().approve_as_multi( threshold, other_signatories, @@ -136,7 +136,7 @@ impl MultisigUserApi for S { timepoint: Timepoint, call_hash: CallHash, status: TxStatus, - ) -> anyhow::Result { + ) -> anyhow::Result { let tx = api::tx().multisig().cancel_as_multi( threshold, other_signatories, @@ -385,7 +385,7 @@ impl Context { #[async_trait::async_trait] pub trait MultisigContextualApi { /// Start signature aggregation for `party` and `call_hash`. Get `Context` object as a result - /// (together with standard block hash). + /// (together with standard tx coordinates). /// /// This is the recommended way of initialization. async fn initiate( @@ -394,9 +394,9 @@ pub trait MultisigContextualApi { max_weight: &Weight, call_hash: CallHash, status: TxStatus, - ) -> anyhow::Result<(BlockHash, Context)>; + ) -> anyhow::Result<(TxInfo, Context)>; /// Start signature aggregation for `party` and `call`. Get `Context` object as a result - /// (together with standard block hash). + /// (together with standard tx coordinates). /// /// Note: it is usually a better idea to pass `call` only with the final approval (so that it /// isn't stored on-chain). @@ -406,7 +406,7 @@ pub trait MultisigContextualApi { max_weight: &Weight, call: Call, status: TxStatus, - ) -> anyhow::Result<(BlockHash, Context)>; + ) -> anyhow::Result<(TxInfo, Context)>; /// Express contextual approval for the call hash. /// /// This is the recommended way for every intermediate approval. @@ -414,7 +414,7 @@ pub trait MultisigContextualApi { &self, context: Context, status: TxStatus, - ) -> anyhow::Result<(BlockHash, ContextAfterUse)>; + ) -> anyhow::Result<(TxInfo, ContextAfterUse)>; /// Express contextual approval for the `call`. /// /// This is the recommended way only for the final approval. @@ -423,13 +423,13 @@ pub trait MultisigContextualApi { context: Context, call: Option, status: TxStatus, - ) -> anyhow::Result<(BlockHash, ContextAfterUse)>; + ) -> anyhow::Result<(TxInfo, ContextAfterUse)>; /// Cancel signature aggregation. async fn cancel( &self, context: Context, status: TxStatus, - ) -> anyhow::Result<(BlockHash, Context)>; + ) -> anyhow::Result<(TxInfo, Context)>; } #[async_trait::async_trait] @@ -440,10 +440,10 @@ impl MultisigContextualApi for S { max_weight: &Weight, call_hash: CallHash, status: TxStatus, - ) -> anyhow::Result<(BlockHash, Context)> { + ) -> anyhow::Result<(TxInfo, Context)> { let other_signatories = ensure_signer_in_party(self, party)?; - let block_hash = self + let tx_info = self .approve_as_multi( party.threshold, other_signatories, @@ -461,11 +461,11 @@ impl MultisigContextualApi for S { // `connections` module. Secondly, if `Timepoint` struct change, this method (reading raw // extrinsic position) might become incorrect. let timepoint = self - .get_timepoint(&party.account(), &call_hash, Some(block_hash)) + .get_timepoint(&party.account(), &call_hash, Some(tx_info.block_hash)) .await; Ok(( - block_hash, + tx_info, Context::new( party.clone(), self.account_id().clone(), @@ -483,10 +483,10 @@ impl MultisigContextualApi for S { max_weight: &Weight, call: Call, status: TxStatus, - ) -> anyhow::Result<(BlockHash, Context)> { + ) -> anyhow::Result<(TxInfo, Context)> { let other_signatories = ensure_signer_in_party(self, party)?; - let block_hash = self + let tx_info = self .as_multi( party.threshold, other_signatories, @@ -499,11 +499,11 @@ impl MultisigContextualApi for S { let call_hash = compute_call_hash(&call); let timepoint = self - .get_timepoint(&party.account(), &call_hash, Some(block_hash)) + .get_timepoint(&party.account(), &call_hash, Some(tx_info.block_hash)) .await; Ok(( - block_hash, + tx_info, Context::new( party.clone(), self.account_id().clone(), @@ -519,7 +519,7 @@ impl MultisigContextualApi for S { &self, context: Context, status: TxStatus, - ) -> anyhow::Result<(BlockHash, ContextAfterUse)> { + ) -> anyhow::Result<(TxInfo, ContextAfterUse)> { let other_signatories = ensure_signer_in_party(self, &context.party)?; self.approve_as_multi( @@ -531,7 +531,7 @@ impl MultisigContextualApi for S { status, ) .await - .map(|block_hash| (block_hash, context.add_approval(self.account_id().clone()))) + .map(|tx_info| (tx_info, context.add_approval(self.account_id().clone()))) } async fn approve_with_call( @@ -539,7 +539,7 @@ impl MultisigContextualApi for S { mut context: Context, call: Option, status: TxStatus, - ) -> anyhow::Result<(BlockHash, ContextAfterUse)> { + ) -> anyhow::Result<(TxInfo, ContextAfterUse)> { let other_signatories = ensure_signer_in_party(self, &context.party)?; let call = match (call.as_ref(), context.call.as_ref()) { @@ -569,14 +569,14 @@ impl MultisigContextualApi for S { status, ) .await - .map(|block_hash| (block_hash, context.add_approval(self.account_id().clone()))) + .map(|tx_info| (tx_info, context.add_approval(self.account_id().clone()))) } async fn cancel( &self, context: Context, status: TxStatus, - ) -> anyhow::Result<(BlockHash, Context)> { + ) -> anyhow::Result<(TxInfo, Context)> { let other_signatories = ensure_signer_in_party(self, &context.party)?; ensure!( @@ -584,7 +584,7 @@ impl MultisigContextualApi for S { "Only the author can cancel multisig aggregation" ); - let block_hash = self + let tx_info = self .cancel_as_multi( context.party.threshold, other_signatories, @@ -594,7 +594,7 @@ impl MultisigContextualApi for S { ) .await?; - Ok((block_hash, context.close())) + Ok((tx_info, context.close())) } } diff --git a/aleph-client/src/pallets/session.rs b/aleph-client/src/pallets/session.rs index 4f2f2351e1..eaeda5937c 100644 --- a/aleph-client/src/pallets/session.rs +++ b/aleph-client/src/pallets/session.rs @@ -1,8 +1,8 @@ use primitives::SessionIndex; use crate::{ - api, api::runtime_types::aleph_runtime::SessionKeys, AccountId, BlockHash, ConnectionApi, - SignedConnectionApi, TxStatus, + api, api::runtime_types::aleph_runtime::SessionKeys, connections::TxInfo, AccountId, BlockHash, + ConnectionApi, SignedConnectionApi, TxStatus, }; /// Pallet session read-only api. @@ -26,7 +26,7 @@ pub trait SessionApi { #[async_trait::async_trait] pub trait SessionUserApi { /// API for [`set_keys`](https://paritytech.github.io/substrate/master/pallet_session/pallet/struct.Pallet.html#method.set_keys) call. - async fn set_keys(&self, new_keys: SessionKeys, status: TxStatus) -> anyhow::Result; + async fn set_keys(&self, new_keys: SessionKeys, status: TxStatus) -> anyhow::Result; } #[async_trait::async_trait] @@ -58,7 +58,7 @@ impl SessionApi for C { #[async_trait::async_trait] impl SessionUserApi for S { - async fn set_keys(&self, new_keys: SessionKeys, status: TxStatus) -> anyhow::Result { + async fn set_keys(&self, new_keys: SessionKeys, status: TxStatus) -> anyhow::Result { let tx = api::tx().session().set_keys(new_keys, vec![]); self.send_tx(tx, status).await diff --git a/aleph-client/src/pallets/staking.rs b/aleph-client/src/pallets/staking.rs index 6008a19636..0ba312e626 100644 --- a/aleph-client/src/pallets/staking.rs +++ b/aleph-client/src/pallets/staking.rs @@ -9,7 +9,7 @@ use subxt::{ use crate::{ api, - connections::AsConnection, + connections::{AsConnection, TxInfo}, pallet_staking::{ pallet::pallet::{ Call::{bond, force_new_era, nominate, set_staking_configs}, @@ -88,14 +88,14 @@ pub trait StakingUserApi { initial_stake: Balance, controller_id: AccountId, status: TxStatus, - ) -> anyhow::Result; + ) -> anyhow::Result; /// API for [`validate`](https://paritytech.github.io/substrate/master/pallet_staking/struct.Pallet.html#method.validate) call. async fn validate( &self, validator_commission_percentage: u8, status: TxStatus, - ) -> anyhow::Result; + ) -> anyhow::Result; /// API for [`payout_stakers`](https://paritytech.github.io/substrate/master/pallet_staking/struct.Pallet.html#method.payout_stakers) call. async fn payout_stakers( @@ -103,24 +103,24 @@ pub trait StakingUserApi { stash_account: AccountId, era: EraIndex, status: TxStatus, - ) -> anyhow::Result; + ) -> anyhow::Result; /// API for [`nominate`](https://paritytech.github.io/substrate/master/pallet_staking/struct.Pallet.html#method.nominate) call. async fn nominate( &self, nominee_account_id: AccountId, status: TxStatus, - ) -> anyhow::Result; + ) -> anyhow::Result; /// API for [`chill`](https://paritytech.github.io/substrate/master/pallet_staking/struct.Pallet.html#method.chill) call. - async fn chill(&self, status: TxStatus) -> anyhow::Result; + async fn chill(&self, status: TxStatus) -> anyhow::Result; /// API for [`bond_extra`](https://paritytech.github.io/substrate/master/pallet_staking/struct.Pallet.html#method.bond_extra) call. async fn bond_extra_stake( &self, extra_stake: Balance, status: TxStatus, - ) -> anyhow::Result; + ) -> anyhow::Result; } /// Pallet staking logic, not directly related to any particular pallet call. @@ -174,7 +174,7 @@ pub trait StakingApiExt { accounts: &[(AccountId, AccountId)], stake: Balance, status: TxStatus, - ) -> anyhow::Result; + ) -> anyhow::Result; /// Send batch of [`nominate`](https://paritytech.github.io/substrate/master/pallet_staking/struct.Pallet.html#method.nominate) calls. /// * `nominator_nominee_pairs` - a slice of account ids pairs (nominator, nominee) @@ -186,14 +186,14 @@ pub trait StakingApiExt { &self, nominator_nominee_pairs: &[(AccountId, AccountId)], status: TxStatus, - ) -> anyhow::Result; + ) -> anyhow::Result; } /// Pallet staking api that requires sudo. #[async_trait::async_trait] pub trait StakingSudoApi { /// API for [`force_new_era`](https://paritytech.github.io/substrate/master/pallet_staking/struct.Pallet.html#method.force_new_era) call. - async fn force_new_era(&self, status: TxStatus) -> anyhow::Result; + async fn force_new_era(&self, status: TxStatus) -> anyhow::Result; /// API for [`set_staking_config`](https://paritytech.github.io/substrate/master/pallet_staking/struct.Pallet.html#method.set_staking_configs) call. async fn set_staking_config( @@ -203,7 +203,7 @@ pub trait StakingSudoApi { max_nominators_count: Option, max_validators_count: Option, status: TxStatus, - ) -> anyhow::Result; + ) -> anyhow::Result; } /// Logic for retrieving raw storage keys or values from a pallet staking. @@ -317,7 +317,7 @@ impl StakingUserApi for S { initial_stake: Balance, controller_id: AccountId, status: TxStatus, - ) -> anyhow::Result { + ) -> anyhow::Result { let tx = api::tx().staking().bond( MultiAddress::::Id(controller_id), initial_stake, @@ -331,7 +331,7 @@ impl StakingUserApi for S { &self, validator_commission_percentage: u8, status: TxStatus, - ) -> anyhow::Result { + ) -> anyhow::Result { let tx = api::tx().staking().validate(ValidatorPrefs { commission: Perbill( SPerbill::from_percent(validator_commission_percentage as u32).deconstruct(), @@ -347,7 +347,7 @@ impl StakingUserApi for S { stash_account: AccountId, era: EraIndex, status: TxStatus, - ) -> anyhow::Result { + ) -> anyhow::Result { let tx = api::tx().staking().payout_stakers(stash_account, era); self.send_tx(tx, status).await @@ -357,7 +357,7 @@ impl StakingUserApi for S { &self, nominee_account_id: AccountId, status: TxStatus, - ) -> anyhow::Result { + ) -> anyhow::Result { let tx = api::tx() .staking() .nominate(vec![MultiAddress::Id(nominee_account_id)]); @@ -365,7 +365,7 @@ impl StakingUserApi for S { self.send_tx(tx, status).await } - async fn chill(&self, status: TxStatus) -> anyhow::Result { + async fn chill(&self, status: TxStatus) -> anyhow::Result { let tx = api::tx().staking().chill(); self.send_tx(tx, status).await @@ -375,7 +375,7 @@ impl StakingUserApi for S { &self, extra_stake: Balance, status: TxStatus, - ) -> anyhow::Result { + ) -> anyhow::Result { let tx = api::tx().staking().bond_extra(extra_stake); self.send_tx(tx, status).await @@ -384,7 +384,7 @@ impl StakingUserApi for S { #[async_trait::async_trait] impl StakingSudoApi for RootConnection { - async fn force_new_era(&self, status: TxStatus) -> anyhow::Result { + async fn force_new_era(&self, status: TxStatus) -> anyhow::Result { let call = Staking(force_new_era); self.sudo_unchecked(call, status).await @@ -397,7 +397,7 @@ impl StakingSudoApi for RootConnection { max_nominator_count: Option, max_validator_count: Option, status: TxStatus, - ) -> anyhow::Result { + ) -> anyhow::Result { fn convert(arg: Option) -> ConfigOp { match arg { Some(v) => Set(v), @@ -462,7 +462,7 @@ impl StakingApiExt for RootConnection { accounts: &[(AccountId, AccountId)], stake: Balance, status: TxStatus, - ) -> anyhow::Result { + ) -> anyhow::Result { let calls = accounts .iter() .map(|(s, c)| { @@ -486,7 +486,7 @@ impl StakingApiExt for RootConnection { &self, nominator_nominee_pairs: &[(AccountId, AccountId)], status: TxStatus, - ) -> anyhow::Result { + ) -> anyhow::Result { let calls = nominator_nominee_pairs .iter() .map(|(nominator, nominee)| { diff --git a/aleph-client/src/pallets/system.rs b/aleph-client/src/pallets/system.rs index 10a9e792f8..6166759b8c 100644 --- a/aleph-client/src/pallets/system.rs +++ b/aleph-client/src/pallets/system.rs @@ -3,6 +3,7 @@ use subxt::ext::sp_runtime::Perbill as SPerbill; use crate::{ api, + connections::TxInfo, frame_system::pallet::Call::{fill_block, set_code}, sp_arithmetic::per_things::Perbill, AccountId, BlockHash, @@ -25,7 +26,7 @@ pub trait SystemApi { #[async_trait::async_trait] pub trait SystemSudoApi { /// API for [`set_code`](https://paritytech.github.io/substrate/master/frame_system/pallet/struct.Pallet.html#method.set_code) call. - async fn set_code(&self, code: Vec, status: TxStatus) -> anyhow::Result; + async fn set_code(&self, code: Vec, status: TxStatus) -> anyhow::Result; /// A dispatch that will fill the block weight up to the given ratio. /// * `target_ratio_percent` - ratio to fill block @@ -34,12 +35,12 @@ pub trait SystemSudoApi { &self, target_ratio_percent: u8, status: TxStatus, - ) -> anyhow::Result; + ) -> anyhow::Result; } #[async_trait::async_trait] impl SystemSudoApi for RootConnection { - async fn set_code(&self, code: Vec, status: TxStatus) -> anyhow::Result { + async fn set_code(&self, code: Vec, status: TxStatus) -> anyhow::Result { let call = System(set_code { code }); self.sudo_unchecked(call, status).await @@ -49,7 +50,7 @@ impl SystemSudoApi for RootConnection { &self, target_ratio_percent: u8, status: TxStatus, - ) -> anyhow::Result { + ) -> anyhow::Result { let call = System(fill_block { ratio: Perbill(SPerbill::from_percent(target_ratio_percent as u32).deconstruct()), }); diff --git a/aleph-client/src/pallets/treasury.rs b/aleph-client/src/pallets/treasury.rs index ef4b4c4251..157ed4e9fd 100644 --- a/aleph-client/src/pallets/treasury.rs +++ b/aleph-client/src/pallets/treasury.rs @@ -5,7 +5,7 @@ use subxt::ext::sp_runtime::MultiAddress; use crate::{ api, - connections::AsConnection, + connections::{AsConnection, TxInfo}, pallet_treasury::pallet::Call::{approve_proposal, reject_proposal}, pallets::{elections::ElectionsApi, staking::StakingApi}, AccountId, BlockHash, @@ -37,13 +37,13 @@ pub trait TreasuryUserApi { amount: Balance, beneficiary: AccountId, status: TxStatus, - ) -> anyhow::Result; + ) -> anyhow::Result; /// API for [`approve_proposal`](https://paritytech.github.io/substrate/master/pallet_treasury/pallet/struct.Pallet.html#method.approve_proposal) call. - async fn approve(&self, proposal_id: u32, status: TxStatus) -> anyhow::Result; + async fn approve(&self, proposal_id: u32, status: TxStatus) -> anyhow::Result; /// API for [`reject_proposal`](https://paritytech.github.io/substrate/master/pallet_treasury/pallet/struct.Pallet.html#method.reject_proposal) call. - async fn reject(&self, proposal_id: u32, status: TxStatus) -> anyhow::Result; + async fn reject(&self, proposal_id: u32, status: TxStatus) -> anyhow::Result; } /// Pallet treasury funcionality that is not directly related to any pallet call. @@ -59,11 +59,11 @@ pub trait TreasureApiExt { pub trait TreasurySudoApi { /// API for [`approve_proposal`](https://paritytech.github.io/substrate/master/pallet_treasury/pallet/struct.Pallet.html#method.approve_proposal) call. /// wrapped in [`sudo_unchecked_weight`](https://paritytech.github.io/substrate/master/pallet_sudo/pallet/struct.Pallet.html#method.sudo_unchecked_weight) - async fn approve(&self, proposal_id: u32, status: TxStatus) -> anyhow::Result; + async fn approve(&self, proposal_id: u32, status: TxStatus) -> anyhow::Result; /// API for [`reject_proposal`](https://paritytech.github.io/substrate/master/pallet_treasury/pallet/struct.Pallet.html#method.reject_proposal) call. /// wrapped [`sudo_unchecked_weight`](https://paritytech.github.io/substrate/master/pallet_sudo/pallet/struct.Pallet.html#method.sudo_unchecked_weight) - async fn reject(&self, proposal_id: u32, status: TxStatus) -> anyhow::Result; + async fn reject(&self, proposal_id: u32, status: TxStatus) -> anyhow::Result; } #[async_trait::async_trait] @@ -92,7 +92,7 @@ impl TreasuryUserApi for S { amount: Balance, beneficiary: AccountId, status: TxStatus, - ) -> anyhow::Result { + ) -> anyhow::Result { let tx = api::tx() .treasury() .propose_spend(amount, MultiAddress::Id(beneficiary)); @@ -100,13 +100,13 @@ impl TreasuryUserApi for S { self.send_tx(tx, status).await } - async fn approve(&self, proposal_id: u32, status: TxStatus) -> anyhow::Result { + async fn approve(&self, proposal_id: u32, status: TxStatus) -> anyhow::Result { let tx = api::tx().treasury().approve_proposal(proposal_id); self.send_tx(tx, status).await } - async fn reject(&self, proposal_id: u32, status: TxStatus) -> anyhow::Result { + async fn reject(&self, proposal_id: u32, status: TxStatus) -> anyhow::Result { let tx = api::tx().treasury().reject_proposal(proposal_id); self.send_tx(tx, status).await @@ -115,13 +115,13 @@ impl TreasuryUserApi for S { #[async_trait::async_trait] impl TreasurySudoApi for RootConnection { - async fn approve(&self, proposal_id: u32, status: TxStatus) -> anyhow::Result { + async fn approve(&self, proposal_id: u32, status: TxStatus) -> anyhow::Result { let call = Treasury(approve_proposal { proposal_id }); self.sudo_unchecked(call, status).await } - async fn reject(&self, proposal_id: u32, status: TxStatus) -> anyhow::Result { + async fn reject(&self, proposal_id: u32, status: TxStatus) -> anyhow::Result { let call = Treasury(reject_proposal { proposal_id }); self.sudo_unchecked(call, status).await diff --git a/aleph-client/src/pallets/utility.rs b/aleph-client/src/pallets/utility.rs index 974ca4bedd..77ac93999c 100644 --- a/aleph-client/src/pallets/utility.rs +++ b/aleph-client/src/pallets/utility.rs @@ -1,15 +1,15 @@ -use crate::{api, BlockHash, Call, SignedConnectionApi, TxStatus}; +use crate::{api, connections::TxInfo, Call, SignedConnectionApi, TxStatus}; /// Pallet utility api. #[async_trait::async_trait] pub trait UtilityApi { /// API for [`batch`](https://paritytech.github.io/substrate/master/pallet_utility/pallet/struct.Pallet.html#method.batch) call. - async fn batch_call(&self, calls: Vec, status: TxStatus) -> anyhow::Result; + async fn batch_call(&self, calls: Vec, status: TxStatus) -> anyhow::Result; } #[async_trait::async_trait] impl UtilityApi for S { - async fn batch_call(&self, calls: Vec, status: TxStatus) -> anyhow::Result { + async fn batch_call(&self, calls: Vec, status: TxStatus) -> anyhow::Result { let tx = api::tx().utility().batch(calls); self.send_tx(tx, status).await diff --git a/aleph-client/src/pallets/vesting.rs b/aleph-client/src/pallets/vesting.rs index 287ce17164..6b3171ac55 100644 --- a/aleph-client/src/pallets/vesting.rs +++ b/aleph-client/src/pallets/vesting.rs @@ -1,8 +1,8 @@ use subxt::ext::sp_runtime::MultiAddress; use crate::{ - api, pallet_vesting::vesting_info::VestingInfo, AccountId, BlockHash, ConnectionApi, - SignedConnectionApi, TxStatus, + api, connections::TxInfo, pallet_vesting::vesting_info::VestingInfo, AccountId, BlockHash, + ConnectionApi, SignedConnectionApi, TxStatus, }; /// Read only pallet vesting API. @@ -22,10 +22,10 @@ pub trait VestingApi { #[async_trait::async_trait] pub trait VestingUserApi { /// API for [`vest`](https://paritytech.github.io/substrate/master/pallet_vesting/pallet/enum.Call.html#variant.vest) call. - async fn vest(&self, status: TxStatus) -> anyhow::Result; + async fn vest(&self, status: TxStatus) -> anyhow::Result; /// API for [`vest_other`](https://paritytech.github.io/substrate/master/pallet_vesting/pallet/enum.Call.html#variant.vest_other) call. - async fn vest_other(&self, status: TxStatus, other: AccountId) -> anyhow::Result; + async fn vest_other(&self, status: TxStatus, other: AccountId) -> anyhow::Result; /// API for [`vested_transfer`](https://paritytech.github.io/substrate/master/pallet_vesting/pallet/enum.Call.html#variant.vested_transfer) call. async fn vested_transfer( @@ -33,7 +33,7 @@ pub trait VestingUserApi { receiver: AccountId, schedule: VestingInfo, status: TxStatus, - ) -> anyhow::Result; + ) -> anyhow::Result; /// API for [`merge_schedules`](https://paritytech.github.io/substrate/master/pallet_vesting/pallet/enum.Call.html#variant.merge_schedules) call. async fn merge_schedules( @@ -41,7 +41,7 @@ pub trait VestingUserApi { idx1: u32, idx2: u32, status: TxStatus, - ) -> anyhow::Result; + ) -> anyhow::Result; } #[async_trait::async_trait] @@ -59,13 +59,13 @@ impl VestingApi for C { #[async_trait::async_trait] impl VestingUserApi for S { - async fn vest(&self, status: TxStatus) -> anyhow::Result { + async fn vest(&self, status: TxStatus) -> anyhow::Result { let tx = api::tx().vesting().vest(); self.send_tx(tx, status).await } - async fn vest_other(&self, status: TxStatus, other: AccountId) -> anyhow::Result { + async fn vest_other(&self, status: TxStatus, other: AccountId) -> anyhow::Result { let tx = api::tx().vesting().vest_other(MultiAddress::Id(other)); self.send_tx(tx, status).await @@ -76,7 +76,7 @@ impl VestingUserApi for S { receiver: AccountId, schedule: VestingInfo, status: TxStatus, - ) -> anyhow::Result { + ) -> anyhow::Result { let tx = api::tx() .vesting() .vested_transfer(MultiAddress::Id(receiver), schedule); @@ -89,7 +89,7 @@ impl VestingUserApi for S { idx1: u32, idx2: u32, status: TxStatus, - ) -> anyhow::Result { + ) -> anyhow::Result { let tx = api::tx().vesting().merge_schedules(idx1, idx2); self.send_tx(tx, status).await diff --git a/aleph-client/src/utility.rs b/aleph-client/src/utility.rs index 15821dbe9d..b68236fed5 100644 --- a/aleph-client/src/utility.rs +++ b/aleph-client/src/utility.rs @@ -1,10 +1,12 @@ +use anyhow::anyhow; use log::info; use primitives::{BlockNumber, EraIndex, SessionIndex}; +use subxt::{blocks::ExtrinsicEvents, ext::sp_runtime::traits::Hash, Config}; use crate::{ - connections::AsConnection, + connections::{AsConnection, TxInfo}, pallets::{elections::ElectionsApi, staking::StakingApi}, - BlockHash, + AlephConfig, BlockHash, }; /// Block info API. @@ -38,6 +40,9 @@ pub trait BlocksApi { &self, block: Option, ) -> anyhow::Result>; + + /// Fetch all events that corresponds to the transaction identified by `tx_info`. + async fn get_tx_events(&self, tx_info: TxInfo) -> anyhow::Result>; } /// Interaction logic between pallet session and pallet staking. @@ -99,6 +104,27 @@ impl BlocksApi for C { async fn get_block_number(&self, block: BlockHash) -> anyhow::Result> { self.get_block_number_opt(Some(block)).await } + + async fn get_tx_events(&self, tx_info: TxInfo) -> anyhow::Result> { + let block_body = self + .as_connection() + .as_client() + .blocks() + .at(Some(tx_info.block_hash)) + .await? + .body() + .await?; + + let extrinsic_events = block_body + .extrinsics() + .find(|tx| tx_info.tx_hash == ::Hashing::hash_of(&tx.bytes())) + .ok_or(anyhow!("Couldn't find the transaction in the block."))? + .events() + .await + .map_err(|e| anyhow!("Couldn't fetch events for the transaction: {e:?}"))?; + + Ok(extrinsic_events) + } } #[async_trait::async_trait] diff --git a/benches/payout-stakers/Cargo.lock b/benches/payout-stakers/Cargo.lock index c80accd682..0c42c14b3d 100644 --- a/benches/payout-stakers/Cargo.lock +++ b/benches/payout-stakers/Cargo.lock @@ -49,7 +49,7 @@ dependencies = [ [[package]] name = "aleph_client" -version = "2.7.0" +version = "2.8.0" dependencies = [ "anyhow", "async-trait", diff --git a/bin/cliain/Cargo.lock b/bin/cliain/Cargo.lock index 0bf160d3fc..959eb48e46 100644 --- a/bin/cliain/Cargo.lock +++ b/bin/cliain/Cargo.lock @@ -49,7 +49,7 @@ dependencies = [ [[package]] name = "aleph_client" -version = "2.7.0" +version = "2.8.0" dependencies = [ "anyhow", "async-trait", diff --git a/bin/cliain/src/contracts.rs b/bin/cliain/src/contracts.rs index 301968a502..cb6b939dad 100644 --- a/bin/cliain/src/contracts.rs +++ b/bin/cliain/src/contracts.rs @@ -58,7 +58,7 @@ pub async fn upload_code( .await }); - let _block_hash = signed_connection + let _tx_info = signed_connection .upload_code( wasm, storage_deposit(storage_deposit_limit), @@ -109,7 +109,7 @@ pub async fn instantiate( .await }); - let _block_hash = signed_connection + let _tx_info = signed_connection .instantiate( code_hash, balance, @@ -182,7 +182,7 @@ pub async fn instantiate_with_code( .await }); - let _block_hash = signed_connection + let _tx_info = signed_connection .instantiate_with_code( wasm, balance, @@ -227,7 +227,7 @@ pub async fn call( debug!("Encoded call data {:?}", data); - let _block_hash = signed_connection + let _tx_info = signed_connection .call( destination, balance, @@ -267,7 +267,7 @@ pub async fn remove_code( .await }); - let _block_hash = signed_connection + let _tx_info = signed_connection .remove_code(code_hash, TxStatus::InBlock) .await?; diff --git a/e2e-tests/Cargo.lock b/e2e-tests/Cargo.lock index 3ff38122d4..2f89f24521 100644 --- a/e2e-tests/Cargo.lock +++ b/e2e-tests/Cargo.lock @@ -14,9 +14,9 @@ dependencies = [ [[package]] name = "addr2line" -version = "0.17.0" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9ecd88a8c8378ca913a680cd98f0f13ac67383d35993f86c90a70e3f137816b" +checksum = "a76fd60b23679b7d19bd066031410fb7e458ccc5e958eb5c325888ce4baedc97" dependencies = [ "gimli", ] @@ -78,11 +78,11 @@ dependencies = [ [[package]] name = "aleph_client" -version = "2.7.0" +version = "2.8.0" dependencies = [ "anyhow", "async-trait", - "contract-metadata 2.0.0-beta.1 (registry+https://github.com/rust-lang/crates.io-index)", + "contract-metadata 2.0.0-rc", "contract-transcode", "frame-support", "futures", @@ -159,9 +159,9 @@ checksum = "8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6" [[package]] name = "assert2" -version = "0.3.6" +version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce1b167af16149cd41ff2b784bf511bb4208b21c3b05f3f61e30823ce3986361" +checksum = "01456b66bf7c5c8e9e86af730e50f313ba9458fcdd622b11571e3f8fd727ca5d" dependencies = [ "assert2-macros", "atty", @@ -170,9 +170,9 @@ dependencies = [ [[package]] name = "assert2-macros" -version = "0.3.6" +version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6ac27dd1c8f16b282d1c22a8a5ae17119acc757101dec79054458fef62c447e" +checksum = "45c77509bbd2708f7b3f02350c5481bf167f235aeba95e86fd12a2c6dfe6f61c" dependencies = [ "proc-macro2", "quote", @@ -192,9 +192,9 @@ dependencies = [ [[package]] name = "async-trait" -version = "0.1.59" +version = "0.1.61" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31e6e93155431f3931513b243d371981bb2770112b370c82745a1d19d2f99364" +checksum = "705339e0e4a9690e2908d2b3d049d85682cf19fbd5782494498fbf7003a6a282" dependencies = [ "proc-macro2", "quote", @@ -220,9 +220,9 @@ checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" [[package]] name = "backtrace" -version = "0.3.66" +version = "0.3.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cab84319d616cfb654d03394f38ab7e6f0919e181b1b57e1fd15e7fb4077d9a7" +checksum = "233d376d6d185f2a3093e58f283f60f880315b6c60075b01f36b3b85154564ca" dependencies = [ "addr2line", "cc", @@ -251,6 +251,12 @@ version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" +[[package]] +name = "base64" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4a4ddaa51a5bc52a6948f74c06d20aaaddb71924eab79b8c97a8c556e942d6a" + [[package]] name = "base64ct" version = "1.5.3" @@ -286,9 +292,9 @@ dependencies = [ [[package]] name = "blake2" -version = "0.10.5" +version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b12e5fd123190ce1c2e559308a94c9bacad77907d4c6005d9e58fe1a0689e55e" +checksum = "46502ad458c9a52b69d4d4d32775c788b7a1b85e8bc9d482d92250fc0e3f8efe" dependencies = [ "digest 0.10.6", ] @@ -373,9 +379,9 @@ checksum = "dfb24e866b15a1af2a1b663f10c6b6b8f397a84aadb828f12e5b289ec23a3a3c" [[package]] name = "cc" -version = "1.0.77" +version = "1.0.78" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9f73505338f7d905b19d18738976aae232eb46b8efc15554ffc56deb5d9ebe4" +checksum = "a20104e2335ce8a659d6dd92a51a767a0c062599c73b343fd152cb401e828c3d" [[package]] name = "cfg-expr" @@ -460,8 +466,7 @@ checksum = "e4c78c047431fee22c1a7bb92e00ad095a02a983affe4d8a72e2a2c62c1b94f3" [[package]] name = "contract-metadata" version = "2.0.0-beta.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7bff7703529b16e9d8ba0d54e842b2051691772a822eb9bc130a91183ff9f6a6" +source = "git+https://github.com/paritytech/cargo-contract?rev=7ca8c365fc1e157cd52901c54949b2faf1cd8899#7ca8c365fc1e157cd52901c54949b2faf1cd8899" dependencies = [ "anyhow", "impl-serde", @@ -473,8 +478,9 @@ dependencies = [ [[package]] name = "contract-metadata" -version = "2.0.0-beta.1" -source = "git+https://github.com/paritytech/cargo-contract?rev=7ca8c365fc1e157cd52901c54949b2faf1cd8899#7ca8c365fc1e157cd52901c54949b2faf1cd8899" +version = "2.0.0-rc" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "180f2389a624fc4d0e70b207542a508d668e1261b73391bc228775e3f4c84535" dependencies = [ "anyhow", "impl-serde", @@ -490,7 +496,7 @@ version = "2.0.0-beta.1" source = "git+https://github.com/paritytech/cargo-contract?rev=7ca8c365fc1e157cd52901c54949b2faf1cd8899#7ca8c365fc1e157cd52901c54949b2faf1cd8899" dependencies = [ "anyhow", - "contract-metadata 2.0.0-beta.1 (git+https://github.com/paritytech/cargo-contract?rev=7ca8c365fc1e157cd52901c54949b2faf1cd8899)", + "contract-metadata 2.0.0-beta.1", "escape8259", "hex", "indexmap", @@ -652,9 +658,9 @@ dependencies = [ [[package]] name = "cxx" -version = "1.0.82" +version = "1.0.86" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4a41a86530d0fe7f5d9ea779916b7cadd2d4f9add748b99c2c029cbbdfaf453" +checksum = "51d1075c37807dcf850c379432f0df05ba52cc30f279c5cfc43cc221ce7f8579" dependencies = [ "cc", "cxxbridge-flags", @@ -664,9 +670,9 @@ dependencies = [ [[package]] name = "cxx-build" -version = "1.0.82" +version = "1.0.86" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06416d667ff3e3ad2df1cd8cd8afae5da26cf9cec4d0825040f88b5ca659a2f0" +checksum = "5044281f61b27bc598f2f6647d480aed48d2bf52d6eb0b627d84c0361b17aa70" dependencies = [ "cc", "codespan-reporting", @@ -679,15 +685,15 @@ dependencies = [ [[package]] name = "cxxbridge-flags" -version = "1.0.82" +version = "1.0.86" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "820a9a2af1669deeef27cb271f476ffd196a2c4b6731336011e0ba63e2c7cf71" +checksum = "61b50bc93ba22c27b0d31128d2d130a0a6b3d267ae27ef7e4fae2167dfe8781c" [[package]] name = "cxxbridge-macro" -version = "1.0.82" +version = "1.0.86" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a08a6e2fcc370a089ad3b4aaf54db3b1b4cee38ddabce5896b33eb693275f470" +checksum = "39e61fda7e62115119469c7b3591fd913ecca96fb766cfd3f2e2502ab7bc87a5" dependencies = [ "proc-macro2", "quote", @@ -818,9 +824,9 @@ dependencies = [ [[package]] name = "dyn-clone" -version = "1.0.9" +version = "1.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f94fa09c2aeea5b8839e414b7b841bf429fd25b9c522116ac97ee87856d88b2" +checksum = "c9b0705efd4599c15a38151f4721f7bc388306f61084d3bfd50bd07fbca5cb60" [[package]] name = "ecdsa" @@ -1328,9 +1334,9 @@ dependencies = [ [[package]] name = "gimli" -version = "0.26.2" +version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22030e2c5a68ec659fde1e949a745124b48e6fa8b045b7ed5bd1fe4ccc5c4e5d" +checksum = "dec7af912d60cdbd3677c1af9352ebae6fb8394d165568a2234df0fa00f87793" [[package]] name = "group" @@ -1513,9 +1519,9 @@ dependencies = [ [[package]] name = "hyper-rustls" -version = "0.23.1" +version = "0.23.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59df7c4e19c950e6e0e868dcc0a300b09a9b88e9ec55bd879ca819087a77355d" +checksum = "1788965e61b367cd03a62950836d5cd41560c3577d90e40e0819373194d1661c" dependencies = [ "http", "hyper", @@ -1746,30 +1752,30 @@ dependencies = [ [[package]] name = "io-lifetimes" -version = "1.0.3" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46112a93252b123d31a119a8d1a1ac19deac4fac6e0e8b0df58f0d4e5870e63c" +checksum = "e7d6c6f8c91b4b9ed43484ad1a938e393caf35960fce7f82a040497207bd8e9e" dependencies = [ "libc", - "windows-sys 0.42.0", + "windows-sys", ] [[package]] name = "ipnet" -version = "2.7.0" +version = "2.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11b0d96e660696543b251e58030cf9787df56da39dab19ad60eae7353040917e" +checksum = "30e22bd8629359895450b59ea7a776c850561b96a3b1d31321c1949d9e6c9146" [[package]] name = "is-terminal" -version = "0.4.1" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "927609f78c2913a6f6ac3c27a4fe87f43e2a35367c0c4b0f8265e8f49a104330" +checksum = "28dfb6c8100ccc63462345b67d1bbc3679177c75ee4bf59bf29c8b1d110b8189" dependencies = [ "hermit-abi 0.2.6", "io-lifetimes", "rustix", - "windows-sys 0.42.0", + "windows-sys", ] [[package]] @@ -1783,9 +1789,9 @@ dependencies = [ [[package]] name = "itoa" -version = "1.0.4" +version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4217ad341ebadf8d8e724e264f13e593e0648f5b3e94b3896a5df283be015ecc" +checksum = "fad582f4b9e86b6caa621cabeb0963332d92eea04729ab12892c2533951e6440" [[package]] name = "joinery" @@ -1920,9 +1926,9 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" [[package]] name = "libc" -version = "0.2.137" +version = "0.2.139" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc7fcc620a3bff7cdd7a365be3376c97191aeaccc2a603e600951e452615bf89" +checksum = "201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79" [[package]] name = "libm" @@ -1937,7 +1943,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "95b09eff1b35ed3b33b877ced3a691fc7a481919c7e29c53c906226fcf55e2a1" dependencies = [ "arrayref", - "base64", + "base64 0.13.1", "digest 0.9.0", "hmac-drbg", "libsecp256k1-core", @@ -1980,9 +1986,9 @@ dependencies = [ [[package]] name = "link-cplusplus" -version = "1.0.7" +version = "1.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9272ab7b96c9046fbc5bc56c06c117cb639fe2d509df0c421cad82d2915cf369" +checksum = "ecd207c9c713c34f95a097a5b029ac2ce6010530c7b49d7fea24d977dede04f5" dependencies = [ "cc", ] @@ -2116,9 +2122,9 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "miniz_oxide" -version = "0.5.4" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96590ba8f175222643a85693f33d26e9c8a015f599c216509b1a6894af675d34" +checksum = "b275950c28b37e794e8c55d88aeb5e139d0ce23fdbbeda68f8d7174abdf9e8fa" dependencies = [ "adler", ] @@ -2132,7 +2138,7 @@ dependencies = [ "libc", "log", "wasi 0.11.0+wasi-snapshot-preview1", - "windows-sys 0.42.0", + "windows-sys", ] [[package]] @@ -2233,9 +2239,9 @@ dependencies = [ [[package]] name = "num-format" -version = "0.4.3" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54b862ff8df690cf089058c98b183676a7ed0f974cc08b426800093227cbff3b" +checksum = "a652d9771a63711fd3c3deb670acfbe5c30a4072e664d7a3bf5a9e1056ac72c3" dependencies = [ "arrayvec 0.7.2", "itoa", @@ -2275,28 +2281,28 @@ dependencies = [ [[package]] name = "num_cpus" -version = "1.14.0" +version = "1.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6058e64324c71e02bc2b150e4f3bc8286db6c83092132ffa3f6b1eab0f9def5" +checksum = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b" dependencies = [ - "hermit-abi 0.1.19", + "hermit-abi 0.2.6", "libc", ] [[package]] name = "object" -version = "0.29.0" +version = "0.30.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21158b2c33aa6d4561f1c0a6ea283ca92bc54802a93b263e910746d679a7eb53" +checksum = "2b8c786513eb403643f2a88c244c2aaa270ef2153f55094587d0c48a3cf22a83" dependencies = [ "memchr", ] [[package]] name = "once_cell" -version = "1.16.0" +version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86f0b0d4bf799edbc74508c1e8bf170ff5f41238e5f8225603ca7caaae2b7860" +checksum = "6f61fba1741ea2b3d6a1e3178721804bb716a68a6aeba1149b5d52e3d464ea66" [[package]] name = "opaque-debug" @@ -2312,9 +2318,9 @@ checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" [[package]] name = "openssl" -version = "0.10.44" +version = "0.10.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29d971fd5722fec23977260f6e81aa67d2f22cadbdc2aa049f1022d9a3be1566" +checksum = "b102428fd03bc5edf97f62620f7298614c45cedf287c271e7ed450bbaf83f2e1" dependencies = [ "bitflags", "cfg-if", @@ -2344,9 +2350,9 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "openssl-sys" -version = "0.9.79" +version = "0.9.80" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5454462c0eced1e97f2ec09036abc8da362e66802f66fd20f86854d9d8cbcbc4" +checksum = "23bbbf7854cd45b83958ebe919f0e8e516793727652e27fda10a8384cfc790b7" dependencies = [ "autocfg", "cc", @@ -2571,22 +2577,22 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.5" +version = "0.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ff9f3fef3968a3ec5945535ed654cb38ff72d7495a25619e2247fb15a2ed9ba" +checksum = "ba1ef8814b5c993410bb3adfad7a5ed269563e4a2f90c41f5d85be7fb47133bf" dependencies = [ "cfg-if", "libc", "redox_syscall", "smallvec", - "windows-sys 0.42.0", + "windows-sys", ] [[package]] name = "paste" -version = "1.0.9" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1de2e551fb905ac83f73f7aedf2f0cb4a0da7e35efa24a202a936269f1f18e1" +checksum = "d01a5bd0424d00070b0098dd17ebca6f961a959dead1dbcbbbc1d1cd8d3deeba" [[package]] name = "pbkdf2" @@ -2732,18 +2738,18 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.47" +version = "1.0.49" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ea3d908b0e36316caf9e9e2c4625cdde190a7e6f440d794667ed17a1855e725" +checksum = "57a8eca9f9c4ffde41714334dee777596264c7825420f521abc92b5b5deb63a5" dependencies = [ "unicode-ident", ] [[package]] name = "quote" -version = "1.0.21" +version = "1.0.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbe448f377a7d6961e30f5955f9b8d106c3f5e449d493ee1b125c1d43c2b5179" +checksum = "8856d8364d252a14d474036ea1358d63c9e6965c8e5c1885c18f73d70bff9c7b" dependencies = [ "proc-macro2", ] @@ -2853,11 +2859,10 @@ checksum = "60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3" [[package]] name = "rayon" -version = "1.6.0" +version = "1.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e060280438193c554f654141c9ea9417886713b7acd75974c85b18a69a88e0b" +checksum = "6db3a213adf02b3bcfd2d3846bb41cb22857d131789e01df434fb7e7bc0759b7" dependencies = [ - "crossbeam-deque", "either", "rayon-core", ] @@ -2885,18 +2890,18 @@ dependencies = [ [[package]] name = "ref-cast" -version = "1.0.13" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53b15debb4f9d60d767cd8ca9ef7abb2452922f3214671ff052defc7f3502c44" +checksum = "8c78fb8c9293bcd48ef6fce7b4ca950ceaf21210de6e105a883ee280c0f7b9ed" dependencies = [ "ref-cast-impl", ] [[package]] name = "ref-cast-impl" -version = "1.0.13" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abfa8511e9e94fd3de6585a3d3cd00e01ed556dc9814829280af0e8dc72a8f36" +checksum = "9f9c0c92af03644e4806106281fe2e068ac5bc0ae74a707266d06ea27bccee5f" dependencies = [ "proc-macro2", "quote", @@ -2905,9 +2910,9 @@ dependencies = [ [[package]] name = "regex" -version = "1.7.0" +version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e076559ef8e241f2ae3479e36f97bd5741c0330689e217ad51ce2c76808b868a" +checksum = "48aaa5748ba571fb95cd2c85c09f629215d3a6ece942baa100950af03a34f733" dependencies = [ "aho-corasick", "memchr", @@ -2944,7 +2949,7 @@ version = "0.11.13" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "68cc60575865c7831548863cc02356512e3f1dc2f3f82cb837d7fc4cc8f3c97c" dependencies = [ - "base64", + "base64 0.13.1", "bytes", "encoding_rs", "futures-core", @@ -3045,14 +3050,14 @@ dependencies = [ "io-lifetimes", "libc", "linux-raw-sys", - "windows-sys 0.42.0", + "windows-sys", ] [[package]] name = "rustls" -version = "0.20.7" +version = "0.20.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "539a2bfe908f471bfa933876bd1eb6a19cf2176d375f82ef7f99530a40e48c2c" +checksum = "fff78fc74d175294f4e83b28343315ffcfb114b156f0185e9741cb5570f50e2f" dependencies = [ "log", "ring", @@ -3074,24 +3079,24 @@ dependencies = [ [[package]] name = "rustls-pemfile" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0864aeff53f8c05aa08d86e5ef839d3dfcf07aeba2db32f12db0ef716e87bd55" +checksum = "d194b56d58803a43635bdc398cd17e383d6f71f9182b9a192c127ca42494a59b" dependencies = [ - "base64", + "base64 0.21.0", ] [[package]] name = "rustversion" -version = "1.0.9" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97477e48b4cf8603ad5f7aaf897467cf42ab4218a38ef76fb14c2d6773a6d6a8" +checksum = "5583e89e108996506031660fe09baa5011b9dd0341b89029313006d1fb508d70" [[package]] name = "ryu" -version = "1.0.11" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4501abdff3ae82a1c1b477a17252eb69cee9e66eb915c1abaa4f44d873df9f09" +checksum = "7b4b9743ed687d4b4bcedf9ff5eaa7398495ae14e61cba0a295704edbc7decde" [[package]] name = "scale-bits" @@ -3161,12 +3166,11 @@ dependencies = [ [[package]] name = "schannel" -version = "0.1.20" +version = "0.1.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88d6731146462ea25d9244b2ed5fd1d716d25c52e4d54aa4fb0f3c4e9854dbe2" +checksum = "713cfb06c7059f3588fb8044c0fad1d09e3c01d225e25b9220dbfdcf16dbb1b3" dependencies = [ - "lazy_static", - "windows-sys 0.36.1", + "windows-sys", ] [[package]] @@ -3195,9 +3199,9 @@ checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" [[package]] name = "scratch" -version = "1.0.2" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c8132065adcfd6e02db789d9285a0deb2f3fcb04002865ab67d5fb103533898" +checksum = "ddccb15bcce173023b3fedd9436f882a0739b8dfb45e4f6b6002bee5929f61b2" [[package]] name = "sct" @@ -3224,9 +3228,9 @@ dependencies = [ [[package]] name = "secp256k1" -version = "0.24.1" +version = "0.24.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff55dc09d460954e9ef2fa8a7ced735a964be9981fd50e870b2b3b0705e14964" +checksum = "d9512ffd81e3a3503ed401f79c33168b9148c75038956039166cd750eaa037c3" dependencies = [ "secp256k1-sys", ] @@ -3465,7 +3469,7 @@ version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "41d1c5305e39e09653383c2c7244f2f78b3bcae37cf50c64cb4789c9f5096ec2" dependencies = [ - "base64", + "base64 0.13.1", "bytes", "futures", "httparse", @@ -4294,9 +4298,9 @@ dependencies = [ [[package]] name = "ss58-registry" -version = "1.35.0" +version = "1.37.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa0813c10b9dbdc842c2305f949f724c64866e4ef4d09c9151e96f6a2106773c" +checksum = "d44528162f980c0e03c71e005d334332c8da0aec9f2b0b4bdc557ed4a9f24776" dependencies = [ "Inflector", "num-format", @@ -4426,9 +4430,9 @@ dependencies = [ [[package]] name = "syn" -version = "1.0.105" +version = "1.0.107" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60b9b43d45702de4c839cb9b51d9f529c5dd26a4aff255b42b1ebc03e88ee908" +checksum = "1f4064b5b16e03ae50984a5a8ed5d4f8803e6bc1fd170a3cda91a1be4b18e3f5" dependencies = [ "proc-macro2", "quote", @@ -4493,18 +4497,18 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.37" +version = "1.0.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10deb33631e3c9018b9baf9dcbbc4f737320d2b576bac10f6aefa048fa407e3e" +checksum = "6a9cd18aa97d5c45c6603caea1da6628790b37f7a34b6ca89522331c5180fed0" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.37" +version = "1.0.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "982d17546b47146b28f7c22e3d08465f6b8903d0ea13c1660d9d84a6e7adcdbb" +checksum = "1fb327af4685e4d03fa8cbcf1716380da910eeb2bb8be417e7f9fd3fb164f36f" dependencies = [ "proc-macro2", "quote", @@ -4556,9 +4560,9 @@ checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" [[package]] name = "tokio" -version = "1.23.0" +version = "1.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eab6d665857cc6ca78d6e80303a02cea7a7851e85dfbd77cbdc09bd129f1ef46" +checksum = "1d9f76183f91ecfb55e1d7d5602bd1d979e38a3a522fe900241cf195624d67ae" dependencies = [ "autocfg", "bytes", @@ -4571,7 +4575,7 @@ dependencies = [ "signal-hook-registry", "socket2", "tokio-macros", - "windows-sys 0.42.0", + "windows-sys", ] [[package]] @@ -4623,9 +4627,9 @@ dependencies = [ [[package]] name = "toml" -version = "0.5.9" +version = "0.5.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d82e1a7758622a465f8cee077614c73484dac5b836c02ff6a40d5d1010324d7" +checksum = "1333c76748e868a4d9d1017b5ab53171dfd095f70c712fdb4653a406547f598f" dependencies = [ "serde", ] @@ -4736,15 +4740,15 @@ dependencies = [ [[package]] name = "try-lock" -version = "0.2.3" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642" +checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed" [[package]] name = "tt-call" -version = "1.0.8" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e66dcbec4290c69dd03c57e76c2469ea5c7ce109c6dd4351c13055cf71ea055" +checksum = "f4f195fd851901624eee5a58c4bb2b4f06399148fcd0ed336e6f1cb60a9881df" [[package]] name = "twox-hash" @@ -4760,9 +4764,9 @@ dependencies = [ [[package]] name = "typenum" -version = "1.15.0" +version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987" +checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba" [[package]] name = "uint" @@ -4784,9 +4788,9 @@ checksum = "099b7128301d285f79ddd55b9a83d5e6b9e97c92e0ea0daebee7263e932de992" [[package]] name = "unicode-ident" -version = "1.0.5" +version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ceab39d59e4c9499d4e5a8ee0e2735b891bb7308ac83dfb4e80cad195c9f6f3" +checksum = "84a22b9f218b40614adcb3f4ff08b703773ad44fa9423e4e0d346d5db86e4ebc" [[package]] name = "unicode-normalization" @@ -4994,9 +4998,9 @@ dependencies = [ [[package]] name = "webpki-roots" -version = "0.22.5" +version = "0.22.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "368bfe657969fb01238bb756d351dcade285e0f6fcbd36dcb23359a5169975be" +checksum = "b6c71e40d7d2c34a5106301fb632274ca37242cd0c9d3e64dbece371a40a2d87" dependencies = [ "webpki", ] @@ -5032,19 +5036,6 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" -[[package]] -name = "windows-sys" -version = "0.36.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea04155a16a59f9eab786fe12a4a450e75cdb175f9e0d80da1e17db09f55b8d2" -dependencies = [ - "windows_aarch64_msvc 0.36.1", - "windows_i686_gnu 0.36.1", - "windows_i686_msvc 0.36.1", - "windows_x86_64_gnu 0.36.1", - "windows_x86_64_msvc 0.36.1", -] - [[package]] name = "windows-sys" version = "0.42.0" @@ -5052,85 +5043,55 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" dependencies = [ "windows_aarch64_gnullvm", - "windows_aarch64_msvc 0.42.0", - "windows_i686_gnu 0.42.0", - "windows_i686_msvc 0.42.0", - "windows_x86_64_gnu 0.42.0", + "windows_aarch64_msvc", + "windows_i686_gnu", + "windows_i686_msvc", + "windows_x86_64_gnu", "windows_x86_64_gnullvm", - "windows_x86_64_msvc 0.42.0", + "windows_x86_64_msvc", ] [[package]] name = "windows_aarch64_gnullvm" -version = "0.42.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41d2aa71f6f0cbe00ae5167d90ef3cfe66527d6f613ca78ac8024c3ccab9a19e" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.36.1" +version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47" +checksum = "8c9864e83243fdec7fc9c5444389dcbbfd258f745e7853198f365e3c4968a608" [[package]] name = "windows_aarch64_msvc" -version = "0.42.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd0f252f5a35cac83d6311b2e795981f5ee6e67eb1f9a7f64eb4500fbc4dcdb4" - -[[package]] -name = "windows_i686_gnu" -version = "0.36.1" +version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6" +checksum = "4c8b1b673ffc16c47a9ff48570a9d85e25d265735c503681332589af6253c6c7" [[package]] name = "windows_i686_gnu" -version = "0.42.0" +version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbeae19f6716841636c28d695375df17562ca208b2b7d0dc47635a50ae6c5de7" +checksum = "de3887528ad530ba7bdbb1faa8275ec7a1155a45ffa57c37993960277145d640" [[package]] name = "windows_i686_msvc" -version = "0.36.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024" - -[[package]] -name = "windows_i686_msvc" -version = "0.42.0" +version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84c12f65daa39dd2babe6e442988fc329d6243fdce47d7d2d155b8d874862246" +checksum = "bf4d1122317eddd6ff351aa852118a2418ad4214e6613a50e0191f7004372605" [[package]] name = "windows_x86_64_gnu" -version = "0.36.1" +version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.42.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf7b1b21b5362cbc318f686150e5bcea75ecedc74dd157d874d754a2ca44b0ed" +checksum = "c1040f221285e17ebccbc2591ffdc2d44ee1f9186324dd3e84e99ac68d699c45" [[package]] name = "windows_x86_64_gnullvm" -version = "0.42.0" +version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09d525d2ba30eeb3297665bd434a54297e4170c7f1a44cad4ef58095b4cd2028" +checksum = "628bfdf232daa22b0d64fdb62b09fcc36bb01f05a3939e20ab73aaf9470d0463" [[package]] name = "windows_x86_64_msvc" -version = "0.36.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.42.0" +version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f40009d85759725a34da6d89a94e63d7bdc50a862acf0dbc7c8e488f1edcb6f5" +checksum = "447660ad36a13288b1db4d4248e857b510e8c3a225c822ba4fb748c0aafecffd" [[package]] name = "winreg" diff --git a/e2e-tests/src/test/fee.rs b/e2e-tests/src/test/fee.rs index 8bafab4b93..5f32204251 100644 --- a/e2e-tests/src/test/fee.rs +++ b/e2e-tests/src/test/fee.rs @@ -1,8 +1,8 @@ use aleph_client::{ api::transaction_payment::events::TransactionFeePaid, pallets::{balances::BalanceUserApi, fee::TransactionPaymentApi, system::SystemSudoApi}, - waiting::{AlephWaiting, BlockStatus}, - AccountId, RootConnection, SignedConnection, SignedConnectionApi, TxStatus, + utility::BlocksApi, + AccountId, RootConnection, SignedConnection, TxStatus, }; use log::info; use primitives::Balance; @@ -107,31 +107,16 @@ pub async fn current_fees( ) -> (Balance, u128) { let actual_multiplier = connection.get_next_fee_multiplier(None).await; - let waiting_connection = connection.clone(); - let signer = connection.account_id().clone(); - let event_handle = tokio::spawn(async move { - waiting_connection - .wait_for_event( - |e: &TransactionFeePaid| e.who == signer, - BlockStatus::Finalized, - ) - .await - }); - match tip { - None => { - connection - .transfer(to, transfer_value, TxStatus::Finalized) - .await - .unwrap(); - } - Some(tip) => { - connection - .transfer_with_tip(to, transfer_value, tip, TxStatus::Finalized) - .await - .unwrap(); - } + let tx_info = match tip { + None => connection.transfer(to, transfer_value, TxStatus::Finalized), + Some(tip) => connection.transfer_with_tip(to, transfer_value, tip, TxStatus::Finalized), } - let event = event_handle.await.unwrap(); + .await + .unwrap(); + + let events = connection.get_tx_events(tx_info).await.unwrap(); + let event = events.find_first::().unwrap().unwrap(); + let fee = event.actual_fee; info!("fee payed: {}", fee); diff --git a/flooder/Cargo.lock b/flooder/Cargo.lock index 82abc52881..531c491c17 100644 --- a/flooder/Cargo.lock +++ b/flooder/Cargo.lock @@ -49,7 +49,7 @@ dependencies = [ [[package]] name = "aleph_client" -version = "2.7.0" +version = "2.8.0" dependencies = [ "anyhow", "async-trait", From 585a842844c6223181354d1be9770f9035de01e1 Mon Sep 17 00:00:00 2001 From: Krzysztof Ziobro <86822080+krzysztofziobro@users.noreply.github.com> Date: Fri, 13 Jan 2023 15:11:34 +0100 Subject: [PATCH 082/212] Make AsConnection and AsSigned visible outside aleph-client (#861) * pub use for AsConnection and SignedConnection * bump --- aleph-client/src/connections.rs | 2 ++ aleph-client/src/lib.rs | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/aleph-client/src/connections.rs b/aleph-client/src/connections.rs index f4c7b77568..78f7d49db8 100644 --- a/aleph-client/src/connections.rs +++ b/aleph-client/src/connections.rs @@ -39,11 +39,13 @@ pub struct RootConnection { /// Castability to a plain connection. pub trait AsConnection { + /// Allows cast to [`Connection`] reference fn as_connection(&self) -> &Connection; } /// Castability to a signed connection. pub trait AsSigned { + /// Allows cast to [`SignedConnection`] reference fn as_signed(&self) -> &SignedConnection; } diff --git a/aleph-client/src/lib.rs b/aleph-client/src/lib.rs index f147c58572..2f0e79dbe3 100644 --- a/aleph-client/src/lib.rs +++ b/aleph-client/src/lib.rs @@ -58,7 +58,8 @@ pub type TxHash = H256; pub type SubxtClient = OnlineClient; pub use connections::{ - Connection, ConnectionApi, RootConnection, SignedConnection, SignedConnectionApi, SudoCall, + AsConnection, AsSigned, Connection, ConnectionApi, RootConnection, SignedConnection, + SignedConnectionApi, SudoCall, }; /// When submitting a transaction, wait for given status before proceeding. From 901d3ecf3ced6567018317212933d559daa0c13a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Obrok?= Date: Fri, 13 Jan 2023 18:03:45 +0100 Subject: [PATCH 083/212] A0-1766: Sketch out the pricing script (#852) * Sketch out the pricing script * Format the pricing table prettier * Improve cosmetics * Improve cosmetics Co-authored-by: Michal Handzlik --- scripts/pricing/README.md | 24 ++++++++ scripts/pricing/requirements.txt | 1 + scripts/pricing/run.py | 101 +++++++++++++++++++++++++++++++ 3 files changed, 126 insertions(+) create mode 100644 scripts/pricing/README.md create mode 100644 scripts/pricing/requirements.txt create mode 100755 scripts/pricing/run.py diff --git a/scripts/pricing/README.md b/scripts/pricing/README.md new file mode 100644 index 0000000000..b526b1b651 --- /dev/null +++ b/scripts/pricing/README.md @@ -0,0 +1,24 @@ +Pricing script +============== + +The `./run.py` script in this directory will deploy some contracts and print a summary of how much some basic operations +on them cost. + +It requires `python3` and an Ink 4-compatible version of `cargo contract`, to install: + +```bash +$ cargo install cargo-contract --version 2.0.0-beta.1 +``` + +Afterwards, install the python deps and run the script: + +```bash +$ pip install -r requirements.txt +$ ./run.py +``` + +For more info on options see: + +```bash +$ ./run.py --help +``` diff --git a/scripts/pricing/requirements.txt b/scripts/pricing/requirements.txt new file mode 100644 index 0000000000..a00a1bbfbe --- /dev/null +++ b/scripts/pricing/requirements.txt @@ -0,0 +1 @@ +tabulate==0.9.0 diff --git a/scripts/pricing/run.py b/scripts/pricing/run.py new file mode 100755 index 0000000000..3b65e25ffa --- /dev/null +++ b/scripts/pricing/run.py @@ -0,0 +1,101 @@ +#!/usr/bin/python3 + +import argparse +import random +import subprocess +import json +from tabulate import tabulate +import urllib.request + +AZERO = 1_000_000_000_000 + + +parser = argparse.ArgumentParser( + description='Check the prices of some common contract operations') +parser.add_argument('--url', type=str, + default='ws://localhost:9944', help='URL of the node to connect to') +parser.add_argument('--suri', type=str, default='//Alice', + help='Secret key URI to use for calls') +parser.add_argument('--adder-dir', type=str, + help='Directory of the adder contract', default='../../contracts/adder') + +args = parser.parse_args() + +COMMON_ARGS = ['--suri', args.suri, '--url', + args.url, '--skip-confirm', '--output-json'] + + +def random_salt(): + return ''.join(random.choice('0123456789abcdef') for _ in range(10)) + + +def deploy(directory): + res = subprocess.check_output(['cargo', 'contract', 'instantiate', '--salt', + random_salt()] + COMMON_ARGS, cwd=directory) + return json.loads(res.decode('utf-8')) + + +def call(directory, contract, message, *args): + args = [x for a in args for x in ['--args', a]] + res = subprocess.check_output(['cargo', 'contract', 'call', '--contract', contract, + '--message', message] + args + COMMON_ARGS, cwd=directory) + return json.loads(res.decode('utf-8')) + + +def event_field(event, field): + for f in event['fields']: + if f['name'] == field: + return f['value'] + + +def deployer_account_id(deploy_result): + setup_event = next(filter( + lambda e: e['name'] == 'Transfer' and account_id(event_field(e, 'to')) == adder_address, deploy_result['events']), None) + + return account_id(event_field(setup_event, 'from')) + + +def account_id(value): + match value: + case {'Literal': account_id}: return account_id + case _: raise ValueError(f'Invalid account id: {value}') + + +def uint(value): + match value: + case {'UInt': value}: return value + case _: raise ValueError(f'Invalid uint: {value}') + + +def find_fee(events, by_whom): + fee_event = next(filter(lambda e: e['name'] == 'TransactionFeePaid' and account_id( + event_field(e, 'who')) == by_whom, events), None) + return uint(event_field(fee_event, 'actual_fee')) + + +with urllib.request.urlopen('https://api.coingecko.com/api/v3/simple/price?ids=aleph-zero&vs_currencies=usd') as response: + data = json.load(response) + aleph_usd = data['aleph-zero']['usd'] + + +def format_fee(fee): + return "%f AZERO ($%f)" % (fee / AZERO, fee / AZERO * aleph_usd) + + +deploy_result = deploy(args.adder_dir) + +adder_address = deploy_result['contract'] +suri_address = deployer_account_id(deploy_result) +instantiate_fee = find_fee(deploy_result['events'], suri_address) + +events = call(args.adder_dir, adder_address, 'add', '42') +add_fee = find_fee(events, suri_address) + +headers = ['Operation', 'Fee'] +prices = [ + ["Instantiate contract with single storage value", + format_fee(instantiate_fee)], + ["Call contract with single storage update", format_fee(add_fee)] +] + +print(tabulate(prices, headers=headers, tablefmt="github")) From d702f0ac5b93fdcd4d87382f4aa5ed5166087685 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maciej=20Nem=C5=9B?= Date: Mon, 16 Jan 2023 16:39:01 +0100 Subject: [PATCH 084/212] fix justification request status report not resetting (#866) --- finality-aleph/src/justification/requester.rs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/finality-aleph/src/justification/requester.rs b/finality-aleph/src/justification/requester.rs index 1bc4595df9..f9eb221a79 100644 --- a/finality-aleph/src/justification/requester.rs +++ b/finality-aleph/src/justification/requester.rs @@ -60,6 +60,14 @@ impl JustificationRequestStatus { } } + fn reset(&mut self) { + self.block_hash_number = None; + self.block_tries = 0; + self.parent = None; + self.n_children = 0; + self.children_tries = 0; + } + fn should_report(&self) -> bool { self.block_tries >= self.report_threshold || self.children_tries >= self.report_threshold } @@ -166,6 +174,7 @@ where match finalization_res { Ok(()) => { self.justification_request_scheduler.on_block_finalized(); + self.request_status.reset(); debug!(target: "aleph-justification", "Successfully finalized {:?}", number); if let Some(metrics) = &self.metrics { metrics.report_block(hash, Instant::now(), Checkpoint::Finalized); From 6ca0b7c88f0b4f357f8952ac2d414bc7df86a654 Mon Sep 17 00:00:00 2001 From: Marcin Date: Tue, 17 Jan 2023 10:28:16 +0100 Subject: [PATCH 085/212] A0-1852 remove send-runtime-hook and fork-off from Deploy to Devnet workflow (#858) * A0-1852 remove send-runtime-hook and fork-off from Deploy to Devnet workflow * A0-1852 Use r-9.0-rc2 image for testing * A0-1852 Use current commit for testing. Decrease sleep * Remove deprecated set-output command * Testing workflow * Revert "Testing workflow" This reverts commit 0b917dbc83d1e9f97c81d6574976a4f5ec19a3a2. * Review remarks --- .github/workflows/deploy-to-devnet.yml | 59 ++++++++++++-------------- 1 file changed, 28 insertions(+), 31 deletions(-) diff --git a/.github/workflows/deploy-to-devnet.yml b/.github/workflows/deploy-to-devnet.yml index e7b430bd88..9687480835 100644 --- a/.github/workflows/deploy-to-devnet.yml +++ b/.github/workflows/deploy-to-devnet.yml @@ -1,5 +1,11 @@ name: Deploy to Devnet +# This workflow performs automatic deployment of aleph-node to the Devnet environment +# It does it from the scratch, ie it +# 1) syncs the validators keys from S3, +# 2) generates raw chainspec from the deployed aleph-node binary, +# 3) restart nodes with cleaned db + on: workflow_dispatch: @@ -22,8 +28,7 @@ jobs: id: vars shell: bash run: | - echo "##[set-output name=branch;]$(echo ${GITHUB_REF##*/})" - echo "::set-output name=sha_short::$(git rev-parse --short HEAD)" + echo "sha_short=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT - name: Configure AWS credentials uses: aws-actions/configure-aws-credentials@v1 @@ -49,58 +54,50 @@ jobs: with: version: 'v1.23.6' - - name: Run fork-off update - env: - RELEASE_TAG: ${{ steps.vars.outputs.sha_short }} - + - name: Sync all validator's keystores from S3 run: | #!/bin/bash - - COMMIT_ID=$(curl -s -H "Content-Type: application/json" -d '{"id":1, "jsonrpc":"2.0", "method": "system_version"}' https://rpc.test.azero.dev | jq -r '.result' | cut -d "-" -f 2 | head -c 7) - echo $COMMIT_ID - - # sync all validator's keystores from S3 aws s3 cp s3://alephzero-devnet-eu-central-1-keys-bucket/data data --recursive - # rename validator paths declare -A NAMES=([aleph-node-validator-0]=5D34dL5prEUaGNQtPPZ3yN5Y6BnkfXunKXXz6fo7ZJbLwRRH [aleph-node-validator-1]=5GBNeWRhZc2jXu7D55rBimKYDk8PGk8itRYFTPfC8RJLKG5o [aleph-node-validator-2]=5Dfis6XL8J2P6JHUnUtArnFWndn62SydeP8ee8sG2ky9nfm9 [aleph-node-validator-3]=5F4H97f7nQovyrbiq4ZetaaviNwThSVcFobcA5aGab6167dK [aleph-node-validator-4]=5DiDShBWa1fQx6gLzpf3SFBhMinCoyvHM1BWjPNsmXS8hkrW [aleph-node-validator-5]=5EFb84yH9tpcFuiKUcsmdoF7xeeY3ajG1ZLQimxQoFt9HMKR [aleph-node-validator-6]=5DZLHESsfGrJ5YzT3HuRPXsSNb589xQ4Unubh1mYLodzKdVY [aleph-node-validator-7]=5GHJzqvG6tXnngCpG7B12qjUvbo5e4e9z8Xjidk3CQZHxTPZ [aleph-node-validator-8]=5CUnSsgAyLND3bxxnfNhgWXSe9Wn676JzLpGLgyJv858qhoX [aleph-node-validator-9]=5CVKn7HAZW1Ky4r7Vkgsr7VEW88C2sHgUNDiwHY9Ct2hjU8q) - for NAME in "${!NAMES[@]}"; do mv -v data/$NAME data/${NAMES[$NAME]} done - # generate chainspec, it will reuse keys from the synced keystore - docker run -i -v $(pwd)/data:/data --env RUST_BACKTRACE=1 --entrypoint "/usr/local/bin/aleph-node" public.ecr.aws/p6e8q1z1/aleph-node:${COMMIT_ID} bootstrap-chain --raw --base-path /data --chain-id a0dnet1 --account-ids 5D34dL5prEUaGNQtPPZ3yN5Y6BnkfXunKXXz6fo7ZJbLwRRH,5GBNeWRhZc2jXu7D55rBimKYDk8PGk8itRYFTPfC8RJLKG5o,5Dfis6XL8J2P6JHUnUtArnFWndn62SydeP8ee8sG2ky9nfm9,5F4H97f7nQovyrbiq4ZetaaviNwThSVcFobcA5aGab6167dK,5DiDShBWa1fQx6gLzpf3SFBhMinCoyvHM1BWjPNsmXS8hkrW,5EFb84yH9tpcFuiKUcsmdoF7xeeY3ajG1ZLQimxQoFt9HMKR,5DZLHESsfGrJ5YzT3HuRPXsSNb589xQ4Unubh1mYLodzKdVY,5GHJzqvG6tXnngCpG7B12qjUvbo5e4e9z8Xjidk3CQZHxTPZ,5CUnSsgAyLND3bxxnfNhgWXSe9Wn676JzLpGLgyJv858qhoX,5CVKn7HAZW1Ky4r7Vkgsr7VEW88C2sHgUNDiwHY9Ct2hjU8q --sudo-account-id 5F4SvwaUEQubiqkPF8YnRfcN77cLsT2DfG4vFeQmSXNjR7hD > chainspec.skeleton.json - - docker run -i -v $(pwd):/app public.ecr.aws/p6e8q1z1/fork-off:latest --ws-rpc-endpoint=wss://ws.test.azero.dev --initial-spec-path=chainspec.skeleton.json --combined-spec-path=chainspec.json + - name: Generate chainspec + env: + RELEASE_TAG: ${{ steps.vars.outputs.sha_short }} + run: | + #!/bin/bash + aws s3 cp s3://alephzero-devnet-eu-central-1-keys-bucket/data data --recursive + docker run -i -v $(pwd)/data:/data --env RUST_BACKTRACE=1 --entrypoint "/usr/local/bin/aleph-node" public.ecr.aws/p6e8q1z1/aleph-node:${RELEASE_TAG} bootstrap-chain --raw --base-path /data --chain-id a0dnet1 --account-ids 5D34dL5prEUaGNQtPPZ3yN5Y6BnkfXunKXXz6fo7ZJbLwRRH,5GBNeWRhZc2jXu7D55rBimKYDk8PGk8itRYFTPfC8RJLKG5o,5Dfis6XL8J2P6JHUnUtArnFWndn62SydeP8ee8sG2ky9nfm9,5F4H97f7nQovyrbiq4ZetaaviNwThSVcFobcA5aGab6167dK,5DiDShBWa1fQx6gLzpf3SFBhMinCoyvHM1BWjPNsmXS8hkrW,5EFb84yH9tpcFuiKUcsmdoF7xeeY3ajG1ZLQimxQoFt9HMKR,5DZLHESsfGrJ5YzT3HuRPXsSNb589xQ4Unubh1mYLodzKdVY,5GHJzqvG6tXnngCpG7B12qjUvbo5e4e9z8Xjidk3CQZHxTPZ,5CUnSsgAyLND3bxxnfNhgWXSe9Wn676JzLpGLgyJv858qhoX,5CVKn7HAZW1Ky4r7Vkgsr7VEW88C2sHgUNDiwHY9Ct2hjU8q --sudo-account-id 5F4SvwaUEQubiqkPF8YnRfcN77cLsT2DfG4vFeQmSXNjR7hD > chainspec.json aws s3 cp chainspec.json s3://alephzero-devnet-eu-central-1-keys-bucket/chainspec.json - # stop and clean devnet - + - name: Stop and purge db Devnet + run: | + #!/bin/bash aws eks --region eu-central-1 update-kubeconfig --name alephzero-devnet-eu-central-1-eks kubectl delete sts aleph-node-validator -n devnet --ignore-not-found=true kubectl delete pvc -l app=aleph-node-validator -n devnet --ignore-not-found=true - kubectl delete job send-runtime-hook -n devnet --ignore-not-found=true - - cd aleph-apps/aleph-node-validators/overlays/devnet/eu-central-1 - kustomize edit set image "aleph-node-validator-image-placeholder=public.ecr.aws/p6e8q1z1/aleph-node:${COMMIT_ID}" - kustomize edit remove resource send-runtime-hook.yaml - kustomize build . | kubectl apply -f - - sleep 2 - kubectl rollout status --watch --timeout=3600s statefulset/aleph-node-validator -n devnet - echo "Waiting 15 minutes" - sleep 900 + - name: Start Devnet + env: + RELEASE_TAG: ${{ steps.vars.outputs.sha_short }} + run: | + #!/bin/bash + cd aleph-apps/aleph-node-validators/overlays/devnet/eu-central-1 kustomize edit set image "aleph-node-validator-image-placeholder=public.ecr.aws/p6e8q1z1/aleph-node:${RELEASE_TAG}" kustomize build . | kubectl apply -f - sleep 2 kubectl rollout status --watch --timeout=3600s statefulset/aleph-node-validator -n devnet - kustomize edit add resource send-runtime-hook.yaml - kustomize build . | kubectl apply -f - + - name: Waiting 5 minutes for validators to boot + run: | + #!/bin/bash + sleep 300 - name: GIT | Commit changes to aleph-apps repository. uses: EndBug/add-and-commit@v5.1.0 From 887b51f56c9deac70c10425f0735c1795408a0dc Mon Sep 17 00:00:00 2001 From: fixxxedpoint Date: Tue, 17 Jan 2023 23:19:10 +0100 Subject: [PATCH 086/212] adds `protobuf-compiler` to list of build dependencies (#859) * added protobuf-compiler to list of packages required to manually build aleph-node * nix: version.nix uses fixed version of rust toolchain now (nightly-2022-08-12) --- BUILD.md | 4 ++-- nix/versions.nix | 6 +----- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/BUILD.md b/BUILD.md index e734364527..1356f56dd5 100644 --- a/BUILD.md +++ b/BUILD.md @@ -53,7 +53,7 @@ is stored at `/lib64/ld-linux-x86-64.so.2`, you can execute `patchelf --set-inte aleph-node>`. Alternatively, you can use our nix-build script (used by docker based approach), i.q. `nix/nix-build.sh`. Note: we recommend using `direnv` together with `nix-direnv` for setting up nix-shell. This way you can use your preferred shell, -instead of one provided by nix-shell. +instead of one provided by nix-shell. Example configuration for `direnv`. Copy it into `.envrc` file and then run `direnv-allow`: ``` # installs nix-direnv, https://github.com/nix-community/nix-direnv @@ -88,7 +88,7 @@ It might influence some of the build scripts of our build dependencies and it mi the environment flags related with the build process, like `CXXFLAGS` etc. Example build procedure using Ubuntu 20.04 LTS and bash shell: ``` -sudo apt install build-essential curl git clang libclang-dev pkg-config libssl-dev +sudo apt install build-essential curl git clang libclang-dev pkg-config libssl-dev protobuf-compiler curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh source "$HOME/.cargo/env" git clone https://github.com/Cardinal-Cryptography/aleph-node.git diff --git a/nix/versions.nix b/nix/versions.nix index ace8103cf5..248c8ce25c 100644 --- a/nix/versions.nix +++ b/nix/versions.nix @@ -3,7 +3,7 @@ rec { rustToolchain = let # use Rust toolchain declared by the rust-toolchain file - rustToolchain = with nixpkgs; overrideRustTarget ( rustChannelOf { rustToolchain = rustToolchainFile; } ); + rustToolchain = with nixpkgs; overrideRustTarget ( rustChannelOf { date = "2022-08-12"; channel = "nightly"; } ); overrideRustTarget = rustChannel: rustChannel // { rust = rustChannel.rust.override { @@ -31,10 +31,6 @@ rec { sha256 = "1wg61h4gndm3vcprdcg7rc4s1v3jkm5xd7lw8r2f67w502y94gcy"; }) { overlays = [ rustOverlay - # we override rust toolchain - (self: super: { - rust = rustToolchain.rust; - }) ]; }; in From 785593288ebd84b86ea1b00adcd56bb9b2620448 Mon Sep 17 00:00:00 2001 From: Marcin Date: Wed, 18 Jan 2023 07:54:11 +0100 Subject: [PATCH 087/212] Fix for the runtime check (#874) --- aleph-client/docker/subxt-integration-entrypoint.sh | 4 +--- aleph-client/src/aleph_zero.rs | 1 - aleph-client/src/lib.rs | 1 + 3 files changed, 2 insertions(+), 4 deletions(-) diff --git a/aleph-client/docker/subxt-integration-entrypoint.sh b/aleph-client/docker/subxt-integration-entrypoint.sh index 3720d936a6..a60bb03acd 100644 --- a/aleph-client/docker/subxt-integration-entrypoint.sh +++ b/aleph-client/docker/subxt-integration-entrypoint.sh @@ -1,8 +1,6 @@ #!/usr/bin/env bash -# an ugly workaround for the fact we want to ignore rustdoc warnings in generated runtime file -echo "#[doc(hidden)]" > aleph_zero.rs -subxt codegen --derive Clone --derive Debug --derive Eq --derive PartialEq | rustfmt --edition=2021 --config-path aleph-node/rustfmt.toml >> aleph_zero.rs +subxt codegen --derive Clone --derive Debug --derive Eq --derive PartialEq | rustfmt --edition=2021 --config-path aleph-node/rustfmt.toml > aleph_zero.rs diff -y -W 200 --suppress-common-lines aleph_zero.rs aleph-node/aleph-client/src/aleph_zero.rs diff_exit_code=$? diff --git a/aleph-client/src/aleph_zero.rs b/aleph-client/src/aleph_zero.rs index 810b80fb6e..c3d5c0f443 100644 --- a/aleph-client/src/aleph_zero.rs +++ b/aleph-client/src/aleph_zero.rs @@ -1,4 +1,3 @@ -#[doc(hidden)] #[allow(dead_code, unused_imports, non_camel_case_types)] pub mod api { use super::api as root_mod; diff --git a/aleph-client/src/lib.rs b/aleph-client/src/lib.rs index 2f0e79dbe3..51780c5fc5 100644 --- a/aleph-client/src/lib.rs +++ b/aleph-client/src/lib.rs @@ -23,6 +23,7 @@ use subxt::{ use crate::api::runtime_types::aleph_runtime::RuntimeCall as Call; // generated by running `subxt codegen --derive Clone Debug Eq PartialEq | rustfmt --edition=2021 > src/aleph_zero.rs` #[allow(clippy::all)] +#[doc(hidden)] mod aleph_zero; mod connections; pub mod contract; From 2494ad13bacccc2cb900c9b81bb856db833937c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Obrok?= Date: Wed, 18 Jan 2023 13:16:42 +0100 Subject: [PATCH 088/212] Wait for finalized on transfer of money for tests (#873) Without this, the money might not yet be available for subsequent actions. This happens especially often on non-local nets. --- e2e-tests/README.md | 21 ++++++++++++++++++++- e2e-tests/src/test/helpers.rs | 4 ++-- 2 files changed, 22 insertions(+), 3 deletions(-) diff --git a/e2e-tests/README.md b/e2e-tests/README.md index 7aaa662010..113c56ee0f 100644 --- a/e2e-tests/README.md +++ b/e2e-tests/README.md @@ -7,10 +7,29 @@ This crate contains e2e test scenarios for the aleph-node. The most basic way to run (assuming a local node is listening on 9944) is: ```bash -$ NODE=ws://127.0.0.1:9944 cargo test name_of_one_test +$ NODE_URL=ws://127.0.0.1:9944 cargo test name_of_one_test ``` Note that the particular test cases might require different numbers of launched nodes, validators, or a particular configuration of the launched nodes, see the documentation for a particular test case for details. Additional options are passed to the tests via env variables. See `src/config.rs` for docs on available options. + +## Running on devnet (or other-net) + +You can also run the tests on some other network. For example, to run the contract test for the `adder` contract on +devnet: + +1. Prepare an account with some money, note the seed of the account. +2. Deploy the contract to devnet: + +```bash +contracts/adder$ NODE_URL=wss://ws.dev.azero.dev AUTHORITY="$THE_SEED" ./deploy.sh +``` + +3. Run the tests: + +```bash +e2e-tests$ RUST_BACKTRACE=1 SUDO_SEED="$THE_SEED" NODE_URL=wss://ws.dev.azero.dev:443 \ + ADDER=$DEPLOY_ADDRESS ADDER_METADATA=../contracts/adder/target/ink/metadata.json cargo test adder -- --nocapture +``` diff --git a/e2e-tests/src/test/helpers.rs b/e2e-tests/src/test/helpers.rs index b8b30a35b8..343e0d6b89 100644 --- a/e2e-tests/src/test/helpers.rs +++ b/e2e-tests/src/test/helpers.rs @@ -60,7 +60,7 @@ pub async fn transfer( to: &KeyPair, amount: Balance, ) -> Result<()> { - conn.transfer(to.signer().public().into(), amount, TxStatus::InBlock) + conn.transfer(to.signer().public().into(), amount, TxStatus::Finalized) .await .map(|_| ()) } @@ -78,7 +78,7 @@ pub async fn basic_test_context( let authority = KeyPairWrapper(aleph_client::keypair_from_string(&config.sudo_seed)); let account = random_account(); - transfer(&authority.sign(&conn), &account, alephs(100)).await?; + transfer(&authority.sign(&conn), &account, alephs(1)).await?; Ok((conn, authority, account)) } From 6c49756134503796accbece71ccdadca9da133cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Obrok?= Date: Wed, 18 Jan 2023 14:52:14 +0100 Subject: [PATCH 089/212] Migrate access_control to ink4 --- contracts/access_control/Cargo.lock | 467 ++++++++++++++++++++-------- contracts/access_control/Cargo.toml | 17 +- contracts/access_control/lib.rs | 47 ++- contracts/access_control/roles.rs | 11 +- contracts/access_control/traits.rs | 7 +- 5 files changed, 367 insertions(+), 182 deletions(-) diff --git a/contracts/access_control/Cargo.lock b/contracts/access_control/Cargo.lock index 59450d4d86..210372b28d 100644 --- a/contracts/access_control/Cargo.lock +++ b/contracts/access_control/Cargo.lock @@ -6,16 +6,20 @@ version = 3 name = "access_control" version = "0.2.0" dependencies = [ - "ink_env", - "ink_lang", - "ink_lang_codegen", - "ink_metadata", - "ink_primitives", - "ink_storage", + "ink", "parity-scale-codec", "scale-info", ] +[[package]] +name = "aho-corasick" +version = "0.7.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac" +dependencies = [ + "memchr", +] + [[package]] name = "array-init" version = "2.0.1" @@ -40,6 +44,12 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + [[package]] name = "bitvec" version = "1.0.1" @@ -135,6 +145,40 @@ version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f107b87b6afc2a64fd13cac55fe06d6c8859f12d4b14cbcdd2c67d0976781be" +[[package]] +name = "env_logger" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85cdab6a89accf66733ad5a1693a4dcced6aeff64602b634530dd73c1f3ee9f0" +dependencies = [ + "humantime", + "is-terminal", + "log", + "regex", + "termcolor", +] + +[[package]] +name = "errno" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f639046355ee4f37944e44f60642c6f3a7efa3cf6b78c78a0d989a8ce6c396a1" +dependencies = [ + "errno-dragonfly", + "libc", + "winapi", +] + +[[package]] +name = "errno-dragonfly" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf" +dependencies = [ + "cc", + "libc", +] + [[package]] name = "funty" version = "2.0.0" @@ -152,27 +196,31 @@ dependencies = [ ] [[package]] -name = "getrandom" -version = "0.2.7" +name = "heck" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9" + +[[package]] +name = "hermit-abi" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4eb1a864a501629691edf6c15a593b7a51eebaa1e8468e9ddc623de7c9b58ec6" +checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7" dependencies = [ - "cfg-if", "libc", - "wasi", ] [[package]] -name = "heck" -version = "0.4.0" +name = "humantime" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9" +checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" [[package]] name = "impl-serde" -version = "0.3.2" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4551f042f3438e64dbd6226b20527fc84a6e1fe65688b58746a2f53623f25f5c" +checksum = "ebc88fc67028ae3db0c853baa36269d398d5f45b6982f95549ff5def78c935cd" dependencies = [ "serde", ] @@ -188,25 +236,61 @@ dependencies = [ "syn", ] +[[package]] +name = "ink" +version = "4.0.0-beta" +source = "git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde#4655a8b4413cb50cbc38d1b7c173ad426ab06cde" +dependencies = [ + "derive_more", + "ink_env", + "ink_macro", + "ink_metadata", + "ink_prelude", + "ink_primitives", + "ink_storage", + "parity-scale-codec", +] + [[package]] name = "ink_allocator" -version = "3.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ed249de74298ed051ebcf6d3082b8d3dbd19cbc448d9ed3235d8a7b92713049" +version = "4.0.0-beta" +source = "git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde#4655a8b4413cb50cbc38d1b7c173ad426ab06cde" dependencies = [ "cfg-if", ] +[[package]] +name = "ink_codegen" +version = "4.0.0-beta" +source = "git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde#4655a8b4413cb50cbc38d1b7c173ad426ab06cde" +dependencies = [ + "blake2", + "derive_more", + "either", + "env_logger", + "heck", + "impl-serde", + "ink_ir", + "ink_primitives", + "itertools", + "log", + "parity-scale-codec", + "proc-macro2", + "quote", + "serde", + "serde_json", + "syn", +] + [[package]] name = "ink_engine" -version = "3.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acb9d32ec27d71fefb3f2b6a26bae82a2c6509d7ad61e8a5107b6291a1b03ecb" +version = "4.0.0-beta" +source = "git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde#4655a8b4413cb50cbc38d1b7c173ad426ab06cde" dependencies = [ "blake2", "derive_more", + "ink_primitives", "parity-scale-codec", - "rand", "secp256k1", "sha2", "sha3", @@ -214,9 +298,8 @@ dependencies = [ [[package]] name = "ink_env" -version = "3.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1549f5966167387c89fb3dfcdc59973bfb396cc3a7110d7a31ad5fdea56db0cf" +version = "4.0.0-beta" +source = "git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde#4655a8b4413cb50cbc38d1b7c173ad426ab06cde" dependencies = [ "arrayref", "blake2", @@ -227,10 +310,10 @@ dependencies = [ "ink_metadata", "ink_prelude", "ink_primitives", + "ink_storage_traits", "num-traits", "parity-scale-codec", "paste", - "rand", "rlibc", "scale-info", "secp256k1", @@ -240,72 +323,37 @@ dependencies = [ ] [[package]] -name = "ink_lang" -version = "3.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e5282f2722ac6dca469e7f223a7b38b2a6d20fbca6b974497e630d5dc8934e9" -dependencies = [ - "derive_more", - "ink_env", - "ink_lang_macro", - "ink_prelude", - "ink_primitives", - "ink_storage", - "parity-scale-codec", -] - -[[package]] -name = "ink_lang_codegen" -version = "3.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb3a5de33b59450adc3f61c5eb05b768067c7ab8af9d00f33e284310598168dc" +name = "ink_ir" +version = "4.0.0-beta" +source = "git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde#4655a8b4413cb50cbc38d1b7c173ad426ab06cde" dependencies = [ "blake2", - "derive_more", "either", - "heck", - "impl-serde", - "ink_lang_ir", "itertools", - "parity-scale-codec", "proc-macro2", "quote", "syn", ] [[package]] -name = "ink_lang_ir" -version = "3.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9d4d614462280fa06e15b9ca5725d7c8440dde93c8dae1c6f15422f7756cacb" +name = "ink_macro" +version = "4.0.0-beta" +source = "git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde#4655a8b4413cb50cbc38d1b7c173ad426ab06cde" dependencies = [ - "blake2", - "either", - "itertools", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "ink_lang_macro" -version = "3.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72f85f64141957c5db7cbabbb97a9c16c489e5e9d363e9f147d132a43c71cd29" -dependencies = [ - "ink_lang_codegen", - "ink_lang_ir", + "ink_codegen", + "ink_ir", "ink_primitives", "parity-scale-codec", "proc-macro2", + "quote", "syn", + "synstructure", ] [[package]] name = "ink_metadata" -version = "3.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dca6c159a2774f07437c6fd9ea710eb73a6b5e9a031a932bddf08742bf2c081a" +version = "4.0.0-beta" +source = "git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde#4655a8b4413cb50cbc38d1b7c173ad426ab06cde" dependencies = [ "derive_more", "impl-serde", @@ -317,30 +365,28 @@ dependencies = [ [[package]] name = "ink_prelude" -version = "3.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1f7f4dec15e573496c9d2af353e78bde84add391251608f25b5adcf175dc777" +version = "4.0.0-beta" +source = "git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde#4655a8b4413cb50cbc38d1b7c173ad426ab06cde" dependencies = [ "cfg-if", ] [[package]] name = "ink_primitives" -version = "3.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3296dd1c4f4fe12ede7c92d60e6fcb94d46a959ec19c701e4ac588b09e0b4a6" +version = "4.0.0-beta" +source = "git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde#4655a8b4413cb50cbc38d1b7c173ad426ab06cde" dependencies = [ - "cfg-if", + "derive_more", "ink_prelude", "parity-scale-codec", "scale-info", + "xxhash-rust", ] [[package]] name = "ink_storage" -version = "3.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ff9b503995a7b41fe201a7a2643ce22f5a11e0b67db7b685424b6d5fe0ecf0b" +version = "4.0.0-beta" +source = "git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde#4655a8b4413cb50cbc38d1b7c173ad426ab06cde" dependencies = [ "array-init", "cfg-if", @@ -349,21 +395,44 @@ dependencies = [ "ink_metadata", "ink_prelude", "ink_primitives", - "ink_storage_derive", + "ink_storage_traits", "parity-scale-codec", "scale-info", ] [[package]] -name = "ink_storage_derive" -version = "3.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "afb68e24e93e8327dda1924868d7ee4dbe01e1ed2b392f28583caa96809b585c" +name = "ink_storage_traits" +version = "4.0.0-beta" +source = "git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde#4655a8b4413cb50cbc38d1b7c173ad426ab06cde" dependencies = [ - "proc-macro2", - "quote", + "ink_metadata", + "ink_prelude", + "ink_primitives", + "parity-scale-codec", + "scale-info", "syn", - "synstructure", +] + +[[package]] +name = "io-lifetimes" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7d6c6f8c91b4b9ed43484ad1a938e393caf35960fce7f82a040497207bd8e9e" +dependencies = [ + "libc", + "windows-sys", +] + +[[package]] +name = "is-terminal" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28dfb6c8100ccc63462345b67d1bbc3679177c75ee4bf59bf29c8b1d110b8189" +dependencies = [ + "hermit-abi", + "io-lifetimes", + "rustix", + "windows-sys", ] [[package]] @@ -375,6 +444,12 @@ dependencies = [ "either", ] +[[package]] +name = "itoa" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fad582f4b9e86b6caa621cabeb0963332d92eea04729ab12892c2533951e6440" + [[package]] name = "keccak" version = "0.1.2" @@ -383,9 +458,30 @@ checksum = "f9b7d56ba4a8344d6be9729995e6b06f928af29998cdf79fe390cbf6b1fee838" [[package]] name = "libc" -version = "0.2.126" +version = "0.2.139" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79" + +[[package]] +name = "linux-raw-sys" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "349d5a591cd28b49e1d1037471617a32ddcda5731b99419008085f72d5a53836" +checksum = "f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4" + +[[package]] +name = "log" +version = "0.4.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "memchr" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" [[package]] name = "num-traits" @@ -428,12 +524,6 @@ version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0c520e05135d6e763148b6426a837e239041653ba7becd2e538c076c738025fc" -[[package]] -name = "ppv-lite86" -version = "0.2.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb9f9e6e233e5c4a35559a617bf40a4ec447db2e84c20b55a6f83167b7e57872" - [[package]] name = "proc-macro-crate" version = "1.1.3" @@ -469,46 +559,53 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" [[package]] -name = "rand" -version = "0.8.5" +name = "regex" +version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" +checksum = "48aaa5748ba571fb95cd2c85c09f629215d3a6ece942baa100950af03a34f733" dependencies = [ - "libc", - "rand_chacha", - "rand_core", + "aho-corasick", + "memchr", + "regex-syntax", ] [[package]] -name = "rand_chacha" -version = "0.3.1" +name = "regex-syntax" +version = "0.6.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" -dependencies = [ - "ppv-lite86", - "rand_core", -] +checksum = "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848" + +[[package]] +name = "rlibc" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc874b127765f014d792f16763a81245ab80500e2ad921ed4ee9e82481ee08fe" [[package]] -name = "rand_core" -version = "0.6.3" +name = "rustix" +version = "0.36.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7" +checksum = "4feacf7db682c6c329c4ede12649cd36ecab0f3be5b7d74e6a20304725db4549" dependencies = [ - "getrandom", + "bitflags", + "errno", + "io-lifetimes", + "libc", + "linux-raw-sys", + "windows-sys", ] [[package]] -name = "rlibc" -version = "1.0.0" +name = "ryu" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc874b127765f014d792f16763a81245ab80500e2ad921ed4ee9e82481ee08fe" +checksum = "7b4b9743ed687d4b4bcedf9ff5eaa7398495ae14e61cba0a295704edbc7decde" [[package]] name = "scale-info" -version = "2.1.2" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c46be926081c9f4dd5dd9b6f1d3e3229f2360bc6502dd8836f84a93b7c75e99a" +checksum = "001cf62ece89779fd16105b5f515ad0e5cedcd5440d3dd806bb067978e7c3608" dependencies = [ "bitvec", "cfg-if", @@ -520,9 +617,9 @@ dependencies = [ [[package]] name = "scale-info-derive" -version = "2.1.2" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50e334bb10a245e28e5fd755cabcafd96cfcd167c99ae63a46924ca8d8703a3c" +checksum = "303959cf613a6f6efd19ed4b4ad5bf79966a13352716299ad532cfb115f4205c" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -532,18 +629,18 @@ dependencies = [ [[package]] name = "secp256k1" -version = "0.22.1" +version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26947345339603ae8395f68e2f3d85a6b0a8ddfe6315818e80b8504415099db0" +checksum = "550fc3b723a478be77bf74718947cdcdd75144d508aaa70f0a320036905df2a8" dependencies = [ "secp256k1-sys", ] [[package]] name = "secp256k1-sys" -version = "0.5.2" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "152e20a0fd0519390fc43ab404663af8a0b794273d2a91d60ad4a39f13ffe110" +checksum = "8058e28ae464daf5ac14c5c0f78110b58616e796c4e4e28cfcca38fdb13d8f22" dependencies = [ "cc", ] @@ -568,6 +665,17 @@ dependencies = [ "syn", ] +[[package]] +name = "serde_json" +version = "1.0.91" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "877c235533714907a8c2464236f5c4b2a17262ef1bd71f38f35ea592c8da6883" +dependencies = [ + "itoa", + "ryu", + "serde", +] + [[package]] name = "sha2" version = "0.10.2" @@ -630,6 +738,15 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" +[[package]] +name = "termcolor" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6" +dependencies = [ + "winapi-util", +] + [[package]] name = "thiserror" version = "1.0.31" @@ -684,10 +801,92 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" [[package]] -name = "wasi" -version = "0.11.0+wasi-snapshot-preview1" +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" +dependencies = [ + "winapi", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows-sys" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" +dependencies = [ + "windows_aarch64_gnullvm", + "windows_aarch64_msvc", + "windows_i686_gnu", + "windows_i686_msvc", + "windows_x86_64_gnu", + "windows_x86_64_gnullvm", + "windows_x86_64_msvc", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.42.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c9864e83243fdec7fc9c5444389dcbbfd258f745e7853198f365e3c4968a608" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" +checksum = "4c8b1b673ffc16c47a9ff48570a9d85e25d265735c503681332589af6253c6c7" + +[[package]] +name = "windows_i686_gnu" +version = "0.42.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "de3887528ad530ba7bdbb1faa8275ec7a1155a45ffa57c37993960277145d640" + +[[package]] +name = "windows_i686_msvc" +version = "0.42.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf4d1122317eddd6ff351aa852118a2418ad4214e6613a50e0191f7004372605" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.42.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1040f221285e17ebccbc2591ffdc2d44ee1f9186324dd3e84e99ac68d699c45" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.42.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "628bfdf232daa22b0d64fdb62b09fcc36bb01f05a3939e20ab73aaf9470d0463" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.42.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "447660ad36a13288b1db4d4248e857b510e8c3a225c822ba4fb748c0aafecffd" [[package]] name = "wyz" @@ -697,3 +896,9 @@ checksum = "30b31594f29d27036c383b53b59ed3476874d518f0efb151b27a4c275141390e" dependencies = [ "tap", ] + +[[package]] +name = "xxhash-rust" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "735a71d46c4d68d71d4b24d03fdc2b98e38cea81730595801db779c04fe80d70" diff --git a/contracts/access_control/Cargo.toml b/contracts/access_control/Cargo.toml index 28e7cb8614..8f82ee7c02 100644 --- a/contracts/access_control/Cargo.toml +++ b/contracts/access_control/Cargo.toml @@ -7,15 +7,10 @@ publish = false license = "Apache 2.0" [dependencies] -ink_env = { version = "~3.3.0", default-features = false } -ink_lang = { version = "~3.3.0", default-features = false } -ink_lang_codegen = { version = "~3.3.0", default-features = false } -ink_metadata = { version = "~3.3.0", default-features = false, features = ["derive"], optional = true } -ink_primitives = { version = "~3.3.0", default-features = false } -ink_storage = { version = "~3.3.0", default-features = false } +ink = { git = "https://github.com/paritytech/ink", rev = "4655a8b4413cb50cbc38d1b7c173ad426ab06cde", default-features = false} scale = { package = "parity-scale-codec", version = "3", default-features = false, features = ["derive"] } -scale-info = { version = "2", default-features = false, features = ["derive"], optional = true } +scale-info = { version = "2.3", default-features = false, features = ["derive"], optional = true } [lib] name = "access_control" @@ -23,18 +18,12 @@ path = "lib.rs" crate-type = [ # Used for normal contract Wasm blobs. "cdylib", - # Used for ABI generation. - "rlib", ] [features] default = ["std"] std = [ - "ink_metadata/std", - "ink_env/std", - "ink_storage/std", - "ink_primitives/std", - "ink_lang_codegen/std", + "ink/std", "scale/std", "scale-info/std", ] diff --git a/contracts/access_control/lib.rs b/contracts/access_control/lib.rs index 24d36840db..f9575d0683 100644 --- a/contracts/access_control/lib.rs +++ b/contracts/access_control/lib.rs @@ -6,13 +6,15 @@ pub use crate::access_control::{ }; pub mod roles; pub mod traits; -use ink_lang as ink; + +use ink::env::{DefaultEnvironment, Environment}; + +type AccountId = ::AccountId; +type Hash = ::Hash; #[ink::contract] mod access_control { - - use ink_lang::{codegen::EmitEvent, reflect::ContractEventBase}; - use ink_storage::{traits::SpreadAllocate, Mapping}; + use ink::{codegen::EmitEvent, reflect::ContractEventBase, storage::Mapping}; use scale::{Decode, Encode}; use crate::roles::Role; @@ -24,7 +26,6 @@ mod access_control { pub const CHECK_ROLE_SELECTOR: [u8; 4] = [0, 0, 0, 5]; #[ink(storage)] - #[derive(SpreadAllocate)] pub struct AccessControl { /// Stores a de-facto hashset of user accounts and their roles pub privileges: Mapping<(AccountId, Role), ()>, @@ -67,19 +68,13 @@ mod access_control { /// Creates a new contract. #[ink(constructor)] pub fn new() -> Self { - // This call is required in order to correctly initialize the - // `Mapping`s of our contract. - ink_lang::utils::initialize_contract(Self::new_init) - } - - /// Initializes the contract. - /// - /// caller is granted admin and owner privileges - fn new_init(&mut self) { + let mut privileges = Mapping::default(); let caller = Self::env().caller(); let this = Self::env().account_id(); - self.privileges.insert((caller, Role::Admin(this)), &()); - self.privileges.insert((caller, Role::Owner(this)), &()); + privileges.insert((caller, Role::Admin(this)), &()); + privileges.insert((caller, Role::Owner(this)), &()); + + Self { privileges } } /// Gives a role to an account @@ -166,13 +161,11 @@ mod access_control { #[cfg(test)] mod tests { - use ink_lang as ink; - use super::*; #[ink::test] fn access_control() { - let accounts = ink_env::test::default_accounts::(); + let accounts = ink::env::test::default_accounts::(); let alice = accounts.alice; let bob = accounts.bob; @@ -180,9 +173,9 @@ mod access_control { let contract_address = accounts.django; // alice deploys the access control contract - ink_env::test::set_caller::(alice); - ink_env::test::set_callee::(contract_address); - ink_env::test::set_account_balance::( + ink::env::test::set_caller::(alice); + ink::env::test::set_callee::(contract_address); + ink::env::test::set_account_balance::( contract_address, 100, ); @@ -213,8 +206,8 @@ mod access_control { "Bob is not admin" ); - ink_env::test::set_caller::(charlie); - ink_env::test::set_callee::(contract_address); + ink::env::test::set_caller::(charlie); + ink::env::test::set_callee::(contract_address); // charlie tries granting admin rights to himself assert!( @@ -225,8 +218,8 @@ mod access_control { ); // test terminating - ink_env::test::set_caller::(alice); - ink_env::test::set_callee::(contract_address); + ink::env::test::set_caller::(alice); + ink::env::test::set_callee::(contract_address); let should_terminate = move || { access_control @@ -234,7 +227,7 @@ mod access_control { .expect("Calling terminate failed") }; - ink_env::test::assert_contract_termination::( + ink::env::test::assert_contract_termination::( should_terminate, alice, 100, diff --git a/contracts/access_control/roles.rs b/contracts/access_control/roles.rs index b8019d7e0e..13ee5586e1 100644 --- a/contracts/access_control/roles.rs +++ b/contracts/access_control/roles.rs @@ -1,12 +1,9 @@ -use ink_env::{AccountId, Hash}; -use ink_storage::traits::{PackedLayout, SpreadLayout}; use scale::{Decode, Encode}; -#[derive(Debug, Encode, Decode, Clone, Copy, SpreadLayout, PackedLayout, PartialEq, Eq)] -#[cfg_attr( - feature = "std", - derive(scale_info::TypeInfo, ink_storage::traits::StorageLayout) -)] +use crate::{AccountId, Hash}; + +#[derive(Debug, Encode, Decode, Clone, Copy, PartialEq, Eq)] +#[cfg_attr(feature = "std", derive(scale_info::TypeInfo))] pub enum Role { /// Indicates a superuser. Admin(AccountId), diff --git a/contracts/access_control/traits.rs b/contracts/access_control/traits.rs index 51f5b4b795..c6ed883737 100644 --- a/contracts/access_control/traits.rs +++ b/contracts/access_control/traits.rs @@ -1,9 +1,9 @@ -use ink_env::{ +use ink::env::{ call::{build_call, Call, ExecutionInput, Selector}, - AccountId, DefaultEnvironment, Error as InkEnvError, + DefaultEnvironment, Error as InkEnvError, }; -use crate::{access_control::HAS_ROLE_SELECTOR, roles::Role}; +use crate::{access_control::HAS_ROLE_SELECTOR, roles::Role, AccountId}; /// Convenience trait for contracts that have methods that need to be under access control /// @@ -11,6 +11,7 @@ use crate::{access_control::HAS_ROLE_SELECTOR, roles::Role}; /// impl AccessControlled for MyContract { /// type ContractError = MyContractError; /// } + pub trait AccessControlled { type ContractError; From 8fb06519df9eb2daa216af61bb2b3e24594a6c6c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Obrok?= Date: Wed, 18 Jan 2023 15:16:06 +0100 Subject: [PATCH 090/212] Migrate ticket_token to ink4 --- contracts/access_control/Cargo.toml | 2 + contracts/rust-toolchain | 1 - contracts/ticket_token/Cargo.lock | 543 ++++++++++++++++++---------- contracts/ticket_token/Cargo.toml | 23 +- contracts/ticket_token/lib.rs | 16 +- 5 files changed, 370 insertions(+), 215 deletions(-) delete mode 100644 contracts/rust-toolchain diff --git a/contracts/access_control/Cargo.toml b/contracts/access_control/Cargo.toml index 8f82ee7c02..04b059180a 100644 --- a/contracts/access_control/Cargo.toml +++ b/contracts/access_control/Cargo.toml @@ -18,6 +18,8 @@ path = "lib.rs" crate-type = [ # Used for normal contract Wasm blobs. "cdylib", + # Used for ABI generation. + "rlib", ] [features] diff --git a/contracts/rust-toolchain b/contracts/rust-toolchain deleted file mode 100644 index 902c74186f..0000000000 --- a/contracts/rust-toolchain +++ /dev/null @@ -1 +0,0 @@ -1.65.0 diff --git a/contracts/ticket_token/Cargo.lock b/contracts/ticket_token/Cargo.lock index 2005b0aa6d..5690c9f6df 100644 --- a/contracts/ticket_token/Cargo.lock +++ b/contracts/ticket_token/Cargo.lock @@ -6,12 +6,18 @@ version = 3 name = "access_control" version = "0.2.0" dependencies = [ - "ink_env", - "ink_lang", - "ink_lang_codegen", - "ink_primitives", - "ink_storage", + "ink", "parity-scale-codec", + "scale-info", +] + +[[package]] +name = "aho-corasick" +version = "0.7.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac" +dependencies = [ + "memchr", ] [[package]] @@ -38,6 +44,12 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + [[package]] name = "bitvec" version = "1.0.1" @@ -215,6 +227,40 @@ version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f107b87b6afc2a64fd13cac55fe06d6c8859f12d4b14cbcdd2c67d0976781be" +[[package]] +name = "env_logger" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85cdab6a89accf66733ad5a1693a4dcced6aeff64602b634530dd73c1f3ee9f0" +dependencies = [ + "humantime", + "is-terminal", + "log", + "regex", + "termcolor", +] + +[[package]] +name = "errno" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f639046355ee4f37944e44f60642c6f3a7efa3cf6b78c78a0d989a8ce6c396a1" +dependencies = [ + "errno-dragonfly", + "libc", + "winapi", +] + +[[package]] +name = "errno-dragonfly" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf" +dependencies = [ + "cc", + "libc", +] + [[package]] name = "fs2" version = "0.4.3" @@ -241,17 +287,6 @@ dependencies = [ "version_check", ] -[[package]] -name = "getrandom" -version = "0.2.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4eb1a864a501629691edf6c15a593b7a51eebaa1e8468e9ddc623de7c9b58ec6" -dependencies = [ - "cfg-if", - "libc", - "wasi", -] - [[package]] name = "heck" version = "0.3.3" @@ -267,11 +302,26 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9" +[[package]] +name = "hermit-abi" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7" +dependencies = [ + "libc", +] + +[[package]] +name = "humantime" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" + [[package]] name = "impl-serde" -version = "0.3.2" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4551f042f3438e64dbd6226b20527fc84a6e1fe65688b58746a2f53623f25f5c" +checksum = "ebc88fc67028ae3db0c853baa36269d398d5f45b6982f95549ff5def78c935cd" dependencies = [ "serde", ] @@ -287,25 +337,61 @@ dependencies = [ "syn", ] +[[package]] +name = "ink" +version = "4.0.0-beta" +source = "git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde#4655a8b4413cb50cbc38d1b7c173ad426ab06cde" +dependencies = [ + "derive_more", + "ink_env", + "ink_macro", + "ink_metadata", + "ink_prelude 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", + "ink_primitives 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", + "ink_storage", + "parity-scale-codec", +] + [[package]] name = "ink_allocator" -version = "3.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ed249de74298ed051ebcf6d3082b8d3dbd19cbc448d9ed3235d8a7b92713049" +version = "4.0.0-beta" +source = "git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde#4655a8b4413cb50cbc38d1b7c173ad426ab06cde" dependencies = [ "cfg-if", ] +[[package]] +name = "ink_codegen" +version = "4.0.0-beta" +source = "git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde#4655a8b4413cb50cbc38d1b7c173ad426ab06cde" +dependencies = [ + "blake2 0.10.4", + "derive_more", + "either", + "env_logger", + "heck 0.4.0", + "impl-serde", + "ink_ir 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", + "ink_primitives 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", + "itertools", + "log", + "parity-scale-codec", + "proc-macro2", + "quote", + "serde", + "serde_json", + "syn", +] + [[package]] name = "ink_engine" -version = "3.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acb9d32ec27d71fefb3f2b6a26bae82a2c6509d7ad61e8a5107b6291a1b03ecb" +version = "4.0.0-beta" +source = "git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde#4655a8b4413cb50cbc38d1b7c173ad426ab06cde" dependencies = [ "blake2 0.10.4", "derive_more", + "ink_primitives 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", "parity-scale-codec", - "rand", "secp256k1", "sha2", "sha3", @@ -313,9 +399,8 @@ dependencies = [ [[package]] name = "ink_env" -version = "3.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1549f5966167387c89fb3dfcdc59973bfb396cc3a7110d7a31ad5fdea56db0cf" +version = "4.0.0-beta" +source = "git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde#4655a8b4413cb50cbc38d1b7c173ad426ab06cde" dependencies = [ "arrayref", "blake2 0.10.4", @@ -324,12 +409,12 @@ dependencies = [ "ink_allocator", "ink_engine", "ink_metadata", - "ink_prelude", - "ink_primitives", + "ink_prelude 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", + "ink_primitives 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", + "ink_storage_traits", "num-traits", "parity-scale-codec", "paste", - "rand", "rlibc", "scale-info", "secp256k1", @@ -339,45 +424,23 @@ dependencies = [ ] [[package]] -name = "ink_lang" -version = "3.3.0" +name = "ink_ir" +version = "4.0.0-beta" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e5282f2722ac6dca469e7f223a7b38b2a6d20fbca6b974497e630d5dc8934e9" -dependencies = [ - "derive_more", - "ink_env", - "ink_lang_macro", - "ink_metadata", - "ink_prelude", - "ink_primitives", - "ink_storage", - "parity-scale-codec", -] - -[[package]] -name = "ink_lang_codegen" -version = "3.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb3a5de33b59450adc3f61c5eb05b768067c7ab8af9d00f33e284310598168dc" +checksum = "faf2ee9acbf86d5b2b6342266972217b61117c6468c81bdefe23e052beb05af1" dependencies = [ "blake2 0.10.4", - "derive_more", "either", - "heck 0.4.0", - "impl-serde", - "ink_lang_ir", "itertools", - "parity-scale-codec", "proc-macro2", "quote", "syn", ] [[package]] -name = "ink_lang_ir" -version = "3.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9d4d614462280fa06e15b9ca5725d7c8440dde93c8dae1c6f15422f7756cacb" +name = "ink_ir" +version = "4.0.0-beta" +source = "git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde#4655a8b4413cb50cbc38d1b7c173ad426ab06cde" dependencies = [ "blake2 0.10.4", "either", @@ -388,82 +451,124 @@ dependencies = [ ] [[package]] -name = "ink_lang_macro" -version = "3.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72f85f64141957c5db7cbabbb97a9c16c489e5e9d363e9f147d132a43c71cd29" +name = "ink_macro" +version = "4.0.0-beta" +source = "git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde#4655a8b4413cb50cbc38d1b7c173ad426ab06cde" dependencies = [ - "ink_lang_codegen", - "ink_lang_ir", - "ink_primitives", + "ink_codegen", + "ink_ir 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", + "ink_primitives 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", "parity-scale-codec", "proc-macro2", + "quote", "syn", + "synstructure", ] [[package]] name = "ink_metadata" -version = "3.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dca6c159a2774f07437c6fd9ea710eb73a6b5e9a031a932bddf08742bf2c081a" +version = "4.0.0-beta" +source = "git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde#4655a8b4413cb50cbc38d1b7c173ad426ab06cde" dependencies = [ "derive_more", "impl-serde", - "ink_prelude", - "ink_primitives", + "ink_prelude 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", + "ink_primitives 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", "scale-info", "serde", ] [[package]] name = "ink_prelude" -version = "3.3.0" +version = "4.0.0-beta" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1f7f4dec15e573496c9d2af353e78bde84add391251608f25b5adcf175dc777" +checksum = "5962125f78304bc2b3083391cbd579125c64ce17e61b019034094faf772c915a" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "ink_prelude" +version = "4.0.0-beta" +source = "git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde#4655a8b4413cb50cbc38d1b7c173ad426ab06cde" dependencies = [ "cfg-if", ] [[package]] name = "ink_primitives" -version = "3.3.0" +version = "4.0.0-beta" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3296dd1c4f4fe12ede7c92d60e6fcb94d46a959ec19c701e4ac588b09e0b4a6" +checksum = "90f4f26208fe23e12d436917697b951252519484134a3561fe8b65a5abc97aa9" dependencies = [ - "cfg-if", - "ink_prelude", + "derive_more", + "ink_prelude 4.0.0-beta (registry+https://github.com/rust-lang/crates.io-index)", + "parity-scale-codec", + "xxhash-rust", +] + +[[package]] +name = "ink_primitives" +version = "4.0.0-beta" +source = "git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde#4655a8b4413cb50cbc38d1b7c173ad426ab06cde" +dependencies = [ + "derive_more", + "ink_prelude 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", "parity-scale-codec", "scale-info", + "xxhash-rust", ] [[package]] name = "ink_storage" -version = "3.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ff9b503995a7b41fe201a7a2643ce22f5a11e0b67db7b685424b6d5fe0ecf0b" +version = "4.0.0-beta" +source = "git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde#4655a8b4413cb50cbc38d1b7c173ad426ab06cde" dependencies = [ "array-init", "cfg-if", "derive_more", "ink_env", "ink_metadata", - "ink_prelude", - "ink_primitives", - "ink_storage_derive", + "ink_prelude 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", + "ink_primitives 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", + "ink_storage_traits", "parity-scale-codec", "scale-info", ] [[package]] -name = "ink_storage_derive" -version = "3.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "afb68e24e93e8327dda1924868d7ee4dbe01e1ed2b392f28583caa96809b585c" +name = "ink_storage_traits" +version = "4.0.0-beta" +source = "git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde#4655a8b4413cb50cbc38d1b7c173ad426ab06cde" dependencies = [ - "proc-macro2", - "quote", + "ink_metadata", + "ink_prelude 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", + "ink_primitives 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", + "parity-scale-codec", + "scale-info", "syn", - "synstructure", +] + +[[package]] +name = "io-lifetimes" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7d6c6f8c91b4b9ed43484ad1a938e393caf35960fce7f82a040497207bd8e9e" +dependencies = [ + "libc", + "windows-sys", +] + +[[package]] +name = "is-terminal" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28dfb6c8100ccc63462345b67d1bbc3679177c75ee4bf59bf29c8b1d110b8189" +dependencies = [ + "hermit-abi", + "io-lifetimes", + "rustix", + "windows-sys", ] [[package]] @@ -489,9 +594,30 @@ checksum = "f9b7d56ba4a8344d6be9729995e6b06f928af29998cdf79fe390cbf6b1fee838" [[package]] name = "libc" -version = "0.2.127" +version = "0.2.139" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79" + +[[package]] +name = "linux-raw-sys" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4" + +[[package]] +name = "log" +version = "0.4.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "memchr" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "505e71a4706fa491e9b1b55f51b95d4037d0821ee40131190475f692b35b009b" +checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" [[package]] name = "num-traits" @@ -505,15 +631,10 @@ dependencies = [ [[package]] name = "obce" version = "0.1.0" -source = "git+https://github.com/Supercolony-net/obce?branch=polkadot-v0.9.29#9843e2a3e91e7c29a9b21dde7ead3299e9d3c0fb" +source = "git+https://github.com/727-Ventures/obce?tag=3.0.0-beta#e4d93be5ea31ea39fd5c692e93ebe319b51cd604" dependencies = [ + "ink", "ink_engine", - "ink_env", - "ink_lang", - "ink_metadata", - "ink_prelude", - "ink_primitives", - "ink_storage", "obce-macro", "parity-scale-codec", "scale-info", @@ -522,7 +643,7 @@ dependencies = [ [[package]] name = "obce-codegen" version = "0.1.0" -source = "git+https://github.com/Supercolony-net/obce?branch=polkadot-v0.9.29#9843e2a3e91e7c29a9b21dde7ead3299e9d3c0fb" +source = "git+https://github.com/727-Ventures/obce?tag=3.0.0-beta#e4d93be5ea31ea39fd5c692e93ebe319b51cd604" dependencies = [ "blake2 0.10.4", "proc-macro2", @@ -533,7 +654,7 @@ dependencies = [ [[package]] name = "obce-macro" version = "0.1.0" -source = "git+https://github.com/Supercolony-net/obce?branch=polkadot-v0.9.29#9843e2a3e91e7c29a9b21dde7ead3299e9d3c0fb" +source = "git+https://github.com/727-Ventures/obce?tag=3.0.0-beta#e4d93be5ea31ea39fd5c692e93ebe319b51cd604" dependencies = [ "obce-codegen", "proc-macro2", @@ -555,15 +676,10 @@ checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" [[package]] name = "openbrush" -version = "2.2.0" -source = "git+https://github.com/Supercolony-net/openbrush-contracts.git?rev=15e6366#15e63664d87124f4cc0e7ba55b21a71222983677" +version = "3.0.0-beta" +source = "git+https://github.com/727-Ventures/openbrush-contracts.git?rev=3.0.0-beta#14ff655a0d83440f40c57c82d9a33e4c5b981da7" dependencies = [ - "ink_env", - "ink_lang", - "ink_metadata", - "ink_prelude", - "ink_primitives", - "ink_storage", + "ink", "openbrush_contracts", "openbrush_lang", "parity-scale-codec", @@ -572,15 +688,10 @@ dependencies = [ [[package]] name = "openbrush_contracts" -version = "2.2.0" -source = "git+https://github.com/Supercolony-net/openbrush-contracts.git?rev=15e6366#15e63664d87124f4cc0e7ba55b21a71222983677" +version = "3.0.0-beta" +source = "git+https://github.com/727-Ventures/openbrush-contracts.git?rev=3.0.0-beta#14ff655a0d83440f40c57c82d9a33e4c5b981da7" dependencies = [ - "ink_env", - "ink_lang", - "ink_metadata", - "ink_prelude", - "ink_primitives", - "ink_storage", + "ink", "openbrush_lang", "pallet-assets-chain-extension", "parity-scale-codec", @@ -589,32 +700,28 @@ dependencies = [ [[package]] name = "openbrush_lang" -version = "2.2.0" -source = "git+https://github.com/Supercolony-net/openbrush-contracts.git?rev=15e6366#15e63664d87124f4cc0e7ba55b21a71222983677" +version = "3.0.0-beta" +source = "git+https://github.com/727-Ventures/openbrush-contracts.git?rev=3.0.0-beta#14ff655a0d83440f40c57c82d9a33e4c5b981da7" dependencies = [ "const_format", - "ink_env", - "ink_lang", - "ink_metadata", - "ink_prelude", - "ink_primitives", - "ink_storage", + "ink", "openbrush_lang_macro", "parity-scale-codec", "scale-info", - "sha2-const", + "xxhash-rust", ] [[package]] name = "openbrush_lang_codegen" -version = "2.2.0" -source = "git+https://github.com/Supercolony-net/openbrush-contracts.git?rev=15e6366#15e63664d87124f4cc0e7ba55b21a71222983677" +version = "3.0.0-beta" +source = "git+https://github.com/727-Ventures/openbrush-contracts.git?rev=3.0.0-beta#14ff655a0d83440f40c57c82d9a33e4c5b981da7" dependencies = [ "blake2 0.9.2", "cargo_metadata", "fs2", "heck 0.3.3", - "ink_lang_ir", + "ink_ir 4.0.0-beta (registry+https://github.com/rust-lang/crates.io-index)", + "ink_primitives 4.0.0-beta (registry+https://github.com/rust-lang/crates.io-index)", "proc-macro2", "quote", "serde", @@ -626,8 +733,8 @@ dependencies = [ [[package]] name = "openbrush_lang_macro" -version = "2.2.0" -source = "git+https://github.com/Supercolony-net/openbrush-contracts.git?rev=15e6366#15e63664d87124f4cc0e7ba55b21a71222983677" +version = "3.0.0-beta" +source = "git+https://github.com/727-Ventures/openbrush-contracts.git?rev=3.0.0-beta#14ff655a0d83440f40c57c82d9a33e4c5b981da7" dependencies = [ "openbrush_lang_codegen", "proc-macro2", @@ -638,11 +745,9 @@ dependencies = [ [[package]] name = "pallet-assets-chain-extension" version = "0.1.1" -source = "git+https://github.com/Supercolony-net/pallet-assets-chain-extension#83ff37cb0d19d15a881ecab2c922596039c8358d" +source = "git+https://github.com/727-ventures/pallet-assets-chain-extension?tag=3.0.0-beta#7e553468e9c0fbd4f543ccb950b3d17b548237f1" dependencies = [ - "ink_metadata", - "ink_primitives", - "ink_storage", + "ink", "obce", "parity-scale-codec", "scale-info", @@ -690,12 +795,6 @@ dependencies = [ "ucd-trie", ] -[[package]] -name = "ppv-lite86" -version = "0.2.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb9f9e6e233e5c4a35559a617bf40a4ec447db2e84c20b55a6f83167b7e57872" - [[package]] name = "proc-macro-crate" version = "1.2.0" @@ -732,34 +831,21 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" [[package]] -name = "rand" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" -dependencies = [ - "libc", - "rand_chacha", - "rand_core", -] - -[[package]] -name = "rand_chacha" -version = "0.3.1" +name = "regex" +version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +checksum = "48aaa5748ba571fb95cd2c85c09f629215d3a6ece942baa100950af03a34f733" dependencies = [ - "ppv-lite86", - "rand_core", + "aho-corasick", + "memchr", + "regex-syntax", ] [[package]] -name = "rand_core" -version = "0.6.3" +name = "regex-syntax" +version = "0.6.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7" -dependencies = [ - "getrandom", -] +checksum = "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848" [[package]] name = "rlibc" @@ -767,6 +853,20 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc874b127765f014d792f16763a81245ab80500e2ad921ed4ee9e82481ee08fe" +[[package]] +name = "rustix" +version = "0.36.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4feacf7db682c6c329c4ede12649cd36ecab0f3be5b7d74e6a20304725db4549" +dependencies = [ + "bitflags", + "errno", + "io-lifetimes", + "libc", + "linux-raw-sys", + "windows-sys", +] + [[package]] name = "ryu" version = "1.0.11" @@ -775,9 +875,9 @@ checksum = "4501abdff3ae82a1c1b477a17252eb69cee9e66eb915c1abaa4f44d873df9f09" [[package]] name = "scale-info" -version = "2.1.2" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c46be926081c9f4dd5dd9b6f1d3e3229f2360bc6502dd8836f84a93b7c75e99a" +checksum = "001cf62ece89779fd16105b5f515ad0e5cedcd5440d3dd806bb067978e7c3608" dependencies = [ "bitvec", "cfg-if", @@ -789,9 +889,9 @@ dependencies = [ [[package]] name = "scale-info-derive" -version = "2.1.2" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50e334bb10a245e28e5fd755cabcafd96cfcd167c99ae63a46924ca8d8703a3c" +checksum = "303959cf613a6f6efd19ed4b4ad5bf79966a13352716299ad532cfb115f4205c" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -801,18 +901,18 @@ dependencies = [ [[package]] name = "secp256k1" -version = "0.22.1" +version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26947345339603ae8395f68e2f3d85a6b0a8ddfe6315818e80b8504415099db0" +checksum = "550fc3b723a478be77bf74718947cdcdd75144d508aaa70f0a320036905df2a8" dependencies = [ "secp256k1-sys", ] [[package]] name = "secp256k1-sys" -version = "0.5.2" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "152e20a0fd0519390fc43ab404663af8a0b794273d2a91d60ad4a39f13ffe110" +checksum = "8058e28ae464daf5ac14c5c0f78110b58616e796c4e4e28cfcca38fdb13d8f22" dependencies = [ "cc", ] @@ -878,12 +978,6 @@ dependencies = [ "digest 0.10.3", ] -[[package]] -name = "sha2-const" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5edcd790916d95ff81bdc1505b09c74d30d47a755929cc8c71c59cbbfa99f91b" - [[package]] name = "sha3" version = "0.10.2" @@ -935,6 +1029,15 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" +[[package]] +name = "termcolor" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6" +dependencies = [ + "winapi-util", +] + [[package]] name = "thiserror" version = "1.0.32" @@ -960,13 +1063,7 @@ name = "ticket_token" version = "2.1.0" dependencies = [ "access_control", - "ink_engine", - "ink_env", - "ink_lang", - "ink_metadata", - "ink_prelude", - "ink_primitives", - "ink_storage", + "ink", "openbrush", "parity-scale-codec", "scale-info", @@ -1023,12 +1120,6 @@ version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" -[[package]] -name = "wasi" -version = "0.11.0+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" - [[package]] name = "winapi" version = "0.3.9" @@ -1045,12 +1136,78 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" +[[package]] +name = "winapi-util" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" +dependencies = [ + "winapi", +] + [[package]] name = "winapi-x86_64-pc-windows-gnu" version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" +[[package]] +name = "windows-sys" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" +dependencies = [ + "windows_aarch64_gnullvm", + "windows_aarch64_msvc", + "windows_i686_gnu", + "windows_i686_msvc", + "windows_x86_64_gnu", + "windows_x86_64_gnullvm", + "windows_x86_64_msvc", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.42.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c9864e83243fdec7fc9c5444389dcbbfd258f745e7853198f365e3c4968a608" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.42.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c8b1b673ffc16c47a9ff48570a9d85e25d265735c503681332589af6253c6c7" + +[[package]] +name = "windows_i686_gnu" +version = "0.42.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "de3887528ad530ba7bdbb1faa8275ec7a1155a45ffa57c37993960277145d640" + +[[package]] +name = "windows_i686_msvc" +version = "0.42.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf4d1122317eddd6ff351aa852118a2418ad4214e6613a50e0191f7004372605" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.42.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1040f221285e17ebccbc2591ffdc2d44ee1f9186324dd3e84e99ac68d699c45" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.42.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "628bfdf232daa22b0d64fdb62b09fcc36bb01f05a3939e20ab73aaf9470d0463" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.42.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "447660ad36a13288b1db4d4248e857b510e8c3a225c822ba4fb748c0aafecffd" + [[package]] name = "wyz" version = "0.5.0" @@ -1059,3 +1216,9 @@ checksum = "30b31594f29d27036c383b53b59ed3476874d518f0efb151b27a4c275141390e" dependencies = [ "tap", ] + +[[package]] +name = "xxhash-rust" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "735a71d46c4d68d71d4b24d03fdc2b98e38cea81730595801db779c04fe80d70" diff --git a/contracts/ticket_token/Cargo.toml b/contracts/ticket_token/Cargo.toml index da17e16ccc..53fde6ec00 100644 --- a/contracts/ticket_token/Cargo.toml +++ b/contracts/ticket_token/Cargo.toml @@ -6,18 +6,12 @@ edition = "2021" license = "Apache 2.0" [dependencies] -ink_primitives = { version = "~3.3.0", default-features = false } -ink_metadata = { version = "~3.3.0", default-features = false, features = ["derive"], optional = true } -ink_env = { version = "~3.3.0", default-features = false } -ink_storage = { version = "~3.3.0", default-features = false } -ink_lang = { version = "~3.3.0", default-features = false } -ink_prelude = { version = "~3.3.0", default-features = false } -ink_engine = { version = "~3.3.0", default-features = false, optional = true } +ink = { git = "https://github.com/paritytech/ink", rev = "4655a8b4413cb50cbc38d1b7c173ad426ab06cde", default-features = false} scale = { package = "parity-scale-codec", version = "3", default-features = false, features = ["derive"] } -scale-info = { version = "2", default-features = false, features = ["derive"], optional = true } +scale-info = { version = "2.3", default-features = false, features = ["derive"], optional = true } -openbrush = { git = "https://github.com/Supercolony-net/openbrush-contracts.git", rev = "15e6366", default-features = false, features = ["psp22"] } +openbrush = { git = "https://github.com/727-Ventures/openbrush-contracts.git", rev = "3.0.0-beta", default-features = false, features = ["psp22"] } access_control = { path = "../access_control", default-features = false, features = ["ink-as-dependency"] } [lib] @@ -27,22 +21,17 @@ crate-type = [ # Used for normal contract Wasm blobs. "cdylib", # Used for ABI generation. - "rlib", + "rlib", ] [features] default = ["std"] std = [ - "ink_env/std", - "ink_lang/std", - "ink_metadata", - "ink_metadata/std", - "ink_primitives/std", - "ink_storage/std", + "ink/std", "openbrush/std", - "scale-info", "scale-info/std", "scale/std", + "access_control/std", ] ink-as-dependency = [] diff --git a/contracts/ticket_token/lib.rs b/contracts/ticket_token/lib.rs index 1b9e7a6625..1934fdaf42 100644 --- a/contracts/ticket_token/lib.rs +++ b/contracts/ticket_token/lib.rs @@ -7,13 +7,12 @@ pub use crate::ticket_token::{BALANCE_OF_SELECTOR, TRANSFER_FROM_SELECTOR, TRANS #[openbrush::contract] pub mod ticket_token { use access_control::{roles::Role, traits::AccessControlled, ACCESS_CONTROL_PUBKEY}; - use ink_env::Error as InkEnvError; - use ink_lang::{ + use ink::{ codegen::{EmitEvent, Env}, + env::Error as InkEnvError, + prelude::{format, string::String}, reflect::ContractEventBase, }; - use ink_prelude::{format, string::String}; - use ink_storage::traits::SpreadAllocate; use openbrush::{ contracts::psp22::{extensions::metadata::*, Internal}, traits::Storage, @@ -24,7 +23,7 @@ pub mod ticket_token { pub const TRANSFER_FROM_SELECTOR: [u8; 4] = [0x54, 0xb3, 0xc7, 0x6e]; #[ink(storage)] - #[derive(Default, SpreadAllocate, Storage)] + #[derive(Default, Storage)] pub struct TicketToken { #[storage_field] psp22: psp22::Data, @@ -124,7 +123,8 @@ pub mod ticket_token { ); match role_check { - Ok(_) => ink_lang::codegen::initialize_contract(|instance: &mut TicketToken| { + Ok(_) => { + let mut instance = Self::default(); instance.access_control = AccountId::from(ACCESS_CONTROL_PUBKEY); instance.metadata.name = Some(name.into()); instance.metadata.symbol = Some(symbol.into()); @@ -133,7 +133,9 @@ pub mod ticket_token { instance ._mint_to(instance.env().caller(), total_supply) .expect("Should mint"); - }), + + instance + } Err(why) => panic!("Could not initialize the contract {:?}", why), } } From d914e5462cb327eb672294f5d75526b71a27c239 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Obrok?= Date: Wed, 18 Jan 2023 15:27:15 +0100 Subject: [PATCH 091/212] Migrate game_token to ink4 --- contracts/game_token/Cargo.lock | 543 +++++++++++++++++++++----------- contracts/game_token/Cargo.toml | 22 +- contracts/game_token/lib.rs | 17 +- 3 files changed, 369 insertions(+), 213 deletions(-) diff --git a/contracts/game_token/Cargo.lock b/contracts/game_token/Cargo.lock index 3f322fe996..844a60cb54 100644 --- a/contracts/game_token/Cargo.lock +++ b/contracts/game_token/Cargo.lock @@ -6,12 +6,18 @@ version = 3 name = "access_control" version = "0.2.0" dependencies = [ - "ink_env", - "ink_lang", - "ink_lang_codegen", - "ink_primitives", - "ink_storage", + "ink", "parity-scale-codec", + "scale-info", +] + +[[package]] +name = "aho-corasick" +version = "0.7.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac" +dependencies = [ + "memchr", ] [[package]] @@ -38,6 +44,12 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + [[package]] name = "bitvec" version = "1.0.1" @@ -215,6 +227,40 @@ version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f107b87b6afc2a64fd13cac55fe06d6c8859f12d4b14cbcdd2c67d0976781be" +[[package]] +name = "env_logger" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85cdab6a89accf66733ad5a1693a4dcced6aeff64602b634530dd73c1f3ee9f0" +dependencies = [ + "humantime", + "is-terminal", + "log", + "regex", + "termcolor", +] + +[[package]] +name = "errno" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f639046355ee4f37944e44f60642c6f3a7efa3cf6b78c78a0d989a8ce6c396a1" +dependencies = [ + "errno-dragonfly", + "libc", + "winapi", +] + +[[package]] +name = "errno-dragonfly" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf" +dependencies = [ + "cc", + "libc", +] + [[package]] name = "fs2" version = "0.4.3" @@ -236,13 +282,7 @@ name = "game_token" version = "2.1.0" dependencies = [ "access_control", - "ink_engine", - "ink_env", - "ink_lang", - "ink_metadata", - "ink_prelude", - "ink_primitives", - "ink_storage", + "ink", "openbrush", "parity-scale-codec", "scale-info", @@ -258,17 +298,6 @@ dependencies = [ "version_check", ] -[[package]] -name = "getrandom" -version = "0.2.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4eb1a864a501629691edf6c15a593b7a51eebaa1e8468e9ddc623de7c9b58ec6" -dependencies = [ - "cfg-if", - "libc", - "wasi", -] - [[package]] name = "heck" version = "0.3.3" @@ -284,11 +313,26 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9" +[[package]] +name = "hermit-abi" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7" +dependencies = [ + "libc", +] + +[[package]] +name = "humantime" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" + [[package]] name = "impl-serde" -version = "0.3.2" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4551f042f3438e64dbd6226b20527fc84a6e1fe65688b58746a2f53623f25f5c" +checksum = "ebc88fc67028ae3db0c853baa36269d398d5f45b6982f95549ff5def78c935cd" dependencies = [ "serde", ] @@ -304,25 +348,61 @@ dependencies = [ "syn", ] +[[package]] +name = "ink" +version = "4.0.0-beta" +source = "git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde#4655a8b4413cb50cbc38d1b7c173ad426ab06cde" +dependencies = [ + "derive_more", + "ink_env", + "ink_macro", + "ink_metadata", + "ink_prelude 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", + "ink_primitives 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", + "ink_storage", + "parity-scale-codec", +] + [[package]] name = "ink_allocator" -version = "3.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ed249de74298ed051ebcf6d3082b8d3dbd19cbc448d9ed3235d8a7b92713049" +version = "4.0.0-beta" +source = "git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde#4655a8b4413cb50cbc38d1b7c173ad426ab06cde" dependencies = [ "cfg-if", ] +[[package]] +name = "ink_codegen" +version = "4.0.0-beta" +source = "git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde#4655a8b4413cb50cbc38d1b7c173ad426ab06cde" +dependencies = [ + "blake2 0.10.4", + "derive_more", + "either", + "env_logger", + "heck 0.4.0", + "impl-serde", + "ink_ir 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", + "ink_primitives 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", + "itertools", + "log", + "parity-scale-codec", + "proc-macro2", + "quote", + "serde", + "serde_json", + "syn", +] + [[package]] name = "ink_engine" -version = "3.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acb9d32ec27d71fefb3f2b6a26bae82a2c6509d7ad61e8a5107b6291a1b03ecb" +version = "4.0.0-beta" +source = "git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde#4655a8b4413cb50cbc38d1b7c173ad426ab06cde" dependencies = [ "blake2 0.10.4", "derive_more", + "ink_primitives 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", "parity-scale-codec", - "rand", "secp256k1", "sha2", "sha3", @@ -330,9 +410,8 @@ dependencies = [ [[package]] name = "ink_env" -version = "3.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1549f5966167387c89fb3dfcdc59973bfb396cc3a7110d7a31ad5fdea56db0cf" +version = "4.0.0-beta" +source = "git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde#4655a8b4413cb50cbc38d1b7c173ad426ab06cde" dependencies = [ "arrayref", "blake2 0.10.4", @@ -341,12 +420,12 @@ dependencies = [ "ink_allocator", "ink_engine", "ink_metadata", - "ink_prelude", - "ink_primitives", + "ink_prelude 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", + "ink_primitives 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", + "ink_storage_traits", "num-traits", "parity-scale-codec", "paste", - "rand", "rlibc", "scale-info", "secp256k1", @@ -356,45 +435,23 @@ dependencies = [ ] [[package]] -name = "ink_lang" -version = "3.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e5282f2722ac6dca469e7f223a7b38b2a6d20fbca6b974497e630d5dc8934e9" -dependencies = [ - "derive_more", - "ink_env", - "ink_lang_macro", - "ink_metadata", - "ink_prelude", - "ink_primitives", - "ink_storage", - "parity-scale-codec", -] - -[[package]] -name = "ink_lang_codegen" -version = "3.3.0" +name = "ink_ir" +version = "4.0.0-beta" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb3a5de33b59450adc3f61c5eb05b768067c7ab8af9d00f33e284310598168dc" +checksum = "faf2ee9acbf86d5b2b6342266972217b61117c6468c81bdefe23e052beb05af1" dependencies = [ "blake2 0.10.4", - "derive_more", "either", - "heck 0.4.0", - "impl-serde", - "ink_lang_ir", "itertools", - "parity-scale-codec", "proc-macro2", "quote", "syn", ] [[package]] -name = "ink_lang_ir" -version = "3.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9d4d614462280fa06e15b9ca5725d7c8440dde93c8dae1c6f15422f7756cacb" +name = "ink_ir" +version = "4.0.0-beta" +source = "git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde#4655a8b4413cb50cbc38d1b7c173ad426ab06cde" dependencies = [ "blake2 0.10.4", "either", @@ -405,82 +462,124 @@ dependencies = [ ] [[package]] -name = "ink_lang_macro" -version = "3.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72f85f64141957c5db7cbabbb97a9c16c489e5e9d363e9f147d132a43c71cd29" +name = "ink_macro" +version = "4.0.0-beta" +source = "git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde#4655a8b4413cb50cbc38d1b7c173ad426ab06cde" dependencies = [ - "ink_lang_codegen", - "ink_lang_ir", - "ink_primitives", + "ink_codegen", + "ink_ir 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", + "ink_primitives 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", "parity-scale-codec", "proc-macro2", + "quote", "syn", + "synstructure", ] [[package]] name = "ink_metadata" -version = "3.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dca6c159a2774f07437c6fd9ea710eb73a6b5e9a031a932bddf08742bf2c081a" +version = "4.0.0-beta" +source = "git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde#4655a8b4413cb50cbc38d1b7c173ad426ab06cde" dependencies = [ "derive_more", "impl-serde", - "ink_prelude", - "ink_primitives", + "ink_prelude 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", + "ink_primitives 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", "scale-info", "serde", ] [[package]] name = "ink_prelude" -version = "3.3.0" +version = "4.0.0-beta" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1f7f4dec15e573496c9d2af353e78bde84add391251608f25b5adcf175dc777" +checksum = "5962125f78304bc2b3083391cbd579125c64ce17e61b019034094faf772c915a" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "ink_prelude" +version = "4.0.0-beta" +source = "git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde#4655a8b4413cb50cbc38d1b7c173ad426ab06cde" dependencies = [ "cfg-if", ] [[package]] name = "ink_primitives" -version = "3.3.0" +version = "4.0.0-beta" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3296dd1c4f4fe12ede7c92d60e6fcb94d46a959ec19c701e4ac588b09e0b4a6" +checksum = "90f4f26208fe23e12d436917697b951252519484134a3561fe8b65a5abc97aa9" dependencies = [ - "cfg-if", - "ink_prelude", + "derive_more", + "ink_prelude 4.0.0-beta (registry+https://github.com/rust-lang/crates.io-index)", + "parity-scale-codec", + "xxhash-rust", +] + +[[package]] +name = "ink_primitives" +version = "4.0.0-beta" +source = "git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde#4655a8b4413cb50cbc38d1b7c173ad426ab06cde" +dependencies = [ + "derive_more", + "ink_prelude 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", "parity-scale-codec", "scale-info", + "xxhash-rust", ] [[package]] name = "ink_storage" -version = "3.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ff9b503995a7b41fe201a7a2643ce22f5a11e0b67db7b685424b6d5fe0ecf0b" +version = "4.0.0-beta" +source = "git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde#4655a8b4413cb50cbc38d1b7c173ad426ab06cde" dependencies = [ "array-init", "cfg-if", "derive_more", "ink_env", "ink_metadata", - "ink_prelude", - "ink_primitives", - "ink_storage_derive", + "ink_prelude 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", + "ink_primitives 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", + "ink_storage_traits", "parity-scale-codec", "scale-info", ] [[package]] -name = "ink_storage_derive" -version = "3.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "afb68e24e93e8327dda1924868d7ee4dbe01e1ed2b392f28583caa96809b585c" +name = "ink_storage_traits" +version = "4.0.0-beta" +source = "git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde#4655a8b4413cb50cbc38d1b7c173ad426ab06cde" dependencies = [ - "proc-macro2", - "quote", + "ink_metadata", + "ink_prelude 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", + "ink_primitives 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", + "parity-scale-codec", + "scale-info", "syn", - "synstructure", +] + +[[package]] +name = "io-lifetimes" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7d6c6f8c91b4b9ed43484ad1a938e393caf35960fce7f82a040497207bd8e9e" +dependencies = [ + "libc", + "windows-sys", +] + +[[package]] +name = "is-terminal" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28dfb6c8100ccc63462345b67d1bbc3679177c75ee4bf59bf29c8b1d110b8189" +dependencies = [ + "hermit-abi", + "io-lifetimes", + "rustix", + "windows-sys", ] [[package]] @@ -506,9 +605,30 @@ checksum = "f9b7d56ba4a8344d6be9729995e6b06f928af29998cdf79fe390cbf6b1fee838" [[package]] name = "libc" -version = "0.2.126" +version = "0.2.139" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79" + +[[package]] +name = "linux-raw-sys" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "349d5a591cd28b49e1d1037471617a32ddcda5731b99419008085f72d5a53836" +checksum = "f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4" + +[[package]] +name = "log" +version = "0.4.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "memchr" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" [[package]] name = "num-traits" @@ -522,15 +642,10 @@ dependencies = [ [[package]] name = "obce" version = "0.1.0" -source = "git+https://github.com/Supercolony-net/obce?branch=polkadot-v0.9.29#9843e2a3e91e7c29a9b21dde7ead3299e9d3c0fb" +source = "git+https://github.com/727-Ventures/obce?tag=3.0.0-beta#e4d93be5ea31ea39fd5c692e93ebe319b51cd604" dependencies = [ + "ink", "ink_engine", - "ink_env", - "ink_lang", - "ink_metadata", - "ink_prelude", - "ink_primitives", - "ink_storage", "obce-macro", "parity-scale-codec", "scale-info", @@ -539,7 +654,7 @@ dependencies = [ [[package]] name = "obce-codegen" version = "0.1.0" -source = "git+https://github.com/Supercolony-net/obce?branch=polkadot-v0.9.29#9843e2a3e91e7c29a9b21dde7ead3299e9d3c0fb" +source = "git+https://github.com/727-Ventures/obce?tag=3.0.0-beta#e4d93be5ea31ea39fd5c692e93ebe319b51cd604" dependencies = [ "blake2 0.10.4", "proc-macro2", @@ -550,7 +665,7 @@ dependencies = [ [[package]] name = "obce-macro" version = "0.1.0" -source = "git+https://github.com/Supercolony-net/obce?branch=polkadot-v0.9.29#9843e2a3e91e7c29a9b21dde7ead3299e9d3c0fb" +source = "git+https://github.com/727-Ventures/obce?tag=3.0.0-beta#e4d93be5ea31ea39fd5c692e93ebe319b51cd604" dependencies = [ "obce-codegen", "proc-macro2", @@ -566,15 +681,10 @@ checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" [[package]] name = "openbrush" -version = "2.2.0" -source = "git+https://github.com/Supercolony-net/openbrush-contracts.git?rev=15e6366#15e63664d87124f4cc0e7ba55b21a71222983677" +version = "3.0.0-beta" +source = "git+https://github.com/727-Ventures/openbrush-contracts.git?rev=3.0.0-beta#14ff655a0d83440f40c57c82d9a33e4c5b981da7" dependencies = [ - "ink_env", - "ink_lang", - "ink_metadata", - "ink_prelude", - "ink_primitives", - "ink_storage", + "ink", "openbrush_contracts", "openbrush_lang", "parity-scale-codec", @@ -583,15 +693,10 @@ dependencies = [ [[package]] name = "openbrush_contracts" -version = "2.2.0" -source = "git+https://github.com/Supercolony-net/openbrush-contracts.git?rev=15e6366#15e63664d87124f4cc0e7ba55b21a71222983677" +version = "3.0.0-beta" +source = "git+https://github.com/727-Ventures/openbrush-contracts.git?rev=3.0.0-beta#14ff655a0d83440f40c57c82d9a33e4c5b981da7" dependencies = [ - "ink_env", - "ink_lang", - "ink_metadata", - "ink_prelude", - "ink_primitives", - "ink_storage", + "ink", "openbrush_lang", "pallet-assets-chain-extension", "parity-scale-codec", @@ -600,32 +705,28 @@ dependencies = [ [[package]] name = "openbrush_lang" -version = "2.2.0" -source = "git+https://github.com/Supercolony-net/openbrush-contracts.git?rev=15e6366#15e63664d87124f4cc0e7ba55b21a71222983677" +version = "3.0.0-beta" +source = "git+https://github.com/727-Ventures/openbrush-contracts.git?rev=3.0.0-beta#14ff655a0d83440f40c57c82d9a33e4c5b981da7" dependencies = [ "const_format", - "ink_env", - "ink_lang", - "ink_metadata", - "ink_prelude", - "ink_primitives", - "ink_storage", + "ink", "openbrush_lang_macro", "parity-scale-codec", "scale-info", - "sha2-const", + "xxhash-rust", ] [[package]] name = "openbrush_lang_codegen" -version = "2.2.0" -source = "git+https://github.com/Supercolony-net/openbrush-contracts.git?rev=15e6366#15e63664d87124f4cc0e7ba55b21a71222983677" +version = "3.0.0-beta" +source = "git+https://github.com/727-Ventures/openbrush-contracts.git?rev=3.0.0-beta#14ff655a0d83440f40c57c82d9a33e4c5b981da7" dependencies = [ "blake2 0.9.2", "cargo_metadata", "fs2", "heck 0.3.3", - "ink_lang_ir", + "ink_ir 4.0.0-beta (registry+https://github.com/rust-lang/crates.io-index)", + "ink_primitives 4.0.0-beta (registry+https://github.com/rust-lang/crates.io-index)", "proc-macro2", "quote", "serde", @@ -637,8 +738,8 @@ dependencies = [ [[package]] name = "openbrush_lang_macro" -version = "2.2.0" -source = "git+https://github.com/Supercolony-net/openbrush-contracts.git?rev=15e6366#15e63664d87124f4cc0e7ba55b21a71222983677" +version = "3.0.0-beta" +source = "git+https://github.com/727-Ventures/openbrush-contracts.git?rev=3.0.0-beta#14ff655a0d83440f40c57c82d9a33e4c5b981da7" dependencies = [ "openbrush_lang_codegen", "proc-macro2", @@ -649,11 +750,9 @@ dependencies = [ [[package]] name = "pallet-assets-chain-extension" version = "0.1.1" -source = "git+https://github.com/Supercolony-net/pallet-assets-chain-extension#83ff37cb0d19d15a881ecab2c922596039c8358d" +source = "git+https://github.com/727-ventures/pallet-assets-chain-extension?tag=3.0.0-beta#7e553468e9c0fbd4f543ccb950b3d17b548237f1" dependencies = [ - "ink_metadata", - "ink_primitives", - "ink_storage", + "ink", "obce", "parity-scale-codec", "scale-info", @@ -700,12 +799,6 @@ dependencies = [ "ucd-trie", ] -[[package]] -name = "ppv-lite86" -version = "0.2.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb9f9e6e233e5c4a35559a617bf40a4ec447db2e84c20b55a6f83167b7e57872" - [[package]] name = "proc-macro-crate" version = "1.1.3" @@ -741,34 +834,21 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" [[package]] -name = "rand" -version = "0.8.5" +name = "regex" +version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" +checksum = "48aaa5748ba571fb95cd2c85c09f629215d3a6ece942baa100950af03a34f733" dependencies = [ - "libc", - "rand_chacha", - "rand_core", + "aho-corasick", + "memchr", + "regex-syntax", ] [[package]] -name = "rand_chacha" -version = "0.3.1" +name = "regex-syntax" +version = "0.6.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" -dependencies = [ - "ppv-lite86", - "rand_core", -] - -[[package]] -name = "rand_core" -version = "0.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7" -dependencies = [ - "getrandom", -] +checksum = "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848" [[package]] name = "rlibc" @@ -776,6 +856,20 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc874b127765f014d792f16763a81245ab80500e2ad921ed4ee9e82481ee08fe" +[[package]] +name = "rustix" +version = "0.36.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4feacf7db682c6c329c4ede12649cd36ecab0f3be5b7d74e6a20304725db4549" +dependencies = [ + "bitflags", + "errno", + "io-lifetimes", + "libc", + "linux-raw-sys", + "windows-sys", +] + [[package]] name = "ryu" version = "1.0.10" @@ -784,9 +878,9 @@ checksum = "f3f6f92acf49d1b98f7a81226834412ada05458b7364277387724a237f062695" [[package]] name = "scale-info" -version = "2.1.2" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c46be926081c9f4dd5dd9b6f1d3e3229f2360bc6502dd8836f84a93b7c75e99a" +checksum = "001cf62ece89779fd16105b5f515ad0e5cedcd5440d3dd806bb067978e7c3608" dependencies = [ "bitvec", "cfg-if", @@ -798,9 +892,9 @@ dependencies = [ [[package]] name = "scale-info-derive" -version = "2.1.2" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50e334bb10a245e28e5fd755cabcafd96cfcd167c99ae63a46924ca8d8703a3c" +checksum = "303959cf613a6f6efd19ed4b4ad5bf79966a13352716299ad532cfb115f4205c" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -810,18 +904,18 @@ dependencies = [ [[package]] name = "secp256k1" -version = "0.22.1" +version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26947345339603ae8395f68e2f3d85a6b0a8ddfe6315818e80b8504415099db0" +checksum = "550fc3b723a478be77bf74718947cdcdd75144d508aaa70f0a320036905df2a8" dependencies = [ "secp256k1-sys", ] [[package]] name = "secp256k1-sys" -version = "0.5.2" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "152e20a0fd0519390fc43ab404663af8a0b794273d2a91d60ad4a39f13ffe110" +checksum = "8058e28ae464daf5ac14c5c0f78110b58616e796c4e4e28cfcca38fdb13d8f22" dependencies = [ "cc", ] @@ -887,12 +981,6 @@ dependencies = [ "digest 0.10.3", ] -[[package]] -name = "sha2-const" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5edcd790916d95ff81bdc1505b09c74d30d47a755929cc8c71c59cbbfa99f91b" - [[package]] name = "sha3" version = "0.10.1" @@ -944,6 +1032,15 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" +[[package]] +name = "termcolor" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6" +dependencies = [ + "winapi-util", +] + [[package]] name = "thiserror" version = "1.0.31" @@ -1015,12 +1112,6 @@ version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" -[[package]] -name = "wasi" -version = "0.11.0+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" - [[package]] name = "winapi" version = "0.3.9" @@ -1037,12 +1128,78 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" +[[package]] +name = "winapi-util" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" +dependencies = [ + "winapi", +] + [[package]] name = "winapi-x86_64-pc-windows-gnu" version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" +[[package]] +name = "windows-sys" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" +dependencies = [ + "windows_aarch64_gnullvm", + "windows_aarch64_msvc", + "windows_i686_gnu", + "windows_i686_msvc", + "windows_x86_64_gnu", + "windows_x86_64_gnullvm", + "windows_x86_64_msvc", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.42.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c9864e83243fdec7fc9c5444389dcbbfd258f745e7853198f365e3c4968a608" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.42.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c8b1b673ffc16c47a9ff48570a9d85e25d265735c503681332589af6253c6c7" + +[[package]] +name = "windows_i686_gnu" +version = "0.42.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "de3887528ad530ba7bdbb1faa8275ec7a1155a45ffa57c37993960277145d640" + +[[package]] +name = "windows_i686_msvc" +version = "0.42.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf4d1122317eddd6ff351aa852118a2418ad4214e6613a50e0191f7004372605" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.42.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1040f221285e17ebccbc2591ffdc2d44ee1f9186324dd3e84e99ac68d699c45" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.42.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "628bfdf232daa22b0d64fdb62b09fcc36bb01f05a3939e20ab73aaf9470d0463" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.42.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "447660ad36a13288b1db4d4248e857b510e8c3a225c822ba4fb748c0aafecffd" + [[package]] name = "wyz" version = "0.5.0" @@ -1051,3 +1208,9 @@ checksum = "30b31594f29d27036c383b53b59ed3476874d518f0efb151b27a4c275141390e" dependencies = [ "tap", ] + +[[package]] +name = "xxhash-rust" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "735a71d46c4d68d71d4b24d03fdc2b98e38cea81730595801db779c04fe80d70" diff --git a/contracts/game_token/Cargo.toml b/contracts/game_token/Cargo.toml index a13dbaefc8..7555a656c7 100644 --- a/contracts/game_token/Cargo.toml +++ b/contracts/game_token/Cargo.toml @@ -6,18 +6,12 @@ edition = "2021" license = "Apache 2.0" [dependencies] -ink_primitives = { version = "~3.3.0", default-features = false } -ink_metadata = { version = "~3.3.0", default-features = false, features = ["derive"], optional = true } -ink_env = { version = "~3.3.0", default-features = false } -ink_storage = { version = "~3.3.0", default-features = false } -ink_lang = { version = "~3.3.0", default-features = false } -ink_prelude = { version = "~3.3.0", default-features = false } -ink_engine = { version = "~3.3.0", default-features = false, optional = true } +ink = { git = "https://github.com/paritytech/ink", rev = "4655a8b4413cb50cbc38d1b7c173ad426ab06cde", default-features = false} scale = { package = "parity-scale-codec", version = "3", default-features = false, features = ["derive"] } -scale-info = { version = "2", default-features = false, features = ["derive"], optional = true } +scale-info = { version = "2.3", default-features = false, features = ["derive"], optional = true } -openbrush = { git = "https://github.com/Supercolony-net/openbrush-contracts.git", rev = "15e6366", default-features = false, features = ["psp22"] } +openbrush = { git = "https://github.com/727-Ventures/openbrush-contracts.git", rev = "3.0.0-beta", default-features = false, features = ["psp22"] } access_control = { path = "../access_control", default-features = false, features = ["ink-as-dependency"] } [lib] @@ -27,22 +21,18 @@ crate-type = [ # Used for normal contract Wasm blobs. "cdylib", # Used for ABI generation. - "rlib", + "rlib", ] [features] default = ["std"] std = [ - "ink_env/std", - "ink_lang/std", - "ink_metadata", - "ink_metadata/std", - "ink_primitives/std", - "ink_storage/std", + "ink/std", "openbrush/std", "scale-info", "scale-info/std", "scale/std", + "access_control/std" ] ink-as-dependency = [] diff --git a/contracts/game_token/lib.rs b/contracts/game_token/lib.rs index 2e602ee812..e632da5634 100644 --- a/contracts/game_token/lib.rs +++ b/contracts/game_token/lib.rs @@ -10,13 +10,12 @@ pub use crate::game_token::{ #[openbrush::contract] pub mod game_token { use access_control::{roles::Role, traits::AccessControlled, ACCESS_CONTROL_PUBKEY}; - use ink_env::Error as InkEnvError; - use ink_lang::{ + use ink::{ codegen::{EmitEvent, Env}, + env::Error as InkEnvError, + prelude::{format, string::String}, reflect::ContractEventBase, }; - use ink_prelude::{format, string::String}; - use ink_storage::traits::SpreadAllocate; use openbrush::{ contracts::psp22::{ extensions::{burnable::*, metadata::*, mintable::*}, @@ -33,7 +32,7 @@ pub mod game_token { pub const BURN_SELECTOR: [u8; 4] = [0x7a, 0x9d, 0xa5, 0x10]; #[ink(storage)] - #[derive(Default, SpreadAllocate, Storage)] + #[derive(Default, Storage)] pub struct GameToken { #[storage_field] psp22: psp22::Data, @@ -162,12 +161,16 @@ pub mod game_token { ); match role_check { - Ok(_) => ink_lang::codegen::initialize_contract(|instance: &mut GameToken| { + Ok(_) => { + let mut instance = Self::default(); + instance.metadata.name = Some(name.into()); instance.metadata.symbol = Some(symbol.into()); instance.metadata.decimals = 12; instance.access_control = AccountId::from(ACCESS_CONTROL_PUBKEY); - }), + + instance + } Err(why) => panic!("Could not initialize the contract {:?}", why), } } From a6f86fcc28e561535fd507175eafa7585877c64f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Obrok?= Date: Wed, 18 Jan 2023 15:32:08 +0100 Subject: [PATCH 092/212] Migrate marketplace to ink4 --- contracts/marketplace/Cargo.lock | 557 ++++++++++++++++++++----------- contracts/marketplace/Cargo.toml | 24 +- contracts/marketplace/lib.rs | 21 +- 3 files changed, 370 insertions(+), 232 deletions(-) diff --git a/contracts/marketplace/Cargo.lock b/contracts/marketplace/Cargo.lock index 65dde5f2d6..23ca8455ca 100644 --- a/contracts/marketplace/Cargo.lock +++ b/contracts/marketplace/Cargo.lock @@ -6,16 +6,20 @@ version = 3 name = "access_control" version = "0.2.0" dependencies = [ - "ink_env", - "ink_lang", - "ink_lang_codegen", - "ink_metadata", - "ink_primitives", - "ink_storage", + "ink", "parity-scale-codec", "scale-info", ] +[[package]] +name = "aho-corasick" +version = "0.7.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac" +dependencies = [ + "memchr", +] + [[package]] name = "array-init" version = "2.0.1" @@ -40,6 +44,12 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + [[package]] name = "bitvec" version = "1.0.1" @@ -217,6 +227,40 @@ version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f107b87b6afc2a64fd13cac55fe06d6c8859f12d4b14cbcdd2c67d0976781be" +[[package]] +name = "env_logger" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85cdab6a89accf66733ad5a1693a4dcced6aeff64602b634530dd73c1f3ee9f0" +dependencies = [ + "humantime", + "is-terminal", + "log", + "regex", + "termcolor", +] + +[[package]] +name = "errno" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f639046355ee4f37944e44f60642c6f3a7efa3cf6b78c78a0d989a8ce6c396a1" +dependencies = [ + "errno-dragonfly", + "libc", + "winapi", +] + +[[package]] +name = "errno-dragonfly" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf" +dependencies = [ + "cc", + "libc", +] + [[package]] name = "fs2" version = "0.4.3" @@ -238,12 +282,7 @@ name = "game_token" version = "2.1.0" dependencies = [ "access_control", - "ink_env", - "ink_lang", - "ink_metadata", - "ink_prelude", - "ink_primitives", - "ink_storage", + "ink", "openbrush", "parity-scale-codec", "scale-info", @@ -259,17 +298,6 @@ dependencies = [ "version_check", ] -[[package]] -name = "getrandom" -version = "0.2.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4eb1a864a501629691edf6c15a593b7a51eebaa1e8468e9ddc623de7c9b58ec6" -dependencies = [ - "cfg-if", - "libc", - "wasi", -] - [[package]] name = "heck" version = "0.3.3" @@ -285,11 +313,26 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9" +[[package]] +name = "hermit-abi" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7" +dependencies = [ + "libc", +] + +[[package]] +name = "humantime" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" + [[package]] name = "impl-serde" -version = "0.3.2" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4551f042f3438e64dbd6226b20527fc84a6e1fe65688b58746a2f53623f25f5c" +checksum = "ebc88fc67028ae3db0c853baa36269d398d5f45b6982f95549ff5def78c935cd" dependencies = [ "serde", ] @@ -305,25 +348,61 @@ dependencies = [ "syn", ] +[[package]] +name = "ink" +version = "4.0.0-beta" +source = "git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde#4655a8b4413cb50cbc38d1b7c173ad426ab06cde" +dependencies = [ + "derive_more", + "ink_env", + "ink_macro", + "ink_metadata", + "ink_prelude 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", + "ink_primitives 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", + "ink_storage", + "parity-scale-codec", +] + [[package]] name = "ink_allocator" -version = "3.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ed249de74298ed051ebcf6d3082b8d3dbd19cbc448d9ed3235d8a7b92713049" +version = "4.0.0-beta" +source = "git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde#4655a8b4413cb50cbc38d1b7c173ad426ab06cde" dependencies = [ "cfg-if", ] +[[package]] +name = "ink_codegen" +version = "4.0.0-beta" +source = "git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde#4655a8b4413cb50cbc38d1b7c173ad426ab06cde" +dependencies = [ + "blake2 0.10.4", + "derive_more", + "either", + "env_logger", + "heck 0.4.0", + "impl-serde", + "ink_ir 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", + "ink_primitives 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", + "itertools", + "log", + "parity-scale-codec", + "proc-macro2", + "quote", + "serde", + "serde_json", + "syn", +] + [[package]] name = "ink_engine" -version = "3.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acb9d32ec27d71fefb3f2b6a26bae82a2c6509d7ad61e8a5107b6291a1b03ecb" +version = "4.0.0-beta" +source = "git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde#4655a8b4413cb50cbc38d1b7c173ad426ab06cde" dependencies = [ "blake2 0.10.4", "derive_more", + "ink_primitives 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", "parity-scale-codec", - "rand", "secp256k1", "sha2", "sha3", @@ -331,9 +410,8 @@ dependencies = [ [[package]] name = "ink_env" -version = "3.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1549f5966167387c89fb3dfcdc59973bfb396cc3a7110d7a31ad5fdea56db0cf" +version = "4.0.0-beta" +source = "git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde#4655a8b4413cb50cbc38d1b7c173ad426ab06cde" dependencies = [ "arrayref", "blake2 0.10.4", @@ -342,12 +420,12 @@ dependencies = [ "ink_allocator", "ink_engine", "ink_metadata", - "ink_prelude", - "ink_primitives", + "ink_prelude 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", + "ink_primitives 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", + "ink_storage_traits", "num-traits", "parity-scale-codec", "paste", - "rand", "rlibc", "scale-info", "secp256k1", @@ -357,45 +435,23 @@ dependencies = [ ] [[package]] -name = "ink_lang" -version = "3.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e5282f2722ac6dca469e7f223a7b38b2a6d20fbca6b974497e630d5dc8934e9" -dependencies = [ - "derive_more", - "ink_env", - "ink_lang_macro", - "ink_metadata", - "ink_prelude", - "ink_primitives", - "ink_storage", - "parity-scale-codec", -] - -[[package]] -name = "ink_lang_codegen" -version = "3.3.0" +name = "ink_ir" +version = "4.0.0-beta" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb3a5de33b59450adc3f61c5eb05b768067c7ab8af9d00f33e284310598168dc" +checksum = "faf2ee9acbf86d5b2b6342266972217b61117c6468c81bdefe23e052beb05af1" dependencies = [ "blake2 0.10.4", - "derive_more", "either", - "heck 0.4.0", - "impl-serde", - "ink_lang_ir", "itertools", - "parity-scale-codec", "proc-macro2", "quote", "syn", ] [[package]] -name = "ink_lang_ir" -version = "3.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9d4d614462280fa06e15b9ca5725d7c8440dde93c8dae1c6f15422f7756cacb" +name = "ink_ir" +version = "4.0.0-beta" +source = "git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde#4655a8b4413cb50cbc38d1b7c173ad426ab06cde" dependencies = [ "blake2 0.10.4", "either", @@ -406,82 +462,124 @@ dependencies = [ ] [[package]] -name = "ink_lang_macro" -version = "3.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72f85f64141957c5db7cbabbb97a9c16c489e5e9d363e9f147d132a43c71cd29" +name = "ink_macro" +version = "4.0.0-beta" +source = "git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde#4655a8b4413cb50cbc38d1b7c173ad426ab06cde" dependencies = [ - "ink_lang_codegen", - "ink_lang_ir", - "ink_primitives", + "ink_codegen", + "ink_ir 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", + "ink_primitives 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", "parity-scale-codec", "proc-macro2", + "quote", "syn", + "synstructure", ] [[package]] name = "ink_metadata" -version = "3.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dca6c159a2774f07437c6fd9ea710eb73a6b5e9a031a932bddf08742bf2c081a" +version = "4.0.0-beta" +source = "git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde#4655a8b4413cb50cbc38d1b7c173ad426ab06cde" dependencies = [ "derive_more", "impl-serde", - "ink_prelude", - "ink_primitives", + "ink_prelude 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", + "ink_primitives 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", "scale-info", "serde", ] [[package]] name = "ink_prelude" -version = "3.3.0" +version = "4.0.0-beta" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1f7f4dec15e573496c9d2af353e78bde84add391251608f25b5adcf175dc777" +checksum = "5962125f78304bc2b3083391cbd579125c64ce17e61b019034094faf772c915a" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "ink_prelude" +version = "4.0.0-beta" +source = "git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde#4655a8b4413cb50cbc38d1b7c173ad426ab06cde" dependencies = [ "cfg-if", ] [[package]] name = "ink_primitives" -version = "3.3.0" +version = "4.0.0-beta" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3296dd1c4f4fe12ede7c92d60e6fcb94d46a959ec19c701e4ac588b09e0b4a6" +checksum = "90f4f26208fe23e12d436917697b951252519484134a3561fe8b65a5abc97aa9" dependencies = [ - "cfg-if", - "ink_prelude", + "derive_more", + "ink_prelude 4.0.0-beta (registry+https://github.com/rust-lang/crates.io-index)", + "parity-scale-codec", + "xxhash-rust", +] + +[[package]] +name = "ink_primitives" +version = "4.0.0-beta" +source = "git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde#4655a8b4413cb50cbc38d1b7c173ad426ab06cde" +dependencies = [ + "derive_more", + "ink_prelude 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", "parity-scale-codec", "scale-info", + "xxhash-rust", ] [[package]] name = "ink_storage" -version = "3.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ff9b503995a7b41fe201a7a2643ce22f5a11e0b67db7b685424b6d5fe0ecf0b" +version = "4.0.0-beta" +source = "git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde#4655a8b4413cb50cbc38d1b7c173ad426ab06cde" dependencies = [ "array-init", "cfg-if", "derive_more", "ink_env", "ink_metadata", - "ink_prelude", - "ink_primitives", - "ink_storage_derive", + "ink_prelude 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", + "ink_primitives 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", + "ink_storage_traits", "parity-scale-codec", "scale-info", ] [[package]] -name = "ink_storage_derive" -version = "3.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "afb68e24e93e8327dda1924868d7ee4dbe01e1ed2b392f28583caa96809b585c" +name = "ink_storage_traits" +version = "4.0.0-beta" +source = "git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde#4655a8b4413cb50cbc38d1b7c173ad426ab06cde" dependencies = [ - "proc-macro2", - "quote", + "ink_metadata", + "ink_prelude 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", + "ink_primitives 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", + "parity-scale-codec", + "scale-info", "syn", - "synstructure", +] + +[[package]] +name = "io-lifetimes" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7d6c6f8c91b4b9ed43484ad1a938e393caf35960fce7f82a040497207bd8e9e" +dependencies = [ + "libc", + "windows-sys", +] + +[[package]] +name = "is-terminal" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28dfb6c8100ccc63462345b67d1bbc3679177c75ee4bf59bf29c8b1d110b8189" +dependencies = [ + "hermit-abi", + "io-lifetimes", + "rustix", + "windows-sys", ] [[package]] @@ -507,9 +605,24 @@ checksum = "f9b7d56ba4a8344d6be9729995e6b06f928af29998cdf79fe390cbf6b1fee838" [[package]] name = "libc" -version = "0.2.126" +version = "0.2.139" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79" + +[[package]] +name = "linux-raw-sys" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4" + +[[package]] +name = "log" +version = "0.4.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "349d5a591cd28b49e1d1037471617a32ddcda5731b99419008085f72d5a53836" +checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e" +dependencies = [ + "cfg-if", +] [[package]] name = "marketplace" @@ -517,19 +630,19 @@ version = "0.1.0" dependencies = [ "access_control", "game_token", - "ink_engine", - "ink_env", - "ink_lang", - "ink_metadata", - "ink_prelude", - "ink_primitives", - "ink_storage", + "ink", "openbrush", "parity-scale-codec", "scale-info", "ticket_token", ] +[[package]] +name = "memchr" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" + [[package]] name = "num-traits" version = "0.2.15" @@ -542,15 +655,10 @@ dependencies = [ [[package]] name = "obce" version = "0.1.0" -source = "git+https://github.com/Supercolony-net/obce?branch=polkadot-v0.9.29#9843e2a3e91e7c29a9b21dde7ead3299e9d3c0fb" +source = "git+https://github.com/727-Ventures/obce?tag=3.0.0-beta#e4d93be5ea31ea39fd5c692e93ebe319b51cd604" dependencies = [ + "ink", "ink_engine", - "ink_env", - "ink_lang", - "ink_metadata", - "ink_prelude", - "ink_primitives", - "ink_storage", "obce-macro", "parity-scale-codec", "scale-info", @@ -559,7 +667,7 @@ dependencies = [ [[package]] name = "obce-codegen" version = "0.1.0" -source = "git+https://github.com/Supercolony-net/obce?branch=polkadot-v0.9.29#9843e2a3e91e7c29a9b21dde7ead3299e9d3c0fb" +source = "git+https://github.com/727-Ventures/obce?tag=3.0.0-beta#e4d93be5ea31ea39fd5c692e93ebe319b51cd604" dependencies = [ "blake2 0.10.4", "proc-macro2", @@ -570,7 +678,7 @@ dependencies = [ [[package]] name = "obce-macro" version = "0.1.0" -source = "git+https://github.com/Supercolony-net/obce?branch=polkadot-v0.9.29#9843e2a3e91e7c29a9b21dde7ead3299e9d3c0fb" +source = "git+https://github.com/727-Ventures/obce?tag=3.0.0-beta#e4d93be5ea31ea39fd5c692e93ebe319b51cd604" dependencies = [ "obce-codegen", "proc-macro2", @@ -586,15 +694,10 @@ checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" [[package]] name = "openbrush" -version = "2.2.0" -source = "git+https://github.com/Supercolony-net/openbrush-contracts.git?rev=15e6366#15e63664d87124f4cc0e7ba55b21a71222983677" +version = "3.0.0-beta" +source = "git+https://github.com/727-Ventures/openbrush-contracts.git?rev=3.0.0-beta#14ff655a0d83440f40c57c82d9a33e4c5b981da7" dependencies = [ - "ink_env", - "ink_lang", - "ink_metadata", - "ink_prelude", - "ink_primitives", - "ink_storage", + "ink", "openbrush_contracts", "openbrush_lang", "parity-scale-codec", @@ -603,15 +706,10 @@ dependencies = [ [[package]] name = "openbrush_contracts" -version = "2.2.0" -source = "git+https://github.com/Supercolony-net/openbrush-contracts.git?rev=15e6366#15e63664d87124f4cc0e7ba55b21a71222983677" +version = "3.0.0-beta" +source = "git+https://github.com/727-Ventures/openbrush-contracts.git?rev=3.0.0-beta#14ff655a0d83440f40c57c82d9a33e4c5b981da7" dependencies = [ - "ink_env", - "ink_lang", - "ink_metadata", - "ink_prelude", - "ink_primitives", - "ink_storage", + "ink", "openbrush_lang", "pallet-assets-chain-extension", "parity-scale-codec", @@ -620,32 +718,28 @@ dependencies = [ [[package]] name = "openbrush_lang" -version = "2.2.0" -source = "git+https://github.com/Supercolony-net/openbrush-contracts.git?rev=15e6366#15e63664d87124f4cc0e7ba55b21a71222983677" +version = "3.0.0-beta" +source = "git+https://github.com/727-Ventures/openbrush-contracts.git?rev=3.0.0-beta#14ff655a0d83440f40c57c82d9a33e4c5b981da7" dependencies = [ "const_format", - "ink_env", - "ink_lang", - "ink_metadata", - "ink_prelude", - "ink_primitives", - "ink_storage", + "ink", "openbrush_lang_macro", "parity-scale-codec", "scale-info", - "sha2-const", + "xxhash-rust", ] [[package]] name = "openbrush_lang_codegen" -version = "2.2.0" -source = "git+https://github.com/Supercolony-net/openbrush-contracts.git?rev=15e6366#15e63664d87124f4cc0e7ba55b21a71222983677" +version = "3.0.0-beta" +source = "git+https://github.com/727-Ventures/openbrush-contracts.git?rev=3.0.0-beta#14ff655a0d83440f40c57c82d9a33e4c5b981da7" dependencies = [ "blake2 0.9.2", "cargo_metadata", "fs2", "heck 0.3.3", - "ink_lang_ir", + "ink_ir 4.0.0-beta (registry+https://github.com/rust-lang/crates.io-index)", + "ink_primitives 4.0.0-beta (registry+https://github.com/rust-lang/crates.io-index)", "proc-macro2", "quote", "serde", @@ -657,8 +751,8 @@ dependencies = [ [[package]] name = "openbrush_lang_macro" -version = "2.2.0" -source = "git+https://github.com/Supercolony-net/openbrush-contracts.git?rev=15e6366#15e63664d87124f4cc0e7ba55b21a71222983677" +version = "3.0.0-beta" +source = "git+https://github.com/727-Ventures/openbrush-contracts.git?rev=3.0.0-beta#14ff655a0d83440f40c57c82d9a33e4c5b981da7" dependencies = [ "openbrush_lang_codegen", "proc-macro2", @@ -669,11 +763,9 @@ dependencies = [ [[package]] name = "pallet-assets-chain-extension" version = "0.1.1" -source = "git+https://github.com/Supercolony-net/pallet-assets-chain-extension#83ff37cb0d19d15a881ecab2c922596039c8358d" +source = "git+https://github.com/727-ventures/pallet-assets-chain-extension?tag=3.0.0-beta#7e553468e9c0fbd4f543ccb950b3d17b548237f1" dependencies = [ - "ink_metadata", - "ink_primitives", - "ink_storage", + "ink", "obce", "parity-scale-codec", "scale-info", @@ -720,12 +812,6 @@ dependencies = [ "ucd-trie", ] -[[package]] -name = "ppv-lite86" -version = "0.2.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb9f9e6e233e5c4a35559a617bf40a4ec447db2e84c20b55a6f83167b7e57872" - [[package]] name = "proc-macro-crate" version = "1.1.3" @@ -761,34 +847,21 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" [[package]] -name = "rand" -version = "0.8.5" +name = "regex" +version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" +checksum = "48aaa5748ba571fb95cd2c85c09f629215d3a6ece942baa100950af03a34f733" dependencies = [ - "libc", - "rand_chacha", - "rand_core", + "aho-corasick", + "memchr", + "regex-syntax", ] [[package]] -name = "rand_chacha" -version = "0.3.1" +name = "regex-syntax" +version = "0.6.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" -dependencies = [ - "ppv-lite86", - "rand_core", -] - -[[package]] -name = "rand_core" -version = "0.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7" -dependencies = [ - "getrandom", -] +checksum = "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848" [[package]] name = "rlibc" @@ -796,6 +869,20 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc874b127765f014d792f16763a81245ab80500e2ad921ed4ee9e82481ee08fe" +[[package]] +name = "rustix" +version = "0.36.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4feacf7db682c6c329c4ede12649cd36ecab0f3be5b7d74e6a20304725db4549" +dependencies = [ + "bitflags", + "errno", + "io-lifetimes", + "libc", + "linux-raw-sys", + "windows-sys", +] + [[package]] name = "ryu" version = "1.0.10" @@ -804,9 +891,9 @@ checksum = "f3f6f92acf49d1b98f7a81226834412ada05458b7364277387724a237f062695" [[package]] name = "scale-info" -version = "2.1.2" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c46be926081c9f4dd5dd9b6f1d3e3229f2360bc6502dd8836f84a93b7c75e99a" +checksum = "001cf62ece89779fd16105b5f515ad0e5cedcd5440d3dd806bb067978e7c3608" dependencies = [ "bitvec", "cfg-if", @@ -818,9 +905,9 @@ dependencies = [ [[package]] name = "scale-info-derive" -version = "2.1.2" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50e334bb10a245e28e5fd755cabcafd96cfcd167c99ae63a46924ca8d8703a3c" +checksum = "303959cf613a6f6efd19ed4b4ad5bf79966a13352716299ad532cfb115f4205c" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -830,18 +917,18 @@ dependencies = [ [[package]] name = "secp256k1" -version = "0.22.1" +version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26947345339603ae8395f68e2f3d85a6b0a8ddfe6315818e80b8504415099db0" +checksum = "550fc3b723a478be77bf74718947cdcdd75144d508aaa70f0a320036905df2a8" dependencies = [ "secp256k1-sys", ] [[package]] name = "secp256k1-sys" -version = "0.5.2" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "152e20a0fd0519390fc43ab404663af8a0b794273d2a91d60ad4a39f13ffe110" +checksum = "8058e28ae464daf5ac14c5c0f78110b58616e796c4e4e28cfcca38fdb13d8f22" dependencies = [ "cc", ] @@ -907,12 +994,6 @@ dependencies = [ "digest 0.10.3", ] -[[package]] -name = "sha2-const" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5edcd790916d95ff81bdc1505b09c74d30d47a755929cc8c71c59cbbfa99f91b" - [[package]] name = "sha3" version = "0.10.1" @@ -964,6 +1045,15 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" +[[package]] +name = "termcolor" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6" +dependencies = [ + "winapi-util", +] + [[package]] name = "thiserror" version = "1.0.31" @@ -989,12 +1079,7 @@ name = "ticket_token" version = "2.1.0" dependencies = [ "access_control", - "ink_env", - "ink_lang", - "ink_metadata", - "ink_prelude", - "ink_primitives", - "ink_storage", + "ink", "openbrush", "parity-scale-codec", "scale-info", @@ -1051,12 +1136,6 @@ version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" -[[package]] -name = "wasi" -version = "0.11.0+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" - [[package]] name = "winapi" version = "0.3.9" @@ -1073,12 +1152,78 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" +[[package]] +name = "winapi-util" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" +dependencies = [ + "winapi", +] + [[package]] name = "winapi-x86_64-pc-windows-gnu" version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" +[[package]] +name = "windows-sys" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" +dependencies = [ + "windows_aarch64_gnullvm", + "windows_aarch64_msvc", + "windows_i686_gnu", + "windows_i686_msvc", + "windows_x86_64_gnu", + "windows_x86_64_gnullvm", + "windows_x86_64_msvc", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.42.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c9864e83243fdec7fc9c5444389dcbbfd258f745e7853198f365e3c4968a608" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.42.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c8b1b673ffc16c47a9ff48570a9d85e25d265735c503681332589af6253c6c7" + +[[package]] +name = "windows_i686_gnu" +version = "0.42.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "de3887528ad530ba7bdbb1faa8275ec7a1155a45ffa57c37993960277145d640" + +[[package]] +name = "windows_i686_msvc" +version = "0.42.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf4d1122317eddd6ff351aa852118a2418ad4214e6613a50e0191f7004372605" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.42.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1040f221285e17ebccbc2591ffdc2d44ee1f9186324dd3e84e99ac68d699c45" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.42.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "628bfdf232daa22b0d64fdb62b09fcc36bb01f05a3939e20ab73aaf9470d0463" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.42.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "447660ad36a13288b1db4d4248e857b510e8c3a225c822ba4fb748c0aafecffd" + [[package]] name = "wyz" version = "0.5.0" @@ -1087,3 +1232,9 @@ checksum = "30b31594f29d27036c383b53b59ed3476874d518f0efb151b27a4c275141390e" dependencies = [ "tap", ] + +[[package]] +name = "xxhash-rust" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "735a71d46c4d68d71d4b24d03fdc2b98e38cea81730595801db779c04fe80d70" diff --git a/contracts/marketplace/Cargo.toml b/contracts/marketplace/Cargo.toml index 3baab06bc8..97d96fc6b8 100644 --- a/contracts/marketplace/Cargo.toml +++ b/contracts/marketplace/Cargo.toml @@ -6,18 +6,13 @@ edition = "2021" license = "Apache 2.0" [dependencies] -ink_primitives = { version = "~3.3.0", default-features = false } -ink_metadata = { version = "~3.3.0", default-features = false, features = ["derive"], optional = true } -ink_env = { version = "~3.3.0", default-features = false } -ink_storage = { version = "~3.3.0", default-features = false } -ink_lang = { version = "~3.3.0", default-features = false } -ink_prelude = { version = "~3.3.0", default-features = false } -ink_engine = { version = "~3.3.0", default-features = false, optional = true } +ink = { git = "https://github.com/paritytech/ink", rev = "4655a8b4413cb50cbc38d1b7c173ad426ab06cde", default-features = false} scale = { package = "parity-scale-codec", version = "3", default-features = false, features = ["derive"] } -scale-info = { version = "2", default-features = false, features = ["derive"], optional = true } +scale-info = { version = "2.3", default-features = false, features = ["derive"], optional = true } + +openbrush = { git = "https://github.com/727-Ventures/openbrush-contracts.git", rev = "3.0.0-beta", default-features = false, features = ["psp22"] } -openbrush = { git = "https://github.com/Supercolony-net/openbrush-contracts.git", rev = "15e6366", default-features = false, features = ["psp22"] } access_control = { path = "../access_control", default-features = false, features = ["ink-as-dependency"] } game_token = { path = "../game_token", default-features = false, features = ["ink-as-dependency"] } ticket_token = { path = "../ticket_token", default-features = false, features = ["ink-as-dependency"] } @@ -26,23 +21,14 @@ ticket_token = { path = "../ticket_token", default-features = false, features = name = "marketplace" path = "lib.rs" crate-type = [ - # Used for normal contract Wasm blobs. "cdylib", - # Used for ABI generation. "rlib", ] [features] default = ["std"] std = [ - "ink_env/std", - "ink_lang/std", - "ink_metadata", - "ink_metadata/std", - "ink_primitives/std", - "ink_storage/std", - "ink_prelude/std", - "ink_engine/std", + "ink/std", "openbrush/std", "scale-info", "scale-info/std", diff --git a/contracts/marketplace/lib.rs b/contracts/marketplace/lib.rs index 64a49ef8ac..d0f1593c50 100644 --- a/contracts/marketplace/lib.rs +++ b/contracts/marketplace/lib.rs @@ -1,4 +1,4 @@ -//! Implement a Dutch auction of one token for another. +//! Implements a Dutch auction of one token for another. //! //! This contract will auction off units of one token (referred to as `tickets`), accepting payment //! in another token (`reward token`). The auction keeps track of the average price over all sales @@ -20,20 +20,21 @@ #![feature(min_specialization)] #![allow(clippy::let_unit_value)] -use ink_lang as ink; - pub const RESET_SELECTOR: [u8; 4] = [0x00, 0x00, 0x00, 0x01]; #[ink::contract] pub mod marketplace { use access_control::{roles::Role, traits::AccessControlled, ACCESS_CONTROL_PUBKEY}; use game_token::BURN_SELECTOR as REWARD_BURN_SELECTOR; - use ink_env::{ - call::{build_call, Call, ExecutionInput, Selector}, - CallFlags, + use ink::{ + codegen::EmitEvent, + env::{ + call::{build_call, Call, ExecutionInput, Selector}, + CallFlags, + }, + prelude::{format, string::String}, + reflect::ContractEventBase, }; - use ink_lang::{codegen::EmitEvent, reflect::ContractEventBase}; - use ink_prelude::{format, string::String}; use openbrush::contracts::psp22::PSP22Error; use ticket_token::{ BALANCE_OF_SELECTOR as TICKET_BALANCE_SELECTOR, @@ -78,8 +79,8 @@ pub mod marketplace { #[derive(Clone, Eq, PartialEq, Debug)] pub struct Reset; - impl From for Error { - fn from(inner: ink_env::Error) -> Self { + impl From for Error { + fn from(inner: ink::env::Error) -> Self { Error::ContractCall(format!("{:?}", inner)) } } From 13254e1b85914c085471c44e14b5c9e9b1b0f73c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Piotr=20Miko=C5=82ajczyk?= Date: Wed, 18 Jan 2023 15:33:45 +0100 Subject: [PATCH 093/212] Hide primitive types behind Balance and BlockNumber (#871) --- aleph-client/Cargo.lock | 2 +- aleph-client/Cargo.toml | 2 +- aleph-client/src/contract/mod.rs | 12 ++++++------ aleph-client/src/lib.rs | 1 + aleph-client/src/pallets/balances.rs | 3 +-- aleph-client/src/pallets/contract.rs | 19 +++++++++---------- aleph-client/src/pallets/staking.rs | 16 ++++++++-------- aleph-client/src/pallets/system.rs | 3 +-- aleph-client/src/pallets/vesting.rs | 13 +++++++------ benches/payout-stakers/Cargo.lock | 2 +- benches/payout-stakers/src/main.rs | 6 +++--- bin/cliain/Cargo.lock | 2 +- bin/cliain/src/commands.rs | 10 +++++----- bin/cliain/src/contracts.rs | 4 ++-- bin/cliain/src/staking.rs | 8 ++++---- bin/cliain/src/transfer.rs | 6 ++++-- bin/cliain/src/vesting.rs | 2 +- e2e-tests/Cargo.lock | 2 +- flooder/Cargo.lock | 2 +- flooder/src/main.rs | 6 +++--- 20 files changed, 61 insertions(+), 60 deletions(-) diff --git a/aleph-client/Cargo.lock b/aleph-client/Cargo.lock index 16f592794f..396e04014d 100644 --- a/aleph-client/Cargo.lock +++ b/aleph-client/Cargo.lock @@ -49,7 +49,7 @@ dependencies = [ [[package]] name = "aleph_client" -version = "2.8.0" +version = "2.8.1" dependencies = [ "anyhow", "async-trait", diff --git a/aleph-client/Cargo.toml b/aleph-client/Cargo.toml index 41268b2787..37d13f8769 100644 --- a/aleph-client/Cargo.toml +++ b/aleph-client/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "aleph_client" # TODO bump major version when API stablize -version = "2.8.0" +version = "2.8.1" edition = "2021" license = "Apache 2.0" diff --git a/aleph-client/src/contract/mod.rs b/aleph-client/src/contract/mod.rs index d692194026..575b57bc34 100644 --- a/aleph-client/src/contract/mod.rs +++ b/aleph-client/src/contract/mod.rs @@ -5,7 +5,7 @@ //! //! ```no_run //! # use anyhow::{Result, Context}; -//! # use aleph_client::AccountId; +//! # use aleph_client::{AccountId, Balance}; //! # use aleph_client::{Connection, SignedConnection}; //! # use aleph_client::contract::ContractInstance; //! # @@ -24,7 +24,7 @@ //! }) //! } //! -//! async fn transfer(&self, conn: &SignedConnection, to: AccountId, amount: u128) -> Result<()> { +//! async fn transfer(&self, conn: &SignedConnection, to: AccountId, amount: Balance) -> Result<()> { //! self.contract.contract_exec( //! conn, //! "PSP22::transfer", @@ -32,7 +32,7 @@ //! ).await //! } //! -//! async fn balance_of(&self, conn: &Connection, account: AccountId) -> Result { +//! async fn balance_of(&self, conn: &Connection, account: AccountId) -> Result { //! self.contract.contract_read( //! conn, //! "PSP22::balance_of", @@ -55,7 +55,7 @@ use crate::{ contract_transcode::Value, pallets::contract::{ContractCallArgs, ContractRpc, ContractsUserApi}, sp_weights::weight_v2::Weight, - AccountId, ConnectionApi, SignedConnectionApi, TxStatus, + AccountId, Balance, ConnectionApi, SignedConnectionApi, TxStatus, }; /// Represents a contract instantiated on the chain. @@ -148,7 +148,7 @@ impl ContractInstance { &self, conn: &C, message: &str, - value: u128, + value: Balance, ) -> Result<()> { self.contract_exec_value::(conn, message, &[], value) .await @@ -160,7 +160,7 @@ impl ContractInstance { conn: &C, message: &str, args: &[S], - value: u128, + value: Balance, ) -> Result<()> { let data = self.encode(message, args)?; conn.call( diff --git a/aleph-client/src/lib.rs b/aleph-client/src/lib.rs index 51780c5fc5..9986b58dce 100644 --- a/aleph-client/src/lib.rs +++ b/aleph-client/src/lib.rs @@ -35,6 +35,7 @@ pub mod utility; /// Waiting for some events API. pub mod waiting; +pub use ::primitives::{Balance, BlockNumber}; pub use aleph_zero::api; pub use runtime_types::*; diff --git a/aleph-client/src/pallets/balances.rs b/aleph-client/src/pallets/balances.rs index cf757be5af..ffd4e44132 100644 --- a/aleph-client/src/pallets/balances.rs +++ b/aleph-client/src/pallets/balances.rs @@ -1,4 +1,3 @@ -use primitives::Balance; use subxt::{ext::sp_runtime::MultiAddress, tx::PolkadotExtrinsicParamsBuilder}; use crate::{ @@ -6,7 +5,7 @@ use crate::{ connections::TxInfo, pallet_balances::pallet::Call::transfer, pallets::utility::UtilityApi, - AccountId, BlockHash, + AccountId, Balance, BlockHash, Call::Balances, ConnectionApi, SignedConnectionApi, TxStatus, }; diff --git a/aleph-client/src/pallets/contract.rs b/aleph-client/src/pallets/contract.rs index cf24c640f5..235f44678f 100644 --- a/aleph-client/src/pallets/contract.rs +++ b/aleph-client/src/pallets/contract.rs @@ -1,11 +1,10 @@ use codec::{Compact, Encode}; use pallet_contracts_primitives::ContractExecResult; -use primitives::Balance; use subxt::{ext::sp_core::Bytes, rpc_params}; use crate::{ api, connections::TxInfo, pallet_contracts::wasm::OwnerInfo, sp_weights::weight_v2::Weight, - AccountId, BlockHash, ConnectionApi, SignedConnectionApi, TxStatus, + AccountId, Balance, BlockHash, ConnectionApi, SignedConnectionApi, TxStatus, }; /// Arguments to [`ContractRpc::call_and_get`]. @@ -45,7 +44,7 @@ pub trait ContractsUserApi { async fn upload_code( &self, code: Vec, - storage_limit: Option>, + storage_limit: Option>, status: TxStatus, ) -> anyhow::Result; @@ -56,7 +55,7 @@ pub trait ContractsUserApi { code_hash: BlockHash, balance: Balance, gas_limit: Weight, - storage_limit: Option>, + storage_limit: Option>, data: Vec, salt: Vec, status: TxStatus, @@ -69,7 +68,7 @@ pub trait ContractsUserApi { code: Vec, balance: Balance, gas_limit: Weight, - storage_limit: Option>, + storage_limit: Option>, data: Vec, salt: Vec, status: TxStatus, @@ -81,7 +80,7 @@ pub trait ContractsUserApi { destination: AccountId, balance: Balance, gas_limit: Weight, - storage_limit: Option>, + storage_limit: Option>, data: Vec, status: TxStatus, ) -> anyhow::Result; @@ -118,7 +117,7 @@ impl ContractsUserApi for S { async fn upload_code( &self, code: Vec, - storage_limit: Option>, + storage_limit: Option>, status: TxStatus, ) -> anyhow::Result { let tx = api::tx().contracts().upload_code(code, storage_limit); @@ -131,7 +130,7 @@ impl ContractsUserApi for S { code_hash: BlockHash, balance: Balance, gas_limit: Weight, - storage_limit: Option>, + storage_limit: Option>, data: Vec, salt: Vec, status: TxStatus, @@ -153,7 +152,7 @@ impl ContractsUserApi for S { code: Vec, balance: Balance, gas_limit: Weight, - storage_limit: Option>, + storage_limit: Option>, data: Vec, salt: Vec, status: TxStatus, @@ -175,7 +174,7 @@ impl ContractsUserApi for S { destination: AccountId, balance: Balance, gas_limit: Weight, - storage_limit: Option>, + storage_limit: Option>, data: Vec, status: TxStatus, ) -> anyhow::Result { diff --git a/aleph-client/src/pallets/staking.rs b/aleph-client/src/pallets/staking.rs index 0ba312e626..e35743191b 100644 --- a/aleph-client/src/pallets/staking.rs +++ b/aleph-client/src/pallets/staking.rs @@ -50,7 +50,7 @@ pub trait StakingApi { /// Returns [`eras_validator_reward`](https://paritytech.github.io/substrate/master/pallet_staking/struct.Pallet.html#method.eras_validator_reward) for a given era. /// * `era` - an era index /// * `at` - optional hash of a block to query state from - async fn get_payout_for_era(&self, era: EraIndex, at: Option) -> u128; + async fn get_payout_for_era(&self, era: EraIndex, at: Option) -> Balance; /// Returns [`eras_stakers`](https://paritytech.github.io/substrate/master/pallet_staking/struct.Pallet.html#method.eras_stakers) for a given era and account id. /// * `era` - an era index @@ -61,7 +61,7 @@ pub trait StakingApi { era: EraIndex, account_id: &AccountId, at: Option, - ) -> Exposure; + ) -> Exposure; /// Returns [`eras_reward_points`](https://paritytech.github.io/substrate/master/pallet_staking/struct.Pallet.html#method.eras_reward_points) for a given era. /// * `era` - an era index @@ -198,8 +198,8 @@ pub trait StakingSudoApi { /// API for [`set_staking_config`](https://paritytech.github.io/substrate/master/pallet_staking/struct.Pallet.html#method.set_staking_configs) call. async fn set_staking_config( &self, - minimal_nominator_bond: Option, - minimal_validator_bond: Option, + minimal_nominator_bond: Option, + minimal_validator_bond: Option, max_nominators_count: Option, max_validators_count: Option, status: TxStatus, @@ -267,7 +267,7 @@ impl StakingApi for C { self.get_storage_entry(&addrs, at).await } - async fn get_payout_for_era(&self, era: EraIndex, at: Option) -> u128 { + async fn get_payout_for_era(&self, era: EraIndex, at: Option) -> Balance { let addrs = api::storage().staking().eras_validator_reward(era); self.get_storage_entry(&addrs, at).await @@ -278,7 +278,7 @@ impl StakingApi for C { era: EraIndex, account_id: &AccountId, at: Option, - ) -> Exposure { + ) -> Exposure { let addrs = api::storage().staking().eras_stakers(era, account_id); self.get_storage_entry(&addrs, at).await @@ -392,8 +392,8 @@ impl StakingSudoApi for RootConnection { async fn set_staking_config( &self, - min_nominator_bond: Option, - min_validator_bond: Option, + min_nominator_bond: Option, + min_validator_bond: Option, max_nominator_count: Option, max_validator_count: Option, status: TxStatus, diff --git a/aleph-client/src/pallets/system.rs b/aleph-client/src/pallets/system.rs index 6166759b8c..546ea24a79 100644 --- a/aleph-client/src/pallets/system.rs +++ b/aleph-client/src/pallets/system.rs @@ -1,4 +1,3 @@ -use primitives::Balance; use subxt::ext::sp_runtime::Perbill as SPerbill; use crate::{ @@ -6,7 +5,7 @@ use crate::{ connections::TxInfo, frame_system::pallet::Call::{fill_block, set_code}, sp_arithmetic::per_things::Perbill, - AccountId, BlockHash, + AccountId, Balance, BlockHash, Call::System, ConnectionApi, RootConnection, SudoCall, TxStatus, }; diff --git a/aleph-client/src/pallets/vesting.rs b/aleph-client/src/pallets/vesting.rs index 6b3171ac55..daab5915b3 100644 --- a/aleph-client/src/pallets/vesting.rs +++ b/aleph-client/src/pallets/vesting.rs @@ -1,8 +1,9 @@ +use primitives::BlockNumber; use subxt::ext::sp_runtime::MultiAddress; use crate::{ - api, connections::TxInfo, pallet_vesting::vesting_info::VestingInfo, AccountId, BlockHash, - ConnectionApi, SignedConnectionApi, TxStatus, + api, connections::TxInfo, pallet_vesting::vesting_info::VestingInfo, AccountId, Balance, + BlockHash, ConnectionApi, SignedConnectionApi, TxStatus, }; /// Read only pallet vesting API. @@ -15,7 +16,7 @@ pub trait VestingApi { &self, who: AccountId, at: Option, - ) -> Vec>; + ) -> Vec>; } /// Pallet vesting api. @@ -31,7 +32,7 @@ pub trait VestingUserApi { async fn vested_transfer( &self, receiver: AccountId, - schedule: VestingInfo, + schedule: VestingInfo, status: TxStatus, ) -> anyhow::Result; @@ -50,7 +51,7 @@ impl VestingApi for C { &self, who: AccountId, at: Option, - ) -> Vec> { + ) -> Vec> { let addrs = api::storage().vesting().vesting(who); self.get_storage_entry(&addrs, at).await.0 @@ -74,7 +75,7 @@ impl VestingUserApi for S { async fn vested_transfer( &self, receiver: AccountId, - schedule: VestingInfo, + schedule: VestingInfo, status: TxStatus, ) -> anyhow::Result { let tx = api::tx() diff --git a/benches/payout-stakers/Cargo.lock b/benches/payout-stakers/Cargo.lock index 0c42c14b3d..daa01de0c2 100644 --- a/benches/payout-stakers/Cargo.lock +++ b/benches/payout-stakers/Cargo.lock @@ -49,7 +49,7 @@ dependencies = [ [[package]] name = "aleph_client" -version = "2.8.0" +version = "2.8.1" dependencies = [ "anyhow", "async-trait", diff --git a/benches/payout-stakers/src/main.rs b/benches/payout-stakers/src/main.rs index ba9a3ab003..b2a54766cf 100644 --- a/benches/payout-stakers/src/main.rs +++ b/benches/payout-stakers/src/main.rs @@ -7,8 +7,8 @@ use aleph_client::{ staking::{StakingApi, StakingApiExt, StakingUserApi}, }, waiting::{BlockStatus, WaitingExt}, - AccountId, ConnectionApi, KeyPair, RootConnection, SignedConnection, SignedConnectionApi, - TxStatus, + AccountId, Balance, ConnectionApi, KeyPair, RootConnection, SignedConnection, + SignedConnectionApi, TxStatus, }; use clap::{ArgGroup, Parser}; use futures::future::join_all; @@ -235,7 +235,7 @@ async fn nominate_validator( .chunks(BOND_CALL_BATCH_LIMIT) .map(|c| c.to_vec()) { - let stake = (rng.gen::() % 100) * TOKEN + MIN_NOMINATOR_BOND; + let stake = (rng.gen::() % 100) * TOKEN + MIN_NOMINATOR_BOND; connection .batch_bond(&chunk, stake, TxStatus::Submitted) .await diff --git a/bin/cliain/Cargo.lock b/bin/cliain/Cargo.lock index 959eb48e46..da53bb0948 100644 --- a/bin/cliain/Cargo.lock +++ b/bin/cliain/Cargo.lock @@ -49,7 +49,7 @@ dependencies = [ [[package]] name = "aleph_client" -version = "2.8.0" +version = "2.8.1" dependencies = [ "anyhow", "async-trait", diff --git a/bin/cliain/src/commands.rs b/bin/cliain/src/commands.rs index 1847a6f849..029f4a527f 100644 --- a/bin/cliain/src/commands.rs +++ b/bin/cliain/src/commands.rs @@ -3,9 +3,9 @@ use std::{ path::{Path, PathBuf}, }; -use aleph_client::{AccountId, TxStatus}; +use aleph_client::{AccountId, Balance, TxStatus}; use clap::{clap_derive::ValueEnum, Args, Subcommand}; -use primitives::{Balance, BlockNumber, CommitteeSeats, SessionIndex}; +use primitives::{BlockNumber, CommitteeSeats, SessionIndex}; use serde::{Deserialize, Serialize}; use sp_core::H256; @@ -13,13 +13,13 @@ use sp_core::H256; pub struct ContractOptions { /// balance to transfer from the call origin to the contract #[clap(long, default_value = "0")] - pub balance: u128, + pub balance: Balance, /// The gas limit enforced when executing the constructor #[clap(long, default_value = "1000000000")] pub gas_limit: u64, /// The maximum amount of balance that can be charged/reserved from the caller to pay for the storage consumed #[clap(long)] - pub storage_deposit_limit: Option, + pub storage_deposit_limit: Option, } #[derive(Debug, Clone, Args)] @@ -29,7 +29,7 @@ pub struct ContractUploadCode { pub wasm_path: PathBuf, /// The maximum amount of balance that can be charged/reserved from the caller to pay for the storage consumed #[clap(long)] - pub storage_deposit_limit: Option, + pub storage_deposit_limit: Option, } #[derive(Debug, Clone, Args)] diff --git a/bin/cliain/src/contracts.rs b/bin/cliain/src/contracts.rs index cb6b939dad..dddbb47364 100644 --- a/bin/cliain/src/contracts.rs +++ b/bin/cliain/src/contracts.rs @@ -9,7 +9,7 @@ use aleph_client::{ pallets::contract::{ContractsApi, ContractsUserApi}, sp_weights::weight_v2::Weight, waiting::{AlephWaiting, BlockStatus}, - AccountId, Connection, SignedConnection, SignedConnectionApi, TxStatus, + AccountId, Balance, Connection, SignedConnection, SignedConnectionApi, TxStatus, }; use codec::{Compact, Decode}; use contract_metadata::ContractMetadata; @@ -29,7 +29,7 @@ pub struct InstantiateWithCodeReturnValue { pub code_hash: H256, } -fn storage_deposit(storage_deposit_limit: Option) -> Option> { +fn storage_deposit(storage_deposit_limit: Option) -> Option> { storage_deposit_limit.map(Compact) } diff --git a/bin/cliain/src/staking.rs b/bin/cliain/src/staking.rs index 0a5d0186df..f5670f135d 100644 --- a/bin/cliain/src/staking.rs +++ b/bin/cliain/src/staking.rs @@ -1,6 +1,6 @@ use aleph_client::{ pallets::staking::{StakingSudoApi, StakingUserApi}, - AccountId, RootConnection, SignedConnection, TxStatus, + AccountId, Balance, RootConnection, SignedConnection, TxStatus, }; use primitives::TOKEN; use subxt::ext::sp_core::crypto::Ss58Codec; @@ -13,7 +13,7 @@ pub async fn bond( let controller_account = AccountId::from_ss58check(&controller_account).expect("Address is valid"); - let initial_stake = initial_stake_in_tokens as u128 * TOKEN; + let initial_stake = initial_stake_in_tokens as Balance * TOKEN; stash_connection .bond(initial_stake, controller_account, TxStatus::Finalized) .await @@ -44,8 +44,8 @@ pub async fn set_staking_limits( ) { root_connection .set_staking_config( - Some(minimal_nominator_stake_tokens as u128 * TOKEN), - Some(minimal_validator_stake_tokens as u128 * TOKEN), + Some(minimal_nominator_stake_tokens as Balance * TOKEN), + Some(minimal_validator_stake_tokens as Balance * TOKEN), max_nominators_count, max_validators_count, TxStatus::Finalized, diff --git a/bin/cliain/src/transfer.rs b/bin/cliain/src/transfer.rs index 8ca1c92adf..9b0d607b19 100644 --- a/bin/cliain/src/transfer.rs +++ b/bin/cliain/src/transfer.rs @@ -1,4 +1,6 @@ -use aleph_client::{pallets::balances::BalanceUserApi, AccountId, SignedConnection, TxStatus}; +use aleph_client::{ + pallets::balances::BalanceUserApi, AccountId, Balance, SignedConnection, TxStatus, +}; use primitives::TOKEN; use subxt::ext::sp_core::crypto::Ss58Codec; @@ -7,7 +9,7 @@ pub async fn transfer(connection: SignedConnection, amount_in_tokens: u64, to_ac connection .transfer( to_account, - amount_in_tokens as u128 * TOKEN, + amount_in_tokens as Balance * TOKEN, TxStatus::Finalized, ) .await diff --git a/bin/cliain/src/vesting.rs b/bin/cliain/src/vesting.rs index 648e72be82..a39a563cc5 100644 --- a/bin/cliain/src/vesting.rs +++ b/bin/cliain/src/vesting.rs @@ -40,7 +40,7 @@ pub async fn vested_transfer( ) { let receiver = account_from_keypair(keypair_from_string(target_seed.as_str()).signer()); let schedule = VestingInfo { - locked: amount_in_tokens as u128 * TOKEN, + locked: amount_in_tokens as Balance * TOKEN, per_block, starting_block, }; diff --git a/e2e-tests/Cargo.lock b/e2e-tests/Cargo.lock index 2f89f24521..1f43006247 100644 --- a/e2e-tests/Cargo.lock +++ b/e2e-tests/Cargo.lock @@ -78,7 +78,7 @@ dependencies = [ [[package]] name = "aleph_client" -version = "2.8.0" +version = "2.8.1" dependencies = [ "anyhow", "async-trait", diff --git a/flooder/Cargo.lock b/flooder/Cargo.lock index 531c491c17..f4d812d32b 100644 --- a/flooder/Cargo.lock +++ b/flooder/Cargo.lock @@ -49,7 +49,7 @@ dependencies = [ [[package]] name = "aleph_client" -version = "2.8.0" +version = "2.8.1" dependencies = [ "anyhow", "async-trait", diff --git a/flooder/src/main.rs b/flooder/src/main.rs index 2a44a9c913..b616610597 100644 --- a/flooder/src/main.rs +++ b/flooder/src/main.rs @@ -2,7 +2,7 @@ use std::time::Duration; use aleph_client::{ account_from_keypair, pallets::balances::BalanceUserApi, raw_keypair_from_string, AccountId, - KeyPair, SignedConnection, SignedConnectionApi, TxStatus, + Balance, KeyPair, SignedConnection, SignedConnectionApi, TxStatus, }; use clap::Parser; use config::Config; @@ -16,7 +16,7 @@ mod config; async fn flood( connections: Vec, dest: AccountId, - transfer_amount: u128, + transfer_amount: Balance, tx_count: u64, rate_limiting: Option<(u64, u64)>, status: TxStatus, @@ -65,7 +65,7 @@ async fn initialize_n_accounts String>( connection: SignedConnection, n: u32, node: F, - account_balance: u128, + account_balance: Balance, skip: bool, ) -> Vec { let mut connections = vec![]; From 63254b1aaa826b39985b1eaa97e8692d69fe8ef0 Mon Sep 17 00:00:00 2001 From: kostekIV <27210860+kostekIV@users.noreply.github.com> Date: Thu, 19 Jan 2023 08:57:22 +0100 Subject: [PATCH 094/212] A0-1845: Authorities api (#870) --- .github/workflows/e2e-tests-main-devnet.yml | 3 ++ aleph-client/Cargo.lock | 2 +- aleph-client/Cargo.toml | 2 +- aleph-client/src/aleph_zero.rs | 27 +++++++++-- bin/runtime/src/lib.rs | 28 +++++++---- pallets/aleph/src/lib.rs | 51 +++++++++++++++------ pallets/aleph/src/mock.rs | 1 + pallets/aleph/src/tests.rs | 25 +++++++--- pallets/aleph/src/traits.rs | 36 +++++++++++++-- 9 files changed, 138 insertions(+), 37 deletions(-) diff --git a/.github/workflows/e2e-tests-main-devnet.yml b/.github/workflows/e2e-tests-main-devnet.yml index 492b585c1f..f8bed73253 100644 --- a/.github/workflows/e2e-tests-main-devnet.yml +++ b/.github/workflows/e2e-tests-main-devnet.yml @@ -188,6 +188,9 @@ jobs: run-aleph-client-subxt-codegen-check: needs: [build-test-docker] name: Checks if runtime file in aleph-client is up-to-date + # disabling this check as it causes troubles + # this should be reworked to sth like https://github.com/paritytech/subxt/blob/master/examples/examples/metadata_compatibility.rs + if: false runs-on: ubuntu-20.04 steps: - name: Checkout source code diff --git a/aleph-client/Cargo.lock b/aleph-client/Cargo.lock index 396e04014d..dea6195a10 100644 --- a/aleph-client/Cargo.lock +++ b/aleph-client/Cargo.lock @@ -49,7 +49,7 @@ dependencies = [ [[package]] name = "aleph_client" -version = "2.8.1" +version = "2.9.0" dependencies = [ "anyhow", "async-trait", diff --git a/aleph-client/Cargo.toml b/aleph-client/Cargo.toml index 37d13f8769..1f254c8e86 100644 --- a/aleph-client/Cargo.toml +++ b/aleph-client/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "aleph_client" # TODO bump major version when API stablize -version = "2.8.1" +version = "2.9.0" edition = "2021" license = "Apache 2.0" diff --git a/aleph-client/src/aleph_zero.rs b/aleph-client/src/aleph_zero.rs index c3d5c0f443..2428e75225 100644 --- a/aleph-client/src/aleph_zero.rs +++ b/aleph-client/src/aleph_zero.rs @@ -6338,6 +6338,27 @@ pub mod api { ], ) } + pub fn next_authorities( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + ::std::vec::Vec, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Aleph", + "NextAuthorities", + vec![], + [ + 241u8, 145u8, 255u8, 235u8, 191u8, 220u8, 57u8, 89u8, 8u8, 134u8, 72u8, + 193u8, 247u8, 37u8, 54u8, 201u8, 136u8, 32u8, 11u8, 199u8, 134u8, + 207u8, 154u8, 107u8, 71u8, 121u8, 245u8, 153u8, 9u8, 33u8, 70u8, 3u8, + ], + ) + } pub fn emergency_finalizer( &self, ) -> ::subxt::storage::address::StaticStorageAddress< @@ -19532,9 +19553,9 @@ pub mod api { let runtime_metadata_hash = client.metadata().metadata_hash(&PALLETS); if runtime_metadata_hash != [ - 10u8, 121u8, 157u8, 11u8, 147u8, 107u8, 235u8, 73u8, 90u8, 254u8, 82u8, 183u8, - 112u8, 64u8, 213u8, 99u8, 23u8, 17u8, 10u8, 91u8, 124u8, 231u8, 209u8, 172u8, 59u8, - 160u8, 15u8, 142u8, 149u8, 200u8, 95u8, 164u8, + 51u8, 153u8, 218u8, 203u8, 158u8, 62u8, 141u8, 96u8, 177u8, 177u8, 12u8, 204u8, + 220u8, 53u8, 42u8, 155u8, 22u8, 96u8, 238u8, 212u8, 98u8, 225u8, 39u8, 241u8, 52u8, + 28u8, 166u8, 99u8, 14u8, 192u8, 65u8, 67u8, ] { Err(::subxt::error::MetadataError::IncompatibleMetadata) diff --git a/bin/runtime/src/lib.rs b/bin/runtime/src/lib.rs index 679c9fa354..4231ea0867 100644 --- a/bin/runtime/src/lib.rs +++ b/bin/runtime/src/lib.rs @@ -47,7 +47,7 @@ use sp_runtime::{ OpaqueKeys, Verify, }, transaction_validity::{TransactionSource, TransactionValidity}, - ApplyExtrinsicResult, FixedU128, MultiSignature, RuntimeAppPublic, + ApplyExtrinsicResult, FixedU128, MultiSignature, }; pub use sp_runtime::{FixedPointNumber, Perbill, Permill}; use sp_staking::EraIndex; @@ -104,7 +104,7 @@ pub const VERSION: RuntimeVersion = RuntimeVersion { spec_name: create_runtime_str!("aleph-node"), impl_name: create_runtime_str!("aleph-node"), authoring_version: 1, - spec_version: 45, + spec_version: 46, impl_version: 1, apis: RUNTIME_API_VERSIONS, transaction_version: 14, @@ -316,6 +316,7 @@ impl pallet_aleph::Config for Runtime { type RuntimeEvent = RuntimeEvent; type SessionInfoProvider = Session; type SessionManager = Elections; + type NextSessionAuthorityProvider = Session; } impl_opaque_keys! { @@ -372,13 +373,17 @@ parameter_types! { } use sp_runtime::traits::Convert; + pub struct BalanceToU256; + impl Convert for BalanceToU256 { fn convert(balance: Balance) -> sp_core::U256 { sp_core::U256::from(balance) } } + pub struct U256ToBalance; + impl Convert for U256ToBalance { fn convert(n: sp_core::U256) -> Balance { n.try_into().unwrap_or(Balance::max_value()) @@ -423,6 +428,7 @@ impl pallet_staking::EraPayout for UniformEraPayout { type SubstrateStakingWeights = pallet_staking::weights::SubstrateWeight; pub struct PayoutStakersDecreasedWeightInfo; + impl pallet_staking::WeightInfo for PayoutStakersDecreasedWeightInfo { // To make possible to change nominators per validator we need to decrease weight for payout_stakers fn payout_stakers_alive_staked(n: u32) -> Weight { @@ -493,6 +499,7 @@ impl pallet_staking::WeightInfo for PayoutStakersDecreasedWeightInfo { } pub struct StakingBenchmarkingConfig; + impl pallet_staking::BenchmarkingConfig for StakingBenchmarkingConfig { type MaxValidators = ConstU32<1000>; type MaxNominators = ConstU32<1000>; @@ -609,6 +616,7 @@ parameter_types! { } pub struct TreasuryGovernance; + impl SortedMembers for TreasuryGovernance { fn sorted_members() -> Vec { pallet_sudo::Pallet::::key().into_iter().collect() @@ -884,10 +892,12 @@ impl_runtime_apis! { } fn next_session_authorities() -> Result, AlephApiError> { - Session::queued_keys() - .iter() - .map(|(_, key)| key.get(AlephId::ID).ok_or(AlephApiError::DecodeKey)) - .collect::, AlephApiError>>() + let next_authorities = Aleph::next_authorities(); + if next_authorities.is_empty() { + return Err(AlephApiError::DecodeKey) + } + + Ok(next_authorities) } fn authority_data() -> SessionAuthorityData { @@ -895,10 +905,8 @@ impl_runtime_apis! { } fn next_session_authority_data() -> Result { - Ok(SessionAuthorityData::new(Session::queued_keys() - .iter() - .map(|(_, key)| key.get(AlephId::ID).ok_or(AlephApiError::DecodeKey)) - .collect::, AlephApiError>>()?, + Ok(SessionAuthorityData::new( + Self::next_session_authorities()?, Aleph::queued_emergency_finalizer(), )) } diff --git a/pallets/aleph/src/lib.rs b/pallets/aleph/src/lib.rs index 93ef3b2c5a..b3301607d2 100644 --- a/pallets/aleph/src/lib.rs +++ b/pallets/aleph/src/lib.rs @@ -50,18 +50,19 @@ pub mod pallet { use pallets_support::StorageMigration; use super::*; - use crate::traits::SessionInfoProvider; + use crate::traits::{NextSessionAuthorityProvider, SessionInfoProvider}; #[pallet::config] pub trait Config: frame_system::Config { type AuthorityId: Member + Parameter + RuntimeAppPublic + MaybeSerializeDeserialize; type RuntimeEvent: From> + IsType<::RuntimeEvent>; - type SessionInfoProvider: SessionInfoProvider; + type SessionInfoProvider: SessionInfoProvider; type SessionManager: SessionManager<::AccountId>; + type NextSessionAuthorityProvider: NextSessionAuthorityProvider; } #[pallet::event] - #[pallet::generate_deposit(pub(super) fn deposit_event)] + #[pallet::generate_deposit(pub (super) fn deposit_event)] pub enum Event { ChangeEmergencyFinalizer(T::AuthorityId), ScheduleFinalityVersionChange(VersionChange), @@ -105,10 +106,21 @@ pub mod pallet { DEFAULT_FINALITY_VERSION } + /// Default value for `NextAuthorities` storage. + #[pallet::type_value] + pub(crate) fn DefaultNextAuthorities() -> Vec { + T::NextSessionAuthorityProvider::next_authorities() + } + #[pallet::storage] #[pallet::getter(fn authorities)] pub(super) type Authorities = StorageValue<_, Vec, ValueQuery>; + #[pallet::storage] + #[pallet::getter(fn next_authorities)] + pub(super) type NextAuthorities = + StorageValue<_, Vec, ValueQuery, DefaultNextAuthorities>; + #[pallet::storage] #[pallet::getter(fn emergency_finalizer)] pub(super) type EmergencyFinalizer = StorageValue<_, T::AuthorityId, OptionQuery>; @@ -134,18 +146,29 @@ pub mod pallet { StorageValue<_, VersionChange, OptionQuery>; impl Pallet { - pub(crate) fn initialize_authorities(authorities: &[T::AuthorityId]) { + pub(crate) fn initialize_authorities( + authorities: &[T::AuthorityId], + next_authorities: &[T::AuthorityId], + ) { if !authorities.is_empty() { - assert!( - >::get().is_empty(), - "Authorities are already initialized!" - ); - >::put(authorities); + if !>::get().is_empty() { + log::error!(target: "pallet_aleph","Authorities are already initialized!"); + } else { + >::put(authorities); + } + } + if !next_authorities.is_empty() { + // Storage NextAuthorities has default value so should never be empty. + >::put(next_authorities); } } - pub(crate) fn update_authorities(authorities: &[T::AuthorityId]) { + pub(crate) fn update_authorities( + authorities: &[T::AuthorityId], + next_authorities: &[T::AuthorityId], + ) { >::put(authorities); + >::put(next_authorities); } pub(crate) fn update_emergency_finalizer() { @@ -262,10 +285,11 @@ pub mod pallet { T::AccountId: 'a, { let (_, authorities): (Vec<_>, Vec<_>) = validators.unzip(); - Self::initialize_authorities(authorities.as_slice()); + // it is guaranteed that the first validator set will also be used in the next session + Self::initialize_authorities(authorities.as_slice(), authorities.as_slice()); } - fn on_new_session<'a, I: 'a>(changed: bool, validators: I, _queued_validators: I) + fn on_new_session<'a, I: 'a>(changed: bool, validators: I, queued_validators: I) where I: Iterator, T::AccountId: 'a, @@ -273,7 +297,8 @@ pub mod pallet { Self::update_emergency_finalizer(); if changed { let (_, authorities): (Vec<_>, Vec<_>) = validators.unzip(); - Self::update_authorities(authorities.as_slice()); + let (_, next_authorities): (Vec<_>, Vec<_>) = queued_validators.unzip(); + Self::update_authorities(authorities.as_slice(), next_authorities.as_slice()); } } diff --git a/pallets/aleph/src/mock.rs b/pallets/aleph/src/mock.rs index 2b1306f959..6eb744576c 100644 --- a/pallets/aleph/src/mock.rs +++ b/pallets/aleph/src/mock.rs @@ -135,6 +135,7 @@ impl Config for Test { type RuntimeEvent = RuntimeEvent; type SessionInfoProvider = Session; type SessionManager = (); + type NextSessionAuthorityProvider = Session; } pub fn to_authority(id: &u64) -> AuthorityId { diff --git a/pallets/aleph/src/tests.rs b/pallets/aleph/src/tests.rs index 74eb4b1aca..d3ee97827a 100644 --- a/pallets/aleph/src/tests.rs +++ b/pallets/aleph/src/tests.rs @@ -53,9 +53,12 @@ fn test_update_authorities() { initialize_session(); run_session(1); - Aleph::update_authorities(to_authorities(&[2, 3, 4]).as_slice()); + let authorities = to_authorities(&[2, 3, 4]); + + Aleph::update_authorities(authorities.as_slice(), authorities.as_slice()); assert_eq!(Aleph::authorities(), to_authorities(&[2, 3, 4])); + assert_eq!(Aleph::next_authorities(), to_authorities(&[2, 3, 4])); }); } @@ -63,14 +66,18 @@ fn test_update_authorities() { fn test_initialize_authorities() { new_test_ext(&[(1u64, 1u64), (2u64, 2u64)]).execute_with(|| { assert_eq!(Aleph::authorities(), to_authorities(&[1, 2])); + assert_eq!(Aleph::next_authorities(), to_authorities(&[1, 2])); }); } #[test] -#[should_panic] fn fails_to_initialize_again_authorities() { new_test_ext(&[(1u64, 1u64), (2u64, 2u64)]).execute_with(|| { - Aleph::initialize_authorities(&to_authorities(&[1, 2, 3])); + let authorities = to_authorities(&[1, 2, 3]); + Aleph::initialize_authorities(&authorities, &authorities); + + // should not update storage + assert_eq!(Aleph::authorities(), to_authorities(&[1, 2])); }); } @@ -81,15 +88,20 @@ fn test_current_authorities() { run_session(1); - Aleph::update_authorities(to_authorities(&[2, 3, 4]).as_slice()); + let authorities = to_authorities(&[2, 3, 4]); + + Aleph::update_authorities(&authorities, &authorities); assert_eq!(Aleph::authorities(), to_authorities(&[2, 3, 4])); + assert_eq!(Aleph::next_authorities(), to_authorities(&[2, 3, 4])); run_session(2); - Aleph::update_authorities(to_authorities(&[1, 2, 3]).as_slice()); + let authorities = to_authorities(&[1, 2, 3]); + Aleph::update_authorities(&authorities, &authorities); assert_eq!(Aleph::authorities(), to_authorities(&[1, 2, 3])); + assert_eq!(Aleph::next_authorities(), to_authorities(&[1, 2, 3])); }) } @@ -100,9 +112,10 @@ fn test_session_rotation() { run_session(1); let new_validators = new_session_validators(&[3u64, 4u64]); - let queued_validators = new_session_validators(&[]); + let queued_validators = new_session_validators(&[5, 6]); Aleph::on_new_session(true, new_validators, queued_validators); assert_eq!(Aleph::authorities(), to_authorities(&[3, 4])); + assert_eq!(Aleph::next_authorities(), to_authorities(&[5, 6])); }) } diff --git a/pallets/aleph/src/traits.rs b/pallets/aleph/src/traits.rs index 92de3efd4b..58f4fb7da5 100644 --- a/pallets/aleph/src/traits.rs +++ b/pallets/aleph/src/traits.rs @@ -1,11 +1,24 @@ -use primitives::SessionIndex; +use frame_support::{ + log, + sp_runtime::{traits::OpaqueKeys, RuntimeAppPublic}, +}; +use primitives::{AuthorityId, SessionIndex}; +use sp_std::prelude::*; + +use crate::Config; /// Information provider from `pallet_session`. Loose pallet coupling via traits. -pub trait SessionInfoProvider { +pub trait SessionInfoProvider { fn current_session() -> SessionIndex; } -impl SessionInfoProvider for pallet_session::Pallet +/// Authorities provider, used only as default value in case of missing this information in our pallet. This can +/// happen for the session after runtime upgraded. +pub trait NextSessionAuthorityProvider { + fn next_authorities() -> Vec; +} + +impl SessionInfoProvider for pallet_session::Pallet where T: pallet_session::Config, { @@ -13,3 +26,20 @@ where pallet_session::CurrentIndex::::get() } } + +impl NextSessionAuthorityProvider for pallet_session::Pallet +where + T: Config + pallet_session::Config, +{ + fn next_authorities() -> Vec { + let next: Option> = pallet_session::Pallet::::queued_keys() + .iter() + .map(|(_, key)| key.get(AuthorityId::ID)) + .collect(); + + next.unwrap_or_else(|| { + log::error!(target: "pallet_aleph", "Missing next session keys"); + vec![] + }) + } +} From f113623f44bb003d4bb5aa76a733b42a8246c675 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Piotr=20Miko=C5=82ajczyk?= Date: Thu, 19 Jan 2023 10:16:31 +0100 Subject: [PATCH 095/212] `aleph-client`: Cast `ConvertibleValue` to a sequence (#875) * Create ConvertibleValue from sequence * Support arrays * Simplify results --- aleph-client/Cargo.lock | 2 +- aleph-client/Cargo.toml | 2 +- .../src/contract/convertible_value.rs | 178 ++++++++++++++---- benches/payout-stakers/Cargo.lock | 2 +- bin/cliain/Cargo.lock | 2 +- e2e-tests/Cargo.lock | 2 +- flooder/Cargo.lock | 2 +- 7 files changed, 152 insertions(+), 38 deletions(-) diff --git a/aleph-client/Cargo.lock b/aleph-client/Cargo.lock index dea6195a10..db361dd68b 100644 --- a/aleph-client/Cargo.lock +++ b/aleph-client/Cargo.lock @@ -49,7 +49,7 @@ dependencies = [ [[package]] name = "aleph_client" -version = "2.9.0" +version = "2.9.1" dependencies = [ "anyhow", "async-trait", diff --git a/aleph-client/Cargo.toml b/aleph-client/Cargo.toml index 1f254c8e86..9e41fc6f28 100644 --- a/aleph-client/Cargo.toml +++ b/aleph-client/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "aleph_client" # TODO bump major version when API stablize -version = "2.9.0" +version = "2.9.1" edition = "2021" license = "Apache 2.0" diff --git a/aleph-client/src/contract/convertible_value.rs b/aleph-client/src/contract/convertible_value.rs index 18397e3d47..fac6cda891 100644 --- a/aleph-client/src/contract/convertible_value.rs +++ b/aleph-client/src/contract/convertible_value.rs @@ -40,43 +40,36 @@ impl Deref for ConvertibleValue { } } -impl TryFrom for bool { - type Error = anyhow::Error; - - fn try_from(value: ConvertibleValue) -> Result { - match value.0 { - Value::Bool(value) => Ok(value), - _ => bail!("Expected {:?} to be a boolean", value.0), - } - } -} - -impl TryFrom for u128 { - type Error = anyhow::Error; +macro_rules! try_from_flat_value { + ($ty: ty, $variant: ident, $desc: literal) => { + impl TryFrom for $ty { + type Error = anyhow::Error; - fn try_from(value: ConvertibleValue) -> Result { - match value.0 { - Value::UInt(value) => Ok(value), - _ => bail!("Expected {:?} to be an integer", value.0), + fn try_from(value: ConvertibleValue) -> anyhow::Result<$ty> { + match value.0 { + Value::$variant(value) => Ok(value.try_into()?), + _ => anyhow::bail!("Expected {:?} to be {}", value, $desc), + } + } } - } + }; } -impl TryFrom for u32 { - type Error = anyhow::Error; - - fn try_from(value: ConvertibleValue) -> Result { - match value.0 { - Value::UInt(value) => Ok(value.try_into()?), - _ => bail!("Expected {:?} to be an integer", value.0), - } - } -} +try_from_flat_value!(bool, Bool, "boolean"); +try_from_flat_value!(char, Char, "char"); +try_from_flat_value!(u16, UInt, "unsigned integer"); +try_from_flat_value!(u32, UInt, "unsigned integer"); +try_from_flat_value!(u64, UInt, "unsigned integer"); +try_from_flat_value!(u128, UInt, "unsigned integer"); +try_from_flat_value!(i16, Int, "signed integer"); +try_from_flat_value!(i32, Int, "signed integer"); +try_from_flat_value!(i64, Int, "signed integer"); +try_from_flat_value!(i128, Int, "signed integer"); impl TryFrom for AccountId { type Error = anyhow::Error; - fn try_from(value: ConvertibleValue) -> Result { + fn try_from(value: ConvertibleValue) -> Result { match value.0 { Value::Literal(value) => { AccountId::from_str(&value).map_err(|_| anyhow!("Invalid account id")) @@ -92,7 +85,7 @@ where { type Error = anyhow::Error; - fn try_from(value: ConvertibleValue) -> Result, Self::Error> { + fn try_from(value: ConvertibleValue) -> Result> { if let Value::Tuple(tuple) = &value.0 { match tuple.ident() { Some(x) if x == "Ok" => { @@ -122,7 +115,7 @@ where impl TryFrom for String { type Error = anyhow::Error; - fn try_from(value: ConvertibleValue) -> std::result::Result { + fn try_from(value: ConvertibleValue) -> Result { let seq = match value.0 { Value::Seq(seq) => seq, _ => bail!("Failed parsing `ConvertibleValue` to `String`. Expected `Seq(Value::UInt)` but instead got: {:?}", value), @@ -157,7 +150,7 @@ where { type Error = anyhow::Error; - fn try_from(value: ConvertibleValue) -> std::result::Result, Self::Error> { + fn try_from(value: ConvertibleValue) -> Result> { let tuple = match &value.0 { Value::Tuple(tuple) => tuple, _ => bail!("Expected {:?} to be a Some(_) or None Tuple.", &value), @@ -193,3 +186,124 @@ where } } } + +impl> TryFrom + for Vec +{ + type Error = anyhow::Error; + + fn try_from(value: ConvertibleValue) -> Result { + let seq = match value.0 { + Value::Seq(seq) => seq, + _ => bail!("Failed parsing `ConvertibleValue` to `Vec`. Expected `Seq(_)` but instead got: {:?}", value), + }; + + let mut result = vec![]; + for element in seq.elems() { + result.push(ConvertibleValue(element.clone()).try_into()?); + } + + Ok(result) + } +} + +impl + Debug> + TryFrom for [Elem; N] +{ + type Error = anyhow::Error; + + fn try_from(value: ConvertibleValue) -> Result { + Vec::::try_from(value)? + .try_into() + .map_err(|e| anyhow!("Failed to convert vector to an array: {e:?}")) + } +} + +#[cfg(test)] +mod tests { + use contract_transcode::Value::{Bool, Char, Int, Seq, UInt}; + + use crate::contract::ConvertibleValue; + + #[test] + fn converts_boolean() { + let cast: bool = ConvertibleValue(Bool(true)) + .try_into() + .expect("Should cast successfully"); + assert_eq!(true, cast); + } + + #[test] + fn converts_char() { + let cast: char = ConvertibleValue(Char('x')) + .try_into() + .expect("Should cast successfully"); + assert_eq!('x', cast); + } + + #[test] + fn converts_biguint() { + let long_uint = 41414141414141414141414141414141414141u128; + let cast: u128 = ConvertibleValue(UInt(long_uint)) + .try_into() + .expect("Should cast successfully"); + assert_eq!(long_uint, cast); + } + + #[test] + fn converts_uint() { + let cast: u32 = ConvertibleValue(UInt(41)) + .try_into() + .expect("Should cast successfully"); + assert_eq!(41, cast); + } + + #[test] + fn converts_bigint() { + let long_int = -41414141414141414141414141414141414141i128; + let cast: i128 = ConvertibleValue(Int(long_int)) + .try_into() + .expect("Should cast successfully"); + assert_eq!(long_int, cast); + } + + #[test] + fn converts_int() { + let cast: i32 = ConvertibleValue(Int(-41)) + .try_into() + .expect("Should cast successfully"); + assert_eq!(-41, cast); + } + + #[test] + fn converts_integer_array() { + let cv = ConvertibleValue(Seq(vec![UInt(4), UInt(1)].into())); + let cast: [u32; 2] = cv.try_into().expect("Should cast successfully"); + assert_eq!([4u32, 1u32], cast); + } + + #[test] + fn converts_integer_sequence() { + let cv = ConvertibleValue(Seq(vec![UInt(4), UInt(1)].into())); + let cast: Vec = cv.try_into().expect("Should cast successfully"); + assert_eq!(vec![4u32, 1u32], cast); + } + + #[test] + fn converts_nested_sequence() { + let words = vec![ + vec!['s', 'u', 'r', 'f', 'i', 'n'], + vec![], + vec!['b', 'i', 'r', 'd'], + ]; + let encoded_words = words + .iter() + .map(|word| Seq(word.iter().cloned().map(Char).collect::>().into())) + .collect::>(); + + let cv = ConvertibleValue(Seq(encoded_words.into())); + let cast: Vec> = cv.try_into().expect("Should cast successfully"); + + assert_eq!(words, cast); + } +} diff --git a/benches/payout-stakers/Cargo.lock b/benches/payout-stakers/Cargo.lock index daa01de0c2..8687fedfed 100644 --- a/benches/payout-stakers/Cargo.lock +++ b/benches/payout-stakers/Cargo.lock @@ -49,7 +49,7 @@ dependencies = [ [[package]] name = "aleph_client" -version = "2.8.1" +version = "2.9.1" dependencies = [ "anyhow", "async-trait", diff --git a/bin/cliain/Cargo.lock b/bin/cliain/Cargo.lock index da53bb0948..07139815d1 100644 --- a/bin/cliain/Cargo.lock +++ b/bin/cliain/Cargo.lock @@ -49,7 +49,7 @@ dependencies = [ [[package]] name = "aleph_client" -version = "2.8.1" +version = "2.9.1" dependencies = [ "anyhow", "async-trait", diff --git a/e2e-tests/Cargo.lock b/e2e-tests/Cargo.lock index 1f43006247..26bc1b971e 100644 --- a/e2e-tests/Cargo.lock +++ b/e2e-tests/Cargo.lock @@ -78,7 +78,7 @@ dependencies = [ [[package]] name = "aleph_client" -version = "2.8.1" +version = "2.9.1" dependencies = [ "anyhow", "async-trait", diff --git a/flooder/Cargo.lock b/flooder/Cargo.lock index f4d812d32b..a0c8937379 100644 --- a/flooder/Cargo.lock +++ b/flooder/Cargo.lock @@ -49,7 +49,7 @@ dependencies = [ [[package]] name = "aleph_client" -version = "2.8.1" +version = "2.9.1" dependencies = [ "anyhow", "async-trait", From 725fd9800c768f6fde88654ab5beb5f0c2bd8eaa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maciej=20Nem=C5=9B?= Date: Thu, 19 Jan 2023 11:08:42 +0100 Subject: [PATCH 096/212] A0-1820: implement substrate specific verifier for sync protocol (#864) * Small refactor to prepare for verifier * move justification verification to sync folder * implement SessionVerifier cache * implement verifier for VerifierCache --- finality-aleph/src/crypto.rs | 2 +- finality-aleph/src/nodes/mod.rs | 67 +--- finality-aleph/src/party/impls.rs | 9 +- finality-aleph/src/party/mocks.rs | 15 +- finality-aleph/src/session.rs | 39 +- finality-aleph/src/session_map.rs | 18 +- finality-aleph/src/sync/mod.rs | 4 +- finality-aleph/src/sync/substrate/mod.rs | 4 + .../src/sync/substrate/verification/cache.rs | 358 ++++++++++++++++++ .../src/sync/substrate/verification/mod.rs | 114 ++++++ .../sync/substrate/verification/verifier.rs | 90 +++++ .../src/testing/mocks/session_info.rs | 7 +- 12 files changed, 627 insertions(+), 100 deletions(-) create mode 100644 finality-aleph/src/sync/substrate/verification/cache.rs create mode 100644 finality-aleph/src/sync/substrate/verification/mod.rs create mode 100644 finality-aleph/src/sync/substrate/verification/verifier.rs diff --git a/finality-aleph/src/crypto.rs b/finality-aleph/src/crypto.rs index 4d24141c7e..dd6a5d3b06 100644 --- a/finality-aleph/src/crypto.rs +++ b/finality-aleph/src/crypto.rs @@ -102,7 +102,7 @@ pub fn verify(authority: &AuthorityId, message: &[u8], signature: &Signature) -> /// Holds the public authority keys for a session allowing for verification of messages from that /// session. -#[derive(Clone)] +#[derive(PartialEq, Clone, Debug)] pub struct AuthorityVerifier { authorities: Vec, } diff --git a/finality-aleph/src/nodes/mod.rs b/finality-aleph/src/nodes/mod.rs index 91e063284d..b377ab4a97 100644 --- a/finality-aleph/src/nodes/mod.rs +++ b/finality-aleph/src/nodes/mod.rs @@ -3,30 +3,23 @@ mod validator_node; use std::{future::Future, sync::Arc}; -use aleph_primitives::{AuthorityId, SessionAuthorityData}; -use codec::Encode; -use log::warn; pub use nonvalidator_node::run_nonvalidator_node; use sc_client_api::Backend; use sc_network::NetworkService; use sc_network_common::ExHashT; -use sp_runtime::{ - traits::{Block, Header, NumberFor}, - RuntimeAppPublic, -}; +use sp_runtime::traits::{Block, Header, NumberFor}; pub use validator_node::run_validator_node; use crate::{ - crypto::AuthorityVerifier, finalization::AlephFinalizer, justification::{ - AlephJustification, JustificationHandler, JustificationRequestSchedulerImpl, SessionInfo, - SessionInfoProvider, Verifier, + JustificationHandler, JustificationRequestSchedulerImpl, SessionInfo, SessionInfoProvider, }, last_block_of_session, mpsc, mpsc::UnboundedSender, session_id_from_block_num, session_map::ReadOnlySessionMap, + sync::SessionVerifier, BlockchainBackend, JustificationNotification, Metrics, MillisecsPerBlock, SessionPeriod, }; @@ -38,52 +31,6 @@ pub mod testing { /// Max amount of tries we can not update a finalized block number before we will clear requests queue const MAX_ATTEMPTS: u32 = 5; -struct JustificationVerifier { - authority_verifier: AuthorityVerifier, - emergency_signer: Option, -} - -impl From for JustificationVerifier { - fn from(authority_data: SessionAuthorityData) -> Self { - JustificationVerifier { - authority_verifier: AuthorityVerifier::new(authority_data.authorities().to_vec()), - emergency_signer: authority_data.emergency_finalizer().clone(), - } - } -} - -impl Verifier for JustificationVerifier { - fn verify(&self, justification: &AlephJustification, hash: B::Hash) -> bool { - use AlephJustification::*; - let encoded_hash = hash.encode(); - match justification { - CommitteeMultisignature(multisignature) => match self - .authority_verifier - .is_complete(&encoded_hash, multisignature) - { - true => true, - false => { - warn!(target: "aleph-justification", "Bad multisignature for block hash #{:?} {:?}", hash, multisignature); - false - } - }, - EmergencySignature(signature) => match &self.emergency_signer { - Some(emergency_signer) => match emergency_signer.verify(&encoded_hash, signature) { - true => true, - false => { - warn!(target: "aleph-justification", "Bad emergency signature for block hash #{:?} {:?}", hash, signature); - false - } - }, - None => { - warn!(target: "aleph-justification", "Received emergency signature for block with hash #{:?}, which has no emergency signer defined.", hash); - false - } - }, - } - } -} - struct JustificationParams { pub network: Arc>, pub client: Arc, @@ -110,10 +57,10 @@ impl SessionInfoProviderImpl { } #[async_trait::async_trait] -impl SessionInfoProvider for SessionInfoProviderImpl { - async fn for_block_num(&self, number: NumberFor) -> SessionInfo { - let current_session = session_id_from_block_num::(number, self.session_period); - let last_block_height = last_block_of_session::(current_session, self.session_period); +impl SessionInfoProvider for SessionInfoProviderImpl { + async fn for_block_num(&self, number: NumberFor) -> SessionInfo { + let current_session = session_id_from_block_num(number, self.session_period); + let last_block_height = last_block_of_session(current_session, self.session_period); let verifier = self .session_authorities .get(current_session) diff --git a/finality-aleph/src/party/impls.rs b/finality-aleph/src/party/impls.rs index 14000177aa..845f1b5715 100644 --- a/finality-aleph/src/party/impls.rs +++ b/finality-aleph/src/party/impls.rs @@ -1,10 +1,11 @@ use std::{marker::PhantomData, sync::Arc}; use sc_client_api::Backend; -use sp_runtime::traits::{Block as BlockT, NumberFor, SaturatedConversion}; +use sp_runtime::traits::{Block as BlockT, NumberFor}; use crate::{ party::traits::{Block, ChainState, SessionInfo}, + session::{first_block_of_session, last_block_of_session, session_id_from_block_num}, ClientForAleph, SessionId, SessionPeriod, }; @@ -44,14 +45,14 @@ impl SessionInfoImpl { impl SessionInfo for SessionInfoImpl { fn session_id_from_block_num(&self, n: NumberFor) -> SessionId { - SessionId(n.saturated_into::() / self.session_period.0) + session_id_from_block_num(n, self.session_period) } fn last_block_of_session(&self, session_id: SessionId) -> NumberFor { - ((session_id.0 + 1) * self.session_period.0 - 1).into() + last_block_of_session(session_id, self.session_period) } fn first_block_of_session(&self, session_id: SessionId) -> NumberFor { - (session_id.0 * self.session_period.0).into() + first_block_of_session(session_id, self.session_period) } } diff --git a/finality-aleph/src/party/mocks.rs b/finality-aleph/src/party/mocks.rs index 21977bc100..935dc150b1 100644 --- a/finality-aleph/src/party/mocks.rs +++ b/finality-aleph/src/party/mocks.rs @@ -14,7 +14,8 @@ use crate::{ manager::AuthorityTask, traits::{Block, ChainState, NodeSessionManager, SessionInfo, SyncState}, }, - AuthorityId, NodeIndex, SessionId, + session::{first_block_of_session, last_block_of_session, session_id_from_block_num}, + AuthorityId, NodeIndex, SessionId, SessionPeriod, }; type AMutex = Arc>; @@ -183,25 +184,27 @@ impl NodeSessionManager for Arc { } pub struct MockSessionInfo { - pub session_period: u32, + pub session_period: SessionPeriod, } impl MockSessionInfo { pub fn new(session_period: u32) -> Self { - Self { session_period } + Self { + session_period: SessionPeriod(session_period), + } } } impl SessionInfo for MockSessionInfo { fn session_id_from_block_num(&self, n: u32) -> SessionId { - SessionId(n / self.session_period) + session_id_from_block_num(n, self.session_period) } fn last_block_of_session(&self, session_id: SessionId) -> u32 { - (session_id.0 + 1) * self.session_period - 1 + last_block_of_session(session_id, self.session_period) } fn first_block_of_session(&self, session_id: SessionId) -> u32 { - session_id.0 * self.session_period + first_block_of_session(session_id, self.session_period) } } diff --git a/finality-aleph/src/session.rs b/finality-aleph/src/session.rs index 3e7cde9ad2..3330c7156e 100644 --- a/finality-aleph/src/session.rs +++ b/finality-aleph/src/session.rs @@ -1,5 +1,8 @@ use codec::{Decode, Encode}; -use sp_runtime::{traits::Block, SaturatedConversion}; +use sp_runtime::{ + traits::{AtLeast32BitUnsigned, Block}, + SaturatedConversion, +}; use crate::NumberFor; @@ -12,8 +15,8 @@ pub struct SessionBoundaries { impl SessionBoundaries { pub fn new(session_id: SessionId, period: SessionPeriod) -> Self { SessionBoundaries { - first_block: first_block_of_session::(session_id, period), - last_block: last_block_of_session::(session_id, period), + first_block: first_block_of_session(session_id, period), + last_block: last_block_of_session(session_id, period), } } @@ -26,22 +29,40 @@ impl SessionBoundaries { } } -pub fn first_block_of_session( +pub fn first_block_of_session( session_id: SessionId, period: SessionPeriod, -) -> NumberFor { +) -> N { (session_id.0 * period.0).into() } -pub fn last_block_of_session( +pub fn last_block_of_session( session_id: SessionId, period: SessionPeriod, -) -> NumberFor { +) -> N { ((session_id.0 + 1) * period.0 - 1).into() } -pub fn session_id_from_block_num(num: NumberFor, period: SessionPeriod) -> SessionId { - SessionId(num.saturated_into::() / period.0) +pub fn session_id_from_block_num( + num: N, + period: SessionPeriod, +) -> SessionId { + SessionId((num / period.0.into()).saturated_into()) +} + +#[cfg(test)] +pub mod testing { + use aleph_primitives::SessionAuthorityData; + use sp_runtime::testing::UintAuthorityId; + + pub fn authority_data(from: u64, to: u64) -> SessionAuthorityData { + SessionAuthorityData::new( + (from..to) + .map(|id| UintAuthorityId(id).to_public_key()) + .collect(), + None, + ) + } } #[derive(Copy, Clone, Debug, Default, Eq, PartialEq, Hash, Ord, PartialOrd, Encode, Decode)] diff --git a/finality-aleph/src/session_map.rs b/finality-aleph/src/session_map.rs index b6182e3bfa..59f1093b24 100644 --- a/finality-aleph/src/session_map.rs +++ b/finality-aleph/src/session_map.rs @@ -313,7 +313,7 @@ where } async fn update_session(&mut self, session_id: SessionId, period: SessionPeriod) { - let first_block = first_block_of_session::(session_id, period); + let first_block = first_block_of_session(session_id, period); self.handle_first_block_of_session(first_block, session_id) .await; } @@ -321,7 +321,7 @@ where fn catch_up_boundaries(&self, period: SessionPeriod) -> (SessionId, SessionId) { let last_finalized = self.finality_notificator.last_finalized(); - let current_session = session_id_from_block_num::(last_finalized, period); + let current_session = session_id_from_block_num(last_finalized, period); let starting_session = SessionId(current_session.0.saturating_sub(PRUNING_THRESHOLD)); (starting_session, current_session) @@ -343,7 +343,7 @@ where let last_finalized = header.number(); trace!(target: "aleph-session-updater", "got FinalityNotification about #{:?}", last_finalized); - let session_id = session_id_from_block_num::(*last_finalized, period); + let session_id = session_id_from_block_num(*last_finalized, period); if last_updated >= session_id { continue; @@ -366,7 +366,6 @@ mod tests { use sc_block_builder::BlockBuilderProvider; use sc_utils::mpsc::tracing_unbounded; use sp_consensus::BlockOrigin; - use sp_runtime::testing::UintAuthorityId; use substrate_test_runtime_client::{ ClientBlockImportExt, DefaultTestClientBuilderExt, TestClient, TestClientBuilder, TestClientBuilderExt, @@ -374,7 +373,7 @@ mod tests { use tokio::sync::oneshot::error::TryRecvError; use super::*; - use crate::testing::mocks::TBlock; + use crate::{session::testing::authority_data, testing::mocks::TBlock}; struct MockProvider { pub session_map: HashMap, SessionAuthorityData>, @@ -432,15 +431,6 @@ mod tests { } } - fn authority_data(from: u64, to: u64) -> SessionAuthorityData { - SessionAuthorityData::new( - (from..to) - .map(|id| UintAuthorityId(id).to_public_key()) - .collect(), - None, - ) - } - fn n_new_blocks(client: &mut Arc, n: u64) -> Vec { (0..n) .map(|_| { diff --git a/finality-aleph/src/sync/mod.rs b/finality-aleph/src/sync/mod.rs index 23e66bd53e..207efc5d8f 100644 --- a/finality-aleph/src/sync/mod.rs +++ b/finality-aleph/src/sync/mod.rs @@ -7,6 +7,8 @@ mod substrate; mod task_queue; mod ticker; +pub use substrate::SessionVerifier; + const LOG_TARGET: &str = "aleph-block-sync"; /// The identifier of a block, the least amount of knowledge we can have about a block. @@ -50,7 +52,7 @@ pub trait Verifier { /// Verifies the raw justification and returns a full justification if successful, otherwise an /// error. - fn verify(&self, justification: J::Unverified) -> Result; + fn verify(&mut self, justification: J::Unverified) -> Result; } /// A facility for finalizing blocks using justifications. diff --git a/finality-aleph/src/sync/substrate/mod.rs b/finality-aleph/src/sync/substrate/mod.rs index 2a96b49ed9..cb5f1274cc 100644 --- a/finality-aleph/src/sync/substrate/mod.rs +++ b/finality-aleph/src/sync/substrate/mod.rs @@ -11,6 +11,9 @@ use crate::{ mod chain_status; mod finalizer; mod status_notifier; +mod verification; + +pub use verification::SessionVerifier; #[derive(Clone, Debug, PartialEq, Eq)] pub struct BlockId> { @@ -18,6 +21,7 @@ pub struct BlockId> { number: H::Number, } +/// An identifier uniquely specifying a block and its height. impl> Hash for BlockId { fn hash(&self, state: &mut H) where diff --git a/finality-aleph/src/sync/substrate/verification/cache.rs b/finality-aleph/src/sync/substrate/verification/cache.rs new file mode 100644 index 0000000000..545302b475 --- /dev/null +++ b/finality-aleph/src/sync/substrate/verification/cache.rs @@ -0,0 +1,358 @@ +use std::{ + collections::{hash_map::Entry, HashMap}, + fmt::{Display, Error as FmtError, Formatter}, +}; + +use aleph_primitives::BlockNumber; +use sp_runtime::SaturatedConversion; + +use crate::{ + session::{first_block_of_session, session_id_from_block_num, SessionId}, + session_map::AuthorityProvider, + sync::substrate::verification::{verifier::SessionVerifier, FinalizationInfo}, + SessionPeriod, +}; + +/// Ways in which a justification can fail verification. +#[derive(Debug, PartialEq, Eq)] +pub enum CacheError { + UnknownAuthorities(SessionId), + SessionTooOld(SessionId, SessionId), + SessionInFuture(SessionId, SessionId), +} + +impl Display for CacheError { + fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), FmtError> { + use CacheError::*; + match self { + SessionTooOld(session, lower_bound) => write!( + f, + "session {:?} is too old. Should be at least {:?}", + session, lower_bound + ), + SessionInFuture(session, upper_bound) => write!( + f, + "session {:?} without known authorities. Should be at most {:?}", + session, upper_bound + ), + UnknownAuthorities(session) => { + write!( + f, + "authorities for session {:?} not present on chain even though they should be", + session + ) + } + } + } +} + +/// Cache storing SessionVerifier structs for multiple sessions. Keeps up to `cache_size` verifiers of top sessions. +/// If the session is too new or ancient it will fail to return a SessionVerifier. +/// Highest session verifier this cache returns is for the session after the current finalization session. +/// Lowest session verifier this cache returns is for `top_returned_session` - `cache_size`. +pub struct VerifierCache +where + AP: AuthorityProvider, + FI: FinalizationInfo, +{ + sessions: HashMap, + session_period: SessionPeriod, + finalization_info: FI, + authority_provider: AP, + cache_size: usize, + /// Lowest currently available session. + lower_bound: SessionId, +} + +impl VerifierCache +where + AP: AuthorityProvider, + FI: FinalizationInfo, +{ + pub fn new( + session_period: SessionPeriod, + finalization_info: FI, + authority_provider: AP, + cache_size: usize, + ) -> Self { + Self { + sessions: HashMap::new(), + session_period, + finalization_info, + authority_provider, + cache_size, + lower_bound: SessionId(0), + } + } +} + +/// Download authorities for the session and return `SessionVerifier` for them. `session_id` should be the first session, +/// or the first block from the session number `session_id - 1` should be finalized. +fn download_session_verifier>( + authority_provider: &AP, + session_id: SessionId, + session_period: SessionPeriod, +) -> Option { + let maybe_authority_data = match session_id { + SessionId(0) => authority_provider.authority_data(0), + SessionId(id) => { + let prev_first = first_block_of_session(SessionId(id - 1), session_period); + authority_provider.next_authority_data(prev_first) + } + }; + + maybe_authority_data.map(|a| a.into()) +} + +impl VerifierCache +where + AP: AuthorityProvider, + FI: FinalizationInfo, +{ + /// Prune all sessions with a number smaller than `session_id` + fn prune(&mut self, session_id: SessionId) { + self.sessions.retain(|&id, _| id >= session_id); + self.lower_bound = session_id; + } + + /// Returns session verifier for block number if available. Updates cache if necessary. + pub fn get(&mut self, number: BlockNumber) -> Result<&SessionVerifier, CacheError> { + let session_id = session_id_from_block_num(number, self.session_period); + + if session_id < self.lower_bound { + return Err(CacheError::SessionTooOld(session_id, self.lower_bound)); + } + + // We are sure about authorities in all session that have first block from previous session finalized. + let upper_bound = SessionId( + session_id_from_block_num( + self.finalization_info.finalized_number(), + self.session_period, + ) + .0 + 1, + ); + if session_id > upper_bound { + return Err(CacheError::SessionInFuture(session_id, upper_bound)); + } + + if session_id.0 + >= self + .lower_bound + .0 + .saturating_add(self.cache_size.saturated_into()) + { + self.prune(SessionId( + session_id + .0 + .saturating_sub(self.cache_size.saturated_into()) + + 1, + )); + } + + let verifier = match self.sessions.entry(session_id) { + Entry::Occupied(occupied) => occupied.into_mut(), + Entry::Vacant(vacant) => { + let verifier = download_session_verifier( + &self.authority_provider, + session_id, + self.session_period, + ) + .ok_or(CacheError::UnknownAuthorities(session_id))?; + vacant.insert(verifier) + } + }; + + Ok(verifier) + } +} + +#[cfg(test)] +mod tests { + use std::{cell::Cell, collections::HashMap}; + + use aleph_primitives::SessionAuthorityData; + use sp_runtime::SaturatedConversion; + + use super::{ + AuthorityProvider, BlockNumber, CacheError, FinalizationInfo, SessionVerifier, + VerifierCache, + }; + use crate::{ + session::{session_id_from_block_num, testing::authority_data, SessionId}, + SessionPeriod, + }; + + const SESSION_PERIOD: u32 = 30; + const CACHE_SIZE: usize = 2; + + type TestVerifierCache<'a> = VerifierCache>; + + struct MockFinalizationInfo<'a> { + finalized_number: &'a Cell, + } + + impl<'a> FinalizationInfo for MockFinalizationInfo<'a> { + fn finalized_number(&self) -> BlockNumber { + self.finalized_number.get() + } + } + + struct MockAuthorityProvider { + session_map: HashMap, + session_period: SessionPeriod, + } + + fn authority_data_for_session(session_id: u64) -> SessionAuthorityData { + authority_data(session_id * 4, (session_id + 1) * 4) + } + + impl MockAuthorityProvider { + fn new(session_n: u64) -> Self { + let session_map = (0..session_n + 1) + .map(|s| (SessionId(s.saturated_into()), authority_data_for_session(s))) + .collect(); + + Self { + session_map, + session_period: SessionPeriod(SESSION_PERIOD), + } + } + } + + impl AuthorityProvider for MockAuthorityProvider { + fn authority_data(&self, block: BlockNumber) -> Option { + self.session_map + .get(&session_id_from_block_num(block, self.session_period)) + .cloned() + } + + fn next_authority_data(&self, block: BlockNumber) -> Option { + self.session_map + .get(&SessionId( + session_id_from_block_num(block, self.session_period).0 + 1, + )) + .cloned() + } + } + + fn setup_test(max_session_n: u64, finalized_number: &'_ Cell) -> TestVerifierCache<'_> { + let finalization_info = MockFinalizationInfo { finalized_number }; + let authority_provider = MockAuthorityProvider::new(max_session_n); + + VerifierCache::new( + SessionPeriod(SESSION_PERIOD), + finalization_info, + authority_provider, + CACHE_SIZE, + ) + } + + fn finalize_first_in_session(finalized_number: &Cell, session_id: u32) { + finalized_number.set(session_id * SESSION_PERIOD); + } + + fn session_verifier( + verifier: &mut TestVerifierCache, + session_id: u32, + ) -> Result { + verifier.get((session_id + 1) * SESSION_PERIOD - 1).cloned() + } + + fn check_session_verifier(verifier: &mut TestVerifierCache, session_id: u32) { + let session_verifier = + session_verifier(verifier, session_id).expect("Should return verifier. Got error"); + let expected_verifier: SessionVerifier = + authority_data_for_session(session_id as u64).into(); + assert_eq!(session_verifier, expected_verifier); + } + + #[test] + fn genesis_session() { + let finalized_number = Cell::new(0); + + let mut verifier = setup_test(0, &finalized_number); + + check_session_verifier(&mut verifier, 0); + } + + #[test] + fn normal_session() { + let finalized_number = Cell::new(0); + + let mut verifier = setup_test(3, &finalized_number); + + check_session_verifier(&mut verifier, 0); + check_session_verifier(&mut verifier, 1); + + finalize_first_in_session(&finalized_number, 1); + check_session_verifier(&mut verifier, 0); + check_session_verifier(&mut verifier, 1); + check_session_verifier(&mut verifier, 2); + + finalize_first_in_session(&finalized_number, 2); + check_session_verifier(&mut verifier, 1); + check_session_verifier(&mut verifier, 2); + check_session_verifier(&mut verifier, 3); + } + + #[test] + fn prunes_old_sessions() { + let finalized_number = Cell::new(0); + + let mut verifier = setup_test(3, &finalized_number); + + check_session_verifier(&mut verifier, 0); + check_session_verifier(&mut verifier, 1); + + finalize_first_in_session(&finalized_number, 1); + check_session_verifier(&mut verifier, 2); + + // Should no longer have verifier for session 0 + assert_eq!( + session_verifier(&mut verifier, 0), + Err(CacheError::SessionTooOld(SessionId(0), SessionId(1))) + ); + + finalize_first_in_session(&finalized_number, 2); + check_session_verifier(&mut verifier, 3); + + // Should no longer have verifier for session 1 + assert_eq!( + session_verifier(&mut verifier, 1), + Err(CacheError::SessionTooOld(SessionId(1), SessionId(2))) + ); + } + + #[test] + fn session_from_future() { + let finalized_number = Cell::new(0); + + let mut verifier = setup_test(3, &finalized_number); + + finalize_first_in_session(&finalized_number, 1); + + // Did not finalize first block in session 2 yet + assert_eq!( + session_verifier(&mut verifier, 3), + Err(CacheError::SessionInFuture(SessionId(3), SessionId(2))) + ); + } + + #[test] + fn authority_provider_error() { + let finalized_number = Cell::new(0); + let mut verifier = setup_test(0, &finalized_number); + + assert_eq!( + session_verifier(&mut verifier, 1), + Err(CacheError::UnknownAuthorities(SessionId(1))) + ); + + finalize_first_in_session(&finalized_number, 1); + + assert_eq!( + session_verifier(&mut verifier, 2), + Err(CacheError::UnknownAuthorities(SessionId(2))) + ); + } +} diff --git a/finality-aleph/src/sync/substrate/verification/mod.rs b/finality-aleph/src/sync/substrate/verification/mod.rs new file mode 100644 index 0000000000..eefb6af68d --- /dev/null +++ b/finality-aleph/src/sync/substrate/verification/mod.rs @@ -0,0 +1,114 @@ +use std::{ + fmt::{Display, Error as FmtError, Formatter}, + marker::PhantomData, + sync::Arc, +}; + +use aleph_primitives::BlockNumber; +use codec::Encode; +use sc_client_api::HeaderBackend; +use sp_runtime::traits::{Block as BlockT, Header as SubstrateHeader}; + +use crate::{ + session_map::AuthorityProvider, + sync::{ + substrate::{ + verification::{ + cache::{CacheError, VerifierCache}, + verifier::SessionVerificationError, + }, + Justification, + }, + Verifier, + }, +}; + +mod cache; +mod verifier; + +pub use verifier::SessionVerifier; + +/// Supplies finalized number. Will be unified together with other traits we used in A0-1839. +pub trait FinalizationInfo { + fn finalized_number(&self) -> BlockNumber; +} + +/// Substrate specific implementation of `FinalizationInfo` +pub struct SubstrateFinalizationInfo +where + BE: HeaderBackend, + B: BlockT, + B::Header: SubstrateHeader, +{ + client: Arc, + _phantom: PhantomData, +} + +impl SubstrateFinalizationInfo +where + BE: HeaderBackend, + B: BlockT, + B::Header: SubstrateHeader, +{ + pub fn new(client: Arc) -> Self { + Self { + client, + _phantom: PhantomData, + } + } +} + +impl FinalizationInfo for SubstrateFinalizationInfo +where + BE: HeaderBackend, + B: BlockT, + B::Header: SubstrateHeader, +{ + fn finalized_number(&self) -> BlockNumber { + self.client.info().finalized_number + } +} + +#[derive(Debug, PartialEq, Eq)] +pub enum VerificationError { + Verification(SessionVerificationError), + Cache(CacheError), +} + +impl From for VerificationError { + fn from(e: SessionVerificationError) -> Self { + VerificationError::Verification(e) + } +} + +impl From for VerificationError { + fn from(e: CacheError) -> Self { + VerificationError::Cache(e) + } +} + +impl Display for VerificationError { + fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), FmtError> { + use VerificationError::*; + match self { + Verification(e) => write!(f, "{}", e), + Cache(e) => write!(f, "{}", e), + } + } +} + +impl Verifier> for VerifierCache +where + H: SubstrateHeader, + AP: AuthorityProvider, + FS: FinalizationInfo, +{ + type Error = VerificationError; + + fn verify(&mut self, justification: Justification) -> Result, Self::Error> { + let header = &justification.header; + let verifier = self.get(*header.number())?; + verifier.verify_bytes(&justification.raw_justification, header.hash().encode())?; + Ok(justification) + } +} diff --git a/finality-aleph/src/sync/substrate/verification/verifier.rs b/finality-aleph/src/sync/substrate/verification/verifier.rs new file mode 100644 index 0000000000..004ef9b536 --- /dev/null +++ b/finality-aleph/src/sync/substrate/verification/verifier.rs @@ -0,0 +1,90 @@ +use std::fmt::{Display, Error as FmtError, Formatter}; + +use aleph_primitives::SessionAuthorityData; +use codec::Encode; +use log::warn; +use sp_runtime::{traits::Block as BlockT, RuntimeAppPublic}; + +use crate::{ + crypto::AuthorityVerifier, + justification::{AlephJustification, Verifier as LegacyVerifier}, + AuthorityId, +}; + +/// A justification verifier within a single session. +#[derive(Clone, PartialEq, Debug)] +pub struct SessionVerifier { + authority_verifier: AuthorityVerifier, + emergency_signer: Option, +} + +impl From for SessionVerifier { + fn from(authority_data: SessionAuthorityData) -> Self { + SessionVerifier { + authority_verifier: AuthorityVerifier::new(authority_data.authorities().to_vec()), + emergency_signer: authority_data.emergency_finalizer().clone(), + } + } +} + +/// Ways in which a justification can be wrong. +#[derive(Debug, PartialEq, Eq)] +pub enum SessionVerificationError { + BadMultisignature, + BadEmergencySignature, + NoEmergencySigner, +} + +impl Display for SessionVerificationError { + fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), FmtError> { + use SessionVerificationError::*; + match self { + BadMultisignature => write!(f, "bad multisignature"), + BadEmergencySignature => write!(f, "bad emergency signature"), + NoEmergencySigner => write!(f, "no emergency signer defined"), + } + } +} + +impl SessionVerifier { + /// Verifies the correctness of a justification for supplied bytes. + pub fn verify_bytes( + &self, + justification: &AlephJustification, + bytes: Vec, + ) -> Result<(), SessionVerificationError> { + use AlephJustification::*; + use SessionVerificationError::*; + match justification { + CommitteeMultisignature(multisignature) => { + match self.authority_verifier.is_complete(&bytes, multisignature) { + true => Ok(()), + false => Err(BadMultisignature), + } + } + EmergencySignature(signature) => match self + .emergency_signer + .as_ref() + .ok_or(NoEmergencySigner)? + .verify(&bytes, signature) + { + true => Ok(()), + false => Err(BadEmergencySignature), + }, + } + } +} + +// This shouldn't be necessary after we remove the legacy justification sync. Then we can also +// rewrite the implementation above and make it simpler. +impl LegacyVerifier for SessionVerifier { + fn verify(&self, justification: &AlephJustification, hash: B::Hash) -> bool { + match self.verify_bytes(justification, hash.encode()) { + Ok(()) => true, + Err(e) => { + warn!(target: "aleph-justification", "Bad justification for block {:?}: {}", hash, e); + false + } + } + } +} diff --git a/finality-aleph/src/testing/mocks/session_info.rs b/finality-aleph/src/testing/mocks/session_info.rs index 97e9c7a5a5..9e86190521 100644 --- a/finality-aleph/src/testing/mocks/session_info.rs +++ b/finality-aleph/src/testing/mocks/session_info.rs @@ -34,13 +34,10 @@ impl SessionInfoProviderImpl { #[async_trait::async_trait] impl SessionInfoProvider for SessionInfoProviderImpl { async fn for_block_num(&self, number: TNumber) -> SessionInfo { - let current_session = session_id_from_block_num::(number, self.session_period); + let current_session = session_id_from_block_num(number, self.session_period); SessionInfo { current_session, - last_block_height: last_block_of_session::( - current_session, - self.session_period, - ), + last_block_height: last_block_of_session(current_session, self.session_period), verifier: match &*self.acceptance_policy.lock().unwrap() { AcceptancePolicy::Unavailable => None, _ => Some(VerifierWrapper { From 08ddd8d580944b148ee7c6ab6ac1b56730b14cde Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Obrok?= Date: Thu, 19 Jan 2023 13:57:18 +0100 Subject: [PATCH 097/212] Use Ref to talk to access_control --- contracts/access_control/lib.rs | 4 +- contracts/access_control/traits.rs | 42 -- contracts/button/Cargo.lock | 782 ++++++++++++++++++++++++----- contracts/button/errors.rs | 6 +- contracts/button/lib.rs | 24 +- contracts/game_token/lib.rs | 74 ++- contracts/marketplace/lib.rs | 57 ++- contracts/ticket_token/lib.rs | 90 ++-- 8 files changed, 778 insertions(+), 301 deletions(-) delete mode 100644 contracts/access_control/traits.rs diff --git a/contracts/access_control/lib.rs b/contracts/access_control/lib.rs index f9575d0683..47f0219538 100644 --- a/contracts/access_control/lib.rs +++ b/contracts/access_control/lib.rs @@ -2,10 +2,10 @@ #![allow(clippy::let_unit_value)] pub use crate::access_control::{ - AccessControlError, ACCESS_CONTROL_PUBKEY, CHECK_ROLE_SELECTOR, HAS_ROLE_SELECTOR, + AccessControl, AccessControlError, AccessControlRef, ACCESS_CONTROL_PUBKEY, + CHECK_ROLE_SELECTOR, HAS_ROLE_SELECTOR, }; pub mod roles; -pub mod traits; use ink::env::{DefaultEnvironment, Environment}; diff --git a/contracts/access_control/traits.rs b/contracts/access_control/traits.rs deleted file mode 100644 index c6ed883737..0000000000 --- a/contracts/access_control/traits.rs +++ /dev/null @@ -1,42 +0,0 @@ -use ink::env::{ - call::{build_call, Call, ExecutionInput, Selector}, - DefaultEnvironment, Error as InkEnvError, -}; - -use crate::{access_control::HAS_ROLE_SELECTOR, roles::Role, AccountId}; - -/// Convenience trait for contracts that have methods that need to be under access control -/// -/// Such contracts should implement this trait and pass their error enum as associated type: -/// impl AccessControlled for MyContract { -/// type ContractError = MyContractError; -/// } - -pub trait AccessControlled { - type ContractError; - - fn check_role( - access_control: AccountId, - account: AccountId, - role: Role, - contract_call_error_handler: fn(why: InkEnvError) -> ContractError, - access_control_error_handler: fn(role: Role) -> ContractError, - ) -> Result<(), ContractError> { - match build_call::() - .call_type(Call::new().callee(access_control)) - .exec_input( - ExecutionInput::new(Selector::new(HAS_ROLE_SELECTOR)) - .push_arg(account) - .push_arg(role), - ) - .returns::() - .fire() - { - Ok(has_role) => match has_role { - true => Ok(()), - false => Err(access_control_error_handler(role)), - }, - Err(why) => Err(contract_call_error_handler(why)), - } - } -} diff --git a/contracts/button/Cargo.lock b/contracts/button/Cargo.lock index 6657041546..9b5c07c04c 100644 --- a/contracts/button/Cargo.lock +++ b/contracts/button/Cargo.lock @@ -6,16 +6,20 @@ version = 3 name = "access_control" version = "0.2.0" dependencies = [ - "ink_env", - "ink_lang", - "ink_lang_codegen", - "ink_metadata", - "ink_primitives", - "ink_storage", + "ink", "parity-scale-codec", "scale-info", ] +[[package]] +name = "aho-corasick" +version = "0.7.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac" +dependencies = [ + "memchr", +] + [[package]] name = "array-init" version = "2.0.1" @@ -40,6 +44,12 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + [[package]] name = "bitvec" version = "1.0.1" @@ -87,14 +97,14 @@ version = "0.1.0" dependencies = [ "access_control", "game_token", - "ink_env", + "ink_env 3.3.1", "ink_lang", - "ink_metadata", - "ink_prelude", - "ink_primitives", - "ink_storage", + "ink_metadata 3.3.1", + "ink_prelude 3.3.1", + "ink_primitives 3.3.1", + "ink_storage 3.3.1", "marketplace", - "openbrush", + "openbrush 2.2.0", "parity-scale-codec", "scale-info", "ticket_token", @@ -236,6 +246,40 @@ version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "90e5c1c8368803113bf0c9584fc495a58b86dc8a29edbf8fe877d21d9507e797" +[[package]] +name = "env_logger" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85cdab6a89accf66733ad5a1693a4dcced6aeff64602b634530dd73c1f3ee9f0" +dependencies = [ + "humantime", + "is-terminal", + "log", + "regex", + "termcolor", +] + +[[package]] +name = "errno" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f639046355ee4f37944e44f60642c6f3a7efa3cf6b78c78a0d989a8ce6c396a1" +dependencies = [ + "errno-dragonfly", + "libc", + "winapi", +] + +[[package]] +name = "errno-dragonfly" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf" +dependencies = [ + "cc", + "libc", +] + [[package]] name = "fs2" version = "0.4.3" @@ -257,13 +301,8 @@ name = "game_token" version = "2.1.0" dependencies = [ "access_control", - "ink_env", - "ink_lang", - "ink_metadata", - "ink_prelude", - "ink_primitives", - "ink_storage", - "openbrush", + "ink", + "openbrush 3.0.0-beta", "parity-scale-codec", "scale-info", ] @@ -280,9 +319,9 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.7" +version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4eb1a864a501629691edf6c15a593b7a51eebaa1e8468e9ddc623de7c9b58ec6" +checksum = "c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31" dependencies = [ "cfg-if", "libc", @@ -304,6 +343,21 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9" +[[package]] +name = "hermit-abi" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7" +dependencies = [ + "libc", +] + +[[package]] +name = "humantime" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" + [[package]] name = "impl-serde" version = "0.3.2" @@ -313,6 +367,15 @@ dependencies = [ "serde", ] +[[package]] +name = "impl-serde" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebc88fc67028ae3db0c853baa36269d398d5f45b6982f95549ff5def78c935cd" +dependencies = [ + "serde", +] + [[package]] name = "impl-trait-for-tuples" version = "0.2.2" @@ -324,26 +387,86 @@ dependencies = [ "syn", ] +[[package]] +name = "ink" +version = "4.0.0-beta" +source = "git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde#4655a8b4413cb50cbc38d1b7c173ad426ab06cde" +dependencies = [ + "derive_more", + "ink_env 4.0.0-beta", + "ink_macro", + "ink_metadata 4.0.0-beta", + "ink_prelude 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", + "ink_primitives 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", + "ink_storage 4.0.0-beta", + "parity-scale-codec", +] + [[package]] name = "ink_allocator" -version = "3.3.1" +version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a291f411e310b7a3bb01ce21102b8c0aea5b7b523e4bad0b40a8e55a76c58906" +checksum = "1c9588a59a0e8997c0b2153cd11b5aaa77c06a0537a6b18f3811d1f1aa098b12" dependencies = [ "cfg-if", ] +[[package]] +name = "ink_allocator" +version = "4.0.0-beta" +source = "git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde#4655a8b4413cb50cbc38d1b7c173ad426ab06cde" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "ink_codegen" +version = "4.0.0-beta" +source = "git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde#4655a8b4413cb50cbc38d1b7c173ad426ab06cde" +dependencies = [ + "blake2 0.10.4", + "derive_more", + "either", + "env_logger", + "heck 0.4.0", + "impl-serde 0.4.0", + "ink_ir 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", + "ink_primitives 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", + "itertools", + "log", + "parity-scale-codec", + "proc-macro2", + "quote", + "serde", + "serde_json", + "syn", +] + [[package]] name = "ink_engine" -version = "3.3.1" +version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "075eab468da2937288ec484be920cb18614147003d7f1afbdfcfb190ed771c46" +checksum = "487c3b390b7feb0620496b0cd38683433c7d7e6946b1caabda51e1f23eb24b30" dependencies = [ "blake2 0.10.4", "derive_more", "parity-scale-codec", "rand", - "secp256k1", + "secp256k1 0.24.3", + "sha2", + "sha3", +] + +[[package]] +name = "ink_engine" +version = "4.0.0-beta" +source = "git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde#4655a8b4413cb50cbc38d1b7c173ad426ab06cde" +dependencies = [ + "blake2 0.10.4", + "derive_more", + "ink_primitives 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", + "parity-scale-codec", + "secp256k1 0.25.0", "sha2", "sha3", ] @@ -358,23 +481,76 @@ dependencies = [ "blake2 0.10.4", "cfg-if", "derive_more", - "ink_allocator", - "ink_engine", - "ink_metadata", - "ink_prelude", - "ink_primitives", + "ink_allocator 3.4.0", + "ink_engine 3.4.0", + "ink_metadata 3.3.1", + "ink_prelude 3.3.1", + "ink_primitives 3.3.1", "num-traits", "parity-scale-codec", "paste", "rand", "rlibc", "scale-info", - "secp256k1", + "secp256k1 0.24.3", "sha2", "sha3", "static_assertions", ] +[[package]] +name = "ink_env" +version = "4.0.0-beta" +source = "git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde#4655a8b4413cb50cbc38d1b7c173ad426ab06cde" +dependencies = [ + "arrayref", + "blake2 0.10.4", + "cfg-if", + "derive_more", + "ink_allocator 4.0.0-beta", + "ink_engine 4.0.0-beta", + "ink_metadata 4.0.0-beta", + "ink_prelude 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", + "ink_primitives 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", + "ink_storage_traits", + "num-traits", + "parity-scale-codec", + "paste", + "rlibc", + "scale-info", + "secp256k1 0.25.0", + "sha2", + "sha3", + "static_assertions", +] + +[[package]] +name = "ink_ir" +version = "4.0.0-beta" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "faf2ee9acbf86d5b2b6342266972217b61117c6468c81bdefe23e052beb05af1" +dependencies = [ + "blake2 0.10.4", + "either", + "itertools", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "ink_ir" +version = "4.0.0-beta" +source = "git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde#4655a8b4413cb50cbc38d1b7c173ad426ab06cde" +dependencies = [ + "blake2 0.10.4", + "either", + "itertools", + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "ink_lang" version = "3.3.1" @@ -382,12 +558,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "62cf662fe6a130ea1ada3520142405e3ed521b79c35b7274cc95dd37bc833571" dependencies = [ "derive_more", - "ink_env", + "ink_env 3.3.1", "ink_lang_macro", - "ink_metadata", - "ink_prelude", - "ink_primitives", - "ink_storage", + "ink_metadata 3.3.1", + "ink_prelude 3.3.1", + "ink_primitives 3.3.1", + "ink_storage 3.3.1", "parity-scale-codec", ] @@ -401,7 +577,7 @@ dependencies = [ "derive_more", "either", "heck 0.4.0", - "impl-serde", + "impl-serde 0.3.2", "ink_lang_ir", "itertools", "parity-scale-codec", @@ -432,12 +608,27 @@ checksum = "1330da0b8007b86de94f95fbc74769c0461d3b078b291af5497771598db1c5b4" dependencies = [ "ink_lang_codegen", "ink_lang_ir", - "ink_primitives", + "ink_primitives 3.3.1", "parity-scale-codec", "proc-macro2", "syn", ] +[[package]] +name = "ink_macro" +version = "4.0.0-beta" +source = "git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde#4655a8b4413cb50cbc38d1b7c173ad426ab06cde" +dependencies = [ + "ink_codegen", + "ink_ir 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", + "ink_primitives 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", + "parity-scale-codec", + "proc-macro2", + "quote", + "syn", + "synstructure", +] + [[package]] name = "ink_metadata" version = "3.3.1" @@ -445,9 +636,22 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d442f4f5dcbf120aa84cae9e399065ad99d143d5a920b06d3da286e91c03ec70" dependencies = [ "derive_more", - "impl-serde", - "ink_prelude", - "ink_primitives", + "impl-serde 0.3.2", + "ink_prelude 3.3.1", + "ink_primitives 3.3.1", + "scale-info", + "serde", +] + +[[package]] +name = "ink_metadata" +version = "4.0.0-beta" +source = "git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde#4655a8b4413cb50cbc38d1b7c173ad426ab06cde" +dependencies = [ + "derive_more", + "impl-serde 0.4.0", + "ink_prelude 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", + "ink_primitives 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", "scale-info", "serde", ] @@ -461,6 +665,23 @@ dependencies = [ "cfg-if", ] +[[package]] +name = "ink_prelude" +version = "4.0.0-beta" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5962125f78304bc2b3083391cbd579125c64ce17e61b019034094faf772c915a" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "ink_prelude" +version = "4.0.0-beta" +source = "git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde#4655a8b4413cb50cbc38d1b7c173ad426ab06cde" +dependencies = [ + "cfg-if", +] + [[package]] name = "ink_primitives" version = "3.3.1" @@ -468,9 +689,33 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ea7afd5330a9d3be1533222a48b8ab44b3a3356a5e6bb090bff0790aa562b418" dependencies = [ "cfg-if", - "ink_prelude", + "ink_prelude 3.3.1", + "parity-scale-codec", + "scale-info", +] + +[[package]] +name = "ink_primitives" +version = "4.0.0-beta" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90f4f26208fe23e12d436917697b951252519484134a3561fe8b65a5abc97aa9" +dependencies = [ + "derive_more", + "ink_prelude 4.0.0-beta (registry+https://github.com/rust-lang/crates.io-index)", + "parity-scale-codec", + "xxhash-rust", +] + +[[package]] +name = "ink_primitives" +version = "4.0.0-beta" +source = "git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde#4655a8b4413cb50cbc38d1b7c173ad426ab06cde" +dependencies = [ + "derive_more", + "ink_prelude 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", "parity-scale-codec", "scale-info", + "xxhash-rust", ] [[package]] @@ -482,20 +727,37 @@ dependencies = [ "array-init", "cfg-if", "derive_more", - "ink_env", - "ink_metadata", - "ink_prelude", - "ink_primitives", + "ink_env 3.3.1", + "ink_metadata 3.3.1", + "ink_prelude 3.3.1", + "ink_primitives 3.3.1", "ink_storage_derive", "parity-scale-codec", "scale-info", ] +[[package]] +name = "ink_storage" +version = "4.0.0-beta" +source = "git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde#4655a8b4413cb50cbc38d1b7c173ad426ab06cde" +dependencies = [ + "array-init", + "cfg-if", + "derive_more", + "ink_env 4.0.0-beta", + "ink_metadata 4.0.0-beta", + "ink_prelude 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", + "ink_primitives 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", + "ink_storage_traits", + "parity-scale-codec", + "scale-info", +] + [[package]] name = "ink_storage_derive" -version = "3.3.1" +version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ced452d5d0b2268b1257ffd2ec73cf9c3b4fba5f3632f185a03aafec8888439" +checksum = "babf1d8903dc9219ad8e8aa181eddb919d9794aad1da23ccdce770925b7de2ba" dependencies = [ "proc-macro2", "quote", @@ -503,6 +765,41 @@ dependencies = [ "synstructure", ] +[[package]] +name = "ink_storage_traits" +version = "4.0.0-beta" +source = "git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde#4655a8b4413cb50cbc38d1b7c173ad426ab06cde" +dependencies = [ + "ink_metadata 4.0.0-beta", + "ink_prelude 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", + "ink_primitives 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", + "parity-scale-codec", + "scale-info", + "syn", +] + +[[package]] +name = "io-lifetimes" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7d6c6f8c91b4b9ed43484ad1a938e393caf35960fce7f82a040497207bd8e9e" +dependencies = [ + "libc", + "windows-sys", +] + +[[package]] +name = "is-terminal" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28dfb6c8100ccc63462345b67d1bbc3679177c75ee4bf59bf29c8b1d110b8189" +dependencies = [ + "hermit-abi", + "io-lifetimes", + "rustix", + "windows-sys", +] + [[package]] name = "itertools" version = "0.10.4" @@ -526,9 +823,24 @@ checksum = "f9b7d56ba4a8344d6be9729995e6b06f928af29998cdf79fe390cbf6b1fee838" [[package]] name = "libc" -version = "0.2.132" +version = "0.2.139" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79" + +[[package]] +name = "linux-raw-sys" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8371e4e5341c3a96db127eb2465ac681ced4c433e01dd0e938adbef26ba93ba5" +checksum = "f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4" + +[[package]] +name = "log" +version = "0.4.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e" +dependencies = [ + "cfg-if", +] [[package]] name = "marketplace" @@ -536,19 +848,19 @@ version = "0.1.0" dependencies = [ "access_control", "game_token", - "ink_engine", - "ink_env", - "ink_lang", - "ink_metadata", - "ink_prelude", - "ink_primitives", - "ink_storage", - "openbrush", + "ink", + "openbrush 3.0.0-beta", "parity-scale-codec", "scale-info", "ticket_token", ] +[[package]] +name = "memchr" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" + [[package]] name = "num-traits" version = "0.2.15" @@ -561,16 +873,28 @@ dependencies = [ [[package]] name = "obce" version = "0.1.0" -source = "git+https://github.com/Supercolony-net/obce?branch=polkadot-v0.9.29#9843e2a3e91e7c29a9b21dde7ead3299e9d3c0fb" +source = "git+https://github.com/727-Ventures/obce?tag=3.0.0-beta#e4d93be5ea31ea39fd5c692e93ebe319b51cd604" dependencies = [ - "ink_engine", - "ink_env", + "ink", + "ink_engine 4.0.0-beta", + "obce-macro 0.1.0 (git+https://github.com/727-Ventures/obce?tag=3.0.0-beta)", + "parity-scale-codec", + "scale-info", +] + +[[package]] +name = "obce" +version = "0.1.0" +source = "git+https://github.com/Supercolony-net/obce?branch=polkadot-v0.9.32#163c456e79d2ed084b29e47637f0ec9fd9ac4376" +dependencies = [ + "ink_engine 3.4.0", + "ink_env 3.3.1", "ink_lang", - "ink_metadata", - "ink_prelude", - "ink_primitives", - "ink_storage", - "obce-macro", + "ink_metadata 3.3.1", + "ink_prelude 3.3.1", + "ink_primitives 3.3.1", + "ink_storage 3.3.1", + "obce-macro 0.1.0 (git+https://github.com/Supercolony-net/obce?branch=polkadot-v0.9.32)", "parity-scale-codec", "scale-info", ] @@ -578,7 +902,7 @@ dependencies = [ [[package]] name = "obce-codegen" version = "0.1.0" -source = "git+https://github.com/Supercolony-net/obce?branch=polkadot-v0.9.29#9843e2a3e91e7c29a9b21dde7ead3299e9d3c0fb" +source = "git+https://github.com/727-Ventures/obce?tag=3.0.0-beta#e4d93be5ea31ea39fd5c692e93ebe319b51cd604" dependencies = [ "blake2 0.10.4", "proc-macro2", @@ -586,12 +910,34 @@ dependencies = [ "syn", ] +[[package]] +name = "obce-codegen" +version = "0.1.0" +source = "git+https://github.com/Supercolony-net/obce?branch=polkadot-v0.9.32#163c456e79d2ed084b29e47637f0ec9fd9ac4376" +dependencies = [ + "blake2 0.10.4", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "obce-macro" +version = "0.1.0" +source = "git+https://github.com/727-Ventures/obce?tag=3.0.0-beta#e4d93be5ea31ea39fd5c692e93ebe319b51cd604" +dependencies = [ + "obce-codegen 0.1.0 (git+https://github.com/727-Ventures/obce?tag=3.0.0-beta)", + "proc-macro2", + "syn", + "synstructure", +] + [[package]] name = "obce-macro" version = "0.1.0" -source = "git+https://github.com/Supercolony-net/obce?branch=polkadot-v0.9.29#9843e2a3e91e7c29a9b21dde7ead3299e9d3c0fb" +source = "git+https://github.com/Supercolony-net/obce?branch=polkadot-v0.9.32#163c456e79d2ed084b29e47637f0ec9fd9ac4376" dependencies = [ - "obce-codegen", + "obce-codegen 0.1.0 (git+https://github.com/Supercolony-net/obce?branch=polkadot-v0.9.32)", "proc-macro2", "syn", "synstructure", @@ -614,14 +960,26 @@ name = "openbrush" version = "2.2.0" source = "git+https://github.com/Supercolony-net/openbrush-contracts.git?rev=15e6366#15e63664d87124f4cc0e7ba55b21a71222983677" dependencies = [ - "ink_env", + "ink_env 3.3.1", "ink_lang", - "ink_metadata", - "ink_prelude", - "ink_primitives", - "ink_storage", - "openbrush_contracts", - "openbrush_lang", + "ink_metadata 3.3.1", + "ink_prelude 3.3.1", + "ink_primitives 3.3.1", + "ink_storage 3.3.1", + "openbrush_contracts 2.2.0", + "openbrush_lang 2.2.0", + "parity-scale-codec", + "scale-info", +] + +[[package]] +name = "openbrush" +version = "3.0.0-beta" +source = "git+https://github.com/727-Ventures/openbrush-contracts.git?rev=3.0.0-beta#14ff655a0d83440f40c57c82d9a33e4c5b981da7" +dependencies = [ + "ink", + "openbrush_contracts 3.0.0-beta", + "openbrush_lang 3.0.0-beta", "parity-scale-codec", "scale-info", ] @@ -631,14 +989,26 @@ name = "openbrush_contracts" version = "2.2.0" source = "git+https://github.com/Supercolony-net/openbrush-contracts.git?rev=15e6366#15e63664d87124f4cc0e7ba55b21a71222983677" dependencies = [ - "ink_env", + "ink_env 3.3.1", "ink_lang", - "ink_metadata", - "ink_prelude", - "ink_primitives", - "ink_storage", - "openbrush_lang", - "pallet-assets-chain-extension", + "ink_metadata 3.3.1", + "ink_prelude 3.3.1", + "ink_primitives 3.3.1", + "ink_storage 3.3.1", + "openbrush_lang 2.2.0", + "pallet-assets-chain-extension 0.1.1 (git+https://github.com/Supercolony-net/pallet-assets-chain-extension)", + "parity-scale-codec", + "scale-info", +] + +[[package]] +name = "openbrush_contracts" +version = "3.0.0-beta" +source = "git+https://github.com/727-Ventures/openbrush-contracts.git?rev=3.0.0-beta#14ff655a0d83440f40c57c82d9a33e4c5b981da7" +dependencies = [ + "ink", + "openbrush_lang 3.0.0-beta", + "pallet-assets-chain-extension 0.1.1 (git+https://github.com/727-ventures/pallet-assets-chain-extension?tag=3.0.0-beta)", "parity-scale-codec", "scale-info", ] @@ -649,18 +1019,31 @@ version = "2.2.0" source = "git+https://github.com/Supercolony-net/openbrush-contracts.git?rev=15e6366#15e63664d87124f4cc0e7ba55b21a71222983677" dependencies = [ "const_format", - "ink_env", + "ink_env 3.3.1", "ink_lang", - "ink_metadata", - "ink_prelude", - "ink_primitives", - "ink_storage", - "openbrush_lang_macro", + "ink_metadata 3.3.1", + "ink_prelude 3.3.1", + "ink_primitives 3.3.1", + "ink_storage 3.3.1", + "openbrush_lang_macro 2.2.0", "parity-scale-codec", "scale-info", "sha2-const", ] +[[package]] +name = "openbrush_lang" +version = "3.0.0-beta" +source = "git+https://github.com/727-Ventures/openbrush-contracts.git?rev=3.0.0-beta#14ff655a0d83440f40c57c82d9a33e4c5b981da7" +dependencies = [ + "const_format", + "ink", + "openbrush_lang_macro 3.0.0-beta", + "parity-scale-codec", + "scale-info", + "xxhash-rust", +] + [[package]] name = "openbrush_lang_codegen" version = "2.2.0" @@ -680,12 +1063,43 @@ dependencies = [ "unwrap", ] +[[package]] +name = "openbrush_lang_codegen" +version = "3.0.0-beta" +source = "git+https://github.com/727-Ventures/openbrush-contracts.git?rev=3.0.0-beta#14ff655a0d83440f40c57c82d9a33e4c5b981da7" +dependencies = [ + "blake2 0.9.2", + "cargo_metadata", + "fs2", + "heck 0.3.3", + "ink_ir 4.0.0-beta (registry+https://github.com/rust-lang/crates.io-index)", + "ink_primitives 4.0.0-beta (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2", + "quote", + "serde", + "serde_json", + "syn", + "synstructure", + "unwrap", +] + [[package]] name = "openbrush_lang_macro" version = "2.2.0" source = "git+https://github.com/Supercolony-net/openbrush-contracts.git?rev=15e6366#15e63664d87124f4cc0e7ba55b21a71222983677" dependencies = [ - "openbrush_lang_codegen", + "openbrush_lang_codegen 2.2.0", + "proc-macro2", + "syn", + "synstructure", +] + +[[package]] +name = "openbrush_lang_macro" +version = "3.0.0-beta" +source = "git+https://github.com/727-Ventures/openbrush-contracts.git?rev=3.0.0-beta#14ff655a0d83440f40c57c82d9a33e4c5b981da7" +dependencies = [ + "openbrush_lang_codegen 3.0.0-beta", "proc-macro2", "syn", "synstructure", @@ -694,12 +1108,23 @@ dependencies = [ [[package]] name = "pallet-assets-chain-extension" version = "0.1.1" -source = "git+https://github.com/Supercolony-net/pallet-assets-chain-extension#83ff37cb0d19d15a881ecab2c922596039c8358d" +source = "git+https://github.com/727-ventures/pallet-assets-chain-extension?tag=3.0.0-beta#7e553468e9c0fbd4f543ccb950b3d17b548237f1" dependencies = [ - "ink_metadata", - "ink_primitives", - "ink_storage", - "obce", + "ink", + "obce 0.1.0 (git+https://github.com/727-Ventures/obce?tag=3.0.0-beta)", + "parity-scale-codec", + "scale-info", +] + +[[package]] +name = "pallet-assets-chain-extension" +version = "0.1.1" +source = "git+https://github.com/Supercolony-net/pallet-assets-chain-extension#a5a99eca8a37c295b8170321605c8f06906f6aff" +dependencies = [ + "ink_metadata 3.3.1", + "ink_primitives 3.3.1", + "ink_storage 3.3.1", + "obce 0.1.0 (git+https://github.com/Supercolony-net/obce?branch=polkadot-v0.9.32)", "parity-scale-codec", "scale-info", ] @@ -748,9 +1173,9 @@ dependencies = [ [[package]] name = "ppv-lite86" -version = "0.2.16" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb9f9e6e233e5c4a35559a617bf40a4ec447db2e84c20b55a6f83167b7e57872" +checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" [[package]] name = "proc-macro-crate" @@ -810,19 +1235,50 @@ dependencies = [ [[package]] name = "rand_core" -version = "0.6.3" +version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ "getrandom", ] +[[package]] +name = "regex" +version = "1.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48aaa5748ba571fb95cd2c85c09f629215d3a6ece942baa100950af03a34f733" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.6.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848" + [[package]] name = "rlibc" version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc874b127765f014d792f16763a81245ab80500e2ad921ed4ee9e82481ee08fe" +[[package]] +name = "rustix" +version = "0.36.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4feacf7db682c6c329c4ede12649cd36ecab0f3be5b7d74e6a20304725db4549" +dependencies = [ + "bitflags", + "errno", + "io-lifetimes", + "libc", + "linux-raw-sys", + "windows-sys", +] + [[package]] name = "ryu" version = "1.0.11" @@ -831,9 +1287,9 @@ checksum = "4501abdff3ae82a1c1b477a17252eb69cee9e66eb915c1abaa4f44d873df9f09" [[package]] name = "scale-info" -version = "2.2.0" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "333af15b02563b8182cd863f925bd31ef8fa86a0e095d30c091956057d436153" +checksum = "001cf62ece89779fd16105b5f515ad0e5cedcd5440d3dd806bb067978e7c3608" dependencies = [ "bitvec", "cfg-if", @@ -845,9 +1301,9 @@ dependencies = [ [[package]] name = "scale-info-derive" -version = "2.2.0" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53f56acbd0743d29ffa08f911ab5397def774ad01bab3786804cf6ee057fb5e1" +checksum = "303959cf613a6f6efd19ed4b4ad5bf79966a13352716299ad532cfb115f4205c" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -857,18 +1313,36 @@ dependencies = [ [[package]] name = "secp256k1" -version = "0.24.0" +version = "0.24.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b1629c9c557ef9b293568b338dddfc8208c98a18c59d722a9d53f859d9c9b62" +dependencies = [ + "secp256k1-sys 0.6.1", +] + +[[package]] +name = "secp256k1" +version = "0.25.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "550fc3b723a478be77bf74718947cdcdd75144d508aaa70f0a320036905df2a8" +dependencies = [ + "secp256k1-sys 0.7.0", +] + +[[package]] +name = "secp256k1-sys" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7649a0b3ffb32636e60c7ce0d70511eda9c52c658cd0634e194d5a19943aeff" +checksum = "83080e2c2fc1006e625be82e5d1eb6a43b7fd9578b617fcc55814daf286bba4b" dependencies = [ - "secp256k1-sys", + "cc", ] [[package]] name = "secp256k1-sys" -version = "0.6.0" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7058dc8eaf3f2810d7828680320acda0b25a288f6d288e19278e249bbf74226b" +checksum = "8058e28ae464daf5ac14c5c0f78110b58616e796c4e4e28cfcca38fdb13d8f22" dependencies = [ "cc", ] @@ -991,6 +1465,15 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" +[[package]] +name = "termcolor" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6" +dependencies = [ + "winapi-util", +] + [[package]] name = "thiserror" version = "1.0.35" @@ -1016,13 +1499,8 @@ name = "ticket_token" version = "2.1.0" dependencies = [ "access_control", - "ink_env", - "ink_lang", - "ink_metadata", - "ink_prelude", - "ink_primitives", - "ink_storage", - "openbrush", + "ink", + "openbrush 3.0.0-beta", "parity-scale-codec", "scale-info", ] @@ -1100,12 +1578,78 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" +[[package]] +name = "winapi-util" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" +dependencies = [ + "winapi", +] + [[package]] name = "winapi-x86_64-pc-windows-gnu" version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" +[[package]] +name = "windows-sys" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" +dependencies = [ + "windows_aarch64_gnullvm", + "windows_aarch64_msvc", + "windows_i686_gnu", + "windows_i686_msvc", + "windows_x86_64_gnu", + "windows_x86_64_gnullvm", + "windows_x86_64_msvc", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.42.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c9864e83243fdec7fc9c5444389dcbbfd258f745e7853198f365e3c4968a608" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.42.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c8b1b673ffc16c47a9ff48570a9d85e25d265735c503681332589af6253c6c7" + +[[package]] +name = "windows_i686_gnu" +version = "0.42.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "de3887528ad530ba7bdbb1faa8275ec7a1155a45ffa57c37993960277145d640" + +[[package]] +name = "windows_i686_msvc" +version = "0.42.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf4d1122317eddd6ff351aa852118a2418ad4214e6613a50e0191f7004372605" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.42.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1040f221285e17ebccbc2591ffdc2d44ee1f9186324dd3e84e99ac68d699c45" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.42.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "628bfdf232daa22b0d64fdb62b09fcc36bb01f05a3939e20ab73aaf9470d0463" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.42.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "447660ad36a13288b1db4d4248e857b510e8c3a225c822ba4fb748c0aafecffd" + [[package]] name = "wyz" version = "0.5.0" @@ -1114,3 +1658,9 @@ checksum = "30b31594f29d27036c383b53b59ed3476874d518f0efb151b27a4c275141390e" dependencies = [ "tap", ] + +[[package]] +name = "xxhash-rust" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "735a71d46c4d68d71d4b24d03fdc2b98e38cea81730595801db779c04fe80d70" diff --git a/contracts/button/errors.rs b/contracts/button/errors.rs index 81047085f4..0af7a5c94f 100644 --- a/contracts/button/errors.rs +++ b/contracts/button/errors.rs @@ -1,6 +1,8 @@ use access_control::roles::Role; -use ink_env::Error as InkEnvError; -use ink_prelude::{format, string::String}; +use ink::{ + env::Error as InkEnvError, + prelude::{format, string::String}, +}; use openbrush::contracts::psp22::PSP22Error; /// GameError types diff --git a/contracts/button/lib.rs b/contracts/button/lib.rs index a4d6fd97e7..042a9cb6d0 100644 --- a/contracts/button/lib.rs +++ b/contracts/button/lib.rs @@ -3,19 +3,20 @@ mod errors; -use ink_lang as ink; - #[ink::contract] pub mod button_game { use access_control::{roles::Role, traits::AccessControlled, ACCESS_CONTROL_PUBKEY}; use game_token::MINT_SELECTOR; - use ink_env::{ - call::{build_call, Call, ExecutionInput, Selector}, - CallFlags, DefaultEnvironment, Error as InkEnvError, + use ink::{ + codegen::EmitEvent, + env::{ + call::{build_call, Call, ExecutionInput, Selector}, + CallFlags, DefaultEnvironment, Error as InkEnvError, + }, + prelude::{format, vec}, + reflect::ContractEventBase, + storage::traits::StorageLayout, }; - use ink_lang::{codegen::EmitEvent, reflect::ContractEventBase}; - use ink_prelude::{format, vec}; - use ink_storage::traits::{PackedLayout, SpreadLayout}; use marketplace::RESET_SELECTOR as MARKETPLACE_RESET_SELECTOR; use openbrush::contracts::psp22::PSP22Error; use scale::{Decode, Encode}; @@ -59,11 +60,8 @@ pub mod button_game { } /// Scoring strategy indicating what kind of reward users get for pressing the button - #[derive(Debug, Encode, Decode, Clone, Copy, SpreadLayout, PackedLayout, PartialEq, Eq)] - #[cfg_attr( - feature = "std", - derive(scale_info::TypeInfo, ink_storage::traits::StorageLayout) - )] + #[derive(Debug, Encode, Decode, Clone, Copy, PartialEq, Eq)] + #[cfg_attr(feature = "std", derive(scale_info::TypeInfo, StorageLayout))] pub enum Scoring { /// Pressing the button as soon as possible gives the highest reward EarlyBirdSpecial, diff --git a/contracts/game_token/lib.rs b/contracts/game_token/lib.rs index e632da5634..c0934cf718 100644 --- a/contracts/game_token/lib.rs +++ b/contracts/game_token/lib.rs @@ -9,12 +9,13 @@ pub use crate::game_token::{ #[openbrush::contract] pub mod game_token { - use access_control::{roles::Role, traits::AccessControlled, ACCESS_CONTROL_PUBKEY}; + use access_control::{roles::Role, AccessControlRef, ACCESS_CONTROL_PUBKEY}; use ink::{ codegen::{EmitEvent, Env}, - env::Error as InkEnvError, + env::call::FromAccountId, prelude::{format, string::String}, reflect::ContractEventBase, + ToAccountId, }; use openbrush::{ contracts::psp22::{ @@ -32,14 +33,13 @@ pub mod game_token { pub const BURN_SELECTOR: [u8; 4] = [0x7a, 0x9d, 0xa5, 0x10]; #[ink(storage)] - #[derive(Default, Storage)] + #[derive(Storage)] pub struct GameToken { #[storage_field] psp22: psp22::Data, #[storage_field] metadata: metadata::Data, - /// access control contract - access_control: AccountId, + access_control: AccessControlRef, } impl PSP22 for GameToken {} @@ -101,10 +101,6 @@ pub mod game_token { } } - impl AccessControlled for GameToken { - type ContractError = PSP22Error; - } - /// Result type pub type Result = core::result::Result; /// Event type @@ -146,32 +142,24 @@ pub mod game_token { let code_hash = Self::env() .own_code_hash() .expect("Called new on a contract with no code hash"); - let required_role = Role::Initializer(code_hash); - - let role_check = ::check_role( - AccountId::from(ACCESS_CONTROL_PUBKEY), - caller, - required_role, - |why: InkEnvError| { - PSP22Error::Custom( - format!("Calling access control has failed: {:?}", why).into(), - ) - }, - |role: Role| PSP22Error::Custom(format!("MissingRole:{:?}", role).into()), - ); - match role_check { - Ok(_) => { - let mut instance = Self::default(); - - instance.metadata.name = Some(name.into()); - instance.metadata.symbol = Some(symbol.into()); - instance.metadata.decimals = 12; - instance.access_control = AccountId::from(ACCESS_CONTROL_PUBKEY); - - instance + let required_role = Role::Initializer(code_hash); + let access_control = AccountId::from(ACCESS_CONTROL_PUBKEY); + let access_control = AccessControlRef::from_account_id(access_control); + + if access_control.has_role(caller, required_role) { + let mut metadata = metadata::Data::default(); + metadata.name = Some(name.into()); + metadata.symbol = Some(symbol.into()); + metadata.decimals = 12; + + Self { + metadata, + access_control, + psp22: psp22::Data::default(), } - Err(why) => panic!("Could not initialize the contract {:?}", why), + } else { + panic!("Caller is not allowed to initialize this contract"); } } @@ -195,21 +183,15 @@ pub mod game_token { /// Returns the contract's access control contract address #[ink(message, selector = 8)] pub fn access_control(&self) -> AccountId { - self.access_control + self.access_control.to_account_id() } fn check_role(&self, account: AccountId, role: Role) -> Result<()> { - ::check_role( - self.access_control, - account, - role, - |why: InkEnvError| { - PSP22Error::Custom( - format!("Calling access control has failed: {:?}", why).into(), - ) - }, - |role: Role| PSP22Error::Custom(format!("MissingRole:{:?}", role).into()), - ) + if self.access_control.has_role(account, role) { + Ok(()) + } else { + Err(PSP22Error::Custom(format!("MissingRole:{:?}", role).into())) + } } /// Sets new access control contract address @@ -222,7 +204,7 @@ pub mod game_token { let required_role = Role::Owner(this); self.check_role(caller, required_role)?; - self.access_control = access_control; + self.access_control = AccessControlRef::from_account_id(access_control); Ok(()) } diff --git a/contracts/marketplace/lib.rs b/contracts/marketplace/lib.rs index d0f1593c50..acb1900c17 100644 --- a/contracts/marketplace/lib.rs +++ b/contracts/marketplace/lib.rs @@ -24,12 +24,12 @@ pub const RESET_SELECTOR: [u8; 4] = [0x00, 0x00, 0x00, 0x01]; #[ink::contract] pub mod marketplace { - use access_control::{roles::Role, traits::AccessControlled, ACCESS_CONTROL_PUBKEY}; + use access_control::{roles::Role, AccessControlRef, ACCESS_CONTROL_PUBKEY}; use game_token::BURN_SELECTOR as REWARD_BURN_SELECTOR; use ink::{ codegen::EmitEvent, env::{ - call::{build_call, Call, ExecutionInput, Selector}, + call::{build_call, Call, ExecutionInput, FromAccountId, Selector}, CallFlags, }, prelude::{format, string::String}, @@ -55,6 +55,7 @@ pub mod marketplace { sale_multiplier: Balance, ticket_token: AccountId, reward_token: AccountId, + access_control: AccessControlRef, } #[derive(Eq, PartialEq, Debug, scale::Encode, scale::Decode)] @@ -91,10 +92,6 @@ pub mod marketplace { } } - impl AccessControlled for Marketplace { - type ContractError = Error; - } - impl Marketplace { #[ink(constructor)] pub fn new( @@ -105,18 +102,22 @@ pub mod marketplace { sale_multiplier: Balance, auction_length: BlockNumber, ) -> Self { - Self::ensure_role(Self::initializer()) - .unwrap_or_else(|e| panic!("Failed to initialize the contract {:?}", e)); - - Marketplace { - ticket_token, - reward_token, - min_price, - sale_multiplier, - auction_length, - current_start_block: Self::env().block_number(), - total_proceeds: starting_price.saturating_div(sale_multiplier), - tickets_sold: 1, + let access_control = AccountId::from(ACCESS_CONTROL_PUBKEY); + let access_control = AccessControlRef::from_account_id(access_control); + if access_control.has_role(Self::env().caller(), Self::initializer()) { + Marketplace { + ticket_token, + reward_token, + min_price, + sale_multiplier, + auction_length, + current_start_block: Self::env().block_number(), + total_proceeds: starting_price.saturating_div(sale_multiplier), + tickets_sold: 1, + access_control, + } + } else { + panic!("Caller is not allowed to initialize this contract"); } } @@ -174,7 +175,7 @@ pub mod marketplace { /// Update the minimal price. #[ink(message)] pub fn set_min_price(&mut self, value: Balance) -> Result<(), Error> { - Self::ensure_role(self.admin())?; + self.ensure_role(self.admin())?; self.min_price = value; @@ -231,7 +232,7 @@ pub mod marketplace { /// Requires `Role::Admin`. #[ink(message, selector = 0x00000001)] pub fn reset(&mut self) -> Result<(), Error> { - Self::ensure_role(self.admin())?; + self.ensure_role(self.admin())?; self.current_start_block = self.env().block_number(); Self::emit_event(self.env(), Event::Reset(Reset {})); @@ -246,7 +247,7 @@ pub mod marketplace { pub fn terminate(&mut self) -> Result<(), Error> { let caller = self.env().caller(); let this = self.env().account_id(); - Self::ensure_role(Role::Owner(this))?; + self.ensure_role(Role::Owner(this))?; self.env().terminate_contract(caller) } @@ -308,14 +309,12 @@ pub mod marketplace { Ok(balance) } - fn ensure_role(role: Role) -> Result<(), Error> { - ::check_role( - AccountId::from(ACCESS_CONTROL_PUBKEY), - Self::env().caller(), - role, - |reason| reason.into(), - Error::MissingRole, - ) + fn ensure_role(&self, role: Role) -> Result<(), Error> { + if self.access_control.has_role(self.env().caller(), role) { + Ok(()) + } else { + Err(Error::MissingRole(role)) + } } fn initializer() -> Role { diff --git a/contracts/ticket_token/lib.rs b/contracts/ticket_token/lib.rs index 1934fdaf42..c2fcad625a 100644 --- a/contracts/ticket_token/lib.rs +++ b/contracts/ticket_token/lib.rs @@ -6,12 +6,13 @@ pub use crate::ticket_token::{BALANCE_OF_SELECTOR, TRANSFER_FROM_SELECTOR, TRANS #[openbrush::contract] pub mod ticket_token { - use access_control::{roles::Role, traits::AccessControlled, ACCESS_CONTROL_PUBKEY}; + use access_control::{roles::Role, AccessControlRef, ACCESS_CONTROL_PUBKEY}; use ink::{ codegen::{EmitEvent, Env}, - env::Error as InkEnvError, + env::call::FromAccountId, prelude::{format, string::String}, reflect::ContractEventBase, + ToAccountId, }; use openbrush::{ contracts::psp22::{extensions::metadata::*, Internal}, @@ -23,14 +24,13 @@ pub mod ticket_token { pub const TRANSFER_FROM_SELECTOR: [u8; 4] = [0x54, 0xb3, 0xc7, 0x6e]; #[ink(storage)] - #[derive(Default, Storage)] + #[derive(Storage)] pub struct TicketToken { #[storage_field] psp22: psp22::Data, #[storage_field] metadata: metadata::Data, - /// access control contract - access_control: AccountId, + access_control: AccessControlRef, } impl PSP22 for TicketToken {} @@ -66,10 +66,6 @@ pub mod ticket_token { } } - impl AccessControlled for TicketToken { - type ContractError = PSP22Error; - } - /// Result type pub type Result = core::result::Result; /// Event type @@ -101,42 +97,37 @@ pub mod ticket_token { impl TicketToken { /// Creates a new contract with the specified initial supply. /// - /// Will revert if called from an account without a proper role + /// Will revert if called from an account without a proper role #[ink(constructor)] pub fn new(name: String, symbol: String, total_supply: Balance) -> Self { let caller = Self::env().caller(); let code_hash = Self::env() .own_code_hash() .expect("Called new on a contract with no code hash"); - let required_role = Role::Initializer(code_hash); - - let role_check = ::check_role( - AccountId::from(ACCESS_CONTROL_PUBKEY), - caller, - required_role, - |why: InkEnvError| { - PSP22Error::Custom( - format!("Calling access control has failed: {:?}", why).into(), - ) - }, - |role: Role| PSP22Error::Custom(format!("MissingRole:{:?}", role).into()), - ); - match role_check { - Ok(_) => { - let mut instance = Self::default(); - instance.access_control = AccountId::from(ACCESS_CONTROL_PUBKEY); - instance.metadata.name = Some(name.into()); - instance.metadata.symbol = Some(symbol.into()); - instance.metadata.decimals = 0; - - instance - ._mint_to(instance.env().caller(), total_supply) - .expect("Should mint"); - - instance - } - Err(why) => panic!("Could not initialize the contract {:?}", why), + let required_role = Role::Initializer(code_hash); + let access_control = AccountId::from(ACCESS_CONTROL_PUBKEY); + let access_control = AccessControlRef::from_account_id(access_control); + + if access_control.has_role(caller, required_role) { + let mut metadata = metadata::Data::default(); + metadata.name = Some(name.into()); + metadata.symbol = Some(symbol.into()); + metadata.decimals = 0; + + let mut instance = TicketToken { + access_control, + metadata, + psp22: psp22::Data::default(), + }; + + instance + ._mint_to(instance.env().caller(), total_supply) + .expect("Should mint"); + + instance + } else { + panic!("Caller is not allowed to initialize this contract"); } } @@ -160,21 +151,17 @@ pub mod ticket_token { /// Returns the contract's access control contract address #[ink(message, selector = 8)] pub fn access_control(&self) -> AccountId { - self.access_control + self.access_control.to_account_id() } fn check_role(&self, account: AccountId, role: Role) -> Result<()> { - ::check_role( - self.access_control, - account, - role, - |why: InkEnvError| { - PSP22Error::Custom( - format!("Calling access control has failed: {:?}", why).into(), - ) - }, - |role: Role| PSP22Error::Custom(format!("MissingRole:{:?}", role).into()), - ) + if self.access_control.has_role(account, role) { + Ok(()) + } else { + Err(PSP22Error::Custom( + format!("Role missing: {:?}", role).into(), + )) + } } /// Sets new access control contract address @@ -187,7 +174,8 @@ pub mod ticket_token { let required_role = Role::Owner(this); self.check_role(caller, required_role)?; - self.access_control = access_control; + self.access_control = AccessControlRef::from_account_id(access_control); + Ok(()) } From 26c30a8e930a5f2e943bfab7f09b8631e07e5969 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Obrok?= Date: Thu, 19 Jan 2023 14:22:50 +0100 Subject: [PATCH 098/212] Migrate button to ink4 --- contracts/button/Cargo.lock | 462 +++--------------------------------- contracts/button/Cargo.toml | 19 +- contracts/button/lib.rs | 54 ++--- 3 files changed, 60 insertions(+), 475 deletions(-) diff --git a/contracts/button/Cargo.lock b/contracts/button/Cargo.lock index 9b5c07c04c..e9d200c2fe 100644 --- a/contracts/button/Cargo.lock +++ b/contracts/button/Cargo.lock @@ -97,14 +97,9 @@ version = "0.1.0" dependencies = [ "access_control", "game_token", - "ink_env 3.3.1", - "ink_lang", - "ink_metadata 3.3.1", - "ink_prelude 3.3.1", - "ink_primitives 3.3.1", - "ink_storage 3.3.1", + "ink", "marketplace", - "openbrush 2.2.0", + "openbrush", "parity-scale-codec", "scale-info", "ticket_token", @@ -302,7 +297,7 @@ version = "2.1.0" dependencies = [ "access_control", "ink", - "openbrush 3.0.0-beta", + "openbrush", "parity-scale-codec", "scale-info", ] @@ -317,17 +312,6 @@ dependencies = [ "version_check", ] -[[package]] -name = "getrandom" -version = "0.2.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31" -dependencies = [ - "cfg-if", - "libc", - "wasi", -] - [[package]] name = "heck" version = "0.3.3" @@ -358,15 +342,6 @@ version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" -[[package]] -name = "impl-serde" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4551f042f3438e64dbd6226b20527fc84a6e1fe65688b58746a2f53623f25f5c" -dependencies = [ - "serde", -] - [[package]] name = "impl-serde" version = "0.4.0" @@ -393,24 +368,15 @@ version = "4.0.0-beta" source = "git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde#4655a8b4413cb50cbc38d1b7c173ad426ab06cde" dependencies = [ "derive_more", - "ink_env 4.0.0-beta", + "ink_env", "ink_macro", - "ink_metadata 4.0.0-beta", + "ink_metadata", "ink_prelude 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", "ink_primitives 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", - "ink_storage 4.0.0-beta", + "ink_storage", "parity-scale-codec", ] -[[package]] -name = "ink_allocator" -version = "3.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c9588a59a0e8997c0b2153cd11b5aaa77c06a0537a6b18f3811d1f1aa098b12" -dependencies = [ - "cfg-if", -] - [[package]] name = "ink_allocator" version = "4.0.0-beta" @@ -429,7 +395,7 @@ dependencies = [ "either", "env_logger", "heck 0.4.0", - "impl-serde 0.4.0", + "impl-serde", "ink_ir 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", "ink_primitives 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", "itertools", @@ -442,21 +408,6 @@ dependencies = [ "syn", ] -[[package]] -name = "ink_engine" -version = "3.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "487c3b390b7feb0620496b0cd38683433c7d7e6946b1caabda51e1f23eb24b30" -dependencies = [ - "blake2 0.10.4", - "derive_more", - "parity-scale-codec", - "rand", - "secp256k1 0.24.3", - "sha2", - "sha3", -] - [[package]] name = "ink_engine" version = "4.0.0-beta" @@ -466,36 +417,9 @@ dependencies = [ "derive_more", "ink_primitives 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", "parity-scale-codec", - "secp256k1 0.25.0", - "sha2", - "sha3", -] - -[[package]] -name = "ink_env" -version = "3.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "271689b643d7ccf2bcd09d7ef07eda79cd3366ee042d5bbfcebf534b08da79d7" -dependencies = [ - "arrayref", - "blake2 0.10.4", - "cfg-if", - "derive_more", - "ink_allocator 3.4.0", - "ink_engine 3.4.0", - "ink_metadata 3.3.1", - "ink_prelude 3.3.1", - "ink_primitives 3.3.1", - "num-traits", - "parity-scale-codec", - "paste", - "rand", - "rlibc", - "scale-info", - "secp256k1 0.24.3", + "secp256k1", "sha2", "sha3", - "static_assertions", ] [[package]] @@ -507,9 +431,9 @@ dependencies = [ "blake2 0.10.4", "cfg-if", "derive_more", - "ink_allocator 4.0.0-beta", - "ink_engine 4.0.0-beta", - "ink_metadata 4.0.0-beta", + "ink_allocator", + "ink_engine", + "ink_metadata", "ink_prelude 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", "ink_primitives 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", "ink_storage_traits", @@ -518,7 +442,7 @@ dependencies = [ "paste", "rlibc", "scale-info", - "secp256k1 0.25.0", + "secp256k1", "sha2", "sha3", "static_assertions", @@ -551,69 +475,6 @@ dependencies = [ "syn", ] -[[package]] -name = "ink_lang" -version = "3.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62cf662fe6a130ea1ada3520142405e3ed521b79c35b7274cc95dd37bc833571" -dependencies = [ - "derive_more", - "ink_env 3.3.1", - "ink_lang_macro", - "ink_metadata 3.3.1", - "ink_prelude 3.3.1", - "ink_primitives 3.3.1", - "ink_storage 3.3.1", - "parity-scale-codec", -] - -[[package]] -name = "ink_lang_codegen" -version = "3.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94dc22732ced2557f0411de5fa31d6fddc3878968041b699ae16ed1c390d2660" -dependencies = [ - "blake2 0.10.4", - "derive_more", - "either", - "heck 0.4.0", - "impl-serde 0.3.2", - "ink_lang_ir", - "itertools", - "parity-scale-codec", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "ink_lang_ir" -version = "3.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a089bcac8d7e6a487b7a18ea8a1d20eb540ed26657706ac221cc0e8239047e45" -dependencies = [ - "blake2 0.10.4", - "either", - "itertools", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "ink_lang_macro" -version = "3.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1330da0b8007b86de94f95fbc74769c0461d3b078b291af5497771598db1c5b4" -dependencies = [ - "ink_lang_codegen", - "ink_lang_ir", - "ink_primitives 3.3.1", - "parity-scale-codec", - "proc-macro2", - "syn", -] - [[package]] name = "ink_macro" version = "4.0.0-beta" @@ -629,42 +490,19 @@ dependencies = [ "synstructure", ] -[[package]] -name = "ink_metadata" -version = "3.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d442f4f5dcbf120aa84cae9e399065ad99d143d5a920b06d3da286e91c03ec70" -dependencies = [ - "derive_more", - "impl-serde 0.3.2", - "ink_prelude 3.3.1", - "ink_primitives 3.3.1", - "scale-info", - "serde", -] - [[package]] name = "ink_metadata" version = "4.0.0-beta" source = "git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde#4655a8b4413cb50cbc38d1b7c173ad426ab06cde" dependencies = [ "derive_more", - "impl-serde 0.4.0", + "impl-serde", "ink_prelude 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", "ink_primitives 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", "scale-info", "serde", ] -[[package]] -name = "ink_prelude" -version = "3.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e38d71af62cfec3425727d28665a947d636c3be6ae71ac3a79868ef8a08633f3" -dependencies = [ - "cfg-if", -] - [[package]] name = "ink_prelude" version = "4.0.0-beta" @@ -682,18 +520,6 @@ dependencies = [ "cfg-if", ] -[[package]] -name = "ink_primitives" -version = "3.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea7afd5330a9d3be1533222a48b8ab44b3a3356a5e6bb090bff0790aa562b418" -dependencies = [ - "cfg-if", - "ink_prelude 3.3.1", - "parity-scale-codec", - "scale-info", -] - [[package]] name = "ink_primitives" version = "4.0.0-beta" @@ -718,24 +544,6 @@ dependencies = [ "xxhash-rust", ] -[[package]] -name = "ink_storage" -version = "3.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be827b98c102c413b2309075f0835a9bb8c6325fc6aa09e66963424db7a8bcb5" -dependencies = [ - "array-init", - "cfg-if", - "derive_more", - "ink_env 3.3.1", - "ink_metadata 3.3.1", - "ink_prelude 3.3.1", - "ink_primitives 3.3.1", - "ink_storage_derive", - "parity-scale-codec", - "scale-info", -] - [[package]] name = "ink_storage" version = "4.0.0-beta" @@ -744,8 +552,8 @@ dependencies = [ "array-init", "cfg-if", "derive_more", - "ink_env 4.0.0-beta", - "ink_metadata 4.0.0-beta", + "ink_env", + "ink_metadata", "ink_prelude 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", "ink_primitives 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", "ink_storage_traits", @@ -753,24 +561,12 @@ dependencies = [ "scale-info", ] -[[package]] -name = "ink_storage_derive" -version = "3.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "babf1d8903dc9219ad8e8aa181eddb919d9794aad1da23ccdce770925b7de2ba" -dependencies = [ - "proc-macro2", - "quote", - "syn", - "synstructure", -] - [[package]] name = "ink_storage_traits" version = "4.0.0-beta" source = "git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde#4655a8b4413cb50cbc38d1b7c173ad426ab06cde" dependencies = [ - "ink_metadata 4.0.0-beta", + "ink_metadata", "ink_prelude 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", "ink_primitives 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", "parity-scale-codec", @@ -849,7 +645,7 @@ dependencies = [ "access_control", "game_token", "ink", - "openbrush 3.0.0-beta", + "openbrush", "parity-scale-codec", "scale-info", "ticket_token", @@ -876,25 +672,8 @@ version = "0.1.0" source = "git+https://github.com/727-Ventures/obce?tag=3.0.0-beta#e4d93be5ea31ea39fd5c692e93ebe319b51cd604" dependencies = [ "ink", - "ink_engine 4.0.0-beta", - "obce-macro 0.1.0 (git+https://github.com/727-Ventures/obce?tag=3.0.0-beta)", - "parity-scale-codec", - "scale-info", -] - -[[package]] -name = "obce" -version = "0.1.0" -source = "git+https://github.com/Supercolony-net/obce?branch=polkadot-v0.9.32#163c456e79d2ed084b29e47637f0ec9fd9ac4376" -dependencies = [ - "ink_engine 3.4.0", - "ink_env 3.3.1", - "ink_lang", - "ink_metadata 3.3.1", - "ink_prelude 3.3.1", - "ink_primitives 3.3.1", - "ink_storage 3.3.1", - "obce-macro 0.1.0 (git+https://github.com/Supercolony-net/obce?branch=polkadot-v0.9.32)", + "ink_engine", + "obce-macro", "parity-scale-codec", "scale-info", ] @@ -910,34 +689,12 @@ dependencies = [ "syn", ] -[[package]] -name = "obce-codegen" -version = "0.1.0" -source = "git+https://github.com/Supercolony-net/obce?branch=polkadot-v0.9.32#163c456e79d2ed084b29e47637f0ec9fd9ac4376" -dependencies = [ - "blake2 0.10.4", - "proc-macro2", - "quote", - "syn", -] - [[package]] name = "obce-macro" version = "0.1.0" source = "git+https://github.com/727-Ventures/obce?tag=3.0.0-beta#e4d93be5ea31ea39fd5c692e93ebe319b51cd604" dependencies = [ - "obce-codegen 0.1.0 (git+https://github.com/727-Ventures/obce?tag=3.0.0-beta)", - "proc-macro2", - "syn", - "synstructure", -] - -[[package]] -name = "obce-macro" -version = "0.1.0" -source = "git+https://github.com/Supercolony-net/obce?branch=polkadot-v0.9.32#163c456e79d2ed084b29e47637f0ec9fd9ac4376" -dependencies = [ - "obce-codegen 0.1.0 (git+https://github.com/Supercolony-net/obce?branch=polkadot-v0.9.32)", + "obce-codegen", "proc-macro2", "syn", "synstructure", @@ -955,48 +712,14 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" -[[package]] -name = "openbrush" -version = "2.2.0" -source = "git+https://github.com/Supercolony-net/openbrush-contracts.git?rev=15e6366#15e63664d87124f4cc0e7ba55b21a71222983677" -dependencies = [ - "ink_env 3.3.1", - "ink_lang", - "ink_metadata 3.3.1", - "ink_prelude 3.3.1", - "ink_primitives 3.3.1", - "ink_storage 3.3.1", - "openbrush_contracts 2.2.0", - "openbrush_lang 2.2.0", - "parity-scale-codec", - "scale-info", -] - [[package]] name = "openbrush" version = "3.0.0-beta" source = "git+https://github.com/727-Ventures/openbrush-contracts.git?rev=3.0.0-beta#14ff655a0d83440f40c57c82d9a33e4c5b981da7" dependencies = [ "ink", - "openbrush_contracts 3.0.0-beta", - "openbrush_lang 3.0.0-beta", - "parity-scale-codec", - "scale-info", -] - -[[package]] -name = "openbrush_contracts" -version = "2.2.0" -source = "git+https://github.com/Supercolony-net/openbrush-contracts.git?rev=15e6366#15e63664d87124f4cc0e7ba55b21a71222983677" -dependencies = [ - "ink_env 3.3.1", - "ink_lang", - "ink_metadata 3.3.1", - "ink_prelude 3.3.1", - "ink_primitives 3.3.1", - "ink_storage 3.3.1", - "openbrush_lang 2.2.0", - "pallet-assets-chain-extension 0.1.1 (git+https://github.com/Supercolony-net/pallet-assets-chain-extension)", + "openbrush_contracts", + "openbrush_lang", "parity-scale-codec", "scale-info", ] @@ -1007,30 +730,12 @@ version = "3.0.0-beta" source = "git+https://github.com/727-Ventures/openbrush-contracts.git?rev=3.0.0-beta#14ff655a0d83440f40c57c82d9a33e4c5b981da7" dependencies = [ "ink", - "openbrush_lang 3.0.0-beta", - "pallet-assets-chain-extension 0.1.1 (git+https://github.com/727-ventures/pallet-assets-chain-extension?tag=3.0.0-beta)", + "openbrush_lang", + "pallet-assets-chain-extension", "parity-scale-codec", "scale-info", ] -[[package]] -name = "openbrush_lang" -version = "2.2.0" -source = "git+https://github.com/Supercolony-net/openbrush-contracts.git?rev=15e6366#15e63664d87124f4cc0e7ba55b21a71222983677" -dependencies = [ - "const_format", - "ink_env 3.3.1", - "ink_lang", - "ink_metadata 3.3.1", - "ink_prelude 3.3.1", - "ink_primitives 3.3.1", - "ink_storage 3.3.1", - "openbrush_lang_macro 2.2.0", - "parity-scale-codec", - "scale-info", - "sha2-const", -] - [[package]] name = "openbrush_lang" version = "3.0.0-beta" @@ -1038,31 +743,12 @@ source = "git+https://github.com/727-Ventures/openbrush-contracts.git?rev=3.0.0- dependencies = [ "const_format", "ink", - "openbrush_lang_macro 3.0.0-beta", + "openbrush_lang_macro", "parity-scale-codec", "scale-info", "xxhash-rust", ] -[[package]] -name = "openbrush_lang_codegen" -version = "2.2.0" -source = "git+https://github.com/Supercolony-net/openbrush-contracts.git?rev=15e6366#15e63664d87124f4cc0e7ba55b21a71222983677" -dependencies = [ - "blake2 0.9.2", - "cargo_metadata", - "fs2", - "heck 0.3.3", - "ink_lang_ir", - "proc-macro2", - "quote", - "serde", - "serde_json", - "syn", - "synstructure", - "unwrap", -] - [[package]] name = "openbrush_lang_codegen" version = "3.0.0-beta" @@ -1083,23 +769,12 @@ dependencies = [ "unwrap", ] -[[package]] -name = "openbrush_lang_macro" -version = "2.2.0" -source = "git+https://github.com/Supercolony-net/openbrush-contracts.git?rev=15e6366#15e63664d87124f4cc0e7ba55b21a71222983677" -dependencies = [ - "openbrush_lang_codegen 2.2.0", - "proc-macro2", - "syn", - "synstructure", -] - [[package]] name = "openbrush_lang_macro" version = "3.0.0-beta" source = "git+https://github.com/727-Ventures/openbrush-contracts.git?rev=3.0.0-beta#14ff655a0d83440f40c57c82d9a33e4c5b981da7" dependencies = [ - "openbrush_lang_codegen 3.0.0-beta", + "openbrush_lang_codegen", "proc-macro2", "syn", "synstructure", @@ -1111,20 +786,7 @@ version = "0.1.1" source = "git+https://github.com/727-ventures/pallet-assets-chain-extension?tag=3.0.0-beta#7e553468e9c0fbd4f543ccb950b3d17b548237f1" dependencies = [ "ink", - "obce 0.1.0 (git+https://github.com/727-Ventures/obce?tag=3.0.0-beta)", - "parity-scale-codec", - "scale-info", -] - -[[package]] -name = "pallet-assets-chain-extension" -version = "0.1.1" -source = "git+https://github.com/Supercolony-net/pallet-assets-chain-extension#a5a99eca8a37c295b8170321605c8f06906f6aff" -dependencies = [ - "ink_metadata 3.3.1", - "ink_primitives 3.3.1", - "ink_storage 3.3.1", - "obce 0.1.0 (git+https://github.com/Supercolony-net/obce?branch=polkadot-v0.9.32)", + "obce", "parity-scale-codec", "scale-info", ] @@ -1171,12 +833,6 @@ dependencies = [ "ucd-trie", ] -[[package]] -name = "ppv-lite86" -version = "0.2.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" - [[package]] name = "proc-macro-crate" version = "1.2.1" @@ -1212,36 +868,6 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" -[[package]] -name = "rand" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" -dependencies = [ - "libc", - "rand_chacha", - "rand_core", -] - -[[package]] -name = "rand_chacha" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" -dependencies = [ - "ppv-lite86", - "rand_core", -] - -[[package]] -name = "rand_core" -version = "0.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" -dependencies = [ - "getrandom", -] - [[package]] name = "regex" version = "1.7.1" @@ -1311,31 +937,13 @@ dependencies = [ "syn", ] -[[package]] -name = "secp256k1" -version = "0.24.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b1629c9c557ef9b293568b338dddfc8208c98a18c59d722a9d53f859d9c9b62" -dependencies = [ - "secp256k1-sys 0.6.1", -] - [[package]] name = "secp256k1" version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "550fc3b723a478be77bf74718947cdcdd75144d508aaa70f0a320036905df2a8" dependencies = [ - "secp256k1-sys 0.7.0", -] - -[[package]] -name = "secp256k1-sys" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83080e2c2fc1006e625be82e5d1eb6a43b7fd9578b617fcc55814daf286bba4b" -dependencies = [ - "cc", + "secp256k1-sys", ] [[package]] @@ -1408,12 +1016,6 @@ dependencies = [ "digest 0.10.3", ] -[[package]] -name = "sha2-const" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5edcd790916d95ff81bdc1505b09c74d30d47a755929cc8c71c59cbbfa99f91b" - [[package]] name = "sha3" version = "0.10.4" @@ -1500,7 +1102,7 @@ version = "2.1.0" dependencies = [ "access_control", "ink", - "openbrush 3.0.0-beta", + "openbrush", "parity-scale-codec", "scale-info", ] @@ -1556,12 +1158,6 @@ version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" -[[package]] -name = "wasi" -version = "0.11.0+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" - [[package]] name = "winapi" version = "0.3.9" diff --git a/contracts/button/Cargo.toml b/contracts/button/Cargo.toml index b8be127954..a8468f8320 100644 --- a/contracts/button/Cargo.toml +++ b/contracts/button/Cargo.toml @@ -5,21 +5,17 @@ authors = ["Cardinal Cryptography"] edition = "2021" [dependencies] -ink_env = { version = "~3.3.0", default-features = false } -ink_lang = { version = "~3.3.0", default-features = false } -ink_metadata = { version = "~3.3.0", default-features = false, features = ["derive"], optional = true } -ink_prelude = { version = "~3.3.0", default-features = false } -ink_primitives = { version = "~3.3.0", default-features = false } -ink_storage = { version = "~3.3.0", default-features = false } +ink = { git = "https://github.com/paritytech/ink", rev = "4655a8b4413cb50cbc38d1b7c173ad426ab06cde", default-features = false} scale = { package = "parity-scale-codec", version = "3", default-features = false, features = ["derive"] } -scale-info = { version = "2", default-features = false, features = ["derive"], optional = true } +scale-info = { version = "2.3", default-features = false, features = ["derive"], optional = true } + +openbrush = { git = "https://github.com/727-Ventures/openbrush-contracts.git", rev = "3.0.0-beta", default-features = false, features = ["psp22"] } access_control = { path = "../access_control", default-features = false, features = ["ink-as-dependency"] } game_token = { path = "../game_token", default-features = false, features = ["ink-as-dependency"] } ticket_token = { path = "../ticket_token", default-features = false, features = ["ink-as-dependency"] } marketplace = { path = "../marketplace", default-features = false, features = ["ink-as-dependency"] } -openbrush = { git = "https://github.com/Supercolony-net/openbrush-contracts.git", rev = "15e6366", default-features = false, features = ["psp22"] } [lib] name = "button" @@ -32,12 +28,7 @@ crate-type = [ [features] default = ["std"] std = [ - "ink_env/std", - "ink_lang/std", - "ink_metadata/std", - "ink_prelude/std", - "ink_primitives/std", - "ink_storage/std", + "ink/std", "scale-info/std", "scale/std", "access_control/std", diff --git a/contracts/button/lib.rs b/contracts/button/lib.rs index 042a9cb6d0..ddf93752bc 100644 --- a/contracts/button/lib.rs +++ b/contracts/button/lib.rs @@ -5,17 +5,19 @@ mod errors; #[ink::contract] pub mod button_game { - use access_control::{roles::Role, traits::AccessControlled, ACCESS_CONTROL_PUBKEY}; + use access_control::{roles::Role, AccessControlRef, ACCESS_CONTROL_PUBKEY}; use game_token::MINT_SELECTOR; + #[cfg(feature = "std")] + use ink::storage::traits::StorageLayout; use ink::{ codegen::EmitEvent, env::{ - call::{build_call, Call, ExecutionInput, Selector}, + call::{build_call, Call, ExecutionInput, FromAccountId, Selector}, CallFlags, DefaultEnvironment, Error as InkEnvError, }, - prelude::{format, vec}, + prelude::vec, reflect::ContractEventBase, - storage::traits::StorageLayout, + ToAccountId, }; use marketplace::RESET_SELECTOR as MARKETPLACE_RESET_SELECTOR; use openbrush::contracts::psp22::PSP22Error; @@ -89,7 +91,7 @@ pub mod button_game { /// Account ID of the ticket token pub ticket_token: AccountId, /// access control contract - pub access_control: AccountId, + pub access_control: AccessControlRef, /// ticket marketplace contract pub marketplace: AccountId, /// scoring strategy @@ -98,10 +100,6 @@ pub mod button_game { pub round: u64, } - impl AccessControlled for ButtonGame { - type ContractError = GameError; - } - impl ButtonGame { #[ink(constructor)] pub fn new( @@ -117,9 +115,11 @@ pub mod button_game { .expect("Called new on a contract with no code hash"); let required_role = Role::Initializer(code_hash); let access_control = AccountId::from(ACCESS_CONTROL_PUBKEY); + let access_control = AccessControlRef::from_account_id(access_control); - match ButtonGame::check_role(access_control, caller, required_role) { + match ButtonGame::check_role(&access_control, caller, required_role) { Ok(_) => Self::init( + access_control, ticket_token, reward_token, marketplace, @@ -160,7 +160,7 @@ pub mod button_game { /// Returns the current access control contract address #[ink(message)] pub fn access_control(&self) -> AccountId { - self.access_control + self.access_control.to_account_id() } /// Returns address of the game's reward token @@ -253,8 +253,8 @@ pub mod button_game { let caller = self.env().caller(); let this = self.env().account_id(); let required_role = Role::Owner(this); - ButtonGame::check_role(self.access_control, caller, required_role)?; - self.access_control = new_access_control; + ButtonGame::check_role(&self.access_control, caller, required_role)?; + self.access_control = AccessControlRef::from_account_id(new_access_control); Ok(()) } @@ -266,13 +266,14 @@ pub mod button_game { let caller = self.env().caller(); let this = self.env().account_id(); let required_role = Role::Owner(this); - ButtonGame::check_role(self.access_control, caller, required_role)?; + ButtonGame::check_role(&self.access_control, caller, required_role)?; self.env().terminate_contract(caller) } //=================================================================================================== fn init( + access_control: AccessControlRef, ticket_token: AccountId, reward_token: AccountId, marketplace: AccountId, @@ -283,7 +284,7 @@ pub mod button_game { let deadline = now + button_lifetime; let contract = Self { - access_control: AccountId::from(ACCESS_CONTROL_PUBKEY), + access_control, button_lifetime, reward_token, ticket_token, @@ -380,19 +381,16 @@ pub mod button_game { Ok(()) } - fn check_role(access_control: AccountId, account: AccountId, role: Role) -> ButtonResult<()> - where - Self: AccessControlled, - { - ::check_role( - access_control, - account, - role, - |why: InkEnvError| { - GameError::InkEnvError(format!("Calling access control has failed: {:?}", why)) - }, - GameError::MissingRole, - ) + fn check_role( + access_control: &AccessControlRef, + account: AccountId, + role: Role, + ) -> ButtonResult<()> { + if access_control.has_role(account, role) { + Ok(()) + } else { + Err(GameError::MissingRole(role)) + } } fn score(&self, now: BlockNumber) -> Balance { From f469bd1dc6d2c6ad7eb6241636823949813faad4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Obrok?= Date: Thu, 19 Jan 2023 14:58:29 +0100 Subject: [PATCH 099/212] Migrate wrapped_azero to ink4 --- contracts/wrapped_azero/Cargo.lock | 543 +++++++++++++++++++---------- contracts/wrapped_azero/Cargo.toml | 25 +- contracts/wrapped_azero/lib.rs | 75 ++-- 3 files changed, 390 insertions(+), 253 deletions(-) diff --git a/contracts/wrapped_azero/Cargo.lock b/contracts/wrapped_azero/Cargo.lock index 49d07f6356..a5a01058dd 100644 --- a/contracts/wrapped_azero/Cargo.lock +++ b/contracts/wrapped_azero/Cargo.lock @@ -6,12 +6,18 @@ version = 3 name = "access_control" version = "0.2.0" dependencies = [ - "ink_env", - "ink_lang", - "ink_lang_codegen", - "ink_primitives", - "ink_storage", + "ink", "parity-scale-codec", + "scale-info", +] + +[[package]] +name = "aho-corasick" +version = "0.7.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac" +dependencies = [ + "memchr", ] [[package]] @@ -38,6 +44,12 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + [[package]] name = "bitvec" version = "1.0.1" @@ -215,6 +227,40 @@ version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "90e5c1c8368803113bf0c9584fc495a58b86dc8a29edbf8fe877d21d9507e797" +[[package]] +name = "env_logger" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85cdab6a89accf66733ad5a1693a4dcced6aeff64602b634530dd73c1f3ee9f0" +dependencies = [ + "humantime", + "is-terminal", + "log", + "regex", + "termcolor", +] + +[[package]] +name = "errno" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f639046355ee4f37944e44f60642c6f3a7efa3cf6b78c78a0d989a8ce6c396a1" +dependencies = [ + "errno-dragonfly", + "libc", + "winapi", +] + +[[package]] +name = "errno-dragonfly" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf" +dependencies = [ + "cc", + "libc", +] + [[package]] name = "fs2" version = "0.4.3" @@ -241,17 +287,6 @@ dependencies = [ "version_check", ] -[[package]] -name = "getrandom" -version = "0.2.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4eb1a864a501629691edf6c15a593b7a51eebaa1e8468e9ddc623de7c9b58ec6" -dependencies = [ - "cfg-if", - "libc", - "wasi", -] - [[package]] name = "heck" version = "0.3.3" @@ -267,11 +302,26 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9" +[[package]] +name = "hermit-abi" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7" +dependencies = [ + "libc", +] + +[[package]] +name = "humantime" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" + [[package]] name = "impl-serde" -version = "0.3.2" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4551f042f3438e64dbd6226b20527fc84a6e1fe65688b58746a2f53623f25f5c" +checksum = "ebc88fc67028ae3db0c853baa36269d398d5f45b6982f95549ff5def78c935cd" dependencies = [ "serde", ] @@ -287,25 +337,61 @@ dependencies = [ "syn", ] +[[package]] +name = "ink" +version = "4.0.0-beta" +source = "git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde#4655a8b4413cb50cbc38d1b7c173ad426ab06cde" +dependencies = [ + "derive_more", + "ink_env", + "ink_macro", + "ink_metadata", + "ink_prelude 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", + "ink_primitives 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", + "ink_storage", + "parity-scale-codec", +] + [[package]] name = "ink_allocator" -version = "3.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a291f411e310b7a3bb01ce21102b8c0aea5b7b523e4bad0b40a8e55a76c58906" +version = "4.0.0-beta" +source = "git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde#4655a8b4413cb50cbc38d1b7c173ad426ab06cde" dependencies = [ "cfg-if", ] +[[package]] +name = "ink_codegen" +version = "4.0.0-beta" +source = "git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde#4655a8b4413cb50cbc38d1b7c173ad426ab06cde" +dependencies = [ + "blake2 0.10.4", + "derive_more", + "either", + "env_logger", + "heck 0.4.0", + "impl-serde", + "ink_ir 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", + "ink_primitives 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", + "itertools", + "log", + "parity-scale-codec", + "proc-macro2", + "quote", + "serde", + "serde_json", + "syn", +] + [[package]] name = "ink_engine" -version = "3.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "075eab468da2937288ec484be920cb18614147003d7f1afbdfcfb190ed771c46" +version = "4.0.0-beta" +source = "git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde#4655a8b4413cb50cbc38d1b7c173ad426ab06cde" dependencies = [ "blake2 0.10.4", "derive_more", + "ink_primitives 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", "parity-scale-codec", - "rand", "secp256k1", "sha2", "sha3", @@ -313,9 +399,8 @@ dependencies = [ [[package]] name = "ink_env" -version = "3.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "271689b643d7ccf2bcd09d7ef07eda79cd3366ee042d5bbfcebf534b08da79d7" +version = "4.0.0-beta" +source = "git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde#4655a8b4413cb50cbc38d1b7c173ad426ab06cde" dependencies = [ "arrayref", "blake2 0.10.4", @@ -324,12 +409,12 @@ dependencies = [ "ink_allocator", "ink_engine", "ink_metadata", - "ink_prelude", - "ink_primitives", + "ink_prelude 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", + "ink_primitives 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", + "ink_storage_traits", "num-traits", "parity-scale-codec", "paste", - "rand", "rlibc", "scale-info", "secp256k1", @@ -339,45 +424,23 @@ dependencies = [ ] [[package]] -name = "ink_lang" -version = "3.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62cf662fe6a130ea1ada3520142405e3ed521b79c35b7274cc95dd37bc833571" -dependencies = [ - "derive_more", - "ink_env", - "ink_lang_macro", - "ink_metadata", - "ink_prelude", - "ink_primitives", - "ink_storage", - "parity-scale-codec", -] - -[[package]] -name = "ink_lang_codegen" -version = "3.3.1" +name = "ink_ir" +version = "4.0.0-beta" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94dc22732ced2557f0411de5fa31d6fddc3878968041b699ae16ed1c390d2660" +checksum = "faf2ee9acbf86d5b2b6342266972217b61117c6468c81bdefe23e052beb05af1" dependencies = [ "blake2 0.10.4", - "derive_more", "either", - "heck 0.4.0", - "impl-serde", - "ink_lang_ir", "itertools", - "parity-scale-codec", "proc-macro2", "quote", "syn", ] [[package]] -name = "ink_lang_ir" -version = "3.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a089bcac8d7e6a487b7a18ea8a1d20eb540ed26657706ac221cc0e8239047e45" +name = "ink_ir" +version = "4.0.0-beta" +source = "git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde#4655a8b4413cb50cbc38d1b7c173ad426ab06cde" dependencies = [ "blake2 0.10.4", "either", @@ -388,82 +451,124 @@ dependencies = [ ] [[package]] -name = "ink_lang_macro" -version = "3.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1330da0b8007b86de94f95fbc74769c0461d3b078b291af5497771598db1c5b4" +name = "ink_macro" +version = "4.0.0-beta" +source = "git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde#4655a8b4413cb50cbc38d1b7c173ad426ab06cde" dependencies = [ - "ink_lang_codegen", - "ink_lang_ir", - "ink_primitives", + "ink_codegen", + "ink_ir 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", + "ink_primitives 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", "parity-scale-codec", "proc-macro2", + "quote", "syn", + "synstructure", ] [[package]] name = "ink_metadata" -version = "3.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d442f4f5dcbf120aa84cae9e399065ad99d143d5a920b06d3da286e91c03ec70" +version = "4.0.0-beta" +source = "git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde#4655a8b4413cb50cbc38d1b7c173ad426ab06cde" dependencies = [ "derive_more", "impl-serde", - "ink_prelude", - "ink_primitives", + "ink_prelude 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", + "ink_primitives 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", "scale-info", "serde", ] [[package]] name = "ink_prelude" -version = "3.3.1" +version = "4.0.0-beta" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e38d71af62cfec3425727d28665a947d636c3be6ae71ac3a79868ef8a08633f3" +checksum = "5962125f78304bc2b3083391cbd579125c64ce17e61b019034094faf772c915a" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "ink_prelude" +version = "4.0.0-beta" +source = "git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde#4655a8b4413cb50cbc38d1b7c173ad426ab06cde" dependencies = [ "cfg-if", ] [[package]] name = "ink_primitives" -version = "3.3.1" +version = "4.0.0-beta" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea7afd5330a9d3be1533222a48b8ab44b3a3356a5e6bb090bff0790aa562b418" +checksum = "90f4f26208fe23e12d436917697b951252519484134a3561fe8b65a5abc97aa9" dependencies = [ - "cfg-if", - "ink_prelude", + "derive_more", + "ink_prelude 4.0.0-beta (registry+https://github.com/rust-lang/crates.io-index)", + "parity-scale-codec", + "xxhash-rust", +] + +[[package]] +name = "ink_primitives" +version = "4.0.0-beta" +source = "git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde#4655a8b4413cb50cbc38d1b7c173ad426ab06cde" +dependencies = [ + "derive_more", + "ink_prelude 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", "parity-scale-codec", "scale-info", + "xxhash-rust", ] [[package]] name = "ink_storage" -version = "3.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be827b98c102c413b2309075f0835a9bb8c6325fc6aa09e66963424db7a8bcb5" +version = "4.0.0-beta" +source = "git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde#4655a8b4413cb50cbc38d1b7c173ad426ab06cde" dependencies = [ "array-init", "cfg-if", "derive_more", "ink_env", "ink_metadata", - "ink_prelude", - "ink_primitives", - "ink_storage_derive", + "ink_prelude 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", + "ink_primitives 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", + "ink_storage_traits", "parity-scale-codec", "scale-info", ] [[package]] -name = "ink_storage_derive" -version = "3.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ced452d5d0b2268b1257ffd2ec73cf9c3b4fba5f3632f185a03aafec8888439" +name = "ink_storage_traits" +version = "4.0.0-beta" +source = "git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde#4655a8b4413cb50cbc38d1b7c173ad426ab06cde" dependencies = [ - "proc-macro2", - "quote", + "ink_metadata", + "ink_prelude 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", + "ink_primitives 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", + "parity-scale-codec", + "scale-info", "syn", - "synstructure", +] + +[[package]] +name = "io-lifetimes" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7d6c6f8c91b4b9ed43484ad1a938e393caf35960fce7f82a040497207bd8e9e" +dependencies = [ + "libc", + "windows-sys", +] + +[[package]] +name = "is-terminal" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28dfb6c8100ccc63462345b67d1bbc3679177c75ee4bf59bf29c8b1d110b8189" +dependencies = [ + "hermit-abi", + "io-lifetimes", + "rustix", + "windows-sys", ] [[package]] @@ -489,9 +594,30 @@ checksum = "f9b7d56ba4a8344d6be9729995e6b06f928af29998cdf79fe390cbf6b1fee838" [[package]] name = "libc" -version = "0.2.132" +version = "0.2.139" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79" + +[[package]] +name = "linux-raw-sys" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4" + +[[package]] +name = "log" +version = "0.4.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8371e4e5341c3a96db127eb2465ac681ced4c433e01dd0e938adbef26ba93ba5" +checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "memchr" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" [[package]] name = "num-traits" @@ -505,15 +631,10 @@ dependencies = [ [[package]] name = "obce" version = "0.1.0" -source = "git+https://github.com/Supercolony-net/obce?branch=polkadot-v0.9.29#9843e2a3e91e7c29a9b21dde7ead3299e9d3c0fb" +source = "git+https://github.com/727-Ventures/obce?tag=3.0.0-beta#e4d93be5ea31ea39fd5c692e93ebe319b51cd604" dependencies = [ + "ink", "ink_engine", - "ink_env", - "ink_lang", - "ink_metadata", - "ink_prelude", - "ink_primitives", - "ink_storage", "obce-macro", "parity-scale-codec", "scale-info", @@ -522,7 +643,7 @@ dependencies = [ [[package]] name = "obce-codegen" version = "0.1.0" -source = "git+https://github.com/Supercolony-net/obce?branch=polkadot-v0.9.29#9843e2a3e91e7c29a9b21dde7ead3299e9d3c0fb" +source = "git+https://github.com/727-Ventures/obce?tag=3.0.0-beta#e4d93be5ea31ea39fd5c692e93ebe319b51cd604" dependencies = [ "blake2 0.10.4", "proc-macro2", @@ -533,7 +654,7 @@ dependencies = [ [[package]] name = "obce-macro" version = "0.1.0" -source = "git+https://github.com/Supercolony-net/obce?branch=polkadot-v0.9.29#9843e2a3e91e7c29a9b21dde7ead3299e9d3c0fb" +source = "git+https://github.com/727-Ventures/obce?tag=3.0.0-beta#e4d93be5ea31ea39fd5c692e93ebe319b51cd604" dependencies = [ "obce-codegen", "proc-macro2", @@ -555,15 +676,10 @@ checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" [[package]] name = "openbrush" -version = "2.2.0" -source = "git+https://github.com/Supercolony-net/openbrush-contracts.git?rev=15e6366#15e63664d87124f4cc0e7ba55b21a71222983677" +version = "3.0.0-beta" +source = "git+https://github.com/727-Ventures/openbrush-contracts.git?rev=3.0.0-beta#14ff655a0d83440f40c57c82d9a33e4c5b981da7" dependencies = [ - "ink_env", - "ink_lang", - "ink_metadata", - "ink_prelude", - "ink_primitives", - "ink_storage", + "ink", "openbrush_contracts", "openbrush_lang", "parity-scale-codec", @@ -572,15 +688,10 @@ dependencies = [ [[package]] name = "openbrush_contracts" -version = "2.2.0" -source = "git+https://github.com/Supercolony-net/openbrush-contracts.git?rev=15e6366#15e63664d87124f4cc0e7ba55b21a71222983677" +version = "3.0.0-beta" +source = "git+https://github.com/727-Ventures/openbrush-contracts.git?rev=3.0.0-beta#14ff655a0d83440f40c57c82d9a33e4c5b981da7" dependencies = [ - "ink_env", - "ink_lang", - "ink_metadata", - "ink_prelude", - "ink_primitives", - "ink_storage", + "ink", "openbrush_lang", "pallet-assets-chain-extension", "parity-scale-codec", @@ -589,32 +700,28 @@ dependencies = [ [[package]] name = "openbrush_lang" -version = "2.2.0" -source = "git+https://github.com/Supercolony-net/openbrush-contracts.git?rev=15e6366#15e63664d87124f4cc0e7ba55b21a71222983677" +version = "3.0.0-beta" +source = "git+https://github.com/727-Ventures/openbrush-contracts.git?rev=3.0.0-beta#14ff655a0d83440f40c57c82d9a33e4c5b981da7" dependencies = [ "const_format", - "ink_env", - "ink_lang", - "ink_metadata", - "ink_prelude", - "ink_primitives", - "ink_storage", + "ink", "openbrush_lang_macro", "parity-scale-codec", "scale-info", - "sha2-const", + "xxhash-rust", ] [[package]] name = "openbrush_lang_codegen" -version = "2.2.0" -source = "git+https://github.com/Supercolony-net/openbrush-contracts.git?rev=15e6366#15e63664d87124f4cc0e7ba55b21a71222983677" +version = "3.0.0-beta" +source = "git+https://github.com/727-Ventures/openbrush-contracts.git?rev=3.0.0-beta#14ff655a0d83440f40c57c82d9a33e4c5b981da7" dependencies = [ "blake2 0.9.2", "cargo_metadata", "fs2", "heck 0.3.3", - "ink_lang_ir", + "ink_ir 4.0.0-beta (registry+https://github.com/rust-lang/crates.io-index)", + "ink_primitives 4.0.0-beta (registry+https://github.com/rust-lang/crates.io-index)", "proc-macro2", "quote", "serde", @@ -626,8 +733,8 @@ dependencies = [ [[package]] name = "openbrush_lang_macro" -version = "2.2.0" -source = "git+https://github.com/Supercolony-net/openbrush-contracts.git?rev=15e6366#15e63664d87124f4cc0e7ba55b21a71222983677" +version = "3.0.0-beta" +source = "git+https://github.com/727-Ventures/openbrush-contracts.git?rev=3.0.0-beta#14ff655a0d83440f40c57c82d9a33e4c5b981da7" dependencies = [ "openbrush_lang_codegen", "proc-macro2", @@ -638,11 +745,9 @@ dependencies = [ [[package]] name = "pallet-assets-chain-extension" version = "0.1.1" -source = "git+https://github.com/Supercolony-net/pallet-assets-chain-extension#83ff37cb0d19d15a881ecab2c922596039c8358d" +source = "git+https://github.com/727-ventures/pallet-assets-chain-extension?tag=3.0.0-beta#7e553468e9c0fbd4f543ccb950b3d17b548237f1" dependencies = [ - "ink_metadata", - "ink_primitives", - "ink_storage", + "ink", "obce", "parity-scale-codec", "scale-info", @@ -690,12 +795,6 @@ dependencies = [ "ucd-trie", ] -[[package]] -name = "ppv-lite86" -version = "0.2.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb9f9e6e233e5c4a35559a617bf40a4ec447db2e84c20b55a6f83167b7e57872" - [[package]] name = "proc-macro-crate" version = "1.2.1" @@ -732,34 +831,21 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" [[package]] -name = "rand" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" -dependencies = [ - "libc", - "rand_chacha", - "rand_core", -] - -[[package]] -name = "rand_chacha" -version = "0.3.1" +name = "regex" +version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +checksum = "48aaa5748ba571fb95cd2c85c09f629215d3a6ece942baa100950af03a34f733" dependencies = [ - "ppv-lite86", - "rand_core", + "aho-corasick", + "memchr", + "regex-syntax", ] [[package]] -name = "rand_core" -version = "0.6.3" +name = "regex-syntax" +version = "0.6.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7" -dependencies = [ - "getrandom", -] +checksum = "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848" [[package]] name = "rlibc" @@ -767,6 +853,20 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc874b127765f014d792f16763a81245ab80500e2ad921ed4ee9e82481ee08fe" +[[package]] +name = "rustix" +version = "0.36.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4fdebc4b395b7fbb9ab11e462e20ed9051e7b16e42d24042c776eca0ac81b03" +dependencies = [ + "bitflags", + "errno", + "io-lifetimes", + "libc", + "linux-raw-sys", + "windows-sys", +] + [[package]] name = "ryu" version = "1.0.11" @@ -775,9 +875,9 @@ checksum = "4501abdff3ae82a1c1b477a17252eb69cee9e66eb915c1abaa4f44d873df9f09" [[package]] name = "scale-info" -version = "2.2.0" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "333af15b02563b8182cd863f925bd31ef8fa86a0e095d30c091956057d436153" +checksum = "001cf62ece89779fd16105b5f515ad0e5cedcd5440d3dd806bb067978e7c3608" dependencies = [ "bitvec", "cfg-if", @@ -789,9 +889,9 @@ dependencies = [ [[package]] name = "scale-info-derive" -version = "2.2.0" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53f56acbd0743d29ffa08f911ab5397def774ad01bab3786804cf6ee057fb5e1" +checksum = "303959cf613a6f6efd19ed4b4ad5bf79966a13352716299ad532cfb115f4205c" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -801,18 +901,18 @@ dependencies = [ [[package]] name = "secp256k1" -version = "0.24.0" +version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7649a0b3ffb32636e60c7ce0d70511eda9c52c658cd0634e194d5a19943aeff" +checksum = "550fc3b723a478be77bf74718947cdcdd75144d508aaa70f0a320036905df2a8" dependencies = [ "secp256k1-sys", ] [[package]] name = "secp256k1-sys" -version = "0.6.0" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7058dc8eaf3f2810d7828680320acda0b25a288f6d288e19278e249bbf74226b" +checksum = "8058e28ae464daf5ac14c5c0f78110b58616e796c4e4e28cfcca38fdb13d8f22" dependencies = [ "cc", ] @@ -878,12 +978,6 @@ dependencies = [ "digest 0.10.3", ] -[[package]] -name = "sha2-const" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5edcd790916d95ff81bdc1505b09c74d30d47a755929cc8c71c59cbbfa99f91b" - [[package]] name = "sha3" version = "0.10.4" @@ -935,6 +1029,15 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" +[[package]] +name = "termcolor" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6" +dependencies = [ + "winapi-util", +] + [[package]] name = "thiserror" version = "1.0.35" @@ -1006,12 +1109,6 @@ version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" -[[package]] -name = "wasi" -version = "0.11.0+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" - [[package]] name = "winapi" version = "0.3.9" @@ -1028,24 +1125,84 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" +[[package]] +name = "winapi-util" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" +dependencies = [ + "winapi", +] + [[package]] name = "winapi-x86_64-pc-windows-gnu" version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" +[[package]] +name = "windows-sys" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" +dependencies = [ + "windows_aarch64_gnullvm", + "windows_aarch64_msvc", + "windows_i686_gnu", + "windows_i686_msvc", + "windows_x86_64_gnu", + "windows_x86_64_gnullvm", + "windows_x86_64_msvc", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.42.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c9864e83243fdec7fc9c5444389dcbbfd258f745e7853198f365e3c4968a608" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.42.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c8b1b673ffc16c47a9ff48570a9d85e25d265735c503681332589af6253c6c7" + +[[package]] +name = "windows_i686_gnu" +version = "0.42.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "de3887528ad530ba7bdbb1faa8275ec7a1155a45ffa57c37993960277145d640" + +[[package]] +name = "windows_i686_msvc" +version = "0.42.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf4d1122317eddd6ff351aa852118a2418ad4214e6613a50e0191f7004372605" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.42.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1040f221285e17ebccbc2591ffdc2d44ee1f9186324dd3e84e99ac68d699c45" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.42.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "628bfdf232daa22b0d64fdb62b09fcc36bb01f05a3939e20ab73aaf9470d0463" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.42.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "447660ad36a13288b1db4d4248e857b510e8c3a225c822ba4fb748c0aafecffd" + [[package]] name = "wrapped_azero" version = "1.0.0" dependencies = [ "access_control", - "ink_engine", - "ink_env", - "ink_lang", - "ink_metadata", - "ink_prelude", - "ink_primitives", - "ink_storage", + "ink", "num-traits", "openbrush", "parity-scale-codec", @@ -1060,3 +1217,9 @@ checksum = "30b31594f29d27036c383b53b59ed3476874d518f0efb151b27a4c275141390e" dependencies = [ "tap", ] + +[[package]] +name = "xxhash-rust" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "735a71d46c4d68d71d4b24d03fdc2b98e38cea81730595801db779c04fe80d70" diff --git a/contracts/wrapped_azero/Cargo.toml b/contracts/wrapped_azero/Cargo.toml index 5ba8900b32..14638f56fc 100644 --- a/contracts/wrapped_azero/Cargo.toml +++ b/contracts/wrapped_azero/Cargo.toml @@ -6,19 +6,14 @@ edition = "2021" license = "Apache 2.0" [dependencies] -ink_primitives = { version = "~3.3.0", default-features = false } -ink_metadata = { version = "~3.3.0", default-features = false, features = ["derive"], optional = true } -ink_env = { version = "~3.3.0", default-features = false } -ink_storage = { version = "~3.3.0", default-features = false } -ink_lang = { version = "~3.3.0", default-features = false } -ink_prelude = { version = "~3.3.0", default-features = false } -ink_engine = { version = "~3.3.0", default-features = false, optional = true } +ink = { git = "https://github.com/paritytech/ink", rev = "4655a8b4413cb50cbc38d1b7c173ad426ab06cde", default-features = false} scale = { package = "parity-scale-codec", version = "3", default-features = false, features = ["derive"] } -scale-info = { version = "2", default-features = false, features = ["derive"], optional = true } +scale-info = { version = "2.3", default-features = false, features = ["derive"], optional = true } + +openbrush = { git = "https://github.com/727-Ventures/openbrush-contracts.git", rev = "3.0.0-beta", default-features = false, features = ["psp22"] } num-traits = { version = "0.2", default-features = false } -openbrush = { git = "https://github.com/Supercolony-net/openbrush-contracts.git", rev = "15e6366", default-features = false, features = ["psp22"] } access_control = { path = "../access_control", default-features = false, features = ["ink-as-dependency"] } [lib] @@ -28,23 +23,19 @@ crate-type = [ # Used for normal contract Wasm blobs. "cdylib", # Used for ABI generation. - # "rlib", + "rlib", ] [features] default = ["std"] std = [ - "num-traits/std", - "ink_env/std", - "ink_lang/std", - "ink_metadata", - "ink_metadata/std", - "ink_primitives/std", - "ink_storage/std", + "num-traits/std", + "ink/std", "openbrush/std", "scale-info", "scale-info/std", "scale/std", + "access_control/std", ] ink-as-dependency = [] diff --git a/contracts/wrapped_azero/lib.rs b/contracts/wrapped_azero/lib.rs index b0f5d5005c..f76cab6e54 100644 --- a/contracts/wrapped_azero/lib.rs +++ b/contracts/wrapped_azero/lib.rs @@ -8,14 +8,14 @@ pub use crate::wrapped_azero::{ #[openbrush::contract] pub mod wrapped_azero { - use access_control::{roles::Role, traits::AccessControlled, ACCESS_CONTROL_PUBKEY}; - use ink_env::Error as InkEnvError; - use ink_lang::{ + use access_control::{roles::Role, AccessControlRef, ACCESS_CONTROL_PUBKEY}; + use ink::{ codegen::{EmitEvent, Env}, + env::call::FromAccountId, + prelude::format, reflect::ContractEventBase, + ToAccountId, }; - use ink_prelude::format; - use ink_storage::traits::SpreadAllocate; use num_traits::identities::Zero; use openbrush::{ contracts::psp22::{extensions::metadata::*, Internal}, @@ -28,14 +28,13 @@ pub mod wrapped_azero { pub const ALLOWANCE_SELECTOR: [u8; 4] = [0x4d, 0x47, 0xd9, 0x21]; #[ink(storage)] - #[derive(Default, SpreadAllocate, Storage)] + #[derive(Storage)] pub struct WrappedAzero { #[storage_field] psp22: psp22::Data, #[storage_field] metadata: metadata::Data, - /// access control contract - access_control: AccountId, + access_control: AccessControlRef, } impl PSP22 for WrappedAzero {} @@ -73,10 +72,6 @@ pub mod wrapped_azero { } } - impl AccessControlled for WrappedAzero { - type ContractError = PSP22Error; - } - /// Result type pub type Result = core::result::Result; /// Event type @@ -133,23 +128,21 @@ pub mod wrapped_azero { .own_code_hash() .expect("Called new on a contract with no code hash"); - let role_check = ::check_role( - AccountId::from(ACCESS_CONTROL_PUBKEY), - caller, - Role::Initializer(code_hash), - Self::cross_contract_call_error_handler, - Self::access_control_error_handler, - ); - - match role_check { - Ok(_) => ink_lang::codegen::initialize_contract(|instance: &mut WrappedAzero| { - instance.metadata.name = Some("wAzero".into()); - instance.metadata.symbol = Some("wA0".into()); - instance.metadata.decimals = 12; // same as AZERO - - instance.access_control = AccountId::from(ACCESS_CONTROL_PUBKEY); - }), - Err(why) => panic!("Could not initialize the contract {:?}", why), + let access_control = AccountId::from(ACCESS_CONTROL_PUBKEY); + let access_control = AccessControlRef::from_account_id(access_control); + if access_control.has_role(caller, Role::Initializer(code_hash)) { + let mut metadata = metadata::Data::default(); + metadata.name = Some("wAzero".into()); + metadata.symbol = Some("wA0".into()); + metadata.decimals = 12; // same as AZERO + + Self { + psp22: psp22::Data::default(), + metadata, + access_control, + } + } else { + panic!("Caller is not allowed to initialize this contract"); } } @@ -203,7 +196,7 @@ pub mod wrapped_azero { /// Returns the contract's access control contract address #[ink(message)] pub fn access_control(&self) -> AccountId { - self.access_control + self.access_control.to_account_id() } /// Sets new access control contract address @@ -216,7 +209,7 @@ pub mod wrapped_azero { self.check_role(caller, Role::Owner(this))?; - self.access_control = access_control; + self.access_control = AccessControlRef::from_account_id(access_control); Ok(()) } @@ -232,22 +225,12 @@ pub mod wrapped_azero { emitter.emit_event(event); } - fn access_control_error_handler(role: Role) -> PSP22Error { - PSP22Error::Custom(format!("MissingRole:{:?}", role).into()) - } - - fn cross_contract_call_error_handler(why: InkEnvError) -> PSP22Error { - PSP22Error::Custom(format!("Calling access control has failed: {:?}", why).into()) - } - fn check_role(&self, account: AccountId, role: Role) -> Result<()> { - ::check_role( - self.access_control, - account, - role, - Self::cross_contract_call_error_handler, - Self::access_control_error_handler, - ) + if self.access_control.has_role(account, role) { + Ok(()) + } else { + Err(PSP22Error::Custom(format!("MissingRole:{:?}", role).into())) + } } } } From e05cfce6ccb722af25e6cd5e32972ad65f08a7f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Obrok?= Date: Thu, 19 Jan 2023 14:58:54 +0100 Subject: [PATCH 100/212] Migrate simple_dex to ink4 --- contracts/simple_dex/Cargo.lock | 501 ++++++++++++++++++++++---------- contracts/simple_dex/Cargo.toml | 19 +- contracts/simple_dex/lib.rs | 89 ++---- 3 files changed, 384 insertions(+), 225 deletions(-) diff --git a/contracts/simple_dex/Cargo.lock b/contracts/simple_dex/Cargo.lock index 0ce3811097..20779f141d 100644 --- a/contracts/simple_dex/Cargo.lock +++ b/contracts/simple_dex/Cargo.lock @@ -6,16 +6,20 @@ version = 3 name = "access_control" version = "0.2.0" dependencies = [ - "ink_env", - "ink_lang", - "ink_lang_codegen", - "ink_metadata", - "ink_primitives", - "ink_storage", + "ink", "parity-scale-codec", "scale-info", ] +[[package]] +name = "aho-corasick" +version = "0.7.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac" +dependencies = [ + "memchr", +] + [[package]] name = "array-init" version = "2.0.1" @@ -244,6 +248,40 @@ version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "90e5c1c8368803113bf0c9584fc495a58b86dc8a29edbf8fe877d21d9507e797" +[[package]] +name = "env_logger" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85cdab6a89accf66733ad5a1693a4dcced6aeff64602b634530dd73c1f3ee9f0" +dependencies = [ + "humantime", + "is-terminal", + "log", + "regex", + "termcolor", +] + +[[package]] +name = "errno" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f639046355ee4f37944e44f60642c6f3a7efa3cf6b78c78a0d989a8ce6c396a1" +dependencies = [ + "errno-dragonfly", + "libc", + "winapi", +] + +[[package]] +name = "errno-dragonfly" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf" +dependencies = [ + "cc", + "libc", +] + [[package]] name = "fastrand" version = "1.8.0" @@ -280,12 +318,7 @@ name = "game_token" version = "2.1.0" dependencies = [ "access_control", - "ink_env", - "ink_lang", - "ink_metadata", - "ink_prelude", - "ink_primitives", - "ink_storage", + "ink", "openbrush", "parity-scale-codec", "scale-info", @@ -327,11 +360,26 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9" +[[package]] +name = "hermit-abi" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7" +dependencies = [ + "libc", +] + +[[package]] +name = "humantime" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" + [[package]] name = "impl-serde" -version = "0.3.2" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4551f042f3438e64dbd6226b20527fc84a6e1fe65688b58746a2f53623f25f5c" +checksum = "ebc88fc67028ae3db0c853baa36269d398d5f45b6982f95549ff5def78c935cd" dependencies = [ "serde", ] @@ -347,25 +395,61 @@ dependencies = [ "syn", ] +[[package]] +name = "ink" +version = "4.0.0-beta" +source = "git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde#4655a8b4413cb50cbc38d1b7c173ad426ab06cde" +dependencies = [ + "derive_more", + "ink_env", + "ink_macro", + "ink_metadata", + "ink_prelude 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", + "ink_primitives 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", + "ink_storage", + "parity-scale-codec", +] + [[package]] name = "ink_allocator" -version = "3.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a291f411e310b7a3bb01ce21102b8c0aea5b7b523e4bad0b40a8e55a76c58906" +version = "4.0.0-beta" +source = "git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde#4655a8b4413cb50cbc38d1b7c173ad426ab06cde" dependencies = [ "cfg-if", ] +[[package]] +name = "ink_codegen" +version = "4.0.0-beta" +source = "git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde#4655a8b4413cb50cbc38d1b7c173ad426ab06cde" +dependencies = [ + "blake2 0.10.4", + "derive_more", + "either", + "env_logger", + "heck 0.4.0", + "impl-serde", + "ink_ir 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", + "ink_primitives 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", + "itertools", + "log", + "parity-scale-codec", + "proc-macro2", + "quote", + "serde", + "serde_json", + "syn", +] + [[package]] name = "ink_engine" -version = "3.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "075eab468da2937288ec484be920cb18614147003d7f1afbdfcfb190ed771c46" +version = "4.0.0-beta" +source = "git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde#4655a8b4413cb50cbc38d1b7c173ad426ab06cde" dependencies = [ "blake2 0.10.4", "derive_more", + "ink_primitives 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", "parity-scale-codec", - "rand", "secp256k1", "sha2", "sha3", @@ -373,9 +457,8 @@ dependencies = [ [[package]] name = "ink_env" -version = "3.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "271689b643d7ccf2bcd09d7ef07eda79cd3366ee042d5bbfcebf534b08da79d7" +version = "4.0.0-beta" +source = "git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde#4655a8b4413cb50cbc38d1b7c173ad426ab06cde" dependencies = [ "arrayref", "blake2 0.10.4", @@ -384,12 +467,12 @@ dependencies = [ "ink_allocator", "ink_engine", "ink_metadata", - "ink_prelude", - "ink_primitives", + "ink_prelude 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", + "ink_primitives 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", + "ink_storage_traits", "num-traits", "parity-scale-codec", "paste", - "rand", "rlibc", "scale-info", "secp256k1", @@ -399,45 +482,23 @@ dependencies = [ ] [[package]] -name = "ink_lang" -version = "3.3.1" +name = "ink_ir" +version = "4.0.0-beta" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62cf662fe6a130ea1ada3520142405e3ed521b79c35b7274cc95dd37bc833571" -dependencies = [ - "derive_more", - "ink_env", - "ink_lang_macro", - "ink_metadata", - "ink_prelude", - "ink_primitives", - "ink_storage", - "parity-scale-codec", -] - -[[package]] -name = "ink_lang_codegen" -version = "3.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94dc22732ced2557f0411de5fa31d6fddc3878968041b699ae16ed1c390d2660" +checksum = "faf2ee9acbf86d5b2b6342266972217b61117c6468c81bdefe23e052beb05af1" dependencies = [ "blake2 0.10.4", - "derive_more", "either", - "heck 0.4.0", - "impl-serde", - "ink_lang_ir", "itertools", - "parity-scale-codec", "proc-macro2", "quote", "syn", ] [[package]] -name = "ink_lang_ir" -version = "3.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a089bcac8d7e6a487b7a18ea8a1d20eb540ed26657706ac221cc0e8239047e45" +name = "ink_ir" +version = "4.0.0-beta" +source = "git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde#4655a8b4413cb50cbc38d1b7c173ad426ab06cde" dependencies = [ "blake2 0.10.4", "either", @@ -448,82 +509,102 @@ dependencies = [ ] [[package]] -name = "ink_lang_macro" -version = "3.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1330da0b8007b86de94f95fbc74769c0461d3b078b291af5497771598db1c5b4" +name = "ink_macro" +version = "4.0.0-beta" +source = "git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde#4655a8b4413cb50cbc38d1b7c173ad426ab06cde" dependencies = [ - "ink_lang_codegen", - "ink_lang_ir", - "ink_primitives", + "ink_codegen", + "ink_ir 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", + "ink_primitives 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", "parity-scale-codec", "proc-macro2", + "quote", "syn", + "synstructure", ] [[package]] name = "ink_metadata" -version = "3.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d442f4f5dcbf120aa84cae9e399065ad99d143d5a920b06d3da286e91c03ec70" +version = "4.0.0-beta" +source = "git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde#4655a8b4413cb50cbc38d1b7c173ad426ab06cde" dependencies = [ "derive_more", "impl-serde", - "ink_prelude", - "ink_primitives", + "ink_prelude 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", + "ink_primitives 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", "scale-info", "serde", ] [[package]] name = "ink_prelude" -version = "3.3.1" +version = "4.0.0-beta" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e38d71af62cfec3425727d28665a947d636c3be6ae71ac3a79868ef8a08633f3" +checksum = "5962125f78304bc2b3083391cbd579125c64ce17e61b019034094faf772c915a" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "ink_prelude" +version = "4.0.0-beta" +source = "git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde#4655a8b4413cb50cbc38d1b7c173ad426ab06cde" dependencies = [ "cfg-if", ] [[package]] name = "ink_primitives" -version = "3.3.1" +version = "4.0.0-beta" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea7afd5330a9d3be1533222a48b8ab44b3a3356a5e6bb090bff0790aa562b418" +checksum = "90f4f26208fe23e12d436917697b951252519484134a3561fe8b65a5abc97aa9" dependencies = [ - "cfg-if", - "ink_prelude", + "derive_more", + "ink_prelude 4.0.0-beta (registry+https://github.com/rust-lang/crates.io-index)", + "parity-scale-codec", + "xxhash-rust", +] + +[[package]] +name = "ink_primitives" +version = "4.0.0-beta" +source = "git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde#4655a8b4413cb50cbc38d1b7c173ad426ab06cde" +dependencies = [ + "derive_more", + "ink_prelude 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", "parity-scale-codec", "scale-info", + "xxhash-rust", ] [[package]] name = "ink_storage" -version = "3.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be827b98c102c413b2309075f0835a9bb8c6325fc6aa09e66963424db7a8bcb5" +version = "4.0.0-beta" +source = "git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde#4655a8b4413cb50cbc38d1b7c173ad426ab06cde" dependencies = [ "array-init", "cfg-if", "derive_more", "ink_env", "ink_metadata", - "ink_prelude", - "ink_primitives", - "ink_storage_derive", + "ink_prelude 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", + "ink_primitives 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", + "ink_storage_traits", "parity-scale-codec", "scale-info", ] [[package]] -name = "ink_storage_derive" -version = "3.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ced452d5d0b2268b1257ffd2ec73cf9c3b4fba5f3632f185a03aafec8888439" +name = "ink_storage_traits" +version = "4.0.0-beta" +source = "git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde#4655a8b4413cb50cbc38d1b7c173ad426ab06cde" dependencies = [ - "proc-macro2", - "quote", + "ink_metadata", + "ink_prelude 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", + "ink_primitives 4.0.0-beta (git+https://github.com/paritytech/ink?rev=4655a8b4413cb50cbc38d1b7c173ad426ab06cde)", + "parity-scale-codec", + "scale-info", "syn", - "synstructure", ] [[package]] @@ -535,6 +616,28 @@ dependencies = [ "cfg-if", ] +[[package]] +name = "io-lifetimes" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7d6c6f8c91b4b9ed43484ad1a938e393caf35960fce7f82a040497207bd8e9e" +dependencies = [ + "libc", + "windows-sys", +] + +[[package]] +name = "is-terminal" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28dfb6c8100ccc63462345b67d1bbc3679177c75ee4bf59bf29c8b1d110b8189" +dependencies = [ + "hermit-abi", + "io-lifetimes", + "rustix", + "windows-sys", +] + [[package]] name = "itertools" version = "0.10.3" @@ -564,9 +667,30 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" [[package]] name = "libc" -version = "0.2.132" +version = "0.2.139" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79" + +[[package]] +name = "linux-raw-sys" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8371e4e5341c3a96db127eb2465ac681ced4c433e01dd0e938adbef26ba93ba5" +checksum = "f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4" + +[[package]] +name = "log" +version = "0.4.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "memchr" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" [[package]] name = "num-traits" @@ -580,15 +704,10 @@ dependencies = [ [[package]] name = "obce" version = "0.1.0" -source = "git+https://github.com/Supercolony-net/obce?branch=polkadot-v0.9.32#163c456e79d2ed084b29e47637f0ec9fd9ac4376" +source = "git+https://github.com/727-Ventures/obce?tag=3.0.0-beta#e4d93be5ea31ea39fd5c692e93ebe319b51cd604" dependencies = [ + "ink", "ink_engine", - "ink_env", - "ink_lang", - "ink_metadata", - "ink_prelude", - "ink_primitives", - "ink_storage", "obce-macro", "parity-scale-codec", "scale-info", @@ -597,7 +716,7 @@ dependencies = [ [[package]] name = "obce-codegen" version = "0.1.0" -source = "git+https://github.com/Supercolony-net/obce?branch=polkadot-v0.9.32#163c456e79d2ed084b29e47637f0ec9fd9ac4376" +source = "git+https://github.com/727-Ventures/obce?tag=3.0.0-beta#e4d93be5ea31ea39fd5c692e93ebe319b51cd604" dependencies = [ "blake2 0.10.4", "proc-macro2", @@ -608,7 +727,7 @@ dependencies = [ [[package]] name = "obce-macro" version = "0.1.0" -source = "git+https://github.com/Supercolony-net/obce?branch=polkadot-v0.9.32#163c456e79d2ed084b29e47637f0ec9fd9ac4376" +source = "git+https://github.com/727-Ventures/obce?tag=3.0.0-beta#e4d93be5ea31ea39fd5c692e93ebe319b51cd604" dependencies = [ "obce-codegen", "proc-macro2", @@ -630,15 +749,10 @@ checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" [[package]] name = "openbrush" -version = "2.2.0" -source = "git+https://github.com/Supercolony-net/openbrush-contracts.git?rev=15e6366#15e63664d87124f4cc0e7ba55b21a71222983677" +version = "3.0.0-beta" +source = "git+https://github.com/727-Ventures/openbrush-contracts.git?rev=3.0.0-beta#14ff655a0d83440f40c57c82d9a33e4c5b981da7" dependencies = [ - "ink_env", - "ink_lang", - "ink_metadata", - "ink_prelude", - "ink_primitives", - "ink_storage", + "ink", "openbrush_contracts", "openbrush_lang", "parity-scale-codec", @@ -647,15 +761,10 @@ dependencies = [ [[package]] name = "openbrush_contracts" -version = "2.2.0" -source = "git+https://github.com/Supercolony-net/openbrush-contracts.git?rev=15e6366#15e63664d87124f4cc0e7ba55b21a71222983677" +version = "3.0.0-beta" +source = "git+https://github.com/727-Ventures/openbrush-contracts.git?rev=3.0.0-beta#14ff655a0d83440f40c57c82d9a33e4c5b981da7" dependencies = [ - "ink_env", - "ink_lang", - "ink_metadata", - "ink_prelude", - "ink_primitives", - "ink_storage", + "ink", "openbrush_lang", "pallet-assets-chain-extension", "parity-scale-codec", @@ -664,32 +773,28 @@ dependencies = [ [[package]] name = "openbrush_lang" -version = "2.2.0" -source = "git+https://github.com/Supercolony-net/openbrush-contracts.git?rev=15e6366#15e63664d87124f4cc0e7ba55b21a71222983677" +version = "3.0.0-beta" +source = "git+https://github.com/727-Ventures/openbrush-contracts.git?rev=3.0.0-beta#14ff655a0d83440f40c57c82d9a33e4c5b981da7" dependencies = [ "const_format", - "ink_env", - "ink_lang", - "ink_metadata", - "ink_prelude", - "ink_primitives", - "ink_storage", + "ink", "openbrush_lang_macro", "parity-scale-codec", "scale-info", - "sha2-const", + "xxhash-rust", ] [[package]] name = "openbrush_lang_codegen" -version = "2.2.0" -source = "git+https://github.com/Supercolony-net/openbrush-contracts.git?rev=15e6366#15e63664d87124f4cc0e7ba55b21a71222983677" +version = "3.0.0-beta" +source = "git+https://github.com/727-Ventures/openbrush-contracts.git?rev=3.0.0-beta#14ff655a0d83440f40c57c82d9a33e4c5b981da7" dependencies = [ "blake2 0.9.2", "cargo_metadata", "fs2", "heck 0.3.3", - "ink_lang_ir", + "ink_ir 4.0.0-beta (registry+https://github.com/rust-lang/crates.io-index)", + "ink_primitives 4.0.0-beta (registry+https://github.com/rust-lang/crates.io-index)", "proc-macro2", "quote", "serde", @@ -701,8 +806,8 @@ dependencies = [ [[package]] name = "openbrush_lang_macro" -version = "2.2.0" -source = "git+https://github.com/Supercolony-net/openbrush-contracts.git?rev=15e6366#15e63664d87124f4cc0e7ba55b21a71222983677" +version = "3.0.0-beta" +source = "git+https://github.com/727-Ventures/openbrush-contracts.git?rev=3.0.0-beta#14ff655a0d83440f40c57c82d9a33e4c5b981da7" dependencies = [ "openbrush_lang_codegen", "proc-macro2", @@ -713,11 +818,9 @@ dependencies = [ [[package]] name = "pallet-assets-chain-extension" version = "0.1.1" -source = "git+https://github.com/Supercolony-net/pallet-assets-chain-extension#a5a99eca8a37c295b8170321605c8f06906f6aff" +source = "git+https://github.com/727-ventures/pallet-assets-chain-extension?tag=3.0.0-beta#7e553468e9c0fbd4f543ccb950b3d17b548237f1" dependencies = [ - "ink_metadata", - "ink_primitives", - "ink_storage", + "ink", "obce", "parity-scale-codec", "scale-info", @@ -886,6 +989,17 @@ dependencies = [ "bitflags", ] +[[package]] +name = "regex" +version = "1.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48aaa5748ba571fb95cd2c85c09f629215d3a6ece942baa100950af03a34f733" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + [[package]] name = "regex-syntax" version = "0.6.28" @@ -907,6 +1021,20 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc874b127765f014d792f16763a81245ab80500e2ad921ed4ee9e82481ee08fe" +[[package]] +name = "rustix" +version = "0.36.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4fdebc4b395b7fbb9ab11e462e20ed9051e7b16e42d24042c776eca0ac81b03" +dependencies = [ + "bitflags", + "errno", + "io-lifetimes", + "libc", + "linux-raw-sys", + "windows-sys", +] + [[package]] name = "rusty-fork" version = "0.3.0" @@ -927,9 +1055,9 @@ checksum = "4501abdff3ae82a1c1b477a17252eb69cee9e66eb915c1abaa4f44d873df9f09" [[package]] name = "scale-info" -version = "2.1.2" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c46be926081c9f4dd5dd9b6f1d3e3229f2360bc6502dd8836f84a93b7c75e99a" +checksum = "001cf62ece89779fd16105b5f515ad0e5cedcd5440d3dd806bb067978e7c3608" dependencies = [ "bitvec", "cfg-if", @@ -941,9 +1069,9 @@ dependencies = [ [[package]] name = "scale-info-derive" -version = "2.1.2" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50e334bb10a245e28e5fd755cabcafd96cfcd167c99ae63a46924ca8d8703a3c" +checksum = "303959cf613a6f6efd19ed4b4ad5bf79966a13352716299ad532cfb115f4205c" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -953,18 +1081,18 @@ dependencies = [ [[package]] name = "secp256k1" -version = "0.24.0" +version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7649a0b3ffb32636e60c7ce0d70511eda9c52c658cd0634e194d5a19943aeff" +checksum = "550fc3b723a478be77bf74718947cdcdd75144d508aaa70f0a320036905df2a8" dependencies = [ "secp256k1-sys", ] [[package]] name = "secp256k1-sys" -version = "0.6.0" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7058dc8eaf3f2810d7828680320acda0b25a288f6d288e19278e249bbf74226b" +checksum = "8058e28ae464daf5ac14c5c0f78110b58616e796c4e4e28cfcca38fdb13d8f22" dependencies = [ "cc", ] @@ -1030,12 +1158,6 @@ dependencies = [ "digest 0.10.3", ] -[[package]] -name = "sha2-const" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5edcd790916d95ff81bdc1505b09c74d30d47a755929cc8c71c59cbbfa99f91b" - [[package]] name = "sha3" version = "0.10.4" @@ -1052,13 +1174,7 @@ version = "0.1.0" dependencies = [ "access_control", "game_token", - "ink_env", - "ink_lang", - "ink_lang_codegen", - "ink_metadata", - "ink_prelude", - "ink_primitives", - "ink_storage", + "ink", "openbrush", "parity-scale-codec", "proptest", @@ -1120,6 +1236,15 @@ dependencies = [ "winapi", ] +[[package]] +name = "termcolor" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6" +dependencies = [ + "winapi-util", +] + [[package]] name = "thiserror" version = "1.0.34" @@ -1222,12 +1347,78 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" +[[package]] +name = "winapi-util" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" +dependencies = [ + "winapi", +] + [[package]] name = "winapi-x86_64-pc-windows-gnu" version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" +[[package]] +name = "windows-sys" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" +dependencies = [ + "windows_aarch64_gnullvm", + "windows_aarch64_msvc", + "windows_i686_gnu", + "windows_i686_msvc", + "windows_x86_64_gnu", + "windows_x86_64_gnullvm", + "windows_x86_64_msvc", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.42.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c9864e83243fdec7fc9c5444389dcbbfd258f745e7853198f365e3c4968a608" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.42.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c8b1b673ffc16c47a9ff48570a9d85e25d265735c503681332589af6253c6c7" + +[[package]] +name = "windows_i686_gnu" +version = "0.42.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "de3887528ad530ba7bdbb1faa8275ec7a1155a45ffa57c37993960277145d640" + +[[package]] +name = "windows_i686_msvc" +version = "0.42.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf4d1122317eddd6ff351aa852118a2418ad4214e6613a50e0191f7004372605" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.42.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1040f221285e17ebccbc2591ffdc2d44ee1f9186324dd3e84e99ac68d699c45" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.42.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "628bfdf232daa22b0d64fdb62b09fcc36bb01f05a3939e20ab73aaf9470d0463" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.42.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "447660ad36a13288b1db4d4248e857b510e8c3a225c822ba4fb748c0aafecffd" + [[package]] name = "wyz" version = "0.5.0" @@ -1236,3 +1427,9 @@ checksum = "30b31594f29d27036c383b53b59ed3476874d518f0efb151b27a4c275141390e" dependencies = [ "tap", ] + +[[package]] +name = "xxhash-rust" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "735a71d46c4d68d71d4b24d03fdc2b98e38cea81730595801db779c04fe80d70" diff --git a/contracts/simple_dex/Cargo.toml b/contracts/simple_dex/Cargo.toml index cfca965111..8abc3a0098 100644 --- a/contracts/simple_dex/Cargo.toml +++ b/contracts/simple_dex/Cargo.toml @@ -6,18 +6,12 @@ edition = "2021" license = "Apache 2.0" [dependencies] -ink_env = { version = "~3.3.0", default-features = false } -ink_lang = { version = "~3.3.0", default-features = false } -ink_lang_codegen = { version = "~3.3.0", default-features = false } -ink_metadata = { version = "~3.3.0", default-features = false, features = ["derive"], optional = true } -ink_prelude = { version = "~3.3.0", default-features = false } -ink_primitives = { version = "~3.3.0", default-features = false } -ink_storage = { version = "~3.3.0", default-features = false } +ink = { git = "https://github.com/paritytech/ink", rev = "4655a8b4413cb50cbc38d1b7c173ad426ab06cde", default-features = false} scale = { package = "parity-scale-codec", version = "3", default-features = false, features = ["derive"] } -scale-info = { version = "2", default-features = false, features = ["derive"], optional = true } +scale-info = { version = "2.3", default-features = false, features = ["derive"], optional = true } -openbrush = { git = "https://github.com/Supercolony-net/openbrush-contracts.git", rev = "15e6366", default-features = false, features = ["psp22"] } +openbrush = { git = "https://github.com/727-Ventures/openbrush-contracts.git", rev = "3.0.0-beta", default-features = false, features = ["psp22"] } access_control = { path = "../access_control", default-features = false, features = ["ink-as-dependency"] } game_token = { path = "../game_token", default-features = false, features = ["ink-as-dependency"] } @@ -37,12 +31,7 @@ default = ["std"] std = [ "access_control/std", "game_token/std", - "ink_env/std", - "ink_lang_codegen/std", - "ink_metadata/std", - "ink_prelude/std", - "ink_primitives/std", - "ink_storage/std", + "ink/std", "openbrush/std", "scale-info/std", "scale/std", diff --git a/contracts/simple_dex/lib.rs b/contracts/simple_dex/lib.rs index 933c6a8208..e8e0976563 100644 --- a/contracts/simple_dex/lib.rs +++ b/contracts/simple_dex/lib.rs @@ -1,8 +1,6 @@ #![cfg_attr(not(feature = "std"), no_std)] #![allow(clippy::let_unit_value)] -use ink_lang as ink; - /// Simple DEX contract /// /// This contract is based on Balancer multi asset LP design and all formulas are taken from the Balancer's whitepaper (https://balancer.fi/whitepaper.pdf) @@ -13,26 +11,25 @@ use ink_lang as ink; #[ink::contract] mod simple_dex { - - use access_control::{roles::Role, traits::AccessControlled, ACCESS_CONTROL_PUBKEY}; + use access_control::{roles::Role, AccessControlRef, ACCESS_CONTROL_PUBKEY}; use game_token::{ ALLOWANCE_SELECTOR, BALANCE_OF_SELECTOR, TRANSFER_FROM_SELECTOR, TRANSFER_SELECTOR, }; - use ink_env::{ - call::{build_call, Call, ExecutionInput, Selector}, - CallFlags, DefaultEnvironment, Error as InkEnvError, - }; - use ink_lang::{ - codegen::{initialize_contract, EmitEvent}, + use ink::{ + codegen::EmitEvent, + env::{ + call::{build_call, Call, ExecutionInput, FromAccountId, Selector}, + CallFlags, DefaultEnvironment, Error as InkEnvError, + }, + prelude::{format, string::String, vec, vec::Vec}, reflect::ContractEventBase, + ToAccountId, }; - use ink_prelude::{format, string::String, vec, vec::Vec}; - use ink_storage::traits::{PackedLayout, SpreadAllocate, SpreadLayout}; - use openbrush::{contracts::traits::errors::PSP22Error, storage::Mapping}; + use openbrush::{contracts::traits::errors::PSP22Error, storage::Mapping, traits::Storage}; type Event = ::Type; - #[derive(Debug, PartialEq, Eq, scale::Encode, scale::Decode, SpreadLayout, PackedLayout)] + #[derive(Debug, PartialEq, Eq, scale::Encode, scale::Decode)] #[cfg_attr(feature = "std", derive(scale_info::TypeInfo))] pub struct SwapPair { pub from: AccountId, @@ -103,18 +100,14 @@ mod simple_dex { } #[ink(storage)] - #[derive(SpreadAllocate)] + #[derive(Storage)] pub struct SimpleDex { pub swap_fee_percentage: u128, - pub access_control: AccountId, + pub access_control: AccessControlRef, // a set of pairs that are availiable for swapping between pub swap_pairs: Mapping, } - impl AccessControlled for SimpleDex { - type ContractError = DexError; - } - impl SimpleDex { #[ink(constructor)] pub fn new() -> Self { @@ -124,18 +117,16 @@ mod simple_dex { .expect("Called new on a contract with no code hash"); let required_role = Role::Initializer(code_hash); let access_control = AccountId::from(ACCESS_CONTROL_PUBKEY); - - let role_check = ::check_role( - access_control, - caller, - required_role, - Self::cross_contract_call_error_handler, - Self::access_control_error_handler, - ); - - match role_check { - Ok(_) => initialize_contract(Self::new_init), - Err(why) => panic!("Could not initialize the contract {:?}", why), + let access_control = AccessControlRef::from_account_id(access_control); + + if access_control.has_role(caller, required_role) { + Self { + swap_fee_percentage: 0, + access_control, + swap_pairs: Mapping::default(), + } + } else { + panic!("Caller is not allowed to initialize this contract"); } } @@ -294,14 +285,14 @@ mod simple_dex { self.check_role(caller, Role::Owner(this))?; - self.access_control = access_control; + self.access_control = AccessControlRef::from_account_id(access_control); Ok(()) } /// Returns current address of the AccessControl contract that holds the account priviledges for this DEX #[ink(message)] pub fn access_control(&self) -> AccountId { - self.access_control + self.access_control.to_account_id() } /// Whitelists a token pair for swapping between @@ -420,11 +411,6 @@ mod simple_dex { .ok_or(DexError::Arithmethic) } - fn new_init(&mut self) { - self.access_control = AccountId::from(ACCESS_CONTROL_PUBKEY); - self.swap_fee_percentage = 0; - } - /// Transfers a given amount of a PSP22 token to a specified using the callers own balance fn transfer_tx( &self, @@ -497,25 +483,12 @@ mod simple_dex { .fire() } - fn access_control_error_handler(role: Role) -> DexError { - DexError::MissingRole(role) - } - - fn cross_contract_call_error_handler(why: InkEnvError) -> DexError { - DexError::CrossContractCall(format!("Calling access control has failed: {:?}", why)) - } - - fn check_role(&self, account: AccountId, role: Role) -> Result<(), DexError> - where - Self: AccessControlled, - { - ::check_role( - self.access_control, - account, - role, - Self::cross_contract_call_error_handler, - Self::access_control_error_handler, - ) + fn check_role(&self, account: AccountId, role: Role) -> Result<(), DexError> { + if self.access_control.has_role(account, role) { + Ok(()) + } else { + return Err(DexError::MissingRole(role)); + } } fn emit_event(emitter: EE, event: Event) From b87299f75357530d377cdec64a6de72819a52c14 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Piotr=20Miko=C5=82ajczyk?= Date: Thu, 19 Jan 2023 15:34:04 +0100 Subject: [PATCH 101/212] `aleph-client`: Fetch contract events (#877) --- aleph-client/Cargo.lock | 2 +- aleph-client/Cargo.toml | 2 +- aleph-client/src/connections.rs | 2 + aleph-client/src/contract/event.rs | 201 +++++++++++++++++++---------- aleph-client/src/contract/mod.rs | 14 +- aleph-client/src/lib.rs | 2 +- benches/payout-stakers/Cargo.lock | 2 +- bin/cliain/Cargo.lock | 2 +- e2e-tests/Cargo.lock | 2 +- e2e-tests/src/test/adder.rs | 62 +++++++-- flooder/Cargo.lock | 2 +- 11 files changed, 202 insertions(+), 91 deletions(-) diff --git a/aleph-client/Cargo.lock b/aleph-client/Cargo.lock index db361dd68b..52ef28bbd8 100644 --- a/aleph-client/Cargo.lock +++ b/aleph-client/Cargo.lock @@ -49,7 +49,7 @@ dependencies = [ [[package]] name = "aleph_client" -version = "2.9.1" +version = "2.10.0" dependencies = [ "anyhow", "async-trait", diff --git a/aleph-client/Cargo.toml b/aleph-client/Cargo.toml index 9e41fc6f28..841c78085e 100644 --- a/aleph-client/Cargo.toml +++ b/aleph-client/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "aleph_client" # TODO bump major version when API stablize -version = "2.9.1" +version = "2.10.0" edition = "2021" license = "Apache 2.0" diff --git a/aleph-client/src/connections.rs b/aleph-client/src/connections.rs index 78f7d49db8..fee84fa234 100644 --- a/aleph-client/src/connections.rs +++ b/aleph-client/src/connections.rs @@ -113,7 +113,9 @@ pub trait ConnectionApi: Sync { /// Data regarding submitted transaction. #[derive(Copy, Clone, Eq, PartialEq, Debug, Deserialize, Serialize)] pub struct TxInfo { + /// Hash of the block containing tx. pub block_hash: BlockHash, + /// Hash of the transaction itself. pub tx_hash: TxHash, } diff --git a/aleph-client/src/contract/event.rs b/aleph-client/src/contract/event.rs index 7f8a855d86..83f02a6e5b 100644 --- a/aleph-client/src/contract/event.rs +++ b/aleph-client/src/contract/event.rs @@ -1,54 +1,25 @@ -//! Utilities for listening for contract events. +//! This module provides utilities corresponding to the events emitted by a contract. //! -//! To use the module you will need to pass a connection, some contracts and an `UnboundedSender` to the -//! [listen_contract_events] function. You most likely want to `tokio::spawn` the resulting future, so that it runs -//! concurrently. -//! -//! ```no_run -//! # use std::sync::Arc; -//! # use std::sync::mpsc::channel; -//! # use std::time::Duration; -//! # use aleph_client::{AccountId, Connection, SignedConnection}; -//! # use aleph_client::contract::ContractInstance; -//! # use aleph_client::contract::event::{listen_contract_events}; -//! # use anyhow::Result; -//! use futures::{channel::mpsc::unbounded, StreamExt}; -//! -//! # async fn example(conn: Connection, signed_conn: SignedConnection, address1: AccountId, address2: AccountId, path1: &str, path2: &str) -> Result<()> { -//! // The `Arc` makes it possible to pass a reference to the contract to another thread -//! let contract1 = Arc::new(ContractInstance::new(address1, path1)?); -//! let contract2 = Arc::new(ContractInstance::new(address2, path2)?); -//! -//! let conn_copy = conn.clone(); -//! let contract1_copy = contract1.clone(); -//! let contract2_copy = contract2.clone(); -//! -//! let (tx, mut rx) = unbounded(); -//! let listen = || async move { -//! listen_contract_events(&conn, &[contract1_copy.as_ref(), contract2_copy.as_ref()], tx).await?; -//! >::Ok(()) -//! }; -//! let join = tokio::spawn(listen()); -//! -//! contract1.contract_exec0(&signed_conn, "some_method").await?; -//! contract2.contract_exec0(&signed_conn, "some_other_method").await?; -//! -//! println!("Received event {:?}", rx.next().await); -//! -//! rx.close(); -//! join.await??; -//! -//! # Ok(()) -//! # } -//! ``` +//! There are two ways that you can get contract events: +//! 1. By fetching events corresponding to a particular transaction. For this, you will need to +//! provide a connection, contract instance and transaction coordinate to [get_contract_events] +//! function. Similarly to [crate::utility::BlocksApi::get_tx_events], it will fetch block +//! events, filter them and decode all relevant ones. +//! 2. By listening to all contract events. For this, you will need to provide a connection, some +//! contracts and an `UnboundedSender` to the [listen_contract_events] function. In a loop, +//! it will inspect every finalized block and look for contract events. -use std::collections::HashMap; +use std::{collections::HashMap, error::Error}; -use anyhow::{bail, Result}; +use anyhow::{anyhow, bail, Result}; use contract_transcode::Value; use futures::{channel::mpsc::UnboundedSender, StreamExt}; +use subxt::events::EventDetails; -use crate::{contract::ContractInstance, AccountId, Connection}; +use crate::{ + api::contracts::events::ContractEmitted, connections::TxInfo, contract::ContractInstance, + utility::BlocksApi, AccountId, Connection, +}; /// Represents a single event emitted by a contract. #[derive(Debug, Clone, Eq, PartialEq)] @@ -61,13 +32,84 @@ pub struct ContractEvent { pub data: HashMap, } -/// Starts an event listening loop. +/// Fetch and decode all events that correspond to the call identified by `tx_info` made to +/// `contract`. +/// +/// ```no_run +/// # use aleph_client::{AccountId, Connection, SignedConnection}; +/// # use aleph_client::contract::ContractInstance; +/// # use aleph_client::contract::event::{get_contract_events, listen_contract_events}; +/// # use anyhow::Result; +/// use futures::{channel::mpsc::unbounded, StreamExt}; +/// +/// # async fn example(conn: Connection, signed_conn: SignedConnection, address: AccountId, path: &str) -> Result<()> { +/// let contract = ContractInstance::new(address, path)?; +/// +/// let tx_info = contract.contract_exec0(&signed_conn, "some_method").await?; +/// +/// println!("Received events {:?}", get_contract_events(&conn, &contract, tx_info).await); +/// +/// # Ok(()) +/// # } +/// ``` +pub async fn get_contract_events( + conn: &Connection, + contract: &ContractInstance, + tx_info: TxInfo, +) -> Result> { + let events = conn.get_tx_events(tx_info).await?; + translate_events(events.iter(), &[contract]) + .into_iter() + .collect() +} + +/// Starts an event listening loop. Will send contract event and every error encountered while +/// fetching through the provided [UnboundedSender]. /// -/// Will send contract event and every error encountered while fetching through the provided [UnboundedSender]. /// Only events coming from the address of one of the `contracts` will be decoded. /// /// The loop will terminate once `sender` is closed. The loop may also terminate in case of errors while fetching blocks /// or decoding events (pallet events, contract event decoding errors are sent over the channel). +/// +/// You most likely want to `tokio::spawn` the resulting future, so that it runs concurrently. +/// +/// ```no_run +/// # use std::sync::Arc; +/// # use std::sync::mpsc::channel; +/// # use std::time::Duration; +/// # use aleph_client::{AccountId, Connection, SignedConnection}; +/// # use aleph_client::contract::ContractInstance; +/// # use aleph_client::contract::event::{listen_contract_events}; +/// # use anyhow::Result; +/// use futures::{channel::mpsc::unbounded, StreamExt}; +/// +/// # async fn example(conn: Connection, signed_conn: SignedConnection, address1: AccountId, address2: AccountId, path1: &str, path2: &str) -> Result<()> { +/// // The `Arc` makes it possible to pass a reference to the contract to another thread +/// let contract1 = Arc::new(ContractInstance::new(address1, path1)?); +/// let contract2 = Arc::new(ContractInstance::new(address2, path2)?); +/// +/// let conn_copy = conn.clone(); +/// let contract1_copy = contract1.clone(); +/// let contract2_copy = contract2.clone(); +/// +/// let (tx, mut rx) = unbounded(); +/// let listen = || async move { +/// listen_contract_events(&conn, &[contract1_copy.as_ref(), contract2_copy.as_ref()], tx).await?; +/// >::Ok(()) +/// }; +/// let join = tokio::spawn(listen()); +/// +/// contract1.contract_exec0(&signed_conn, "some_method").await?; +/// contract2.contract_exec0(&signed_conn, "some_other_method").await?; +/// +/// println!("Received event {:?}", rx.next().await); +/// +/// rx.close(); +/// join.await??; +/// +/// # Ok(()) +/// # } +/// ``` pub async fn listen_contract_events( conn: &Connection, contracts: &[&ContractInstance], @@ -79,33 +121,54 @@ pub async fn listen_contract_events( if sender.is_closed() { break; } + let events = block?.events().await?; + for event in translate_events(events.iter(), contracts) { + sender.unbounded_send(event)?; + } + } - let block = block?; + Ok(()) +} - for event in block.events().await?.iter() { - let event = event?; +/// Try to convert `events` to `ContractEvent` using matching contract from `contracts`. +fn translate_events< + Err: Error + Into + Send + Sync + 'static, + E: Iterator>, +>( + events: E, + contracts: &[&ContractInstance], +) -> Vec> { + events + .filter_map(|maybe_event| { + maybe_event + .map(|e| e.as_event::().ok().flatten()) + .transpose() + }) + .map(|maybe_event| match maybe_event { + Ok(e) => translate_event(&e, contracts), + Err(e) => Err(anyhow::Error::from(e)), + }) + .collect() +} - if let Some(event) = - event.as_event::()? - { - if let Some(contract) = contracts - .iter() - .find(|contract| contract.address() == &event.contract) - { - let data = zero_prefixed(&event.data); - let event = contract - .transcoder - .decode_contract_event(&mut data.as_slice()); +/// Try to convert `event` to `ContractEvent` using matching contract from `contracts`. +fn translate_event( + event: &ContractEmitted, + contracts: &[&ContractInstance], +) -> Result { + let matching_contract = contracts + .iter() + .find(|contract| contract.address() == &event.contract) + .ok_or(anyhow!( + "The event wasn't emitted by any of the provided contracts" + ))?; - sender.unbounded_send( - event.and_then(|event| build_event(contract.address().clone(), event)), - )?; - } - } - } - } + let data = zero_prefixed(&event.data); + let data = matching_contract + .transcoder + .decode_contract_event(&mut data.as_slice())?; - Ok(()) + build_event(matching_contract.address.clone(), data) } /// The contract transcoder assumes there is an extra byte (that it discards) indicating the size of the data. However, diff --git a/aleph-client/src/contract/mod.rs b/aleph-client/src/contract/mod.rs index 575b57bc34..077fa4eaf9 100644 --- a/aleph-client/src/contract/mod.rs +++ b/aleph-client/src/contract/mod.rs @@ -6,7 +6,7 @@ //! ```no_run //! # use anyhow::{Result, Context}; //! # use aleph_client::{AccountId, Balance}; -//! # use aleph_client::{Connection, SignedConnection}; +//! # use aleph_client::{Connection, SignedConnection, TxInfo}; //! # use aleph_client::contract::ContractInstance; //! # //! #[derive(Debug)] @@ -24,7 +24,7 @@ //! }) //! } //! -//! async fn transfer(&self, conn: &SignedConnection, to: AccountId, amount: Balance) -> Result<()> { +//! async fn transfer(&self, conn: &SignedConnection, to: AccountId, amount: Balance) -> Result { //! self.contract.contract_exec( //! conn, //! "PSP22::transfer", @@ -52,6 +52,7 @@ use contract_transcode::ContractMessageTranscoder; pub use convertible_value::ConvertibleValue; use crate::{ + connections::TxInfo, contract_transcode::Value, pallets::contract::{ContractCallArgs, ContractRpc, ContractsUserApi}, sp_weights::weight_v2::Weight, @@ -128,7 +129,7 @@ impl ContractInstance { &self, conn: &C, message: &str, - ) -> Result<()> { + ) -> Result { self.contract_exec::(conn, message, &[]).await } @@ -138,7 +139,7 @@ impl ContractInstance { conn: &C, message: &str, args: &[S], - ) -> Result<()> { + ) -> Result { self.contract_exec_value::(conn, message, args, 0) .await } @@ -149,7 +150,7 @@ impl ContractInstance { conn: &C, message: &str, value: Balance, - ) -> Result<()> { + ) -> Result { self.contract_exec_value::(conn, message, &[], value) .await } @@ -161,7 +162,7 @@ impl ContractInstance { message: &str, args: &[S], value: Balance, - ) -> Result<()> { + ) -> Result { let data = self.encode(message, args)?; conn.call( self.address.clone(), @@ -175,7 +176,6 @@ impl ContractInstance { TxStatus::InBlock, ) .await - .map(|_| ()) } fn encode + Debug>(&self, message: &str, args: &[S]) -> Result> { diff --git a/aleph-client/src/lib.rs b/aleph-client/src/lib.rs index 9986b58dce..af364edb7e 100644 --- a/aleph-client/src/lib.rs +++ b/aleph-client/src/lib.rs @@ -61,7 +61,7 @@ pub type SubxtClient = OnlineClient; pub use connections::{ AsConnection, AsSigned, Connection, ConnectionApi, RootConnection, SignedConnection, - SignedConnectionApi, SudoCall, + SignedConnectionApi, SudoCall, TxInfo, }; /// When submitting a transaction, wait for given status before proceeding. diff --git a/benches/payout-stakers/Cargo.lock b/benches/payout-stakers/Cargo.lock index 8687fedfed..d548ecc86d 100644 --- a/benches/payout-stakers/Cargo.lock +++ b/benches/payout-stakers/Cargo.lock @@ -49,7 +49,7 @@ dependencies = [ [[package]] name = "aleph_client" -version = "2.9.1" +version = "2.10.0" dependencies = [ "anyhow", "async-trait", diff --git a/bin/cliain/Cargo.lock b/bin/cliain/Cargo.lock index 07139815d1..42df8358a5 100644 --- a/bin/cliain/Cargo.lock +++ b/bin/cliain/Cargo.lock @@ -49,7 +49,7 @@ dependencies = [ [[package]] name = "aleph_client" -version = "2.9.1" +version = "2.10.0" dependencies = [ "anyhow", "async-trait", diff --git a/e2e-tests/Cargo.lock b/e2e-tests/Cargo.lock index 26bc1b971e..b60ada34de 100644 --- a/e2e-tests/Cargo.lock +++ b/e2e-tests/Cargo.lock @@ -78,7 +78,7 @@ dependencies = [ [[package]] name = "aleph_client" -version = "2.9.1" +version = "2.10.0" dependencies = [ "anyhow", "async-trait", diff --git a/e2e-tests/src/test/adder.rs b/e2e-tests/src/test/adder.rs index c1d71be842..5592a8c669 100644 --- a/e2e-tests/src/test/adder.rs +++ b/e2e-tests/src/test/adder.rs @@ -1,20 +1,24 @@ use std::{fmt::Debug, str::FromStr, sync::Arc}; use aleph_client::{ - contract::{event::listen_contract_events, ContractInstance}, + contract::{ + event::{get_contract_events, listen_contract_events}, + ContractInstance, + }, contract_transcode::Value, - AccountId, ConnectionApi, SignedConnectionApi, + AccountId, ConnectionApi, SignedConnectionApi, TxInfo, }; -use anyhow::{Context, Result}; +use anyhow::{anyhow, Context, Result}; use assert2::assert; use futures::{channel::mpsc::unbounded, StreamExt}; use crate::{config::setup_test, test::helpers::basic_test_context}; -/// This test exercises the aleph-client code for interacting with contracts by testing a simple contract that maintains -/// some state and publishes some events. +/// This test exercises the aleph-client code for interacting with contracts by testing a simple +/// contract that maintains some state and publishes some events. The events are obtained by +/// listening mechanism. #[tokio::test] -pub async fn adder() -> Result<()> { +pub async fn adder_events_listening() -> Result<()> { let config = setup_test(); let (conn, _authority, account) = basic_test_context(config).await?; @@ -60,6 +64,48 @@ pub async fn adder() -> Result<()> { Ok(()) } +/// This test exercises the aleph-client code for interacting with contracts by testing a simple +/// contract that maintains some state and publishes some events. The events are obtained by +/// fetching mechanism. +#[tokio::test] +pub async fn adder_fetching_events() -> Result<()> { + let config = setup_test(); + + let (conn, _authority, account) = basic_test_context(config).await?; + + let contract = AdderInstance::new( + &config.test_case_params.adder, + &config.test_case_params.adder_metadata, + )?; + + let increment = 10; + let before = contract.get(&conn).await?; + + let tx_info = contract.add(&account.sign(&conn), increment).await?; + let events = get_contract_events(&conn, &contract.contract, tx_info).await?; + let event = match &*events { + [event] => event, + _ => return Err(anyhow!("Expected single event, but got {events:?}")), + }; + + assert!(event.name == Some("ValueChanged".to_string())); + assert!(event.contract == *contract.contract.address()); + assert!(event.data["new_value"] == Value::UInt(before as u128 + 10)); + + let after = contract.get(&conn).await?; + assert!(after == before + increment); + + let new_name = "test"; + contract.set_name(&account.sign(&conn), None).await?; + assert!(contract.get_name(&conn).await?.is_none()); + contract + .set_name(&account.sign(&conn), Some(new_name)) + .await?; + assert!(contract.get_name(&conn).await? == Some(new_name.to_string())); + + Ok(()) +} + #[derive(Debug)] struct AdderInstance { contract: ContractInstance, @@ -95,7 +141,7 @@ impl AdderInstance { self.contract.contract_read0(conn, "get").await } - pub async fn add(&self, conn: &S, value: u32) -> Result<()> { + pub async fn add(&self, conn: &S, value: u32) -> Result { self.contract .contract_exec(conn, "add", &[value.to_string()]) .await @@ -105,7 +151,7 @@ impl AdderInstance { &self, conn: &S, name: Option<&str>, - ) -> Result<()> { + ) -> Result { let name = name.map_or_else( || "None".to_string(), |name| { diff --git a/flooder/Cargo.lock b/flooder/Cargo.lock index a0c8937379..e8604a36fa 100644 --- a/flooder/Cargo.lock +++ b/flooder/Cargo.lock @@ -49,7 +49,7 @@ dependencies = [ [[package]] name = "aleph_client" -version = "2.9.1" +version = "2.10.0" dependencies = [ "anyhow", "async-trait", From 73b79373505c035021078885bd502495ab6e961c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Obrok?= Date: Thu, 19 Jan 2023 16:44:00 +0100 Subject: [PATCH 102/212] Move all button comms to Ref --- contracts/button/errors.rs | 9 ++++ contracts/button/lib.rs | 101 ++++++++++------------------------- contracts/env/dev | 2 +- contracts/marketplace/lib.rs | 55 ++++--------------- contracts/scripts/deploy.sh | 36 ++++++------- contracts/scripts/test.sh | 2 +- contracts/simple_dex/lib.rs | 89 +++++++++--------------------- 7 files changed, 91 insertions(+), 203 deletions(-) diff --git a/contracts/button/errors.rs b/contracts/button/errors.rs index 0af7a5c94f..36eab2c933 100644 --- a/contracts/button/errors.rs +++ b/contracts/button/errors.rs @@ -3,6 +3,7 @@ use ink::{ env::Error as InkEnvError, prelude::{format, string::String}, }; +use marketplace::marketplace::Error as MarketplaceError; use openbrush::contracts::psp22::PSP22Error; /// GameError types @@ -23,6 +24,8 @@ pub enum GameError { CantRetrieveOwnCodeHash, /// Overflow error Arithmethic, + /// Error from the marketplace contract + MarketplaceError(MarketplaceError), } impl From for GameError { @@ -36,3 +39,9 @@ impl From for GameError { GameError::InkEnvError(format!("{:?}", e)) } } + +impl From for GameError { + fn from(e: MarketplaceError) -> Self { + GameError::MarketplaceError(e) + } +} diff --git a/contracts/button/lib.rs b/contracts/button/lib.rs index ddf93752bc..2f60cf7c42 100644 --- a/contracts/button/lib.rs +++ b/contracts/button/lib.rs @@ -6,23 +6,15 @@ mod errors; #[ink::contract] pub mod button_game { use access_control::{roles::Role, AccessControlRef, ACCESS_CONTROL_PUBKEY}; - use game_token::MINT_SELECTOR; #[cfg(feature = "std")] use ink::storage::traits::StorageLayout; use ink::{ - codegen::EmitEvent, - env::{ - call::{build_call, Call, ExecutionInput, FromAccountId, Selector}, - CallFlags, DefaultEnvironment, Error as InkEnvError, - }, - prelude::vec, - reflect::ContractEventBase, + codegen::EmitEvent, env::call::FromAccountId, prelude::vec, reflect::ContractEventBase, ToAccountId, }; - use marketplace::RESET_SELECTOR as MARKETPLACE_RESET_SELECTOR; - use openbrush::contracts::psp22::PSP22Error; + use marketplace::marketplace::MarketplaceRef; + use openbrush::contracts::psp22::{extensions::mintable::PSP22MintableRef, PSP22Ref}; use scale::{Decode, Encode}; - use ticket_token::{BALANCE_OF_SELECTOR, TRANSFER_FROM_SELECTOR, TRANSFER_SELECTOR}; use crate::errors::GameError; @@ -93,7 +85,7 @@ pub mod button_game { /// access control contract pub access_control: AccessControlRef, /// ticket marketplace contract - pub marketplace: AccountId, + pub marketplace: MarketplaceRef, /// scoring strategy pub scoring: Scoring, /// current round number @@ -178,7 +170,7 @@ pub mod button_game { /// Returns the address of the marketplace for exchanging this game's rewards for tickets. #[ink(message)] pub fn marketplace(&self) -> AccountId { - self.marketplace + self.marketplace.to_account_id() } /// Returns own code hash @@ -205,13 +197,13 @@ pub mod button_game { // transfers 1 ticket token from the caller to self // tx will fail if user did not give allowance to the game contract // or does not have enough balance - self.transfer_ticket(caller, this, 1u128)??; + self.transfer_ticket(caller, this, 1u128)?; let score = self.score(now); // mints reward tokens to pay out the reward // contract needs to have a Minter role on the reward token contract - self.mint_reward(caller, score)??; + self.mint_reward(caller, score)?; self.presses += 1; self.last_presser = Some(caller); @@ -288,7 +280,7 @@ pub mod button_game { button_lifetime, reward_token, ticket_token, - marketplace, + marketplace: MarketplaceRef::from_account_id(marketplace), last_press: now, scoring, last_presser: None, @@ -326,7 +318,7 @@ pub mod button_game { fn reward_pressiah(&self) -> ButtonResult<()> { if let Some(pressiah) = self.last_presser { let reward = self.pressiah_score(); - self.mint_reward(pressiah, reward)??; + self.mint_reward(pressiah, reward)?; }; Ok(()) @@ -341,42 +333,22 @@ pub mod button_game { } fn transfer_tickets_to_marketplace(&self) -> ButtonResult<()> { - build_call::() - .call_type(Call::new().callee(self.ticket_token)) - .exec_input( - ExecutionInput::new(Selector::new(TRANSFER_SELECTOR)) - .push_arg(self.marketplace) - .push_arg(self.held_tickets()?) - .push_arg::>(vec![]), - ) - .call_flags(CallFlags::default().set_allow_reentry(true)) - .returns::>() - .fire()??; + PSP22Ref::transfer( + &self.ticket_token, + self.marketplace.to_account_id(), + self.held_tickets(), + vec![], + )?; Ok(()) } - fn held_tickets(&self) -> ButtonResult { - let result = build_call::() - .call_type(Call::new().callee(self.ticket_token)) - .exec_input( - ExecutionInput::new(Selector::new(BALANCE_OF_SELECTOR)) - .push_arg(self.env().account_id()), - ) - .returns::() - .fire()?; - - Ok(result) + fn held_tickets(&self) -> Balance { + PSP22Ref::balance_of(&self.ticket_token, self.env().account_id()) } - fn reset_marketplace(&self) -> ButtonResult<()> { - build_call::() - .call_type(Call::new().callee(self.marketplace)) - .exec_input(ExecutionInput::new(Selector::new( - MARKETPLACE_RESET_SELECTOR, - ))) - .returns::>() - .fire()??; + fn reset_marketplace(&mut self) -> ButtonResult<()> { + self.marketplace.reset()?; Ok(()) } @@ -410,35 +382,16 @@ pub mod button_game { from: AccountId, to: AccountId, value: Balance, - ) -> Result, InkEnvError> { - build_call::() - .call_type(Call::new().callee(self.ticket_token)) - .exec_input( - ExecutionInput::new(Selector::new(TRANSFER_FROM_SELECTOR)) - .push_arg(from) - .push_arg(to) - .push_arg(value) - .push_arg::>(vec![]), - ) - .call_flags(CallFlags::default().set_allow_reentry(true)) - .returns::>() - .fire() + ) -> ButtonResult<()> { + PSP22Ref::transfer_from(&self.ticket_token, from, to, value, vec![])?; + + Ok(()) } - fn mint_reward( - &self, - to: AccountId, - amount: Balance, - ) -> Result, InkEnvError> { - build_call::() - .call_type(Call::new().callee(self.reward_token)) - .exec_input( - ExecutionInput::new(Selector::new(MINT_SELECTOR)) - .push_arg(to) - .push_arg(amount), - ) - .returns::>() - .fire() + fn mint_reward(&self, to: AccountId, amount: Balance) -> ButtonResult<()> { + PSP22MintableRef::mint(&self.reward_token, to, amount)?; + + Ok(()) } fn emit_event(emitter: EE, event: Event) diff --git a/contracts/env/dev b/contracts/env/dev index acb2ca9f90..6c3f7f3bd7 100644 --- a/contracts/env/dev +++ b/contracts/env/dev @@ -1,4 +1,4 @@ -export NODE=ws://127.0.0.1:9943 +export NODE=ws://127.0.0.1:9944 # authority is a joint name for the account that is an INITIALIZER, OWNER and ADMIN of the game contracts for the purposes of the deployment export AUTHORITY=5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY diff --git a/contracts/marketplace/lib.rs b/contracts/marketplace/lib.rs index acb1900c17..242233ceec 100644 --- a/contracts/marketplace/lib.rs +++ b/contracts/marketplace/lib.rs @@ -25,26 +25,18 @@ pub const RESET_SELECTOR: [u8; 4] = [0x00, 0x00, 0x00, 0x01]; #[ink::contract] pub mod marketplace { use access_control::{roles::Role, AccessControlRef, ACCESS_CONTROL_PUBKEY}; - use game_token::BURN_SELECTOR as REWARD_BURN_SELECTOR; use ink::{ codegen::EmitEvent, - env::{ - call::{build_call, Call, ExecutionInput, FromAccountId, Selector}, - CallFlags, - }, - prelude::{format, string::String}, + env::call::FromAccountId, + prelude::{format, string::String, vec}, reflect::ContractEventBase, }; - use openbrush::contracts::psp22::PSP22Error; - use ticket_token::{ - BALANCE_OF_SELECTOR as TICKET_BALANCE_SELECTOR, - TRANSFER_SELECTOR as TRANSFER_TICKET_SELECTOR, + use openbrush::contracts::psp22::{ + extensions::burnable::PSP22BurnableRef, PSP22Error, PSP22Ref, }; type Event = ::Type; - const DUMMY_DATA: &[u8] = &[0x0]; - #[ink(storage)] pub struct Marketplace { total_proceeds: Balance, @@ -162,7 +154,7 @@ pub mod marketplace { /// /// The tickets will be auctioned off one by one. #[ink(message)] - pub fn available_tickets(&self) -> Result { + pub fn available_tickets(&self) -> Balance { self.ticket_balance() } @@ -201,7 +193,7 @@ pub mod marketplace { /// current price is greater than that. #[ink(message)] pub fn buy(&mut self, max_price: Option) -> Result<(), Error> { - if self.ticket_balance()? == 0 { + if self.ticket_balance() == 0 { return Err(Error::MarketplaceEmpty); } @@ -267,46 +259,19 @@ pub mod marketplace { } fn take_payment(&self, from: AccountId, amount: Balance) -> Result<(), Error> { - build_call::() - .call_type(Call::new().callee(self.reward_token)) - .exec_input( - ExecutionInput::new(Selector::new(REWARD_BURN_SELECTOR)) - .push_arg(from) - .push_arg(amount), - ) - .call_flags(CallFlags::default().set_allow_reentry(true)) - .returns::>() - .fire()??; + PSP22BurnableRef::burn(&self.reward_token, from, amount)?; Ok(()) } fn give_ticket(&self, to: AccountId) -> Result<(), Error> { - build_call::() - .call_type(Call::new().callee(self.ticket_token)) - .exec_input( - ExecutionInput::new(Selector::new(TRANSFER_TICKET_SELECTOR)) - .push_arg(to) - .push_arg(1u128) - .push_arg(DUMMY_DATA), - ) - .returns::>() - .fire()??; + PSP22Ref::transfer(&self.ticket_token, to, 1, vec![])?; Ok(()) } - fn ticket_balance(&self) -> Result { - let balance = build_call::() - .call_type(Call::new().callee(self.ticket_token)) - .exec_input( - ExecutionInput::new(Selector::new(TICKET_BALANCE_SELECTOR)) - .push_arg(self.env().account_id()), - ) - .returns::() - .fire()?; - - Ok(balance) + fn ticket_balance(&self) -> Balance { + PSP22Ref::balance_of(&self.ticket_token, self.env().account_id()) } fn ensure_role(&self, role: Role) -> Result<(), Error> { diff --git a/contracts/scripts/deploy.sh b/contracts/scripts/deploy.sh index ecdd343570..a60c6e5cd7 100755 --- a/contracts/scripts/deploy.sh +++ b/contracts/scripts/deploy.sh @@ -23,16 +23,14 @@ function upload_contract { # --- UPLOAD CONTRACT CODE - code_hash=$(cargo contract upload --url "$NODE" --suri "$AUTHORITY_SEED") - echo "$code_hash" - code_hash=$(echo "$code_hash" | grep hash | tail -1 | cut -c 14-) + code_hash=$(cargo contract upload --url "$NODE" --suri "$AUTHORITY_SEED" --output-json | jq -r '.code_hash') echo "$contract_name code hash: $code_hash" cd "$CONTRACTS_PATH"/access_control # Set the initializer of the contract - cargo contract call --url "$NODE" --contract "$ACCESS_CONTROL" --message grant_role --args "$AUTHORITY" 'Initializer('"$code_hash"')' --suri "$AUTHORITY_SEED" --skip-confirm + cargo contract call --url "$NODE" --contract "$ACCESS_CONTROL" --message grant_role --args "$AUTHORITY" 'Initializer('$code_hash')' --suri "$AUTHORITY_SEED" --skip-confirm eval $__resultvar="'$code_hash'" } @@ -48,8 +46,8 @@ function deploy_ticket_token { cd "$CONTRACTS_PATH"/ticket_token - local contract_address=$(cargo contract instantiate --url "$NODE" --constructor new --args \"$token_name\" \"$token_symbol\" "$TICKET_BALANCE" --suri "$AUTHORITY_SEED" --salt "$salt" --skip-confirm) - local contract_address=$(echo "$contract_address" | grep Contract | tail -1 | cut -c 14-) + local contract_address=$(cargo contract instantiate --url "$NODE" --constructor new --args \"$token_name\" \"$token_symbol\" "$TICKET_BALANCE" --suri "$AUTHORITY_SEED" --salt "$salt" --skip-confirm --output-json) + local contract_address=$(echo "$contract_address" | jq -r '.contract') echo "$token_symbol ticket contract instance address: $contract_address" @@ -74,8 +72,8 @@ function deploy_game_token { cd "$CONTRACTS_PATH"/game_token - local contract_address=$(cargo contract instantiate --url "$NODE" --constructor new --args \"$token_name\" \"$token_symbol\" --suri "$AUTHORITY_SEED" --salt "$salt" --skip-confirm) - local contract_address=$(echo "$contract_address" | grep Contract | tail -1 | cut -c 14-) + local contract_address=$(cargo contract instantiate --url "$NODE" --constructor new --args \"$token_name\" \"$token_symbol\" --suri "$AUTHORITY_SEED" --salt "$salt" --skip-confirm --output-json) + local contract_address=$(echo "$contract_address" | jq -r '.contract') echo "$token_symbol token contract instance address: $contract_address" @@ -102,8 +100,8 @@ function deploy_button_game { cd "$CONTRACTS_PATH"/button - local contract_address=$(cargo contract instantiate --url "$NODE" --constructor new --args "$ticket_token" "$game_token" "$marketplace" "$LIFETIME" "$game_type" --suri "$AUTHORITY_SEED" --salt "$salt" --skip-confirm) - local contract_address=$(echo "$contract_address" | grep Contract | tail -1 | cut -c 14-) + local contract_address=$(cargo contract instantiate --url "$NODE" --constructor new --args "$ticket_token" "$game_token" "$marketplace" "$LIFETIME" "$game_type" --suri "$AUTHORITY_SEED" --salt "$salt" --skip-confirm --output-json) + local contract_address=$(echo "$contract_address" | jq -r '.contract') echo "$game_type contract instance address: $contract_address" # --- GRANT PRIVILEGES ON THE CONTRACT @@ -140,8 +138,8 @@ function deploy_marketplace { local contract_address contract_address=$(cargo contract instantiate --url "$NODE" --constructor new \ --args "$ticket_token" "$game_token" "$initial_price" "$min_price" "$sale_price_multiplier" "$blocks_per_hour" \ - --suri "$AUTHORITY_SEED" --salt "$salt" --skip-confirm) - contract_address=$(echo "$contract_address" | grep Contract | tail -1 | cut -c 14-) + --suri "$AUTHORITY_SEED" --salt "$salt" --skip-confirm --output-json) + contract_address=$(echo "$contract_address" | jq -r '.contract') echo "Marketplace for $contract_name instance address: $contract_address" @@ -164,8 +162,8 @@ function deploy_simple_dex { cd "$CONTRACTS_PATH"/simple_dex local contract_address - contract_address=$(cargo contract instantiate --url "$NODE" --constructor new --suri "$AUTHORITY_SEED" --skip-confirm) - contract_address=$(echo "$contract_address" | grep Contract | tail -1 | cut -c 14-) + contract_address=$(cargo contract instantiate --url "$NODE" --constructor new --suri "$AUTHORITY_SEED" --skip-confirm --output-json) + contract_address=$(echo "$contract_address" | jq -r '.contract') echo "Simple dex contract instance address: $contract_address" @@ -197,8 +195,8 @@ function deploy_wrapped_azero { cd "$CONTRACTS_PATH"/wrapped_azero local contract_address - contract_address=$(cargo contract instantiate --url "$NODE" --constructor new --suri "$AUTHORITY_SEED" --skip-confirm) - contract_address=$(echo "$contract_address" | grep Contract | tail -1 | cut -c 14-) + contract_address=$(cargo contract instantiate --url "$NODE" --constructor new --suri "$AUTHORITY_SEED" --skip-confirm --output-json) + contract_address=$(echo "$contract_address" | jq -r '.contract') echo "wrapped Azero contract instance address: $contract_address" @@ -248,14 +246,14 @@ cargo contract build --release cd "$CONTRACTS_PATH"/wrapped_azero cargo contract build --release -# --- DEPLOY ACCESS CONTROL CONTRACT +# # --- DEPLOY ACCESS CONTROL CONTRACT cd "$CONTRACTS_PATH"/access_control ACCESS_CONTROL_CODE_HASH=$(cargo contract upload --url "$NODE" --suri "$AUTHORITY_SEED") ACCESS_CONTROL_CODE_HASH=$(echo "$ACCESS_CONTROL_CODE_HASH" | grep hash | tail -1 | cut -c 14-) -ACCESS_CONTROL=$(cargo contract instantiate --url "$NODE" --constructor new --suri "$AUTHORITY_SEED" --skip-confirm) -ACCESS_CONTROL=$(echo "$ACCESS_CONTROL" | grep Contract | tail -1 | cut -c 14-) +ACCESS_CONTROL=$(cargo contract instantiate --url "$NODE" --constructor new --suri "$AUTHORITY_SEED" --skip-confirm --output-json) +ACCESS_CONTROL=$(echo "$ACCESS_CONTROL" | jq -r '.contract') ACCESS_CONTROL_PUBKEY=$(docker run --rm --entrypoint "/bin/sh" "${NODE_IMAGE}" -c "aleph-node key inspect $ACCESS_CONTROL" | grep hex | cut -c 23- | cut -c 3-) echo "access control contract address: $ACCESS_CONTROL" diff --git a/contracts/scripts/test.sh b/contracts/scripts/test.sh index 08dd34e8b0..3995dc346a 100755 --- a/contracts/scripts/test.sh +++ b/contracts/scripts/test.sh @@ -19,6 +19,6 @@ EARLY_BIRD_SPECIAL=$(jq --raw-output ".early_bird_special" < "$CONTRACTS_PATH"/a SIMPLE_DEX_METADATA=$CONTRACTS_PATH/simple_dex/target/ink/metadata.json \ WRAPPED_AZERO_METADATA=$CONTRACTS_PATH/wrapped_azero/target/ink/metadata.json \ RUST_LOG="aleph_e2e_client=info" \ - cargo test button -- --nocapture + cargo test button -- --test-threads 1 --nocapture exit $? diff --git a/contracts/simple_dex/lib.rs b/contracts/simple_dex/lib.rs index e8e0976563..46d93e2e7d 100644 --- a/contracts/simple_dex/lib.rs +++ b/contracts/simple_dex/lib.rs @@ -12,20 +12,18 @@ #[ink::contract] mod simple_dex { use access_control::{roles::Role, AccessControlRef, ACCESS_CONTROL_PUBKEY}; - use game_token::{ - ALLOWANCE_SELECTOR, BALANCE_OF_SELECTOR, TRANSFER_FROM_SELECTOR, TRANSFER_SELECTOR, - }; use ink::{ codegen::EmitEvent, - env::{ - call::{build_call, Call, ExecutionInput, FromAccountId, Selector}, - CallFlags, DefaultEnvironment, Error as InkEnvError, - }, + env::{call::FromAccountId, Error as InkEnvError}, prelude::{format, string::String, vec, vec::Vec}, reflect::ContractEventBase, ToAccountId, }; - use openbrush::{contracts::traits::errors::PSP22Error, storage::Mapping, traits::Storage}; + use openbrush::{ + contracts::{psp22::PSP22Ref, traits::errors::PSP22Error}, + storage::Mapping, + traits::Storage, + }; type Event = ::Type; @@ -144,7 +142,7 @@ mod simple_dex { let this = self.env().account_id(); let caller = self.env().caller(); - let balance_token_out = self.balance_of(token_out, this)?; + let balance_token_out = self.balance_of(token_out, this); if balance_token_out < min_amount_token_out { // throw early if we cannot support this swap anyway due to liquidity being too low return Err(DexError::NotEnoughLiquidityOf(token_out)); @@ -156,7 +154,7 @@ mod simple_dex { } // check allowance - if self.allowance(token_in, caller, this)? < amount_token_in { + if self.allowance(token_in, caller, this) < amount_token_in { return Err(DexError::InsufficientAllowanceOf(token_in)); } @@ -169,9 +167,9 @@ mod simple_dex { } // transfer token_in from user to the contract - self.transfer_from_tx(token_in, caller, this, amount_token_in)??; + self.transfer_from_tx(token_in, caller, this, amount_token_in)?; // transfer token_out from contract to user - self.transfer_tx(token_out, caller, amount_token_out)??; + self.transfer_tx(token_out, caller, amount_token_out)?; // emit event Self::emit_event( @@ -207,7 +205,7 @@ mod simple_dex { // transfer token_in from the caller to the contract // will revert if the contract does not have enough allowance from the caller // in which case the whole tx is reverted - self.transfer_from_tx(token_in, caller, this, amount)??; + self.transfer_from_tx(token_in, caller, this, amount)?; Ok(()) })?; @@ -228,7 +226,7 @@ mod simple_dex { withdrawals.into_iter().try_for_each( |(token_out, amount)| -> Result<(), DexError> { // transfer token_out from the contract to the caller - self.transfer_tx(token_out, caller, amount)??; + self.transfer_tx(token_out, caller, amount)?; Ok(()) }, )?; @@ -369,8 +367,8 @@ mod simple_dex { amount_token_in: Balance, ) -> Result { let this = self.env().account_id(); - let balance_token_in = self.balance_of(token_in, this)?; - let balance_token_out = self.balance_of(token_out, this)?; + let balance_token_in = self.balance_of(token_in, this); + let balance_token_out = self.balance_of(token_out, this); Self::_out_given_in( amount_token_in, @@ -417,17 +415,10 @@ mod simple_dex { token: AccountId, to: AccountId, amount: Balance, - ) -> Result, InkEnvError> { - build_call::() - .call_type(Call::new().callee(token)) - .exec_input( - ExecutionInput::new(Selector::new(TRANSFER_SELECTOR)) - .push_arg(to) - .push_arg(amount) - .push_arg(vec![0x0]), - ) - .returns::>() - .fire() + ) -> Result<(), PSP22Error> { + PSP22Ref::transfer(&token, to, amount, vec![])?; + + Ok(()) } /// Transfers a given amount of a PSP22 token on behalf of a specified account to another account @@ -439,48 +430,20 @@ mod simple_dex { from: AccountId, to: AccountId, amount: Balance, - ) -> Result, InkEnvError> { - build_call::() - .call_type(Call::new().callee(token)) - .exec_input( - ExecutionInput::new(Selector::new(TRANSFER_FROM_SELECTOR)) - .push_arg(from) - .push_arg(to) - .push_arg(amount) - .push_arg(vec![0x0]), - ) - .call_flags(CallFlags::default().set_allow_reentry(true)) // needed for checking allowance before the actual tx - .returns::>() - .fire() + ) -> Result<(), PSP22Error> { + PSP22Ref::transfer_from(&token, from, to, amount, vec![])?; + + Ok(()) } /// Returns the amount of unused allowance that the token owner has given to the spender - fn allowance( - &self, - token: AccountId, - owner: AccountId, - spender: AccountId, - ) -> Result { - build_call::() - .call_type(Call::new().callee(token)) - .exec_input( - ExecutionInput::new(Selector::new(ALLOWANCE_SELECTOR)) - .push_arg(owner) - .push_arg(spender), - ) - .returns::() - .fire() + fn allowance(&self, token: AccountId, owner: AccountId, spender: AccountId) -> Balance { + PSP22Ref::allowance(&token, owner, spender) } /// Returns DEX balance of a PSP22 token for an account - fn balance_of(&self, token: AccountId, account: AccountId) -> Result { - build_call::() - .call_type(Call::new().callee(token)) - .exec_input( - ExecutionInput::new(Selector::new(BALANCE_OF_SELECTOR)).push_arg(account), - ) - .returns::() - .fire() + fn balance_of(&self, token: AccountId, account: AccountId) -> Balance { + PSP22Ref::balance_of(&token, account) } fn check_role(&self, account: AccountId, role: Role) -> Result<(), DexError> { From 23935d233450cff25dd40fe7922f605f598469bc Mon Sep 17 00:00:00 2001 From: bartoszjedrzejewski <72252135+bartoszjedrzejewski@users.noreply.github.com> Date: Fri, 20 Jan 2023 12:30:35 +0100 Subject: [PATCH 103/212] Pin version of buildx. (#878) --- .github/workflows/build-and-push-cliain.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build-and-push-cliain.yaml b/.github/workflows/build-and-push-cliain.yaml index ad77ef3cf5..f06535f9b5 100644 --- a/.github/workflows/build-and-push-cliain.yaml +++ b/.github/workflows/build-and-push-cliain.yaml @@ -40,7 +40,9 @@ jobs: - name: Set up Docker Buildx id: buildx - uses: docker/setup-buildx-action@master + uses: docker/setup-buildx-action@v2 + with: + version: v0.9.1 - name: Build and push latest docker image id: build-image From 995f6e2f180a0cb146f673293f8a54cbc61b93fc Mon Sep 17 00:00:00 2001 From: Krzysztof Ziobro <86822080+krzysztofziobro@users.noreply.github.com> Date: Mon, 23 Jan 2023 10:47:36 +0100 Subject: [PATCH 104/212] A0-1614 (don't) hide subxt types (#848) --- aleph-client/Cargo.lock | 7 +- aleph-client/Cargo.toml | 4 +- aleph-client/src/connections.rs | 21 +- .../src/contract/convertible_value.rs | 2 +- aleph-client/src/lib.rs | 62 ++- aleph-client/src/pallets/balances.rs | 6 +- aleph-client/src/pallets/contract.rs | 17 +- aleph-client/src/pallets/multisig.rs | 6 +- benches/payout-stakers/Cargo.lock | 342 ++++++++-------- bin/cliain/Cargo.lock | 3 +- bin/cliain/src/contracts.rs | 5 +- e2e-tests/Cargo.lock | 3 +- e2e-tests/src/test/ban.rs | 2 +- e2e-tests/src/test/staking.rs | 5 +- flooder/Cargo.lock | 365 ++++++++---------- 15 files changed, 402 insertions(+), 448 deletions(-) diff --git a/aleph-client/Cargo.lock b/aleph-client/Cargo.lock index 52ef28bbd8..9d18828332 100644 --- a/aleph-client/Cargo.lock +++ b/aleph-client/Cargo.lock @@ -49,7 +49,7 @@ dependencies = [ [[package]] name = "aleph_client" -version = "2.10.0" +version = "2.11.0" dependencies = [ "anyhow", "async-trait", @@ -65,7 +65,6 @@ dependencies = [ "primitives", "serde", "serde_json", - "sp-core 6.0.0", "sp-runtime 6.0.0", "subxt", "thiserror", @@ -3865,9 +3864,9 @@ checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642" [[package]] name = "tt-call" -version = "1.0.8" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e66dcbec4290c69dd03c57e76c2469ea5c7ce109c6dd4351c13055cf71ea055" +checksum = "f4f195fd851901624eee5a58c4bb2b4f06399148fcd0ed336e6f1cb60a9881df" [[package]] name = "twox-hash" diff --git a/aleph-client/Cargo.toml b/aleph-client/Cargo.toml index 841c78085e..aa89266191 100644 --- a/aleph-client/Cargo.toml +++ b/aleph-client/Cargo.toml @@ -1,7 +1,6 @@ [package] name = "aleph_client" -# TODO bump major version when API stablize -version = "2.10.0" +version = "2.11.0" edition = "2021" license = "Apache 2.0" @@ -21,7 +20,6 @@ futures = "0.3.25" serde = { version = "1.0", features = ["derive"] } frame-support = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32", features = ["full_crypto"] } sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } pallet-contracts-primitives = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } primitives = { path = "../primitives" } diff --git a/aleph-client/src/connections.rs b/aleph-client/src/connections.rs index fee84fa234..15bc42577d 100644 --- a/aleph-client/src/connections.rs +++ b/aleph-client/src/connections.rs @@ -10,13 +10,12 @@ use subxt::{ metadata::DecodeWithMetadata, rpc::RpcParams, storage::{address::Yes, StaticStorageAddress, StorageAddress}, - tx::{BaseExtrinsicParamsBuilder, PlainTip, TxPayload}, - SubstrateConfig, + tx::TxPayload, }; use crate::{ api, sp_weights::weight_v2::Weight, AccountId, AlephConfig, BlockHash, Call, KeyPair, - SubxtClient, TxHash, TxStatus, + ParamsBuilder, SubxtClient, TxHash, TxStatus, }; /// Capable of communicating with a live Aleph chain. @@ -26,6 +25,7 @@ pub struct Connection { } /// Any connection that is signed by some key. +#[derive(Clone)] pub struct SignedConnection { connection: Connection, signer: KeyPair, @@ -158,7 +158,7 @@ pub trait SignedConnectionApi: ConnectionApi { async fn send_tx_with_params( &self, tx: Call, - params: BaseExtrinsicParamsBuilder, + params: ParamsBuilder, status: TxStatus, ) -> anyhow::Result; @@ -204,15 +204,6 @@ impl SudoCall for RootConnection { } } -impl Clone for SignedConnection { - fn clone(&self) -> Self { - SignedConnection { - connection: self.connection.clone(), - signer: KeyPair::new(self.signer.signer().clone()), - } - } -} - impl AsConnection for Connection { fn as_connection(&self) -> &Connection { self @@ -294,7 +285,7 @@ impl SignedConnectionApi for S { async fn send_tx_with_params( &self, tx: Call, - params: BaseExtrinsicParamsBuilder, + params: ParamsBuilder, status: TxStatus, ) -> anyhow::Result { if let Some(details) = tx.validation_details() { @@ -305,7 +296,7 @@ impl SignedConnectionApi for S { .as_connection() .as_client() .tx() - .sign_and_submit_then_watch(&tx, self.as_signed().signer(), params) + .sign_and_submit_then_watch(&tx, &self.as_signed().signer().inner, params) .await .map_err(|e| anyhow!("Failed to submit transaction: {:?}", e))?; diff --git a/aleph-client/src/contract/convertible_value.rs b/aleph-client/src/contract/convertible_value.rs index fac6cda891..f92809bcdc 100644 --- a/aleph-client/src/contract/convertible_value.rs +++ b/aleph-client/src/contract/convertible_value.rs @@ -230,7 +230,7 @@ mod tests { let cast: bool = ConvertibleValue(Bool(true)) .try_into() .expect("Should cast successfully"); - assert_eq!(true, cast); + assert!(cast); } #[test] diff --git a/aleph-client/src/lib.rs b/aleph-client/src/lib.rs index af364edb7e..fccee35c17 100644 --- a/aleph-client/src/lib.rs +++ b/aleph-client/src/lib.rs @@ -12,15 +12,18 @@ extern crate core; +use std::str::FromStr; + +use anyhow::anyhow; pub use contract_transcode; -pub use subxt::{blocks::ExtrinsicEvents, ext::sp_core::Pair}; +pub use subxt::ext::{codec, sp_core, sp_core::Pair, sp_runtime}; use subxt::{ ext::sp_core::{ed25519, sr25519, H256}, - tx::PairSigner, - OnlineClient, PolkadotConfig, + OnlineClient, PolkadotConfig, SubstrateConfig, }; use crate::api::runtime_types::aleph_runtime::RuntimeCall as Call; + // generated by running `subxt codegen --derive Clone Debug Eq PartialEq | rustfmt --edition=2021 > src/aleph_zero.rs` #[allow(clippy::all)] #[doc(hidden)] @@ -39,23 +42,18 @@ pub use ::primitives::{Balance, BlockNumber}; pub use aleph_zero::api; pub use runtime_types::*; -/// An alias for a configuration of live chain, e.g. block index type, hash type. -pub type AlephConfig = PolkadotConfig; /// An alias for a pallet aleph keys. pub type AlephKeyPair = ed25519::Pair; /// An alias for a type of a key pair that signs chain transactions. pub type RawKeyPair = sr25519::Pair; -/// An alias for a signer object that constructs [`sr25519::Pair`] from given account id type. -pub type KeyPair = PairSigner; /// An alias for an account id type. pub type AccountId = subxt::ext::sp_core::crypto::AccountId32; -/// An alias for a client type. -pub type Client = OnlineClient; +/// An alias for a hash type. +pub type CodeHash = H256; /// An alias for a block hash type. pub type BlockHash = H256; /// An alias for a transaction hash type. pub type TxHash = H256; - /// An alias for an RPC client type. pub type SubxtClient = OnlineClient; @@ -64,6 +62,50 @@ pub use connections::{ SignedConnectionApi, SudoCall, TxInfo, }; +/// An alias for a configuration of live chain, e.g. block index type, hash type. +type AlephConfig = PolkadotConfig; +type ParamsBuilder = subxt::tx::PolkadotExtrinsicParamsBuilder; +type PairSigner = subxt::tx::PairSigner; + +/// Used for signing extrinsic payload +pub struct KeyPair { + inner: PairSigner, +} + +impl Clone for KeyPair { + fn clone(&self) -> Self { + KeyPair::new(self.inner.signer().clone()) + } +} + +impl FromStr for KeyPair { + type Err = anyhow::Error; + fn from_str(s: &str) -> anyhow::Result { + let pair = sr25519::Pair::from_string(s, None) + .map_err(|e| anyhow!("Can't create pair from seed value: {:?}", e))?; + Ok(KeyPair::new(pair)) + } +} + +impl KeyPair { + /// Constructs a new KeyPair from RawKeyPair + pub fn new(keypair: RawKeyPair) -> Self { + KeyPair { + inner: PairSigner::new(keypair), + } + } + + /// Returns a reference to the inner RawKeyPair + pub fn signer(&self) -> &RawKeyPair { + self.inner.signer() + } + + /// Returns corresponding AccountId + pub fn account_id(&self) -> &AccountId { + self.inner.account_id() + } +} + /// When submitting a transaction, wait for given status before proceeding. #[derive(Copy, Clone)] pub enum TxStatus { diff --git a/aleph-client/src/pallets/balances.rs b/aleph-client/src/pallets/balances.rs index ffd4e44132..f1050cf59c 100644 --- a/aleph-client/src/pallets/balances.rs +++ b/aleph-client/src/pallets/balances.rs @@ -1,4 +1,4 @@ -use subxt::{ext::sp_runtime::MultiAddress, tx::PolkadotExtrinsicParamsBuilder}; +use subxt::ext::sp_runtime::MultiAddress; use crate::{ aleph_zero::{self, api, api::runtime_types::pallet_balances::BalanceLock}, @@ -7,7 +7,7 @@ use crate::{ pallets::utility::UtilityApi, AccountId, Balance, BlockHash, Call::Balances, - ConnectionApi, SignedConnectionApi, TxStatus, + ConnectionApi, ParamsBuilder, SignedConnectionApi, TxStatus, }; /// Pallet balances read-only API. @@ -140,7 +140,7 @@ impl BalanceUserApi for S { .balances() .transfer(MultiAddress::Id(dest), amount); - self.send_tx_with_params(tx, PolkadotExtrinsicParamsBuilder::new().tip(tip), status) + self.send_tx_with_params(tx, ParamsBuilder::new().tip(tip), status) .await } } diff --git a/aleph-client/src/pallets/contract.rs b/aleph-client/src/pallets/contract.rs index 235f44678f..4afdec53d1 100644 --- a/aleph-client/src/pallets/contract.rs +++ b/aleph-client/src/pallets/contract.rs @@ -3,8 +3,8 @@ use pallet_contracts_primitives::ContractExecResult; use subxt::{ext::sp_core::Bytes, rpc_params}; use crate::{ - api, connections::TxInfo, pallet_contracts::wasm::OwnerInfo, sp_weights::weight_v2::Weight, - AccountId, Balance, BlockHash, ConnectionApi, SignedConnectionApi, TxStatus, + api, pallet_contracts::wasm::OwnerInfo, sp_weights::weight_v2::Weight, AccountId, Balance, + BlockHash, CodeHash, ConnectionApi, SignedConnectionApi, TxInfo, TxStatus, }; /// Arguments to [`ContractRpc::call_and_get`]. @@ -30,11 +30,8 @@ pub trait ContractsApi { /// Returns `contracts.owner_info_of` storage for a given code hash. /// * `code_hash` - a code hash /// * `at` - optional hash of a block to query state from - async fn get_owner_info( - &self, - code_hash: BlockHash, - at: Option, - ) -> Option; + async fn get_owner_info(&self, code_hash: CodeHash, at: Option) + -> Option; } /// Pallet contracts api. @@ -52,7 +49,7 @@ pub trait ContractsUserApi { #[allow(clippy::too_many_arguments)] async fn instantiate( &self, - code_hash: BlockHash, + code_hash: CodeHash, balance: Balance, gas_limit: Weight, storage_limit: Option>, @@ -103,7 +100,7 @@ pub trait ContractRpc { impl ContractsApi for C { async fn get_owner_info( &self, - code_hash: BlockHash, + code_hash: CodeHash, at: Option, ) -> Option { let addrs = api::storage().contracts().owner_info_of(code_hash); @@ -127,7 +124,7 @@ impl ContractsUserApi for S { async fn instantiate( &self, - code_hash: BlockHash, + code_hash: CodeHash, balance: Balance, gas_limit: Weight, storage_limit: Option>, diff --git a/aleph-client/src/pallets/multisig.rs b/aleph-client/src/pallets/multisig.rs index 2032029e49..7a1136a158 100644 --- a/aleph-client/src/pallets/multisig.rs +++ b/aleph-client/src/pallets/multisig.rs @@ -3,13 +3,11 @@ use std::{collections::HashSet, marker::PhantomData}; use anyhow::{anyhow, ensure}; use codec::{Decode, Encode}; use primitives::{Balance, BlockNumber}; -use sp_core::blake2_256; -use sp_runtime::traits::TrailingZeroInput; use crate::{ account_from_keypair, aleph_runtime::RuntimeCall, api, api::runtime_types, connections::TxInfo, - sp_weights::weight_v2::Weight, AccountId, BlockHash, ConnectionApi, SignedConnectionApi, - TxStatus, + sp_core::blake2_256, sp_runtime::traits::TrailingZeroInput, sp_weights::weight_v2::Weight, + AccountId, BlockHash, ConnectionApi, SignedConnectionApi, TxStatus, }; /// An alias for a call hash. diff --git a/benches/payout-stakers/Cargo.lock b/benches/payout-stakers/Cargo.lock index d548ecc86d..c989b6e7f8 100644 --- a/benches/payout-stakers/Cargo.lock +++ b/benches/payout-stakers/Cargo.lock @@ -14,9 +14,9 @@ dependencies = [ [[package]] name = "addr2line" -version = "0.17.0" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9ecd88a8c8378ca913a680cd98f0f13ac67383d35993f86c90a70e3f137816b" +checksum = "a76fd60b23679b7d19bd066031410fb7e458ccc5e958eb5c325888ce4baedc97" dependencies = [ "gimli", ] @@ -49,11 +49,11 @@ dependencies = [ [[package]] name = "aleph_client" -version = "2.10.0" +version = "2.11.0" dependencies = [ "anyhow", "async-trait", - "contract-metadata 2.0.0-beta", + "contract-metadata 2.0.0-rc", "contract-transcode", "frame-support", "futures", @@ -65,7 +65,6 @@ dependencies = [ "primitives", "serde", "serde_json", - "sp-core 6.0.0", "sp-runtime 6.0.0", "subxt", "thiserror", @@ -131,9 +130,9 @@ dependencies = [ [[package]] name = "async-trait" -version = "0.1.59" +version = "0.1.62" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31e6e93155431f3931513b243d371981bb2770112b370c82745a1d19d2f99364" +checksum = "689894c2db1ea643a50834b999abf1c110887402542955ff5451dab8f861f9ed" dependencies = [ "proc-macro2", "quote", @@ -146,7 +145,7 @@ version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" dependencies = [ - "hermit-abi", + "hermit-abi 0.1.19", "libc", "winapi", ] @@ -159,9 +158,9 @@ checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" [[package]] name = "backtrace" -version = "0.3.66" +version = "0.3.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cab84319d616cfb654d03394f38ab7e6f0919e181b1b57e1fd15e7fb4077d9a7" +checksum = "233d376d6d185f2a3093e58f283f60f880315b6c60075b01f36b3b85154564ca" dependencies = [ "addr2line", "cc", @@ -190,6 +189,12 @@ version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" +[[package]] +name = "base64" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4a4ddaa51a5bc52a6948f74c06d20aaaddb71924eab79b8c97a8c556e942d6a" + [[package]] name = "base64ct" version = "1.5.3" @@ -225,9 +230,9 @@ dependencies = [ [[package]] name = "blake2" -version = "0.10.5" +version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b12e5fd123190ce1c2e559308a94c9bacad77907d4c6005d9e58fe1a0689e55e" +checksum = "46502ad458c9a52b69d4d4d32775c788b7a1b85e8bc9d482d92250fc0e3f8efe" dependencies = [ "digest 0.10.6", ] @@ -282,9 +287,9 @@ dependencies = [ [[package]] name = "bumpalo" -version = "3.11.1" +version = "3.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "572f695136211188308f16ad2ca5c851a712c464060ae6974944458eb83880ba" +checksum = "0d261e256854913907f67ed06efbc3338dfe6179796deefc1ff763fc1aee5535" [[package]] name = "byte-slice-cast" @@ -312,9 +317,9 @@ checksum = "dfb24e866b15a1af2a1b663f10c6b6b8f397a84aadb828f12e5b289ec23a3a3c" [[package]] name = "cc" -version = "1.0.77" +version = "1.0.78" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9f73505338f7d905b19d18738976aae232eb46b8efc15554ffc56deb5d9ebe4" +checksum = "a20104e2335ce8a659d6dd92a51a767a0c062599c73b343fd152cb401e828c3d" [[package]] name = "cfg-expr" @@ -400,9 +405,8 @@ checksum = "e4c78c047431fee22c1a7bb92e00ad095a02a983affe4d8a72e2a2c62c1b94f3" [[package]] name = "contract-metadata" -version = "2.0.0-beta" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40248c6a648b3679ea52bb83d8921246d0347644eaf7b0eec4c5601fa8feb651" +version = "2.0.0-beta.1" +source = "git+https://github.com/paritytech/cargo-contract?rev=7ca8c365fc1e157cd52901c54949b2faf1cd8899#7ca8c365fc1e157cd52901c54949b2faf1cd8899" dependencies = [ "anyhow", "impl-serde", @@ -414,8 +418,9 @@ dependencies = [ [[package]] name = "contract-metadata" -version = "2.0.0-beta.1" -source = "git+https://github.com/paritytech/cargo-contract?rev=7ca8c365fc1e157cd52901c54949b2faf1cd8899#7ca8c365fc1e157cd52901c54949b2faf1cd8899" +version = "2.0.0-rc" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "180f2389a624fc4d0e70b207542a508d668e1261b73391bc228775e3f4c84535" dependencies = [ "anyhow", "impl-serde", @@ -550,9 +555,9 @@ dependencies = [ [[package]] name = "cxx" -version = "1.0.82" +version = "1.0.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4a41a86530d0fe7f5d9ea779916b7cadd2d4f9add748b99c2c029cbbdfaf453" +checksum = "b61a7545f753a88bcbe0a70de1fcc0221e10bfc752f576754fa91e663db1622e" dependencies = [ "cc", "cxxbridge-flags", @@ -562,9 +567,9 @@ dependencies = [ [[package]] name = "cxx-build" -version = "1.0.82" +version = "1.0.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06416d667ff3e3ad2df1cd8cd8afae5da26cf9cec4d0825040f88b5ca659a2f0" +checksum = "f464457d494b5ed6905c63b0c4704842aba319084a0a3561cdc1359536b53200" dependencies = [ "cc", "codespan-reporting", @@ -577,15 +582,15 @@ dependencies = [ [[package]] name = "cxxbridge-flags" -version = "1.0.82" +version = "1.0.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "820a9a2af1669deeef27cb271f476ffd196a2c4b6731336011e0ba63e2c7cf71" +checksum = "43c7119ce3a3701ed81aca8410b9acf6fc399d2629d057b87e2efa4e63a3aaea" [[package]] name = "cxxbridge-macro" -version = "1.0.82" +version = "1.0.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a08a6e2fcc370a089ad3b4aaf54db3b1b4cee38ddabce5896b33eb693275f470" +checksum = "65e07508b90551e610910fa648a1878991d367064997a596135b86df30daf07e" dependencies = [ "proc-macro2", "quote", @@ -716,9 +721,9 @@ dependencies = [ [[package]] name = "dyn-clone" -version = "1.0.9" +version = "1.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f94fa09c2aeea5b8839e414b7b841bf429fd25b9c522116ac97ee87856d88b2" +checksum = "c9b0705efd4599c15a38151f4721f7bc388306f61084d3bfd50bd07fbca5cb60" [[package]] name = "ecdsa" @@ -1100,9 +1105,9 @@ dependencies = [ [[package]] name = "gimli" -version = "0.26.2" +version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22030e2c5a68ec659fde1e949a745124b48e6fa8b045b7ed5bd1fe4ccc5c4e5d" +checksum = "dec7af912d60cdbd3677c1af9352ebae6fb8394d165568a2234df0fa00f87793" [[package]] name = "group" @@ -1173,6 +1178,15 @@ dependencies = [ "libc", ] +[[package]] +name = "hermit-abi" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7" +dependencies = [ + "libc", +] + [[package]] name = "hex" version = "0.4.3" @@ -1276,9 +1290,9 @@ dependencies = [ [[package]] name = "hyper-rustls" -version = "0.23.1" +version = "0.23.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59df7c4e19c950e6e0e868dcc0a300b09a9b88e9ec55bd879ca819087a77355d" +checksum = "1788965e61b367cd03a62950836d5cd41560c3577d90e40e0819373194d1661c" dependencies = [ "http", "hyper", @@ -1505,9 +1519,9 @@ dependencies = [ [[package]] name = "itoa" -version = "1.0.4" +version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4217ad341ebadf8d8e724e264f13e593e0648f5b3e94b3896a5df283be015ecc" +checksum = "fad582f4b9e86b6caa621cabeb0963332d92eea04729ab12892c2533951e6440" [[package]] name = "joinery" @@ -1642,9 +1656,9 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" [[package]] name = "libc" -version = "0.2.137" +version = "0.2.139" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc7fcc620a3bff7cdd7a365be3376c97191aeaccc2a603e600951e452615bf89" +checksum = "201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79" [[package]] name = "libm" @@ -1659,7 +1673,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "95b09eff1b35ed3b33b877ced3a691fc7a481919c7e29c53c906226fcf55e2a1" dependencies = [ "arrayref", - "base64", + "base64 0.13.1", "digest 0.9.0", "hmac-drbg", "libsecp256k1-core", @@ -1702,9 +1716,9 @@ dependencies = [ [[package]] name = "link-cplusplus" -version = "1.0.7" +version = "1.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9272ab7b96c9046fbc5bc56c06c117cb639fe2d509df0c421cad82d2915cf369" +checksum = "ecd207c9c713c34f95a097a5b029ac2ce6010530c7b49d7fea24d977dede04f5" dependencies = [ "cc", ] @@ -1798,9 +1812,9 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "miniz_oxide" -version = "0.5.4" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96590ba8f175222643a85693f33d26e9c8a015f599c216509b1a6894af675d34" +checksum = "b275950c28b37e794e8c55d88aeb5e139d0ce23fdbbeda68f8d7174abdf9e8fa" dependencies = [ "adler", ] @@ -1814,7 +1828,7 @@ dependencies = [ "libc", "log", "wasi 0.11.0+wasi-snapshot-preview1", - "windows-sys 0.42.0", + "windows-sys", ] [[package]] @@ -1825,9 +1839,9 @@ checksum = "2bf50223579dc7cdcfb3bfcacf7069ff68243f8c363f62ffa99cf000a6b9c451" [[package]] name = "nom" -version = "7.1.2" +version = "7.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5507769c4919c998e69e49c839d9dc6e693ede4cc4290d6ad8b41d4f09c548c" +checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" dependencies = [ "memchr", "minimal-lexical", @@ -1859,9 +1873,9 @@ dependencies = [ [[package]] name = "num-format" -version = "0.4.3" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54b862ff8df690cf089058c98b183676a7ed0f974cc08b426800093227cbff3b" +checksum = "a652d9771a63711fd3c3deb670acfbe5c30a4072e664d7a3bf5a9e1056ac72c3" dependencies = [ "arrayvec 0.7.2", "itoa", @@ -1900,28 +1914,28 @@ dependencies = [ [[package]] name = "num_cpus" -version = "1.14.0" +version = "1.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6058e64324c71e02bc2b150e4f3bc8286db6c83092132ffa3f6b1eab0f9def5" +checksum = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b" dependencies = [ - "hermit-abi", + "hermit-abi 0.2.6", "libc", ] [[package]] name = "object" -version = "0.29.0" +version = "0.30.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21158b2c33aa6d4561f1c0a6ea283ca92bc54802a93b263e910746d679a7eb53" +checksum = "2b8c786513eb403643f2a88c244c2aaa270ef2153f55094587d0c48a3cf22a83" dependencies = [ "memchr", ] [[package]] name = "once_cell" -version = "1.16.0" +version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86f0b0d4bf799edbc74508c1e8bf170ff5f41238e5f8225603ca7caaae2b7860" +checksum = "6f61fba1741ea2b3d6a1e3178721804bb716a68a6aeba1149b5d52e3d464ea66" [[package]] name = "opaque-debug" @@ -1961,9 +1975,9 @@ dependencies = [ [[package]] name = "parity-scale-codec" -version = "3.2.1" +version = "3.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "366e44391a8af4cfd6002ef6ba072bae071a96aafca98d7d448a34c5dca38b6a" +checksum = "e7ab01d0f889e957861bc65888d5ccbe82c158d0270136ba46820d43837cdf72" dependencies = [ "arrayvec 0.7.2", "bitvec", @@ -1976,9 +1990,9 @@ dependencies = [ [[package]] name = "parity-scale-codec-derive" -version = "3.1.3" +version = "3.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9299338969a3d2f491d65f140b00ddec470858402f888af98e8642fb5e8965cd" +checksum = "86b26a931f824dd4eca30b3e43bb4f31cd5f0d3a403c5f5ff27106b805bfde7b" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -2036,22 +2050,22 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.5" +version = "0.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ff9f3fef3968a3ec5945535ed654cb38ff72d7495a25619e2247fb15a2ed9ba" +checksum = "ba1ef8814b5c993410bb3adfad7a5ed269563e4a2f90c41f5d85be7fb47133bf" dependencies = [ "cfg-if", "libc", "redox_syscall", "smallvec", - "windows-sys 0.42.0", + "windows-sys", ] [[package]] name = "paste" -version = "1.0.9" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1de2e551fb905ac83f73f7aedf2f0cb4a0da7e35efa24a202a936269f1f18e1" +checksum = "d01a5bd0424d00070b0098dd17ebca6f961a959dead1dbcbbbc1d1cd8d3deeba" [[package]] name = "payout-stakers" @@ -2211,18 +2225,18 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.47" +version = "1.0.50" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ea3d908b0e36316caf9e9e2c4625cdde190a7e6f440d794667ed17a1855e725" +checksum = "6ef7d57beacfaf2d8aee5937dab7b7f28de3cb8b1828479bb5de2a7106f2bae2" dependencies = [ "unicode-ident", ] [[package]] name = "quote" -version = "1.0.21" +version = "1.0.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbe448f377a7d6961e30f5955f9b8d106c3f5e449d493ee1b125c1d43c2b5179" +checksum = "8856d8364d252a14d474036ea1358d63c9e6965c8e5c1885c18f73d70bff9c7b" dependencies = [ "proc-macro2", ] @@ -2325,18 +2339,18 @@ dependencies = [ [[package]] name = "ref-cast" -version = "1.0.13" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53b15debb4f9d60d767cd8ca9ef7abb2452922f3214671ff052defc7f3502c44" +checksum = "8c78fb8c9293bcd48ef6fce7b4ca950ceaf21210de6e105a883ee280c0f7b9ed" dependencies = [ "ref-cast-impl", ] [[package]] name = "ref-cast-impl" -version = "1.0.13" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abfa8511e9e94fd3de6585a3d3cd00e01ed556dc9814829280af0e8dc72a8f36" +checksum = "9f9c0c92af03644e4806106281fe2e068ac5bc0ae74a707266d06ea27bccee5f" dependencies = [ "proc-macro2", "quote", @@ -2345,9 +2359,9 @@ dependencies = [ [[package]] name = "regex" -version = "1.7.0" +version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e076559ef8e241f2ae3479e36f97bd5741c0330689e217ad51ce2c76808b868a" +checksum = "48aaa5748ba571fb95cd2c85c09f629215d3a6ece942baa100950af03a34f733" dependencies = [ "aho-corasick", "memchr", @@ -2421,9 +2435,9 @@ checksum = "3e75f6a532d0fd9f7f13144f392b6ad56a32696bfcd9c78f797f16bbb6f072d6" [[package]] name = "rustls" -version = "0.20.7" +version = "0.20.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "539a2bfe908f471bfa933876bd1eb6a19cf2176d375f82ef7f99530a40e48c2c" +checksum = "fff78fc74d175294f4e83b28343315ffcfb114b156f0185e9741cb5570f50e2f" dependencies = [ "log", "ring", @@ -2445,24 +2459,24 @@ dependencies = [ [[package]] name = "rustls-pemfile" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0864aeff53f8c05aa08d86e5ef839d3dfcf07aeba2db32f12db0ef716e87bd55" +checksum = "d194b56d58803a43635bdc398cd17e383d6f71f9182b9a192c127ca42494a59b" dependencies = [ - "base64", + "base64 0.21.0", ] [[package]] name = "rustversion" -version = "1.0.9" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97477e48b4cf8603ad5f7aaf897467cf42ab4218a38ef76fb14c2d6773a6d6a8" +checksum = "5583e89e108996506031660fe09baa5011b9dd0341b89029313006d1fb508d70" [[package]] name = "ryu" -version = "1.0.11" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4501abdff3ae82a1c1b477a17252eb69cee9e66eb915c1abaa4f44d873df9f09" +checksum = "7b4b9743ed687d4b4bcedf9ff5eaa7398495ae14e61cba0a295704edbc7decde" [[package]] name = "scale-bits" @@ -2532,12 +2546,11 @@ dependencies = [ [[package]] name = "schannel" -version = "0.1.20" +version = "0.1.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88d6731146462ea25d9244b2ed5fd1d716d25c52e4d54aa4fb0f3c4e9854dbe2" +checksum = "713cfb06c7059f3588fb8044c0fad1d09e3c01d225e25b9220dbfdcf16dbb1b3" dependencies = [ - "lazy_static", - "windows-sys 0.36.1", + "windows-sys", ] [[package]] @@ -2566,9 +2579,9 @@ checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" [[package]] name = "scratch" -version = "1.0.2" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c8132065adcfd6e02db789d9285a0deb2f3fcb04002865ab67d5fb103533898" +checksum = "ddccb15bcce173023b3fedd9436f882a0739b8dfb45e4f6b6002bee5929f61b2" [[package]] name = "sct" @@ -2595,9 +2608,9 @@ dependencies = [ [[package]] name = "secp256k1" -version = "0.24.1" +version = "0.24.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff55dc09d460954e9ef2fa8a7ced735a964be9981fd50e870b2b3b0705e14964" +checksum = "6b1629c9c557ef9b293568b338dddfc8208c98a18c59d722a9d53f859d9c9b62" dependencies = [ "secp256k1-sys", ] @@ -2622,9 +2635,9 @@ dependencies = [ [[package]] name = "security-framework" -version = "2.7.0" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bc1bb97804af6631813c55739f771071e0f2ed33ee20b68c86ec505d906356c" +checksum = "645926f31b250a2dca3c232496c2d898d91036e45ca0e97e0e2390c54e11be36" dependencies = [ "bitflags", "core-foundation", @@ -2635,9 +2648,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.6.1" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0160a13a177a45bfb43ce71c01580998474f556ad854dcbca936dd2841a5c556" +checksum = "31c9bb296072e961fcbd8853511dd39c2d8be2deb1e17c6860b1d30732b323b4" dependencies = [ "core-foundation-sys", "libc", @@ -2801,7 +2814,7 @@ version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "41d1c5305e39e09653383c2c7244f2f78b3bcae37cf50c64cb4789c9f5096ec2" dependencies = [ - "base64", + "base64 0.13.1", "bytes", "futures", "httparse", @@ -3585,9 +3598,9 @@ dependencies = [ [[package]] name = "ss58-registry" -version = "1.35.0" +version = "1.37.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa0813c10b9dbdc842c2305f949f724c64866e4ef4d09c9151e96f6a2106773c" +checksum = "d44528162f980c0e03c71e005d334332c8da0aec9f2b0b4bdc557ed4a9f24776" dependencies = [ "Inflector", "num-format", @@ -3726,9 +3739,9 @@ dependencies = [ [[package]] name = "syn" -version = "1.0.105" +version = "1.0.107" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60b9b43d45702de4c839cb9b51d9f529c5dd26a4aff255b42b1ebc03e88ee908" +checksum = "1f4064b5b16e03ae50984a5a8ed5d4f8803e6bc1fd170a3cda91a1be4b18e3f5" dependencies = [ "proc-macro2", "quote", @@ -3755,9 +3768,9 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" [[package]] name = "termcolor" -version = "1.1.3" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755" +checksum = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6" dependencies = [ "winapi-util", ] @@ -3770,18 +3783,18 @@ checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d" [[package]] name = "thiserror" -version = "1.0.37" +version = "1.0.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10deb33631e3c9018b9baf9dcbbc4f737320d2b576bac10f6aefa048fa407e3e" +checksum = "6a9cd18aa97d5c45c6603caea1da6628790b37f7a34b6ca89522331c5180fed0" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.37" +version = "1.0.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "982d17546b47146b28f7c22e3d08465f6b8903d0ea13c1660d9d84a6e7adcdbb" +checksum = "1fb327af4685e4d03fa8cbcf1716380da910eeb2bb8be417e7f9fd3fb164f36f" dependencies = [ "proc-macro2", "quote", @@ -3833,9 +3846,9 @@ checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" [[package]] name = "tokio" -version = "1.22.0" +version = "1.24.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d76ce4a75fb488c605c54bf610f221cea8b0dafb53333c1a67e8ee199dcd2ae3" +checksum = "597a12a59981d9e3c38d216785b0c37399f6e415e8d0712047620f189371b0bb" dependencies = [ "autocfg", "bytes", @@ -3848,7 +3861,7 @@ dependencies = [ "signal-hook-registry", "socket2", "tokio-macros", - "winapi", + "windows-sys", ] [[package]] @@ -3890,9 +3903,9 @@ dependencies = [ [[package]] name = "toml" -version = "0.5.9" +version = "0.5.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d82e1a7758622a465f8cee077614c73484dac5b836c02ff6a40d5d1010324d7" +checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234" dependencies = [ "serde", ] @@ -4003,15 +4016,15 @@ dependencies = [ [[package]] name = "try-lock" -version = "0.2.3" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642" +checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed" [[package]] name = "tt-call" -version = "1.0.8" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e66dcbec4290c69dd03c57e76c2469ea5c7ce109c6dd4351c13055cf71ea055" +checksum = "f4f195fd851901624eee5a58c4bb2b4f06399148fcd0ed336e6f1cb60a9881df" [[package]] name = "twox-hash" @@ -4027,9 +4040,9 @@ dependencies = [ [[package]] name = "typenum" -version = "1.15.0" +version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987" +checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba" [[package]] name = "uint" @@ -4045,15 +4058,15 @@ dependencies = [ [[package]] name = "unicode-bidi" -version = "0.3.8" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "099b7128301d285f79ddd55b9a83d5e6b9e97c92e0ea0daebee7263e932de992" +checksum = "0046be40136ef78dc325e0edefccf84ccddacd0afcc1ca54103fa3c61bbdab1d" [[package]] name = "unicode-ident" -version = "1.0.5" +version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ceab39d59e4c9499d4e5a8ee0e2735b891bb7308ac83dfb4e80cad195c9f6f3" +checksum = "84a22b9f218b40614adcb3f4ff08b703773ad44fa9423e4e0d346d5db86e4ebc" [[package]] name = "unicode-normalization" @@ -4243,9 +4256,9 @@ dependencies = [ [[package]] name = "webpki-roots" -version = "0.22.5" +version = "0.22.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "368bfe657969fb01238bb756d351dcade285e0f6fcbd36dcb23359a5169975be" +checksum = "b6c71e40d7d2c34a5106301fb632274ca37242cd0c9d3e64dbece371a40a2d87" dependencies = [ "webpki", ] @@ -4281,19 +4294,6 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" -[[package]] -name = "windows-sys" -version = "0.36.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea04155a16a59f9eab786fe12a4a450e75cdb175f9e0d80da1e17db09f55b8d2" -dependencies = [ - "windows_aarch64_msvc 0.36.1", - "windows_i686_gnu 0.36.1", - "windows_i686_msvc 0.36.1", - "windows_x86_64_gnu 0.36.1", - "windows_x86_64_msvc 0.36.1", -] - [[package]] name = "windows-sys" version = "0.42.0" @@ -4301,85 +4301,55 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" dependencies = [ "windows_aarch64_gnullvm", - "windows_aarch64_msvc 0.42.0", - "windows_i686_gnu 0.42.0", - "windows_i686_msvc 0.42.0", - "windows_x86_64_gnu 0.42.0", + "windows_aarch64_msvc", + "windows_i686_gnu", + "windows_i686_msvc", + "windows_x86_64_gnu", "windows_x86_64_gnullvm", - "windows_x86_64_msvc 0.42.0", + "windows_x86_64_msvc", ] [[package]] name = "windows_aarch64_gnullvm" -version = "0.42.0" +version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41d2aa71f6f0cbe00ae5167d90ef3cfe66527d6f613ca78ac8024c3ccab9a19e" +checksum = "8c9864e83243fdec7fc9c5444389dcbbfd258f745e7853198f365e3c4968a608" [[package]] name = "windows_aarch64_msvc" -version = "0.36.1" +version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.42.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd0f252f5a35cac83d6311b2e795981f5ee6e67eb1f9a7f64eb4500fbc4dcdb4" - -[[package]] -name = "windows_i686_gnu" -version = "0.36.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6" +checksum = "4c8b1b673ffc16c47a9ff48570a9d85e25d265735c503681332589af6253c6c7" [[package]] name = "windows_i686_gnu" -version = "0.42.0" +version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbeae19f6716841636c28d695375df17562ca208b2b7d0dc47635a50ae6c5de7" +checksum = "de3887528ad530ba7bdbb1faa8275ec7a1155a45ffa57c37993960277145d640" [[package]] name = "windows_i686_msvc" -version = "0.36.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024" - -[[package]] -name = "windows_i686_msvc" -version = "0.42.0" +version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84c12f65daa39dd2babe6e442988fc329d6243fdce47d7d2d155b8d874862246" +checksum = "bf4d1122317eddd6ff351aa852118a2418ad4214e6613a50e0191f7004372605" [[package]] name = "windows_x86_64_gnu" -version = "0.36.1" +version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.42.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf7b1b21b5362cbc318f686150e5bcea75ecedc74dd157d874d754a2ca44b0ed" +checksum = "c1040f221285e17ebccbc2591ffdc2d44ee1f9186324dd3e84e99ac68d699c45" [[package]] name = "windows_x86_64_gnullvm" -version = "0.42.0" +version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09d525d2ba30eeb3297665bd434a54297e4170c7f1a44cad4ef58095b4cd2028" +checksum = "628bfdf232daa22b0d64fdb62b09fcc36bb01f05a3939e20ab73aaf9470d0463" [[package]] name = "windows_x86_64_msvc" -version = "0.36.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.42.0" +version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f40009d85759725a34da6d89a94e63d7bdc50a862acf0dbc7c8e488f1edcb6f5" +checksum = "447660ad36a13288b1db4d4248e857b510e8c3a225c822ba4fb748c0aafecffd" [[package]] name = "wyz" diff --git a/bin/cliain/Cargo.lock b/bin/cliain/Cargo.lock index 42df8358a5..2b31f33e68 100644 --- a/bin/cliain/Cargo.lock +++ b/bin/cliain/Cargo.lock @@ -49,7 +49,7 @@ dependencies = [ [[package]] name = "aleph_client" -version = "2.10.0" +version = "2.11.0" dependencies = [ "anyhow", "async-trait", @@ -65,7 +65,6 @@ dependencies = [ "primitives", "serde", "serde_json", - "sp-core 6.0.0", "sp-runtime 6.0.0", "subxt", "thiserror", diff --git a/bin/cliain/src/contracts.rs b/bin/cliain/src/contracts.rs index dddbb47364..3241e0350a 100644 --- a/bin/cliain/src/contracts.rs +++ b/bin/cliain/src/contracts.rs @@ -9,14 +9,13 @@ use aleph_client::{ pallets::contract::{ContractsApi, ContractsUserApi}, sp_weights::weight_v2::Weight, waiting::{AlephWaiting, BlockStatus}, - AccountId, Balance, Connection, SignedConnection, SignedConnectionApi, TxStatus, + AccountId, Balance, CodeHash, Connection, SignedConnection, SignedConnectionApi, TxStatus, }; use codec::{Compact, Decode}; use contract_metadata::ContractMetadata; use contract_transcode::ContractMessageTranscoder; use log::{debug, info}; use serde::{Deserialize, Serialize}; -use subxt::ext::sp_core::H256; use crate::commands::{ ContractCall, ContractInstantiate, ContractInstantiateWithCode, ContractOptions, @@ -26,7 +25,7 @@ use crate::commands::{ #[derive(Debug, Decode, Clone, Serialize, Deserialize)] pub struct InstantiateWithCodeReturnValue { pub contract: AccountId, - pub code_hash: H256, + pub code_hash: CodeHash, } fn storage_deposit(storage_deposit_limit: Option) -> Option> { diff --git a/e2e-tests/Cargo.lock b/e2e-tests/Cargo.lock index b60ada34de..8c7d5f5cb3 100644 --- a/e2e-tests/Cargo.lock +++ b/e2e-tests/Cargo.lock @@ -78,7 +78,7 @@ dependencies = [ [[package]] name = "aleph_client" -version = "2.10.0" +version = "2.11.0" dependencies = [ "anyhow", "async-trait", @@ -94,7 +94,6 @@ dependencies = [ "primitives", "serde", "serde_json", - "sp-core 6.0.0", "sp-runtime 6.0.0", "subxt", "thiserror", diff --git a/e2e-tests/src/test/ban.rs b/e2e-tests/src/test/ban.rs index 56e0b08eb1..fe350e5350 100644 --- a/e2e-tests/src/test/ban.rs +++ b/e2e-tests/src/test/ban.rs @@ -1,13 +1,13 @@ use std::collections::HashSet; use aleph_client::{ + api::runtime_types::sp_core::bounded::bounded_vec::BoundedVec, pallets::{ elections::{ElectionsApi, ElectionsSudoApi}, session::SessionApi, staking::{StakingApi, StakingUserApi}, }, primitives::{BanInfo, BanReason, CommitteeSeats, ElectionOpenness}, - sp_core::bounded::bounded_vec::BoundedVec, waiting::{BlockStatus, WaitingExt}, SignedConnection, TxStatus, }; diff --git a/e2e-tests/src/test/staking.rs b/e2e-tests/src/test/staking.rs index 757638a69a..0e9a68ccab 100644 --- a/e2e-tests/src/test/staking.rs +++ b/e2e-tests/src/test/staking.rs @@ -1,5 +1,7 @@ use aleph_client::{ - account_from_keypair, keypair_from_string, + account_from_keypair, + api::runtime_types::sp_core::bounded::bounded_vec::BoundedVec, + keypair_from_string, pallet_staking::StakingLedger, pallets::{ author::AuthorRpc, @@ -9,7 +11,6 @@ use aleph_client::{ staking::{StakingApi, StakingUserApi}, }, primitives::CommitteeSeats, - sp_core::bounded::bounded_vec::BoundedVec, waiting::{BlockStatus, WaitingExt}, AccountId, KeyPair, Pair, SignedConnection, SignedConnectionApi, TxStatus, }; diff --git a/flooder/Cargo.lock b/flooder/Cargo.lock index e8604a36fa..305eb625fa 100644 --- a/flooder/Cargo.lock +++ b/flooder/Cargo.lock @@ -14,9 +14,9 @@ dependencies = [ [[package]] name = "addr2line" -version = "0.17.0" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9ecd88a8c8378ca913a680cd98f0f13ac67383d35993f86c90a70e3f137816b" +checksum = "a76fd60b23679b7d19bd066031410fb7e458ccc5e958eb5c325888ce4baedc97" dependencies = [ "gimli", ] @@ -49,11 +49,11 @@ dependencies = [ [[package]] name = "aleph_client" -version = "2.10.0" +version = "2.11.0" dependencies = [ "anyhow", "async-trait", - "contract-metadata 2.0.0-beta", + "contract-metadata 2.0.0-rc", "contract-transcode", "frame-support", "futures", @@ -65,7 +65,6 @@ dependencies = [ "primitives", "serde", "serde_json", - "sp-core 6.0.0", "sp-runtime 6.0.0", "subxt", "thiserror", @@ -131,9 +130,9 @@ dependencies = [ [[package]] name = "async-trait" -version = "0.1.59" +version = "0.1.62" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31e6e93155431f3931513b243d371981bb2770112b370c82745a1d19d2f99364" +checksum = "689894c2db1ea643a50834b999abf1c110887402542955ff5451dab8f861f9ed" dependencies = [ "proc-macro2", "quote", @@ -146,7 +145,7 @@ version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" dependencies = [ - "hermit-abi", + "hermit-abi 0.1.19", "libc", "winapi 0.3.9", ] @@ -159,15 +158,15 @@ checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" [[package]] name = "backtrace" -version = "0.3.66" +version = "0.3.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cab84319d616cfb654d03394f38ab7e6f0919e181b1b57e1fd15e7fb4077d9a7" +checksum = "233d376d6d185f2a3093e58f283f60f880315b6c60075b01f36b3b85154564ca" dependencies = [ "addr2line", "cc", "cfg-if 1.0.0", "libc", - "miniz_oxide 0.5.4", + "miniz_oxide", "object", "rustc-demangle", ] @@ -190,6 +189,12 @@ version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" +[[package]] +name = "base64" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4a4ddaa51a5bc52a6948f74c06d20aaaddb71924eab79b8c97a8c556e942d6a" + [[package]] name = "base64ct" version = "1.5.3" @@ -225,9 +230,9 @@ dependencies = [ [[package]] name = "blake2" -version = "0.10.5" +version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b12e5fd123190ce1c2e559308a94c9bacad77907d4c6005d9e58fe1a0689e55e" +checksum = "46502ad458c9a52b69d4d4d32775c788b7a1b85e8bc9d482d92250fc0e3f8efe" dependencies = [ "digest 0.10.6", ] @@ -282,9 +287,9 @@ dependencies = [ [[package]] name = "bumpalo" -version = "3.11.1" +version = "3.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "572f695136211188308f16ad2ca5c851a712c464060ae6974944458eb83880ba" +checksum = "0d261e256854913907f67ed06efbc3338dfe6179796deefc1ff763fc1aee5535" [[package]] name = "byte-slice-cast" @@ -322,9 +327,9 @@ checksum = "dfb24e866b15a1af2a1b663f10c6b6b8f397a84aadb828f12e5b289ec23a3a3c" [[package]] name = "bzip2" -version = "0.4.3" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6afcd980b5f3a45017c57e57a2fcccbb351cc43a356ce117ef760ef8052b89b0" +checksum = "bdb116a6ef3f6c3698828873ad02c3014b3c85cadb88496095628e3ef1e347f8" dependencies = [ "bzip2-sys", "libc", @@ -343,9 +348,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.77" +version = "1.0.78" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9f73505338f7d905b19d18738976aae232eb46b8efc15554ffc56deb5d9ebe4" +checksum = "a20104e2335ce8a659d6dd92a51a767a0c062599c73b343fd152cb401e828c3d" [[package]] name = "cfg-expr" @@ -437,9 +442,8 @@ checksum = "e4c78c047431fee22c1a7bb92e00ad095a02a983affe4d8a72e2a2c62c1b94f3" [[package]] name = "contract-metadata" -version = "2.0.0-beta" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40248c6a648b3679ea52bb83d8921246d0347644eaf7b0eec4c5601fa8feb651" +version = "2.0.0-beta.1" +source = "git+https://github.com/paritytech/cargo-contract?rev=7ca8c365fc1e157cd52901c54949b2faf1cd8899#7ca8c365fc1e157cd52901c54949b2faf1cd8899" dependencies = [ "anyhow", "impl-serde", @@ -451,8 +455,9 @@ dependencies = [ [[package]] name = "contract-metadata" -version = "2.0.0-beta.1" -source = "git+https://github.com/paritytech/cargo-contract?rev=7ca8c365fc1e157cd52901c54949b2faf1cd8899#7ca8c365fc1e157cd52901c54949b2faf1cd8899" +version = "2.0.0-rc" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "180f2389a624fc4d0e70b207542a508d668e1261b73391bc228775e3f4c84535" dependencies = [ "anyhow", "impl-serde", @@ -615,9 +620,9 @@ dependencies = [ [[package]] name = "cxx" -version = "1.0.82" +version = "1.0.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4a41a86530d0fe7f5d9ea779916b7cadd2d4f9add748b99c2c029cbbdfaf453" +checksum = "b61a7545f753a88bcbe0a70de1fcc0221e10bfc752f576754fa91e663db1622e" dependencies = [ "cc", "cxxbridge-flags", @@ -627,9 +632,9 @@ dependencies = [ [[package]] name = "cxx-build" -version = "1.0.82" +version = "1.0.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06416d667ff3e3ad2df1cd8cd8afae5da26cf9cec4d0825040f88b5ca659a2f0" +checksum = "f464457d494b5ed6905c63b0c4704842aba319084a0a3561cdc1359536b53200" dependencies = [ "cc", "codespan-reporting", @@ -642,15 +647,15 @@ dependencies = [ [[package]] name = "cxxbridge-flags" -version = "1.0.82" +version = "1.0.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "820a9a2af1669deeef27cb271f476ffd196a2c4b6731336011e0ba63e2c7cf71" +checksum = "43c7119ce3a3701ed81aca8410b9acf6fc399d2629d057b87e2efa4e63a3aaea" [[package]] name = "cxxbridge-macro" -version = "1.0.82" +version = "1.0.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a08a6e2fcc370a089ad3b4aaf54db3b1b4cee38ddabce5896b33eb693275f470" +checksum = "65e07508b90551e610910fa648a1878991d367064997a596135b86df30daf07e" dependencies = [ "proc-macro2", "quote", @@ -781,9 +786,9 @@ dependencies = [ [[package]] name = "dyn-clone" -version = "1.0.9" +version = "1.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f94fa09c2aeea5b8839e414b7b841bf429fd25b9c522116ac97ee87856d88b2" +checksum = "c9b0705efd4599c15a38151f4721f7bc388306f61084d3bfd50bd07fbca5cb60" [[package]] name = "ecdsa" @@ -913,7 +918,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a8a2db397cb1c8772f31494cb8917e48cd1e64f0fa7efac59fbd741a0a8ce841" dependencies = [ "crc32fast", - "miniz_oxide 0.6.2", + "miniz_oxide", ] [[package]] @@ -1228,9 +1233,9 @@ dependencies = [ [[package]] name = "gimli" -version = "0.26.2" +version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22030e2c5a68ec659fde1e949a745124b48e6fa8b045b7ed5bd1fe4ccc5c4e5d" +checksum = "dec7af912d60cdbd3677c1af9352ebae6fb8394d165568a2234df0fa00f87793" [[package]] name = "group" @@ -1292,7 +1297,7 @@ version = "7.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f19b9f54f7c7f55e31401bb647626ce0cf0f67b0004982ce815b3ee72a02aa8" dependencies = [ - "base64", + "base64 0.13.1", "byteorder", "crossbeam-channel", "flate2", @@ -1315,6 +1320,15 @@ dependencies = [ "libc", ] +[[package]] +name = "hermit-abi" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7" +dependencies = [ + "libc", +] + [[package]] name = "hex" version = "0.4.3" @@ -1418,9 +1432,9 @@ dependencies = [ [[package]] name = "hyper-rustls" -version = "0.23.1" +version = "0.23.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59df7c4e19c950e6e0e868dcc0a300b09a9b88e9ec55bd879ca819087a77355d" +checksum = "1788965e61b367cd03a62950836d5cd41560c3577d90e40e0819373194d1661c" dependencies = [ "http", "hyper", @@ -1656,9 +1670,9 @@ dependencies = [ [[package]] name = "itoa" -version = "1.0.4" +version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4217ad341ebadf8d8e724e264f13e593e0648f5b3e94b3896a5df283be015ecc" +checksum = "fad582f4b9e86b6caa621cabeb0963332d92eea04729ab12892c2533951e6440" [[package]] name = "joinery" @@ -1809,9 +1823,9 @@ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" [[package]] name = "libc" -version = "0.2.137" +version = "0.2.139" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc7fcc620a3bff7cdd7a365be3376c97191aeaccc2a603e600951e452615bf89" +checksum = "201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79" [[package]] name = "libm" @@ -1826,7 +1840,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "95b09eff1b35ed3b33b877ced3a691fc7a481919c7e29c53c906226fcf55e2a1" dependencies = [ "arrayref", - "base64", + "base64 0.13.1", "digest 0.9.0", "hmac-drbg", "libsecp256k1-core", @@ -1869,9 +1883,9 @@ dependencies = [ [[package]] name = "link-cplusplus" -version = "1.0.7" +version = "1.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9272ab7b96c9046fbc5bc56c06c117cb639fe2d509df0c421cad82d2915cf369" +checksum = "ecd207c9c713c34f95a097a5b029ac2ce6010530c7b49d7fea24d977dede04f5" dependencies = [ "cc", ] @@ -1963,15 +1977,6 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" -[[package]] -name = "miniz_oxide" -version = "0.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96590ba8f175222643a85693f33d26e9c8a015f599c216509b1a6894af675d34" -dependencies = [ - "adler", -] - [[package]] name = "miniz_oxide" version = "0.6.2" @@ -2009,7 +2014,7 @@ dependencies = [ "libc", "log", "wasi 0.11.0+wasi-snapshot-preview1", - "windows-sys 0.42.0", + "windows-sys", ] [[package]] @@ -2055,9 +2060,9 @@ checksum = "2bf50223579dc7cdcfb3bfcacf7069ff68243f8c363f62ffa99cf000a6b9c451" [[package]] name = "nom" -version = "7.1.2" +version = "7.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5507769c4919c998e69e49c839d9dc6e693ede4cc4290d6ad8b41d4f09c548c" +checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" dependencies = [ "memchr", "minimal-lexical", @@ -2089,9 +2094,9 @@ dependencies = [ [[package]] name = "num-format" -version = "0.4.3" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54b862ff8df690cf089058c98b183676a7ed0f974cc08b426800093227cbff3b" +checksum = "a652d9771a63711fd3c3deb670acfbe5c30a4072e664d7a3bf5a9e1056ac72c3" dependencies = [ "arrayvec 0.7.2", "itoa", @@ -2130,28 +2135,28 @@ dependencies = [ [[package]] name = "num_cpus" -version = "1.14.0" +version = "1.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6058e64324c71e02bc2b150e4f3bc8286db6c83092132ffa3f6b1eab0f9def5" +checksum = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b" dependencies = [ - "hermit-abi", + "hermit-abi 0.2.6", "libc", ] [[package]] name = "object" -version = "0.29.0" +version = "0.30.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21158b2c33aa6d4561f1c0a6ea283ca92bc54802a93b263e910746d679a7eb53" +checksum = "2b8c786513eb403643f2a88c244c2aaa270ef2153f55094587d0c48a3cf22a83" dependencies = [ "memchr", ] [[package]] name = "once_cell" -version = "1.16.0" +version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86f0b0d4bf799edbc74508c1e8bf170ff5f41238e5f8225603ca7caaae2b7860" +checksum = "6f61fba1741ea2b3d6a1e3178721804bb716a68a6aeba1149b5d52e3d464ea66" [[package]] name = "opaque-debug" @@ -2167,9 +2172,9 @@ checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" [[package]] name = "openssl" -version = "0.10.43" +version = "0.10.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "020433887e44c27ff16365eaa2d380547a94544ad509aff6eb5b6e3e0b27b376" +checksum = "b102428fd03bc5edf97f62620f7298614c45cedf287c271e7ed450bbaf83f2e1" dependencies = [ "bitflags", "cfg-if 1.0.0", @@ -2199,9 +2204,9 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "openssl-sys" -version = "0.9.78" +version = "0.9.80" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07d5c8cb6e57b3a3612064d7b18b117912b4ce70955c2504d4b741c9e244b132" +checksum = "23bbbf7854cd45b83958ebe919f0e8e516793727652e27fda10a8384cfc790b7" dependencies = [ "autocfg", "cc", @@ -2230,9 +2235,9 @@ dependencies = [ [[package]] name = "parity-scale-codec" -version = "3.2.1" +version = "3.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "366e44391a8af4cfd6002ef6ba072bae071a96aafca98d7d448a34c5dca38b6a" +checksum = "e7ab01d0f889e957861bc65888d5ccbe82c158d0270136ba46820d43837cdf72" dependencies = [ "arrayvec 0.7.2", "bitvec", @@ -2245,9 +2250,9 @@ dependencies = [ [[package]] name = "parity-scale-codec-derive" -version = "3.1.3" +version = "3.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9299338969a3d2f491d65f140b00ddec470858402f888af98e8642fb5e8965cd" +checksum = "86b26a931f824dd4eca30b3e43bb4f31cd5f0d3a403c5f5ff27106b805bfde7b" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -2305,22 +2310,22 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.5" +version = "0.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ff9f3fef3968a3ec5945535ed654cb38ff72d7495a25619e2247fb15a2ed9ba" +checksum = "ba1ef8814b5c993410bb3adfad7a5ed269563e4a2f90c41f5d85be7fb47133bf" dependencies = [ "cfg-if 1.0.0", "libc", "redox_syscall", "smallvec", - "windows-sys 0.42.0", + "windows-sys", ] [[package]] name = "paste" -version = "1.0.9" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1de2e551fb905ac83f73f7aedf2f0cb4a0da7e35efa24a202a936269f1f18e1" +checksum = "d01a5bd0424d00070b0098dd17ebca6f961a959dead1dbcbbbc1d1cd8d3deeba" [[package]] name = "pbkdf2" @@ -2466,18 +2471,18 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.47" +version = "1.0.50" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ea3d908b0e36316caf9e9e2c4625cdde190a7e6f440d794667ed17a1855e725" +checksum = "6ef7d57beacfaf2d8aee5937dab7b7f28de3cb8b1828479bb5de2a7106f2bae2" dependencies = [ "unicode-ident", ] [[package]] name = "quote" -version = "1.0.21" +version = "1.0.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbe448f377a7d6961e30f5955f9b8d106c3f5e449d493ee1b125c1d43c2b5179" +checksum = "8856d8364d252a14d474036ea1358d63c9e6965c8e5c1885c18f73d70bff9c7b" dependencies = [ "proc-macro2", ] @@ -2580,18 +2585,18 @@ dependencies = [ [[package]] name = "ref-cast" -version = "1.0.13" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53b15debb4f9d60d767cd8ca9ef7abb2452922f3214671ff052defc7f3502c44" +checksum = "8c78fb8c9293bcd48ef6fce7b4ca950ceaf21210de6e105a883ee280c0f7b9ed" dependencies = [ "ref-cast-impl", ] [[package]] name = "ref-cast-impl" -version = "1.0.13" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abfa8511e9e94fd3de6585a3d3cd00e01ed556dc9814829280af0e8dc72a8f36" +checksum = "9f9c0c92af03644e4806106281fe2e068ac5bc0ae74a707266d06ea27bccee5f" dependencies = [ "proc-macro2", "quote", @@ -2600,9 +2605,9 @@ dependencies = [ [[package]] name = "regex" -version = "1.7.0" +version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e076559ef8e241f2ae3479e36f97bd5741c0330689e217ad51ce2c76808b868a" +checksum = "48aaa5748ba571fb95cd2c85c09f629215d3a6ece942baa100950af03a34f733" dependencies = [ "aho-corasick", "memchr", @@ -2676,9 +2681,9 @@ checksum = "3e75f6a532d0fd9f7f13144f392b6ad56a32696bfcd9c78f797f16bbb6f072d6" [[package]] name = "rustls" -version = "0.20.7" +version = "0.20.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "539a2bfe908f471bfa933876bd1eb6a19cf2176d375f82ef7f99530a40e48c2c" +checksum = "fff78fc74d175294f4e83b28343315ffcfb114b156f0185e9741cb5570f50e2f" dependencies = [ "log", "ring", @@ -2700,24 +2705,24 @@ dependencies = [ [[package]] name = "rustls-pemfile" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0864aeff53f8c05aa08d86e5ef839d3dfcf07aeba2db32f12db0ef716e87bd55" +checksum = "d194b56d58803a43635bdc398cd17e383d6f71f9182b9a192c127ca42494a59b" dependencies = [ - "base64", + "base64 0.21.0", ] [[package]] name = "rustversion" -version = "1.0.9" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97477e48b4cf8603ad5f7aaf897467cf42ab4218a38ef76fb14c2d6773a6d6a8" +checksum = "5583e89e108996506031660fe09baa5011b9dd0341b89029313006d1fb508d70" [[package]] name = "ryu" -version = "1.0.11" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4501abdff3ae82a1c1b477a17252eb69cee9e66eb915c1abaa4f44d873df9f09" +checksum = "7b4b9743ed687d4b4bcedf9ff5eaa7398495ae14e61cba0a295704edbc7decde" [[package]] name = "scale-bits" @@ -2787,12 +2792,11 @@ dependencies = [ [[package]] name = "schannel" -version = "0.1.20" +version = "0.1.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88d6731146462ea25d9244b2ed5fd1d716d25c52e4d54aa4fb0f3c4e9854dbe2" +checksum = "713cfb06c7059f3588fb8044c0fad1d09e3c01d225e25b9220dbfdcf16dbb1b3" dependencies = [ - "lazy_static", - "windows-sys 0.36.1", + "windows-sys", ] [[package]] @@ -2821,9 +2825,9 @@ checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" [[package]] name = "scratch" -version = "1.0.2" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c8132065adcfd6e02db789d9285a0deb2f3fcb04002865ab67d5fb103533898" +checksum = "ddccb15bcce173023b3fedd9436f882a0739b8dfb45e4f6b6002bee5929f61b2" [[package]] name = "sct" @@ -2850,9 +2854,9 @@ dependencies = [ [[package]] name = "secp256k1" -version = "0.24.1" +version = "0.24.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff55dc09d460954e9ef2fa8a7ced735a964be9981fd50e870b2b3b0705e14964" +checksum = "6b1629c9c557ef9b293568b338dddfc8208c98a18c59d722a9d53f859d9c9b62" dependencies = [ "secp256k1-sys", ] @@ -2877,9 +2881,9 @@ dependencies = [ [[package]] name = "security-framework" -version = "2.7.0" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bc1bb97804af6631813c55739f771071e0f2ed33ee20b68c86ec505d906356c" +checksum = "645926f31b250a2dca3c232496c2d898d91036e45ca0e97e0e2390c54e11be36" dependencies = [ "bitflags", "core-foundation", @@ -2890,9 +2894,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.6.1" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0160a13a177a45bfb43ce71c01580998474f556ad854dcbca936dd2841a5c556" +checksum = "31c9bb296072e961fcbd8853511dd39c2d8be2deb1e17c6860b1d30732b323b4" dependencies = [ "core-foundation-sys", "libc", @@ -3068,7 +3072,7 @@ version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "41d1c5305e39e09653383c2c7244f2f78b3bcae37cf50c64cb4789c9f5096ec2" dependencies = [ - "base64", + "base64 0.13.1", "bytes 1.3.0", "futures", "httparse", @@ -3841,9 +3845,9 @@ dependencies = [ [[package]] name = "ss58-registry" -version = "1.35.0" +version = "1.37.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa0813c10b9dbdc842c2305f949f724c64866e4ef4d09c9151e96f6a2106773c" +checksum = "d44528162f980c0e03c71e005d334332c8da0aec9f2b0b4bdc557ed4a9f24776" dependencies = [ "Inflector", "num-format", @@ -3960,9 +3964,9 @@ dependencies = [ [[package]] name = "syn" -version = "1.0.105" +version = "1.0.107" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60b9b43d45702de4c839cb9b51d9f529c5dd26a4aff255b42b1ebc03e88ee908" +checksum = "1f4064b5b16e03ae50984a5a8ed5d4f8803e6bc1fd170a3cda91a1be4b18e3f5" dependencies = [ "proc-macro2", "quote", @@ -3989,9 +3993,9 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" [[package]] name = "termcolor" -version = "1.1.3" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755" +checksum = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6" dependencies = [ "winapi-util", ] @@ -4004,18 +4008,18 @@ checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d" [[package]] name = "thiserror" -version = "1.0.37" +version = "1.0.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10deb33631e3c9018b9baf9dcbbc4f737320d2b576bac10f6aefa048fa407e3e" +checksum = "6a9cd18aa97d5c45c6603caea1da6628790b37f7a34b6ca89522331c5180fed0" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.37" +version = "1.0.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "982d17546b47146b28f7c22e3d08465f6b8903d0ea13c1660d9d84a6e7adcdbb" +checksum = "1fb327af4685e4d03fa8cbcf1716380da910eeb2bb8be417e7f9fd3fb164f36f" dependencies = [ "proc-macro2", "quote", @@ -4078,9 +4082,9 @@ checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" [[package]] name = "tokio" -version = "1.22.0" +version = "1.24.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d76ce4a75fb488c605c54bf610f221cea8b0dafb53333c1a67e8ee199dcd2ae3" +checksum = "597a12a59981d9e3c38d216785b0c37399f6e415e8d0712047620f189371b0bb" dependencies = [ "autocfg", "bytes 1.3.0", @@ -4093,7 +4097,7 @@ dependencies = [ "signal-hook-registry", "socket2", "tokio-macros", - "winapi 0.3.9", + "windows-sys", ] [[package]] @@ -4135,9 +4139,9 @@ dependencies = [ [[package]] name = "toml" -version = "0.5.9" +version = "0.5.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d82e1a7758622a465f8cee077614c73484dac5b836c02ff6a40d5d1010324d7" +checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234" dependencies = [ "serde", ] @@ -4248,15 +4252,15 @@ dependencies = [ [[package]] name = "try-lock" -version = "0.2.3" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642" +checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed" [[package]] name = "tt-call" -version = "1.0.8" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e66dcbec4290c69dd03c57e76c2469ea5c7ce109c6dd4351c13055cf71ea055" +checksum = "f4f195fd851901624eee5a58c4bb2b4f06399148fcd0ed336e6f1cb60a9881df" [[package]] name = "twox-hash" @@ -4272,9 +4276,9 @@ dependencies = [ [[package]] name = "typenum" -version = "1.15.0" +version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987" +checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba" [[package]] name = "uint" @@ -4290,15 +4294,15 @@ dependencies = [ [[package]] name = "unicode-bidi" -version = "0.3.8" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "099b7128301d285f79ddd55b9a83d5e6b9e97c92e0ea0daebee7263e932de992" +checksum = "0046be40136ef78dc325e0edefccf84ccddacd0afcc1ca54103fa3c61bbdab1d" [[package]] name = "unicode-ident" -version = "1.0.5" +version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ceab39d59e4c9499d4e5a8ee0e2735b891bb7308ac83dfb4e80cad195c9f6f3" +checksum = "84a22b9f218b40614adcb3f4ff08b703773ad44fa9423e4e0d346d5db86e4ebc" [[package]] name = "unicode-normalization" @@ -4500,9 +4504,9 @@ dependencies = [ [[package]] name = "webpki-roots" -version = "0.22.5" +version = "0.22.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "368bfe657969fb01238bb756d351dcade285e0f6fcbd36dcb23359a5169975be" +checksum = "b6c71e40d7d2c34a5106301fb632274ca37242cd0c9d3e64dbece371a40a2d87" dependencies = [ "webpki", ] @@ -4550,19 +4554,6 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" -[[package]] -name = "windows-sys" -version = "0.36.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea04155a16a59f9eab786fe12a4a450e75cdb175f9e0d80da1e17db09f55b8d2" -dependencies = [ - "windows_aarch64_msvc 0.36.1", - "windows_i686_gnu 0.36.1", - "windows_i686_msvc 0.36.1", - "windows_x86_64_gnu 0.36.1", - "windows_x86_64_msvc 0.36.1", -] - [[package]] name = "windows-sys" version = "0.42.0" @@ -4570,85 +4561,55 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" dependencies = [ "windows_aarch64_gnullvm", - "windows_aarch64_msvc 0.42.0", - "windows_i686_gnu 0.42.0", - "windows_i686_msvc 0.42.0", - "windows_x86_64_gnu 0.42.0", + "windows_aarch64_msvc", + "windows_i686_gnu", + "windows_i686_msvc", + "windows_x86_64_gnu", "windows_x86_64_gnullvm", - "windows_x86_64_msvc 0.42.0", + "windows_x86_64_msvc", ] [[package]] name = "windows_aarch64_gnullvm" -version = "0.42.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41d2aa71f6f0cbe00ae5167d90ef3cfe66527d6f613ca78ac8024c3ccab9a19e" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.36.1" +version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47" +checksum = "8c9864e83243fdec7fc9c5444389dcbbfd258f745e7853198f365e3c4968a608" [[package]] name = "windows_aarch64_msvc" -version = "0.42.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd0f252f5a35cac83d6311b2e795981f5ee6e67eb1f9a7f64eb4500fbc4dcdb4" - -[[package]] -name = "windows_i686_gnu" -version = "0.36.1" +version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6" +checksum = "4c8b1b673ffc16c47a9ff48570a9d85e25d265735c503681332589af6253c6c7" [[package]] name = "windows_i686_gnu" -version = "0.42.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbeae19f6716841636c28d695375df17562ca208b2b7d0dc47635a50ae6c5de7" - -[[package]] -name = "windows_i686_msvc" -version = "0.36.1" +version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024" +checksum = "de3887528ad530ba7bdbb1faa8275ec7a1155a45ffa57c37993960277145d640" [[package]] name = "windows_i686_msvc" -version = "0.42.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84c12f65daa39dd2babe6e442988fc329d6243fdce47d7d2d155b8d874862246" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.36.1" +version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1" +checksum = "bf4d1122317eddd6ff351aa852118a2418ad4214e6613a50e0191f7004372605" [[package]] name = "windows_x86_64_gnu" -version = "0.42.0" +version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf7b1b21b5362cbc318f686150e5bcea75ecedc74dd157d874d754a2ca44b0ed" +checksum = "c1040f221285e17ebccbc2591ffdc2d44ee1f9186324dd3e84e99ac68d699c45" [[package]] name = "windows_x86_64_gnullvm" -version = "0.42.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09d525d2ba30eeb3297665bd434a54297e4170c7f1a44cad4ef58095b4cd2028" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.36.1" +version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680" +checksum = "628bfdf232daa22b0d64fdb62b09fcc36bb01f05a3939e20ab73aaf9470d0463" [[package]] name = "windows_x86_64_msvc" -version = "0.42.0" +version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f40009d85759725a34da6d89a94e63d7bdc50a862acf0dbc7c8e488f1edcb6f5" +checksum = "447660ad36a13288b1db4d4248e857b510e8c3a225c822ba4fb748c0aafecffd" [[package]] name = "ws" From 209f101066135f210ba25db8e4dc009a405b7e87 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Piotr=20Miko=C5=82ajczyk?= Date: Mon, 23 Jan 2023 13:46:19 +0100 Subject: [PATCH 105/212] `aleph-client`: Custom gas limit (#880) * Custom gas limit * Bump * locks * Custom proof size limit * Precise estimate --- aleph-client/Cargo.lock | 2 +- aleph-client/Cargo.toml | 2 +- aleph-client/src/contract/mod.rs | 30 ++++++++++++++++++++++++++---- benches/payout-stakers/Cargo.lock | 2 +- bin/cliain/Cargo.lock | 2 +- e2e-tests/Cargo.lock | 2 +- flooder/Cargo.lock | 2 +- 7 files changed, 32 insertions(+), 10 deletions(-) diff --git a/aleph-client/Cargo.lock b/aleph-client/Cargo.lock index 9d18828332..34b679cfc2 100644 --- a/aleph-client/Cargo.lock +++ b/aleph-client/Cargo.lock @@ -49,7 +49,7 @@ dependencies = [ [[package]] name = "aleph_client" -version = "2.11.0" +version = "2.12.0" dependencies = [ "anyhow", "async-trait", diff --git a/aleph-client/Cargo.toml b/aleph-client/Cargo.toml index aa89266191..95f31e96e0 100644 --- a/aleph-client/Cargo.toml +++ b/aleph-client/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "aleph_client" -version = "2.11.0" +version = "2.12.0" edition = "2021" license = "Apache 2.0" diff --git a/aleph-client/src/contract/mod.rs b/aleph-client/src/contract/mod.rs index 077fa4eaf9..242f49f7db 100644 --- a/aleph-client/src/contract/mod.rs +++ b/aleph-client/src/contract/mod.rs @@ -59,23 +59,43 @@ use crate::{ AccountId, Balance, ConnectionApi, SignedConnectionApi, TxStatus, }; +/// Default gas limit, which allows up to 25% of block time (62.5% of the actual block capacity). +pub const DEFAULT_MAX_GAS: u64 = 250_000_000_000u64; +/// Default proof size limit, which allows up to 25% of block time (62.5% of the actual block +/// capacity). +pub const DEFAULT_MAX_PROOF_SIZE: u64 = 250_000_000_000u64; + /// Represents a contract instantiated on the chain. pub struct ContractInstance { address: AccountId, transcoder: ContractMessageTranscoder, + max_gas_override: Option, + max_proof_size_override: Option, } impl ContractInstance { - const MAX_GAS: u64 = 10000000000u64; - /// Creates a new contract instance under `address` with metadata read from `metadata_path`. pub fn new(address: AccountId, metadata_path: &str) -> Result { Ok(Self { address, transcoder: ContractMessageTranscoder::load(metadata_path)?, + max_gas_override: None, + max_proof_size_override: None, }) } + /// From now on, the contract instance will use `limit_override` as the gas limit for all + /// contract calls. If `limit_override` is `None`, then [DEFAULT_MAX_GAS] will be used. + pub fn override_gas_limit(&mut self, limit_override: Option) { + self.max_gas_override = limit_override; + } + + /// From now on, the contract instance will use `limit_override` as the proof size limit for all + /// contract calls. If `limit_override` is `None`, then [DEFAULT_MAX_PROOF_SIZE] will be used. + pub fn override_proof_size_limit(&mut self, limit_override: Option) { + self.max_proof_size_override = limit_override; + } + /// The address of this contract instance. pub fn address(&self) -> &AccountId { &self.address @@ -168,8 +188,10 @@ impl ContractInstance { self.address.clone(), value, Weight { - ref_time: Self::MAX_GAS, - proof_size: Self::MAX_GAS, + ref_time: self.max_gas_override.unwrap_or(DEFAULT_MAX_GAS), + proof_size: self + .max_proof_size_override + .unwrap_or(DEFAULT_MAX_PROOF_SIZE), }, None, data, diff --git a/benches/payout-stakers/Cargo.lock b/benches/payout-stakers/Cargo.lock index c989b6e7f8..ff4de412e7 100644 --- a/benches/payout-stakers/Cargo.lock +++ b/benches/payout-stakers/Cargo.lock @@ -49,7 +49,7 @@ dependencies = [ [[package]] name = "aleph_client" -version = "2.11.0" +version = "2.12.0" dependencies = [ "anyhow", "async-trait", diff --git a/bin/cliain/Cargo.lock b/bin/cliain/Cargo.lock index 2b31f33e68..36f550dc83 100644 --- a/bin/cliain/Cargo.lock +++ b/bin/cliain/Cargo.lock @@ -49,7 +49,7 @@ dependencies = [ [[package]] name = "aleph_client" -version = "2.11.0" +version = "2.12.0" dependencies = [ "anyhow", "async-trait", diff --git a/e2e-tests/Cargo.lock b/e2e-tests/Cargo.lock index 8c7d5f5cb3..65e4f412e7 100644 --- a/e2e-tests/Cargo.lock +++ b/e2e-tests/Cargo.lock @@ -78,7 +78,7 @@ dependencies = [ [[package]] name = "aleph_client" -version = "2.11.0" +version = "2.12.0" dependencies = [ "anyhow", "async-trait", diff --git a/flooder/Cargo.lock b/flooder/Cargo.lock index 305eb625fa..1a7a86ab31 100644 --- a/flooder/Cargo.lock +++ b/flooder/Cargo.lock @@ -49,7 +49,7 @@ dependencies = [ [[package]] name = "aleph_client" -version = "2.11.0" +version = "2.12.0" dependencies = [ "anyhow", "async-trait", From 208c49c4704daa1dd0412f737369a48706f5032d Mon Sep 17 00:00:00 2001 From: timorl Date: Mon, 23 Jan 2023 16:49:13 +0100 Subject: [PATCH 106/212] A0-1872: Network data for sync (#879) * Network data for sync * Actually remembered we need one more kind of message in this version Co-authored-by: timorl --- bin/node/src/service.rs | 4 +- bin/runtime/src/lib.rs | 4 +- finality-aleph/src/sync/data.rs | 102 +++++++++++++++++++++++ finality-aleph/src/sync/mod.rs | 5 +- finality-aleph/src/sync/substrate/mod.rs | 5 +- primitives/src/lib.rs | 2 + 6 files changed, 114 insertions(+), 8 deletions(-) create mode 100644 finality-aleph/src/sync/data.rs diff --git a/bin/node/src/service.rs b/bin/node/src/service.rs index 056149b205..1d789c8f0d 100644 --- a/bin/node/src/service.rs +++ b/bin/node/src/service.rs @@ -5,8 +5,8 @@ use std::{ sync::Arc, }; -use aleph_primitives::AlephSessionApi; -use aleph_runtime::{self, opaque::Block, RuntimeApi, MAX_BLOCK_SIZE}; +use aleph_primitives::{AlephSessionApi, MAX_BLOCK_SIZE}; +use aleph_runtime::{self, opaque::Block, RuntimeApi}; use finality_aleph::{ run_nonvalidator_node, run_validator_node, AlephBlockImport, AlephConfig, JustificationNotification, Metrics, MillisecsPerBlock, Protocol, ProtocolNaming, SessionPeriod, diff --git a/bin/runtime/src/lib.rs b/bin/runtime/src/lib.rs index 4231ea0867..586c6bb434 100644 --- a/bin/runtime/src/lib.rs +++ b/bin/runtime/src/lib.rs @@ -32,7 +32,7 @@ pub use primitives::Balance; use primitives::{ staking::MAX_NOMINATORS_REWARDED_PER_VALIDATOR, wrap_methods, ApiError as AlephApiError, AuthorityId as AlephId, SessionAuthorityData, Version as FinalityVersion, ADDRESSES_ENCODING, - DEFAULT_BAN_REASON_LENGTH, DEFAULT_SESSIONS_PER_ERA, DEFAULT_SESSION_PERIOD, + DEFAULT_BAN_REASON_LENGTH, DEFAULT_SESSIONS_PER_ERA, DEFAULT_SESSION_PERIOD, MAX_BLOCK_SIZE, MILLISECS_PER_BLOCK, TOKEN, }; use sp_api::impl_runtime_apis; @@ -132,8 +132,6 @@ pub const NORMAL_DISPATCH_RATIO: Perbill = Perbill::from_percent(75); // The whole process for a single block should take 1s, of which 400ms is for creation, // 200ms for propagation and 400ms for validation. Hence the block weight should be within 400ms. pub const MAX_BLOCK_WEIGHT: Weight = WEIGHT_PER_MILLIS.saturating_mul(400); -// We agreed to 5MB as the block size limit. -pub const MAX_BLOCK_SIZE: u32 = 5 * 1024 * 1024; // The storage deposit is roughly 1 TOKEN per 1kB pub const DEPOSIT_PER_BYTE: Balance = MILLI_AZERO; diff --git a/finality-aleph/src/sync/data.rs b/finality-aleph/src/sync/data.rs new file mode 100644 index 0000000000..ccf5b263dd --- /dev/null +++ b/finality-aleph/src/sync/data.rs @@ -0,0 +1,102 @@ +use std::mem::size_of; + +use aleph_primitives::MAX_BLOCK_SIZE; +use codec::{Decode, Encode, Error as CodecError, Input as CodecInput}; +use log::warn; + +use crate::{sync::Justification, Version}; + +/// The representation of the database state to be sent to other nodes. +/// In the first version this only contains the top justification. +#[derive(Clone, Debug, Encode, Decode)] +pub struct State { + top_justification: J::Unverified, +} + +/// Data to be sent over the network. +#[derive(Clone, Debug, Encode, Decode)] +pub enum NetworkData { + /// A periodic state broadcast, so that neighbouring nodes can request what they are missing, + /// send what we are missing, and sometines just use the justifications to update their own + /// state. + StateBroadcast(State), + /// A series of justifications, sent to a node that is clearly behind. + Justifications(Vec, State), +} + +/// Version wrapper around the network data. +#[derive(Clone, Debug)] +pub enum VersionedNetworkData { + // Most likely from the future. + Other(Version, Vec), + V1(NetworkData), +} + +// We need 32 bits, since blocks can be quite sizeable. +type ByteCount = u32; + +// We want to be able to safely send at least 10 blocks at once, so this gives uss a bit of wiggle +// room. +const MAX_SYNC_MESSAGE_SIZE: u32 = MAX_BLOCK_SIZE * 11; + +fn encode_with_version(version: Version, payload: &[u8]) -> Vec { + let size = payload.len().try_into().unwrap_or(ByteCount::MAX); + + if size > MAX_SYNC_MESSAGE_SIZE { + warn!( + "Versioned sync message v{:?} too big during Encode. Size is {:?}. Should be {:?} at max.", + version, + payload.len(), + MAX_SYNC_MESSAGE_SIZE + ); + } + + let mut result = Vec::with_capacity(version.size_hint() + size.size_hint() + payload.len()); + + version.encode_to(&mut result); + size.encode_to(&mut result); + result.extend_from_slice(payload); + + result +} + +impl Encode for VersionedNetworkData { + fn size_hint(&self) -> usize { + use VersionedNetworkData::*; + let version_size = size_of::(); + let byte_count_size = size_of::(); + version_size + + byte_count_size + + match self { + Other(_, payload) => payload.len(), + V1(data) => data.size_hint(), + } + } + + fn encode(&self) -> Vec { + use VersionedNetworkData::*; + match self { + Other(version, payload) => encode_with_version(*version, payload), + V1(data) => encode_with_version(Version(1), &data.encode()), + } + } +} + +impl Decode for VersionedNetworkData { + fn decode(input: &mut I) -> Result { + use VersionedNetworkData::*; + let version = Version::decode(input)?; + let num_bytes = ByteCount::decode(input)?; + match version { + Version(1) => Ok(V1(NetworkData::decode(input)?)), + _ => { + if num_bytes > MAX_SYNC_MESSAGE_SIZE { + Err("Sync message has unknown version and is encoded as more than the maximum size.")?; + }; + let mut payload = vec![0; num_bytes as usize]; + input.read(payload.as_mut_slice())?; + Ok(Other(version, payload)) + } + } + } +} diff --git a/finality-aleph/src/sync/mod.rs b/finality-aleph/src/sync/mod.rs index 207efc5d8f..1baf8f9c42 100644 --- a/finality-aleph/src/sync/mod.rs +++ b/finality-aleph/src/sync/mod.rs @@ -3,6 +3,9 @@ use std::{ hash::Hash, }; +use codec::Codec; + +mod data; mod substrate; mod task_queue; mod ticker; @@ -37,7 +40,7 @@ pub trait Header: Clone { /// The verified justification of a block, including a header. pub trait Justification: Clone { type Header: Header; - type Unverified; + type Unverified: Clone + Codec + Debug; /// The header of the block. fn header(&self) -> &Self::Header; diff --git a/finality-aleph/src/sync/substrate/mod.rs b/finality-aleph/src/sync/substrate/mod.rs index cb5f1274cc..fb6da42384 100644 --- a/finality-aleph/src/sync/substrate/mod.rs +++ b/finality-aleph/src/sync/substrate/mod.rs @@ -1,6 +1,7 @@ use std::hash::{Hash, Hasher}; use aleph_primitives::BlockNumber; +use codec::{Decode, Encode}; use sp_runtime::traits::{CheckedSub, Header as SubstrateHeader, One}; use crate::{ @@ -15,7 +16,7 @@ mod verification; pub use verification::SessionVerifier; -#[derive(Clone, Debug, PartialEq, Eq)] +#[derive(Clone, Debug, PartialEq, Eq, Encode, Decode)] pub struct BlockId> { hash: H::Hash, number: H::Number, @@ -58,7 +59,7 @@ impl> Header for H { } /// A justification, including the related header. -#[derive(Clone)] +#[derive(Clone, Debug, Encode, Decode)] pub struct Justification> { header: H, raw_justification: AlephJustification, diff --git a/primitives/src/lib.rs b/primitives/src/lib.rs index 94220796dd..61753d47cb 100644 --- a/primitives/src/lib.rs +++ b/primitives/src/lib.rs @@ -39,6 +39,8 @@ pub type SessionCount = u32; pub type BlockCount = u32; pub const MILLISECS_PER_BLOCK: u64 = 1000; +// We agreed to 5MB as the block size limit. +pub const MAX_BLOCK_SIZE: u32 = 5 * 1024 * 1024; // Quick sessions for testing purposes #[cfg(feature = "short_session")] From c15c121bd1660ddb67e326fbd58847cabea9c799 Mon Sep 17 00:00:00 2001 From: lesniak43 Date: Tue, 24 Jan 2023 09:56:27 +0100 Subject: [PATCH 107/212] A0-1794 Write initial version of the forest struct (#830) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * init * the forest grows * Vertex * first version * remove empty file * add parent check to update_body * polishing * yet another Vertex * forest reimagined * grown forest * Trim * Tests * Better tests * Add max forest depth Co-authored-by: Damian Leśniak Co-authored-by: timorl --- finality-aleph/src/sync/forest/mod.rs | 721 +++++++++++++++++++++++ finality-aleph/src/sync/forest/vertex.rs | 474 +++++++++++++++ finality-aleph/src/sync/mock.rs | 106 ++++ finality-aleph/src/sync/mod.rs | 8 + 4 files changed, 1309 insertions(+) create mode 100644 finality-aleph/src/sync/forest/mod.rs create mode 100644 finality-aleph/src/sync/forest/vertex.rs create mode 100644 finality-aleph/src/sync/mock.rs diff --git a/finality-aleph/src/sync/forest/mod.rs b/finality-aleph/src/sync/forest/mod.rs new file mode 100644 index 0000000000..1f457fbe1b --- /dev/null +++ b/finality-aleph/src/sync/forest/mod.rs @@ -0,0 +1,721 @@ +use std::collections::{ + hash_map::{Entry, OccupiedEntry, VacantEntry}, + HashMap, HashSet, +}; + +use crate::sync::{BlockIdentifier, Header, Justification, PeerId}; + +mod vertex; + +use vertex::{JustificationAddResult, Vertex}; + +type BlockIdFor = <::Header as Header>::Identifier; + +pub struct JustificationWithParent { + pub justification: J, + pub parent: BlockIdFor, +} + +enum VertexHandle<'a, I: PeerId, J: Justification> { + HopelessFork, + BelowMinimal, + HighestFinalized, + Unknown(VacantEntry<'a, BlockIdFor, VertexWithChildren>), + Candidate(OccupiedEntry<'a, BlockIdFor, VertexWithChildren>), +} + +/// Our interest in a block referred to by a vertex, including the information about whom we expect to have the block. +#[derive(Clone, PartialEq, Eq, Debug)] +pub enum Interest { + /// We are not interested in this block. + Uninterested, + /// We would like to have this block. + Required(HashSet), + /// We would like to have this block and its the highest on its branch. + TopRequired(HashSet), +} + +/// What can go wrong when inserting data into the forest. +#[derive(Clone, PartialEq, Eq, Debug)] +pub enum Error { + HeaderMissingParentId, + IncorrectParentState, + IncorrectVertexState, + ParentNotImported, + TooNew, +} + +pub struct VertexWithChildren { + vertex: Vertex, + children: HashSet>, +} + +impl VertexWithChildren { + fn new() -> Self { + Self { + vertex: Vertex::new(), + children: HashSet::new(), + } + } + + fn add_child(&mut self, child: BlockIdFor) { + self.children.insert(child); + } +} + +// How deep can the forest be, vaguely based on two sessions ahead, which is the most we expect to +// ever need worst case scenario. +const MAX_DEPTH: u32 = 1800; + +pub struct Forest { + vertices: HashMap, VertexWithChildren>, + top_required: HashSet>, + root_id: BlockIdFor, + root_children: HashSet>, + compost_bin: HashSet>, +} + +impl Forest { + pub fn new(highest_justified: BlockIdFor) -> Self { + Self { + vertices: HashMap::new(), + top_required: HashSet::new(), + root_id: highest_justified, + root_children: HashSet::new(), + compost_bin: HashSet::new(), + } + } + + fn get_mut(&mut self, id: &BlockIdFor) -> VertexHandle { + use VertexHandle::*; + if id == &self.root_id { + HighestFinalized + } else if id.number() <= self.root_id.number() { + BelowMinimal + } else if self.compost_bin.contains(id) { + HopelessFork + } else { + match self.vertices.entry(id.clone()) { + Entry::Occupied(entry) => Candidate(entry), + Entry::Vacant(entry) => Unknown(entry), + } + } + } + + fn prune(&mut self, id: &BlockIdFor) { + self.top_required.remove(id); + if let Some(VertexWithChildren { children, .. }) = self.vertices.remove(id) { + self.compost_bin.insert(id.clone()); + for child in children { + self.prune(&child); + } + } + } + + fn connect_parent(&mut self, id: &BlockIdFor) { + use VertexHandle::*; + if let Candidate(mut entry) = self.get_mut(id) { + let vertex = entry.get_mut(); + let required = vertex.vertex.required(); + if let Some(parent_id) = vertex.vertex.parent().cloned() { + match self.get_mut(&parent_id) { + Unknown(entry) => { + entry + .insert(VertexWithChildren::new()) + .add_child(id.clone()); + if required { + self.set_required(&parent_id); + } + } + HighestFinalized => { + self.root_children.insert(id.clone()); + } + Candidate(mut entry) => { + entry.get_mut().add_child(id.clone()); + if required { + self.set_required(&parent_id); + } + } + HopelessFork | BelowMinimal => self.prune(id), + }; + }; + }; + } + + fn set_required(&mut self, id: &BlockIdFor) { + self.top_required.remove(id); + if let VertexHandle::Candidate(mut entry) = self.get_mut(id) { + let vertex = entry.get_mut(); + if vertex.vertex.set_required() { + if let Some(id) = vertex.vertex.parent().cloned() { + self.set_required(&id); + } + } + } + } + + fn set_top_required(&mut self, id: &BlockIdFor) -> bool { + match self.get_mut(id) { + VertexHandle::Candidate(mut entry) => match entry.get_mut().vertex.set_required() { + true => { + if let Some(parent_id) = entry.get_mut().vertex.parent().cloned() { + self.set_required(&parent_id); + } + self.top_required.insert(id.clone()); + true + } + false => false, + }, + _ => false, + } + } + + fn insert_id(&mut self, id: BlockIdFor, holder: Option) -> Result<(), Error> { + if id.number() > self.root_id.number() + MAX_DEPTH { + return Err(Error::TooNew); + } + self.vertices + .entry(id) + .or_insert_with(VertexWithChildren::new) + .vertex + .add_block_holder(holder); + Ok(()) + } + + fn process_header( + &mut self, + header: &J::Header, + ) -> Result<(BlockIdFor, BlockIdFor), Error> { + Ok(( + header.id(), + header.parent_id().ok_or(Error::HeaderMissingParentId)?, + )) + } + + /// Updates the provider block identifier, returns whether it became a new top required. + pub fn update_block_identifier( + &mut self, + id: &BlockIdFor, + holder: Option, + required: bool, + ) -> Result { + self.insert_id(id.clone(), holder)?; + match required { + true => Ok(self.set_top_required(id)), + false => Ok(false), + } + } + + /// Updates the provided header, returns whether it became a new top required. + pub fn update_header( + &mut self, + header: &J::Header, + holder: Option, + required: bool, + ) -> Result { + let (id, parent_id) = self.process_header(header)?; + self.insert_id(id.clone(), holder.clone())?; + if let VertexHandle::Candidate(mut entry) = self.get_mut(&id) { + entry.get_mut().vertex.insert_header(parent_id, holder); + self.connect_parent(&id); + } + match required { + true => Ok(self.set_top_required(&id)), + false => Ok(false), + } + } + + /// Updates the vertex related to the provided header marking it as imported. Returns whether + /// it is now finalizable, or errors when it's impossible to do consistently. + pub fn update_body(&mut self, header: &J::Header) -> Result { + use VertexHandle::*; + let (id, parent_id) = self.process_header(header)?; + self.update_header(header, None, false)?; + match self.get_mut(&parent_id) { + Candidate(entry) => { + if !entry.get().vertex.imported() { + return Err(Error::ParentNotImported); + } + } + HighestFinalized => (), + Unknown(_) | HopelessFork | BelowMinimal => return Err(Error::IncorrectParentState), + } + match self.get_mut(&id) { + Candidate(mut entry) => Ok(entry.get_mut().vertex.insert_body(parent_id.clone())), + _ => Err(Error::IncorrectVertexState), + } + } + + /// Updates the provided justification, returns whether either finalization is now possible or + /// the vertex became a new top required. + pub fn update_justification( + &mut self, + justification: J, + holder: Option, + ) -> Result { + use JustificationAddResult::*; + let (id, parent_id) = self.process_header(justification.header())?; + self.update_header(justification.header(), None, false)?; + match self.get_mut(&id) { + VertexHandle::Candidate(mut entry) => { + match entry.get_mut().vertex.insert_justification( + parent_id.clone(), + justification, + holder, + ) { + Noop => Ok(Noop), + Required => { + self.top_required.insert(id.clone()); + self.set_required(&parent_id); + Ok(Required) + } + Finalizable => { + self.top_required.remove(&id); + Ok(Finalizable) + } + } + } + _ => Ok(Noop), + } + } + + fn prune_level(&mut self, level: u32) { + let to_prune: Vec<_> = self + .vertices + .keys() + .filter(|k| k.number() <= level) + .cloned() + .collect(); + for id in to_prune.into_iter() { + self.prune(&id); + } + self.compost_bin.retain(|k| k.number() > level); + } + + /// Attempt to finalize one block, returns the correct justification if successful. + pub fn try_finalize(&mut self) -> Option { + for child_id in self.root_children.clone().into_iter() { + if let Some(VertexWithChildren { vertex, children }) = self.vertices.remove(&child_id) { + match vertex.ready() { + Ok(justification) => { + self.root_id = child_id; + self.root_children = children; + self.prune_level(self.root_id.number()); + return Some(justification); + } + Err(vertex) => { + self.vertices + .insert(child_id, VertexWithChildren { vertex, children }); + } + } + } + } + None + } + + /// How much interest we have for the block. + pub fn state(&mut self, id: &BlockIdFor) -> Interest { + match self.get_mut(id) { + VertexHandle::Candidate(entry) => { + let vertex = &entry.get().vertex; + let know_most = vertex.know_most().clone(); + match vertex.required() { + true => match self.top_required.contains(id) { + true => Interest::TopRequired(know_most), + false => Interest::Required(know_most), + }, + false => Interest::Uninterested, + } + } + _ => Interest::Uninterested, + } + } +} + +#[cfg(test)] +mod tests { + use super::{Error, Forest, Interest::*, JustificationAddResult, MAX_DEPTH}; + use crate::sync::{ + mock::{MockHeader, MockJustification, MockPeerId}, + Header, Justification, + }; + + type MockForest = Forest; + + fn setup() -> (MockHeader, MockForest) { + let header = MockHeader::random_parentless(0); + let forest = Forest::new(header.id()); + (header, forest) + } + + #[test] + fn initially_empty() { + let (initial_header, mut forest) = setup(); + assert!(forest.try_finalize().is_none()); + assert_eq!(forest.state(&initial_header.id()), Uninterested); + } + + #[test] + fn accepts_first_unimportant_id() { + let (initial_header, mut forest) = setup(); + let child = initial_header.random_child(); + let peer_id = rand::random(); + assert!(!forest + .update_block_identifier(&child.id(), Some(peer_id), false) + .expect("it's not too high")); + assert!(forest.try_finalize().is_none()); + assert_eq!(forest.state(&child.id()), Uninterested); + } + + #[test] + fn accepts_first_important_id() { + let (initial_header, mut forest) = setup(); + let child = initial_header.random_child(); + let peer_id = rand::random(); + assert!(forest + .update_block_identifier(&child.id(), Some(peer_id), true) + .expect("it's not too high")); + assert!(forest.try_finalize().is_none()); + match forest.state(&child.id()) { + TopRequired(holders) => assert!(holders.contains(&peer_id)), + other_state => panic!("Expected top required, got {:?}.", other_state), + } + assert!(!forest + .update_block_identifier(&child.id(), Some(peer_id), true) + .expect("it's not too high")); + } + + #[test] + fn rejects_too_high_id() { + let (initial_header, mut forest) = setup(); + let too_high = initial_header + .random_branch() + .nth(MAX_DEPTH as usize) + .expect("the branch is infinite"); + let peer_id = rand::random(); + assert_eq!( + forest.update_block_identifier(&too_high.id(), Some(peer_id), true), + Err(Error::TooNew) + ); + } + + #[test] + fn accepts_first_unimportant_header() { + let (initial_header, mut forest) = setup(); + let child = initial_header.random_child(); + let peer_id = rand::random(); + assert!(!forest + .update_header(&child, Some(peer_id), false) + .expect("header was correct")); + assert!(forest.try_finalize().is_none()); + assert_eq!(forest.state(&child.id()), Uninterested); + } + + #[test] + fn accepts_first_important_header() { + let (initial_header, mut forest) = setup(); + let child = initial_header.random_child(); + let peer_id = rand::random(); + assert!(forest + .update_header(&child, Some(peer_id), true) + .expect("header was correct")); + assert!(forest.try_finalize().is_none()); + match forest.state(&child.id()) { + TopRequired(holders) => assert!(holders.contains(&peer_id)), + other_state => panic!("Expected top required, got {:?}.", other_state), + } + assert!(!forest + .update_block_identifier(&child.id(), Some(peer_id), true) + .expect("it's not too high")); + } + + #[test] + fn rejects_parentless_header() { + let (_, mut forest) = setup(); + let parentless = MockHeader::random_parentless(43); + let peer_id = rand::random(); + assert!(matches!( + forest.update_header(&parentless, Some(peer_id), true), + Err(Error::HeaderMissingParentId) + )); + } + + #[test] + fn accepts_first_justification() { + let (initial_header, mut forest) = setup(); + let child = MockJustification::for_header(initial_header.random_child()); + let peer_id = rand::random(); + assert_eq!( + forest + .update_justification(child.clone(), Some(peer_id)) + .expect("header was correct"), + JustificationAddResult::Required + ); + assert!(forest.try_finalize().is_none()); + match forest.state(&child.header().id()) { + TopRequired(holders) => assert!(holders.contains(&peer_id)), + other_state => panic!("Expected top required, got {:?}.", other_state), + } + } + + #[test] + fn rejects_parentless_justification() { + let (_, mut forest) = setup(); + let parentless = MockJustification::for_header(MockHeader::random_parentless(43)); + let peer_id = rand::random(); + assert!(matches!( + forest.update_justification(parentless, Some(peer_id)), + Err(Error::HeaderMissingParentId) + )); + } + + #[test] + fn accepts_first_body() { + let (initial_header, mut forest) = setup(); + let child = initial_header.random_child(); + assert!(!forest.update_body(&child).expect("header was correct")); + assert!(forest.try_finalize().is_none()); + assert_eq!(forest.state(&child.id()), Uninterested); + } + + #[test] + fn rejects_body_when_parent_unimported() { + let (initial_header, mut forest) = setup(); + let child = initial_header.random_child(); + let grandchild = child.random_child(); + assert!(!forest + .update_header(&child, None, false) + .expect("header was correct")); + assert_eq!( + forest.update_body(&grandchild), + Err(Error::ParentNotImported) + ); + assert!(forest.try_finalize().is_none()); + assert_eq!(forest.state(&child.id()), Uninterested); + assert_eq!(forest.state(&grandchild.id()), Uninterested); + } + + #[test] + fn finalizes_first_block() { + let (initial_header, mut forest) = setup(); + let child = MockJustification::for_header(initial_header.random_child()); + let peer_id = rand::random(); + assert_eq!( + forest + .update_justification(child.clone(), Some(peer_id)) + .expect("header was correct"), + JustificationAddResult::Required + ); + assert!(forest.try_finalize().is_none()); + match forest.state(&child.header().id()) { + TopRequired(holders) => assert!(holders.contains(&peer_id)), + other_state => panic!("Expected top required, got {:?}.", other_state), + } + assert!(forest + .update_body(child.header()) + .expect("header was correct")); + assert_eq!(forest.try_finalize().expect("the block is ready"), child); + } + + #[test] + fn prunes_forks() { + let (initial_header, mut forest) = setup(); + let child = MockJustification::for_header(initial_header.random_child()); + let fork_child = initial_header.random_child(); + let peer_id = rand::random(); + let fork_peer_id = rand::random(); + assert!(forest + .update_header(&fork_child, Some(fork_peer_id), true) + .expect("header was correct")); + match forest.state(&fork_child.id()) { + TopRequired(holders) => assert!(holders.contains(&fork_peer_id)), + other_state => panic!("Expected top required, got {:?}.", other_state), + } + assert_eq!( + forest + .update_justification(child.clone(), Some(peer_id)) + .expect("header was correct"), + JustificationAddResult::Required + ); + assert!(forest + .update_body(child.header()) + .expect("header was correct")); + assert_eq!(forest.try_finalize().expect("the block is ready"), child); + assert_eq!(forest.state(&fork_child.id()), Uninterested); + assert!(!forest + .update_header(&fork_child, Some(fork_peer_id), true) + .expect("header was correct")); + } + + #[test] + fn uninterested_in_forks() { + let (initial_header, mut forest) = setup(); + let fork_branch: Vec<_> = initial_header.random_branch().take(2).collect(); + for header in &fork_branch { + let peer_id = rand::random(); + assert!(forest + .update_header(header, Some(peer_id), true) + .expect("header was correct")); + match forest.state(&header.id()) { + TopRequired(holders) => assert!(holders.contains(&peer_id)), + other_state => panic!("Expected top required, got {:?}.", other_state), + } + } + let child = MockJustification::for_header(initial_header.random_child()); + let peer_id = rand::random(); + assert_eq!( + forest + .update_justification(child.clone(), Some(peer_id)) + .expect("header was correct"), + JustificationAddResult::Required + ); + assert!(forest + .update_body(child.header()) + .expect("header was correct")); + assert_eq!(forest.try_finalize().expect("the block is ready"), child); + for header in fork_branch { + assert_eq!(forest.state(&header.id()), Uninterested); + } + } + + #[test] + fn updates_interest_on_parent_connect() { + let (initial_header, mut forest) = setup(); + let branch: Vec<_> = initial_header.random_branch().take(4).collect(); + let header = &branch[0]; + let peer_id = rand::random(); + assert!(forest + .update_header(header, Some(peer_id), true) + .expect("header was correct")); + match forest.state(&header.id()) { + TopRequired(holders) => assert!(holders.contains(&peer_id)), + other_state => panic!("Expected top required, got {:?}.", other_state), + } + let header = &branch[1]; + let peer_id = rand::random(); + assert!(!forest + .update_header(header, Some(peer_id), false) + .expect("header was correct")); + assert_eq!(forest.state(&header.id()), Uninterested); + let header = &branch[3]; + let peer_id = rand::random(); + assert!(forest + .update_header(header, Some(peer_id), true) + .expect("header was correct")); + match forest.state(&header.id()) { + TopRequired(holders) => assert!(holders.contains(&peer_id)), + other_state => panic!("Expected top required, got {:?}.", other_state), + } + let header = &branch[2]; + let peer_id = rand::random(); + assert!(!forest + .update_header(header, Some(peer_id), false) + .expect("header was correct")); + for header in branch.iter().take(3) { + assert!(matches!(forest.state(&header.id()), Required(_))); + } + assert!(matches!(forest.state(&branch[3].id()), TopRequired(_))); + } + + const HUGE_BRANCH_LENGTH: usize = MAX_DEPTH as usize; + + #[test] + fn finalizes_huge_branch() { + let (initial_header, mut forest) = setup(); + let justifications: Vec<_> = initial_header + .random_branch() + .map(MockJustification::for_header) + .take(HUGE_BRANCH_LENGTH) + .collect(); + for justification in &justifications { + let peer_id = rand::random(); + assert_eq!( + forest + .update_justification(justification.clone(), Some(peer_id)) + .expect("header was correct"), + JustificationAddResult::Required + ); + match forest.state(&justification.header().id()) { + TopRequired(holders) => assert!(holders.contains(&peer_id)), + other_state => panic!("Expected top required, got {:?}.", other_state), + } + assert!(forest + .update_body(justification.header()) + .expect("header was correct")); + } + for justification in justifications { + assert_eq!( + forest.try_finalize().expect("the block is ready"), + justification + ); + } + } + + #[test] + fn prunes_huge_branch() { + let (initial_header, mut forest) = setup(); + let fork: Vec<_> = initial_header + .random_branch() + .take(HUGE_BRANCH_LENGTH) + .collect(); + for header in &fork { + let peer_id = rand::random(); + assert!(forest + .update_header(header, Some(peer_id), true) + .expect("header was correct")); + assert!(forest.try_finalize().is_none()); + match forest.state(&header.id()) { + TopRequired(holders) => assert!(holders.contains(&peer_id)), + other_state => panic!("Expected top required, got {:?}.", other_state), + } + } + let child = MockJustification::for_header(initial_header.random_child()); + let peer_id = rand::random(); + assert_eq!( + forest + .update_justification(child.clone(), Some(peer_id)) + .expect("header was correct"), + JustificationAddResult::Required + ); + assert!(forest.try_finalize().is_none()); + match forest.state(&child.header().id()) { + TopRequired(holders) => assert!(holders.contains(&peer_id)), + other_state => panic!("Expected top required, got {:?}.", other_state), + } + assert!(forest + .update_body(child.header()) + .expect("header was correct")); + assert_eq!(forest.try_finalize().expect("the block is ready"), child); + for header in &fork { + assert_eq!(forest.state(&header.id()), Uninterested); + } + } + + #[test] + fn updates_interest_on_huge_branch() { + let (initial_header, mut forest) = setup(); + let branch: Vec<_> = initial_header + .random_branch() + .take(HUGE_BRANCH_LENGTH) + .collect(); + for header in branch.iter().take(HUGE_BRANCH_LENGTH - 1) { + let peer_id = rand::random(); + assert!(!forest + .update_header(header, Some(peer_id), false) + .expect("header was correct")); + assert_eq!(forest.state(&header.id()), Uninterested); + } + let header = &branch[HUGE_BRANCH_LENGTH - 1]; + let peer_id = rand::random(); + assert!(forest + .update_header(header, Some(peer_id), true) + .expect("header was correct")); + match forest.state(&header.id()) { + TopRequired(holders) => assert!(holders.contains(&peer_id)), + other_state => panic!("Expected top required, got {:?}.", other_state), + } + for header in branch.iter().take(HUGE_BRANCH_LENGTH - 1) { + assert!(matches!(forest.state(&header.id()), Required(_))); + } + } +} diff --git a/finality-aleph/src/sync/forest/vertex.rs b/finality-aleph/src/sync/forest/vertex.rs new file mode 100644 index 0000000000..ce4efa3b5d --- /dev/null +++ b/finality-aleph/src/sync/forest/vertex.rs @@ -0,0 +1,474 @@ +use std::collections::HashSet; + +use crate::sync::{forest::BlockIdFor, Justification, PeerId}; + +#[derive(Clone, Debug, Copy, PartialEq, Eq)] +enum HeaderImportance { + Auxiliary, + Required, + Imported, +} + +#[derive(Clone, Debug, PartialEq, Eq)] +enum InnerVertex { + /// Empty Vertex. + Empty { required: bool }, + /// Vertex with added Header. + Header { + importance: HeaderImportance, + parent: BlockIdFor, + }, + /// Vertex with added Header and Justification. + Justification { + imported: bool, + justification: J, + parent: BlockIdFor, + }, +} + +/// The complete vertex, including metadata about peers that know most about the data it refers to. +#[derive(Clone, Debug, PartialEq, Eq)] +pub struct Vertex { + inner: InnerVertex, + know_most: HashSet, +} + +/// What can happen when we add a justification. +#[derive(Clone, Copy, Debug, PartialEq, Eq)] +pub enum JustificationAddResult { + Noop, + Required, + Finalizable, +} + +impl Vertex { + /// Create a new empty vertex. + pub fn new() -> Self { + Vertex { + inner: InnerVertex::Empty { required: false }, + know_most: HashSet::new(), + } + } + + /// Whether the vertex is required. + pub fn required(&self) -> bool { + use InnerVertex::*; + matches!( + self.inner, + Empty { required: true } + | Header { + importance: HeaderImportance::Required, + .. + } + | Justification { + imported: false, + .. + } + ) + } + + /// Whether the vertex is imported. + pub fn imported(&self) -> bool { + use InnerVertex::*; + matches!( + self.inner, + Header { + importance: HeaderImportance::Imported, + .. + } | Justification { imported: true, .. } + ) + } + + /// Deconstructs the vertex into a justification if it is ready to be imported, + /// i.e. the related block has already been imported, otherwise returns it. + pub fn ready(self) -> Result { + match self.inner { + InnerVertex::Justification { + imported: true, + justification, + .. + } => Ok(justification), + _ => Err(self), + } + } + + /// The parent of the vertex, if known. + pub fn parent(&self) -> Option<&BlockIdFor> { + match &self.inner { + InnerVertex::Empty { .. } => None, + InnerVertex::Header { parent, .. } => Some(parent), + InnerVertex::Justification { parent, .. } => Some(parent), + } + } + + /// The list of peers which know most about the data this vertex refers to. + pub fn know_most(&self) -> &HashSet { + &self.know_most + } + + /// Set the vertex to be required, returns whether anything changed, i.e. the vertex was not + /// required or imported before. + pub fn set_required(&mut self) -> bool { + use InnerVertex::*; + match &self.inner { + Empty { required: false } => { + self.inner = Empty { required: true }; + true + } + Header { + importance: HeaderImportance::Auxiliary, + parent, + } => { + self.inner = Header { + importance: HeaderImportance::Required, + parent: parent.clone(), + }; + true + } + _ => false, + } + } + + /// Adds a peer that knows most about the block this vertex refers to. Does nothing if we + /// already have a justification. + pub fn add_block_holder(&mut self, holder: Option) { + if let Some(holder) = holder { + if !matches!(self.inner, InnerVertex::Justification { .. }) { + self.know_most.insert(holder); + } + } + } + + /// Adds the information the header provides to the vertex. + pub fn insert_header(&mut self, parent: BlockIdFor, holder: Option) { + self.add_block_holder(holder); + if let InnerVertex::Empty { required } = self.inner { + let importance = match required { + false => HeaderImportance::Auxiliary, + true => HeaderImportance::Required, + }; + self.inner = InnerVertex::Header { importance, parent }; + } + } + + /// Adds the information the header provides to the vertex and marks it as imported. Returns + /// whether finalization is now possible. + pub fn insert_body(&mut self, parent: BlockIdFor) -> bool { + use InnerVertex::*; + match &self.inner { + Empty { .. } | Header { .. } => { + self.inner = Header { + parent, + importance: HeaderImportance::Imported, + }; + false + } + Justification { + imported: false, + parent, + justification, + } => { + self.inner = Justification { + imported: true, + parent: parent.clone(), + justification: justification.clone(), + }; + true + } + _ => false, + } + } + + /// Adds a justification to the vertex. Returns whether either the finalization is now possible + /// or the vertex became required. + pub fn insert_justification( + &mut self, + parent: BlockIdFor, + justification: J, + holder: Option, + ) -> JustificationAddResult { + use InnerVertex::*; + match self.inner { + Justification { .. } => { + if let Some(holder) = holder { + self.know_most.insert(holder); + } + JustificationAddResult::Noop + } + Empty { required: true } + | Header { + importance: HeaderImportance::Required, + .. + } => { + self.inner = Justification { + imported: false, + parent, + justification, + }; + self.know_most = holder.into_iter().collect(); + JustificationAddResult::Noop + } + Empty { required: false } + | Header { + importance: HeaderImportance::Auxiliary, + .. + } => { + self.inner = Justification { + imported: false, + parent, + justification, + }; + self.know_most = holder.into_iter().collect(); + JustificationAddResult::Required + } + Header { + importance: HeaderImportance::Imported, + .. + } => { + self.inner = Justification { + imported: true, + parent, + justification, + }; + // No need to modify know_most, as we now know everything we need. + JustificationAddResult::Finalizable + } + } + } +} + +#[cfg(test)] +mod tests { + use super::{JustificationAddResult, Vertex}; + use crate::sync::{ + mock::{MockHeader, MockIdentifier, MockJustification, MockPeerId}, + Header, + }; + + type MockVertex = Vertex; + + #[test] + fn initially_empty() { + let vertex = MockVertex::new(); + assert!(!vertex.required()); + assert!(!vertex.imported()); + assert!(vertex.parent().is_none()); + assert!(vertex.know_most().is_empty()); + assert_eq!(vertex.clone().ready(), Err(vertex)); + } + + #[test] + fn empty_remembers_block_holders() { + let mut vertex = MockVertex::new(); + let peer_id = rand::random(); + vertex.add_block_holder(Some(peer_id)); + assert!(vertex.know_most().contains(&peer_id)); + } + + #[test] + fn empty_set_required() { + let mut vertex = MockVertex::new(); + assert!(vertex.set_required()); + assert!(vertex.required()); + assert!(!vertex.set_required()); + assert!(vertex.required()); + } + + #[test] + fn empty_to_header() { + let mut vertex = MockVertex::new(); + let peer_id = rand::random(); + let parent = MockIdentifier::new_random(43); + vertex.insert_header(parent.clone(), Some(peer_id)); + assert!(!vertex.required()); + assert!(!vertex.imported()); + assert_eq!(vertex.parent(), Some(&parent)); + assert!(vertex.know_most().contains(&peer_id)); + assert_eq!(vertex.clone().ready(), Err(vertex)); + } + + #[test] + fn header_remembers_block_holders() { + let mut vertex = MockVertex::new(); + let peer_id = rand::random(); + let parent = MockIdentifier::new_random(43); + vertex.insert_header(parent, Some(peer_id)); + let other_peer_id = rand::random(); + vertex.add_block_holder(Some(other_peer_id)); + assert!(vertex.know_most().contains(&peer_id)); + assert!(vertex.know_most().contains(&other_peer_id)); + } + + #[test] + fn header_set_required() { + let mut vertex = MockVertex::new(); + let peer_id = rand::random(); + let parent = MockIdentifier::new_random(43); + vertex.insert_header(parent, Some(peer_id)); + assert!(vertex.set_required()); + assert!(vertex.required()); + assert!(!vertex.set_required()); + assert!(vertex.required()); + } + + #[test] + fn header_still_required() { + let mut vertex = MockVertex::new(); + assert!(vertex.set_required()); + let peer_id = rand::random(); + let parent = MockIdentifier::new_random(43); + vertex.insert_header(parent, Some(peer_id)); + assert!(vertex.required()); + assert!(!vertex.set_required()); + assert!(vertex.required()); + } + + #[test] + fn empty_to_body() { + let mut vertex = MockVertex::new(); + let parent = MockIdentifier::new_random(43); + assert!(!vertex.insert_body(parent.clone())); + assert!(!vertex.required()); + assert!(vertex.imported()); + assert_eq!(vertex.parent(), Some(&parent)); + assert_eq!(vertex.clone().ready(), Err(vertex)); + } + + #[test] + fn header_to_body() { + let mut vertex = MockVertex::new(); + let peer_id = rand::random(); + let parent = MockIdentifier::new_random(43); + vertex.insert_header(parent.clone(), Some(peer_id)); + assert!(!vertex.insert_body(parent.clone())); + assert!(!vertex.required()); + assert!(vertex.imported()); + assert_eq!(vertex.parent(), Some(&parent)); + assert_eq!(vertex.clone().ready(), Err(vertex)); + } + + #[test] + fn body_set_required() { + let mut vertex = MockVertex::new(); + let parent = MockIdentifier::new_random(43); + assert!(!vertex.insert_body(parent)); + assert!(!vertex.set_required()); + assert!(!vertex.required()); + } + + #[test] + fn body_no_longer_required() { + let mut vertex = MockVertex::new(); + assert!(vertex.set_required()); + let parent = MockIdentifier::new_random(43); + assert!(!vertex.insert_body(parent)); + assert!(!vertex.required()); + } + + #[test] + fn empty_to_justification() { + let mut vertex = MockVertex::new(); + let parent_header = MockHeader::random_parentless(0); + let header = parent_header.random_child(); + let parent = header.parent_id().expect("born of a parent"); + let justification = MockJustification::for_header(header); + let peer_id = rand::random(); + assert_eq!( + vertex.insert_justification(parent.clone(), justification, Some(peer_id)), + JustificationAddResult::Required + ); + assert!(vertex.required()); + assert!(!vertex.imported()); + assert_eq!(vertex.parent(), Some(&parent)); + assert!(vertex.know_most().contains(&peer_id)); + assert_eq!(vertex.clone().ready(), Err(vertex)); + } + + #[test] + fn header_to_justification() { + let mut vertex = MockVertex::new(); + let parent_header = MockHeader::random_parentless(0); + let header = parent_header.random_child(); + let parent = header.parent_id().expect("born of a parent"); + let justification = MockJustification::for_header(header); + let peer_id = rand::random(); + vertex.insert_header(parent.clone(), Some(peer_id)); + assert_eq!( + vertex.insert_justification(parent.clone(), justification, None), + JustificationAddResult::Required + ); + assert!(vertex.required()); + assert!(!vertex.imported()); + assert_eq!(vertex.parent(), Some(&parent)); + assert!(vertex.know_most().is_empty()); + assert_eq!(vertex.clone().ready(), Err(vertex)); + } + + #[test] + fn body_to_justification() { + let mut vertex = MockVertex::new(); + let parent_header = MockHeader::random_parentless(0); + let header = parent_header.random_child(); + let parent = header.parent_id().expect("born of a parent"); + let justification = MockJustification::for_header(header); + assert!(!vertex.insert_body(parent.clone())); + assert_eq!( + vertex.insert_justification(parent.clone(), justification.clone(), None), + JustificationAddResult::Finalizable + ); + assert!(!vertex.required()); + assert!(vertex.imported()); + assert_eq!(vertex.parent(), Some(&parent)); + assert_eq!(vertex.ready(), Ok(justification)); + } + + #[test] + fn justification_set_required() { + let mut vertex = MockVertex::new(); + let parent_header = MockHeader::random_parentless(0); + let header = parent_header.random_child(); + let parent = header.parent_id().expect("born of a parent"); + let justification = MockJustification::for_header(header); + let peer_id = rand::random(); + assert_eq!( + vertex.insert_justification(parent, justification, Some(peer_id)), + JustificationAddResult::Required + ); + assert!(!vertex.set_required()); + assert!(vertex.required()); + } + + #[test] + fn justification_still_required() { + let mut vertex = MockVertex::new(); + let parent_header = MockHeader::random_parentless(0); + let header = parent_header.random_child(); + let parent = header.parent_id().expect("born of a parent"); + let justification = MockJustification::for_header(header); + let peer_id = rand::random(); + assert!(vertex.set_required()); + assert_eq!( + vertex.insert_justification(parent, justification, Some(peer_id)), + JustificationAddResult::Noop + ); + assert!(vertex.required()); + } + + #[test] + fn my_body_is_ready() { + let mut vertex = MockVertex::new(); + let parent_header = MockHeader::random_parentless(0); + let header = parent_header.random_child(); + let parent = header.parent_id().expect("born of a parent"); + let justification = MockJustification::for_header(header); + assert_eq!( + vertex.insert_justification(parent.clone(), justification.clone(), None), + JustificationAddResult::Required + ); + assert!(vertex.insert_body(parent.clone())); + assert!(!vertex.required()); + assert!(vertex.imported()); + assert_eq!(vertex.parent(), Some(&parent)); + assert_eq!(vertex.ready(), Ok(justification)); + } +} diff --git a/finality-aleph/src/sync/mock.rs b/finality-aleph/src/sync/mock.rs new file mode 100644 index 0000000000..2cdc630cf3 --- /dev/null +++ b/finality-aleph/src/sync/mock.rs @@ -0,0 +1,106 @@ +use codec::{Decode, Encode}; + +use crate::sync::{BlockIdentifier, Header, Justification}; + +pub type MockPeerId = u32; + +#[derive(Clone, Hash, Debug, PartialEq, Eq, Encode, Decode)] +pub struct MockIdentifier { + number: u32, + hash: u32, +} + +impl MockIdentifier { + fn new(number: u32, hash: u32) -> Self { + MockIdentifier { number, hash } + } + + pub fn new_random(number: u32) -> Self { + MockIdentifier::new(number, rand::random()) + } +} + +impl BlockIdentifier for MockIdentifier { + fn number(&self) -> u32 { + self.number + } +} + +#[derive(Clone, Hash, Debug, PartialEq, Eq, Encode, Decode)] +pub struct MockHeader { + id: MockIdentifier, + parent: Option, +} + +impl MockHeader { + fn new(id: MockIdentifier, parent: Option) -> Self { + MockHeader { id, parent } + } + + pub fn random_parentless(number: u32) -> Self { + let id = MockIdentifier::new_random(number); + MockHeader { id, parent: None } + } + + pub fn random_child(&self) -> Self { + let id = MockIdentifier::new_random(self.id.number() + 1); + let parent = Some(self.id.clone()); + MockHeader { id, parent } + } + + pub fn random_branch(&self) -> impl Iterator { + RandomBranch { + parent: self.clone(), + } + } +} + +struct RandomBranch { + parent: MockHeader, +} + +impl Iterator for RandomBranch { + type Item = MockHeader; + + fn next(&mut self) -> Option { + let result = self.parent.random_child(); + self.parent = result.clone(); + Some(result) + } +} + +impl Header for MockHeader { + type Identifier = MockIdentifier; + + fn id(&self) -> Self::Identifier { + self.id.clone() + } + + fn parent_id(&self) -> Option { + self.parent.clone() + } +} + +#[derive(Clone, Hash, Debug, PartialEq, Eq, Encode, Decode)] +pub struct MockJustification { + header: MockHeader, +} + +impl MockJustification { + pub fn for_header(header: MockHeader) -> Self { + MockJustification { header } + } +} + +impl Justification for MockJustification { + type Header = MockHeader; + type Unverified = Self; + + fn header(&self) -> &Self::Header { + &self.header + } + + fn into_unverified(self) -> Self::Unverified { + self + } +} diff --git a/finality-aleph/src/sync/mod.rs b/finality-aleph/src/sync/mod.rs index 1baf8f9c42..611a510de2 100644 --- a/finality-aleph/src/sync/mod.rs +++ b/finality-aleph/src/sync/mod.rs @@ -6,6 +6,9 @@ use std::{ use codec::Codec; mod data; +mod forest; +#[cfg(test)] +mod mock; mod substrate; mod task_queue; mod ticker; @@ -14,6 +17,11 @@ pub use substrate::SessionVerifier; const LOG_TARGET: &str = "aleph-block-sync"; +/// The identifier of a connected peer. +pub trait PeerId: Clone + Hash + Eq {} + +impl PeerId for T {} + /// The identifier of a block, the least amount of knowledge we can have about a block. pub trait BlockIdentifier: Clone + Hash + Debug + Eq { /// The block number, useful when reasoning about hopeless forks. From 5983043c49c8b4f0a8c7103e8c2a02c2c62cf55e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maciej=20Nem=C5=9B?= Date: Wed, 25 Jan 2023 10:10:28 +0100 Subject: [PATCH 108/212] A0-1824: add sync required mocks (#883) --- finality-aleph/src/sync/mock/backend.rs | 268 ++++++++++++++++++ .../src/sync/{mock.rs => mock/mod.rs} | 59 +++- .../src/sync/mock/status_notifier.rs | 30 ++ finality-aleph/src/sync/mock/verifier.rs | 31 ++ 4 files changed, 379 insertions(+), 9 deletions(-) create mode 100644 finality-aleph/src/sync/mock/backend.rs rename finality-aleph/src/sync/{mock.rs => mock/mod.rs} (60%) create mode 100644 finality-aleph/src/sync/mock/status_notifier.rs create mode 100644 finality-aleph/src/sync/mock/verifier.rs diff --git a/finality-aleph/src/sync/mock/backend.rs b/finality-aleph/src/sync/mock/backend.rs new file mode 100644 index 0000000000..1c77472645 --- /dev/null +++ b/finality-aleph/src/sync/mock/backend.rs @@ -0,0 +1,268 @@ +use std::{ + collections::HashMap, + fmt::{Display, Error as FmtError, Formatter}, + sync::Arc, +}; + +use futures::channel::mpsc::{self, UnboundedSender}; +use parking_lot::Mutex; + +use crate::sync::{ + mock::{MockHeader, MockIdentifier, MockJustification, MockNotification}, + BlockIdentifier, BlockStatus, ChainStatus, ChainStatusNotifier, Finalizer, Header, + Justification as JustificationT, +}; + +#[derive(Debug)] +struct MockBlock { + header: MockHeader, + justification: Option, +} + +impl MockBlock { + fn new(header: MockHeader) -> Self { + Self { + header, + justification: None, + } + } + + fn header(&self) -> MockHeader { + self.header.clone() + } + + fn finalize(&mut self, justification: MockJustification) { + self.justification = Some(justification); + } +} + +struct BackendStorage { + blockchain: HashMap, + top_finalized: MockIdentifier, + best_block: MockIdentifier, + genesis_block: MockIdentifier, +} + +#[derive(Clone)] +pub struct Backend { + inner: Arc>, + notification_sender: UnboundedSender, +} + +pub fn setup() -> (Backend, impl ChainStatusNotifier) { + let (notification_sender, notification_receiver) = mpsc::unbounded(); + + (Backend::new(notification_sender), notification_receiver) +} + +fn is_predecessor( + storage: &HashMap, + mut header: MockHeader, + maybe_predecessor: MockIdentifier, +) -> bool { + while let Some(parent) = header.parent_id() { + if header.id().number() != parent.number() + 1 { + break; + } + if parent == maybe_predecessor { + return true; + } + + header = match storage.get(&parent) { + Some(block) => block.header(), + None => return false, + } + } + false +} + +impl Backend { + fn new(notification_sender: UnboundedSender) -> Self { + let header = MockHeader::random_parentless(0); + let id = header.id(); + + let block = MockBlock { + header: header.clone(), + justification: Some(MockJustification::for_header(header)), + }; + + let storage = Arc::new(Mutex::new(BackendStorage { + blockchain: HashMap::from([(id.clone(), block)]), + top_finalized: id.clone(), + best_block: id.clone(), + genesis_block: id, + })); + + Self { + inner: storage, + notification_sender, + } + } + + fn notify_imported(&self, id: MockIdentifier) { + self.notification_sender + .unbounded_send(MockNotification::BlockImported(id)) + .expect("notification receiver is open"); + } + + fn notify_finalized(&self, id: MockIdentifier) { + self.notification_sender + .unbounded_send(MockNotification::BlockFinalized(id)) + .expect("notification receiver is open"); + } + + pub fn import(&self, header: MockHeader) { + let mut storage = self.inner.lock(); + + let parent_id = match header.parent_id() { + Some(id) => id, + None => panic!("importing block without a parent: {:?}", header), + }; + + if storage.blockchain.contains_key(&header.id()) { + panic!("importing an already imported block: {:?}", header) + } + + if !storage.blockchain.contains_key(&parent_id) { + panic!("importing block without an imported parent: {:?}", header) + } + + if header.id().number() != parent_id.number() + 1 { + panic!("importing block without a correct parent: {:?}", header) + } + + if header.id().number() > storage.best_block.number() + && is_predecessor( + &storage.blockchain, + header.clone(), + storage.best_block.clone(), + ) + { + storage.best_block = header.id(); + } + + storage + .blockchain + .insert(header.id(), MockBlock::new(header.clone())); + + self.notify_imported(header.id()); + } +} + +#[derive(Debug)] +pub struct FinalizerError; + +impl Display for FinalizerError { + fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), FmtError> { + write!(f, "{:?}", self) + } +} + +impl Finalizer for Backend { + type Error = FinalizerError; + + fn finalize(&self, justification: MockJustification) -> Result<(), Self::Error> { + if !justification.is_correct { + panic!( + "finalizing block with an incorrect justification: {:?}", + justification + ); + } + + let mut storage = self.inner.lock(); + + let header = justification.header(); + let parent_id = match justification.header().parent_id() { + Some(id) => id, + None => panic!("finalizing block without a parent: {:?}", header), + }; + + let parent_block = match storage.blockchain.get(&parent_id) { + Some(block) => block, + None => panic!("finalizing block without an imported parent: {:?}", header), + }; + + if parent_block.justification.is_none() { + panic!("finalizing block without a finalized parent: {:?}", header); + } + + if parent_id != storage.top_finalized { + panic!( + "finalizing block whose parent is not top finalized: {:?}. Top is {:?}", + header, storage.top_finalized + ); + } + + let id = justification.header().id(); + let block = match storage.blockchain.get_mut(&id) { + Some(block) => block, + None => panic!("finalizing a not imported block: {:?}", header), + }; + + block.finalize(justification); + storage.top_finalized = id.clone(); + // In case finalization changes best block, we set best block, to top finalized. + // Whenever a new import happens, best block will update anyway. + if !is_predecessor( + &storage.blockchain, + storage + .blockchain + .get(&storage.best_block) + .unwrap() + .header(), + id.clone(), + ) { + storage.best_block = id.clone() + } + self.notify_finalized(id); + + Ok(()) + } +} + +#[derive(Debug)] +pub struct StatusError; + +impl Display for StatusError { + fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), FmtError> { + write!(f, "{:?}", self) + } +} + +impl ChainStatus for Backend { + type Error = StatusError; + + fn status_of(&self, id: MockIdentifier) -> Result, Self::Error> { + let storage = self.inner.lock(); + let block = match storage.blockchain.get(&id) { + Some(block) => block, + None => return Ok(BlockStatus::Unknown), + }; + + if let Some(justification) = block.justification.clone() { + Ok(BlockStatus::Justified(justification)) + } else { + Ok(BlockStatus::Present(block.header())) + } + } + + fn best_block(&self) -> Result { + let storage = self.inner.lock(); + let id = storage.best_block.clone(); + storage + .blockchain + .get(&id) + .map(|b| b.header()) + .ok_or(StatusError) + } + + fn top_finalized(&self) -> Result { + let storage = self.inner.lock(); + let id = storage.top_finalized.clone(); + storage + .blockchain + .get(&id) + .and_then(|b| b.justification.clone()) + .ok_or(StatusError) + } +} diff --git a/finality-aleph/src/sync/mock.rs b/finality-aleph/src/sync/mock/mod.rs similarity index 60% rename from finality-aleph/src/sync/mock.rs rename to finality-aleph/src/sync/mock/mod.rs index 2cdc630cf3..8802b26a34 100644 --- a/finality-aleph/src/sync/mock.rs +++ b/finality-aleph/src/sync/mock/mod.rs @@ -1,22 +1,38 @@ +use std::hash::Hash; + use codec::{Decode, Encode}; +use sp_core::H256; + +use crate::sync::{ + BlockIdentifier, BlockStatus, ChainStatusNotification, ChainStatusNotifier, Header, + Justification as JustificationT, Verifier, +}; + +mod backend; +mod status_notifier; +mod verifier; -use crate::sync::{BlockIdentifier, Header, Justification}; +type MockNumber = u32; +type MockHash = H256; + +pub use backend::Backend; +pub use verifier::MockVerifier; pub type MockPeerId = u32; #[derive(Clone, Hash, Debug, PartialEq, Eq, Encode, Decode)] pub struct MockIdentifier { - number: u32, - hash: u32, + number: MockNumber, + hash: MockHash, } impl MockIdentifier { - fn new(number: u32, hash: u32) -> Self { + fn new(number: MockNumber, hash: MockHash) -> Self { MockIdentifier { number, hash } } - pub fn new_random(number: u32) -> Self { - MockIdentifier::new(number, rand::random()) + pub fn new_random(number: MockNumber) -> Self { + MockIdentifier::new(number, MockHash::random()) } } @@ -37,7 +53,7 @@ impl MockHeader { MockHeader { id, parent } } - pub fn random_parentless(number: u32) -> Self { + pub fn random_parentless(number: MockNumber) -> Self { let id = MockIdentifier::new_random(number); MockHeader { id, parent: None } } @@ -84,15 +100,26 @@ impl Header for MockHeader { #[derive(Clone, Hash, Debug, PartialEq, Eq, Encode, Decode)] pub struct MockJustification { header: MockHeader, + is_correct: bool, } impl MockJustification { pub fn for_header(header: MockHeader) -> Self { - MockJustification { header } + Self { + header, + is_correct: true, + } + } + + pub fn for_header_incorrect(header: MockHeader) -> Self { + Self { + header, + is_correct: false, + } } } -impl Justification for MockJustification { +impl JustificationT for MockJustification { type Header = MockHeader; type Unverified = Self; @@ -104,3 +131,17 @@ impl Justification for MockJustification { self } } + +type MockNotification = ChainStatusNotification; +type MockBlockStatus = BlockStatus; + +pub fn setup() -> ( + Backend, + impl Verifier, + impl ChainStatusNotifier, +) { + let (backend, notifier) = backend::setup(); + let verifier = MockVerifier; + + (backend, verifier, notifier) +} diff --git a/finality-aleph/src/sync/mock/status_notifier.rs b/finality-aleph/src/sync/mock/status_notifier.rs new file mode 100644 index 0000000000..e915e1849e --- /dev/null +++ b/finality-aleph/src/sync/mock/status_notifier.rs @@ -0,0 +1,30 @@ +use std::fmt::{Display, Error as FmtError, Formatter}; + +use futures::channel::mpsc::UnboundedReceiver; + +use crate::sync::{ + mock::{MockIdentifier, MockNotification}, + ChainStatusNotifier, +}; + +#[derive(Debug)] +pub enum Error { + StreamClosed, +} + +impl Display for Error { + fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), FmtError> { + write!(f, "{:?}", self) + } +} + +#[async_trait::async_trait] +impl ChainStatusNotifier for UnboundedReceiver { + type Error = Error; + + async fn next(&mut self) -> Result { + ::next(self) + .await + .ok_or(Error::StreamClosed) + } +} diff --git a/finality-aleph/src/sync/mock/verifier.rs b/finality-aleph/src/sync/mock/verifier.rs new file mode 100644 index 0000000000..a8f95318ed --- /dev/null +++ b/finality-aleph/src/sync/mock/verifier.rs @@ -0,0 +1,31 @@ +use std::fmt::{Display, Error as FmtError, Formatter}; + +use crate::sync::{mock::MockJustification, Verifier}; + +pub struct MockVerifier; + +#[derive(Debug)] +pub enum Error { + IncorrectJustification, +} + +impl Display for Error { + fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), FmtError> { + write!(f, "{:?}", self) + } +} + +impl Verifier for MockVerifier { + type Error = Error; + + fn verify( + &mut self, + justification: MockJustification, + ) -> Result { + if justification.is_correct { + Ok(justification) + } else { + Err(Error::IncorrectJustification) + } + } +} From 6a281979cbd1c903d67b7bd2dc14542d7c64ced1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Obrok?= Date: Wed, 25 Jan 2023 14:56:09 +0100 Subject: [PATCH 109/212] WIP --- .../src/contract/convertible_value.rs | 13 +++++++ aleph-client/src/contract/mod.rs | 24 +++++++++++-- contracts/simple_dex/lib.rs | 35 +++++++++++++++---- e2e-tests/src/config.rs | 2 +- e2e-tests/src/test/button_game/contracts.rs | 8 ++--- e2e-tests/src/test/button_game/helpers.rs | 12 ++++--- e2e-tests/src/test/button_game/mod.rs | 16 +++++++-- 7 files changed, 89 insertions(+), 21 deletions(-) diff --git a/aleph-client/src/contract/convertible_value.rs b/aleph-client/src/contract/convertible_value.rs index 18397e3d47..9e40959bdd 100644 --- a/aleph-client/src/contract/convertible_value.rs +++ b/aleph-client/src/contract/convertible_value.rs @@ -73,6 +73,19 @@ impl TryFrom for u32 { } } +impl TryFrom for () { + type Error = anyhow::Error; + + fn try_from(value: ConvertibleValue) -> Result { + match value.0 { + Value::Tuple(tuple) if tuple.ident() == None && tuple.values().next().is_none() => { + Ok(()) + } + _ => bail!("Expected {:?} to be a unit", value.0), + } + } +} + impl TryFrom for AccountId { type Error = anyhow::Error; diff --git a/aleph-client/src/contract/mod.rs b/aleph-client/src/contract/mod.rs index d692194026..cf856ad95f 100644 --- a/aleph-client/src/contract/mod.rs +++ b/aleph-client/src/contract/mod.rs @@ -102,10 +102,26 @@ impl ContractInstance { conn: &C, message: &str, args: &[S], + ) -> Result { + self.contract_read_as(conn, message, args, self.address.clone()) + .await + } + + /// Reads the value of a contract call via RPC as if it was executed by `sender`. + pub async fn contract_read_as< + S: AsRef + Debug, + T: TryFrom, + C: ConnectionApi, + >( + &self, + conn: &C, + message: &str, + args: &[S], + sender: AccountId, ) -> Result { let payload = self.encode(message, args)?; let args = ContractCallArgs { - origin: self.address.clone(), + origin: sender, dest: self.address.clone(), value: 0, gas_limit: None, @@ -119,6 +135,7 @@ impl ContractInstance { .context("RPC request error - there may be more info in node logs.")? .result .map_err(|e| anyhow!("Contract exec failed {:?}", e))?; + let decoded = self.decode(message, result.data)?; ConvertibleValue(decoded).try_into()? } @@ -162,6 +179,9 @@ impl ContractInstance { args: &[S], value: u128, ) -> Result<()> { + self.contract_read_as::<_, Result<()>, _>(conn, message, args, conn.account_id().clone()) + .await??; + let data = self.encode(message, args)?; conn.call( self.address.clone(), @@ -172,7 +192,7 @@ impl ContractInstance { }, None, data, - TxStatus::InBlock, + TxStatus::Finalized, ) .await .map(|_| ()) diff --git a/contracts/simple_dex/lib.rs b/contracts/simple_dex/lib.rs index 46d93e2e7d..19ce44e664 100644 --- a/contracts/simple_dex/lib.rs +++ b/contracts/simple_dex/lib.rs @@ -12,12 +12,16 @@ #[ink::contract] mod simple_dex { use access_control::{roles::Role, AccessControlRef, ACCESS_CONTROL_PUBKEY}; + use game_token::TRANSFER_FROM_SELECTOR; use ink::{ codegen::EmitEvent, - env::{call::FromAccountId, Error as InkEnvError}, + env::{ + call::{build_call, Call, ExecutionInput, FromAccountId, Selector}, + CallFlags, DefaultEnvironment, Error as InkEnvError, + }, prelude::{format, string::String, vec, vec::Vec}, reflect::ContractEventBase, - ToAccountId, + LangError, ToAccountId, }; use openbrush::{ contracts::{psp22::PSP22Ref, traits::errors::PSP22Error}, @@ -47,7 +51,7 @@ mod simple_dex { InsufficientAllowanceOf(AccountId), Arithmethic, WrongParameterValue, - MissingRole(Role), + MissingRole(AccountId, Role), InkEnv(String), CrossContractCall(String), TooMuchSlippage, @@ -67,6 +71,14 @@ mod simple_dex { } } + #[ink(event)] + pub struct Deposited { + caller: AccountId, + #[ink(topic)] + token: AccountId, + amount: Balance, + } + #[ink(event)] pub struct SwapPairAdded { #[ink(topic)] @@ -206,6 +218,16 @@ mod simple_dex { // will revert if the contract does not have enough allowance from the caller // in which case the whole tx is reverted self.transfer_from_tx(token_in, caller, this, amount)?; + + Self::emit_event( + self.env(), + Event::Deposited(Deposited { + caller, + token: token_in, + amount, + }), + ); + Ok(()) })?; @@ -430,9 +452,8 @@ mod simple_dex { from: AccountId, to: AccountId, amount: Balance, - ) -> Result<(), PSP22Error> { - PSP22Ref::transfer_from(&token, from, to, amount, vec![])?; - + ) -> Result<(), DexError> { + PSP22Ref::transfer_from(&token, from, to, amount, vec![0x0])?; Ok(()) } @@ -450,7 +471,7 @@ mod simple_dex { if self.access_control.has_role(account, role) { Ok(()) } else { - return Err(DexError::MissingRole(role)); + return Err(DexError::MissingRole(account, role)); } } diff --git a/e2e-tests/src/config.rs b/e2e-tests/src/config.rs index 74fee71a3b..de9bf09175 100644 --- a/e2e-tests/src/config.rs +++ b/e2e-tests/src/config.rs @@ -7,7 +7,7 @@ use primitives::SessionIndex; use crate::accounts::{get_sudo_key, get_validators_keys, get_validators_seeds, NodeKeys}; static GLOBAL_CONFIG: Lazy = Lazy::new(|| { - let node = get_env("NODE_URL").unwrap_or_else(|| "ws://127.0.0.1:9943".to_string()); + let node = get_env("NODE_URL").unwrap_or_else(|| "ws://127.0.0.1:9944".to_string()); let validator_count = get_env("VALIDATOR_COUNT").unwrap_or(5); let validators_seeds = env::var("VALIDATORS_SEEDS") .ok() diff --git a/e2e-tests/src/test/button_game/contracts.rs b/e2e-tests/src/test/button_game/contracts.rs index bcad315345..b6704a9776 100644 --- a/e2e-tests/src/test/button_game/contracts.rs +++ b/e2e-tests/src/test/button_game/contracts.rs @@ -1,4 +1,4 @@ -use std::str::FromStr; +use std::{fmt::Debug, str::FromStr}; use aleph_client::{ contract::ContractInstance, AccountId, Connection, ConnectionApi, SignedConnection, @@ -56,7 +56,7 @@ impl SimpleDexInstance { to: AccountId, ) -> Result<()> { self.contract - .contract_exec(conn, "add_swap_pair", &[&from.to_string(), &to.to_string()]) + .contract_exec(conn, "add_swap_pair", &[from.to_string(), to.to_string()]) .await } @@ -84,7 +84,7 @@ impl SimpleDexInstance { .iter() .map(|(token, amount)| { let address: AccountId = (*token).try_into()?; - Ok(format!("deposits ({:}, {:})", address, amount)) + Ok(format!("({:}, {:})", address, amount)) }) .collect::>>()?; @@ -113,7 +113,7 @@ impl SimpleDexInstance { amount_token_in.to_string(), ], ) - .await + .await? } pub async fn swap( diff --git a/e2e-tests/src/test/button_game/helpers.rs b/e2e-tests/src/test/button_game/helpers.rs index b5f6f306b8..c81c7988f6 100644 --- a/e2e-tests/src/test/button_game/helpers.rs +++ b/e2e-tests/src/test/button_game/helpers.rs @@ -153,7 +153,7 @@ pub(super) async fn setup_wrapped_azero_test(config: &Config) -> Result Result { .unwrap(); }); - let events = BufferedReceiver::new(events_rx, Duration::from_secs(3)); + let events = BufferedReceiver::new(events_rx, Duration::from_secs(10)); Ok(DexTestContext { conn, @@ -252,7 +252,7 @@ pub(super) async fn setup_button_test( .unwrap(); }); - let events = BufferedReceiver::new(events_rx, Duration::from_secs(3)); + let events = BufferedReceiver::new(events_rx, Duration::from_secs(10)); Ok(ButtonTestContext { button, @@ -298,7 +298,10 @@ impl BufferedReceiver { /// If such a message was received earlier and is waiting in the buffer, returns the message immediately and removes /// it from the buffer. Otherwise, listens for messages for `default_timeout`, storing them in the buffer. If a /// matching message is found during that time, it is returned. If not, `Err(RecvTimeoutError)` is returned. - pub async fn recv_timeout bool>(&mut self, filter: F) -> Result { + pub async fn recv_timeout bool>(&mut self, filter: F) -> Result + where + T: Debug, + { match self.buffer.iter().find_position(|m| filter(m)) { Some((i, _)) => Ok(self.buffer.remove(i)), None => { @@ -311,6 +314,7 @@ impl BufferedReceiver { if filter(&msg) { return Ok(msg); } else { + info!("Buffering {:?}", msg); self.buffer.push(msg); remaining_timeout -= Instant::now().duration_since(start); } diff --git a/e2e-tests/src/test/button_game/mod.rs b/e2e-tests/src/test/button_game/mod.rs index 3351a7ce69..8a5e3ea5a5 100644 --- a/e2e-tests/src/test/button_game/mod.rs +++ b/e2e-tests/src/test/button_game/mod.rs @@ -94,6 +94,7 @@ pub async fn simple_dex() -> Result<()> { token3, mut events, } = setup_dex_test(config).await?; + let authority_conn = &sign(&conn, &authority); let account_conn = &sign(&conn, &account); let token1 = token1.as_ref(); @@ -116,22 +117,29 @@ pub async fn simple_dex() -> Result<()> { token1 .mint(authority_conn, authority.account_id(), mega(3000)) .await?; + assert_recv_id(&mut events, "Transfer").await; token2 .mint(authority_conn, authority.account_id(), mega(5000)) .await?; + assert_recv_id(&mut events, "Transfer").await; token3 .mint(authority_conn, authority.account_id(), mega(10000)) .await?; + assert_recv_id(&mut events, "Transfer").await; token1 .approve(authority_conn, &dex.into(), mega(3000)) .await?; + assert_recv_id(&mut events, "Approval").await; token2 .approve(authority_conn, &dex.into(), mega(5000)) .await?; + assert_recv_id(&mut events, "Approval").await; token3 .approve(authority_conn, &dex.into(), mega(10000)) .await?; + assert_recv_id(&mut events, "Approval").await; + dex.deposit( authority_conn, &[ @@ -141,11 +149,13 @@ pub async fn simple_dex() -> Result<()> { ], ) .await?; + assert_recv_id(&mut events, "Deposited").await; let more_than_liquidity = mega(1_000_000); - dex.swap(account_conn, token1, 100, token2, more_than_liquidity) - .await?; - + let res = dex + .swap(account_conn, token1, 100, token2, more_than_liquidity) + .await; + assert!(res.is_err()); refute_recv_id(&mut events, "Swapped").await; let initial_amount = mega(100); From da67cb4dc9aa33ce4ff6a784b9562b93e2fdb852 Mon Sep 17 00:00:00 2001 From: deuszx Date: Thu, 26 Jan 2023 17:42:27 +0100 Subject: [PATCH 110/212] Fix e2e contract tests. --- aleph-client/src/contract/mod.rs | 63 +++++++++++++++++++-------- contracts/button/lib.rs | 21 +++++++-- contracts/game_token/lib.rs | 2 + contracts/marketplace/lib.rs | 7 ++- contracts/scripts/deploy.sh | 4 +- contracts/simple_dex/lib.rs | 8 +++- contracts/wrapped_azero/Cargo.toml | 3 -- e2e-tests/src/test/button_game/mod.rs | 12 ++--- 8 files changed, 85 insertions(+), 35 deletions(-) diff --git a/aleph-client/src/contract/mod.rs b/aleph-client/src/contract/mod.rs index cf856ad95f..210aadb551 100644 --- a/aleph-client/src/contract/mod.rs +++ b/aleph-client/src/contract/mod.rs @@ -50,6 +50,9 @@ use std::fmt::{Debug, Formatter}; use anyhow::{anyhow, Context, Result}; use contract_transcode::ContractMessageTranscoder; pub use convertible_value::ConvertibleValue; +use log::error; +use pallet_contracts_primitives::ContractExecResult; +use primitives::Balance; use crate::{ contract_transcode::Value, @@ -65,7 +68,6 @@ pub struct ContractInstance { } impl ContractInstance { - const MAX_GAS: u64 = 10000000000u64; /// Creates a new contract instance under `address` with metadata read from `metadata_path`. pub fn new(address: AccountId, metadata_path: &str) -> Result { @@ -119,20 +121,9 @@ impl ContractInstance { args: &[S], sender: AccountId, ) -> Result { - let payload = self.encode(message, args)?; - let args = ContractCallArgs { - origin: sender, - dest: self.address.clone(), - value: 0, - gas_limit: None, - input_data: payload, - storage_deposit_limit: None, - }; - - let result = conn - .call_and_get(args) - .await - .context("RPC request error - there may be more info in node logs.")? + let result = self + .dry_run(conn, message, args, sender) + .await? .result .map_err(|e| anyhow!("Contract exec failed {:?}", e))?; @@ -179,16 +170,17 @@ impl ContractInstance { args: &[S], value: u128, ) -> Result<()> { - self.contract_read_as::<_, Result<()>, _>(conn, message, args, conn.account_id().clone()) - .await??; + let dry_run_result = self + .dry_run(conn, message, args, conn.account_id().clone()) + .await?; let data = self.encode(message, args)?; conn.call( self.address.clone(), value, Weight { - ref_time: Self::MAX_GAS, - proof_size: Self::MAX_GAS, + ref_time: dry_run_result.gas_required.ref_time(), + proof_size: dry_run_result.gas_required.proof_size(), }, None, data, @@ -205,6 +197,39 @@ impl ContractInstance { fn decode(&self, message: &str, data: Vec) -> Result { self.transcoder.decode_return(message, &mut data.as_slice()) } + + async fn dry_run + Debug, C: ConnectionApi>( + &self, + conn: &C, + message: &str, + args: &[S], + sender: AccountId, + ) -> Result> { + let payload = self.encode(message, args)?; + let args = ContractCallArgs { + origin: sender, + dest: self.address.clone(), + value: 0, + gas_limit: None, + input_data: payload, + storage_deposit_limit: None, + }; + + let contract_read_result = conn + .call_and_get(args) + .await + .context("RPC request error - there may be more info in node logs.")?; + + if !contract_read_result.debug_message.is_empty() { + println!( + "Dry-run debug messages: {:?}", + hex::encode(&contract_read_result.debug_message) + ); + } + + Ok(contract_read_result) + } + } impl Debug for ContractInstance { diff --git a/contracts/button/lib.rs b/contracts/button/lib.rs index 2f60cf7c42..a04fa3c46b 100644 --- a/contracts/button/lib.rs +++ b/contracts/button/lib.rs @@ -9,7 +9,10 @@ pub mod button_game { #[cfg(feature = "std")] use ink::storage::traits::StorageLayout; use ink::{ - codegen::EmitEvent, env::call::FromAccountId, prelude::vec, reflect::ContractEventBase, + codegen::EmitEvent, + env::{call::FromAccountId, CallFlags}, + prelude::vec, + reflect::ContractEventBase, ToAccountId, }; use marketplace::marketplace::MarketplaceRef; @@ -333,12 +336,17 @@ pub mod button_game { } fn transfer_tickets_to_marketplace(&self) -> ButtonResult<()> { - PSP22Ref::transfer( + PSP22Ref::transfer_builder( &self.ticket_token, self.marketplace.to_account_id(), self.held_tickets(), vec![], - )?; + ) + .call_flags(CallFlags::default().set_allow_reentry(true)) + .fire() + .expect("innermost") + .expect("middle") + .expect("outermost"); Ok(()) } @@ -383,7 +391,12 @@ pub mod button_game { to: AccountId, value: Balance, ) -> ButtonResult<()> { - PSP22Ref::transfer_from(&self.ticket_token, from, to, value, vec![])?; + PSP22Ref::transfer_from_builder(&self.ticket_token, from, to, value, vec![]) + .call_flags(CallFlags::default().set_allow_reentry(true)) + .fire() + .expect("innermost") + .expect("middle") + .expect("outermost"); Ok(()) } diff --git a/contracts/game_token/lib.rs b/contracts/game_token/lib.rs index c0934cf718..2c620f0c98 100644 --- a/contracts/game_token/lib.rs +++ b/contracts/game_token/lib.rs @@ -53,7 +53,9 @@ pub mod game_token { let this = self.env().account_id(); let required_role = Role::Minter(this); + ink::env::debug_println!("checking required role for minting"); self.check_role(caller, required_role)?; + ink::env::debug_println!("role valid"); self._mint_to(account, amount) } } diff --git a/contracts/marketplace/lib.rs b/contracts/marketplace/lib.rs index 242233ceec..8fbfcf8aff 100644 --- a/contracts/marketplace/lib.rs +++ b/contracts/marketplace/lib.rs @@ -259,7 +259,12 @@ pub mod marketplace { } fn take_payment(&self, from: AccountId, amount: Balance) -> Result<(), Error> { - PSP22BurnableRef::burn(&self.reward_token, from, amount)?; + PSP22BurnableRef::burn_builder(&self.reward_token, from, amount) + .call_flags(ink::env::CallFlags::default().set_allow_reentry(true)) + .fire() + .expect("innermost") + .expect("middle") + .expect("outermost"); Ok(()) } diff --git a/contracts/scripts/deploy.sh b/contracts/scripts/deploy.sh index a60c6e5cd7..8a9816fcb6 100755 --- a/contracts/scripts/deploy.sh +++ b/contracts/scripts/deploy.sh @@ -2,6 +2,8 @@ set -euo pipefail +ROOT=$(pwd) + # --- FUNCTIONS function upload_contract { @@ -254,7 +256,7 @@ ACCESS_CONTROL_CODE_HASH=$(cargo contract upload --url "$NODE" --suri "$AUTHORIT ACCESS_CONTROL_CODE_HASH=$(echo "$ACCESS_CONTROL_CODE_HASH" | grep hash | tail -1 | cut -c 14-) ACCESS_CONTROL=$(cargo contract instantiate --url "$NODE" --constructor new --suri "$AUTHORITY_SEED" --skip-confirm --output-json) ACCESS_CONTROL=$(echo "$ACCESS_CONTROL" | jq -r '.contract') -ACCESS_CONTROL_PUBKEY=$(docker run --rm --entrypoint "/bin/sh" "${NODE_IMAGE}" -c "aleph-node key inspect $ACCESS_CONTROL" | grep hex | cut -c 23- | cut -c 3-) +ACCESS_CONTROL_PUBKEY=$("$ROOT"/target/release/aleph-node key inspect $ACCESS_CONTROL | grep hex | cut -c 23- | cut -c 3-) echo "access control contract address: $ACCESS_CONTROL" echo "access control contract public key \(hex\): $ACCESS_CONTROL_PUBKEY" diff --git a/contracts/simple_dex/lib.rs b/contracts/simple_dex/lib.rs index 19ce44e664..0e3cac0488 100644 --- a/contracts/simple_dex/lib.rs +++ b/contracts/simple_dex/lib.rs @@ -453,7 +453,13 @@ mod simple_dex { to: AccountId, amount: Balance, ) -> Result<(), DexError> { - PSP22Ref::transfer_from(&token, from, to, amount, vec![0x0])?; + PSP22Ref::transfer_from_builder(&token, from, to, amount, vec![0x0]) + .call_flags(CallFlags::default().set_allow_reentry(true)) + .fire() + .expect("innermost") + .expect("middle") + .expect("outermost"); + Ok(()) } diff --git a/contracts/wrapped_azero/Cargo.toml b/contracts/wrapped_azero/Cargo.toml index 14638f56fc..702f266b41 100644 --- a/contracts/wrapped_azero/Cargo.toml +++ b/contracts/wrapped_azero/Cargo.toml @@ -38,6 +38,3 @@ std = [ "access_control/std", ] ink-as-dependency = [] - -[profile.dev] -codegen-units = 16 diff --git a/e2e-tests/src/test/button_game/mod.rs b/e2e-tests/src/test/button_game/mod.rs index 8a5e3ea5a5..f9c4f2209f 100644 --- a/e2e-tests/src/test/button_game/mod.rs +++ b/e2e-tests/src/test/button_game/mod.rs @@ -202,14 +202,14 @@ pub async fn simple_dex() -> Result<()> { .approve(account_conn, &dex.into(), balance_after) .await?; let unreasonable_slippage = expected_output * 11 / 10; - dex.swap( + assert!(dex.swap( account_conn, token1, balance_after, token2, unreasonable_slippage, ) - .await?; + .await.is_err(), "expected swap to fail"); refute_recv_id(&mut events, "Swapped").await; dex.swap(account_conn, token1, balance_after, token3, mega(90)) @@ -225,8 +225,8 @@ pub async fn simple_dex() -> Result<()> { token3 .approve(account_conn, &dex.into(), balance_token3) .await?; - dex.swap(account_conn, token3, balance_token3, token1, mega(90)) - .await?; + assert!(dex.swap(account_conn, token3, balance_token3, token1, mega(90)) + .await.is_err(), "can't swap pair that is not whitelisted"); refute_recv_id(&mut events, "Swapped").await; Ok(()) @@ -295,9 +295,9 @@ pub async fn marketplace() -> Result<()> { let latest_price = marketplace.price(&conn).await?; info!("Setting max price too low"); - marketplace + assert!(marketplace .buy(&sign(&conn, player), Some(latest_price / 2)) - .await?; + .await.is_err(), "set price too low, should fail"); refute_recv_id(&mut events, "Bought").await; assert!(ticket_token.balance_of(&conn, player.account_id()).await? == 1); From 421f1a2e4d1e1b04ce06c2289dd2beff8a109556 Mon Sep 17 00:00:00 2001 From: deuszx Date: Fri, 27 Jan 2023 15:09:11 +0100 Subject: [PATCH 111/212] wait_for_death returns Err when button doesn't die. --- e2e-tests/src/test/button_game/helpers.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/e2e-tests/src/test/button_game/helpers.rs b/e2e-tests/src/test/button_game/helpers.rs index c81c7988f6..d0c65d2a2c 100644 --- a/e2e-tests/src/test/button_game/helpers.rs +++ b/e2e-tests/src/test/button_game/helpers.rs @@ -337,7 +337,10 @@ pub(super) async fn wait_for_death( button: &ButtonInstance, ) -> Result<()> { info!("Waiting for button to die"); - timeout(Duration::from_secs(30), button.is_dead(conn)).await??; + if !timeout(Duration::from_secs(30), button.is_dead(conn)).await?? { + return bail!("Button didn't die in time.") + } + info!("Button died"); Ok(()) } From fca1874597e3458b176985854af0aa040a194cad Mon Sep 17 00:00:00 2001 From: deuszx Date: Fri, 27 Jan 2023 17:15:40 +0100 Subject: [PATCH 112/212] Log when dry-run call reverts. --- aleph-client/src/contract/mod.rs | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/aleph-client/src/contract/mod.rs b/aleph-client/src/contract/mod.rs index 210aadb551..fe1811f076 100644 --- a/aleph-client/src/contract/mod.rs +++ b/aleph-client/src/contract/mod.rs @@ -68,7 +68,6 @@ pub struct ContractInstance { } impl ContractInstance { - /// Creates a new contract instance under `address` with metadata read from `metadata_path`. pub fn new(address: AccountId, metadata_path: &str) -> Result { Ok(Self { @@ -221,15 +220,27 @@ impl ContractInstance { .context("RPC request error - there may be more info in node logs.")?; if !contract_read_result.debug_message.is_empty() { - println!( + error!( + target: "aleph_client::contract", "Dry-run debug messages: {:?}", - hex::encode(&contract_read_result.debug_message) + core::str::from_utf8(&contract_read_result.debug_message) + .unwrap_or("") + .split('\n') + .filter(|m| !m.is_empty()) + .collect::>() ); } + if let Ok(res) = &contract_read_result.result { + if res.did_revert() { + // For dry run, failed transactions don't return `Err` but `Ok(_)` + // and we have to inspect flags manually. + error!("Dry-run call reverted"); + } + } + Ok(contract_read_result) } - } impl Debug for ContractInstance { From 1a1588273c077a4b971929b8810b480a0f52f9eb Mon Sep 17 00:00:00 2001 From: deuszx Date: Fri, 27 Jan 2023 17:16:03 +0100 Subject: [PATCH 113/212] FMT button_game tests. --- e2e-tests/src/test/button_game/mod.rs | 38 ++++++++++++++++++--------- 1 file changed, 25 insertions(+), 13 deletions(-) diff --git a/e2e-tests/src/test/button_game/mod.rs b/e2e-tests/src/test/button_game/mod.rs index f9c4f2209f..21045595a4 100644 --- a/e2e-tests/src/test/button_game/mod.rs +++ b/e2e-tests/src/test/button_game/mod.rs @@ -202,14 +202,18 @@ pub async fn simple_dex() -> Result<()> { .approve(account_conn, &dex.into(), balance_after) .await?; let unreasonable_slippage = expected_output * 11 / 10; - assert!(dex.swap( - account_conn, - token1, - balance_after, - token2, - unreasonable_slippage, - ) - .await.is_err(), "expected swap to fail"); + assert!( + dex.swap( + account_conn, + token1, + balance_after, + token2, + unreasonable_slippage, + ) + .await + .is_err(), + "expected swap to fail" + ); refute_recv_id(&mut events, "Swapped").await; dex.swap(account_conn, token1, balance_after, token3, mega(90)) @@ -225,8 +229,12 @@ pub async fn simple_dex() -> Result<()> { token3 .approve(account_conn, &dex.into(), balance_token3) .await?; - assert!(dex.swap(account_conn, token3, balance_token3, token1, mega(90)) - .await.is_err(), "can't swap pair that is not whitelisted"); + assert!( + dex.swap(account_conn, token3, balance_token3, token1, mega(90)) + .await + .is_err(), + "can't swap pair that is not whitelisted" + ); refute_recv_id(&mut events, "Swapped").await; Ok(()) @@ -295,9 +303,13 @@ pub async fn marketplace() -> Result<()> { let latest_price = marketplace.price(&conn).await?; info!("Setting max price too low"); - assert!(marketplace - .buy(&sign(&conn, player), Some(latest_price / 2)) - .await.is_err(), "set price too low, should fail"); + assert!( + marketplace + .buy(&sign(&conn, player), Some(latest_price / 2)) + .await + .is_err(), + "set price too low, should fail" + ); refute_recv_id(&mut events, "Bought").await; assert!(ticket_token.balance_of(&conn, player.account_id()).await? == 1); From 93277c78e4419d83726cc301fad131da011ba3e0 Mon Sep 17 00:00:00 2001 From: deuszx Date: Fri, 27 Jan 2023 17:16:25 +0100 Subject: [PATCH 114/212] wait_for_death actually waits up to timeout. --- e2e-tests/src/test/button_game/helpers.rs | 24 +++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/e2e-tests/src/test/button_game/helpers.rs b/e2e-tests/src/test/button_game/helpers.rs index d0c65d2a2c..99d62a84c9 100644 --- a/e2e-tests/src/test/button_game/helpers.rs +++ b/e2e-tests/src/test/button_game/helpers.rs @@ -337,9 +337,29 @@ pub(super) async fn wait_for_death( button: &ButtonInstance, ) -> Result<()> { info!("Waiting for button to die"); - if !timeout(Duration::from_secs(30), button.is_dead(conn)).await?? { - return bail!("Button didn't die in time.") + let mut iters = 0u8; + let mut is_dead = false; + + while iters <= 10 { + match timeout(Duration::from_secs(2), button.is_dead(conn)).await? { + Err(e) => println!("Error while querying button.is_dead: {:?}", e), + Ok(status) => is_dead = status, + } + + if !is_dead { + let _ = tokio::time::sleep(Duration::from_secs(3)).await; + iters += 1; + } + + if is_dead { + break; + } + } + + if !is_dead { + bail!("Button didn't die in time") } + info!("Button died"); Ok(()) } From a50231e1dcbefbf59d6f6c5535954330c8103ab4 Mon Sep 17 00:00:00 2001 From: deuszx Date: Fri, 27 Jan 2023 17:37:02 +0100 Subject: [PATCH 115/212] Restore unnecessary change to Cargo.toml --- contracts/wrapped_azero/Cargo.toml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/contracts/wrapped_azero/Cargo.toml b/contracts/wrapped_azero/Cargo.toml index 702f266b41..14638f56fc 100644 --- a/contracts/wrapped_azero/Cargo.toml +++ b/contracts/wrapped_azero/Cargo.toml @@ -38,3 +38,6 @@ std = [ "access_control/std", ] ink-as-dependency = [] + +[profile.dev] +codegen-units = 16 From 4ae71996c7068532280d38bea276db132c337cad Mon Sep 17 00:00:00 2001 From: deuszx Date: Fri, 27 Jan 2023 17:55:25 +0100 Subject: [PATCH 116/212] Debug messages are not errors. --- aleph-client/src/contract/mod.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/aleph-client/src/contract/mod.rs b/aleph-client/src/contract/mod.rs index fe1811f076..b8c6bf4c9a 100644 --- a/aleph-client/src/contract/mod.rs +++ b/aleph-client/src/contract/mod.rs @@ -220,7 +220,7 @@ impl ContractInstance { .context("RPC request error - there may be more info in node logs.")?; if !contract_read_result.debug_message.is_empty() { - error!( + info!( target: "aleph_client::contract", "Dry-run debug messages: {:?}", core::str::from_utf8(&contract_read_result.debug_message) From 8b0707822f47df8f11ea363b0ccc75a0720260c0 Mon Sep 17 00:00:00 2001 From: deuszx Date: Fri, 27 Jan 2023 17:56:14 +0100 Subject: [PATCH 117/212] Remove debug printlns from the contract. --- contracts/game_token/lib.rs | 2 -- 1 file changed, 2 deletions(-) diff --git a/contracts/game_token/lib.rs b/contracts/game_token/lib.rs index 2c620f0c98..c0934cf718 100644 --- a/contracts/game_token/lib.rs +++ b/contracts/game_token/lib.rs @@ -53,9 +53,7 @@ pub mod game_token { let this = self.env().account_id(); let required_role = Role::Minter(this); - ink::env::debug_println!("checking required role for minting"); self.check_role(caller, required_role)?; - ink::env::debug_println!("role valid"); self._mint_to(account, amount) } } From a89ea9c6e2dfbaf202f0bdecec9e00017167f8f2 Mon Sep 17 00:00:00 2001 From: deuszx Date: Fri, 27 Jan 2023 18:05:41 +0100 Subject: [PATCH 118/212] Cleanup error handling. --- contracts/button/lib.rs | 12 ++++++------ contracts/marketplace/lib.rs | 6 +++--- contracts/simple_dex/lib.rs | 16 ++++++---------- 3 files changed, 15 insertions(+), 19 deletions(-) diff --git a/contracts/button/lib.rs b/contracts/button/lib.rs index a04fa3c46b..ad348479f3 100644 --- a/contracts/button/lib.rs +++ b/contracts/button/lib.rs @@ -344,9 +344,9 @@ pub mod button_game { ) .call_flags(CallFlags::default().set_allow_reentry(true)) .fire() - .expect("innermost") - .expect("middle") - .expect("outermost"); + .map_err(GameError::from)? + .unwrap() // new error we can't do anything about. + .map_err(GameError::from)?; Ok(()) } @@ -394,9 +394,9 @@ pub mod button_game { PSP22Ref::transfer_from_builder(&self.ticket_token, from, to, value, vec![]) .call_flags(CallFlags::default().set_allow_reentry(true)) .fire() - .expect("innermost") - .expect("middle") - .expect("outermost"); + .map_err(GameError::from)? + .unwrap() // new error we can't do anything about. + .map_err(GameError::from)?; Ok(()) } diff --git a/contracts/marketplace/lib.rs b/contracts/marketplace/lib.rs index 8fbfcf8aff..42a887039f 100644 --- a/contracts/marketplace/lib.rs +++ b/contracts/marketplace/lib.rs @@ -262,9 +262,9 @@ pub mod marketplace { PSP22BurnableRef::burn_builder(&self.reward_token, from, amount) .call_flags(ink::env::CallFlags::default().set_allow_reentry(true)) .fire() - .expect("innermost") - .expect("middle") - .expect("outermost"); + .map_err(Error::from)? + .unwrap() // new error we can't do anything about. + .map_err(Error::from)?; Ok(()) } diff --git a/contracts/simple_dex/lib.rs b/contracts/simple_dex/lib.rs index 0e3cac0488..16ac3bc976 100644 --- a/contracts/simple_dex/lib.rs +++ b/contracts/simple_dex/lib.rs @@ -12,16 +12,12 @@ #[ink::contract] mod simple_dex { use access_control::{roles::Role, AccessControlRef, ACCESS_CONTROL_PUBKEY}; - use game_token::TRANSFER_FROM_SELECTOR; use ink::{ codegen::EmitEvent, - env::{ - call::{build_call, Call, ExecutionInput, FromAccountId, Selector}, - CallFlags, DefaultEnvironment, Error as InkEnvError, - }, + env::{call::FromAccountId, CallFlags, Error as InkEnvError}, prelude::{format, string::String, vec, vec::Vec}, reflect::ContractEventBase, - LangError, ToAccountId, + ToAccountId, }; use openbrush::{ contracts::{psp22::PSP22Ref, traits::errors::PSP22Error}, @@ -456,9 +452,9 @@ mod simple_dex { PSP22Ref::transfer_from_builder(&token, from, to, amount, vec![0x0]) .call_flags(CallFlags::default().set_allow_reentry(true)) .fire() - .expect("innermost") - .expect("middle") - .expect("outermost"); + .map_err(DexError::from)? + .unwrap() // new error we can't do anything about. + .map_err(DexError::from)?; Ok(()) } @@ -477,7 +473,7 @@ mod simple_dex { if self.access_control.has_role(account, role) { Ok(()) } else { - return Err(DexError::MissingRole(account, role)); + Err(DexError::MissingRole(account, role)) } } From dcc46ba0275bb79f8bdfb888cb0822dd5e24b60a Mon Sep 17 00:00:00 2001 From: deuszx Date: Fri, 27 Jan 2023 18:07:05 +0100 Subject: [PATCH 119/212] Import info log --- aleph-client/src/contract/mod.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/aleph-client/src/contract/mod.rs b/aleph-client/src/contract/mod.rs index b8c6bf4c9a..76636fa5ad 100644 --- a/aleph-client/src/contract/mod.rs +++ b/aleph-client/src/contract/mod.rs @@ -50,7 +50,7 @@ use std::fmt::{Debug, Formatter}; use anyhow::{anyhow, Context, Result}; use contract_transcode::ContractMessageTranscoder; pub use convertible_value::ConvertibleValue; -use log::error; +use log::{error, info}; use pallet_contracts_primitives::ContractExecResult; use primitives::Balance; From 89c167236830f09d883a8ad19dedd1593aabe0d3 Mon Sep 17 00:00:00 2001 From: Krzysztof Ziobro <86822080+krzysztofziobro@users.noreply.github.com> Date: Mon, 30 Jan 2023 13:50:55 +0100 Subject: [PATCH 120/212] A0-1718 remove old authentications (#881) --- finality-aleph/src/crypto.rs | 9 +- .../src/network/session/compatibility.rs | 260 +++--------------- .../src/network/session/discovery.rs | 148 ++-------- finality-aleph/src/network/session/handler.rs | 135 ++------- finality-aleph/src/network/session/manager.rs | 74 ++--- finality-aleph/src/network/session/mod.rs | 67 +---- finality-aleph/src/network/session/service.rs | 20 +- finality-aleph/src/network/tcp.rs | 68 ----- finality-aleph/src/testing/network.rs | 81 ++---- 9 files changed, 138 insertions(+), 724 deletions(-) diff --git a/finality-aleph/src/crypto.rs b/finality-aleph/src/crypto.rs index dd6a5d3b06..17070a6e82 100644 --- a/finality-aleph/src/crypto.rs +++ b/finality-aleph/src/crypto.rs @@ -2,7 +2,7 @@ use std::{convert::TryInto, sync::Arc}; use aleph_primitives::{AuthorityId, AuthoritySignature, KEY_TYPE}; use codec::{Decode, Encode}; -use sp_core::{crypto::KeyTypeId, ed25519::Signature as RawSignature}; +use sp_core::crypto::KeyTypeId; use sp_keystore::{CryptoStore, Error as KeystoreError}; use sp_runtime::RuntimeAppPublic; @@ -24,13 +24,6 @@ impl From for Signature { } } -// This is here just for a compatibility hack, remove when removing legacy/v1 authentications. -impl From<[u8; 64]> for Signature { - fn from(bytes: [u8; 64]) -> Signature { - Signature(RawSignature::from_raw(bytes).into()) - } -} - /// Ties an authority identification and a cryptography keystore together for use in /// signing that requires an authority. #[derive(Clone)] diff --git a/finality-aleph/src/network/session/compatibility.rs b/finality-aleph/src/network/session/compatibility.rs index 146341bb51..ec301a191a 100644 --- a/finality-aleph/src/network/session/compatibility.rs +++ b/finality-aleph/src/network/session/compatibility.rs @@ -7,10 +7,7 @@ use codec::{Decode, Encode, Error as CodecError, Input as CodecInput}; use log::warn; use crate::{ - network::{ - session::{AuthData, Authentication, LegacyAuthentication}, - AddressingInformation, Data, - }, + network::{session::Authentication, AddressingInformation}, SessionId, Version, }; @@ -19,129 +16,35 @@ type ByteCount = u16; // We allow sending authentications of size up to 16KiB, that should be enough. const MAX_AUTHENTICATION_SIZE: u16 = 16 * 1024; -/// The possible forms of peer authentications we can have, either only new, only legacy or both. -#[derive(Clone, Debug, PartialEq, Eq, Hash)] -pub enum PeerAuthentications> + Into>> { - NewOnly(Authentication), - LegacyOnly(LegacyAuthentication), - Both(Authentication, LegacyAuthentication), -} - -impl> + Into>> PeerAuthentications { - /// The session with which these authentications are associated. - pub fn session_id(&self) -> SessionId { - use PeerAuthentications::*; - match self { - NewOnly((auth_data, _)) | Both((auth_data, _), _) => auth_data.session(), - LegacyOnly((auth_data, _)) => auth_data.session(), - } - } - - /// Add an authentication, overriding one that might have been here previously. - pub fn add_authentication(&mut self, authentication: Authentication) { - use PeerAuthentications::*; - match self { - NewOnly(_) => *self = NewOnly(authentication), - LegacyOnly(legacy_authentication) | Both(_, legacy_authentication) => { - *self = Both(authentication, legacy_authentication.clone()) - } - } - } - - /// Add a legacy authentication, overriding one that might have been here previously. - pub fn add_legacy_authentication(&mut self, legacy_authentication: LegacyAuthentication) { - use PeerAuthentications::*; - match self { - LegacyOnly(_) => *self = LegacyOnly(legacy_authentication), - NewOnly(authentication) | Both(authentication, _) => { - *self = Both(authentication.clone(), legacy_authentication) - } - } - } - - /// The associated address, if any. Can be `None` only for legacy authentications. - pub fn maybe_address(&self) -> Option { - use PeerAuthentications::*; - match self { - NewOnly((auth_data, _)) | Both((auth_data, _), _) => Some(auth_data.address()), - LegacyOnly((legacy_auth_data, _)) => legacy_auth_data - .clone() - .try_into() - .map(|auth_data: AuthData| auth_data.address()) - .ok(), - } - } -} - -/// Legacy messages used for discovery and authentication. -#[derive(Clone, Debug, PartialEq, Eq, Hash, Encode, Decode)] -pub enum LegacyDiscoveryMessage { - AuthenticationBroadcast(LegacyAuthentication), - Authentication(LegacyAuthentication), -} - #[derive(Clone, Debug, PartialEq, Eq)] -pub enum VersionedAuthentication { +pub enum VersionedAuthentication { // Most likely from the future. Other(Version, Vec), - V1(LegacyDiscoveryMessage), V2(Authentication), } -impl> + Into>> - From> for Vec> -{ - fn from(authentications: PeerAuthentications) -> Self { - use LegacyDiscoveryMessage::*; - use PeerAuthentications::*; - use VersionedAuthentication::*; - match authentications { - NewOnly(authentication) => vec![V2(authentication)], - LegacyOnly(legacy_authentication) => { - vec![V1(AuthenticationBroadcast(legacy_authentication))] - } - Both(authentication, legacy_authentication) => vec![ - V2(authentication), - V1(AuthenticationBroadcast(legacy_authentication)), - ], - } +impl From> for Vec> { + fn from(authentication: Authentication) -> Self { + vec![VersionedAuthentication::V2(authentication)] } } -/// One of the possible messages we could have gotten as part of discovery. -/// Ignores whether the old authentication was a broadcast or not, we don't send the -/// non-broadcasts anymore anyway, and treating them as broadcasts doesn't break anything. -#[derive(Clone, Debug, PartialEq, Eq, Hash)] -pub enum DiscoveryMessage> + Into>> { - Authentication(Authentication), - LegacyAuthentication(LegacyAuthentication), -} +pub type DiscoveryMessage = Authentication; -impl> + Into>> DiscoveryMessage { +impl DiscoveryMessage { /// Session ID associated with this message. pub fn session_id(&self) -> SessionId { - use DiscoveryMessage::*; - match self { - Authentication((auth_data, _)) => auth_data.session(), - LegacyAuthentication((auth_data, _)) => auth_data.session(), - } + self.0.session() } } -impl> + Into>> - TryInto> for VersionedAuthentication -{ +impl TryInto> for VersionedAuthentication { type Error = Error; - fn try_into(self) -> Result, Self::Error> { - use LegacyDiscoveryMessage::*; + fn try_into(self) -> Result, Self::Error> { use VersionedAuthentication::*; match self { - V1(AuthenticationBroadcast(legacy_authentication)) - | V1(Authentication(legacy_authentication)) => Ok( - DiscoveryMessage::LegacyAuthentication(legacy_authentication), - ), - V2(authentication) => Ok(DiscoveryMessage::Authentication(authentication)), + V2(authentication) => Ok(authentication), Other(v, _) => Err(Error::UnknownVersion(v)), } } @@ -177,9 +80,7 @@ fn encode_with_version(version: Version, payload: &[u8]) -> Vec { result } -impl> + Into>> Encode - for VersionedAuthentication -{ +impl Encode for VersionedAuthentication { fn size_hint(&self) -> usize { use VersionedAuthentication::*; let version_size = size_of::(); @@ -188,7 +89,6 @@ impl> + Into>> Encode + byte_count_size + match self { Other(_, payload) => payload.len(), - V1(data) => data.size_hint(), V2(data) => data.size_hint(), } } @@ -197,21 +97,17 @@ impl> + Into>> Encode use VersionedAuthentication::*; match self { Other(version, payload) => encode_with_version(*version, payload), - V1(data) => encode_with_version(Version(1), &data.encode()), V2(data) => encode_with_version(Version(2), &data.encode()), } } } -impl> + Into>> Decode - for VersionedAuthentication -{ +impl Decode for VersionedAuthentication { fn decode(input: &mut I) -> Result { use VersionedAuthentication::*; let version = Version::decode(input)?; let num_bytes = ByteCount::decode(input)?; match version { - Version(1) => Ok(V1(LegacyDiscoveryMessage::decode(input)?)), Version(2) => Ok(V2(Authentication::decode(input)?)), _ => { if num_bytes > MAX_AUTHENTICATION_SIZE { @@ -253,11 +149,8 @@ mod test { crypto::AuthorityVerifier, network::{ clique::mock::MockAddressingInformation, - session::{ - compatibility::{PeerAuthentications, MAX_AUTHENTICATION_SIZE}, - LegacyDiscoveryMessage, SessionHandler, - }, - tcp::{testing::new_identity, LegacyTcpMultiaddress, SignedTcpAddressingInformation}, + session::{compatibility::MAX_AUTHENTICATION_SIZE, SessionHandler}, + tcp::{testing::new_identity, SignedTcpAddressingInformation}, NetworkIdentity, }, nodes::testing::new_pen, @@ -265,7 +158,7 @@ mod test { }; /// Session Handler used for generating versioned authentication in `raw_authentication_v1` - async fn handler() -> SessionHandler { + async fn handler() -> SessionHandler { let mnemonic = "ring cool spatial rookie need wing opinion pond fork garbage more april"; let external_addresses = vec![ String::from("addr1"), @@ -286,52 +179,14 @@ mod test { .await } - fn authentication_v1( - handler: SessionHandler, - ) -> VersionedAuthentication { - match handler - .authentication() - .expect("should have authentication") - { - PeerAuthentications::Both(_, authentication) => { - VersionedAuthentication::V1(LegacyDiscoveryMessage::Authentication(authentication)) - } - _ => panic!("handler doesn't have both authentications"), - } - } - fn authentication_v2( - handler: SessionHandler, - ) -> VersionedAuthentication { - match handler - .authentication() - .expect("should have authentication") - { - PeerAuthentications::Both(authentication, _) => { - VersionedAuthentication::V2(authentication) - } - _ => panic!("handler doesn't have both authentications"), - } - } - - /// Versioned authentication for authority with: - /// external_addresses: [String::from("addr1"), String::from("addr2"), String::from("addr3")] - /// derived from mnemonic "ring cool spatial rookie need wing opinion pond fork garbage more april" - /// for node index 21 and session id 37 - /// encoded at version of Aleph Node from r-8.0 - fn raw_authentication_v1() -> Vec { - vec![ - 1, 0, 192, 0, 1, 12, 50, 40, 192, 239, 72, 72, 119, 156, 76, 37, 212, 220, 76, 165, 39, - 73, 20, 89, 77, 66, 171, 174, 61, 31, 254, 137, 186, 1, 7, 141, 187, 219, 20, 97, 100, - 100, 114, 49, 50, 40, 192, 239, 72, 72, 119, 156, 76, 37, 212, 220, 76, 165, 39, 73, - 20, 89, 77, 66, 171, 174, 61, 31, 254, 137, 186, 1, 7, 141, 187, 219, 20, 97, 100, 100, - 114, 50, 50, 40, 192, 239, 72, 72, 119, 156, 76, 37, 212, 220, 76, 165, 39, 73, 20, 89, - 77, 66, 171, 174, 61, 31, 254, 137, 186, 1, 7, 141, 187, 219, 20, 97, 100, 100, 114, - 51, 21, 0, 0, 0, 0, 0, 0, 0, 37, 0, 0, 0, 166, 39, 166, 74, 57, 190, 80, 240, 169, 85, - 240, 126, 250, 119, 54, 24, 244, 91, 199, 127, 32, 78, 52, 98, 159, 182, 227, 170, 251, - 49, 47, 89, 13, 171, 79, 190, 220, 22, 65, 254, 25, 115, 232, 103, 177, 252, 161, 222, - 74, 18, 216, 213, 105, 220, 223, 247, 221, 85, 31, 146, 177, 96, 254, 9, - ] + handler: SessionHandler, + ) -> VersionedAuthentication { + VersionedAuthentication::V2( + handler + .authentication() + .expect("should have authentication"), + ) } /// Versioned authentication for authority with: @@ -355,37 +210,6 @@ mod test { ] } - #[tokio::test] - async fn correcly_encodes_v1_to_bytes() { - let handler = handler().await; - let raw = raw_authentication_v1(); - let authentication_v1 = authentication_v1(handler); - - assert_eq!(authentication_v1.encode(), raw); - } - - #[tokio::test] - async fn correcly_decodes_v1_from_bytes() { - let handler = handler().await; - let raw = raw_authentication_v1(); - let authentication_v1 = authentication_v1(handler); - - let decoded = VersionedAuthentication::decode(&mut raw.as_slice()); - - assert_eq!(decoded, Ok(authentication_v1)); - } - - #[tokio::test] - async fn correctly_decodes_v1_roundtrip() { - let handler = handler().await; - let authentication_v1 = authentication_v1(handler); - - let encoded = authentication_v1.encode(); - let decoded = VersionedAuthentication::decode(&mut encoded.as_slice()); - - assert_eq!(decoded, Ok(authentication_v1)) - } - #[tokio::test] async fn correcly_encodes_v2_to_bytes() { let handler = handler().await; @@ -420,10 +244,7 @@ mod test { #[tokio::test] async fn correctly_decodes_other() { let other = - VersionedAuthentication::::Other( - Version(42), - vec![21, 37], - ); + VersionedAuthentication::::Other(Version(42), vec![21, 37]); let encoded = other.encode(); let decoded = VersionedAuthentication::decode(&mut encoded.as_slice()); assert_eq!(decoded, Ok(other)); @@ -432,15 +253,13 @@ mod test { other_big.append(&mut (MAX_AUTHENTICATION_SIZE).encode()); other_big.append(&mut vec![0u8; (MAX_AUTHENTICATION_SIZE).into()]); let decoded = - VersionedAuthentication::::decode( - &mut other_big.as_slice(), - ); + VersionedAuthentication::::decode(&mut other_big.as_slice()); assert_eq!( decoded, - Ok(VersionedAuthentication::< - MockAddressingInformation, - MockAddressingInformation, - >::Other(Version(42), other_big[4..].to_vec())) + Ok(VersionedAuthentication::::Other( + Version(42), + other_big[4..].to_vec() + )) ); } @@ -451,21 +270,16 @@ mod test { other.append(&mut size.encode()); other.append(&mut vec![0u8; size.into()]); let decoded = - VersionedAuthentication::::decode( - &mut other.as_slice(), - ); + VersionedAuthentication::::decode(&mut other.as_slice()); assert!(decoded.is_err()); - let other = - VersionedAuthentication::::Other( - Version(42), - vec![0u8; size.into()], - ); + let other = VersionedAuthentication::::Other( + Version(42), + vec![0u8; size.into()], + ); let encoded = other.encode(); let decoded = - VersionedAuthentication::::decode( - &mut encoded.as_slice(), - ); + VersionedAuthentication::::decode(&mut encoded.as_slice()); assert!(decoded.is_err()); } @@ -475,9 +289,7 @@ mod test { other.append(&mut MAX_AUTHENTICATION_SIZE.encode()); other.append(&mut vec![21, 37]); let decoded = - VersionedAuthentication::::decode( - &mut other.as_slice(), - ); + VersionedAuthentication::::decode(&mut other.as_slice()); assert!(decoded.is_err()); } } diff --git a/finality-aleph/src/network/session/discovery.rs b/finality-aleph/src/network/session/discovery.rs index e64e1a030c..752279e88b 100644 --- a/finality-aleph/src/network/session/discovery.rs +++ b/finality-aleph/src/network/session/discovery.rs @@ -1,6 +1,5 @@ use std::{ collections::HashMap, - fmt::Debug, marker::PhantomData, time::{Duration, Instant}, }; @@ -9,30 +8,25 @@ use log::{debug, info, trace}; use crate::{ network::{ - session::{ - compatibility::PeerAuthentications, Authentication, LegacyAuthentication, - SessionHandler, - }, - AddressingInformation, Data, + session::{Authentication, SessionHandler}, + AddressingInformation, }, NodeIndex, }; /// Handles creating and rebroadcasting discovery messages. -pub struct Discovery> + Into>> { +pub struct Discovery { cooldown: Duration, last_broadcast: HashMap, - last_legacy_broadcast: HashMap, - _phantom: PhantomData<(M, A)>, + _phantom: PhantomData, } -impl> + Into>> Discovery { +impl Discovery { /// Create a new discovery handler with the given response/broadcast cooldown. pub fn new(cooldown: Duration) -> Self { Discovery { cooldown, last_broadcast: HashMap::new(), - last_legacy_broadcast: HashMap::new(), _phantom: PhantomData, } } @@ -40,8 +34,8 @@ impl> + Into>> /// Returns a message that should be sent as part of authority discovery at this moment. pub fn discover_authorities( &mut self, - handler: &SessionHandler, - ) -> Option> { + handler: &SessionHandler, + ) -> Option> { let authentication = match handler.authentication() { Some(authentication) => authentication, None => return None, @@ -60,21 +54,14 @@ impl> + Into>> } } - fn should_legacy_rebroadcast(&self, node_id: &NodeIndex) -> bool { - match self.last_legacy_broadcast.get(node_id) { - Some(instant) => Instant::now() > *instant + self.cooldown, - None => true, - } - } - /// Processes the provided authentication and returns any new address we should /// be connected to if we want to stay connected to the committee and an optional /// message that we should send as a result of it. pub fn handle_authentication( &mut self, authentication: Authentication, - handler: &mut SessionHandler, - ) -> (Option, Option>) { + handler: &mut SessionHandler, + ) -> (Option, Option>) { debug!(target: "aleph-network", "Handling broadcast with authentication {:?}.", authentication); let address = match handler.handle_authentication(authentication.clone()) { Some(address) => Some(address), @@ -86,32 +73,7 @@ impl> + Into>> } trace!(target: "aleph-network", "Rebroadcasting {:?}.", authentication); self.last_broadcast.insert(node_id, Instant::now()); - (address, Some(PeerAuthentications::NewOnly(authentication))) - } - - /// Processes the legacy authentication and returns any new address we should - /// be connected to if we want to stay connected to the committee and an optional - /// message that we should send as a result of it. - pub fn handle_legacy_authentication( - &mut self, - legacy_authentication: LegacyAuthentication, - handler: &mut SessionHandler, - ) -> (Option, Option>) { - debug!(target: "aleph-network", "Handling broadcast with legacy authentication {:?}.", legacy_authentication); - let address = match handler.handle_legacy_authentication(legacy_authentication.clone()) { - Some(address) => Some(address), - None => return (None, None), - }; - let node_id = legacy_authentication.0.creator(); - if !self.should_legacy_rebroadcast(&node_id) { - return (address, None); - } - trace!(target: "aleph-network", "Rebroadcasting {:?}.", legacy_authentication); - self.last_legacy_broadcast.insert(node_id, Instant::now()); - ( - address, - Some(PeerAuthentications::LegacyOnly(legacy_authentication)), - ) + (address, Some(authentication)) } } @@ -124,10 +86,7 @@ mod tests { network::{ clique::mock::{random_address, MockAddressingInformation}, mock::crypto_basics, - session::{ - authentication, compatibility::PeerAuthentications, legacy_authentication, - SessionHandler, - }, + session::{authentication, Authentication, SessionHandler}, }, SessionId, }; @@ -142,9 +101,9 @@ mod tests { async fn build_number( num_nodes: u8, ) -> ( - Discovery, - Vec>, - SessionHandler, + Discovery, + Vec>, + SessionHandler, ) { let crypto_basics = crypto_basics(num_nodes.into()).await; let mut handlers = Vec::new(); @@ -174,9 +133,9 @@ mod tests { } async fn build() -> ( - Discovery, - Vec>, - SessionHandler, + Discovery, + Vec>, + SessionHandler, ) { build_number(NUM_NODES).await } @@ -211,18 +170,7 @@ mod tests { let (address, command) = discovery.handle_authentication(authentication.clone(), handler); assert_eq!(address, Some(authentication.0.address())); assert!(matches!(command, Some( - PeerAuthentications::NewOnly(rebroadcast_authentication), - ) if rebroadcast_authentication == authentication)); - } - - #[tokio::test] - async fn legacy_rebroadcasts_and_accepts_addresses() { - let (mut discovery, mut handlers, _) = build().await; - let authentication = legacy_authentication(&handlers[1]); - let handler = &mut handlers[0]; - let (_, command) = discovery.handle_legacy_authentication(authentication.clone(), handler); - assert!(matches!(command, Some( - PeerAuthentications::LegacyOnly(rebroadcast_authentication), + rebroadcast_authentication, ) if rebroadcast_authentication == authentication)); } @@ -234,45 +182,22 @@ mod tests { discovery.handle_authentication(authentication.clone(), &mut non_validator); assert_eq!(address, Some(authentication.0.address())); assert!(matches!(command, Some( - PeerAuthentications::NewOnly(rebroadcast_authentication), - ) if rebroadcast_authentication == authentication)); - } - - #[tokio::test] - async fn legacy_non_validator_rebroadcasts() { - let (mut discovery, handlers, mut non_validator) = build().await; - let authentication = legacy_authentication(&handlers[1]); - let (_, command) = - discovery.handle_legacy_authentication(authentication.clone(), &mut non_validator); - assert!(matches!(command, Some( - PeerAuthentications::LegacyOnly(rebroadcast_authentication), + rebroadcast_authentication, ) if rebroadcast_authentication == authentication)); } #[tokio::test] async fn does_not_rebroadcast_wrong_authentications() { let (mut discovery, mut handlers, _) = build().await; - let (auth_data, _) = authentication(&handlers[1]); - let (_, signature) = authentication(&handlers[2]); - let authentication = (auth_data, signature); + let Authentication(auth_data, _) = authentication(&handlers[1]); + let Authentication(_, signature) = authentication(&handlers[2]); + let authentication = Authentication(auth_data, signature); let handler = &mut handlers[0]; let (address, command) = discovery.handle_authentication(authentication, handler); assert!(address.is_none()); assert!(command.is_none()); } - #[tokio::test] - async fn legacy_does_not_rebroadcast_wrong_authentications() { - let (mut discovery, mut handlers, _) = build().await; - let (auth_data, _) = legacy_authentication(&handlers[1]); - let (_, signature) = legacy_authentication(&handlers[2]); - let authentication = (auth_data, signature); - let handler = &mut handlers[0]; - let (address, command) = discovery.handle_legacy_authentication(authentication, handler); - assert!(address.is_none()); - assert!(command.is_none()); - } - #[tokio::test] async fn rebroadcasts_after_cooldown() { let (mut discovery, mut handlers, _) = build().await; @@ -283,34 +208,7 @@ mod tests { let (address, command) = discovery.handle_authentication(authentication.clone(), handler); assert_eq!(address, Some(authentication.0.address())); assert!(matches!(command, Some( - PeerAuthentications::NewOnly(rebroadcast_authentication), - ) if rebroadcast_authentication == authentication)); - } - - #[tokio::test] - async fn legacy_rebroadcasts_after_cooldown() { - let (mut discovery, mut handlers, _) = build().await; - let authentication = legacy_authentication(&handlers[1]); - let handler = &mut handlers[0]; - discovery.handle_legacy_authentication(authentication.clone(), handler); - sleep(Duration::from_millis(MS_COOLDOWN + 5)); - let (_, command) = discovery.handle_legacy_authentication(authentication.clone(), handler); - assert!(matches!(command, Some( - PeerAuthentications::LegacyOnly(rebroadcast_authentication), + rebroadcast_authentication, ) if rebroadcast_authentication == authentication)); } - - #[tokio::test] - async fn rebroadcasts_legacy_immediately() { - let (mut discovery, mut handlers, _) = build().await; - let authentication = authentication(&handlers[1]); - let legacy_authentication = legacy_authentication(&handlers[1]); - let handler = &mut handlers[0]; - discovery.handle_authentication(authentication, handler); - let (_, command) = - discovery.handle_legacy_authentication(legacy_authentication.clone(), handler); - assert!(matches!(command, Some( - PeerAuthentications::LegacyOnly(rebroadcast_authentication), - ) if rebroadcast_authentication == legacy_authentication)); - } } diff --git a/finality-aleph/src/network/session/handler.rs b/finality-aleph/src/network/session/handler.rs index 797fe073d6..0ce4d8828e 100644 --- a/finality-aleph/src/network/session/handler.rs +++ b/finality-aleph/src/network/session/handler.rs @@ -6,22 +6,19 @@ use crate::{ abft::NodeCount, crypto::{AuthorityPen, AuthorityVerifier}, network::{ - session::{ - compatibility::PeerAuthentications, AuthData, Authentication, LegacyAuthData, - LegacyAuthentication, - }, - AddressingInformation, Data, + session::{AuthData, Authentication}, + AddressingInformation, }, NodeIndex, SessionId, }; #[derive(Debug)] -pub enum SessionInfo> + Into>> { +pub enum SessionInfo { SessionId(SessionId), - OwnAuthentication(PeerAuthentications), + OwnAuthentication(Authentication), } -impl> + Into>> SessionInfo { +impl SessionInfo { fn session_id(&self) -> SessionId { match self { SessionInfo::SessionId(session_id) => *session_id, @@ -34,10 +31,10 @@ impl> + Into>> Session /// A struct for handling authentications for a given session and maintaining /// mappings between PeerIds and NodeIndexes within that session. -pub struct Handler> + Into>> { +pub struct Handler { peers_by_node: HashMap, - authentications: HashMap>, - session_info: SessionInfo, + authentications: HashMap>, + session_info: SessionInfo, own_peer_id: A::PeerId, authority_index_and_pen: Option<(NodeIndex, AuthorityPen)>, authority_verifier: AuthorityVerifier, @@ -50,14 +47,11 @@ pub enum HandlerError { TypeChange, } -async fn construct_session_info< - M: Data, - A: AddressingInformation + TryFrom> + Into>, ->( +async fn construct_session_info( authority_index_and_pen: &Option<(NodeIndex, AuthorityPen)>, session_id: SessionId, address: A, -) -> (SessionInfo, A::PeerId) { +) -> (SessionInfo, A::PeerId) { let peer_id = address.peer_id(); match authority_index_and_pen { Some((node_index, authority_pen)) => { @@ -66,20 +60,15 @@ async fn construct_session_info< node_id: *node_index, session_id, }; - let legacy_auth_data: LegacyAuthData = auth_data.clone().into(); let signature = authority_pen.sign(&auth_data.encode()).await; - let legacy_signature = authority_pen.sign(&legacy_auth_data.encode()).await; - let authentications = PeerAuthentications::Both( - (auth_data, signature), - (legacy_auth_data, legacy_signature), - ); + let authentications = Authentication(auth_data, signature); (SessionInfo::OwnAuthentication(authentications), peer_id) } None => (SessionInfo::SessionId(session_id), peer_id), } } -impl> + Into>> Handler { +impl Handler { /// Creates a new session handler. It will be a validator session handler if the authority /// index and pen are provided. pub async fn new( @@ -87,7 +76,7 @@ impl> + Into>> Handler authority_verifier: AuthorityVerifier, session_id: SessionId, address: A, - ) -> Handler { + ) -> Handler { let (session_info, own_peer_id) = construct_session_info(&authority_index_and_pen, session_id, address).await; Handler { @@ -120,7 +109,7 @@ impl> + Into>> Handler } /// Returns the authentication for the node and session this handler is responsible for. - pub fn authentication(&self) -> Option> { + pub fn authentication(&self) -> Option> { match &self.session_info { SessionInfo::SessionId(_) => None, SessionInfo::OwnAuthentication(own_authentications) => { @@ -149,7 +138,7 @@ impl> + Into>> Handler if authentication.0.session() != self.session_id() { return None; } - let (auth_data, signature) = &authentication; + let Authentication(auth_data, signature) = &authentication; let address = auth_data.address(); if !address.verify() { @@ -167,50 +156,7 @@ impl> + Into>> Handler } self.peers_by_node .insert(auth_data.creator(), peer_id.clone()); - self.authentications - .entry(peer_id) - .and_modify(|authentications| { - authentications.add_authentication(authentication.clone()) - }) - .or_insert(PeerAuthentications::NewOnly(authentication)); - Some(address) - } - - /// Verifies the legacy authentication, uses it to update mappings, and returns the address we should stay connected to if any. - pub fn handle_legacy_authentication( - &mut self, - legacy_authentication: LegacyAuthentication, - ) -> Option { - if legacy_authentication.0.session() != self.session_id() { - return None; - } - let (legacy_auth_data, signature) = &legacy_authentication; - - if !self.authority_verifier.verify( - &legacy_auth_data.encode(), - signature, - legacy_auth_data.creator(), - ) { - return None; - } - - let maybe_auth_data: Option> = legacy_auth_data.clone().try_into().ok(); - let address = match maybe_auth_data { - Some(auth_data) => auth_data.address(), - None => return None, - }; - let peer_id = address.peer_id(); - if peer_id == self.own_peer_id { - return None; - } - self.peers_by_node - .insert(legacy_auth_data.creator(), peer_id.clone()); - self.authentications - .entry(peer_id) - .and_modify(|authentications| { - authentications.add_legacy_authentication(legacy_authentication.clone()) - }) - .or_insert(PeerAuthentications::LegacyOnly(legacy_authentication)); + self.authentications.insert(peer_id, authentication); Some(address) } @@ -249,21 +195,13 @@ impl> + Into>> Handler ) .await; - use PeerAuthentications::*; for (_, authentication) in authentications { - match authentication { - NewOnly(auth) => self.handle_authentication(auth), - LegacyOnly(legacy_auth) => self.handle_legacy_authentication(legacy_auth), - Both(auth, legacy_auth) => { - self.handle_legacy_authentication(legacy_auth); - self.handle_authentication(auth) - } - }; + self.handle_authentication(authentication); } Ok(self .authentications .values() - .flat_map(|authentication| authentication.maybe_address()) + .map(|authentication| authentication.0.address()) .collect()) } } @@ -275,34 +213,18 @@ pub mod tests { network::{ clique::mock::{random_address, random_invalid_address, MockAddressingInformation}, mock::crypto_basics, - session::{compatibility::PeerAuthentications, Authentication, LegacyAuthentication}, + session::Authentication, AddressingInformation, }, NodeIndex, SessionId, }; - pub fn legacy_authentication( - handler: &Handler, - ) -> LegacyAuthentication { - match handler - .authentication() - .expect("this is a validator handler") - { - PeerAuthentications::Both(_, authentication) => authentication, - _ => panic!("handler doesn't have both authentications"), - } - } - pub fn authentication( - handler: &Handler, + handler: &Handler, ) -> Authentication { - match handler + handler .authentication() .expect("this is a validator handler") - { - PeerAuthentications::Both(authentication, _) => authentication, - _ => panic!("handler doesn't have both authentications"), - } } const NUM_NODES: usize = 7; @@ -431,9 +353,6 @@ pub mod tests { assert!(handler0 .handle_authentication(authentication(&handler1)) .is_some()); - assert!(handler0 - .handle_legacy_authentication(legacy_authentication(&handler1)) - .is_some()); let missing_nodes = handler0.missing_nodes(); let expected_missing: Vec<_> = (2..NUM_NODES).map(NodeIndex).collect(); assert_eq!(missing_nodes, expected_missing); @@ -462,9 +381,6 @@ pub mod tests { assert!(handler0 .handle_authentication(authentication(&handler1)) .is_some()); - assert!(handler0 - .handle_legacy_authentication(legacy_authentication(&handler1)) - .is_some()); let missing_nodes = handler0.missing_nodes(); let mut expected_missing: Vec<_> = (0..NUM_NODES).map(NodeIndex).collect(); expected_missing.remove(1); @@ -543,9 +459,6 @@ pub mod tests { assert!(handler0 .handle_authentication(authentication(&handler1)) .is_none()); - assert!(handler0 - .handle_legacy_authentication(legacy_authentication(&handler1)) - .is_none()); let missing_nodes = handler0.missing_nodes(); let expected_missing: Vec<_> = (1..NUM_NODES).map(NodeIndex).collect(); assert_eq!(missing_nodes, expected_missing); @@ -564,9 +477,6 @@ pub mod tests { assert!(handler0 .handle_authentication(authentication(&handler0)) .is_none()); - assert!(handler0 - .handle_legacy_authentication(legacy_authentication(&handler0)) - .is_none()); let missing_nodes = handler0.missing_nodes(); let expected_missing: Vec<_> = (1..NUM_NODES).map(NodeIndex).collect(); assert_eq!(missing_nodes, expected_missing); @@ -592,9 +502,6 @@ pub mod tests { assert!(handler0 .handle_authentication(authentication(&handler1)) .is_some()); - assert!(handler0 - .handle_legacy_authentication(legacy_authentication(&handler1)) - .is_some()); let new_crypto_basics = crypto_basics(NUM_NODES).await; handler0 .update( diff --git a/finality-aleph/src/network/session/manager.rs b/finality-aleph/src/network/session/manager.rs index 6feff15c67..e9483c7f69 100644 --- a/finality-aleph/src/network/session/manager.rs +++ b/finality-aleph/src/network/session/manager.rs @@ -12,8 +12,8 @@ use crate::{ crypto::{AuthorityPen, AuthorityVerifier}, network::{ session::{ - compatibility::PeerAuthentications, data::DataInSession, Connections, Discovery, - DiscoveryMessage, SessionHandler, SessionHandlerError, + data::DataInSession, Authentication, Connections, Discovery, DiscoveryMessage, + SessionHandler, SessionHandlerError, }, AddressingInformation, Data, NetworkIdentity, PeerId, }, @@ -30,9 +30,9 @@ pub enum ConnectionCommand { // In practice D: Data and P: PeerId, but we cannot require that in type aliases. pub type AddressedData = (D, P); -struct Session> + Into>> { - handler: SessionHandler, - discovery: Discovery, +struct Session { + handler: SessionHandler, + discovery: Discovery, data_for_user: Option>, } @@ -55,12 +55,12 @@ pub struct PreNonvalidatorSession { /// Actions that the manager wants to take as the result of some information. Might contain a /// command for connecting to or disconnecting from some peers or a message to broadcast for /// discovery purposes. -pub struct ManagerActions> + Into>> { +pub struct ManagerActions { pub maybe_command: Option>, - pub maybe_message: Option>, + pub maybe_message: Option>, } -impl> + Into>> ManagerActions { +impl ManagerActions { fn noop() -> Self { ManagerActions { maybe_command: None, @@ -78,13 +78,10 @@ impl> + Into>> Manager /// 1. In-session messages are forwarded to the user. /// 2. Authentication messages forwarded to session handlers. /// 4. Running periodic maintenance, mostly related to node discovery. -pub struct Manager -where - NI::AddressingInformation: TryFrom> + Into>, -{ +pub struct Manager { network_identity: NI, connections: Connections, - sessions: HashMap>, + sessions: HashMap>, discovery_cooldown: Duration, } @@ -95,10 +92,7 @@ pub enum SendError { NoSession, } -impl Manager -where - NI::AddressingInformation: TryFrom> + Into>, -{ +impl Manager { /// Create a new connection manager. pub fn new(network_identity: NI, discovery_cooldown: Duration) -> Self { Manager { @@ -122,7 +116,7 @@ where pub fn finish_session( &mut self, session_id: SessionId, - ) -> ManagerActions { + ) -> ManagerActions { self.sessions.remove(&session_id); ManagerActions { maybe_command: Self::delete_reserved(self.connections.remove_session(session_id)), @@ -133,7 +127,7 @@ where fn discover_authorities( &mut self, session_id: &SessionId, - ) -> Option> { + ) -> Option> { self.sessions.get_mut(session_id).and_then( |Session { handler, discovery, .. @@ -142,7 +136,7 @@ where } /// Returns all the network messages that should be sent as part of discovery at this moment. - pub fn discovery(&mut self) -> Vec> { + pub fn discovery(&mut self) -> Vec> { let sessions: Vec<_> = self.sessions.keys().cloned().collect(); sessions .iter() @@ -155,7 +149,7 @@ where pre_session: PreValidatorSession, address: NI::AddressingInformation, ) -> ( - Option>, + Option>, mpsc::UnboundedReceiver, ) { let PreValidatorSession { @@ -186,7 +180,7 @@ where pre_session: PreValidatorSession, ) -> Result< ( - ManagerActions, + ManagerActions, mpsc::UnboundedReceiver, ), SessionHandlerError, @@ -263,7 +257,7 @@ where pub async fn update_nonvalidator_session( &mut self, pre_session: PreNonvalidatorSession, - ) -> Result, SessionHandlerError> { + ) -> Result, SessionHandlerError> { let address = self.network_identity.identity(); match self.sessions.get_mut(&pre_session.session_id) { Some(session) => { @@ -314,22 +308,15 @@ where /// Returns actions the manager wants to take. pub fn on_discovery_message( &mut self, - message: DiscoveryMessage, - ) -> ManagerActions { - use DiscoveryMessage::*; + message: DiscoveryMessage, + ) -> ManagerActions { let session_id = message.session_id(); match self.sessions.get_mut(&session_id) { Some(Session { handler, discovery, .. }) => { - let (maybe_address, maybe_message) = match message { - Authentication(authentication) => { - discovery.handle_authentication(authentication, handler) - } - LegacyAuthentication(legacy_authentication) => { - discovery.handle_legacy_authentication(legacy_authentication, handler) - } - }; + let (maybe_address, maybe_message) = + discovery.handle_authentication(message, handler); let maybe_command = match (maybe_address, handler.is_validator()) { (Some(address), true) => { debug!(target: "aleph-network", "Adding addresses for session {:?} to reserved: {:?}", session_id, address); @@ -458,7 +445,7 @@ mod tests { network::{ clique::mock::{random_address, MockAddressingInformation}, mock::crypto_basics, - session::{compatibility::PeerAuthentications, data::DataInSession, DiscoveryMessage}, + session::data::DataInSession, }, Recipient, SessionId, }; @@ -466,7 +453,7 @@ mod tests { const NUM_NODES: usize = 7; const DISCOVERY_PERIOD: Duration = Duration::from_secs(60); - fn build() -> Manager { + fn build() -> Manager { Manager::new(random_address(), DISCOVERY_PERIOD) } @@ -584,13 +571,7 @@ mod tests { .await .unwrap(); let message = maybe_message.expect("there should be a discovery message"); - let (address, message) = match message { - PeerAuthentications::Both(authentication, _) => ( - authentication.0.address(), - DiscoveryMessage::Authentication(authentication), - ), - message => panic!("Expected both authentications, got {:?}", message), - }; + let (address, message) = (message.0.address(), message); let ManagerActions { maybe_command, maybe_message, @@ -630,12 +611,7 @@ mod tests { }) .await .unwrap(); - let message = match maybe_message.expect("there should be a discovery message") { - PeerAuthentications::Both(authentication, _) => { - DiscoveryMessage::Authentication(authentication) - } - message => panic!("Expected both authentications, got {:?}", message), - }; + let message = maybe_message.expect("there should be a discovery message"); manager.on_discovery_message(message); let messages = manager.on_user_message(2137, session_id, Recipient::Everyone); assert_eq!(messages.len(), 1); diff --git a/finality-aleph/src/network/session/mod.rs b/finality-aleph/src/network/session/mod.rs index a3b7ed75ad..1101690f51 100644 --- a/finality-aleph/src/network/session/mod.rs +++ b/finality-aleph/src/network/session/mod.rs @@ -24,37 +24,16 @@ mod handler; mod manager; mod service; -pub use compatibility::{ - DiscoveryMessage, LegacyDiscoveryMessage, PeerAuthentications, VersionedAuthentication, -}; +pub use compatibility::{DiscoveryMessage, VersionedAuthentication}; use connections::Connections; #[cfg(test)] pub use data::DataInSession; pub use discovery::Discovery; #[cfg(test)] -pub use handler::tests::{authentication, legacy_authentication}; +pub use handler::tests::authentication; pub use handler::{Handler as SessionHandler, HandlerError as SessionHandlerError}; pub use service::{Config as ConnectionManagerConfig, ManagerError, Service as ConnectionManager}; -/// Data validators used to use to authenticate themselves for a single session -/// and disseminate their addresses. -#[derive(Clone, Debug, PartialEq, Eq, Hash, Encode, Decode)] -pub struct LegacyAuthData { - addresses: Vec, - node_id: NodeIndex, - session_id: SessionId, -} - -impl LegacyAuthData { - pub fn session(&self) -> SessionId { - self.session_id - } - - pub fn creator(&self) -> NodeIndex { - self.node_id - } -} - /// Data validators use to authenticate themselves for a single session /// and disseminate their addresses. #[derive(Clone, Debug, PartialEq, Eq, Hash, Encode, Decode)] @@ -78,47 +57,9 @@ impl AuthData { } } -impl>> From> for LegacyAuthData { - fn from(auth_data: AuthData) -> Self { - let AuthData { - address, - node_id, - session_id, - } = auth_data; - let addresses = address.into(); - LegacyAuthData { - addresses, - node_id, - session_id, - } - } -} - -impl>> TryFrom> - for AuthData -{ - type Error = (); - - fn try_from(legacy_auth_data: LegacyAuthData) -> Result { - let LegacyAuthData { - addresses, - node_id, - session_id, - } = legacy_auth_data; - let address = addresses.try_into().map_err(|_| ())?; - Ok(AuthData { - address, - node_id, - session_id, - }) - } -} - -/// A full legacy authentication, consisting of a signed LegacyAuthData. -pub type LegacyAuthentication = (LegacyAuthData, Signature); - /// A full authentication, consisting of a signed AuthData. -pub type Authentication = (AuthData, Signature); +#[derive(Clone, Decode, Encode, Debug, Eq, PartialEq, Hash)] +pub struct Authentication(AuthData, Signature); /// Sends data within a single session. #[derive(Clone)] diff --git a/finality-aleph/src/network/session/service.rs b/finality-aleph/src/network/session/service.rs index 8225260e2f..16efd3b017 100644 --- a/finality-aleph/src/network/session/service.rs +++ b/finality-aleph/src/network/session/service.rs @@ -173,15 +173,13 @@ impl Config { /// The connection manager service. pub struct Service< D: Data, - M: Data + Debug, NI: NetworkIdentity, CN: CliqueNetwork>, - GN: GossipNetwork>, + GN: GossipNetwork>, > where NI::PeerId: PublicKey, - NI::AddressingInformation: TryFrom> + Into>, { - manager: Manager, + manager: Manager, commands_from_user: mpsc::UnboundedReceiver>, messages_from_user: mpsc::UnboundedReceiver<(D, SessionId, Recipient)>, validator_network: CN, @@ -213,14 +211,12 @@ impl Display for Error { impl< D: Data, - M: Data + Debug, NI: NetworkIdentity, CN: CliqueNetwork>, - GN: GossipNetwork>, - > Service + GN: GossipNetwork>, + > Service where NI::PeerId: PublicKey, - NI::AddressingInformation: TryFrom> + Into>, { pub fn new( network_identity: NI, @@ -228,7 +224,7 @@ where gossip_network: GN, config: Config, ) -> ( - Service, + Service, impl SessionManager, ) { let Config { @@ -262,7 +258,7 @@ where fn send_authentications( &mut self, - to_send: Vec>, + to_send: Vec>, ) -> Result<(), Error> { for auth in to_send { self.gossip_network @@ -296,7 +292,7 @@ where ManagerActions { maybe_command, maybe_message, - }: ManagerActions, + }: ManagerActions, ) -> Result<(), Error> { if let Some(command) = maybe_command { self.handle_connection_command(command); @@ -312,7 +308,7 @@ where async fn handle_command( &mut self, command: SessionCommand, - ) -> Result, SessionHandlerError> { + ) -> Result, SessionHandlerError> { use SessionCommand::*; match command { StartValidator(session_id, verifier, node_id, pen, result_for_user) => { diff --git a/finality-aleph/src/network/tcp.rs b/finality-aleph/src/network/tcp.rs index 98346ff3ed..526400e2ff 100644 --- a/finality-aleph/src/network/tcp.rs +++ b/finality-aleph/src/network/tcp.rs @@ -96,13 +96,6 @@ impl SecretKey for AuthorityPen { } } -/// A representation of a single TCP address with an associated peer ID. -#[derive(Debug, Hash, Encode, Decode, Clone, PartialEq, Eq)] -pub struct LegacyTcpMultiaddress { - peer_id: AuthorityId, - address: String, -} - /// What can go wrong when handling addressing information. #[derive(Debug, Hash, Clone, PartialEq, Eq)] pub enum AddressingInformationError { @@ -118,44 +111,6 @@ struct TcpAddressingInformation { other_addresses: Vec, } -impl TryFrom> for TcpAddressingInformation { - type Error = AddressingInformationError; - - fn try_from(legacy: Vec) -> Result { - let mut legacy = legacy.into_iter(); - let (peer_id, primary_address) = match legacy.next() { - Some(LegacyTcpMultiaddress { peer_id, address }) => (peer_id, address), - None => return Err(AddressingInformationError::NoAddress), - }; - let other_addresses = legacy - .filter(|la| la.peer_id == peer_id) - .map(|la| la.address) - .collect(); - Ok(TcpAddressingInformation { - peer_id, - primary_address, - other_addresses, - }) - } -} - -impl From for Vec { - fn from(address: TcpAddressingInformation) -> Self { - let TcpAddressingInformation { - peer_id, - primary_address, - other_addresses, - } = address; - iter::once(primary_address) - .chain(other_addresses) - .map(|address| LegacyTcpMultiaddress { - peer_id: peer_id.clone(), - address, - }) - .collect() - } -} - impl TcpAddressingInformation { fn new( addresses: Vec, @@ -185,29 +140,6 @@ pub struct SignedTcpAddressingInformation { signature: Signature, } -impl TryFrom> for SignedTcpAddressingInformation { - type Error = AddressingInformationError; - - fn try_from(legacy: Vec) -> Result { - let addressing_information = legacy.try_into()?; - // This will never get validated, but that is alright and working as intended. - // We temporarily accept legacy messages and there is no way to verify them completely, - // since they were unsigned previously. In the next update we will remove this, and the - // problem will be completely gone. - let signature = [0; 64].into(); - Ok(SignedTcpAddressingInformation { - addressing_information, - signature, - }) - } -} - -impl From for Vec { - fn from(address: SignedTcpAddressingInformation) -> Self { - address.addressing_information.into() - } -} - impl AddressingInformation for SignedTcpAddressingInformation { type PeerId = AuthorityId; diff --git a/finality-aleph/src/testing/network.rs b/finality-aleph/src/testing/network.rs index 78cbbb009e..1e5fe7e774 100644 --- a/finality-aleph/src/testing/network.rs +++ b/finality-aleph/src/testing/network.rs @@ -19,9 +19,8 @@ use crate::{ data::Network, mock::{crypto_basics, MockData}, session::{ - authentication, legacy_authentication, ConnectionManager, ConnectionManagerConfig, - DataInSession, LegacyDiscoveryMessage, ManagerError, SessionHandler, SessionManager, - VersionedAuthentication, + authentication, ConnectionManager, ConnectionManagerConfig, DataInSession, + ManagerError, SessionHandler, SessionManager, VersionedAuthentication, }, AddressingInformation, GossipService, MockEvent, MockRawNetwork, Protocol, }, @@ -179,7 +178,7 @@ impl TestData { &self, node_id: usize, session_id: u32, - ) -> SessionHandler { + ) -> SessionHandler { SessionHandler::new( Some((NodeIndex(node_id), self.authorities[node_id].pen())), self.authority_verifier.clone(), @@ -199,15 +198,6 @@ impl TestData { .await .expect("Should add reserved nodes"); reserved_addresses.insert(address); - // Gotta repeat this, because we are adding every address twice, due to legacy - // authentications. - let (_, address) = self - .validator_network - .add_connection - .next() - .await - .expect("Should add reserved nodes"); - reserved_addresses.insert(address); } let mut expected_addresses = HashSet::new(); @@ -225,7 +215,7 @@ impl TestData { self.connect_identity_to_network(authority.auth_peer_id(), Protocol::Authentication); for versioned_authentication in - Vec::>::from(handler.authentication().unwrap()) + Vec::>::from(handler.authentication().unwrap()) { self.network.emit_event(MockEvent::Messages( authority.auth_peer_id(), @@ -249,7 +239,7 @@ impl TestData { async fn next_sent_auth( &mut self, ) -> Option<( - VersionedAuthentication, + VersionedAuthentication, MockPublicKey, Protocol, )> { @@ -258,10 +248,9 @@ impl TestData { Some((data, peer_id, protocol)) => { if protocol == Protocol::Authentication { return Some(( - VersionedAuthentication::< - MockAddressingInformation, - MockAddressingInformation, - >::decode(&mut data.as_slice()) + VersionedAuthentication::::decode( + &mut data.as_slice(), + ) .expect("should decode"), peer_id, protocol, @@ -295,16 +284,6 @@ async fn test_sends_discovery_message() { for _ in 0..4 { match test_data.next_sent_auth().await { - Some(( - VersionedAuthentication::V1(LegacyDiscoveryMessage::AuthenticationBroadcast( - authentication, - )), - peer_id, - _, - )) => { - assert_eq!(peer_id, connected_peer_id); - assert_eq!(authentication, legacy_authentication(&handler)); - } Some((VersionedAuthentication::V2(new_authentication), peer_id, _)) => { assert_eq!(peer_id, connected_peer_id); assert_eq!(new_authentication, authentication(&handler)); @@ -335,7 +314,7 @@ async fn test_forwards_authentication_broadcast() { } for versioned_authentication in - Vec::>::from(sending_peer_handler.authentication().unwrap()) + Vec::>::from(sending_peer_handler.authentication().unwrap()) { test_data.network.emit_event(MockEvent::Messages( sending_peer.auth_peer_id(), @@ -346,46 +325,27 @@ async fn test_forwards_authentication_broadcast() { )); } - for _ in 0..2 { - // Since we send the legacy auth and both are correct this should happen twice. - assert_eq!( - test_data - .validator_network - .add_connection - .next() - .await - .expect("Should add reserved nodes"), - (sending_peer.peer_id(), sending_peer.address()), - ); - } + assert_eq!( + test_data + .validator_network + .add_connection + .next() + .await + .expect("Should add reserved nodes"), + (sending_peer.peer_id(), sending_peer.address()), + ); let mut expected_authentication = HashMap::new(); - let mut expected_legacy_authentication = HashMap::new(); for authority in test_data.authorities.iter().skip(1) { expected_authentication.insert( authority.auth_peer_id(), authentication(&sending_peer_handler), ); - expected_legacy_authentication.insert( - authority.auth_peer_id(), - legacy_authentication(&sending_peer_handler), - ); } let mut sent_authentication = HashMap::new(); - let mut sent_legacy_authentication = HashMap::new(); - while sent_authentication.len() < NODES_N - 1 || sent_legacy_authentication.len() < NODES_N - 1 - { + while sent_authentication.len() < NODES_N - 1 { match test_data.next_sent_auth().await { - Some(( - VersionedAuthentication::V1(LegacyDiscoveryMessage::AuthenticationBroadcast(auth)), - peer_id, - _, - )) => { - if auth != legacy_authentication(&handler) { - sent_legacy_authentication.insert(peer_id, auth); - } - } Some((VersionedAuthentication::V2(auth), peer_id, _)) => { if auth != authentication(&handler) { sent_authentication.insert(peer_id, auth); @@ -397,7 +357,6 @@ async fn test_forwards_authentication_broadcast() { } assert_eq!(sent_authentication, expected_authentication); - assert_eq!(sent_legacy_authentication, expected_legacy_authentication); test_data.cleanup().await; assert_eq!( @@ -477,7 +436,7 @@ async fn test_stops_session() { // This assert should be before cleanup. We want to check whether `session_manager.stop_session(...)` // drops the sender. After cleanup all network tasks end and senders will be dropped. - // If assert was after cleanup we wouldn't know whether data_network receiver is droopped + // If assert was after cleanup we wouldn't know whether data_network receiver is dropped // because of `session_manager.stop_session(...)` or because of cleanup. assert_eq!( timeout(DEFAULT_TIMEOUT, data_network.next()).await, From 91d2eea7755f8fc0fad795118bbe2717f556c3b4 Mon Sep 17 00:00:00 2001 From: Mikolaj Gasior Date: Mon, 30 Jan 2023 16:04:14 +0100 Subject: [PATCH 121/212] A0-1855: In FE, replace private feature-env-aleph-node repo with public aleph-node (#884) * Replace 573243519133.dkr.ecr.us-east-1.amazonaws.com/feature-env-aleph-node with public.ecr.aws/p6e8q1z1/aleph-node * Change FE repository to feature-env-aleph-node --- .github/workflows/deploy-feature-envs.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/deploy-feature-envs.yaml b/.github/workflows/deploy-feature-envs.yaml index b16b7fb80e..88248c76a3 100644 --- a/.github/workflows/deploy-feature-envs.yaml +++ b/.github/workflows/deploy-feature-envs.yaml @@ -11,9 +11,9 @@ env: LABEL_DESTROYED: 'DESTROYED' LABEL_DEPLOYED: 'DEPLOYED' LABEL_DEPLOYED_CONTRACTS: 'DEPLOYED-CONTRACTS' - REGISTRY_HOST: 573243519133.dkr.ecr.us-east-1.amazonaws.com - FE_ALEPHNODE_REGISTRY: 573243519133.dkr.ecr.us-east-1.amazonaws.com/feature-env-aleph-node - FE_ALEPHNODE_REGISTRY_ESCAPED: '573243519133.dkr.ecr.us-east-1.amazonaws.com\/feature-env-aleph-node' + REGISTRY_HOST: public.ecr.aws + FE_ALEPHNODE_REGISTRY: public.ecr.aws/p6e8q1z1/feature-env-aleph-node + FE_ALEPHNODE_REGISTRY_ESCAPED: 'public.ecr.aws\/p6e8q1z1\/feature-env-aleph-node' FE_IMAGETAG_PREFIX: 'fe-' FE_APP_PREFIX: 'fe-' PUBLIC_ALEPHNODE_REGISTRY: public.ecr.aws/p6e8q1z1/aleph-node @@ -68,7 +68,7 @@ jobs: username: ${{ secrets.AWS_MAINNET_ACCESS_KEY_ID }} password: ${{ secrets.AWS_MAINNET_SECRET_ACCESS_KEY }} - - name: Push FE aleph-node image to the private feature-env-aleph-node registry + - name: Push FE aleph-node image to the feature-env-aleph-node registry env: IMAGE_TAG: ${{ env.FE_IMAGETAG_PREFIX }}${{ steps.get_branch.outputs.branch_imagetag_full }} run: | From c3a93abf57437f4756f8c8ce84ff20b625019f17 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maciej=20Nem=C5=9B?= Date: Tue, 31 Jan 2023 09:47:52 +0100 Subject: [PATCH 122/212] A0-1304: add state pruning compatibility (#890) * make aleph node compatible with state pruning * add/fix session map tests * fix experimental pruning logs * remove unnecessary wrapping --- bin/node/src/main.rs | 69 +++- bin/node/src/service.rs | 14 +- finality-aleph/src/nodes/nonvalidator_node.rs | 3 +- finality-aleph/src/nodes/validator_node.rs | 3 +- finality-aleph/src/session_map.rs | 373 +++++++++++------- .../src/sync/substrate/verification/cache.rs | 2 +- 6 files changed, 308 insertions(+), 156 deletions(-) diff --git a/bin/node/src/main.rs b/bin/node/src/main.rs index a8d550a40a..5f9be712aa 100644 --- a/bin/node/src/main.rs +++ b/bin/node/src/main.rs @@ -4,27 +4,29 @@ use aleph_node::{new_authority, new_full, new_partial, Cli, Subcommand}; #[cfg(feature = "try-runtime")] use aleph_runtime::Block; use log::warn; -use sc_cli::{clap::Parser, SubstrateCli}; +use sc_cli::{clap::Parser, CliConfiguration, PruningParams, SubstrateCli}; use sc_network::config::Role; use sc_service::PartialComponents; +const STATE_PRUNING: &str = "archive"; +const BLOCKS_PRUNING: &str = "archive-canonical"; + +fn pruning_changed(params: &PruningParams) -> bool { + let state_pruning_changed = + params.state_pruning != Some(STATE_PRUNING.into()) && params.state_pruning.is_some(); + + let blocks_pruning_changed = + params.blocks_pruning != Some(BLOCKS_PRUNING.into()) && params.blocks_pruning.is_some(); + + state_pruning_changed || blocks_pruning_changed +} + fn main() -> sc_cli::Result<()> { let mut cli = Cli::parse(); + let overwritten_pruning = pruning_changed(&cli.run.import_params.pruning_params); if !cli.aleph.experimental_pruning() { - if cli - .run - .import_params - .pruning_params - .blocks_pruning - .is_some() - || cli.run.import_params.pruning_params.state_pruning != Some("archive".into()) - { - warn!("Pruning not supported. Switching to keeping all block bodies and states."); - cli.run.import_params.pruning_params.blocks_pruning = None; - cli.run.import_params.pruning_params.state_pruning = Some("archive".into()); - } - } else { - warn!("Pruning not supported, but flag experimental_pruning was turned on. Usage of this flag can lead to misbehaviour, which can be punished."); + cli.run.import_params.pruning_params.state_pruning = Some(STATE_PRUNING.into()); + cli.run.import_params.pruning_params.blocks_pruning = Some(BLOCKS_PRUNING.into()); } match &cli.subcommand { @@ -112,6 +114,15 @@ fn main() -> sc_cli::Result<()> { .into()), None => { let runner = cli.create_runner(&cli.run)?; + if cli.aleph.experimental_pruning() { + warn!("Experimental_pruning was turned on. Usage of this flag can lead to misbehaviour, which can be punished. State pruning: {:?}; Blocks pruning: {:?};", + cli.run.state_pruning()?.unwrap_or_default(), + cli.run.blocks_pruning()?, + ); + } else if overwritten_pruning { + warn!("Pruning not supported. Switching to keeping all block bodies and states."); + } + let aleph_cli_config = cli.aleph; runner.run_node_until_exit(|config| async move { match config.role { @@ -126,3 +137,31 @@ fn main() -> sc_cli::Result<()> { } } } + +#[cfg(test)] +mod tests { + use sc_service::{BlocksPruning, PruningMode}; + + use super::{PruningParams, BLOCKS_PRUNING, STATE_PRUNING}; + + #[test] + fn pruning_sanity_check() { + let state_pruning = Some(String::from(STATE_PRUNING)); + let blocks_pruning = Some(String::from(BLOCKS_PRUNING)); + + let pruning_params = PruningParams { + state_pruning, + blocks_pruning, + }; + + assert_eq!( + pruning_params.blocks_pruning().unwrap(), + BlocksPruning::KeepFinalized + ); + + assert_eq!( + pruning_params.state_pruning().unwrap().unwrap(), + PruningMode::ArchiveAll + ); + } +} diff --git a/bin/node/src/service.rs b/bin/node/src/service.rs index 1d789c8f0d..4ca83f71b6 100644 --- a/bin/node/src/service.rs +++ b/bin/node/src/service.rs @@ -28,7 +28,7 @@ use sp_blockchain::Backend as _; use sp_consensus_aura::{sr25519::AuthorityPair as AuraPair, Slot}; use sp_runtime::{ generic::BlockId, - traits::{Block as BlockT, Header as HeaderT, Zero}, + traits::{Block as BlockT, Header as HeaderT}, }; use crate::{aleph_cli::AlephCli, chain_spec::DEFAULT_BACKUP_FOLDER, executor::AlephExecutor}; @@ -311,17 +311,19 @@ pub fn new_authority( .path(), ); + let finalized = client.info().finalized_number; + let session_period = SessionPeriod( client .runtime_api() - .session_period(&BlockId::Number(Zero::zero())) + .session_period(&BlockId::Number(finalized)) .unwrap(), ); let millisecs_per_block = MillisecsPerBlock( client .runtime_api() - .millisecs_per_block(&BlockId::Number(Zero::zero())) + .millisecs_per_block(&BlockId::Number(finalized)) .unwrap(), ); @@ -452,17 +454,19 @@ pub fn new_full( justification_tx, )?; + let finalized = client.info().finalized_number; + let session_period = SessionPeriod( client .runtime_api() - .session_period(&BlockId::Number(Zero::zero())) + .session_period(&BlockId::Number(finalized)) .unwrap(), ); let millisecs_per_block = MillisecsPerBlock( client .runtime_api() - .millisecs_per_block(&BlockId::Number(Zero::zero())) + .millisecs_per_block(&BlockId::Number(finalized)) .unwrap(), ); diff --git a/finality-aleph/src/nodes/nonvalidator_node.rs b/finality-aleph/src/nodes/nonvalidator_node.rs index a768f1cfd5..4a8c31e5c3 100644 --- a/finality-aleph/src/nodes/nonvalidator_node.rs +++ b/finality-aleph/src/nodes/nonvalidator_node.rs @@ -34,11 +34,12 @@ where let map_updater = SessionMapUpdater::<_, _, B>::new( AuthorityProviderImpl::new(client.clone()), FinalityNotificatorImpl::new(client.clone()), + session_period, ); let session_authorities = map_updater.readonly_session_map(); spawn_handle.spawn("aleph/updater", None, async move { debug!(target: "aleph-party", "SessionMapUpdater has started."); - map_updater.run(session_period).await + map_updater.run().await }); let (_, handler_task) = setup_justification_handler(JustificationParams { justification_rx, diff --git a/finality-aleph/src/nodes/validator_node.rs b/finality-aleph/src/nodes/validator_node.rs index d59f0c3bc7..6224d2259c 100644 --- a/finality-aleph/src/nodes/validator_node.rs +++ b/finality-aleph/src/nodes/validator_node.rs @@ -103,11 +103,12 @@ where let map_updater = SessionMapUpdater::<_, _, B>::new( AuthorityProviderImpl::new(client.clone()), FinalityNotificatorImpl::new(client.clone()), + session_period, ); let session_authorities = map_updater.readonly_session_map(); spawn_handle.spawn("aleph/updater", None, async move { debug!(target: "aleph-party", "SessionMapUpdater has started."); - map_updater.run(session_period).await + map_updater.run().await }); let (authority_justification_tx, handler_task) = diff --git a/finality-aleph/src/session_map.rs b/finality-aleph/src/session_map.rs index 59f1093b24..c6a8afc8ae 100644 --- a/finality-aleph/src/session_map.rs +++ b/finality-aleph/src/session_map.rs @@ -8,7 +8,6 @@ use sc_utils::mpsc::TracingUnboundedReceiver; use sp_runtime::{ generic::BlockId, traits::{Block, Header, NumberFor}, - SaturatedConversion, }; use tokio::sync::{ oneshot::{Receiver as OneShotReceiver, Sender as OneShotSender}, @@ -31,6 +30,8 @@ pub trait AuthorityProvider { } /// Default implementation of authority provider trait. +/// If state pruning is on and set to `n`, will no longer be able to +/// answer for `num < finalized_number - n`. pub struct AuthorityProviderImpl where C: ClientForAleph + Send + Sync + 'static, @@ -228,26 +229,6 @@ impl ReadOnlySessionMap { } } -fn get_authority_data_for_session( - authority_provider: &AP, - session_id: SessionId, - first_block: NumberFor, -) -> SessionAuthorityData -where - B: Block, - AP: AuthorityProvider>, -{ - if session_id == SessionId(0) { - authority_provider - .authority_data(>::saturated_from(0u32)) - .expect("Authorities for the session 0 must be available from the beginning") - } else { - authority_provider.next_authority_data(first_block).unwrap_or_else(|| - panic!("Authorities for next session {:?} must be available at first block #{:?} of current session", session_id.0, first_block) - ) - } -} - /// Struct responsible for updating session map pub struct SessionMapUpdater where @@ -258,6 +239,7 @@ where session_map: SharedSessionMap, authority_provider: AP, finality_notificator: FN, + period: SessionPeriod, _phantom: PhantomData, } @@ -267,11 +249,12 @@ where FN: FinalityNotificator, NumberFor>, B: Block, { - pub fn new(authority_provider: AP, finality_notificator: FN) -> Self { + pub fn new(authority_provider: AP, finality_notificator: FN, period: SessionPeriod) -> Self { Self { session_map: SharedSessionMap::new(), authority_provider, finality_notificator, + period, _phantom: PhantomData, } } @@ -281,76 +264,95 @@ where self.session_map.read_only() } - /// puts authority data for the next session into the session map - async fn handle_first_block_of_session(&mut self, num: NumberFor, session_id: SessionId) { - debug!(target: "aleph-session-updater", "Handling first block #{:?} of session {:?}", num, session_id.0); - let next_session = SessionId(session_id.0 + 1); - let authority_provider = &self.authority_provider; - self.session_map - .update( - next_session, - get_authority_data_for_session::<_, B>(authority_provider, next_session, num), - ) - .await; - - // if this is the first session we also need to include starting authority data into the map - if session_id.0 == 0 { - let authority_provider = &self.authority_provider; + /// Puts authority data for the next session into the session map + async fn handle_first_block_of_session(&mut self, session_id: SessionId) { + let first_block = first_block_of_session(session_id, self.period); + debug!(target: "aleph-session-updater", + "Handling first block #{:?} of session {:?}", + first_block, session_id.0 + ); + + if let Some(authority_data) = self.authority_provider.next_authority_data(first_block) { self.session_map - .update( - session_id, - get_authority_data_for_session::<_, B>(authority_provider, session_id, num), - ) + .update(SessionId(session_id.0 + 1), authority_data) .await; + } else { + panic!("Authorities for next session {:?} must be available at first block #{:?} of current session", session_id.0, first_block); } - if session_id.0 >= PRUNING_THRESHOLD && session_id.0 % PRUNING_THRESHOLD == 0 { - debug!(target: "aleph-session-updater", "Pruning session map below session #{:?}", session_id.0 - PRUNING_THRESHOLD); + if session_id.0 > PRUNING_THRESHOLD && session_id.0 % PRUNING_THRESHOLD == 0 { + debug!(target: "aleph-session-updater", + "Pruning session map below session #{:?}", + session_id.0 - PRUNING_THRESHOLD + ); self.session_map .prune_below(SessionId(session_id.0 - PRUNING_THRESHOLD)) .await; } } - async fn update_session(&mut self, session_id: SessionId, period: SessionPeriod) { - let first_block = first_block_of_session(session_id, period); - self.handle_first_block_of_session(first_block, session_id) - .await; + fn authorities_for_session(&mut self, session_id: SessionId) -> Option { + let first_block = first_block_of_session(session_id, self.period); + self.authority_provider.authority_data(first_block) } - fn catch_up_boundaries(&self, period: SessionPeriod) -> (SessionId, SessionId) { + /// Puts current and next session authorities in the session map. + /// If previous authorities are still available in `AuthorityProvider`, also puts them in the session map. + async fn catch_up(&mut self) -> SessionId { let last_finalized = self.finality_notificator.last_finalized(); - let current_session = session_id_from_block_num(last_finalized, period); - let starting_session = SessionId(current_session.0.saturating_sub(PRUNING_THRESHOLD)); + let current_session = session_id_from_block_num(last_finalized, self.period); + let starting_session = SessionId(current_session.0.saturating_sub(PRUNING_THRESHOLD - 1)); - (starting_session, current_session) - } + debug!(target: "aleph-session-updater", + "Last finalized is {:?}; Catching up with authorities starting from session {:?} up to next session {:?}", + last_finalized, starting_session.0, current_session.0 + 1 + ); - pub async fn run(mut self, period: SessionPeriod) { - let mut notifications = self.finality_notificator.notification_stream(); + // lets catch up with previous sessions + for session in starting_session.0..current_session.0 { + let id = SessionId(session); + if let Some(authority_data) = self.authorities_for_session(id) { + self.session_map.update(id, authority_data).await; + } else { + debug!(target: "aleph-session-updater", "No authorities for session {:?} during catch-up. Most likely already pruned.", id.0) + } + } - let (starting_session, current_session) = self.catch_up_boundaries(period); + // lets catch up with previous session + match self.authorities_for_session(current_session) { + Some(current_authority_data) => { + self.session_map + .update(current_session, current_authority_data) + .await + } + None => panic!( + "Authorities for current session {:?} must be available from the beginning", + current_session.0 + ), + }; - // lets catch up - for session in starting_session.0..=current_session.0 { - self.update_session(SessionId(session), period).await; - } + self.handle_first_block_of_session(current_session).await; - let mut last_updated = current_session; + current_session + } + + pub async fn run(mut self) { + let mut notifications = self.finality_notificator.notification_stream(); + let mut last_updated = self.catch_up().await; while let Some(FinalityNotification { header, .. }) = notifications.next().await { let last_finalized = header.number(); trace!(target: "aleph-session-updater", "got FinalityNotification about #{:?}", last_finalized); - let session_id = session_id_from_block_num(*last_finalized, period); + let session_id = session_id_from_block_num(*last_finalized, self.period); if last_updated >= session_id { continue; } for session in (last_updated.0 + 1)..=session_id.0 { - self.update_session(SessionId(session), period).await; + self.handle_first_block_of_session(SessionId(session)).await; } last_updated = session_id; @@ -378,7 +380,6 @@ mod tests { struct MockProvider { pub session_map: HashMap, SessionAuthorityData>, pub next_session_map: HashMap, SessionAuthorityData>, - pub asked_for: Arc>>>, } struct MockNotificator { @@ -391,9 +392,15 @@ mod tests { Self { session_map: HashMap::new(), next_session_map: HashMap::new(), - asked_for: Arc::new(Mutex::new(Vec::new())), } } + + fn add_session(&mut self, session_id: u64) { + self.session_map + .insert(session_id, authority_data_for_session(session_id)); + self.next_session_map + .insert(session_id, authority_data_for_session(session_id + 1)); + } } impl MockNotificator { @@ -407,14 +414,10 @@ mod tests { impl AuthorityProvider> for MockProvider { fn authority_data(&self, b: NumberFor) -> Option { - let mut asked = self.asked_for.lock().unwrap(); - asked.push(b); self.session_map.get(&b).cloned() } fn next_authority_data(&self, b: NumberFor) -> Option { - let mut asked = self.asked_for.lock().unwrap(); - asked.push(b); self.next_session_map.get(&b).cloned() } } @@ -448,6 +451,45 @@ mod tests { .collect() } + fn authority_data_for_session(session_id: u64) -> SessionAuthorityData { + authority_data(session_id * 4, (session_id + 1) * 4) + } + + fn to_notification(block: TBlock) -> FinalityNotification { + FinalityNotification { + hash: block.header.hash(), + header: block.header, + tree_route: Arc::new([]), + stale_heads: Arc::new([]), + } + } + + #[tokio::test(flavor = "multi_thread")] + async fn genesis_catch_up() { + let (_sender, receiver) = tracing_unbounded("test"); + let mut mock_provider = MockProvider::new(); + let mock_notificator = MockNotificator::new(receiver); + + mock_provider.add_session(0); + + let updater = SessionMapUpdater::new(mock_provider, mock_notificator, SessionPeriod(1)); + let session_map = updater.readonly_session_map(); + + let _handle = tokio::spawn(updater.run()); + + // wait a bit + Delay::new(Duration::from_millis(50)).await; + + assert_eq!( + session_map.get(SessionId(0)).await, + Some(authority_data(0, 4)) + ); + assert_eq!( + session_map.get(SessionId(1)).await, + Some(authority_data(4, 8)) + ); + } + #[tokio::test(flavor = "multi_thread")] async fn updates_session_map_on_notifications() { let mut client = Arc::new(TestClientBuilder::new().build()); @@ -455,41 +497,18 @@ mod tests { let mut mock_provider = MockProvider::new(); let mock_notificator = MockNotificator::new(receiver); - mock_provider.session_map.insert(0, authority_data(0, 4)); - mock_provider - .next_session_map - .insert(0, authority_data(4, 8)); - mock_provider - .next_session_map - .insert(1, authority_data(8, 12)); - mock_provider - .next_session_map - .insert(2, authority_data(12, 16)); - - let updater = SessionMapUpdater::new(mock_provider, mock_notificator); + mock_provider.add_session(0); + mock_provider.add_session(1); + mock_provider.add_session(2); + + let updater = SessionMapUpdater::new(mock_provider, mock_notificator, SessionPeriod(1)); let session_map = updater.readonly_session_map(); - let blocks = n_new_blocks(&mut client, 2); - let block_1 = blocks.get(0).cloned().unwrap(); - let block_2 = blocks.get(1).cloned().unwrap(); - sender - .unbounded_send(FinalityNotification { - hash: block_1.header.hash(), - header: block_1.header, - tree_route: Arc::new([]), - stale_heads: Arc::new([]), - }) - .unwrap(); - sender - .unbounded_send(FinalityNotification { - hash: block_2.header.hash(), - header: block_2.header, - tree_route: Arc::new([]), - stale_heads: Arc::new([]), - }) - .unwrap(); + for block in n_new_blocks(&mut client, 2) { + sender.unbounded_send(to_notification(block)).unwrap(); + } - let _handle = tokio::spawn(updater.run(SessionPeriod(1))); + let _handle = tokio::spawn(updater.run()); // wait a bit Delay::new(Duration::from_millis(50)).await; @@ -513,80 +532,64 @@ mod tests { } #[tokio::test(flavor = "multi_thread")] - async fn updates_session_map_on_catching_up() { + async fn catch_up() { let (_sender, receiver) = tracing_unbounded("test"); let mut mock_provider = MockProvider::new(); let mut mock_notificator = MockNotificator::new(receiver); - mock_provider.session_map.insert(0, authority_data(0, 4)); - mock_provider - .next_session_map - .insert(0, authority_data(4, 8)); - mock_provider - .next_session_map - .insert(1, authority_data(8, 12)); - mock_provider - .next_session_map - .insert(2, authority_data(12, 16)); + mock_provider.add_session(0); + mock_provider.add_session(1); + mock_provider.add_session(2); mock_notificator.last_finalized = 2; - let updater = SessionMapUpdater::new(mock_provider, mock_notificator); + let updater = SessionMapUpdater::new(mock_provider, mock_notificator, SessionPeriod(1)); let session_map = updater.readonly_session_map(); - let _handle = tokio::spawn(updater.run(SessionPeriod(1))); + let _handle = tokio::spawn(updater.run()); // wait a bit Delay::new(Duration::from_millis(50)).await; assert_eq!( session_map.get(SessionId(0)).await, - Some(authority_data(0, 4)) + Some(authority_data_for_session(0)) ); assert_eq!( session_map.get(SessionId(1)).await, - Some(authority_data(4, 8)) + Some(authority_data_for_session(1)) ); assert_eq!( session_map.get(SessionId(2)).await, - Some(authority_data(8, 12)) + Some(authority_data_for_session(2)) ); assert_eq!( session_map.get(SessionId(3)).await, - Some(authority_data(12, 16)) + Some(authority_data_for_session(3)) ); } #[tokio::test(flavor = "multi_thread")] - async fn prunes_old_sessions() { + async fn catch_up_old_sessions() { let (_sender, receiver) = tracing_unbounded("test"); let mut mock_provider = MockProvider::new(); let mut mock_notificator = MockNotificator::new(receiver); - mock_provider.session_map.insert(0, authority_data(0, 4)); for i in 0..=2 * PRUNING_THRESHOLD { - mock_provider.next_session_map.insert( - i as u64, - authority_data(4 * (i + 1) as u64, 4 * (i + 2) as u64), - ); + mock_provider.add_session(i as u64); } mock_notificator.last_finalized = 20; - let asked = mock_provider.asked_for.clone(); - let updater = SessionMapUpdater::new(mock_provider, mock_notificator); + let updater = SessionMapUpdater::new(mock_provider, mock_notificator, SessionPeriod(1)); let session_map = updater.readonly_session_map(); - let _handle = tokio::spawn(updater.run(SessionPeriod(1))); + let _handle = tokio::spawn(updater.run()); // wait a bit Delay::new(Duration::from_millis(50)).await; - { - let asked = asked.lock().unwrap(); - assert_eq!((10..=20).into_iter().collect::>(), *asked); - } - for i in 0..=20 - PRUNING_THRESHOLD { + for i in 0..=PRUNING_THRESHOLD { assert_eq!( session_map.get(SessionId(i)).await, None, @@ -594,16 +597,120 @@ mod tests { i ); } - for i in 21 - PRUNING_THRESHOLD..=20 { + for i in PRUNING_THRESHOLD + 1..=2 * PRUNING_THRESHOLD { assert_eq!( session_map.get(SessionId(i)).await, - Some(authority_data(4 * i as u64, 4 * (i + 1) as u64)), + Some(authority_data_for_session(i as u64)), "Session {:?} should not be pruned", i ); } } + #[tokio::test(flavor = "multi_thread")] + async fn deals_with_database_pruned_authorities() { + let (_sender, receiver) = tracing_unbounded("test"); + let mut mock_provider = MockProvider::new(); + let mut mock_notificator = MockNotificator::new(receiver); + + mock_provider.add_session(5); + mock_notificator.last_finalized = 5; + + let updater = SessionMapUpdater::new(mock_provider, mock_notificator, SessionPeriod(1)); + let session_map = updater.readonly_session_map(); + + let _handle = tokio::spawn(updater.run()); + + // wait a bit + Delay::new(Duration::from_millis(50)).await; + + for i in 0..5 { + assert_eq!( + session_map.get(SessionId(i)).await, + None, + "Session {:?} should not be available", + i + ); + } + + assert_eq!( + session_map.get(SessionId(5)).await, + Some(authority_data_for_session(5)) + ); + assert_eq!( + session_map.get(SessionId(6)).await, + Some(authority_data_for_session(6)) + ); + } + + #[tokio::test(flavor = "multi_thread")] + async fn prunes_old_sessions() { + let mut client = Arc::new(TestClientBuilder::new().build()); + let (sender, receiver) = tracing_unbounded("test"); + let mut mock_provider = MockProvider::new(); + let mock_notificator = MockNotificator::new(receiver); + + for i in 0..=2 * PRUNING_THRESHOLD { + mock_provider.add_session(i as u64); + } + + let updater = SessionMapUpdater::new(mock_provider, mock_notificator, SessionPeriod(1)); + let session_map = updater.readonly_session_map(); + + let _handle = tokio::spawn(updater.run()); + + let mut blocks = n_new_blocks(&mut client, 2 * PRUNING_THRESHOLD as u64); + + for block in blocks.drain(..PRUNING_THRESHOLD as usize) { + sender.unbounded_send(to_notification(block)).unwrap(); + } + + // wait a bit + Delay::new(Duration::from_millis(50)).await; + + for i in 0..=PRUNING_THRESHOLD + 1 { + assert_eq!( + session_map.get(SessionId(i)).await, + Some(authority_data_for_session(i as u64)), + "Session {:?} should be available", + i + ); + } + + for i in PRUNING_THRESHOLD + 2..=21 { + assert_eq!( + session_map.get(SessionId(i)).await, + None, + "Session {:?} should not be avalable yet", + i + ); + } + + for block in blocks { + sender.unbounded_send(to_notification(block)).unwrap(); + } + + Delay::new(Duration::from_millis(50)).await; + + for i in 0..PRUNING_THRESHOLD { + assert_eq!( + session_map.get(SessionId(i)).await, + None, + "Session {:?} should be pruned", + i + ); + } + + for i in PRUNING_THRESHOLD + 1..=21 { + assert_eq!( + session_map.get(SessionId(i)).await, + Some(authority_data_for_session(i as u64)), + "Session {:?} should be avalable", + i + ); + } + } + #[tokio::test(flavor = "multi_thread")] async fn subscription_with_already_defined_session_works() { let mut shared = SharedSessionMap::new(); diff --git a/finality-aleph/src/sync/substrate/verification/cache.rs b/finality-aleph/src/sync/substrate/verification/cache.rs index 545302b475..acd48a20a6 100644 --- a/finality-aleph/src/sync/substrate/verification/cache.rs +++ b/finality-aleph/src/sync/substrate/verification/cache.rs @@ -38,7 +38,7 @@ impl Display for CacheError { UnknownAuthorities(session) => { write!( f, - "authorities for session {:?} not present on chain even though they should be", + "authorities for session {:?} not known even though they should be", session ) } From f82550c18c3a01a3bfb43776d0d0a01d4101f1e7 Mon Sep 17 00:00:00 2001 From: maciejzelaszczyk <48910177+maciejzelaszczyk@users.noreply.github.com> Date: Tue, 31 Jan 2023 13:44:31 +0100 Subject: [PATCH 123/212] A0-1502: Finality version e2e test (#717) * Setting up AlephBFT version * Changed handling to map from session to version * Changed logic to handle serving last set AlephBFT version * Changed logic to handle setting of version in future only * Reworked storage and accessors to only store one version plus session to change it * Treat version change as a delimiting flag * Loose coupling between pallet_aleph and pallet_session to access current session index * Fixed trait implementation for mock * Added comment to trait * Replaced panics with Results in AlephBFT version handling * Changed logic to work with numbered versions * Changed behavior on session start and end * Fixed version change update * Linked SessionManager in runtime * Mock impl * Reworked SessionManage link * Linter * Removed pallet_elections from mock * Removed event * linter * Linter * Reworked AlephBFT version history updates * Reworked storage to use value instead of map * Added unit test * Added version change unscheduling and next session version * Removed explicit version unscheduling; added version default * Extended docs for pallet aleph * Moved default AlephBFT version to const * Renamed helper function * Fixed test * Changed naming * Bumped spec version * Bumped transaction version * Finality version RPC and e2e test, first stab * Added GenesisBuild to pallet_aleph * Added finality version e2e test * Reworked test logic * Removed unused imports * Dependency version fixes; prep work for test logic change * Post factum checks * Changed checks; changed finality version update session * Added test description * aleph-client and aleph-e2e-client version bumps * spec_version and transaction_version bumps * Changed comment about error code * Added doc comment * Cargo.lock * Bumped runtime version * Disabled runtime upgrade check in CI * Revert "Disabled runtime upgrade check in CI" This reverts commit e4cc57ba6488c6749d3fb1b1ccdde6d14d6811fa. * Disabled runtime upgrade check without removing it * Post-merge cleanup * Back to storage; handle connection refactor * Codegen * Bumped aleph-client version * Back to rpc call; prelims * Rpc interface * Rpc * Link with node * Rpc request; cleanup * Partial fix * Fixed RPC params * Versioning * Linter * Default version fix * E2e test version bump * Interface reorg * Linter * Connection fixes; pipelines * Linter * Finality version set in chain spec * Subxt codegen * E2e test fix * Runtime metadata for aleph-client * Hide doc warnings * Removed hide docs * Actually check the version change * Subxt metadata * Linter cleanup * Const reorg * Current finality version calculated based on the legacy one --- .github/workflows/e2e-tests-main-devnet.yml | 54 +++-- .github/workflows/nightly-pipeline.yaml | 17 -- Cargo.lock | 8 +- aleph-client/Cargo.lock | 4 +- aleph-client/Cargo.toml | 3 +- aleph-client/src/aleph_zero.rs | 20 +- aleph-client/src/pallets/aleph.rs | 29 ++- benches/payout-stakers/Cargo.lock | 4 +- bin/cliain/Cargo.lock | 4 +- bin/node/src/chain_spec.rs | 25 ++- bin/runtime/Cargo.toml | 2 +- e2e-tests/Cargo.lock | 6 +- e2e-tests/Cargo.toml | 2 +- e2e-tests/src/finality_version.rs | 37 ++++ e2e-tests/src/lib.rs | 2 + e2e-tests/src/test/finality_version.rs | 223 ++++++++++++++++++++ e2e-tests/src/test/mod.rs | 9 +- e2e-tests/src/test/version_upgrade.rs | 108 ---------- finality-aleph/Cargo.toml | 2 +- finality-aleph/src/abft/current.rs | 4 +- finality-aleph/src/abft/legacy.rs | 4 +- flooder/Cargo.lock | 4 +- pallets/aleph/Cargo.toml | 2 +- pallets/aleph/src/lib.rs | 30 ++- primitives/Cargo.toml | 2 +- primitives/src/lib.rs | 8 + 26 files changed, 421 insertions(+), 192 deletions(-) create mode 100644 e2e-tests/src/finality_version.rs create mode 100644 e2e-tests/src/test/finality_version.rs delete mode 100644 e2e-tests/src/test/version_upgrade.rs diff --git a/.github/workflows/e2e-tests-main-devnet.yml b/.github/workflows/e2e-tests-main-devnet.yml index f8bed73253..d7dadc2218 100644 --- a/.github/workflows/e2e-tests-main-devnet.yml +++ b/.github/workflows/e2e-tests-main-devnet.yml @@ -466,23 +466,23 @@ jobs: follow-up-finalization-check: true timeout-minutes: 10 -# run-e2e-authorities-are-staking: -# needs: [build-test-docker, build-test-client] -# name: Run authorities are staking test -# runs-on: ubuntu-20.04 -# steps: -# - name: Checkout source code -# uses: actions/checkout@v2 -# -# - name: Run e2e test -# uses: ./.github/actions/run-e2e-test -# with: -# test-case: authorities_are_staking -# node-count: 6 -# reserved-seats: 3 -# non-reserved-seats: 3 -# follow-up-finalization-check: false -# timeout-minutes: 15 + run-e2e-authorities-are-staking: + needs: [build-test-docker, build-test-client] + name: Run authorities are staking test + runs-on: ubuntu-20.04 + steps: + - name: Checkout source code + uses: actions/checkout@v2 + + - name: Run e2e test + uses: ./.github/actions/run-e2e-test + with: + test-case: authorities_are_staking + node-count: 6 + reserved-seats: 3 + non-reserved-seats: 3 + follow-up-finalization-check: true + timeout-minutes: 15 run-e2e-ban-automatic: needs: [build-test-docker, build-test-client] @@ -570,7 +570,7 @@ jobs: - name: Run e2e test uses: ./.github/actions/run-e2e-test with: - test-case: version_upgrade::schedule_version_change + test-case: finality_version::schedule_version_change env: UPGRADE_VERSION: 1 UPGRADE_SESSION: 3 @@ -683,6 +683,21 @@ jobs: # run: | # ./scripts/catchup_version_upgrade_test.sh + run-e2e-finality-version-change: + needs: [build-test-docker, build-test-client] + name: Run finality version change test + runs-on: ubuntu-20.04 + steps: + - name: Checkout source code + uses: actions/checkout@v2 + + - name: Run e2e test + uses: ./.github/actions/run-e2e-test + with: + test-case: finality_version::finality_version_change + follow-up-finalization-check: true + timeout-minutes: 10 + check-e2e-test-suite-completion: needs: [ run-e2e-finalization-test, @@ -702,7 +717,7 @@ jobs: run-e2e-rewards-stake-change, run-e2e-rewards-change-stake-force-new-era, run-e2e-rewards-points-basic, -# run-e2e-authorities-are-staking, + run-e2e-authorities-are-staking, run-e2e-ban-automatic, run-e2e-ban-manual, run-e2e-ban-counter-clearing, @@ -712,6 +727,7 @@ jobs: run-e2e-adder-contract-test, # run-e2e-failing-version-upgrade, # run-e2e-version-upgrade-catchup, + run-e2e-finality-version-change, ] name: Check e2e test suite completion runs-on: ubuntu-20.04 diff --git a/.github/workflows/nightly-pipeline.yaml b/.github/workflows/nightly-pipeline.yaml index 5933a1c8c9..3d4c4ee2ba 100644 --- a/.github/workflows/nightly-pipeline.yaml +++ b/.github/workflows/nightly-pipeline.yaml @@ -158,22 +158,6 @@ jobs: if-no-files-found: error retention-days: 7 - run-e2e-authorities-are-staking: - needs: [build-test-docker, build-test-client] - name: Run authorities are staking test - runs-on: ubuntu-20.04 - steps: - - name: Checkout source code - uses: actions/checkout@v2 - - - name: Run e2e test - uses: ./.github/actions/run-e2e-test - with: - test-case: authorities_are_staking - node-count: 6 - follow-up-finalization-check: true - timeout-minutes: 60 - run-e2e-high-out-latency: needs: [build-synthetic-network-docker, build-test-client] name: Run high out-latency test @@ -210,7 +194,6 @@ jobs: check-e2e-test-suite-completion: needs: [ - run-e2e-authorities-are-staking, run-e2e-high-out-latency, run-e2e-no-quorum-without-high-out-latency, ] diff --git a/Cargo.lock b/Cargo.lock index 610adf393d..82b3e6bccd 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -290,7 +290,7 @@ dependencies = [ [[package]] name = "aleph-runtime" -version = "0.9.0" +version = "0.9.1" dependencies = [ "frame-executive", "frame-support", @@ -1886,7 +1886,7 @@ dependencies = [ [[package]] name = "finality-aleph" -version = "0.6.0" +version = "0.6.1" dependencies = [ "aggregator 0.2.1", "aggregator 0.3.0", @@ -4187,7 +4187,7 @@ dependencies = [ [[package]] name = "pallet-aleph" -version = "0.5.4" +version = "0.5.5" dependencies = [ "frame-support", "frame-system", @@ -4978,7 +4978,7 @@ dependencies = [ [[package]] name = "primitives" -version = "0.5.4" +version = "0.5.5" dependencies = [ "parity-scale-codec", "scale-info", diff --git a/aleph-client/Cargo.lock b/aleph-client/Cargo.lock index 34b679cfc2..4471763e83 100644 --- a/aleph-client/Cargo.lock +++ b/aleph-client/Cargo.lock @@ -49,7 +49,7 @@ dependencies = [ [[package]] name = "aleph_client" -version = "2.12.0" +version = "2.13.0" dependencies = [ "anyhow", "async-trait", @@ -2066,7 +2066,7 @@ dependencies = [ [[package]] name = "primitives" -version = "0.5.4" +version = "0.5.5" dependencies = [ "parity-scale-codec", "scale-info", diff --git a/aleph-client/Cargo.toml b/aleph-client/Cargo.toml index 95f31e96e0..07b890d7ab 100644 --- a/aleph-client/Cargo.toml +++ b/aleph-client/Cargo.toml @@ -1,6 +1,7 @@ [package] name = "aleph_client" -version = "2.12.0" +# TODO bump major version when API stablize +version = "2.13.0" edition = "2021" license = "Apache 2.0" diff --git a/aleph-client/src/aleph_zero.rs b/aleph-client/src/aleph_zero.rs index 2428e75225..f50f584435 100644 --- a/aleph-client/src/aleph_zero.rs +++ b/aleph-client/src/aleph_zero.rs @@ -6353,9 +6353,10 @@ pub mod api { "NextAuthorities", vec![], [ - 241u8, 145u8, 255u8, 235u8, 191u8, 220u8, 57u8, 89u8, 8u8, 134u8, 72u8, - 193u8, 247u8, 37u8, 54u8, 201u8, 136u8, 32u8, 11u8, 199u8, 134u8, - 207u8, 154u8, 107u8, 71u8, 121u8, 245u8, 153u8, 9u8, 33u8, 70u8, 3u8, + 223u8, 196u8, 18u8, 234u8, 75u8, 169u8, 31u8, 25u8, 180u8, 189u8, 78u8, + 192u8, 179u8, 27u8, 218u8, 254u8, 245u8, 211u8, 86u8, 33u8, 113u8, + 114u8, 214u8, 133u8, 240u8, 211u8, 232u8, 163u8, 123u8, 98u8, 114u8, + 26u8, ], ) } @@ -6430,9 +6431,10 @@ pub mod api { "FinalityVersion", vec![], [ - 99u8, 158u8, 103u8, 180u8, 128u8, 32u8, 84u8, 110u8, 229u8, 2u8, 3u8, - 114u8, 95u8, 125u8, 230u8, 210u8, 56u8, 85u8, 38u8, 136u8, 49u8, 206u8, - 6u8, 136u8, 193u8, 164u8, 251u8, 60u8, 125u8, 91u8, 205u8, 144u8, + 134u8, 19u8, 94u8, 247u8, 125u8, 18u8, 148u8, 160u8, 167u8, 235u8, + 174u8, 4u8, 107u8, 69u8, 55u8, 187u8, 249u8, 13u8, 129u8, 99u8, 116u8, + 158u8, 38u8, 29u8, 239u8, 112u8, 150u8, 92u8, 151u8, 197u8, 223u8, + 30u8, ], ) } @@ -19553,9 +19555,9 @@ pub mod api { let runtime_metadata_hash = client.metadata().metadata_hash(&PALLETS); if runtime_metadata_hash != [ - 51u8, 153u8, 218u8, 203u8, 158u8, 62u8, 141u8, 96u8, 177u8, 177u8, 12u8, 204u8, - 220u8, 53u8, 42u8, 155u8, 22u8, 96u8, 238u8, 212u8, 98u8, 225u8, 39u8, 241u8, 52u8, - 28u8, 166u8, 99u8, 14u8, 192u8, 65u8, 67u8, + 129u8, 53u8, 4u8, 85u8, 248u8, 69u8, 122u8, 6u8, 68u8, 150u8, 173u8, 133u8, 118u8, + 19u8, 96u8, 223u8, 153u8, 160u8, 226u8, 156u8, 47u8, 53u8, 206u8, 110u8, 204u8, + 37u8, 67u8, 45u8, 176u8, 126u8, 21u8, 133u8, ] { Err(::subxt::error::MetadataError::IncompatibleMetadata) diff --git a/aleph-client/src/pallets/aleph.rs b/aleph-client/src/pallets/aleph.rs index b68a00f30b..5b3a2441ae 100644 --- a/aleph-client/src/pallets/aleph.rs +++ b/aleph-client/src/pallets/aleph.rs @@ -1,8 +1,9 @@ use codec::Encode; -use primitives::{BlockNumber, SessionIndex}; +use primitives::{BlockNumber, SessionIndex, Version}; use subxt::rpc_params; use crate::{ + api, api::runtime_types::{ pallet_aleph::pallet::Call::set_emergency_finalizer, primitives::app::Public, sp_core::ed25519::Public as EdPublic, @@ -15,6 +16,15 @@ use crate::{ }; // TODO replace docs with link to pallet aleph docs, once they are published +/// Pallet aleph API which does not require sudo. +#[async_trait::async_trait] +pub trait AlephApi { + /// Gets the current finality version. + async fn finality_version(&self, at: Option) -> Version; + /// Gets the finality version for the next session. + async fn next_session_finality_version(&self, at: Option) -> Version; +} + /// Pallet aleph API that requires sudo. #[async_trait::async_trait] pub trait AlephSudoApi { @@ -57,6 +67,23 @@ pub trait AlephRpc { ) -> anyhow::Result<()>; } +#[async_trait::async_trait] +impl AlephApi for C { + async fn finality_version(&self, at: Option) -> Version { + let addrs = api::storage().aleph().finality_version(); + + self.get_storage_entry(&addrs, at).await + } + + async fn next_session_finality_version(&self, hash: Option) -> Version { + let method = "state_call"; + let api_method = "AlephSessionApi_next_session_finality_version"; + let params = rpc_params![api_method, "0x", hash]; + + self.rpc_call(method.to_string(), params).await.unwrap() + } +} + #[async_trait::async_trait] impl AlephSudoApi for RootConnection { async fn set_emergency_finalizer( diff --git a/benches/payout-stakers/Cargo.lock b/benches/payout-stakers/Cargo.lock index ff4de412e7..e76df10353 100644 --- a/benches/payout-stakers/Cargo.lock +++ b/benches/payout-stakers/Cargo.lock @@ -49,7 +49,7 @@ dependencies = [ [[package]] name = "aleph_client" -version = "2.12.0" +version = "2.13.0" dependencies = [ "anyhow", "async-trait", @@ -2175,7 +2175,7 @@ dependencies = [ [[package]] name = "primitives" -version = "0.5.4" +version = "0.5.5" dependencies = [ "parity-scale-codec", "scale-info", diff --git a/bin/cliain/Cargo.lock b/bin/cliain/Cargo.lock index 36f550dc83..c6bcd8a65c 100644 --- a/bin/cliain/Cargo.lock +++ b/bin/cliain/Cargo.lock @@ -49,7 +49,7 @@ dependencies = [ [[package]] name = "aleph_client" -version = "2.12.0" +version = "2.13.0" dependencies = [ "anyhow", "async-trait", @@ -2466,7 +2466,7 @@ dependencies = [ [[package]] name = "primitives" -version = "0.5.4" +version = "0.5.5" dependencies = [ "parity-scale-codec", "scale-info", diff --git a/bin/node/src/chain_spec.rs b/bin/node/src/chain_spec.rs index e9a48f522b..269b57208b 100644 --- a/bin/node/src/chain_spec.rs +++ b/bin/node/src/chain_spec.rs @@ -1,12 +1,14 @@ -use std::{collections::HashSet, str::FromStr}; +use std::{collections::HashSet, str::FromStr, string::ToString}; use aleph_primitives::{ staking::{MIN_NOMINATOR_BOND, MIN_VALIDATOR_BOND}, - AuthorityId as AlephId, ADDRESSES_ENCODING, TOKEN, TOKEN_DECIMALS, + AuthorityId as AlephId, Version as FinalityVersion, ADDRESSES_ENCODING, + LEGACY_FINALITY_VERSION, TOKEN, TOKEN_DECIMALS, }; use aleph_runtime::{ - AccountId, AuraConfig, BalancesConfig, ElectionsConfig, GenesisConfig, Perbill, SessionConfig, - SessionKeys, StakingConfig, SudoConfig, SystemConfig, VestingConfig, WASM_BINARY, + AccountId, AlephConfig, AuraConfig, BalancesConfig, ElectionsConfig, GenesisConfig, Perbill, + SessionConfig, SessionKeys, StakingConfig, SudoConfig, SystemConfig, VestingConfig, + WASM_BINARY, }; use libp2p::PeerId; use pallet_staking::{Forcing, StakerStatus}; @@ -136,6 +138,10 @@ pub struct ChainParams { /// Minimum number of stakers before chain enters emergency state. #[arg(long, default_value = "4")] min_validator_count: u32, + + /// Finality version at chain inception. + #[arg(long, default_value = LEGACY_FINALITY_VERSION.to_string())] + finality_version: FinalityVersion, } impl ChainParams { @@ -170,6 +176,10 @@ impl ChainParams { pub fn min_validator_count(&self) -> u32 { self.min_validator_count } + + pub fn finality_version(&self) -> FinalityVersion { + self.finality_version + } } fn system_properties(token_symbol: String) -> serde_json::map::Map { @@ -218,6 +228,7 @@ fn generate_chain_spec_config( let sudo_account = chain_params.sudo_account_id(); let faucet_account = chain_params.faucet_account_id(); let min_validator_count = chain_params.min_validator_count(); + let finality_version = chain_params.finality_version(); Ok(ChainSpec::from_genesis( // Name @@ -233,6 +244,7 @@ fn generate_chain_spec_config( faucet_account.clone(), // Pre-funded faucet account controller_accounts.clone(), // Controller accounts for staking. min_validator_count, + finality_version, ) }, // Bootnodes @@ -335,6 +347,7 @@ fn generate_genesis_config( faucet_account: Option, controller_accounts: Vec, min_validator_count: u32, + finality_version: FinalityVersion, ) -> GenesisConfig { let special_accounts = match faucet_account { Some(faucet_id) => vec![sudo_account.clone(), faucet_id], @@ -398,6 +411,10 @@ fn generate_genesis_config( min_nominator_bond: MIN_NOMINATOR_BOND, ..Default::default() }, + aleph: AlephConfig { + finality_version, + ..Default::default() + }, treasury: Default::default(), vesting: VestingConfig { vesting: vec![] }, nomination_pools: Default::default(), diff --git a/bin/runtime/Cargo.toml b/bin/runtime/Cargo.toml index 238c41da18..98d508007d 100644 --- a/bin/runtime/Cargo.toml +++ b/bin/runtime/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "aleph-runtime" -version = "0.9.0" +version = "0.9.1" authors = ["Cardinal Cryptography"] edition = "2021" homepage = "https://alephzero.org" diff --git a/e2e-tests/Cargo.lock b/e2e-tests/Cargo.lock index 65e4f412e7..1b5bfc1320 100644 --- a/e2e-tests/Cargo.lock +++ b/e2e-tests/Cargo.lock @@ -49,7 +49,7 @@ dependencies = [ [[package]] name = "aleph-e2e-client" -version = "0.10.1" +version = "0.11.0" dependencies = [ "aleph_client", "anyhow", @@ -78,7 +78,7 @@ dependencies = [ [[package]] name = "aleph_client" -version = "2.12.0" +version = "2.13.0" dependencies = [ "anyhow", "async-trait", @@ -2687,7 +2687,7 @@ dependencies = [ [[package]] name = "primitives" -version = "0.5.4" +version = "0.5.5" dependencies = [ "parity-scale-codec", "scale-info", diff --git a/e2e-tests/Cargo.toml b/e2e-tests/Cargo.toml index 7f027d28a5..f30feb5f02 100644 --- a/e2e-tests/Cargo.toml +++ b/e2e-tests/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "aleph-e2e-client" -version = "0.10.1" +version = "0.11.0" edition = "2021" license = "Apache 2.0" diff --git a/e2e-tests/src/finality_version.rs b/e2e-tests/src/finality_version.rs new file mode 100644 index 0000000000..68d4b9fffe --- /dev/null +++ b/e2e-tests/src/finality_version.rs @@ -0,0 +1,37 @@ +use aleph_client::{pallets::aleph::AlephApi, utility::BlocksApi, Connection}; +use log::info; +use primitives::{BlockNumber, Version}; + +pub async fn check_finality_version_at_block( + connection: &Connection, + block_number: BlockNumber, + expected_version: Version, +) { + info!( + "Checking current session finality version for block {}", + block_number + ); + let block_hash = connection + .get_block_hash(block_number) + .await + .expect("Should have been able to get a block hash!"); + let finality_version = connection.finality_version(block_hash).await; + assert_eq!(finality_version, expected_version); +} + +pub async fn check_next_session_finality_version_at_block( + connection: &Connection, + block_number: BlockNumber, + expected_version: Version, +) { + info!( + "Checking next session finality version for block {}", + block_number + ); + let block_hash = connection + .get_block_hash(block_number) + .await + .expect("Should have been able to get a block hash!"); + let next_finality_version = connection.next_session_finality_version(block_hash).await; + assert_eq!(next_finality_version, expected_version); +} diff --git a/e2e-tests/src/lib.rs b/e2e-tests/src/lib.rs index 1bf9a76cfd..305204ad1d 100644 --- a/e2e-tests/src/lib.rs +++ b/e2e-tests/src/lib.rs @@ -7,6 +7,8 @@ mod config; #[cfg(test)] mod elections; #[cfg(test)] +mod finality_version; +#[cfg(test)] mod rewards; #[cfg(test)] mod synthetic_network; diff --git a/e2e-tests/src/test/finality_version.rs b/e2e-tests/src/test/finality_version.rs new file mode 100644 index 0000000000..06053e4d75 --- /dev/null +++ b/e2e-tests/src/test/finality_version.rs @@ -0,0 +1,223 @@ +use aleph_client::{ + pallets::{aleph::AlephSudoApi, elections::ElectionsApi, session::SessionApi}, + utility::BlocksApi, + waiting::{AlephWaiting, BlockStatus}, + AsConnection, TxStatus, +}; +use anyhow::anyhow; +use log::info; +use primitives::{BlockNumber, SessionIndex, Version, LEGACY_FINALITY_VERSION}; + +use crate::{ + config::setup_test, + finality_version::{ + check_finality_version_at_block, check_next_session_finality_version_at_block, + }, +}; + +const UPGRADE_TO_VERSION: u32 = 1; +const UPGRADE_SESSION: SessionIndex = 3; +const UPGRADE_FINALIZATION_WAIT_SESSIONS: u32 = 3; + +const SESSION_WITH_FINALITY_VERSION_CHANGE: SessionIndex = 4; +const SCHEDULING_OFFSET_SESSIONS: f64 = -2.5; +const CHECK_START_BLOCK: BlockNumber = 0; + +/// Simple test that schedules a version upgrade, awaits it, and checks if the node is still finalizing after the planned upgrade session. +#[tokio::test] +pub async fn schedule_version_change() -> anyhow::Result<()> { + let config = setup_test(); + let connection = config.create_root_connection().await; + let test_case_params = config.test_case_params.clone(); + + let current_session = connection.get_session(None).await; + let version_for_upgrade = test_case_params + .upgrade_to_version + .unwrap_or(UPGRADE_TO_VERSION); + let session_for_upgrade = + current_session + test_case_params.upgrade_session.unwrap_or(UPGRADE_SESSION); + let wait_sessions_after_upgrade = test_case_params + .upgrade_finalization_wait_sessions + .unwrap_or(UPGRADE_FINALIZATION_WAIT_SESSIONS); + let session_after_upgrade = session_for_upgrade + wait_sessions_after_upgrade; + + connection + .schedule_finality_version_change( + version_for_upgrade, + session_for_upgrade, + TxStatus::Finalized, + ) + .await?; + connection + .wait_for_session(session_after_upgrade + 1, BlockStatus::Finalized) + .await; + + let block_number = connection + .get_best_block() + .await? + .ok_or(anyhow!("Failed to retrieve best block number!"))?; + connection + .wait_for_block(|n| n >= block_number, BlockStatus::Finalized) + .await; + + Ok(()) +} + +/// A test that schedules a version upgrade which is supposed to fail, awaits it, and checks if finalization stopped. +/// It's up to the user of this test to ensure that version upgrade will actually break finalization (a non-compatible change in protocol, # updated nodes k is f < k < 2/3n). +#[tokio::test] +pub async fn schedule_doomed_version_change_and_verify_finalization_stopped() -> anyhow::Result<()> +{ + let config = setup_test(); + let connection = config.create_root_connection().await; + let test_case_params = config.test_case_params.clone(); + + let current_session = connection.get_session(None).await; + let version_for_upgrade = test_case_params + .upgrade_to_version + .unwrap_or(UPGRADE_TO_VERSION); + let session_for_upgrade = + current_session + test_case_params.upgrade_session.unwrap_or(UPGRADE_SESSION); + let wait_sessions_after_upgrade = test_case_params + .upgrade_finalization_wait_sessions + .unwrap_or(UPGRADE_FINALIZATION_WAIT_SESSIONS); + let session_after_upgrade = session_for_upgrade + wait_sessions_after_upgrade; + + connection + .schedule_finality_version_change( + version_for_upgrade, + session_for_upgrade, + TxStatus::Finalized, + ) + .await?; + connection + .wait_for_session(session_after_upgrade + 1, BlockStatus::Best) + .await; + + let last_finalized_block = session_for_upgrade * connection.get_session_period().await? - 1; + + let finalized_block_head = connection.get_finalized_block_hash().await?; + let finalized_block = connection.get_block_number(finalized_block_head).await?; + + let finalized_block = match finalized_block { + Some(block) => block, + _ => { + return Err(anyhow::Error::msg( + "somehow no block was finalized (even though we saw one)", + )) + } + }; + + // check if finalization is still behind the upgrade-session + assert!(finalized_block <= last_finalized_block); + + Ok(()) +} + +/// Sets up the test. Waits for block 2.5 sessions ahead of `SESSION_WITH_FINALITY_VERSION_CHANGE`. +/// Schedules a finality version change. Waits for all blocks of session +/// `SESSION_WITH_FINALITY_VERSION_CHANGE` to be finalized. Checks the finality version and the +/// finality version for the next session for all the blocks from block `CHECK_START_BLOCK` +/// until the end of session `SESSION_WITH_FINALITY_VERSION_CHANGE`. +#[tokio::test] +pub async fn finality_version_change() -> anyhow::Result<()> { + let config = setup_test(); + let root_connection = config.create_root_connection().await; + let session_period = root_connection.get_session_period().await?; + + let start_point_in_sessions = + SESSION_WITH_FINALITY_VERSION_CHANGE as f64 + SCHEDULING_OFFSET_SESSIONS; + let scheduling_block = (start_point_in_sessions * session_period as f64) as u32; + let end_block = (SESSION_WITH_FINALITY_VERSION_CHANGE + 1) * session_period - 1; + + let first_incoming_finality_version = LEGACY_FINALITY_VERSION as Version + 1; + + info!( + "Finality version check | start block: {} | end block: {}", + CHECK_START_BLOCK, end_block, + ); + info!( + "Version change to be scheduled on block {} for block {}", + scheduling_block, + SESSION_WITH_FINALITY_VERSION_CHANGE * session_period + ); + root_connection + .wait_for_block(|n| n >= scheduling_block, BlockStatus::Finalized) + .await; + + root_connection + .schedule_finality_version_change( + first_incoming_finality_version, + SESSION_WITH_FINALITY_VERSION_CHANGE, + TxStatus::Finalized, + ) + .await?; + + root_connection + .wait_for_block(|n| n >= end_block, BlockStatus::Finalized) + .await; + + let finality_change_block = SESSION_WITH_FINALITY_VERSION_CHANGE * session_period; + let last_block_with_default_next_session_finality_version = + finality_change_block - session_period - 1; + + info!( + "Checking default finality versions. Blocks {} to {}", + CHECK_START_BLOCK, last_block_with_default_next_session_finality_version + ); + for block in CHECK_START_BLOCK..(last_block_with_default_next_session_finality_version + 1) { + check_finality_version_at_block( + root_connection.as_connection(), + block, + LEGACY_FINALITY_VERSION as Version, + ) + .await; + check_next_session_finality_version_at_block( + root_connection.as_connection(), + block, + LEGACY_FINALITY_VERSION as Version, + ) + .await; + } + + info!( + "Checking finality versions for session prior to the change. Blocks {} to {}", + last_block_with_default_next_session_finality_version + 1, + finality_change_block - 1 + ); + for block in (last_block_with_default_next_session_finality_version + 1)..finality_change_block + { + check_finality_version_at_block( + root_connection.as_connection(), + block, + LEGACY_FINALITY_VERSION as Version, + ) + .await; + check_next_session_finality_version_at_block( + root_connection.as_connection(), + block, + first_incoming_finality_version, + ) + .await; + } + info!( + "Checking finality versions once the change has come into effect. Blocks {} to {}", + finality_change_block, end_block + ); + for block in finality_change_block..(end_block + 1) { + check_finality_version_at_block( + root_connection.as_connection(), + block, + first_incoming_finality_version, + ) + .await; + check_next_session_finality_version_at_block( + root_connection.as_connection(), + block, + first_incoming_finality_version, + ) + .await; + } + + Ok(()) +} diff --git a/e2e-tests/src/test/mod.rs b/e2e-tests/src/test/mod.rs index 367ae28eda..c5ffd807bc 100644 --- a/e2e-tests/src/test/mod.rs +++ b/e2e-tests/src/test/mod.rs @@ -5,6 +5,10 @@ pub use electing_validators::authorities_are_staking; pub use era_payout::era_payouts_calculated_correctly; pub use era_validators::era_validators; pub use fee::fee_calculation; +pub use finality_version::{ + finality_version_change, schedule_doomed_version_change_and_verify_finalization_stopped, + schedule_version_change, +}; pub use finalization::finalization; pub use high_latency::{high_out_latency_for_all, high_out_latency_for_each_quorum}; pub use rewards::{ @@ -15,9 +19,6 @@ pub use transfer::token_transfer; pub use treasury::{channeling_fee_and_tip, treasury_access}; pub use utility::batch_transactions; pub use validators_rotate::validators_rotate; -pub use version_upgrade::{ - schedule_doomed_version_change_and_verify_finalization_stopped, schedule_version_change, -}; mod adder; mod ban; @@ -25,6 +26,7 @@ mod electing_validators; mod era_payout; mod era_validators; mod fee; +mod finality_version; mod finalization; mod helpers; mod high_latency; @@ -35,4 +37,3 @@ mod treasury; mod utility; mod validators_change; mod validators_rotate; -mod version_upgrade; diff --git a/e2e-tests/src/test/version_upgrade.rs b/e2e-tests/src/test/version_upgrade.rs deleted file mode 100644 index 6bce869b1a..0000000000 --- a/e2e-tests/src/test/version_upgrade.rs +++ /dev/null @@ -1,108 +0,0 @@ -use aleph_client::{ - pallets::{aleph::AlephSudoApi, elections::ElectionsApi, session::SessionApi}, - utility::BlocksApi, - waiting::{AlephWaiting, BlockStatus}, - TxStatus, -}; -use anyhow::anyhow; -use primitives::SessionIndex; - -use crate::config::setup_test; - -const UPGRADE_TO_VERSION: u32 = 1; - -const UPGRADE_SESSION: SessionIndex = 3; - -const UPGRADE_FINALIZATION_WAIT_SESSIONS: u32 = 3; - -// Simple test that schedules a version upgrade, awaits it, and checks if node is still finalizing after planned upgrade session. -#[tokio::test] -pub async fn schedule_version_change() -> anyhow::Result<()> { - let config = setup_test(); - let connection = config.create_root_connection().await; - let test_case_params = config.test_case_params.clone(); - - let current_session = connection.get_session(None).await; - let version_for_upgrade = test_case_params - .upgrade_to_version - .unwrap_or(UPGRADE_TO_VERSION); - let session_for_upgrade = - current_session + test_case_params.upgrade_session.unwrap_or(UPGRADE_SESSION); - let wait_sessions_after_upgrade = test_case_params - .upgrade_finalization_wait_sessions - .unwrap_or(UPGRADE_FINALIZATION_WAIT_SESSIONS); - let session_after_upgrade = session_for_upgrade + wait_sessions_after_upgrade; - - connection - .schedule_finality_version_change( - version_for_upgrade, - session_for_upgrade, - TxStatus::Finalized, - ) - .await?; - connection - .wait_for_session(session_after_upgrade + 1, BlockStatus::Finalized) - .await; - - let block_number = connection - .get_best_block() - .await? - .ok_or(anyhow!("Failed to retrieve best block number!"))?; - connection - .wait_for_block(|n| n >= block_number, BlockStatus::Finalized) - .await; - - Ok(()) -} - -// A test that schedules a version upgrade which is supposed to fail, awaits it, and checks if finalization stopped. -// It's up to the user of this test to ensure that version upgrade will actually break finalization (non-compatible change in protocol, # updated nodes k is f < k < 2/3n). -#[tokio::test] -pub async fn schedule_doomed_version_change_and_verify_finalization_stopped() -> anyhow::Result<()> -{ - let config = setup_test(); - let connection = config.create_root_connection().await; - let test_case_params = config.test_case_params.clone(); - - let current_session = connection.get_session(None).await; - let version_for_upgrade = test_case_params - .upgrade_to_version - .unwrap_or(UPGRADE_TO_VERSION); - let session_for_upgrade = - current_session + test_case_params.upgrade_session.unwrap_or(UPGRADE_SESSION); - let wait_sessions_after_upgrade = test_case_params - .upgrade_finalization_wait_sessions - .unwrap_or(UPGRADE_FINALIZATION_WAIT_SESSIONS); - let session_after_upgrade = session_for_upgrade + wait_sessions_after_upgrade; - - connection - .schedule_finality_version_change( - version_for_upgrade, - session_for_upgrade, - TxStatus::Finalized, - ) - .await?; - connection - .wait_for_session(session_after_upgrade + 1, BlockStatus::Best) - .await; - - let last_finalized_block = session_for_upgrade * connection.get_session_period().await? - 1; - - let connection = connection; - let finalized_block_head = connection.get_finalized_block_hash().await?; - let finalized_block = connection.get_block_number(finalized_block_head).await?; - - let finalized_block = match finalized_block { - Some(block) => block, - _ => { - return Err(anyhow::Error::msg( - "somehow no block was finalized (even though we saw one)", - )) - } - }; - - // check if finalization is still behind the upgrade-session - assert!(finalized_block <= last_finalized_block); - - Ok(()) -} diff --git a/finality-aleph/Cargo.toml b/finality-aleph/Cargo.toml index cd2dae041c..b40e86b6f3 100644 --- a/finality-aleph/Cargo.toml +++ b/finality-aleph/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "finality-aleph" -version = "0.6.0" +version = "0.6.1" authors = ["Cardinal Cryptography"] edition = "2021" license = "Apache 2.0" diff --git a/finality-aleph/src/abft/current.rs b/finality-aleph/src/abft/current.rs index c2302b877f..8a2fb2d474 100644 --- a/finality-aleph/src/abft/current.rs +++ b/finality-aleph/src/abft/current.rs @@ -1,3 +1,4 @@ +pub use aleph_primitives::CURRENT_FINALITY_VERSION as VERSION; use current_aleph_bft::{default_config, Config, LocalIO, Terminator}; use log::debug; use sp_blockchain::HeaderBackend; @@ -16,9 +17,6 @@ use crate::{ CurrentNetworkData, Hasher, Keychain, NodeIndex, SessionId, SignatureSet, UnitCreationDelay, }; -/// Version of the current abft -pub const VERSION: u16 = 2; - pub fn run_member< B: Block, C: HeaderBackend + Send + 'static, diff --git a/finality-aleph/src/abft/legacy.rs b/finality-aleph/src/abft/legacy.rs index b03e68e7b1..ba3ed40a99 100644 --- a/finality-aleph/src/abft/legacy.rs +++ b/finality-aleph/src/abft/legacy.rs @@ -1,3 +1,4 @@ +pub use aleph_primitives::LEGACY_FINALITY_VERSION as VERSION; use legacy_aleph_bft::{default_config, Config, LocalIO, Terminator}; use log::debug; use sp_blockchain::HeaderBackend; @@ -16,9 +17,6 @@ use crate::{ Keychain, LegacyNetworkData, NodeIndex, SessionId, UnitCreationDelay, }; -/// Version of the legacy abft -pub const VERSION: u16 = 1; - pub fn run_member< B: Block, C: HeaderBackend + Send + 'static, diff --git a/flooder/Cargo.lock b/flooder/Cargo.lock index 1a7a86ab31..8f2c6f859c 100644 --- a/flooder/Cargo.lock +++ b/flooder/Cargo.lock @@ -49,7 +49,7 @@ dependencies = [ [[package]] name = "aleph_client" -version = "2.12.0" +version = "2.13.0" dependencies = [ "anyhow", "async-trait", @@ -2421,7 +2421,7 @@ dependencies = [ [[package]] name = "primitives" -version = "0.5.4" +version = "0.5.5" dependencies = [ "parity-scale-codec", "scale-info", diff --git a/pallets/aleph/Cargo.toml b/pallets/aleph/Cargo.toml index 5b4897431d..4b85e2990f 100644 --- a/pallets/aleph/Cargo.toml +++ b/pallets/aleph/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "pallet-aleph" -version = "0.5.4" +version = "0.5.5" authors = ["Cardinal Cryptography"] edition = "2021" license = "Apache 2.0" diff --git a/pallets/aleph/src/lib.rs b/pallets/aleph/src/lib.rs index b3301607d2..06668c4795 100644 --- a/pallets/aleph/src/lib.rs +++ b/pallets/aleph/src/lib.rs @@ -31,14 +31,14 @@ use frame_support::{ traits::{OneSessionHandler, StorageVersion}, }; pub use pallet::*; -use primitives::{SessionIndex, Version, VersionChange}; +use primitives::{ + SessionIndex, Version, VersionChange, DEFAULT_FINALITY_VERSION, LEGACY_FINALITY_VERSION, +}; use sp_std::prelude::*; /// The current storage version. const STORAGE_VERSION: StorageVersion = StorageVersion::new(2); -const DEFAULT_FINALITY_VERSION: Version = 1; - #[frame_support::pallet] pub mod pallet { use frame_support::{pallet_prelude::*, sp_runtime::RuntimeAppPublic}; @@ -48,6 +48,7 @@ pub mod pallet { }; use pallet_session::SessionManager; use pallets_support::StorageMigration; + use sp_std::marker::PhantomData; use super::*; use crate::traits::{NextSessionAuthorityProvider, SessionInfoProvider}; @@ -304,4 +305,27 @@ pub mod pallet { fn on_disabled(_validator_index: u32) {} } + + #[pallet::genesis_config] + pub struct GenesisConfig { + pub finality_version: Version, + pub _marker: PhantomData, + } + + #[cfg(feature = "std")] + impl Default for GenesisConfig { + fn default() -> Self { + Self { + finality_version: LEGACY_FINALITY_VERSION as u32, + _marker: Default::default(), + } + } + } + + #[pallet::genesis_build] + impl GenesisBuild for GenesisConfig { + fn build(&self) { + >::put(&self.finality_version); + } + } } diff --git a/primitives/Cargo.toml b/primitives/Cargo.toml index d520341812..29cf604fc6 100644 --- a/primitives/Cargo.toml +++ b/primitives/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "primitives" -version = "0.5.4" +version = "0.5.5" authors = ["Cardinal Cryptography"] edition = "2021" license = "Apache 2.0" diff --git a/primitives/src/lib.rs b/primitives/src/lib.rs index 61753d47cb..857313e39f 100644 --- a/primitives/src/lib.rs +++ b/primitives/src/lib.rs @@ -65,9 +65,17 @@ pub const DEFAULT_COMMITTEE_SIZE: u32 = 4; pub const DEFAULT_BAN_MINIMAL_EXPECTED_PERFORMANCE: Perbill = Perbill::from_percent(0); pub const DEFAULT_BAN_SESSION_COUNT_THRESHOLD: SessionCount = 3; pub const DEFAULT_BAN_REASON_LENGTH: u32 = 300; + pub const DEFAULT_CLEAN_SESSION_COUNTER_DELAY: SessionCount = 960; pub const DEFAULT_BAN_PERIOD: EraIndex = 10; +/// Version returned when no version has been set. +pub const DEFAULT_FINALITY_VERSION: Version = 0; +/// Current version of abft. +pub const CURRENT_FINALITY_VERSION: u16 = LEGACY_FINALITY_VERSION + 1; +/// Legacy version of abft. +pub const LEGACY_FINALITY_VERSION: u16 = 1; + /// Openness of the process of the elections #[derive(Decode, Encode, TypeInfo, Debug, Clone, PartialEq, Eq)] pub enum ElectionOpenness { From 4f700b3b5c06115c26aa261511d1d421effe958d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Obrok?= Date: Tue, 31 Jan 2023 14:51:11 +0100 Subject: [PATCH 124/212] Use tokio instead of thread to sleep in e2e --- e2e-tests/src/test/button_game/mod.rs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/e2e-tests/src/test/button_game/mod.rs b/e2e-tests/src/test/button_game/mod.rs index 21045595a4..812d2bf0ff 100644 --- a/e2e-tests/src/test/button_game/mod.rs +++ b/e2e-tests/src/test/button_game/mod.rs @@ -1,10 +1,11 @@ -use std::{thread, time::Duration}; +use std::time::Duration; use aleph_client::{contract_transcode::Value, pallets::system::SystemApi}; use anyhow::Result; use assert2::{assert, let_assert}; use helpers::sign; use log::info; +use tokio::time::sleep; use crate::{ config::{setup_test, Config}, @@ -269,7 +270,7 @@ pub async fn marketplace() -> Result<()> { .await?; let early_price = marketplace.price(&conn).await?; - thread::sleep(Duration::from_secs(2)); + sleep(Duration::from_secs(2)).await; let later_price = marketplace.price(&conn).await?; assert!(later_price < early_price); @@ -471,7 +472,7 @@ async fn button_game_play( ); info!("Waiting before pressing again"); - thread::sleep(Duration::from_secs(5)); + sleep(Duration::from_secs(5)).await; button.press(&sign(&conn, player)).await?; let event = assert_recv_id(&mut events, "ButtonPressed").await; From fe85d3ffb77a126564a146ae11acc338a7665f27 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Obrok?= Date: Tue, 31 Jan 2023 16:24:32 +0100 Subject: [PATCH 125/212] Simplify error unpacking --- contracts/button/errors.rs | 9 +++++++++ contracts/button/lib.rs | 10 ++-------- contracts/marketplace/lib.rs | 12 ++++++++---- contracts/simple_dex/lib.rs | 13 ++++++++----- 4 files changed, 27 insertions(+), 17 deletions(-) diff --git a/contracts/button/errors.rs b/contracts/button/errors.rs index 36eab2c933..c2799aeadf 100644 --- a/contracts/button/errors.rs +++ b/contracts/button/errors.rs @@ -2,6 +2,7 @@ use access_control::roles::Role; use ink::{ env::Error as InkEnvError, prelude::{format, string::String}, + LangError, }; use marketplace::marketplace::Error as MarketplaceError; use openbrush::contracts::psp22::PSP22Error; @@ -26,6 +27,8 @@ pub enum GameError { Arithmethic, /// Error from the marketplace contract MarketplaceError(MarketplaceError), + /// Error while calling another contract + ContractCall(LangError), } impl From for GameError { @@ -45,3 +48,9 @@ impl From for GameError { GameError::MarketplaceError(e) } } + +impl From for GameError { + fn from(e: LangError) -> Self { + GameError::ContractCall(e) + } +} diff --git a/contracts/button/lib.rs b/contracts/button/lib.rs index ad348479f3..10aeea5a14 100644 --- a/contracts/button/lib.rs +++ b/contracts/button/lib.rs @@ -343,10 +343,7 @@ pub mod button_game { vec![], ) .call_flags(CallFlags::default().set_allow_reentry(true)) - .fire() - .map_err(GameError::from)? - .unwrap() // new error we can't do anything about. - .map_err(GameError::from)?; + .fire()???; Ok(()) } @@ -393,10 +390,7 @@ pub mod button_game { ) -> ButtonResult<()> { PSP22Ref::transfer_from_builder(&self.ticket_token, from, to, value, vec![]) .call_flags(CallFlags::default().set_allow_reentry(true)) - .fire() - .map_err(GameError::from)? - .unwrap() // new error we can't do anything about. - .map_err(GameError::from)?; + .fire()???; Ok(()) } diff --git a/contracts/marketplace/lib.rs b/contracts/marketplace/lib.rs index 42a887039f..48038531da 100644 --- a/contracts/marketplace/lib.rs +++ b/contracts/marketplace/lib.rs @@ -30,6 +30,7 @@ pub mod marketplace { env::call::FromAccountId, prelude::{format, string::String, vec}, reflect::ContractEventBase, + LangError, }; use openbrush::contracts::psp22::{ extensions::burnable::PSP22BurnableRef, PSP22Error, PSP22Ref, @@ -84,6 +85,12 @@ pub mod marketplace { } } + impl From for Error { + fn from(inner: LangError) -> Self { + Error::ContractCall(format!("{:?}", inner)) + } + } + impl Marketplace { #[ink(constructor)] pub fn new( @@ -261,10 +268,7 @@ pub mod marketplace { fn take_payment(&self, from: AccountId, amount: Balance) -> Result<(), Error> { PSP22BurnableRef::burn_builder(&self.reward_token, from, amount) .call_flags(ink::env::CallFlags::default().set_allow_reentry(true)) - .fire() - .map_err(Error::from)? - .unwrap() // new error we can't do anything about. - .map_err(Error::from)?; + .fire()???; Ok(()) } diff --git a/contracts/simple_dex/lib.rs b/contracts/simple_dex/lib.rs index 16ac3bc976..3976e5a5a9 100644 --- a/contracts/simple_dex/lib.rs +++ b/contracts/simple_dex/lib.rs @@ -17,7 +17,7 @@ mod simple_dex { env::{call::FromAccountId, CallFlags, Error as InkEnvError}, prelude::{format, string::String, vec, vec::Vec}, reflect::ContractEventBase, - ToAccountId, + LangError, ToAccountId, }; use openbrush::{ contracts::{psp22::PSP22Ref, traits::errors::PSP22Error}, @@ -67,6 +67,12 @@ mod simple_dex { } } + impl From for DexError { + fn from(why: LangError) -> Self { + DexError::CrossContractCall(format!("{:?}", why)) + } + } + #[ink(event)] pub struct Deposited { caller: AccountId, @@ -451,10 +457,7 @@ mod simple_dex { ) -> Result<(), DexError> { PSP22Ref::transfer_from_builder(&token, from, to, amount, vec![0x0]) .call_flags(CallFlags::default().set_allow_reentry(true)) - .fire() - .map_err(DexError::from)? - .unwrap() // new error we can't do anything about. - .map_err(DexError::from)?; + .fire()???; Ok(()) } From 08b590efd72364d2a65c5e84729a5078b3abc14c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Obrok?= Date: Tue, 31 Jan 2023 17:07:46 +0100 Subject: [PATCH 126/212] Run CI contract tests on regular nodes --- .../contracts-e2e-tests-and-deploy.yaml | 35 +++++++------------ 1 file changed, 12 insertions(+), 23 deletions(-) diff --git a/.github/workflows/contracts-e2e-tests-and-deploy.yaml b/.github/workflows/contracts-e2e-tests-and-deploy.yaml index c5a8ddd846..b093bf52df 100644 --- a/.github/workflows/contracts-e2e-tests-and-deploy.yaml +++ b/.github/workflows/contracts-e2e-tests-and-deploy.yaml @@ -15,7 +15,6 @@ concurrency: env: CACHE_KEY: fe-benjamin-button CONTRACTS_ENVFILE: fe-benjamin - CARGOCONTRACT_REV: 2b1758756de59bd81e7bed5f8429d364f281cb9a NODE_VERSION: 16 S3BUCKET_PATH: contracts/fe-benjamin-button @@ -68,12 +67,11 @@ jobs: contracts/ticket_token/target/ contracts/wrapped_azero/target/ - # TODO : this should NOT be built every time - name: Install cargo-contract - run: | - cargo install cargo-dylint dylint-link --force - # revision merging Hans's PR changes [fix for node URL parsing ] - cargo install --git https://github.com/paritytech/cargo-contract.git --rev ${{ env.CARGOCONTRACT_REV }} --force + uses: baptiste0928/cargo-install@v1 + with: + crate: cargo-contract + version: "2.0.0-beta.1" - name: Configure AWS credentials uses: aws-actions/configure-aws-credentials@v1 @@ -92,22 +90,15 @@ jobs: env: AWS_REGION: us-east-1 - - name: Run one-node smartnet + - name: Run nodes shell: bash run: | - .github/scripts/run_smartnet.sh & + scripts/run_nodes.sh - name: Display node logs shell: bash run: | - docker logs smartnode --follow & - - # wait some while docker pulls the image and starts the node - - name: Wait for finalization - shell: bash - run: | - .github/scripts/check_finalization.sh - timeout-minutes: 1 + tail -f node-0.log & - name: Run e2e tests shell: bash @@ -200,13 +191,11 @@ jobs: . "$HOME/.cargo/env" cargo install dylint-link cargo-dylint - # TODO : this should NOT be built every time - - name: Install cargo-contract with bug fixes around URL parsing - run: | - . "$HOME/.cargo/env" - cargo install --git https://github.com/paritytech/cargo-contract.git --rev ${{ env.CARGOCONTRACT_REV }} --force - - # TODO: Cache some files from contracts directory to fasten up builds, is that possible? + - name: Install cargo-contract + uses: baptiste0928/cargo-install@v1 + with: + crate: cargo-contract + version: "2.0.0-beta.1" - name: Configure AWS credentials uses: aws-actions/configure-aws-credentials@v1 From d2942ee98c64f341dfa29b5c0276fe9afe4239c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Obrok?= Date: Thu, 2 Feb 2023 13:16:45 +0100 Subject: [PATCH 127/212] Use existing action for button e2e tests on CI --- .github/actions/run-e2e-test/action.yml | 11 ++++++ .../contracts-e2e-tests-and-deploy.yaml | 35 +++---------------- 2 files changed, 16 insertions(+), 30 deletions(-) diff --git a/.github/actions/run-e2e-test/action.yml b/.github/actions/run-e2e-test/action.yml index d0139b4646..b2b1adb186 100644 --- a/.github/actions/run-e2e-test/action.yml +++ b/.github/actions/run-e2e-test/action.yml @@ -30,6 +30,10 @@ inputs: description: 'Whether to deploy the adder sample contract to the node.' required: false default: 'false' + deploy-button: + description: 'Whether to deploy the button game contracts to the node.' + required: false + default: 'false' image-path: description: 'Custom path to docker image for aleph-node' required: false @@ -111,6 +115,13 @@ runs: popd fi + DEPLOY_BUTTON="${{ inputs.deploy-button }}" + + if [[ "${DEPLOY_BUTTON}" = "true" ]]; then + source contracts/env/dev + contracts/scripts/deploy.sh + fi + ./.github/scripts/run_e2e_test.sh "${ARGS[@]}" - name: Run finalization e2e test diff --git a/.github/workflows/contracts-e2e-tests-and-deploy.yaml b/.github/workflows/contracts-e2e-tests-and-deploy.yaml index b093bf52df..8764497e1c 100644 --- a/.github/workflows/contracts-e2e-tests-and-deploy.yaml +++ b/.github/workflows/contracts-e2e-tests-and-deploy.yaml @@ -73,37 +73,12 @@ jobs: crate: cargo-contract version: "2.0.0-beta.1" - - name: Configure AWS credentials - uses: aws-actions/configure-aws-credentials@v1 - with: - aws-access-key-id: ${{ secrets.AWS_MAINNET_ACCESS_KEY_ID }} - aws-secret-access-key: ${{ secrets.AWS_MAINNET_SECRET_ACCESS_KEY }} - aws-region: eu-central-1 - - - name: Login to Private Amazon ECR - id: login-private-ecr - uses: docker/login-action@v1 + - name: Run e2e test + uses: ./.github/actions/run-e2e-test with: - registry: 573243519133.dkr.ecr.us-east-1.amazonaws.com - username: ${{ secrets.AWS_MAINNET_ACCESS_KEY_ID }} - password: ${{ secrets.AWS_MAINNET_SECRET_ACCESS_KEY }} - env: - AWS_REGION: us-east-1 - - - name: Run nodes - shell: bash - run: | - scripts/run_nodes.sh - - - name: Display node logs - shell: bash - run: | - tail -f node-0.log & - - - name: Run e2e tests - shell: bash - run: | - source ./contracts/env/dev && ./contracts/scripts/deploy.sh && ./contracts/scripts/test.sh + deploy-adder: true + test-case: button_game + timeout-minutes: 10 - name: Cleanup cache uses: ./.github/actions/post-cache From ca2d2c86517a46ff390262a552af27ba915bdd58 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Obrok?= Date: Thu, 2 Feb 2023 15:39:38 +0100 Subject: [PATCH 128/212] Build image for contract e2e tests --- .github/actions/run-e2e-test/action.yml | 6 ++++++ .github/workflows/contracts-e2e-tests-and-deploy.yaml | 10 ++++++++++ 2 files changed, 16 insertions(+) diff --git a/.github/actions/run-e2e-test/action.yml b/.github/actions/run-e2e-test/action.yml index b2b1adb186..50a16d7119 100644 --- a/.github/actions/run-e2e-test/action.yml +++ b/.github/actions/run-e2e-test/action.yml @@ -38,6 +38,10 @@ inputs: description: 'Custom path to docker image for aleph-node' required: false default: aleph-test-docker + download-image: + description: 'If true, the image will be downloaded from {{ inputs.image-path }}, otherwise it is assumed to already be available.' + required: false + default: 'true' node-image: description: 'Custom name of aleph-node image' required: false @@ -53,10 +57,12 @@ runs: - name: Download artifact with docker image uses: actions/download-artifact@v2 + if: ${{ inputs.download-image }} == 'true' with: name: ${{ inputs.image-path }} - name: Load node docker image + if: ${{ inputs.download-image }} == 'true' shell: bash run: docker load -i aleph-node.tar diff --git a/.github/workflows/contracts-e2e-tests-and-deploy.yaml b/.github/workflows/contracts-e2e-tests-and-deploy.yaml index 8764497e1c..0cdaef95ea 100644 --- a/.github/workflows/contracts-e2e-tests-and-deploy.yaml +++ b/.github/workflows/contracts-e2e-tests-and-deploy.yaml @@ -58,6 +58,7 @@ jobs: cargo-key: e2e-contracts cache-version: v3 cargo-targets: | + target/ e2e-tests/target/ contracts/access_control/target/ contracts/button/target/ @@ -73,6 +74,15 @@ jobs: crate: cargo-contract version: "2.0.0-beta.1" + - name: Build binary + run: cargo build --release -p aleph-node + + - name: Build test docker image + id: build-image + run: | + docker build --tag aleph-node:latest -f ./docker/Dockerfile . + docker save -o aleph-node.tar aleph-node:latest + - name: Run e2e test uses: ./.github/actions/run-e2e-test with: From cd1902dcf1e053d7e832cb2655b64568e336024b Mon Sep 17 00:00:00 2001 From: fixxxedpoint Date: Thu, 2 Feb 2023 17:07:06 +0100 Subject: [PATCH 129/212] A0-1897 validator-network authorization (#892) * new authorizator service for the validator network - no send/receive data before a user is authorized * unit-tests for the authorization api for the validator-network * fixed path in the script for synthetic-network * simplified authorization impl for validator network * authorization: lint * more verbose types for the authorization api * - removed mocks for AsyncWrite/Read used by the the clique authorization tests - tests for authorization in clique-network use now `prepare` instead of mocking the handshake * cleaned tests for authorization * removed the Authorization api - switched bare channels * refactored out names of the authorizator * fixed tests after refactoring the authorizator * simplified `handle_authorization` in clique network * review changes related with authorization in clique network * cleaned tests fot the authorization in the clique network --- finality-aleph/src/network/clique/incoming.rs | 22 +++- .../src/network/clique/manager/mod.rs | 4 + finality-aleph/src/network/clique/mock.rs | 1 + .../src/network/clique/protocols/mod.rs | 33 ++++- .../src/network/clique/protocols/v0/mod.rs | 119 +++++++++++++++++- .../src/network/clique/protocols/v1/mod.rs | 103 ++++++++++++++- finality-aleph/src/network/clique/service.rs | 24 +++- .../run_script_for_synthetic-network.sh | 2 +- 8 files changed, 288 insertions(+), 20 deletions(-) diff --git a/finality-aleph/src/network/clique/incoming.rs b/finality-aleph/src/network/clique/incoming.rs index cab609af98..b7fcaa0c0a 100644 --- a/finality-aleph/src/network/clique/incoming.rs +++ b/finality-aleph/src/network/clique/incoming.rs @@ -1,6 +1,6 @@ use std::fmt::{Display, Error as FmtError, Formatter}; -use futures::channel::mpsc; +use futures::channel::{mpsc, oneshot}; use log::{debug, info}; use crate::network::clique::{ @@ -40,6 +40,7 @@ async fn manage_incoming( stream: S, result_for_parent: mpsc::UnboundedSender>, data_for_user: mpsc::UnboundedSender, + authorization_requests_sender: mpsc::UnboundedSender<(SK::PublicKey, oneshot::Sender)>, ) -> Result<(), IncomingError> { debug!( target: LOG_TARGET, @@ -48,7 +49,13 @@ async fn manage_incoming( let (stream, protocol) = protocol(stream).await?; debug!(target: LOG_TARGET, "Negotiated protocol, running."); Ok(protocol - .manage_incoming(stream, secret_key, result_for_parent, data_for_user) + .manage_incoming( + stream, + secret_key, + result_for_parent, + data_for_user, + authorization_requests_sender, + ) .await?) } @@ -62,9 +69,18 @@ pub async fn incoming( stream: S, result_for_parent: mpsc::UnboundedSender>, data_for_user: mpsc::UnboundedSender, + authorization_requests_sender: mpsc::UnboundedSender<(SK::PublicKey, oneshot::Sender)>, ) { let addr = stream.peer_address_info(); - if let Err(e) = manage_incoming(secret_key, stream, result_for_parent, data_for_user).await { + if let Err(e) = manage_incoming( + secret_key, + stream, + result_for_parent, + data_for_user, + authorization_requests_sender, + ) + .await + { info!( target: LOG_TARGET, "Incoming connection from {} failed: {}.", addr, e diff --git a/finality-aleph/src/network/clique/manager/mod.rs b/finality-aleph/src/network/clique/manager/mod.rs index cb15c3db81..17f5172a8c 100644 --- a/finality-aleph/src/network/clique/manager/mod.rs +++ b/finality-aleph/src/network/clique/manager/mod.rs @@ -232,6 +232,10 @@ impl Manager { pub fn status_report(&self) -> impl Display { ManagerStatus::new(self) } + + pub fn is_authorized(&self, public_key: &PK) -> bool { + self.wanted.interested(public_key) + } } #[cfg(test)] diff --git a/finality-aleph/src/network/clique/mock.rs b/finality-aleph/src/network/clique/mock.rs index 13ade25354..1c95d37439 100644 --- a/finality-aleph/src/network/clique/mock.rs +++ b/finality-aleph/src/network/clique/mock.rs @@ -554,4 +554,5 @@ pub struct MockPrelims { pub data_from_outgoing: Option>, pub result_from_incoming: UnboundedReceiver>, pub result_from_outgoing: UnboundedReceiver>, + pub authorization_requests: mpsc::UnboundedReceiver<(MockPublicKey, oneshot::Sender)>, } diff --git a/finality-aleph/src/network/clique/protocols/mod.rs b/finality-aleph/src/network/clique/protocols/mod.rs index eb056caca8..7a35124606 100644 --- a/finality-aleph/src/network/clique/protocols/mod.rs +++ b/finality-aleph/src/network/clique/protocols/mod.rs @@ -1,6 +1,6 @@ use std::fmt::{Display, Error as FmtError, Formatter}; -use futures::channel::mpsc; +use futures::channel::{mpsc, oneshot}; use crate::network::clique::{ io::{ReceiveError, SendError}, @@ -57,6 +57,8 @@ pub enum ProtocolError { NoParentConnection, /// Data channel closed. NoUserConnection, + /// Authorization error. + NotAuthorized, } impl Display for ProtocolError { @@ -69,6 +71,7 @@ impl Display for ProtocolError { CardiacArrest => write!(f, "heartbeat stopped"), NoParentConnection => write!(f, "cannot send result to service"), NoUserConnection => write!(f, "cannot send data to user"), + NotAuthorized => write!(f, "peer not authorized"), } } } @@ -103,13 +106,35 @@ impl Protocol { &self, stream: S, secret_key: SK, - result_for_service: mpsc::UnboundedSender>, + result_for_parent: mpsc::UnboundedSender>, data_for_user: mpsc::UnboundedSender, + authorization_requests_sender: mpsc::UnboundedSender<( + SK::PublicKey, + oneshot::Sender, + )>, ) -> Result<(), ProtocolError> { use Protocol::*; match self { - V0 => v0::incoming(stream, secret_key, result_for_service, data_for_user).await, - V1 => v1::incoming(stream, secret_key, result_for_service, data_for_user).await, + V0 => { + v0::incoming( + stream, + secret_key, + authorization_requests_sender, + result_for_parent, + data_for_user, + ) + .await + } + V1 => { + v1::incoming( + stream, + secret_key, + authorization_requests_sender, + result_for_parent, + data_for_user, + ) + .await + } } } diff --git a/finality-aleph/src/network/clique/protocols/v0/mod.rs b/finality-aleph/src/network/clique/protocols/v0/mod.rs index 5d93a14f14..e2c996efe4 100644 --- a/finality-aleph/src/network/clique/protocols/v0/mod.rs +++ b/finality-aleph/src/network/clique/protocols/v0/mod.rs @@ -1,4 +1,7 @@ -use futures::{channel::mpsc, StreamExt}; +use futures::{ + channel::{mpsc, oneshot}, + StreamExt, +}; use log::{debug, info, trace}; use tokio::io::{AsyncRead, AsyncWrite}; @@ -88,6 +91,7 @@ async fn receiving( pub async fn incoming( stream: S, secret_key: SK, + authorization_requests_sender: mpsc::UnboundedSender<(SK::PublicKey, oneshot::Sender)>, result_for_parent: mpsc::UnboundedSender>, data_for_user: mpsc::UnboundedSender, ) -> Result<(), ProtocolError> { @@ -98,6 +102,10 @@ pub async fn incoming( "Incoming handshake with {} finished successfully.", public_key ); + if !check_authorization::(authorization_requests_sender, public_key.clone()).await? { + return Err(ProtocolError::NotAuthorized); + } + let (tx_exit, mut exit) = mpsc::unbounded(); result_for_parent .unbounded_send(( @@ -123,14 +131,32 @@ pub async fn incoming( } } +pub async fn check_authorization( + authorization_requests_sender: mpsc::UnboundedSender<(SK::PublicKey, oneshot::Sender)>, + public_key: SK::PublicKey, +) -> Result> { + let (sender, receiver) = oneshot::channel(); + authorization_requests_sender + .unbounded_send((public_key.clone(), sender)) + .map_err(|_| ProtocolError::NoParentConnection)?; + receiver + .await + .map_err(|_| ProtocolError::NoParentConnection) +} + #[cfg(test)] -mod tests { - use futures::{channel::mpsc, pin_mut, FutureExt, StreamExt}; +pub mod tests { + use futures::{ + channel::{mpsc, oneshot}, + pin_mut, Future, FutureExt, StreamExt, + }; - use super::{incoming, outgoing, ProtocolError}; use crate::network::clique::{ mock::{key, MockPrelims, MockSplittable}, - protocols::ConnectionType, + protocols::{ + v0::{incoming, outgoing}, + ConnectionType, ProtocolError, + }, Data, }; @@ -142,9 +168,11 @@ mod tests { let (incoming_result_for_service, result_from_incoming) = mpsc::unbounded(); let (outgoing_result_for_service, result_from_outgoing) = mpsc::unbounded(); let (data_for_user, data_from_incoming) = mpsc::unbounded::(); + let (authorization_requests_sender, authorization_requests) = mpsc::unbounded(); let incoming_handle = Box::pin(incoming( stream_incoming, pen_incoming.clone(), + authorization_requests_sender, incoming_result_for_service, data_for_user, )); @@ -165,9 +193,43 @@ mod tests { data_from_outgoing: None, result_from_incoming, result_from_outgoing, + authorization_requests, } } + fn handle_authorization( + mut authorization_requests: mpsc::UnboundedReceiver<(PK, oneshot::Sender)>, + handler: impl FnOnce(PK) -> bool + Send + 'static, + ) -> impl Future> { + tokio::spawn(async move { + let (public_key, response_sender) = authorization_requests + .next() + .await + .expect("We should recieve at least one authorization request."); + let authorization_result = handler(public_key); + response_sender + .send(authorization_result) + .expect("We should be able to send back an authorization response."); + Result::<(), ()>::Ok(()) + }) + .map(|result| match result { + Ok(ok) => ok, + Err(_) => Err(()), + }) + } + + fn all_pass_authorization_handler( + authorization_requests: mpsc::UnboundedReceiver<(PK, oneshot::Sender)>, + ) -> impl Future> { + handle_authorization(authorization_requests, |_| true) + } + + fn no_go_authorization_handler( + authorization_requests: mpsc::UnboundedReceiver<(PK, oneshot::Sender)>, + ) -> impl Future> { + handle_authorization(authorization_requests, |_| false) + } + #[tokio::test] async fn send_data() { let MockPrelims { @@ -176,8 +238,10 @@ mod tests { mut data_from_incoming, result_from_incoming: _result_from_incoming, mut result_from_outgoing, + authorization_requests, .. } = prepare::>(); + let _authorization_handle = all_pass_authorization_handler(authorization_requests); let incoming_handle = incoming_handle.fuse(); let outgoing_handle = outgoing_handle.fuse(); pin_mut!(incoming_handle); @@ -223,8 +287,10 @@ mod tests { data_from_incoming: _data_from_incoming, mut result_from_incoming, result_from_outgoing: _result_from_outgoing, + authorization_requests, .. } = prepare::>(); + let _authorization_handle = all_pass_authorization_handler(authorization_requests); let incoming_handle = incoming_handle.fuse(); let outgoing_handle = outgoing_handle.fuse(); pin_mut!(incoming_handle); @@ -252,8 +318,10 @@ mod tests { data_from_incoming: _data_from_incoming, result_from_incoming, result_from_outgoing: _result_from_outgoing, + authorization_requests, .. } = prepare::>(); + let _authorization_handle = all_pass_authorization_handler(authorization_requests); std::mem::drop(result_from_incoming); let incoming_handle = incoming_handle.fuse(); let outgoing_handle = outgoing_handle.fuse(); @@ -277,8 +345,10 @@ mod tests { data_from_incoming, result_from_incoming: _result_from_incoming, mut result_from_outgoing, + authorization_requests, .. } = prepare::>(); + let _authorization_handle = all_pass_authorization_handler(authorization_requests); std::mem::drop(data_from_incoming); let incoming_handle = incoming_handle.fuse(); let outgoing_handle = outgoing_handle.fuse(); @@ -315,8 +385,10 @@ mod tests { data_from_incoming: _data_from_incoming, result_from_incoming: _result_from_incoming, result_from_outgoing: _result_from_outgoing, + authorization_requests, .. } = prepare::>(); + let _authorization_handle = all_pass_authorization_handler(authorization_requests); std::mem::drop(outgoing_handle); match incoming_handle.await { Err(ProtocolError::HandshakeError(_)) => (), @@ -333,8 +405,10 @@ mod tests { data_from_incoming: _data_from_incoming, mut result_from_incoming, result_from_outgoing: _result_from_outgoing, + authorization_requests, .. } = prepare::>(); + let _authorization_handle = all_pass_authorization_handler(authorization_requests); let incoming_handle = incoming_handle.fuse(); pin_mut!(incoming_handle); let (_, _exit, connection_type) = tokio::select! { @@ -359,8 +433,10 @@ mod tests { data_from_incoming: _data_from_incoming, result_from_incoming: _result_from_incoming, result_from_outgoing: _result_from_outgoing, + authorization_requests, .. } = prepare::>(); + let _authorization_handle = all_pass_authorization_handler(authorization_requests); std::mem::drop(incoming_handle); match outgoing_handle.await { Err(ProtocolError::HandshakeError(_)) => (), @@ -377,8 +453,10 @@ mod tests { data_from_incoming: _data_from_incoming, mut result_from_incoming, result_from_outgoing: _result_from_outgoing, + authorization_requests, .. } = prepare::>(); + let _authorization_handle = all_pass_authorization_handler(authorization_requests); let outgoing_handle = outgoing_handle.fuse(); pin_mut!(outgoing_handle); let (_, _exit, connection_type) = tokio::select! { @@ -405,8 +483,10 @@ mod tests { data_from_incoming: _data_from_incoming, mut result_from_incoming, result_from_outgoing: _result_from_outgoing, + authorization_requests, .. } = prepare::>(); + let _authorization_handle = all_pass_authorization_handler(authorization_requests); let outgoing_handle = outgoing_handle.fuse(); pin_mut!(outgoing_handle); let (_, _exit, connection_type) = tokio::select! { @@ -421,4 +501,33 @@ mod tests { Ok(_) => panic!("successfully finished when connection dead"), }; } + + #[tokio::test] + async fn do_not_call_sender_and_receiver_until_authorized() { + let MockPrelims { + incoming_handle, + outgoing_handle, + mut data_from_incoming, + mut result_from_incoming, + authorization_requests, + .. + } = prepare::>(); + + let authorization_handle = no_go_authorization_handler(authorization_requests); + + // since we are returning `NotAuthorized` all except `outgoing_handle` should finish hapilly + let (incoming_result, outgoing_result, authorization_result) = + tokio::join!(incoming_handle, outgoing_handle, authorization_handle); + + assert!(incoming_result.is_err()); + assert!(outgoing_result.is_err()); + // this also verifies if it was called at all + assert!(authorization_result.is_ok()); + + let data_from_incoming = data_from_incoming.try_next(); + assert!(data_from_incoming.ok().flatten().is_none()); + + let result_from_incoming = result_from_incoming.try_next(); + assert!(result_from_incoming.ok().flatten().is_none()); + } } diff --git a/finality-aleph/src/network/clique/protocols/v1/mod.rs b/finality-aleph/src/network/clique/protocols/v1/mod.rs index 701baeb244..713c5b05e4 100644 --- a/finality-aleph/src/network/clique/protocols/v1/mod.rs +++ b/finality-aleph/src/network/clique/protocols/v1/mod.rs @@ -1,5 +1,8 @@ use codec::{Decode, Encode}; -use futures::{channel::mpsc, StreamExt}; +use futures::{ + channel::{mpsc, oneshot}, + StreamExt, +}; use log::{debug, info, trace}; use tokio::{ io::{AsyncRead, AsyncWrite}, @@ -10,6 +13,7 @@ use crate::network::clique::{ io::{receive_data, send_data}, protocols::{ handshake::{v0_handshake_incoming, v0_handshake_outgoing}, + v0::check_authorization, ConnectionType, ProtocolError, ResultForService, }, Data, PublicKey, SecretKey, Splittable, LOG_TARGET, @@ -106,6 +110,7 @@ pub async fn outgoing( ConnectionType::New, )) .map_err(|_| ProtocolError::NoParentConnection)?; + debug!( target: LOG_TARGET, "Starting worker for communicating with {}.", public_key @@ -119,6 +124,7 @@ pub async fn outgoing( pub async fn incoming( stream: S, secret_key: SK, + authorization_requests_sender: mpsc::UnboundedSender<(SK::PublicKey, oneshot::Sender)>, result_for_parent: mpsc::UnboundedSender>, data_for_user: mpsc::UnboundedSender, ) -> Result<(), ProtocolError> { @@ -128,6 +134,11 @@ pub async fn incoming( target: LOG_TARGET, "Incoming handshake with {} finished successfully.", public_key ); + + if !check_authorization::(authorization_requests_sender, public_key.clone()).await? { + return Err(ProtocolError::NotAuthorized); + } + let (data_for_network, data_from_user) = mpsc::unbounded(); result_for_parent .unbounded_send(( @@ -145,12 +156,17 @@ pub async fn incoming( #[cfg(test)] mod tests { - use futures::{channel::mpsc, pin_mut, FutureExt, StreamExt}; + use futures::{ + channel::{mpsc, oneshot}, + pin_mut, Future, FutureExt, StreamExt, + }; - use super::{incoming, outgoing, ProtocolError}; use crate::network::clique::{ mock::{key, MockPrelims, MockSplittable}, - protocols::ConnectionType, + protocols::{ + v1::{incoming, outgoing}, + ConnectionType, ProtocolError, + }, Data, }; @@ -163,9 +179,11 @@ mod tests { let (outgoing_result_for_service, result_from_outgoing) = mpsc::unbounded(); let (incoming_data_for_user, data_from_incoming) = mpsc::unbounded::(); let (outgoing_data_for_user, data_from_outgoing) = mpsc::unbounded::(); + let (authorization_requests_sender, authorization_requests) = mpsc::unbounded(); let incoming_handle = Box::pin(incoming( stream_incoming, pen_incoming.clone(), + authorization_requests_sender, incoming_result_for_service, incoming_data_for_user, )); @@ -187,9 +205,43 @@ mod tests { data_from_outgoing: Some(data_from_outgoing), result_from_incoming, result_from_outgoing, + authorization_requests, } } + fn handle_authorization( + mut authorization_requests: mpsc::UnboundedReceiver<(PK, oneshot::Sender)>, + handler: impl FnOnce(PK) -> bool + Send + 'static, + ) -> impl Future> { + tokio::spawn(async move { + let (public_key, response_sender) = authorization_requests + .next() + .await + .expect("We should recieve at least one authorization request."); + let authorization_result = handler(public_key); + response_sender + .send(authorization_result) + .expect("We should be able to send back an authorization response."); + Result::<(), ()>::Ok(()) + }) + .map(|result| match result { + Ok(ok) => ok, + Err(_) => Err(()), + }) + } + + fn all_pass_authorization_handler( + authorization_requests: mpsc::UnboundedReceiver<(PK, oneshot::Sender)>, + ) -> impl Future> { + handle_authorization(authorization_requests, |_| true) + } + + fn no_go_authorization_handler( + authorization_requests: mpsc::UnboundedReceiver<(PK, oneshot::Sender)>, + ) -> impl Future> { + handle_authorization(authorization_requests, |_| false) + } + #[tokio::test] async fn send_data() { let MockPrelims { @@ -199,6 +251,7 @@ mod tests { data_from_outgoing, mut result_from_incoming, mut result_from_outgoing, + authorization_requests, .. } = prepare::>(); let mut data_from_outgoing = data_from_outgoing.expect("No data from outgoing!"); @@ -206,6 +259,7 @@ mod tests { let outgoing_handle = outgoing_handle.fuse(); pin_mut!(incoming_handle); pin_mut!(outgoing_handle); + let _authorization_handle = all_pass_authorization_handler(authorization_requests); let _data_for_outgoing = tokio::select! { _ = &mut incoming_handle => panic!("incoming process unexpectedly finished"), _ = &mut outgoing_handle => panic!("outgoing process unexpectedly finished"), @@ -278,12 +332,14 @@ mod tests { data_from_outgoing: _data_from_outgoing, mut result_from_incoming, result_from_outgoing: _result_from_outgoing, + authorization_requests, .. } = prepare::>(); let incoming_handle = incoming_handle.fuse(); let outgoing_handle = outgoing_handle.fuse(); pin_mut!(incoming_handle); pin_mut!(outgoing_handle); + let _authorization_handle = all_pass_authorization_handler(authorization_requests); tokio::select! { _ = &mut incoming_handle => panic!("incoming process unexpectedly finished"), _ = &mut outgoing_handle => panic!("outgoing process unexpectedly finished"), @@ -308,6 +364,7 @@ mod tests { data_from_outgoing: _data_from_outgoing, result_from_incoming, result_from_outgoing: _result_from_outgoing, + authorization_requests, .. } = prepare::>(); std::mem::drop(result_from_incoming); @@ -315,6 +372,7 @@ mod tests { let outgoing_handle = outgoing_handle.fuse(); pin_mut!(incoming_handle); pin_mut!(outgoing_handle); + let _authorization_handle = all_pass_authorization_handler(authorization_requests); tokio::select! { e = &mut incoming_handle => match e { Err(ProtocolError::NoParentConnection) => (), @@ -334,6 +392,7 @@ mod tests { data_from_outgoing: _data_from_outgoing, result_from_incoming: _result_from_incoming, mut result_from_outgoing, + authorization_requests, .. } = prepare::>(); std::mem::drop(data_from_incoming); @@ -341,6 +400,7 @@ mod tests { let outgoing_handle = outgoing_handle.fuse(); pin_mut!(incoming_handle); pin_mut!(outgoing_handle); + let _authorization_handle = all_pass_authorization_handler(authorization_requests); let _data_for_outgoing = tokio::select! { _ = &mut incoming_handle => panic!("incoming process unexpectedly finished"), _ = &mut outgoing_handle => panic!("outgoing process unexpectedly finished"), @@ -373,8 +433,10 @@ mod tests { data_from_outgoing: _data_from_outgoing, result_from_incoming: _result_from_incoming, result_from_outgoing: _result_from_outgoing, + authorization_requests, .. } = prepare::>(); + let _authorization_handle = all_pass_authorization_handler(authorization_requests); std::mem::drop(outgoing_handle); match incoming_handle.await { Err(ProtocolError::HandshakeError(_)) => (), @@ -392,8 +454,10 @@ mod tests { data_from_outgoing: _data_from_outgoing, mut result_from_incoming, result_from_outgoing: _result_from_outgoing, + authorization_requests, .. } = prepare::>(); + let _authorization_handle = all_pass_authorization_handler(authorization_requests); let incoming_handle = incoming_handle.fuse(); pin_mut!(incoming_handle); let (_, _exit, connection_type) = tokio::select! { @@ -419,8 +483,10 @@ mod tests { data_from_outgoing: _data_from_outgoing, result_from_incoming: _result_from_incoming, result_from_outgoing: _result_from_outgoing, + authorization_requests, .. } = prepare::>(); + let _authorization_handle = all_pass_authorization_handler(authorization_requests); std::mem::drop(incoming_handle); match outgoing_handle.await { Err(ProtocolError::HandshakeError(_)) => (), @@ -428,4 +494,33 @@ mod tests { Ok(_) => panic!("successfully finished when connection dead"), }; } + + #[tokio::test] + async fn do_not_call_sender_and_receiver_until_authorized() { + let MockPrelims { + incoming_handle, + outgoing_handle, + mut data_from_incoming, + mut result_from_incoming, + authorization_requests, + .. + } = prepare::>(); + + let authorization_handle = no_go_authorization_handler(authorization_requests); + + // since we are returning `NotAuthorized` all except `outgoing_handle` should finish hapilly + let (incoming_result, outgoing_result, authorization_result) = + tokio::join!(incoming_handle, outgoing_handle, authorization_handle); + + assert!(incoming_result.is_err()); + assert!(outgoing_result.is_err()); + // this also verifies if it was called at all + assert!(authorization_result.is_ok()); + + let data_from_incoming = data_from_incoming.try_next(); + assert!(data_from_incoming.ok().flatten().is_none()); + + let result_from_incoming = result_from_incoming.try_next(); + assert!(result_from_incoming.ok().flatten().is_none()); + } } diff --git a/finality-aleph/src/network/clique/service.rs b/finality-aleph/src/network/clique/service.rs index 470ca0898c..7905cc0b07 100644 --- a/finality-aleph/src/network/clique/service.rs +++ b/finality-aleph/src/network/clique/service.rs @@ -126,7 +126,7 @@ where } fn spawn_new_outgoing( - &self, + &mut self, public_key: SK::PublicKey, address: A, result_for_parent: mpsc::UnboundedSender>, @@ -152,12 +152,23 @@ where &self, stream: NL::Connection, result_for_parent: mpsc::UnboundedSender>, + authorization_requests_sender: mpsc::UnboundedSender<( + SK::PublicKey, + oneshot::Sender, + )>, ) { let secret_key = self.secret_key.clone(); let next_to_interface = self.next_to_interface.clone(); self.spawn_handle .spawn("aleph/clique_network_incoming", None, async move { - incoming(secret_key, stream, result_for_parent, next_to_interface).await; + incoming( + secret_key, + stream, + result_for_parent, + next_to_interface, + authorization_requests_sender, + ) + .await; }); } @@ -233,12 +244,13 @@ where pub async fn run(mut self, mut exit: oneshot::Receiver<()>) { let mut status_ticker = time::interval(STATUS_REPORT_INTERVAL); let (result_for_parent, mut worker_results) = mpsc::unbounded(); + let (authorization_requests_sender, mut authorization_requests) = mpsc::unbounded(); use ServiceCommand::*; loop { tokio::select! { // got new incoming connection from the listener - spawn an incoming worker maybe_stream = self.listener.accept() => match maybe_stream { - Ok(stream) => self.spawn_new_incoming(stream, result_for_parent.clone()), + Ok(stream) => self.spawn_new_incoming(stream, result_for_parent.clone(), authorization_requests_sender.clone()), Err(e) => warn!(target: LOG_TARGET, "Listener failed to accept connection: {}", e), }, // got a new command from the interface @@ -276,6 +288,12 @@ where } }, }, + Some((public_key, response_channel)) = authorization_requests.next() => { + let authorization_result = self.manager.is_authorized(&public_key); + if response_channel.send(authorization_result).is_err() { + warn!(target: LOG_TARGET, "Other side of the Authorization Service is already closed."); + } + }, // received information from a spawned worker managing a connection // check if we still want to be connected to the peer, and if so, spawn a new worker or actually add proper connection Some((public_key, maybe_data_for_network, connection_type)) = worker_results.next() => { diff --git a/scripts/synthetic-network/run_script_for_synthetic-network.sh b/scripts/synthetic-network/run_script_for_synthetic-network.sh index 419df5ad4b..7a8e88b487 100755 --- a/scripts/synthetic-network/run_script_for_synthetic-network.sh +++ b/scripts/synthetic-network/run_script_for_synthetic-network.sh @@ -50,7 +50,7 @@ if [[ "$UPDATE" = true ]]; then git submodule update fi -cd synthetic-network/frontend +cd scripts/synthetic-network/vendor/synthetic-network/frontend log "running .js script" node $SCRIPT_PATH ${@:1} From d0f71af3e57adad546814fe9490cbf85f1528a9b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Obrok?= Date: Fri, 3 Feb 2023 12:43:19 +0100 Subject: [PATCH 130/212] Install protoc in contract e2e tests --- .github/workflows/contracts-e2e-tests-and-deploy.yaml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/contracts-e2e-tests-and-deploy.yaml b/.github/workflows/contracts-e2e-tests-and-deploy.yaml index 0cdaef95ea..f3145bf458 100644 --- a/.github/workflows/contracts-e2e-tests-and-deploy.yaml +++ b/.github/workflows/contracts-e2e-tests-and-deploy.yaml @@ -51,6 +51,12 @@ jobs: - name: Install rust-src run: rustup component add rust-src + - name: Install Protoc + uses: arduino/setup-protoc@v1 + with: + version: '3.6.1' + repo-token: ${{ secrets.GITHUB_TOKEN }} + - name: Restore cache uses: ./.github/actions/restore-cache with: From 7b40bbef76d14dc0ce527fa5422e168a6efa1592 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Obrok?= Date: Fri, 3 Feb 2023 13:30:19 +0100 Subject: [PATCH 131/212] Use built image in contract e2e --- .github/workflows/contracts-e2e-tests-and-deploy.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/contracts-e2e-tests-and-deploy.yaml b/.github/workflows/contracts-e2e-tests-and-deploy.yaml index f3145bf458..a05730fc6f 100644 --- a/.github/workflows/contracts-e2e-tests-and-deploy.yaml +++ b/.github/workflows/contracts-e2e-tests-and-deploy.yaml @@ -92,6 +92,7 @@ jobs: - name: Run e2e test uses: ./.github/actions/run-e2e-test with: + download-image: false deploy-adder: true test-case: button_game timeout-minutes: 10 From b6d785027d231c641114fb77531dd743f64f4b71 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Obrok?= Date: Fri, 3 Feb 2023 16:49:32 +0100 Subject: [PATCH 132/212] Run button e2e tests along with others --- .github/actions/run-e2e-test/action.yml | 6 - ...-and-deploy.yaml => contracts-deploy.yaml} | 105 +----------------- .github/workflows/e2e-tests-main-devnet.yml | 30 +++++ 3 files changed, 31 insertions(+), 110 deletions(-) rename .github/workflows/{contracts-e2e-tests-and-deploy.yaml => contracts-deploy.yaml} (77%) diff --git a/.github/actions/run-e2e-test/action.yml b/.github/actions/run-e2e-test/action.yml index 50a16d7119..b2b1adb186 100644 --- a/.github/actions/run-e2e-test/action.yml +++ b/.github/actions/run-e2e-test/action.yml @@ -38,10 +38,6 @@ inputs: description: 'Custom path to docker image for aleph-node' required: false default: aleph-test-docker - download-image: - description: 'If true, the image will be downloaded from {{ inputs.image-path }}, otherwise it is assumed to already be available.' - required: false - default: 'true' node-image: description: 'Custom name of aleph-node image' required: false @@ -57,12 +53,10 @@ runs: - name: Download artifact with docker image uses: actions/download-artifact@v2 - if: ${{ inputs.download-image }} == 'true' with: name: ${{ inputs.image-path }} - name: Load node docker image - if: ${{ inputs.download-image }} == 'true' shell: bash run: docker load -i aleph-node.tar diff --git a/.github/workflows/contracts-e2e-tests-and-deploy.yaml b/.github/workflows/contracts-deploy.yaml similarity index 77% rename from .github/workflows/contracts-e2e-tests-and-deploy.yaml rename to .github/workflows/contracts-deploy.yaml index a05730fc6f..baa0f3ae9b 100644 --- a/.github/workflows/contracts-e2e-tests-and-deploy.yaml +++ b/.github/workflows/contracts-deploy.yaml @@ -1,12 +1,7 @@ name: contracts-e2e-tests-and-deploy on: - pull_request: - types: - - labeled - - opened - - created - push: + workflow_dispatch concurrency: group: ${{ github.ref }}-${{ github.workflow }} @@ -19,107 +14,9 @@ env: S3BUCKET_PATH: contracts/fe-benjamin-button jobs: - run-tests: - name: Run smart contracts test suite - runs-on: ubuntu-20.04 - env: - RUST_BACKTRACE: full - steps: - - - name: Checkout Source code - uses: actions/checkout@v3 - - - name: Install binaryen - run: | - wget https://github.com/WebAssembly/binaryen/releases/download/version_101/binaryen-version_101-x86_64-linux.tar.gz - tar xvzf binaryen-version_101-x86_64-linux.tar.gz - cd binaryen-version_101 - sudo cp -r bin/* /bin - sudo cp -r include/* /usr/include - sudo cp -r lib64/* /lib64 - - - name: Display binaryen version - shell: bash - run: wasm-opt --version - - - name: Install Rust Toolchain - uses: actions-rs/toolchain@v1 - - - name: Install WASM target - run: rustup target add wasm32-unknown-unknown - - - name: Install rust-src - run: rustup component add rust-src - - - name: Install Protoc - uses: arduino/setup-protoc@v1 - with: - version: '3.6.1' - repo-token: ${{ secrets.GITHUB_TOKEN }} - - - name: Restore cache - uses: ./.github/actions/restore-cache - with: - target-key: e2e-contracts - cargo-key: e2e-contracts - cache-version: v3 - cargo-targets: | - target/ - e2e-tests/target/ - contracts/access_control/target/ - contracts/button/target/ - contracts/game_token/target/ - contracts/marketplace/target/ - contracts/simple_dex/target/ - contracts/ticket_token/target/ - contracts/wrapped_azero/target/ - - - name: Install cargo-contract - uses: baptiste0928/cargo-install@v1 - with: - crate: cargo-contract - version: "2.0.0-beta.1" - - - name: Build binary - run: cargo build --release -p aleph-node - - - name: Build test docker image - id: build-image - run: | - docker build --tag aleph-node:latest -f ./docker/Dockerfile . - docker save -o aleph-node.tar aleph-node:latest - - - name: Run e2e test - uses: ./.github/actions/run-e2e-test - with: - download-image: false - deploy-adder: true - test-case: button_game - timeout-minutes: 10 - - - name: Cleanup cache - uses: ./.github/actions/post-cache - - slack: - name: Slack notification - runs-on: ubuntu-latest - needs: [run-tests] - if: always() - steps: - - name: Checkout repository - uses: actions/checkout@v2 - - - name: Send Slack message - uses: ./.github/actions/slack-notification - with: - notify-on: "failure" - env: - SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }} - build_and_deploy_contracts: name: Deploy contracts on feature environment if: (github.event_name == 'push' && github.ref_name == 'benjamin') || (github.event_name == 'pull_request' && github.event.action == 'labeled' && github.event.label.name == '[AZERO] DEPLOY-CONTRACTS') - needs: [run-tests] runs-on: ubuntu-20.04 steps: - name: Checkout repo diff --git a/.github/workflows/e2e-tests-main-devnet.yml b/.github/workflows/e2e-tests-main-devnet.yml index 492b585c1f..c67a3a809b 100644 --- a/.github/workflows/e2e-tests-main-devnet.yml +++ b/.github/workflows/e2e-tests-main-devnet.yml @@ -5,12 +5,14 @@ on: paths-ignore: - '*.md' branches: + - benjamin - main - "release-*" push: paths-ignore: - '*.md' branches: + - benjamin - main - "release-*" workflow_dispatch: @@ -599,6 +601,34 @@ jobs: test-case: adder timeout-minutes: 10 + run-e2e-button-contract-tests: + needs: [build-test-docker, build-test-client] + name: Run e2e button game contract tests + runs-on: ubuntu-20.04 + steps: + - name: Checkout source code + uses: actions/checkout@v2 + + - name: Install cargo-contract + uses: baptiste0928/cargo-install@v1 + with: + crate: cargo-contract + version: "2.0.0-beta.1" + + - name: Install rust-src + working-directory: ./contracts + run: rustup component add rust-src + + - name: Run e2e test + uses: ./.github/actions/run-e2e-test + with: + deploy-button: true + test-case: button + timeout-minutes: 10 + + - name: Trigger deployment workflow + uses: ./.github/workflows/contracts-deploy.yml + # The tests below were written under the assumption that nonfinalized blocks are being produced, they need a rewrite before being reenabled. # TODO(A0-1644): Reenable these tests. # run-e2e-failing-version-upgrade: From c7084184f2b33d4f9996253c463278cd71e75021 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Obrok?= Date: Fri, 3 Feb 2023 17:07:28 +0100 Subject: [PATCH 133/212] Fix clippy warnings --- contracts/game_token/lib.rs | 10 ++++++---- contracts/ticket_token/lib.rs | 10 ++++++---- contracts/wrapped_azero/lib.rs | 16 ++++++++++++---- 3 files changed, 24 insertions(+), 12 deletions(-) diff --git a/contracts/game_token/lib.rs b/contracts/game_token/lib.rs index c0934cf718..57827b3080 100644 --- a/contracts/game_token/lib.rs +++ b/contracts/game_token/lib.rs @@ -148,10 +148,12 @@ pub mod game_token { let access_control = AccessControlRef::from_account_id(access_control); if access_control.has_role(caller, required_role) { - let mut metadata = metadata::Data::default(); - metadata.name = Some(name.into()); - metadata.symbol = Some(symbol.into()); - metadata.decimals = 12; + let metadata = metadata::Data { + name: Some(name.into()), + symbol: Some(symbol.into()), + decimals: 12, + ..Default::default() + }; Self { metadata, diff --git a/contracts/ticket_token/lib.rs b/contracts/ticket_token/lib.rs index c2fcad625a..40717faa19 100644 --- a/contracts/ticket_token/lib.rs +++ b/contracts/ticket_token/lib.rs @@ -110,10 +110,12 @@ pub mod ticket_token { let access_control = AccessControlRef::from_account_id(access_control); if access_control.has_role(caller, required_role) { - let mut metadata = metadata::Data::default(); - metadata.name = Some(name.into()); - metadata.symbol = Some(symbol.into()); - metadata.decimals = 0; + let metadata = metadata::Data { + name: Some(name.into()), + symbol: Some(symbol.into()), + decimals: 0, + ..Default::default() + }; let mut instance = TicketToken { access_control, diff --git a/contracts/wrapped_azero/lib.rs b/contracts/wrapped_azero/lib.rs index f76cab6e54..f59dd61c91 100644 --- a/contracts/wrapped_azero/lib.rs +++ b/contracts/wrapped_azero/lib.rs @@ -37,6 +37,12 @@ pub mod wrapped_azero { access_control: AccessControlRef, } + impl Default for WrappedAzero { + fn default() -> Self { + Self::new() + } + } + impl PSP22 for WrappedAzero {} impl PSP22Metadata for WrappedAzero {} @@ -131,10 +137,12 @@ pub mod wrapped_azero { let access_control = AccountId::from(ACCESS_CONTROL_PUBKEY); let access_control = AccessControlRef::from_account_id(access_control); if access_control.has_role(caller, Role::Initializer(code_hash)) { - let mut metadata = metadata::Data::default(); - metadata.name = Some("wAzero".into()); - metadata.symbol = Some("wA0".into()); - metadata.decimals = 12; // same as AZERO + let metadata = metadata::Data { + name: Some("wAzero".into()), + symbol: Some("wA0".into()), + decimals: 12, // same as AZERO + ..Default::default() + }; Self { psp22: psp22::Data::default(), From a4fff59afd7f49288ec3f3b43e9e73437dc52944 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Obrok?= Date: Fri, 3 Feb 2023 18:15:31 +0100 Subject: [PATCH 134/212] Extend e2e button test timeout --- .github/workflows/e2e-tests-main-devnet.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/e2e-tests-main-devnet.yml b/.github/workflows/e2e-tests-main-devnet.yml index c67a3a809b..62e1452890 100644 --- a/.github/workflows/e2e-tests-main-devnet.yml +++ b/.github/workflows/e2e-tests-main-devnet.yml @@ -624,7 +624,7 @@ jobs: with: deploy-button: true test-case: button - timeout-minutes: 10 + timeout-minutes: 30 - name: Trigger deployment workflow uses: ./.github/workflows/contracts-deploy.yml From fcec421b722f1f9ba5c80f4722d0182c47c1ade9 Mon Sep 17 00:00:00 2001 From: Mikolaj Gasior Date: Sat, 4 Feb 2023 00:11:18 +0100 Subject: [PATCH 135/212] Empty commit to trigger actions From 1d5b1e7a86501fc2615473b90dae070894f86a02 Mon Sep 17 00:00:00 2001 From: Mikolaj Gasior Date: Sat, 4 Feb 2023 00:56:10 +0100 Subject: [PATCH 136/212] Add a new line to the workflow to trigger --- .github/workflows/e2e-tests-main-devnet.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/e2e-tests-main-devnet.yml b/.github/workflows/e2e-tests-main-devnet.yml index d7dadc2218..851f938351 100644 --- a/.github/workflows/e2e-tests-main-devnet.yml +++ b/.github/workflows/e2e-tests-main-devnet.yml @@ -965,3 +965,4 @@ jobs: notify-on: "failure" env: SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }} + From b424e498d9f929086666e36dd19db875f9f03d48 Mon Sep 17 00:00:00 2001 From: Mikolaj Gasior Date: Sat, 4 Feb 2023 01:56:39 +0100 Subject: [PATCH 137/212] Change most workflows to use self-hosted runners --- .github/workflows/build-and-push-cliain.yaml | 2 +- .github/workflows/build-docs.yaml | 2 +- .github/workflows/build-node-and-runtime.yml | 2 +- .../build-send-postsync-hook-runtime-image.yml | 2 +- .github/workflows/check-excluded-packages.yml | 2 +- .github/workflows/e2e-tests-main-devnet.yml | 12 ++++++------ .github/workflows/unit_tests.yml | 2 +- 7 files changed, 12 insertions(+), 12 deletions(-) diff --git a/.github/workflows/build-and-push-cliain.yaml b/.github/workflows/build-and-push-cliain.yaml index f06535f9b5..5e05a604b3 100644 --- a/.github/workflows/build-and-push-cliain.yaml +++ b/.github/workflows/build-and-push-cliain.yaml @@ -9,7 +9,7 @@ on: jobs: build-image: name: Build binary - runs-on: ubuntu-20.04 + runs-on: self-hosted steps: - name: GIT | Checkout source code uses: actions/checkout@v2 diff --git a/.github/workflows/build-docs.yaml b/.github/workflows/build-docs.yaml index 0b5234af84..9cc71e70fc 100644 --- a/.github/workflows/build-docs.yaml +++ b/.github/workflows/build-docs.yaml @@ -7,7 +7,7 @@ on: jobs: build-aleph-client-docs: name: Build docs - runs-on: ubuntu-20.04 + runs-on: self-hosted steps: - name: GIT | Checkout source code uses: actions/checkout@v2 diff --git a/.github/workflows/build-node-and-runtime.yml b/.github/workflows/build-node-and-runtime.yml index 32415adf90..4ea0160c4b 100644 --- a/.github/workflows/build-node-and-runtime.yml +++ b/.github/workflows/build-node-and-runtime.yml @@ -15,7 +15,7 @@ on: jobs: build: name: Build binary artifacts - runs-on: ubuntu-20.04 + runs-on: self-hosted env: RUST_BACKTRACE: full SECRETS_AWS_MAINNET_ACCESS_KEY_ID: ${{ secrets.AWS_MAINNET_ACCESS_KEY_ID }} diff --git a/.github/workflows/build-send-postsync-hook-runtime-image.yml b/.github/workflows/build-send-postsync-hook-runtime-image.yml index 64485810a4..e2253bb80d 100644 --- a/.github/workflows/build-send-postsync-hook-runtime-image.yml +++ b/.github/workflows/build-send-postsync-hook-runtime-image.yml @@ -16,7 +16,7 @@ concurrency: jobs: build: name: Save cliain binary as an artifact - runs-on: ubuntu-20.04 + runs-on: self-hosted env: CARGO_INCREMENTAL: 0 steps: diff --git a/.github/workflows/check-excluded-packages.yml b/.github/workflows/check-excluded-packages.yml index 9eeb954a4e..270a29f8da 100644 --- a/.github/workflows/check-excluded-packages.yml +++ b/.github/workflows/check-excluded-packages.yml @@ -17,7 +17,7 @@ concurrency: jobs: build: name: Check excluded packages - runs-on: ubuntu-20.04 + runs-on: self-hosted env: CARGO_INCREMENTAL: 0 steps: diff --git a/.github/workflows/e2e-tests-main-devnet.yml b/.github/workflows/e2e-tests-main-devnet.yml index 851f938351..69ba7d68bb 100644 --- a/.github/workflows/e2e-tests-main-devnet.yml +++ b/.github/workflows/e2e-tests-main-devnet.yml @@ -28,7 +28,7 @@ jobs: build-test-docker: needs: [build-new-node] name: Build docker image with the test node artifact - runs-on: ubuntu-20.04 + runs-on: self-hosted steps: - name: Checkout Source code uses: actions/checkout@v2 @@ -57,7 +57,7 @@ jobs: build-cliain-image: name: Build docker image for cliain - runs-on: ubuntu-20.04 + runs-on: self-hosted steps: - name: GIT | Checkout source code uses: actions/checkout@v2 @@ -103,7 +103,7 @@ jobs: check-determinism: needs: [build-new-node] name: Verify runtime build determinism - runs-on: ubuntu-20.04 + runs-on: self-hosted env: RUST_BACKTRACE: full steps: @@ -142,7 +142,7 @@ jobs: build-test-client: name: Build e2e test client suite - runs-on: ubuntu-20.04 + runs-on: self-hosted env: RUST_BACKTRACE: full steps: @@ -869,7 +869,7 @@ jobs: # Disbled check, reenable once we fix the issue with try-runtime test # if: ${{ needs.check-runtime-change.outputs.runtime-updated != 0 }} if: ${{ false }} - runs-on: ubuntu-20.04 + runs-on: self-hosted steps: - name: Checkout source code uses: actions/checkout@v3 @@ -919,7 +919,7 @@ jobs: test-runtime-update: name: Test runtime update with try-runtime tool - runs-on: ubuntu-20.04 + runs-on: self-hosted needs: [ build-new-runtime-and-try_runtime ] steps: - name: Checkout source code diff --git a/.github/workflows/unit_tests.yml b/.github/workflows/unit_tests.yml index fa644dc1f2..ffc1369ef6 100644 --- a/.github/workflows/unit_tests.yml +++ b/.github/workflows/unit_tests.yml @@ -17,7 +17,7 @@ concurrency: jobs: check-test-and-lint: name: Run check, test and lints - runs-on: ubuntu-20.04 + runs-on: self-hosted env: CARGO_INCREMENTAL: 0 steps: From f5e0bb79d4c4423a45cd761ac0aedb5f15414620 Mon Sep 17 00:00:00 2001 From: Mikolaj Gasior Date: Sun, 5 Feb 2023 10:32:26 +0100 Subject: [PATCH 138/212] Comment out starting sccache server as it should be started in the runner already --- .github/actions/post-cache/action.yml | 26 +++---- .github/actions/restore-cache/action.yml | 98 ++++++++++++------------ 2 files changed, 62 insertions(+), 62 deletions(-) diff --git a/.github/actions/post-cache/action.yml b/.github/actions/post-cache/action.yml index b615bcc82b..28ccb4ba2b 100644 --- a/.github/actions/post-cache/action.yml +++ b/.github/actions/post-cache/action.yml @@ -5,18 +5,18 @@ description: | runs: using: "composite" steps: - - name: Prune unused packages from cargo cache - uses: actions-rs/cargo@v1 - with: - command: cache - args: clean-unref + #- name: Prune unused packages from cargo cache + # uses: actions-rs/cargo@v1 + # with: + # command: cache + # args: clean-unref - - name: Prune sources from cargo cache - uses: actions-rs/cargo@v1 - with: - command: cache - args: --autoclean + #- name: Prune sources from cargo cache + # uses: actions-rs/cargo@v1 + # with: + # command: cache + # args: --autoclean - - name: Stop sccache server - run: sccache --stop-server || true - shell: bash + #- name: Stop sccache server + # run: sccache --stop-server || true + # shell: bash diff --git a/.github/actions/restore-cache/action.yml b/.github/actions/restore-cache/action.yml index 9141c8c93f..0610e1ca22 100644 --- a/.github/actions/restore-cache/action.yml +++ b/.github/actions/restore-cache/action.yml @@ -45,61 +45,61 @@ runs: using: "composite" steps: - - name: Restore cargo cache - uses: actions/cache@v3 - env: - SEGMENT_DOWNLOAD_TIMEOUT_MIN: "10" - with: - path: | - ~/.cargo - key: ${{ runner.os }}-cargo-${{ inputs.cargo-key }}-${{ inputs.cache-version }}-${{ hashFiles('**/Cargo.lock') }} - restore-keys: | - ${{ runner.os }}-cargo-${{ inputs.cargo-key }}-${{ inputs.cache-version }} + #- name: Restore cargo cache + # uses: actions/cache@v3 + # env: + # SEGMENT_DOWNLOAD_TIMEOUT_MIN: "10" + # with: + # path: | + # ~/.cargo + # key: ${{ runner.os }}-cargo-${{ inputs.cargo-key }}-${{ inputs.cache-version }}-${{ hashFiles('**/Cargo.lock') }} + # restore-keys: | + # ${{ runner.os }}-cargo-${{ inputs.cargo-key }}-${{ inputs.cache-version }} - - name: Restore target cache - uses: actions/cache@v3 - with: - path: | - target - ${{ inputs.cargo-targets }} - key: ${{ runner.os }}-target-${{ inputs.target-key }}-${{ inputs.cache-version }}-${{ hashFiles('**/Cargo.lock') }} - restore-keys: | - ${{ runner.os }}-target-${{ inputs.target-key }}-${{ inputs.cache-version }} + #- name: Restore target cache + # uses: actions/cache@v3 + # with: + # path: | + # target + # ${{ inputs.cargo-targets }} + # key: ${{ runner.os }}-target-${{ inputs.target-key }}-${{ inputs.cache-version }}-${{ hashFiles('**/Cargo.lock') }} + # restore-keys: | + # ${{ runner.os }}-target-${{ inputs.target-key }}-${{ inputs.cache-version }} - - name: Install sccache for ubuntu-20.04 - shell: bash - run: | - LINK=https://github.com/mozilla/sccache/releases/download - SCCACHE_FILE=sccache-${{ inputs.sccache-version }}-x86_64-unknown-linux-musl - - mkdir -p $HOME/.local/bin - curl -L "$LINK/${{ inputs.sccache-version }}/$SCCACHE_FILE.tar.gz" | tar xz - mv -f $SCCACHE_FILE/sccache $HOME/.local/bin/sccache - chmod +x $HOME/.local/bin/sccache - - echo "$HOME/.local/bin" >> $GITHUB_PATH + #- name: Install sccache for ubuntu-20.04 + # shell: bash + # run: | + # LINK=https://github.com/mozilla/sccache/releases/download + # SCCACHE_FILE=sccache-${{ inputs.sccache-version }}-x86_64-unknown-linux-musl + # + # mkdir -p $HOME/.local/bin + # curl -L "$LINK/${{ inputs.sccache-version }}/$SCCACHE_FILE.tar.gz" | tar xz + # mv -f $SCCACHE_FILE/sccache $HOME/.local/bin/sccache + # chmod +x $HOME/.local/bin/sccache + # + # echo "$HOME/.local/bin" >> $GITHUB_PATH - - name: Restore sccache - uses: actions/cache@v3 - with: - path: /home/runner/.cache/sccache - key: ${{ runner.os }}-sccache-${{ inputs.target-key }}-${{ inputs.cache-version }}-${{ hashFiles('**/Cargo.lock') }} - restore-keys: | - ${{ runner.os }}-sccache-${{ inputs.target-key }}-${{ inputs.cache-version }} + #- name: Restore sccache + # uses: actions/cache@v3 + # with: + # path: /home/runner/.cache/sccache + # key: ${{ runner.os }}-sccache-${{ inputs.target-key }}-${{ inputs.cache-version }}-${{ hashFiles('**/Cargo.lock') }} + # restore-keys: | + # ${{ runner.os }}-sccache-${{ inputs.target-key }}-${{ inputs.cache-version }} - - name: Start sccache server - env: - SCCACHE_CACHE_SIZE: ${{ inputs.sccache-size }} - shell: bash - run: sccache --start-server + #- name: Start sccache server + # env: + # SCCACHE_CACHE_SIZE: ${{ inputs.sccache-size }} + # shell: bash + # run: sccache --start-server - name: Set RUSTC_WRAPPER shell: bash run: | - echo "RUSTC_WRAPPER=$HOME/.local/bin/sccache" >> $GITHUB_ENV + echo "RUSTC_WRAPPER=sccache" >> $GITHUB_ENV - - name: Install cargo-cache - uses: actions-rs/cargo@v1 - with: - command: install - args: cargo-cache + #- name: Install cargo-cache + # uses: actions-rs/cargo@v1 + # with: + # command: install + # args: cargo-cache From fe6ec606b3b258572eea443747f871fcc1015856 Mon Sep 17 00:00:00 2001 From: Mikolaj Gasior Date: Sun, 5 Feb 2023 11:01:33 +0100 Subject: [PATCH 139/212] Add empty step to post-cache as it cannot be empty --- .github/actions/post-cache/action.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/actions/post-cache/action.yml b/.github/actions/post-cache/action.yml index 28ccb4ba2b..42a8327845 100644 --- a/.github/actions/post-cache/action.yml +++ b/.github/actions/post-cache/action.yml @@ -5,6 +5,9 @@ description: | runs: using: "composite" steps: + - name: Empty step + run: | + echo "Empty step" #- name: Prune unused packages from cargo cache # uses: actions-rs/cargo@v1 # with: From f2f8838b41487ca066cf0f9e97ba981e796ee268 Mon Sep 17 00:00:00 2001 From: Mikolaj Gasior Date: Sun, 5 Feb 2023 11:11:11 +0100 Subject: [PATCH 140/212] Add missing 'shell: bash' line --- .github/actions/post-cache/action.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/actions/post-cache/action.yml b/.github/actions/post-cache/action.yml index 42a8327845..9259592d78 100644 --- a/.github/actions/post-cache/action.yml +++ b/.github/actions/post-cache/action.yml @@ -6,6 +6,7 @@ runs: using: "composite" steps: - name: Empty step + shell: bash run: | echo "Empty step" #- name: Prune unused packages from cargo cache From da3de6ad6f42ca904ab70fda9d7d5c2c2513c743 Mon Sep 17 00:00:00 2001 From: Mikolaj Gasior Date: Sun, 5 Feb 2023 12:48:02 +0100 Subject: [PATCH 141/212] Uncomment installing cargo-cache --- .github/actions/restore-cache/action.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/actions/restore-cache/action.yml b/.github/actions/restore-cache/action.yml index 0610e1ca22..765db30b15 100644 --- a/.github/actions/restore-cache/action.yml +++ b/.github/actions/restore-cache/action.yml @@ -98,8 +98,8 @@ runs: run: | echo "RUSTC_WRAPPER=sccache" >> $GITHUB_ENV - #- name: Install cargo-cache - # uses: actions-rs/cargo@v1 - # with: - # command: install - # args: cargo-cache + - name: Install cargo-cache + uses: actions-rs/cargo@v1 + with: + command: install + args: cargo-cache From baf78058ca259a9e2c56152a4e3e26cca0e31300 Mon Sep 17 00:00:00 2001 From: Mikolaj Gasior Date: Sun, 5 Feb 2023 13:26:59 +0100 Subject: [PATCH 142/212] Comment out cargo-cache --- .github/actions/restore-cache/action.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/actions/restore-cache/action.yml b/.github/actions/restore-cache/action.yml index 765db30b15..0610e1ca22 100644 --- a/.github/actions/restore-cache/action.yml +++ b/.github/actions/restore-cache/action.yml @@ -98,8 +98,8 @@ runs: run: | echo "RUSTC_WRAPPER=sccache" >> $GITHUB_ENV - - name: Install cargo-cache - uses: actions-rs/cargo@v1 - with: - command: install - args: cargo-cache + #- name: Install cargo-cache + # uses: actions-rs/cargo@v1 + # with: + # command: install + # args: cargo-cache From dbcf0574595458286ba280fd01a20b6429d0ada8 Mon Sep 17 00:00:00 2001 From: Mikolaj Gasior Date: Sun, 5 Feb 2023 13:53:55 +0100 Subject: [PATCH 143/212] Remove restore- and post-cache from workflows --- .github/actions/post-cache/action.yml | 30 +++--- .github/actions/restore-cache/action.yml | 98 +++++++++---------- .github/workflows/build-node-and-runtime.yml | 16 +-- .github/workflows/check-excluded-packages.yml | 18 +--- .github/workflows/e2e-tests-main-devnet.yml | 60 ++---------- .github/workflows/nightly-pipeline.yaml | 25 +---- .github/workflows/unit_tests.yml | 16 +-- 7 files changed, 73 insertions(+), 190 deletions(-) diff --git a/.github/actions/post-cache/action.yml b/.github/actions/post-cache/action.yml index 9259592d78..b615bcc82b 100644 --- a/.github/actions/post-cache/action.yml +++ b/.github/actions/post-cache/action.yml @@ -5,22 +5,18 @@ description: | runs: using: "composite" steps: - - name: Empty step - shell: bash - run: | - echo "Empty step" - #- name: Prune unused packages from cargo cache - # uses: actions-rs/cargo@v1 - # with: - # command: cache - # args: clean-unref + - name: Prune unused packages from cargo cache + uses: actions-rs/cargo@v1 + with: + command: cache + args: clean-unref - #- name: Prune sources from cargo cache - # uses: actions-rs/cargo@v1 - # with: - # command: cache - # args: --autoclean + - name: Prune sources from cargo cache + uses: actions-rs/cargo@v1 + with: + command: cache + args: --autoclean - #- name: Stop sccache server - # run: sccache --stop-server || true - # shell: bash + - name: Stop sccache server + run: sccache --stop-server || true + shell: bash diff --git a/.github/actions/restore-cache/action.yml b/.github/actions/restore-cache/action.yml index 0610e1ca22..9141c8c93f 100644 --- a/.github/actions/restore-cache/action.yml +++ b/.github/actions/restore-cache/action.yml @@ -45,61 +45,61 @@ runs: using: "composite" steps: - #- name: Restore cargo cache - # uses: actions/cache@v3 - # env: - # SEGMENT_DOWNLOAD_TIMEOUT_MIN: "10" - # with: - # path: | - # ~/.cargo - # key: ${{ runner.os }}-cargo-${{ inputs.cargo-key }}-${{ inputs.cache-version }}-${{ hashFiles('**/Cargo.lock') }} - # restore-keys: | - # ${{ runner.os }}-cargo-${{ inputs.cargo-key }}-${{ inputs.cache-version }} + - name: Restore cargo cache + uses: actions/cache@v3 + env: + SEGMENT_DOWNLOAD_TIMEOUT_MIN: "10" + with: + path: | + ~/.cargo + key: ${{ runner.os }}-cargo-${{ inputs.cargo-key }}-${{ inputs.cache-version }}-${{ hashFiles('**/Cargo.lock') }} + restore-keys: | + ${{ runner.os }}-cargo-${{ inputs.cargo-key }}-${{ inputs.cache-version }} - #- name: Restore target cache - # uses: actions/cache@v3 - # with: - # path: | - # target - # ${{ inputs.cargo-targets }} - # key: ${{ runner.os }}-target-${{ inputs.target-key }}-${{ inputs.cache-version }}-${{ hashFiles('**/Cargo.lock') }} - # restore-keys: | - # ${{ runner.os }}-target-${{ inputs.target-key }}-${{ inputs.cache-version }} + - name: Restore target cache + uses: actions/cache@v3 + with: + path: | + target + ${{ inputs.cargo-targets }} + key: ${{ runner.os }}-target-${{ inputs.target-key }}-${{ inputs.cache-version }}-${{ hashFiles('**/Cargo.lock') }} + restore-keys: | + ${{ runner.os }}-target-${{ inputs.target-key }}-${{ inputs.cache-version }} - #- name: Install sccache for ubuntu-20.04 - # shell: bash - # run: | - # LINK=https://github.com/mozilla/sccache/releases/download - # SCCACHE_FILE=sccache-${{ inputs.sccache-version }}-x86_64-unknown-linux-musl - # - # mkdir -p $HOME/.local/bin - # curl -L "$LINK/${{ inputs.sccache-version }}/$SCCACHE_FILE.tar.gz" | tar xz - # mv -f $SCCACHE_FILE/sccache $HOME/.local/bin/sccache - # chmod +x $HOME/.local/bin/sccache - # - # echo "$HOME/.local/bin" >> $GITHUB_PATH + - name: Install sccache for ubuntu-20.04 + shell: bash + run: | + LINK=https://github.com/mozilla/sccache/releases/download + SCCACHE_FILE=sccache-${{ inputs.sccache-version }}-x86_64-unknown-linux-musl + + mkdir -p $HOME/.local/bin + curl -L "$LINK/${{ inputs.sccache-version }}/$SCCACHE_FILE.tar.gz" | tar xz + mv -f $SCCACHE_FILE/sccache $HOME/.local/bin/sccache + chmod +x $HOME/.local/bin/sccache + + echo "$HOME/.local/bin" >> $GITHUB_PATH - #- name: Restore sccache - # uses: actions/cache@v3 - # with: - # path: /home/runner/.cache/sccache - # key: ${{ runner.os }}-sccache-${{ inputs.target-key }}-${{ inputs.cache-version }}-${{ hashFiles('**/Cargo.lock') }} - # restore-keys: | - # ${{ runner.os }}-sccache-${{ inputs.target-key }}-${{ inputs.cache-version }} + - name: Restore sccache + uses: actions/cache@v3 + with: + path: /home/runner/.cache/sccache + key: ${{ runner.os }}-sccache-${{ inputs.target-key }}-${{ inputs.cache-version }}-${{ hashFiles('**/Cargo.lock') }} + restore-keys: | + ${{ runner.os }}-sccache-${{ inputs.target-key }}-${{ inputs.cache-version }} - #- name: Start sccache server - # env: - # SCCACHE_CACHE_SIZE: ${{ inputs.sccache-size }} - # shell: bash - # run: sccache --start-server + - name: Start sccache server + env: + SCCACHE_CACHE_SIZE: ${{ inputs.sccache-size }} + shell: bash + run: sccache --start-server - name: Set RUSTC_WRAPPER shell: bash run: | - echo "RUSTC_WRAPPER=sccache" >> $GITHUB_ENV + echo "RUSTC_WRAPPER=$HOME/.local/bin/sccache" >> $GITHUB_ENV - #- name: Install cargo-cache - # uses: actions-rs/cargo@v1 - # with: - # command: install - # args: cargo-cache + - name: Install cargo-cache + uses: actions-rs/cargo@v1 + with: + command: install + args: cargo-cache diff --git a/.github/workflows/build-node-and-runtime.yml b/.github/workflows/build-node-and-runtime.yml index 4ea0160c4b..e8e537b099 100644 --- a/.github/workflows/build-node-and-runtime.yml +++ b/.github/workflows/build-node-and-runtime.yml @@ -18,6 +18,7 @@ jobs: runs-on: self-hosted env: RUST_BACKTRACE: full + RUSTC_WRAPPER: sccache SECRETS_AWS_MAINNET_ACCESS_KEY_ID: ${{ secrets.AWS_MAINNET_ACCESS_KEY_ID }} SECRETS_AWS_MAINNET_SECRET_ACCESS_KEY: ${{ secrets.AWS_MAINNET_SECRET_ACCESS_KEY }} steps: @@ -33,21 +34,9 @@ jobs: - name: Install Rust toolchain uses: actions-rs/toolchain@v1 - - name: Install Protoc - uses: arduino/setup-protoc@v1 - with: - version: '3.6.1' - repo-token: ${{ secrets.GITHUB_TOKEN }} - - name: Install WASM target run: rustup target add wasm32-unknown-unknown - - name: Restore cache - uses: ./.github/actions/restore-cache - with: - target-key: release - cache-version: v2 - - name: Build binary and runtime run: cargo build --profile production -p aleph-node @@ -143,6 +132,3 @@ jobs: run: | tar -cvzf ${{ env.S3BUCKET_FILE }} -C ${{ env.BINARY_DIR }} ${{ env.BINARY_FILE }} aws s3 cp ${{ env.S3BUCKET_FILE }} ${{ env.S3BUCKET_URL }}/${{ env.S3BUCKET_FILE }} - - - name: Cleanup cache - uses: ./.github/actions/post-cache diff --git a/.github/workflows/check-excluded-packages.yml b/.github/workflows/check-excluded-packages.yml index 270a29f8da..835e3df137 100644 --- a/.github/workflows/check-excluded-packages.yml +++ b/.github/workflows/check-excluded-packages.yml @@ -20,6 +20,7 @@ jobs: runs-on: self-hosted env: CARGO_INCREMENTAL: 0 + RUSTC_WRAPPER: sccache steps: - name: Checkout source code uses: actions/checkout@v2 @@ -27,12 +28,6 @@ jobs: - name: Install rust toolchain uses: actions-rs/toolchain@v1 - - name: Install Protoc - uses: arduino/setup-protoc@v1 - with: - version: '3.6.1' - repo-token: ${{ secrets.GITHUB_TOKEN }} - - name: Read excluded packages from Cargo.toml id: read_excluded uses: SebRollen/toml-action@v1.0.0 @@ -52,14 +47,6 @@ jobs: echo "::set-output name=packages::$packages" echo "::set-output name=targets::$targets" - - name: Restore cache - uses: ./.github/actions/restore-cache - with: - target-key: excluded - cargo-key: excluded - cache-version: v2 - cargo-targets: "${{ steps.format_output.outputs.targets }}" - - name: Check excluded packages env: RUSTC_WRAPPER: "" @@ -76,6 +63,3 @@ jobs: cargo clippy --all-features -- --no-deps -D warnings popd done - - - name: Cleanup cache - uses: ./.github/actions/post-cache diff --git a/.github/workflows/e2e-tests-main-devnet.yml b/.github/workflows/e2e-tests-main-devnet.yml index 69ba7d68bb..63eb528c8e 100644 --- a/.github/workflows/e2e-tests-main-devnet.yml +++ b/.github/workflows/e2e-tests-main-devnet.yml @@ -58,6 +58,8 @@ jobs: build-cliain-image: name: Build docker image for cliain runs-on: self-hosted + env: + RUSTC_WRAPPER: sccache steps: - name: GIT | Checkout source code uses: actions/checkout@v2 @@ -65,19 +67,6 @@ jobs: - name: Install Rust toolchain uses: actions-rs/toolchain@v1 - - name: Install Protoc - uses: arduino/setup-protoc@v1 - with: - version: '3.6.1' - repo-token: ${{ secrets.GITHUB_TOKEN }} - - - name: Restore cache - uses: ./.github/actions/restore-cache - with: - target-key: cliain - cache-version: v2 - cargo-targets: bin/cliain/target/ - - name: Cargo | Build release binary run: | cd bin/cliain && cargo build --release @@ -96,9 +85,6 @@ jobs: if-no-files-found: error retention-days: 7 - - name: Cleanup cache - uses: ./.github/actions/post-cache - check-determinism: needs: [build-new-node] @@ -106,6 +92,7 @@ jobs: runs-on: self-hosted env: RUST_BACKTRACE: full + RUSTC_WRAPPER: sccache steps: - name: Checkout Source code uses: actions/checkout@v2 @@ -113,12 +100,6 @@ jobs: - name: Install Rust Toolchain uses: actions-rs/toolchain@v1 - - name: Install Protoc - uses: arduino/setup-protoc@v1 - with: - version: '3.6.1' - repo-token: ${{ secrets.GITHUB_TOKEN }} - - name: Install WASM target run: rustup target add wasm32-unknown-unknown @@ -145,6 +126,7 @@ jobs: runs-on: self-hosted env: RUST_BACKTRACE: full + RUSTC_WRAPPER: sccache steps: - name: Checkout Source code uses: actions/checkout@v2 @@ -152,20 +134,6 @@ jobs: - name: Install Rust Toolchain uses: actions-rs/toolchain@v1 - - name: Install Protoc - uses: arduino/setup-protoc@v1 - with: - version: '3.6.1' - repo-token: ${{ secrets.GITHUB_TOKEN }} - - - name: Restore cache - uses: ./.github/actions/restore-cache - with: - target-key: e2e - cargo-key: e2e - cache-version: v2 - cargo-targets: e2e-tests/target/ - - name: Build binary and docker image run: | cd e2e-tests/ @@ -174,9 +142,6 @@ jobs: docker build --tag aleph-e2e-client:latest -f Dockerfile . docker save -o aleph-e2e-client.tar aleph-e2e-client:latest - - name: Stop cache - uses: ./.github/actions/post-cache - - name: Upload Artifact uses: actions/upload-artifact@v2 with: @@ -870,6 +835,8 @@ jobs: # if: ${{ needs.check-runtime-change.outputs.runtime-updated != 0 }} if: ${{ false }} runs-on: self-hosted + env: + RUSTC_WRAPPER: sccache steps: - name: Checkout source code uses: actions/checkout@v3 @@ -877,21 +844,9 @@ jobs: - name: Install Rust toolchain uses: actions-rs/toolchain@v1 - - name: Install Protoc - uses: arduino/setup-protoc@v1 - with: - version: '3.6.1' - repo-token: ${{ secrets.GITHUB_TOKEN }} - - name: Install WASM target run: rustup target add wasm32-unknown-unknown - - name: Restore cache - uses: ./.github/actions/restore-cache - with: - target-key: try-runtime - cache-version: v2 - - name: Build try-runtime run: cargo build --release -p aleph-node --features "try-runtime" @@ -914,9 +869,6 @@ jobs: if-no-files-found: error retention-days: 7 - - name: Cleanup cache - uses: ./.github/actions/post-cache - test-runtime-update: name: Test runtime update with try-runtime tool runs-on: self-hosted diff --git a/.github/workflows/nightly-pipeline.yaml b/.github/workflows/nightly-pipeline.yaml index 3d4c4ee2ba..5356c26b1c 100644 --- a/.github/workflows/nightly-pipeline.yaml +++ b/.github/workflows/nightly-pipeline.yaml @@ -80,6 +80,7 @@ jobs: runs-on: ubuntu-20.04 env: RUST_BACKTRACE: full + RUSTC_WRAPPER: sccache steps: - name: Checkout source code uses: actions/checkout@v2 @@ -87,12 +88,6 @@ jobs: - name: Install Rust toolchain uses: actions-rs/toolchain@v1 - - name: Install Protoc - uses: arduino/setup-protoc@v1 - with: - version: '3.6.1' - repo-token: ${{ secrets.GITHUB_TOKEN }} - - name: Install WASM target run: rustup target add wasm32-unknown-unknown @@ -118,6 +113,7 @@ jobs: runs-on: ubuntu-20.04 env: RUST_BACKTRACE: full + RUSTC_WRAPPER: sccache steps: - name: Checkout source code uses: actions/checkout@v2 @@ -125,20 +121,6 @@ jobs: - name: Install Rust toolchain uses: actions-rs/toolchain@v1 - - name: Install Protoc - uses: arduino/setup-protoc@v1 - with: - version: '3.6.1' - repo-token: ${{ secrets.GITHUB_TOKEN }} - - - name: Restore cache - uses: ./.github/actions/restore-cache - with: - target-key: e2e - cargo-key: e2e - cache-version: v2 - cargo-targets: e2e-tests/target/ - - name: Build binary and docker image run: | cd e2e-tests/ @@ -147,9 +129,6 @@ jobs: docker build --tag aleph-e2e-client:latest -f Dockerfile . docker save -o aleph-e2e-client.tar aleph-e2e-client:latest - - name: Stop cache - uses: ./.github/actions/post-cache - - name: Upload artifact uses: actions/upload-artifact@v2 with: diff --git a/.github/workflows/unit_tests.yml b/.github/workflows/unit_tests.yml index ffc1369ef6..d84ae3b03d 100644 --- a/.github/workflows/unit_tests.yml +++ b/.github/workflows/unit_tests.yml @@ -20,6 +20,7 @@ jobs: runs-on: self-hosted env: CARGO_INCREMENTAL: 0 + RUSTC_WRAPPER: sccache steps: - name: Checkout Source code uses: actions/checkout@v2 @@ -27,24 +28,12 @@ jobs: - name: Install Rust Toolchain uses: actions-rs/toolchain@v1 - - name: Install Protoc - uses: arduino/setup-protoc@v1 - with: - version: '3.6.1' - repo-token: ${{ secrets.GITHUB_TOKEN }} - - name: Install clippy and fmt run: rustup component add clippy rustfmt - name: Install WASM target run: rustup target add wasm32-unknown-unknown - - name: Restore cache - uses: ./.github/actions/restore-cache - with: - target-key: debug - cache-version: v2 - - name: Run Format Checks uses: actions-rs/cargo@v1 with: @@ -66,6 +55,3 @@ jobs: with: command: test args: --lib --features "try-runtime" - - - name: Cleanup cache - uses: ./.github/actions/post-cache From 83ad9e1f26120643fca6410abc8812655d1e8abe Mon Sep 17 00:00:00 2001 From: Krzysztof Ziobro <86822080+krzysztofziobro@users.noreply.github.com> Date: Mon, 6 Feb 2023 10:38:02 +0100 Subject: [PATCH 144/212] A0-1763: Remove v0 connections from clique (#895) * v0 removal * Remove ConnectionType * Update some comments --- .../src/network/clique/manager/legacy.rs | 301 ---------- .../src/network/clique/manager/mod.rs | 3 - finality-aleph/src/network/clique/outgoing.rs | 6 +- .../src/network/clique/protocols/mod.rs | 33 +- .../network/clique/protocols/v0/heartbeat.rs | 74 --- .../src/network/clique/protocols/v0/mod.rs | 533 ------------------ .../src/network/clique/protocols/v1/mod.rs | 45 +- finality-aleph/src/network/clique/service.rs | 108 +--- 8 files changed, 39 insertions(+), 1064 deletions(-) delete mode 100644 finality-aleph/src/network/clique/manager/legacy.rs delete mode 100644 finality-aleph/src/network/clique/protocols/v0/heartbeat.rs delete mode 100644 finality-aleph/src/network/clique/protocols/v0/mod.rs diff --git a/finality-aleph/src/network/clique/manager/legacy.rs b/finality-aleph/src/network/clique/manager/legacy.rs deleted file mode 100644 index c65285d2a3..0000000000 --- a/finality-aleph/src/network/clique/manager/legacy.rs +++ /dev/null @@ -1,301 +0,0 @@ -use std::{ - collections::{HashMap, HashSet}, - fmt::{Display, Error as FmtError, Formatter}, -}; - -use futures::channel::mpsc; - -use crate::network::{ - clique::{ - manager::{AddResult, SendError}, - PublicKey, - }, - Data, PeerId, -}; - -/// Network component responsible for holding the list of peers that we -/// want to connect to, and managing the established connections. -pub struct Manager { - addresses: HashMap, - outgoing: HashMap>, - incoming: HashMap>, -} - -struct ManagerStatus { - wanted_peers: usize, - both_ways_peers: HashSet, - outgoing_peers: HashSet, - incoming_peers: HashSet, - missing_peers: HashSet, -} - -impl ManagerStatus { - fn new(manager: &Manager) -> Self { - let incoming: HashSet<_> = manager - .incoming - .iter() - .filter(|(_, exit)| !exit.is_closed()) - .map(|(k, _)| k.clone()) - .collect(); - let outgoing: HashSet<_> = manager - .outgoing - .iter() - .filter(|(_, exit)| !exit.is_closed()) - .map(|(k, _)| k.clone()) - .collect(); - - let both_ways = incoming.intersection(&outgoing).cloned().collect(); - let incoming: HashSet<_> = incoming.difference(&both_ways).cloned().collect(); - let outgoing: HashSet<_> = outgoing.difference(&both_ways).cloned().collect(); - let missing = manager - .addresses - .keys() - .filter(|a| !both_ways.contains(a) && !incoming.contains(a) && !outgoing.contains(a)) - .cloned() - .collect(); - - ManagerStatus { - wanted_peers: manager.addresses.len(), - both_ways_peers: both_ways, - incoming_peers: incoming, - outgoing_peers: outgoing, - missing_peers: missing, - } - } -} - -impl Display for ManagerStatus { - fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), FmtError> { - if self.wanted_peers == 0 { - return write!(f, "not maintaining any connections; "); - } - - write!(f, "target - {:?} connections; ", self.wanted_peers)?; - - if self.both_ways_peers.is_empty() && self.incoming_peers.is_empty() { - write!(f, "WARNING! No incoming peers even though we expected tham, maybe connecting to us is impossible; ")?; - } - - if !self.both_ways_peers.is_empty() { - let peers = self - .both_ways_peers - .iter() - .map(|peer_id| peer_id.to_short_string()) - .collect::>() - .join(", "); - write!( - f, - "both ways - {:?} [{}]; ", - self.both_ways_peers.len(), - peers, - )?; - } - - if !self.incoming_peers.is_empty() { - let peers = self - .incoming_peers - .iter() - .map(|peer_id| peer_id.to_short_string()) - .collect::>() - .join(", "); - write!( - f, - "incoming only - {:?} [{}]; ", - self.incoming_peers.len(), - peers - )?; - } - - if !self.outgoing_peers.is_empty() { - let peers = self - .outgoing_peers - .iter() - .map(|peer_id| peer_id.to_short_string()) - .collect::>() - .join(", "); - write!( - f, - "outgoing only - {:?} [{}];", - self.outgoing_peers.len(), - peers - )?; - } - - if !self.missing_peers.is_empty() { - let peers = self - .missing_peers - .iter() - .map(|peer_id| peer_id.to_short_string()) - .collect::>() - .join(", "); - write!(f, "missing - {:?} [{}];", self.missing_peers.len(), peers)?; - } - - Ok(()) - } -} - -impl Manager { - /// Create a new Manager with empty list of peers. - pub fn new() -> Self { - Manager { - addresses: HashMap::new(), - outgoing: HashMap::new(), - incoming: HashMap::new(), - } - } - - /// Add a peer to the list of peers we want to stay connected to, or - /// update the address if the peer was already added. - /// Returns whether this peer is a new peer. - pub fn add_peer(&mut self, peer_id: PK, address: A) -> bool { - self.addresses.insert(peer_id, address).is_none() - } - - /// Return Option containing the address of the given peer, or None if - /// the peer is unknown. - pub fn peer_address(&self, peer_id: &PK) -> Option { - self.addresses.get(peer_id).cloned() - } - - /// Add an established outgoing connection with a known peer, - /// but only if the peer is on the list of peers that we want to stay connected with. - pub fn add_outgoing( - &mut self, - peer_id: PK, - data_for_network: mpsc::UnboundedSender, - ) -> AddResult { - use AddResult::*; - if !self.addresses.contains_key(&peer_id) { - return Uninterested; - } - match self.outgoing.insert(peer_id, data_for_network) { - Some(_) => Replaced, - None => Added, - } - } - - /// Add an established incoming connection with a known peer, - /// but only if the peer is on the list of peers that we want to stay connected with. - pub fn add_incoming(&mut self, peer_id: PK, exit: mpsc::UnboundedSender) -> AddResult { - use AddResult::*; - if !self.addresses.contains_key(&peer_id) { - return Uninterested; - }; - match self.incoming.insert(peer_id, exit) { - Some(_) => Replaced, - None => Added, - } - } - - /// Remove a peer from the list of peers that we want to stay connected with. - /// Close any incoming and outgoing connections that were established. - pub fn remove_peer(&mut self, peer_id: &PK) { - self.addresses.remove(peer_id); - self.incoming.remove(peer_id); - self.outgoing.remove(peer_id); - } - - /// Send data to a peer. - /// Returns error if there is no outgoing connection to the peer, - /// or if the connection is dead. - pub fn send_to(&mut self, peer_id: &PK, data: D) -> Result<(), SendError> { - self.outgoing - .get(peer_id) - .ok_or(SendError::PeerNotFound)? - .unbounded_send(data) - .map_err(|_| SendError::ConnectionClosed) - } - - /// A status of the manager, to be displayed somewhere. - pub fn status_report(&self) -> impl Display { - ManagerStatus::new(self) - } -} - -#[cfg(test)] -mod tests { - use futures::{channel::mpsc, StreamExt}; - - use super::{AddResult::*, Manager, SendError}; - use crate::network::clique::mock::{key, MockPublicKey}; - - type Data = String; - type Address = String; - - #[test] - fn add_remove() { - let mut manager = Manager::::new(); - let (peer_id, _) = key(); - let (peer_id_b, _) = key(); - let address = String::from("43.43.43.43:43000"); - // add new peer - returns true - assert!(manager.add_peer(peer_id.clone(), address.clone())); - // add known peer - returns false - assert!(!manager.add_peer(peer_id.clone(), address.clone())); - // get address - assert_eq!(manager.peer_address(&peer_id), Some(address)); - // try to get address of an unknown peer - assert_eq!(manager.peer_address(&peer_id_b), None); - // remove peer - manager.remove_peer(&peer_id); - // try to get address of removed peer - assert_eq!(manager.peer_address(&peer_id), None); - } - - #[tokio::test] - async fn outgoing() { - let mut manager = Manager::::new(); - let data = String::from("DATA"); - let (peer_id, _) = key(); - let address = String::from("43.43.43.43:43000"); - let (tx, _rx) = mpsc::unbounded(); - // try add unknown peer - manager.add_outgoing(peer_id.clone(), tx); - // sending should fail - assert_eq!( - manager.send_to(&peer_id, data.clone()), - Err(SendError::PeerNotFound) - ); - // add peer, this time for real - assert!(manager.add_peer(peer_id.clone(), address.clone())); - let (tx, mut rx) = mpsc::unbounded(); - assert_eq!(manager.add_outgoing(peer_id.clone(), tx), Added); - // send and receive - assert!(manager.send_to(&peer_id, data.clone()).is_ok()); - assert_eq!(data, rx.next().await.expect("should receive")); - // remove peer - manager.remove_peer(&peer_id); - // receiving should fail - assert!(rx.next().await.is_none()); - } - - #[test] - fn incoming() { - let mut manager = Manager::::new(); - let (peer_id, _) = key(); - let address = String::from("43.43.43.43:43000"); - let (tx, mut rx) = mpsc::unbounded(); - // try add unknown peer - assert_eq!(manager.add_incoming(peer_id.clone(), tx), Uninterested); - // rx should fail - assert!(rx.try_next().expect("channel should be closed").is_none()); - // add peer, this time for real - assert!(manager.add_peer(peer_id.clone(), address)); - let (tx, mut rx) = mpsc::unbounded(); - // should just add - assert_eq!(manager.add_incoming(peer_id.clone(), tx), Added); - // the exit channel should be open - assert!(rx.try_next().is_err()); - let (tx, mut rx2) = mpsc::unbounded(); - // should replace now - assert_eq!(manager.add_incoming(peer_id.clone(), tx), Replaced); - // receiving should fail on old, but work on new channel - assert!(rx.try_next().expect("channel should be closed").is_none()); - assert!(rx2.try_next().is_err()); - // remove peer - manager.remove_peer(&peer_id); - // receiving should fail - assert!(rx2.try_next().expect("channel should be closed").is_none()); - } -} diff --git a/finality-aleph/src/network/clique/manager/mod.rs b/finality-aleph/src/network/clique/manager/mod.rs index 17f5172a8c..2b661280b3 100644 --- a/finality-aleph/src/network/clique/manager/mod.rs +++ b/finality-aleph/src/network/clique/manager/mod.rs @@ -8,10 +8,7 @@ use futures::channel::mpsc; use crate::network::{clique::PublicKey, Data, PeerId}; mod direction; -mod legacy; - use direction::DirectedPeers; -pub use legacy::Manager as LegacyManager; /// Error during sending data through the Manager #[derive(Debug, PartialEq, Eq)] diff --git a/finality-aleph/src/network/clique/outgoing.rs b/finality-aleph/src/network/clique/outgoing.rs index fe100a0e46..a78910c76c 100644 --- a/finality-aleph/src/network/clique/outgoing.rs +++ b/finality-aleph/src/network/clique/outgoing.rs @@ -5,9 +5,7 @@ use log::{debug, info}; use tokio::time::{sleep, timeout, Duration}; use crate::network::clique::{ - protocols::{ - protocol, ConnectionType, ProtocolError, ProtocolNegotiationError, ResultForService, - }, + protocols::{protocol, ProtocolError, ProtocolNegotiationError, ResultForService}, ConnectionInfo, Data, Dialer, PeerAddressInfo, PublicKey, SecretKey, LOG_TARGET, }; @@ -110,7 +108,7 @@ pub async fn outgoing>( // we send the "new" connection type, because we always assume it's new until proven // otherwise, and here we did not even get the chance to attempt negotiating a protocol if result_for_parent - .unbounded_send((public_key, None, ConnectionType::New)) + .unbounded_send((public_key, None)) .is_err() { debug!(target: LOG_TARGET, "Could not send the closing message, we've probably been terminated by the parent service."); diff --git a/finality-aleph/src/network/clique/protocols/mod.rs b/finality-aleph/src/network/clique/protocols/mod.rs index 7a35124606..c1f30c40fe 100644 --- a/finality-aleph/src/network/clique/protocols/mod.rs +++ b/finality-aleph/src/network/clique/protocols/mod.rs @@ -9,7 +9,6 @@ use crate::network::clique::{ mod handshake; mod negotiation; -mod v0; mod v1; use handshake::HandshakeError; @@ -17,26 +16,14 @@ pub use negotiation::{protocol, ProtocolNegotiationError}; pub type Version = u32; -/// The types of connections needed for backwards compatibility with the legacy two connections -/// protocol. Remove after it's no longer needed. -#[derive(PartialEq, Debug, Eq, Clone, Copy)] -pub enum ConnectionType { - New, - LegacyIncoming, - LegacyOutgoing, -} - /// What connections send back to the service after they become established. Starts with a public /// key of the remote node, followed by a channel for sending data to that node, with None if the -/// connection was unsuccessful and should be reestablished. Finally a marker for legacy -/// compatibility. -pub type ResultForService = (PK, Option>, ConnectionType); +/// connection was unsuccessful and should be reestablished. +pub type ResultForService = (PK, Option>); -/// Defines the protocol for communication. +/// Defines the protocol for communication. Currently single variant, but left in case of protocol change. #[derive(Debug, PartialEq, Eq)] pub enum Protocol { - /// The first version of the protocol, with unidirectional connections. - V0, /// The current version of the protocol, with pseudorandom connection direction and /// multiplexing. V1, @@ -96,7 +83,7 @@ impl From for ProtocolError { impl Protocol { /// Minimal supported protocol version. - const MIN_VERSION: Version = 0; + const MIN_VERSION: Version = 1; /// Maximal supported protocol version. const MAX_VERSION: Version = 1; @@ -115,16 +102,6 @@ impl Protocol { ) -> Result<(), ProtocolError> { use Protocol::*; match self { - V0 => { - v0::incoming( - stream, - secret_key, - authorization_requests_sender, - result_for_parent, - data_for_user, - ) - .await - } V1 => { v1::incoming( stream, @@ -149,7 +126,6 @@ impl Protocol { ) -> Result<(), ProtocolError> { use Protocol::*; match self { - V0 => v0::outgoing(stream, secret_key, public_key, result_for_service).await, V1 => { v1::outgoing( stream, @@ -169,7 +145,6 @@ impl TryFrom for Protocol { fn try_from(version: Version) -> Result { match version { - 0 => Ok(Protocol::V0), 1 => Ok(Protocol::V1), unknown_version => Err(unknown_version), } diff --git a/finality-aleph/src/network/clique/protocols/v0/heartbeat.rs b/finality-aleph/src/network/clique/protocols/v0/heartbeat.rs deleted file mode 100644 index 2e83e5e60c..0000000000 --- a/finality-aleph/src/network/clique/protocols/v0/heartbeat.rs +++ /dev/null @@ -1,74 +0,0 @@ -use codec::{Decode, Encode}; -use tokio::{ - io::{AsyncRead, AsyncWrite}, - time::{sleep, timeout, Duration}, -}; - -use crate::network::clique::io::{receive_data, send_data}; - -const HEARTBEAT_TIMEOUT: Duration = Duration::from_secs(5); -const MAX_MISSED_HEARTBEATS: u32 = 4; - -/// Represents the heartbeat message. Holds a single integer, so that it encodes into a nonempty -/// string of bytes. -#[derive(Debug, Clone, Encode, Decode)] -struct Heartbeat(u32); - -/// Sends heartbeat messages at regular intervals, indefinitely. -/// Fails if the communication channel is closed. -pub async fn heartbeat_sender(mut stream: S) { - loop { - // Random number so the message contains something. - stream = match send_data(stream, Heartbeat(43)).await { - Ok(stream) => stream, - // If anything at all went wrong, the heartbeat is dead. - Err(_) => return, - }; - sleep(HEARTBEAT_TIMEOUT).await; - } -} - -/// Receives heartbeat messages indefinitely. -/// Fails if the communication channel is closed, or if no message is received -/// for too long. -pub async fn heartbeat_receiver(mut stream: S) { - loop { - stream = match timeout( - HEARTBEAT_TIMEOUT * MAX_MISSED_HEARTBEATS, - receive_data::(stream), - ) - .await - { - Ok(Ok((stream, _))) => stream, - // If anything at all went wrong the heartbeat is dead. - _ => return, - }; - } -} - -#[cfg(test)] -mod tests { - use tokio::{ - self, - time::{timeout, Duration}, - }; - - use super::{heartbeat_receiver, heartbeat_sender}; - use crate::network::clique::mock::MockSplittable; - - #[tokio::test] - async fn sender_closed_on_broken_connection() { - let (stream, _) = MockSplittable::new(4096); - timeout(Duration::from_secs(10), heartbeat_sender(stream)) - .await - .expect("should end immediately"); - } - - #[tokio::test] - async fn receiver_closed_on_broken_connection() { - let (stream, _) = MockSplittable::new(4096); - timeout(Duration::from_secs(10), heartbeat_receiver(stream)) - .await - .expect("should end immediately"); - } -} diff --git a/finality-aleph/src/network/clique/protocols/v0/mod.rs b/finality-aleph/src/network/clique/protocols/v0/mod.rs deleted file mode 100644 index e2c996efe4..0000000000 --- a/finality-aleph/src/network/clique/protocols/v0/mod.rs +++ /dev/null @@ -1,533 +0,0 @@ -use futures::{ - channel::{mpsc, oneshot}, - StreamExt, -}; -use log::{debug, info, trace}; -use tokio::io::{AsyncRead, AsyncWrite}; - -use crate::network::clique::{ - io::{receive_data, send_data}, - protocols::{ - handshake::{v0_handshake_incoming, v0_handshake_outgoing}, - ConnectionType, ProtocolError, ResultForService, - }, - Data, PublicKey, SecretKey, Splittable, LOG_TARGET, -}; - -mod heartbeat; - -use heartbeat::{heartbeat_receiver, heartbeat_sender}; - -/// Receives data from the parent service and sends it over the network. -/// Exits when the parent channel is closed, or if the network connection is broken. -async fn sending( - mut sender: S, - mut data_from_user: mpsc::UnboundedReceiver, -) -> Result<(), ProtocolError> { - loop { - sender = match data_from_user.next().await { - Some(data) => send_data(sender, data).await?, - // We have been closed by the parent service, all good. - None => return Ok(()), - }; - } -} - -/// Performs the handshake, and then keeps sending data received from the parent service. -/// Exits on parent request, or in case of broken or dead network connection. -pub async fn outgoing( - stream: S, - secret_key: SK, - public_key: SK::PublicKey, - result_for_parent: mpsc::UnboundedSender>, -) -> Result<(), ProtocolError> { - trace!(target: LOG_TARGET, "Extending hand to {}.", public_key); - let (sender, receiver) = v0_handshake_outgoing(stream, secret_key, public_key.clone()).await?; - info!( - target: LOG_TARGET, - "Outgoing handshake with {} finished successfully.", public_key - ); - let (data_for_network, data_from_user) = mpsc::unbounded(); - result_for_parent - .unbounded_send(( - public_key.clone(), - Some(data_for_network), - ConnectionType::LegacyOutgoing, - )) - .map_err(|_| ProtocolError::NoParentConnection)?; - - let sending = sending(sender, data_from_user); - let heartbeat = heartbeat_receiver(receiver); - - debug!( - target: LOG_TARGET, - "Starting worker for sending to {}.", public_key - ); - loop { - tokio::select! { - _ = heartbeat => return Err(ProtocolError::CardiacArrest), - result = sending => return result, - } - } -} - -/// Receives data from the network and sends it to the parent service. -/// Exits when the parent channel is closed, or if the network connection is broken. -async fn receiving( - mut stream: S, - data_for_user: mpsc::UnboundedSender, -) -> Result<(), ProtocolError> { - loop { - let (old_stream, data) = receive_data(stream).await?; - stream = old_stream; - data_for_user - .unbounded_send(data) - .map_err(|_| ProtocolError::NoUserConnection)?; - } -} - -/// Performs the handshake, and then keeps sending data received from the network to the parent service. -/// Exits on parent request, or in case of broken or dead network connection. -pub async fn incoming( - stream: S, - secret_key: SK, - authorization_requests_sender: mpsc::UnboundedSender<(SK::PublicKey, oneshot::Sender)>, - result_for_parent: mpsc::UnboundedSender>, - data_for_user: mpsc::UnboundedSender, -) -> Result<(), ProtocolError> { - trace!(target: LOG_TARGET, "Waiting for extended hand..."); - let (sender, receiver, public_key) = v0_handshake_incoming(stream, secret_key).await?; - info!( - target: LOG_TARGET, - "Incoming handshake with {} finished successfully.", public_key - ); - - if !check_authorization::(authorization_requests_sender, public_key.clone()).await? { - return Err(ProtocolError::NotAuthorized); - } - - let (tx_exit, mut exit) = mpsc::unbounded(); - result_for_parent - .unbounded_send(( - public_key.clone(), - Some(tx_exit), - ConnectionType::LegacyIncoming, - )) - .map_err(|_| ProtocolError::NoParentConnection)?; - - let receiving = receiving(receiver, data_for_user); - let heartbeat = heartbeat_sender(sender); - - debug!( - target: LOG_TARGET, - "Starting worker for receiving from {}.", public_key - ); - loop { - tokio::select! { - _ = heartbeat => return Err(ProtocolError::CardiacArrest), - result = receiving => return result, - _ = exit.next() => return Ok(()), - } - } -} - -pub async fn check_authorization( - authorization_requests_sender: mpsc::UnboundedSender<(SK::PublicKey, oneshot::Sender)>, - public_key: SK::PublicKey, -) -> Result> { - let (sender, receiver) = oneshot::channel(); - authorization_requests_sender - .unbounded_send((public_key.clone(), sender)) - .map_err(|_| ProtocolError::NoParentConnection)?; - receiver - .await - .map_err(|_| ProtocolError::NoParentConnection) -} - -#[cfg(test)] -pub mod tests { - use futures::{ - channel::{mpsc, oneshot}, - pin_mut, Future, FutureExt, StreamExt, - }; - - use crate::network::clique::{ - mock::{key, MockPrelims, MockSplittable}, - protocols::{ - v0::{incoming, outgoing}, - ConnectionType, ProtocolError, - }, - Data, - }; - - fn prepare() -> MockPrelims { - let (stream_incoming, stream_outgoing) = MockSplittable::new(4096); - let (id_incoming, pen_incoming) = key(); - let (id_outgoing, pen_outgoing) = key(); - assert_ne!(id_incoming, id_outgoing); - let (incoming_result_for_service, result_from_incoming) = mpsc::unbounded(); - let (outgoing_result_for_service, result_from_outgoing) = mpsc::unbounded(); - let (data_for_user, data_from_incoming) = mpsc::unbounded::(); - let (authorization_requests_sender, authorization_requests) = mpsc::unbounded(); - let incoming_handle = Box::pin(incoming( - stream_incoming, - pen_incoming.clone(), - authorization_requests_sender, - incoming_result_for_service, - data_for_user, - )); - let outgoing_handle = Box::pin(outgoing( - stream_outgoing, - pen_outgoing.clone(), - id_incoming.clone(), - outgoing_result_for_service, - )); - MockPrelims { - id_incoming, - pen_incoming, - id_outgoing, - pen_outgoing, - incoming_handle, - outgoing_handle, - data_from_incoming, - data_from_outgoing: None, - result_from_incoming, - result_from_outgoing, - authorization_requests, - } - } - - fn handle_authorization( - mut authorization_requests: mpsc::UnboundedReceiver<(PK, oneshot::Sender)>, - handler: impl FnOnce(PK) -> bool + Send + 'static, - ) -> impl Future> { - tokio::spawn(async move { - let (public_key, response_sender) = authorization_requests - .next() - .await - .expect("We should recieve at least one authorization request."); - let authorization_result = handler(public_key); - response_sender - .send(authorization_result) - .expect("We should be able to send back an authorization response."); - Result::<(), ()>::Ok(()) - }) - .map(|result| match result { - Ok(ok) => ok, - Err(_) => Err(()), - }) - } - - fn all_pass_authorization_handler( - authorization_requests: mpsc::UnboundedReceiver<(PK, oneshot::Sender)>, - ) -> impl Future> { - handle_authorization(authorization_requests, |_| true) - } - - fn no_go_authorization_handler( - authorization_requests: mpsc::UnboundedReceiver<(PK, oneshot::Sender)>, - ) -> impl Future> { - handle_authorization(authorization_requests, |_| false) - } - - #[tokio::test] - async fn send_data() { - let MockPrelims { - incoming_handle, - outgoing_handle, - mut data_from_incoming, - result_from_incoming: _result_from_incoming, - mut result_from_outgoing, - authorization_requests, - .. - } = prepare::>(); - let _authorization_handle = all_pass_authorization_handler(authorization_requests); - let incoming_handle = incoming_handle.fuse(); - let outgoing_handle = outgoing_handle.fuse(); - pin_mut!(incoming_handle); - pin_mut!(outgoing_handle); - let _data_for_outgoing = tokio::select! { - _ = &mut incoming_handle => panic!("incoming process unexpectedly finished"), - _ = &mut outgoing_handle => panic!("outgoing process unexpectedly finished"), - result = result_from_outgoing.next() => { - let (_, maybe_data_for_outgoing, connection_type) = result.expect("the channel shouldn't be dropped"); - assert_eq!(connection_type, ConnectionType::LegacyOutgoing); - let data_for_outgoing = maybe_data_for_outgoing.expect("successfully connected"); - data_for_outgoing - .unbounded_send(vec![4, 3, 43]) - .expect("should send"); - data_for_outgoing - .unbounded_send(vec![2, 1, 3, 7]) - .expect("should send"); - data_for_outgoing - }, - }; - tokio::select! { - _ = &mut incoming_handle => panic!("incoming process unexpectedly finished"), - _ = &mut outgoing_handle => panic!("outgoing process unexpectedly finished"), - v = data_from_incoming.next() => { - assert_eq!(v, Some(vec![4, 3, 43])); - }, - }; - tokio::select! { - _ = &mut incoming_handle => panic!("incoming process unexpectedly finished"), - _ = &mut outgoing_handle => panic!("outgoing process unexpectedly finished"), - v = data_from_incoming.next() => { - assert_eq!(v, Some(vec![2, 1, 3, 7])); - }, - }; - } - - #[tokio::test] - async fn closed_by_parent_service() { - let MockPrelims { - id_outgoing, - incoming_handle, - outgoing_handle, - data_from_incoming: _data_from_incoming, - mut result_from_incoming, - result_from_outgoing: _result_from_outgoing, - authorization_requests, - .. - } = prepare::>(); - let _authorization_handle = all_pass_authorization_handler(authorization_requests); - let incoming_handle = incoming_handle.fuse(); - let outgoing_handle = outgoing_handle.fuse(); - pin_mut!(incoming_handle); - pin_mut!(outgoing_handle); - tokio::select! { - _ = &mut incoming_handle => panic!("incoming process unexpectedly finished"), - _ = &mut outgoing_handle => panic!("outgoing process unexpectedly finished"), - received = result_from_incoming.next() => { - // we drop the exit oneshot channel, thus finishing incoming_handle - let (received_id, _, connection_type) = received.expect("the channel shouldn't be dropped"); - assert_eq!(connection_type, ConnectionType::LegacyIncoming); - assert_eq!(received_id, id_outgoing); - }, - }; - incoming_handle - .await - .expect("closed manually, should finish with no error"); - } - - #[tokio::test] - async fn parent_service_dead() { - let MockPrelims { - incoming_handle, - outgoing_handle, - data_from_incoming: _data_from_incoming, - result_from_incoming, - result_from_outgoing: _result_from_outgoing, - authorization_requests, - .. - } = prepare::>(); - let _authorization_handle = all_pass_authorization_handler(authorization_requests); - std::mem::drop(result_from_incoming); - let incoming_handle = incoming_handle.fuse(); - let outgoing_handle = outgoing_handle.fuse(); - pin_mut!(incoming_handle); - pin_mut!(outgoing_handle); - tokio::select! { - e = &mut incoming_handle => match e { - Err(ProtocolError::NoParentConnection) => (), - Err(e) => panic!("unexpected error: {}", e), - Ok(_) => panic!("successfully finished when parent dead"), - }, - _ = &mut outgoing_handle => panic!("outgoing process unexpectedly finished"), - }; - } - - #[tokio::test] - async fn parent_user_dead() { - let MockPrelims { - incoming_handle, - outgoing_handle, - data_from_incoming, - result_from_incoming: _result_from_incoming, - mut result_from_outgoing, - authorization_requests, - .. - } = prepare::>(); - let _authorization_handle = all_pass_authorization_handler(authorization_requests); - std::mem::drop(data_from_incoming); - let incoming_handle = incoming_handle.fuse(); - let outgoing_handle = outgoing_handle.fuse(); - pin_mut!(incoming_handle); - pin_mut!(outgoing_handle); - let _data_for_outgoing = tokio::select! { - _ = &mut incoming_handle => panic!("incoming process unexpectedly finished"), - _ = &mut outgoing_handle => panic!("outgoing process unexpectedly finished"), - result = result_from_outgoing.next() => { - let (_, maybe_data_for_outgoing, connection_type) = result.expect("the channel shouldn't be dropped"); - assert_eq!(connection_type, ConnectionType::LegacyOutgoing); - let data_for_outgoing = maybe_data_for_outgoing.expect("successfully connected"); - data_for_outgoing - .unbounded_send(vec![2, 1, 3, 7]) - .expect("should send"); - data_for_outgoing - }, - }; - tokio::select! { - e = &mut incoming_handle => match e { - Err(ProtocolError::NoUserConnection) => (), - Err(e) => panic!("unexpected error: {}", e), - Ok(_) => panic!("successfully finished when user dead"), - }, - _ = &mut outgoing_handle => panic!("outgoing process unexpectedly finished"), - }; - } - - #[tokio::test] - async fn sender_dead_before_handshake() { - let MockPrelims { - incoming_handle, - outgoing_handle, - data_from_incoming: _data_from_incoming, - result_from_incoming: _result_from_incoming, - result_from_outgoing: _result_from_outgoing, - authorization_requests, - .. - } = prepare::>(); - let _authorization_handle = all_pass_authorization_handler(authorization_requests); - std::mem::drop(outgoing_handle); - match incoming_handle.await { - Err(ProtocolError::HandshakeError(_)) => (), - Err(e) => panic!("unexpected error: {}", e), - Ok(_) => panic!("successfully finished when connection dead"), - }; - } - - #[tokio::test] - async fn sender_dead_after_handshake() { - let MockPrelims { - incoming_handle, - outgoing_handle, - data_from_incoming: _data_from_incoming, - mut result_from_incoming, - result_from_outgoing: _result_from_outgoing, - authorization_requests, - .. - } = prepare::>(); - let _authorization_handle = all_pass_authorization_handler(authorization_requests); - let incoming_handle = incoming_handle.fuse(); - pin_mut!(incoming_handle); - let (_, _exit, connection_type) = tokio::select! { - _ = &mut incoming_handle => panic!("incoming process unexpectedly finished"), - _ = outgoing_handle => panic!("outgoing process unexpectedly finished"), - out = result_from_incoming.next() => out.expect("should receive"), - }; - assert_eq!(connection_type, ConnectionType::LegacyIncoming); - // outgoing_handle got consumed by tokio::select!, the sender is dead - match incoming_handle.await { - Err(ProtocolError::ReceiveError(_)) => (), - Err(e) => panic!("unexpected error: {}", e), - Ok(_) => panic!("successfully finished when connection dead"), - }; - } - - #[tokio::test] - async fn receiver_dead_before_handshake() { - let MockPrelims { - incoming_handle, - outgoing_handle, - data_from_incoming: _data_from_incoming, - result_from_incoming: _result_from_incoming, - result_from_outgoing: _result_from_outgoing, - authorization_requests, - .. - } = prepare::>(); - let _authorization_handle = all_pass_authorization_handler(authorization_requests); - std::mem::drop(incoming_handle); - match outgoing_handle.await { - Err(ProtocolError::HandshakeError(_)) => (), - Err(e) => panic!("unexpected error: {}", e), - Ok(_) => panic!("successfully finished when connection dead"), - }; - } - - #[tokio::test] - async fn receiver_dead_after_handshake() { - let MockPrelims { - incoming_handle, - outgoing_handle, - data_from_incoming: _data_from_incoming, - mut result_from_incoming, - result_from_outgoing: _result_from_outgoing, - authorization_requests, - .. - } = prepare::>(); - let _authorization_handle = all_pass_authorization_handler(authorization_requests); - let outgoing_handle = outgoing_handle.fuse(); - pin_mut!(outgoing_handle); - let (_, _exit, connection_type) = tokio::select! { - _ = incoming_handle => panic!("incoming process unexpectedly finished"), - _ = &mut outgoing_handle => panic!("outgoing process unexpectedly finished"), - out = result_from_incoming.next() => out.expect("should receive"), - }; - assert_eq!(connection_type, ConnectionType::LegacyIncoming); - // incoming_handle got consumed by tokio::select!, the receiver is dead - match outgoing_handle.await { - // We never get the SendError variant here, because we did not send anything - // through data_for_outgoing. - Err(ProtocolError::CardiacArrest) => (), - Err(e) => panic!("unexpected error: {}", e), - Ok(_) => panic!("successfully finished when connection dead"), - }; - } - - #[tokio::test] - async fn receiver_dead_after_handshake_try_send_error() { - let MockPrelims { - incoming_handle, - outgoing_handle, - data_from_incoming: _data_from_incoming, - mut result_from_incoming, - result_from_outgoing: _result_from_outgoing, - authorization_requests, - .. - } = prepare::>(); - let _authorization_handle = all_pass_authorization_handler(authorization_requests); - let outgoing_handle = outgoing_handle.fuse(); - pin_mut!(outgoing_handle); - let (_, _exit, connection_type) = tokio::select! { - _ = incoming_handle => panic!("incoming process unexpectedly finished"), - _ = &mut outgoing_handle => panic!("outgoing process unexpectedly finished"), - out = result_from_incoming.next() => out.expect("should receive"), - }; - assert_eq!(connection_type, ConnectionType::LegacyIncoming); - match outgoing_handle.await { - Err(ProtocolError::CardiacArrest) => (), - Err(e) => panic!("unexpected error: {}", e), - Ok(_) => panic!("successfully finished when connection dead"), - }; - } - - #[tokio::test] - async fn do_not_call_sender_and_receiver_until_authorized() { - let MockPrelims { - incoming_handle, - outgoing_handle, - mut data_from_incoming, - mut result_from_incoming, - authorization_requests, - .. - } = prepare::>(); - - let authorization_handle = no_go_authorization_handler(authorization_requests); - - // since we are returning `NotAuthorized` all except `outgoing_handle` should finish hapilly - let (incoming_result, outgoing_result, authorization_result) = - tokio::join!(incoming_handle, outgoing_handle, authorization_handle); - - assert!(incoming_result.is_err()); - assert!(outgoing_result.is_err()); - // this also verifies if it was called at all - assert!(authorization_result.is_ok()); - - let data_from_incoming = data_from_incoming.try_next(); - assert!(data_from_incoming.ok().flatten().is_none()); - - let result_from_incoming = result_from_incoming.try_next(); - assert!(result_from_incoming.ok().flatten().is_none()); - } -} diff --git a/finality-aleph/src/network/clique/protocols/v1/mod.rs b/finality-aleph/src/network/clique/protocols/v1/mod.rs index 713c5b05e4..8e0d1c41a3 100644 --- a/finality-aleph/src/network/clique/protocols/v1/mod.rs +++ b/finality-aleph/src/network/clique/protocols/v1/mod.rs @@ -13,8 +13,7 @@ use crate::network::clique::{ io::{receive_data, send_data}, protocols::{ handshake::{v0_handshake_incoming, v0_handshake_outgoing}, - v0::check_authorization, - ConnectionType, ProtocolError, ResultForService, + ProtocolError, ResultForService, }, Data, PublicKey, SecretKey, Splittable, LOG_TARGET, }; @@ -28,6 +27,19 @@ enum Message { Heartbeat, } +async fn check_authorization( + authorization_requests_sender: mpsc::UnboundedSender<(SK::PublicKey, oneshot::Sender)>, + public_key: SK::PublicKey, +) -> Result> { + let (sender, receiver) = oneshot::channel(); + authorization_requests_sender + .unbounded_send((public_key.clone(), sender)) + .map_err(|_| ProtocolError::NoParentConnection)?; + receiver + .await + .map_err(|_| ProtocolError::NoParentConnection) +} + async fn sending( mut sender: S, mut data_from_user: mpsc::UnboundedReceiver, @@ -104,11 +116,7 @@ pub async fn outgoing( ); let (data_for_network, data_from_user) = mpsc::unbounded(); result_for_parent - .unbounded_send(( - public_key.clone(), - Some(data_for_network), - ConnectionType::New, - )) + .unbounded_send((public_key.clone(), Some(data_for_network))) .map_err(|_| ProtocolError::NoParentConnection)?; debug!( @@ -141,11 +149,7 @@ pub async fn incoming( let (data_for_network, data_from_user) = mpsc::unbounded(); result_for_parent - .unbounded_send(( - public_key.clone(), - Some(data_for_network), - ConnectionType::New, - )) + .unbounded_send((public_key.clone(), Some(data_for_network))) .map_err(|_| ProtocolError::NoParentConnection)?; debug!( target: LOG_TARGET, @@ -165,7 +169,7 @@ mod tests { mock::{key, MockPrelims, MockSplittable}, protocols::{ v1::{incoming, outgoing}, - ConnectionType, ProtocolError, + ProtocolError, }, Data, }; @@ -264,8 +268,7 @@ mod tests { _ = &mut incoming_handle => panic!("incoming process unexpectedly finished"), _ = &mut outgoing_handle => panic!("outgoing process unexpectedly finished"), result = result_from_outgoing.next() => { - let (_, maybe_data_for_outgoing, connection_type) = result.expect("the channel shouldn't be dropped"); - assert_eq!(connection_type, ConnectionType::New); + let (_, maybe_data_for_outgoing) = result.expect("the channel shouldn't be dropped"); let data_for_outgoing = maybe_data_for_outgoing.expect("successfully connected"); data_for_outgoing .unbounded_send(vec![4, 3, 43]) @@ -280,8 +283,7 @@ mod tests { _ = &mut incoming_handle => panic!("incoming process unexpectedly finished"), _ = &mut outgoing_handle => panic!("outgoing process unexpectedly finished"), result = result_from_incoming.next() => { - let (_, maybe_data_for_incoming, connection_type) = result.expect("the channel shouldn't be dropped"); - assert_eq!(connection_type, ConnectionType::New); + let (_, maybe_data_for_incoming) = result.expect("the channel shouldn't be dropped"); let data_for_incoming = maybe_data_for_incoming.expect("successfully connected"); data_for_incoming .unbounded_send(vec![5, 4, 44]) @@ -345,8 +347,7 @@ mod tests { _ = &mut outgoing_handle => panic!("outgoing process unexpectedly finished"), received = result_from_incoming.next() => { // we drop the data sending channel, thus finishing incoming_handle - let (received_id, _, connection_type) = received.expect("the channel shouldn't be dropped"); - assert_eq!(connection_type, ConnectionType::New); + let (received_id, _) = received.expect("the channel shouldn't be dropped"); assert_eq!(received_id, id_outgoing); }, }; @@ -405,8 +406,7 @@ mod tests { _ = &mut incoming_handle => panic!("incoming process unexpectedly finished"), _ = &mut outgoing_handle => panic!("outgoing process unexpectedly finished"), result = result_from_outgoing.next() => { - let (_, maybe_data_for_outgoing, connection_type) = result.expect("the channel shouldn't be dropped"); - assert_eq!(connection_type, ConnectionType::New); + let (_, maybe_data_for_outgoing) = result.expect("the channel shouldn't be dropped"); let data_for_outgoing = maybe_data_for_outgoing.expect("successfully connected"); data_for_outgoing .unbounded_send(vec![2, 1, 3, 7]) @@ -460,12 +460,11 @@ mod tests { let _authorization_handle = all_pass_authorization_handler(authorization_requests); let incoming_handle = incoming_handle.fuse(); pin_mut!(incoming_handle); - let (_, _exit, connection_type) = tokio::select! { + let (_, _exit) = tokio::select! { _ = &mut incoming_handle => panic!("incoming process unexpectedly finished"), _ = outgoing_handle => panic!("outgoing process unexpectedly finished"), out = result_from_incoming.next() => out.expect("should receive"), }; - assert_eq!(connection_type, ConnectionType::New); // outgoing_handle got consumed by tokio::select!, the sender is dead match incoming_handle.await { Err(ProtocolError::ReceiveError(_)) => (), diff --git a/finality-aleph/src/network/clique/service.rs b/finality-aleph/src/network/clique/service.rs index 7905cc0b07..4c78907559 100644 --- a/finality-aleph/src/network/clique/service.rs +++ b/finality-aleph/src/network/clique/service.rs @@ -1,19 +1,19 @@ -use std::{collections::HashSet, fmt::Debug}; +use std::fmt::Debug; use futures::{ channel::{mpsc, oneshot}, StreamExt, }; -use log::{debug, info, trace, warn}; +use log::{info, trace, warn}; use tokio::time; use crate::{ network::{ clique::{ incoming::incoming, - manager::{AddResult, LegacyManager, Manager}, + manager::{AddResult, Manager}, outgoing::outgoing, - protocols::{ConnectionType, ResultForService}, + protocols::ResultForService, Dialer, Listener, Network, PublicKey, SecretKey, LOG_TARGET, }, Data, PeerId, @@ -86,9 +86,6 @@ where listener: NL, spawn_handle: SpawnTaskHandle, secret_key: SK, - // Backwards compatibility with the one-sided connections, remove when no longer needed. - legacy_connected: HashSet, - legacy_manager: LegacyManager, } impl, NL: Listener> Service @@ -115,8 +112,6 @@ where listener, spawn_handle, secret_key, - legacy_connected: HashSet::new(), - legacy_manager: LegacyManager::new(), }, ServiceInterface { commands_for_service, @@ -173,71 +168,15 @@ where } fn peer_address(&self, public_key: &SK::PublicKey) -> Option { - match self.legacy_connected.contains(public_key) { - true => self.legacy_manager.peer_address(public_key), - false => self.manager.peer_address(public_key), - } + self.manager.peer_address(public_key) } fn add_connection( &mut self, public_key: SK::PublicKey, data_for_network: mpsc::UnboundedSender, - connection_type: ConnectionType, ) -> AddResult { - use ConnectionType::*; - match connection_type { - New => { - // If we are adding a non-legacy connection we want to ensure it's not marked as - // such. This should only matter if a peer initially used the legacy protocol but - // now upgraded, otherwise this is unnecessary busywork, but what can you do. - self.unmark_legacy(&public_key); - self.manager.add_connection(public_key, data_for_network) - } - LegacyIncoming => self - .legacy_manager - .add_incoming(public_key, data_for_network), - LegacyOutgoing => self - .legacy_manager - .add_outgoing(public_key, data_for_network), - } - } - - // Mark a peer as legacy and return whether it is the first time we do so. - fn mark_legacy(&mut self, public_key: &SK::PublicKey) -> bool { - self.manager.remove_peer(public_key); - self.legacy_connected.insert(public_key.clone()) - } - - // Unmark a peer as legacy, putting it back in the normal set. - fn unmark_legacy(&mut self, public_key: &SK::PublicKey) { - self.legacy_connected.remove(public_key); - // Put it back if we still want to be connected. - if let Some(address) = self.legacy_manager.peer_address(public_key) { - self.manager.add_peer(public_key.clone(), address); - } - } - - // Checks whether this peer should now be marked as one using the legacy protocol and handled - // accordingly. Returns whether we should spawn a new connection worker because of that. - fn check_for_legacy( - &mut self, - public_key: &SK::PublicKey, - connection_type: ConnectionType, - ) -> bool { - use ConnectionType::*; - match connection_type { - LegacyIncoming => self.mark_legacy(public_key), - LegacyOutgoing => { - self.mark_legacy(public_key); - false - } - // We don't unmark here, because we always return New when a connection - // fails early, and in such cases we want to keep the previous guess as to - // how we want to connect. We unmark once we successfully negotiate and add - // a connection. - New => false, - } + self.manager.add_connection(public_key, data_for_network) } /// Run the service until a signal from exit. @@ -258,12 +197,6 @@ where // register new peer in manager or update its address if already there // spawn a worker managing outgoing connection if the peer was not known AddConnection(public_key, address) => { - // we add all the peers to the legacy manager so we don't lose the - // address, but only care about its opinion when it turns out we have to - // in particular the first time we add a peer we never know whether it - // requires legacy connecting, so we only attempt to connect to it if the - // new criterion is satisfied, otherwise we wait for it to connect to us - self.legacy_manager.add_peer(public_key.clone(), address.clone()); if self.manager.add_peer(public_key.clone(), address.clone()) { self.spawn_new_outgoing(public_key, address, result_for_parent.clone()); }; @@ -271,22 +204,14 @@ where // remove the peer from the manager all workers will be killed automatically, due to closed channels DelConnection(public_key) => { self.manager.remove_peer(&public_key); - self.legacy_manager.remove_peer(&public_key); - self.legacy_connected.remove(&public_key); }, // pass the data to the manager SendData(data, public_key) => { - match self.legacy_connected.contains(&public_key) { - true => match self.legacy_manager.send_to(&public_key, data) { - Ok(_) => trace!(target: LOG_TARGET, "Sending data to {} through legacy.", public_key), - Err(e) => trace!(target: LOG_TARGET, "Failed sending to {} through legacy: {}", public_key, e), - }, - false => match self.manager.send_to(&public_key, data) { + match self.manager.send_to(&public_key, data) { Ok(_) => trace!(target: LOG_TARGET, "Sending data to {}.", public_key), Err(e) => trace!(target: LOG_TARGET, "Failed sending to {}: {}", public_key, e), - }, - } - }, + } + } }, Some((public_key, response_channel)) = authorization_requests.next() => { let authorization_result = self.manager.is_authorized(&public_key); @@ -296,20 +221,10 @@ where }, // received information from a spawned worker managing a connection // check if we still want to be connected to the peer, and if so, spawn a new worker or actually add proper connection - Some((public_key, maybe_data_for_network, connection_type)) = worker_results.next() => { - if self.check_for_legacy(&public_key, connection_type) { - match self.legacy_manager.peer_address(&public_key) { - Some(address) => self.spawn_new_outgoing(public_key.clone(), address, result_for_parent.clone()), - None => { - // We received a result from a worker we are no longer interested - // in. - self.legacy_connected.remove(&public_key); - }, - } - } + Some((public_key, maybe_data_for_network)) = worker_results.next() => { use AddResult::*; match maybe_data_for_network { - Some(data_for_network) => match self.add_connection(public_key.clone(), data_for_network, connection_type) { + Some(data_for_network) => match self.add_connection(public_key.clone(), data_for_network) { Uninterested => warn!(target: LOG_TARGET, "Established connection with peer {} for unknown reasons.", public_key), Added => info!(target: LOG_TARGET, "New connection with peer {}.", public_key), Replaced => info!(target: LOG_TARGET, "Replaced connection with peer {}.", public_key), @@ -322,7 +237,6 @@ where // periodically reporting what we are trying to do _ = status_ticker.tick() => { info!(target: LOG_TARGET, "Clique Network status: {}", self.manager.status_report()); - debug!(target: LOG_TARGET, "Clique Network legacy status: {}", self.legacy_manager.status_report()); } // received exit signal, stop the network // all workers will be killed automatically after the manager gets dropped From a6d3a62f67662d0dde687be6d1615ffa37e3752b Mon Sep 17 00:00:00 2001 From: timorl Date: Tue, 7 Feb 2023 10:00:43 +0100 Subject: [PATCH 145/212] Main logic for justification sync (#902) Co-authored-by: timorl --- finality-aleph/src/sync/data.rs | 71 ++- finality-aleph/src/sync/forest/mod.rs | 7 +- finality-aleph/src/sync/forest/vertex.rs | 2 +- finality-aleph/src/sync/handler.rs | 486 ++++++++++++++++++ finality-aleph/src/sync/mock/backend.rs | 47 +- finality-aleph/src/sync/mock/mod.rs | 14 +- finality-aleph/src/sync/mock/verifier.rs | 1 + finality-aleph/src/sync/mod.rs | 16 +- .../src/sync/substrate/chain_status.rs | 23 +- 9 files changed, 628 insertions(+), 39 deletions(-) create mode 100644 finality-aleph/src/sync/handler.rs diff --git a/finality-aleph/src/sync/data.rs b/finality-aleph/src/sync/data.rs index ccf5b263dd..3d6e3eee1b 100644 --- a/finality-aleph/src/sync/data.rs +++ b/finality-aleph/src/sync/data.rs @@ -1,10 +1,14 @@ -use std::mem::size_of; +use std::{collections::HashSet, marker::PhantomData, mem::size_of}; use aleph_primitives::MAX_BLOCK_SIZE; use codec::{Decode, Encode, Error as CodecError, Input as CodecInput}; use log::warn; -use crate::{sync::Justification, Version}; +use crate::{ + network::GossipNetwork, + sync::{BlockIdFor, Justification, LOG_TARGET}, + Version, +}; /// The representation of the database state to be sent to other nodes. /// In the first version this only contains the top justification. @@ -13,6 +17,16 @@ pub struct State { top_justification: J::Unverified, } +impl State { + pub fn new(top_justification: J::Unverified) -> Self { + State { top_justification } + } + + pub fn top_justification(&self) -> J::Unverified { + self.top_justification.clone() + } +} + /// Data to be sent over the network. #[derive(Clone, Debug, Encode, Decode)] pub enum NetworkData { @@ -22,6 +36,8 @@ pub enum NetworkData { StateBroadcast(State), /// A series of justifications, sent to a node that is clearly behind. Justifications(Vec, State), + /// An explicit request for data, potentially a lot of it. + Request(BlockIdFor, State), } /// Version wrapper around the network data. @@ -44,6 +60,7 @@ fn encode_with_version(version: Version, payload: &[u8]) -> Vec { if size > MAX_SYNC_MESSAGE_SIZE { warn!( + target: LOG_TARGET, "Versioned sync message v{:?} too big during Encode. Size is {:?}. Should be {:?} at max.", version, payload.len(), @@ -100,3 +117,53 @@ impl Decode for VersionedNetworkData { } } } + +/// Wrap around a network to avoid thinking about versioning. +pub struct VersionWrapper>> { + inner: N, + _phantom: PhantomData, +} + +impl>> VersionWrapper { + /// Wrap the inner network. + pub fn new(inner: N) -> Self { + VersionWrapper { + inner, + _phantom: PhantomData, + } + } +} + +#[async_trait::async_trait] +impl>> GossipNetwork> + for VersionWrapper +{ + type Error = N::Error; + type PeerId = N::PeerId; + + fn send_to(&mut self, data: NetworkData, peer_id: Self::PeerId) -> Result<(), Self::Error> { + self.inner.send_to(VersionedNetworkData::V1(data), peer_id) + } + + fn send_to_random( + &mut self, + data: NetworkData, + peer_ids: HashSet, + ) -> Result<(), Self::Error> { + self.inner + .send_to_random(VersionedNetworkData::V1(data), peer_ids) + } + + fn broadcast(&mut self, data: NetworkData) -> Result<(), Self::Error> { + self.inner.broadcast(VersionedNetworkData::V1(data)) + } + + async fn next(&mut self) -> Result<(NetworkData, Self::PeerId), Self::Error> { + loop { + match self.inner.next().await? { + (VersionedNetworkData::Other(version, _), _) => warn!(target: LOG_TARGET, "Received sync data of unsupported version {:?}, this node might be running outdated software.", version), + (VersionedNetworkData::V1(data), peer_id) => return Ok((data, peer_id)), + } + } + } +} diff --git a/finality-aleph/src/sync/forest/mod.rs b/finality-aleph/src/sync/forest/mod.rs index 1f457fbe1b..c0648debca 100644 --- a/finality-aleph/src/sync/forest/mod.rs +++ b/finality-aleph/src/sync/forest/mod.rs @@ -3,13 +3,12 @@ use std::collections::{ HashMap, HashSet, }; -use crate::sync::{BlockIdentifier, Header, Justification, PeerId}; +use crate::sync::{BlockIdFor, BlockIdentifier, Header, Justification, PeerId}; mod vertex; -use vertex::{JustificationAddResult, Vertex}; - -type BlockIdFor = <::Header as Header>::Identifier; +pub use vertex::JustificationAddResult; +use vertex::Vertex; pub struct JustificationWithParent { pub justification: J, diff --git a/finality-aleph/src/sync/forest/vertex.rs b/finality-aleph/src/sync/forest/vertex.rs index ce4efa3b5d..7d26d66bdc 100644 --- a/finality-aleph/src/sync/forest/vertex.rs +++ b/finality-aleph/src/sync/forest/vertex.rs @@ -1,6 +1,6 @@ use std::collections::HashSet; -use crate::sync::{forest::BlockIdFor, Justification, PeerId}; +use crate::sync::{BlockIdFor, Justification, PeerId}; #[derive(Clone, Debug, Copy, PartialEq, Eq)] enum HeaderImportance { diff --git a/finality-aleph/src/sync/handler.rs b/finality-aleph/src/sync/handler.rs new file mode 100644 index 0000000000..7641d84098 --- /dev/null +++ b/finality-aleph/src/sync/handler.rs @@ -0,0 +1,486 @@ +use crate::{ + session::{last_block_of_session, session_id_from_block_num, SessionId, SessionPeriod}, + sync::{ + data::{NetworkData, State}, + forest::{Error as ForestError, Forest, JustificationAddResult}, + BlockIdFor, BlockIdentifier, ChainStatus, Finalizer, Header, Justification, PeerId, + Verifier, + }, +}; + +/// How many justifications we will send at most in response to a broadcast. +const MAX_SMALL_JUSTIFICATION_BATCH: u32 = 10; +// Silly workaround to make range matching actually work... +const MAX_SMALL_JUSTIFICATION_BATCH_PLUS_ONE: u32 = MAX_SMALL_JUSTIFICATION_BATCH + 1; +/// How many justifications we will send at most in response to an explicit query. +const MAX_JUSTIFICATION_BATCH: u32 = 100; + +/// Handler for data incoming from the network. +pub struct Handler, V: Verifier, F: Finalizer> +{ + chain_status: CS, + verifier: V, + finalizer: F, + forest: Forest, + period: SessionPeriod, +} + +/// What actions can the handler recommend as a reaction to some data. +#[derive(Clone, Debug)] +pub enum SyncActions { + /// A response for the peer that sent us the data. + Response(NetworkData), + /// A task that should be performed periodically. At the moment these are only requests for blocks, + /// so it always contains the id of the block. + Task(BlockIdFor), + /// Do nothing. + Noop, +} + +impl SyncActions { + fn noop() -> Self { + SyncActions::Noop + } + + fn response(response: NetworkData) -> Self { + SyncActions::Response(response) + } + + fn task(id: BlockIdFor) -> Self { + SyncActions::Task(id) + } +} + +/// What can go wrong when handling a piece of data. +#[derive(Clone, Debug)] +pub enum Error, V: Verifier, F: Finalizer> { + Verifier(V::Error), + ChainStatus(CS::Error), + Finalizer(F::Error), + Forest(ForestError), + NoParent, + MissingJustification, +} + +impl, V: Verifier, F: Finalizer> From + for Error +{ + fn from(e: ForestError) -> Self { + Error::Forest(e) + } +} + +impl, V: Verifier, F: Finalizer> + Handler +{ + /// New handler with the provided chain interfaces. + pub fn new( + chain_status: CS, + verifier: V, + finalizer: F, + period: SessionPeriod, + ) -> Result> { + let top_finalized = chain_status + .top_finalized() + .map_err(Error::ChainStatus)? + .header() + .id(); + let forest = Forest::new(top_finalized); + Ok(Handler { + chain_status, + verifier, + finalizer, + forest, + period, + }) + } + + fn large_justification_batch_from( + &self, + id: BlockIdFor, + ) -> Result, Error> { + use Error::*; + let mut result = Vec::with_capacity(MAX_SMALL_JUSTIFICATION_BATCH as usize); + let mut number = id.number() + 1; + let top_finalized_number = self + .chain_status + .top_finalized() + .map_err(ChainStatus)? + .header() + .id() + .number(); + while result.len() < MAX_JUSTIFICATION_BATCH as usize && number <= top_finalized_number { + number = match self + .chain_status + .finalized_at(number) + .map_err(ChainStatus)? + { + Some(justification) => { + result.push(justification.into_unverified()); + number + 1 + } + // We might skip all blocks of a session if we are missing a justification, but + // this will happen only for sessions where we don't have all the justifications. + // The last block of a session was always guaranteed to contain a justification, so + // we only share that one. It can be missing only if the last block is above the + // top finalized, in which case this will break the loop. + None => last_block_of_session( + session_id_from_block_num(number, self.period), + self.period, + ), + } + } + Ok(NetworkData::Justifications(result, self.state()?)) + } + + fn small_justification_batch_from( + &self, + id: BlockIdFor, + ) -> Result, Error> { + let mut result = Vec::with_capacity(MAX_SMALL_JUSTIFICATION_BATCH as usize); + let mut number = id.number() + 1; + while result.len() < MAX_SMALL_JUSTIFICATION_BATCH as usize { + match self + .chain_status + .finalized_at(number) + .map_err(Error::ChainStatus)? + { + Some(justification) => result.push(justification.into_unverified()), + None => break, + } + number += 1; + } + Ok(NetworkData::Justifications(result, self.state()?)) + } + + fn top_understandable_for( + &self, + id: BlockIdFor, + ) -> Result, Error> { + use Error::*; + let block_session = session_id_from_block_num(id.number(), self.period); + let understandable_session = SessionId(block_session.0 + 1); + let last_understandable_block_number = + last_block_of_session(understandable_session, self.period); + match self + .chain_status + .finalized_at(last_understandable_block_number) + .map_err(ChainStatus)? + { + Some(justification) => Ok(NetworkData::Justifications( + vec![justification.into_unverified()], + self.state()?, + )), + None => { + let justification = self.chain_status.top_finalized().map_err(ChainStatus)?; + match justification.header().id().number() <= last_understandable_block_number { + true => Ok(NetworkData::Justifications( + vec![justification.into_unverified()], + self.state()?, + )), + false => Err(Error::MissingJustification), + } + } + } + } + + fn try_finalize(&mut self) -> Result<(), Error> { + while let Some(justification) = self.forest.try_finalize() { + self.finalizer + .finalize(justification) + .map_err(Error::Finalizer)?; + } + Ok(()) + } + + fn handle_verified_justification( + &mut self, + justification: J, + peer: I, + ) -> Result, Error> { + use JustificationAddResult::*; + let id = justification.header().id(); + match self + .forest + .update_justification(justification, Some(peer))? + { + Noop => Ok(SyncActions::noop()), + Required => Ok(SyncActions::task(id)), + Finalizable => { + self.try_finalize()?; + Ok(SyncActions::noop()) + } + } + } + + /// Inform the handler that a block has been imported. + pub fn block_imported(&mut self, header: J::Header) -> Result<(), Error> { + match self.forest.update_body(&header)? { + true => self.try_finalize(), + false => Ok(()), + } + } + + /// Handle a request for potentially substantial amounts of data. + /// + /// Currently ignores the requested id, it will only become important once we can request + /// blocks. + pub fn handle_request( + &mut self, + _requested_id: BlockIdFor, + state: State, + ) -> Result, Error> { + let remote_top_id = self + .verifier + .verify(state.top_justification()) + .map_err(Error::Verifier)? + .header() + .id(); + Ok(SyncActions::response( + self.large_justification_batch_from(remote_top_id)?, + )) + } + + /// Handle a single justification. + pub fn handle_justification( + &mut self, + justification: J::Unverified, + peer: I, + ) -> Result, Error> { + let justification = self + .verifier + .verify(justification) + .map_err(Error::Verifier)?; + self.handle_verified_justification(justification, peer) + } + + /// Handle a state broadcast returning the actions we should take in response. + pub fn handle_state( + &mut self, + state: State, + peer: I, + ) -> Result, Error> { + use Error::*; + let remote_top = self + .verifier + .verify(state.top_justification()) + .map_err(Verifier)?; + let local_top = self.chain_status.top_finalized().map_err(ChainStatus)?; + match local_top + .header() + .id() + .number() + .checked_sub(remote_top.header().id().number()) + { + // If we are just one behind then normal broadcasts should remedy the situation. + Some(0..=1) => Ok(SyncActions::noop()), + Some(2..=MAX_SMALL_JUSTIFICATION_BATCH) => Ok(SyncActions::response( + self.small_justification_batch_from(remote_top.header().id())?, + )), + Some(MAX_SMALL_JUSTIFICATION_BATCH_PLUS_ONE..) => Ok(SyncActions::response( + self.top_understandable_for(remote_top.header().id())?, + )), + None => self.handle_verified_justification(remote_top, peer), + } + } + + /// The current state of our database. + pub fn state(&self) -> Result, Error> { + let top_justification = self + .chain_status + .top_finalized() + .map_err(Error::ChainStatus)? + .into_unverified(); + Ok(State::new(top_justification)) + } +} + +#[cfg(test)] +mod tests { + use super::{Handler, SyncActions}; + use crate::{ + sync::{ + data::NetworkData, + mock::{Backend, MockHeader, MockJustification, MockPeerId, MockVerifier}, + ChainStatus, Header, Justification, + }, + SessionPeriod, + }; + + type MockHandler = Handler; + + const SESSION_PERIOD: usize = 20; + + fn setup() -> (MockHandler, Backend, impl Send) { + let (backend, _keep) = Backend::setup(); + let verifier = MockVerifier {}; + let handler = Handler::new( + backend.clone(), + verifier, + backend.clone(), + SessionPeriod(20), + ) + .expect("mock backend works"); + (handler, backend, _keep) + } + + fn import_branch(backend: &Backend, branch_length: usize) -> Vec { + let result: Vec<_> = backend + .best_block() + .expect("mock backend works") + .random_branch() + .take(branch_length) + .collect(); + for header in &result { + backend.import(header.clone()); + } + result + } + + #[test] + fn finalizes_imported_and_justified() { + let (mut handler, backend, _keep) = setup(); + let header = import_branch(&backend, 1)[0].clone(); + handler + .block_imported(header.clone()) + .expect("importing in order"); + let justification = MockJustification::for_header(header); + let peer = rand::random(); + assert!(matches!( + handler + .handle_justification(justification.clone().into_unverified(), peer) + .expect("correct justification"), + SyncActions::Noop + )); + assert_eq!( + backend.top_finalized().expect("mock backend works"), + justification + ); + } + + #[test] + fn finalizes_justified_and_imported() { + let (mut handler, backend, _keep) = setup(); + let header = import_branch(&backend, 1)[0].clone(); + let justification = MockJustification::for_header(header.clone()); + let peer = rand::random(); + match handler + .handle_justification(justification.clone().into_unverified(), peer) + .expect("correct justification") + { + SyncActions::Task(id) => assert_eq!(id, header.id()), + other_action => panic!("expected a task, got {:?}", other_action), + } + handler.block_imported(header).expect("importing in order"); + assert_eq!( + backend.top_finalized().expect("mock backend works"), + justification + ); + } + + #[test] + fn handles_state_with_small_difference() { + let (mut handler, backend, _keep) = setup(); + let initial_state = handler.state().expect("state works"); + let peer = rand::random(); + for justification in import_branch(&backend, 5) + .into_iter() + .map(MockJustification::for_header) + { + handler + .block_imported(justification.header().clone()) + .expect("importing in order"); + handler + .handle_justification(justification.clone().into_unverified(), peer) + .expect("correct justification"); + } + match handler + .handle_state(initial_state, peer) + .expect("correct justification") + { + SyncActions::Response(NetworkData::Justifications(justifications, _)) => { + assert_eq!(justifications.len(), 5) + } + other_action => panic!( + "expected a response with justifications, got {:?}", + other_action + ), + } + } + + #[test] + fn handles_state_with_large_difference() { + let (mut handler, backend, _keep) = setup(); + let initial_state = handler.state().expect("state works"); + let peer = rand::random(); + let justifications: Vec<_> = import_branch(&backend, 500) + .into_iter() + .map(MockJustification::for_header) + .collect(); + for justification in &justifications { + handler + .block_imported(justification.header().clone()) + .expect("importing in order"); + handler + .handle_justification(justification.clone().into_unverified(), peer) + .expect("correct justification"); + } + match handler + .handle_state(initial_state, peer) + .expect("correct justification") + { + SyncActions::Response(NetworkData::Justifications(sent_justifications, _)) => { + assert_eq!(sent_justifications.len(), 1); + assert_eq!( + sent_justifications[0].header().id(), + justifications[SESSION_PERIOD * 2 - 2].header().id() + ); + } + other_action => panic!( + "expected a response with justifications, got {:?}", + other_action + ), + } + } + + #[test] + fn handles_request() { + let (mut handler, backend, _keep) = setup(); + let initial_state = handler.state().expect("state works"); + let peer = rand::random(); + let justifications: Vec<_> = import_branch(&backend, 500) + .into_iter() + .map(MockJustification::for_header) + .collect(); + for justification in &justifications { + handler + .block_imported(justification.header().clone()) + .expect("importing in order"); + handler + .handle_justification(justification.clone().into_unverified(), peer) + .expect("correct justification"); + } + // currently ignored, so picking a random one + let requested_id = justifications[43].header().id(); + match handler + .handle_request(requested_id, initial_state) + .expect("correct request") + { + SyncActions::Response(NetworkData::Justifications(sent_justifications, _)) => { + assert_eq!(sent_justifications.len(), 100); + for (sent_justification, justification) in + sent_justifications.iter().zip(justifications) + { + assert_eq!( + sent_justification.header().id(), + justification.header().id() + ); + } + } + other_action => panic!( + "expected a response with justifications, got {:?}", + other_action + ), + } + } +} diff --git a/finality-aleph/src/sync/mock/backend.rs b/finality-aleph/src/sync/mock/backend.rs index 1c77472645..65325c607c 100644 --- a/finality-aleph/src/sync/mock/backend.rs +++ b/finality-aleph/src/sync/mock/backend.rs @@ -13,7 +13,7 @@ use crate::sync::{ Justification as JustificationT, }; -#[derive(Debug)] +#[derive(Clone, Debug)] struct MockBlock { header: MockHeader, justification: Option, @@ -36,25 +36,20 @@ impl MockBlock { } } +#[derive(Clone, Debug)] struct BackendStorage { blockchain: HashMap, - top_finalized: MockIdentifier, + finalized: Vec, best_block: MockIdentifier, genesis_block: MockIdentifier, } -#[derive(Clone)] +#[derive(Clone, Debug)] pub struct Backend { inner: Arc>, notification_sender: UnboundedSender, } -pub fn setup() -> (Backend, impl ChainStatusNotifier) { - let (notification_sender, notification_receiver) = mpsc::unbounded(); - - (Backend::new(notification_sender), notification_receiver) -} - fn is_predecessor( storage: &HashMap, mut header: MockHeader, @@ -77,6 +72,12 @@ fn is_predecessor( } impl Backend { + pub fn setup() -> (Self, impl ChainStatusNotifier) { + let (notification_sender, notification_receiver) = mpsc::unbounded(); + + (Backend::new(notification_sender), notification_receiver) + } + fn new(notification_sender: UnboundedSender) -> Self { let header = MockHeader::random_parentless(0); let id = header.id(); @@ -88,7 +89,7 @@ impl Backend { let storage = Arc::new(Mutex::new(BackendStorage { blockchain: HashMap::from([(id.clone(), block)]), - top_finalized: id.clone(), + finalized: vec![id.clone()], best_block: id.clone(), genesis_block: id, })); @@ -186,10 +187,11 @@ impl Finalizer for Backend { panic!("finalizing block without a finalized parent: {:?}", header); } - if parent_id != storage.top_finalized { + if &parent_id != storage.finalized.last().expect("there is a top finalized") { panic!( "finalizing block whose parent is not top finalized: {:?}. Top is {:?}", - header, storage.top_finalized + header, + storage.finalized.last().expect("there is a top finalized") ); } @@ -200,7 +202,7 @@ impl Finalizer for Backend { }; block.finalize(justification); - storage.top_finalized = id.clone(); + storage.finalized.push(id.clone()); // In case finalization changes best block, we set best block, to top finalized. // Whenever a new import happens, best block will update anyway. if !is_predecessor( @@ -246,6 +248,19 @@ impl ChainStatus for Backend { } } + fn finalized_at(&self, number: u32) -> Result, Self::Error> { + let storage = self.inner.lock(); + let id = match storage.finalized.get(number as usize) { + Some(id) => id, + None => return Ok(None), + }; + storage + .blockchain + .get(id) + .ok_or(StatusError) + .map(|b| b.justification.clone()) + } + fn best_block(&self) -> Result { let storage = self.inner.lock(); let id = storage.best_block.clone(); @@ -258,7 +273,11 @@ impl ChainStatus for Backend { fn top_finalized(&self) -> Result { let storage = self.inner.lock(); - let id = storage.top_finalized.clone(); + let id = storage + .finalized + .last() + .expect("there is a top finalized") + .clone(); storage .blockchain .get(&id) diff --git a/finality-aleph/src/sync/mock/mod.rs b/finality-aleph/src/sync/mock/mod.rs index 8802b26a34..f7bd4a1cbb 100644 --- a/finality-aleph/src/sync/mock/mod.rs +++ b/finality-aleph/src/sync/mock/mod.rs @@ -4,8 +4,7 @@ use codec::{Decode, Encode}; use sp_core::H256; use crate::sync::{ - BlockIdentifier, BlockStatus, ChainStatusNotification, ChainStatusNotifier, Header, - Justification as JustificationT, Verifier, + BlockIdentifier, BlockStatus, ChainStatusNotification, Header, Justification as JustificationT, }; mod backend; @@ -134,14 +133,3 @@ impl JustificationT for MockJustification { type MockNotification = ChainStatusNotification; type MockBlockStatus = BlockStatus; - -pub fn setup() -> ( - Backend, - impl Verifier, - impl ChainStatusNotifier, -) { - let (backend, notifier) = backend::setup(); - let verifier = MockVerifier; - - (backend, verifier, notifier) -} diff --git a/finality-aleph/src/sync/mock/verifier.rs b/finality-aleph/src/sync/mock/verifier.rs index a8f95318ed..b4089e260a 100644 --- a/finality-aleph/src/sync/mock/verifier.rs +++ b/finality-aleph/src/sync/mock/verifier.rs @@ -2,6 +2,7 @@ use std::fmt::{Display, Error as FmtError, Formatter}; use crate::sync::{mock::MockJustification, Verifier}; +#[derive(Debug)] pub struct MockVerifier; #[derive(Debug)] diff --git a/finality-aleph/src/sync/mod.rs b/finality-aleph/src/sync/mod.rs index 611a510de2..b33c990685 100644 --- a/finality-aleph/src/sync/mod.rs +++ b/finality-aleph/src/sync/mod.rs @@ -7,6 +7,7 @@ use codec::Codec; mod data; mod forest; +mod handler; #[cfg(test)] mod mock; mod substrate; @@ -23,7 +24,7 @@ pub trait PeerId: Clone + Hash + Eq {} impl PeerId for T {} /// The identifier of a block, the least amount of knowledge we can have about a block. -pub trait BlockIdentifier: Clone + Hash + Debug + Eq { +pub trait BlockIdentifier: Clone + Hash + Debug + Eq + Codec + Send + Sync + 'static { /// The block number, useful when reasoning about hopeless forks. fn number(&self) -> u32; } @@ -35,7 +36,7 @@ pub trait Requester { } /// The header of a block, containing information about the parent relation. -pub trait Header: Clone { +pub trait Header: Clone + Codec + Send + Sync + 'static { type Identifier: BlockIdentifier; /// The identifier of this block. @@ -46,9 +47,9 @@ pub trait Header: Clone { } /// The verified justification of a block, including a header. -pub trait Justification: Clone { +pub trait Justification: Clone + Send + Sync + 'static { type Header: Header; - type Unverified: Clone + Codec + Debug; + type Unverified: Clone + Codec + Debug + Send + Sync + 'static; /// The header of the block. fn header(&self) -> &Self::Header; @@ -57,6 +58,8 @@ pub trait Justification: Clone { fn into_unverified(self) -> Self::Unverified; } +type BlockIdFor = <::Header as Header>::Identifier; + /// A verifier of justifications. pub trait Verifier { type Error: Display; @@ -76,6 +79,7 @@ pub trait Finalizer { } /// A notification about the chain status changing. +#[derive(Clone, Debug)] pub enum ChainStatusNotification { /// A block has been imported. BlockImported(BI), @@ -112,6 +116,10 @@ pub trait ChainStatus { id: ::Identifier, ) -> Result, Self::Error>; + /// The justification at this block number, if we have it. Should return None if the + /// request is above the top finalized. + fn finalized_at(&self, number: u32) -> Result, Self::Error>; + /// The header of the best block. fn best_block(&self) -> Result; diff --git a/finality-aleph/src/sync/substrate/chain_status.rs b/finality-aleph/src/sync/substrate/chain_status.rs index 74958dba6f..66b7245ef5 100644 --- a/finality-aleph/src/sync/substrate/chain_status.rs +++ b/finality-aleph/src/sync/substrate/chain_status.rs @@ -13,7 +13,10 @@ use sp_runtime::{ use crate::{ justification::backwards_compatible_decode, - sync::{substrate::Justification, BlockStatus, ChainStatus, Header, LOG_TARGET}, + sync::{ + substrate::{BlockId, Justification}, + BlockStatus, ChainStatus, Header, LOG_TARGET, + }, AlephJustification, }; @@ -73,6 +76,10 @@ where B: BlockT, B::Header: SubstrateHeader, { + fn hash_for_number(&self, number: BlockNumber) -> Result, ClientError> { + self.client.hash(number) + } + fn header(&self, hash: B::Hash) -> Result, ClientError> { let id = SubstrateBlockId::::Hash(hash); self.client.header(id) @@ -119,6 +126,20 @@ where { type Error = Error; + fn finalized_at( + &self, + number: BlockNumber, + ) -> Result>, Self::Error> { + let id = match self.hash_for_number(number)? { + Some(hash) => BlockId { hash, number }, + None => return Ok(None), + }; + match self.status_of(id)? { + BlockStatus::Justified(justification) => Ok(Some(justification)), + _ => Ok(None), + } + } + fn status_of( &self, id: ::Identifier, From a304aa75bbe81023c5287f078ea271b2608ea13b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Obrok?= Date: Tue, 7 Feb 2023 15:06:27 +0100 Subject: [PATCH 146/212] Set specific cargo contract version on CI --- .github/workflows/e2e-tests-main-devnet.yml | 2 +- contracts/adder/deploy.sh | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/e2e-tests-main-devnet.yml b/.github/workflows/e2e-tests-main-devnet.yml index 62e1452890..6c735b5894 100644 --- a/.github/workflows/e2e-tests-main-devnet.yml +++ b/.github/workflows/e2e-tests-main-devnet.yml @@ -588,7 +588,7 @@ jobs: uses: baptiste0928/cargo-install@v1 with: crate: cargo-contract - version: "2.0.0-beta.1" + version: "=2.0.0-beta.1" - name: Install rust-src working-directory: ./contracts diff --git a/contracts/adder/deploy.sh b/contracts/adder/deploy.sh index 5acd85cbe3..1a389b390e 100755 --- a/contracts/adder/deploy.sh +++ b/contracts/adder/deploy.sh @@ -1,5 +1,7 @@ #!/bin/bash +set -euo pipefail + NODE_URL="${NODE_URL:-ws://localhost:9944}" AUTHORITY="${AUTHORITY:-//Alice}" From f0b998130f28c49d10dcc3ce4ac1a78ac06fe3cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Obrok?= Date: Tue, 7 Feb 2023 15:08:19 +0100 Subject: [PATCH 147/212] Update cargo contract version in README --- contracts/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contracts/README.md b/contracts/README.md index 66d902fc25..f595f1c874 100644 --- a/contracts/README.md +++ b/contracts/README.md @@ -54,7 +54,7 @@ Game continues in perpetuity (but in practice as long as there are accounts that ## Prerequisites - Rust nightly -- cargo-contract with bug fixes around URL parsing: `cargo install --git https://github.com/paritytech/cargo-contract.git --rev 2b1758756de59bd81e7bed5f8429d364f281cb9a --force` +- cargo-contract compatible with current node: `cargo install cargo-contract --version 2.0.0-beta.1` ## Instructions From 068768d28ec29c4d5435eb38928ebe5fa6c8cb72 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Obrok?= Date: Thu, 9 Feb 2023 08:11:27 +0100 Subject: [PATCH 148/212] Use good ole' run to install cargo-contract It seems the baptiste0928/cargo-install action, while great at caching, is not able to fix the version to *-beta.1 when a *-rc.1 version exists. Using this method for now, as the rc line is not compatible with our current node, it should be switched to the caching baptiste0928/cargo-install action when a stable version is compatible with the node. --- .github/workflows/e2e-tests-main-devnet.yml | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/.github/workflows/e2e-tests-main-devnet.yml b/.github/workflows/e2e-tests-main-devnet.yml index 6c735b5894..80c5cf4f2e 100644 --- a/.github/workflows/e2e-tests-main-devnet.yml +++ b/.github/workflows/e2e-tests-main-devnet.yml @@ -585,10 +585,7 @@ jobs: uses: actions/checkout@v2 - name: Install cargo-contract - uses: baptiste0928/cargo-install@v1 - with: - crate: cargo-contract - version: "=2.0.0-beta.1" + run: cargo install cargo-contract --version 2.0.0-beta.1 - name: Install rust-src working-directory: ./contracts @@ -610,10 +607,7 @@ jobs: uses: actions/checkout@v2 - name: Install cargo-contract - uses: baptiste0928/cargo-install@v1 - with: - crate: cargo-contract - version: "2.0.0-beta.1" + run: cargo install cargo-contract --version 2.0.0-beta.1 - name: Install rust-src working-directory: ./contracts From 40181dce93b0386e3d401efcf003ea93e3f864ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Obrok?= Date: Thu, 9 Feb 2023 13:38:23 +0100 Subject: [PATCH 149/212] Restore using dockerized node to inspect key The script contracts/scripts/deploy.sh might be run on CI without compiling the node first, so this is needed. --- contracts/scripts/deploy.sh | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/contracts/scripts/deploy.sh b/contracts/scripts/deploy.sh index 8a9816fcb6..a60c6e5cd7 100755 --- a/contracts/scripts/deploy.sh +++ b/contracts/scripts/deploy.sh @@ -2,8 +2,6 @@ set -euo pipefail -ROOT=$(pwd) - # --- FUNCTIONS function upload_contract { @@ -256,7 +254,7 @@ ACCESS_CONTROL_CODE_HASH=$(cargo contract upload --url "$NODE" --suri "$AUTHORIT ACCESS_CONTROL_CODE_HASH=$(echo "$ACCESS_CONTROL_CODE_HASH" | grep hash | tail -1 | cut -c 14-) ACCESS_CONTROL=$(cargo contract instantiate --url "$NODE" --constructor new --suri "$AUTHORITY_SEED" --skip-confirm --output-json) ACCESS_CONTROL=$(echo "$ACCESS_CONTROL" | jq -r '.contract') -ACCESS_CONTROL_PUBKEY=$("$ROOT"/target/release/aleph-node key inspect $ACCESS_CONTROL | grep hex | cut -c 23- | cut -c 3-) +ACCESS_CONTROL_PUBKEY=$(docker run --rm --entrypoint "/bin/sh" "${NODE_IMAGE}" -c "aleph-node key inspect $ACCESS_CONTROL" | grep hex | cut -c 23- | cut -c 3-) echo "access control contract address: $ACCESS_CONTROL" echo "access control contract public key \(hex\): $ACCESS_CONTROL_PUBKEY" From 7e9da030e789dee3b9158fcca256191c71151667 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Piotr=20Miko=C5=82ajczyk?= Date: Thu, 9 Feb 2023 15:10:52 +0100 Subject: [PATCH 150/212] Add call indices to pallets (#917) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Add call indices to pallets * Change libssl version in cliain. --------- Co-authored-by: Bartosz Jędrzejewski --- bin/cliain/Dockerfile | 4 ++-- pallets/aleph/src/lib.rs | 2 ++ pallets/elections/src/lib.rs | 5 +++++ 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/bin/cliain/Dockerfile b/bin/cliain/Dockerfile index 9c123ed38c..afd520a97e 100644 --- a/bin/cliain/Dockerfile +++ b/bin/cliain/Dockerfile @@ -11,8 +11,8 @@ RUN apt update && \ RUN update-ca-certificates -RUN wget http://nz2.archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2.16_amd64.deb -RUN dpkg -i libssl1.1_1.1.1f-1ubuntu2.16_amd64.deb +RUN wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2_amd64.deb +RUN dpkg -i libssl1.1_1.1.1f-1ubuntu2_amd64.deb COPY target/release/cliain /usr/local/bin RUN chmod +x /usr/local/bin/cliain diff --git a/pallets/aleph/src/lib.rs b/pallets/aleph/src/lib.rs index 06668c4795..49132f0e4d 100644 --- a/pallets/aleph/src/lib.rs +++ b/pallets/aleph/src/lib.rs @@ -234,6 +234,7 @@ pub mod pallet { impl Pallet { /// Sets the emergency finalization key. If called in session `N` the key can be used to /// finalize blocks from session `N+2` onwards, until it gets overridden. + #[pallet::call_index(0)] #[pallet::weight((T::BlockWeights::get().max_block, DispatchClass::Operational))] pub fn set_emergency_finalizer( origin: OriginFor, @@ -251,6 +252,7 @@ pub mod pallet { /// advance of the provided session of the version change. /// In order to cancel a scheduled version change, a new version change should be scheduled /// with the same version as the current one. + #[pallet::call_index(1)] #[pallet::weight((T::BlockWeights::get().max_block, DispatchClass::Operational))] pub fn schedule_finality_version_change( origin: OriginFor, diff --git a/pallets/elections/src/lib.rs b/pallets/elections/src/lib.rs index 747da8cad9..6fc35bc628 100644 --- a/pallets/elections/src/lib.rs +++ b/pallets/elections/src/lib.rs @@ -228,6 +228,7 @@ pub mod pallet { #[pallet::call] impl Pallet { + #[pallet::call_index(0)] #[pallet::weight((T::BlockWeights::get().max_block, DispatchClass::Operational))] pub fn change_validators( origin: OriginFor, @@ -262,6 +263,7 @@ pub mod pallet { } /// Sets ban config, it has an immediate effect + #[pallet::call_index(1)] #[pallet::weight((T::BlockWeights::get().max_block, DispatchClass::Operational))] pub fn set_ban_config( origin: OriginFor, @@ -312,6 +314,7 @@ pub mod pallet { } /// Schedule a non-reserved node to be banned out from the committee at the end of the era + #[pallet::call_index(2)] #[pallet::weight((T::BlockWeights::get().max_block, DispatchClass::Operational))] pub fn ban_from_committee( origin: OriginFor, @@ -330,6 +333,7 @@ pub mod pallet { } /// Schedule a non-reserved node to be banned out from the committee at the end of the era + #[pallet::call_index(3)] #[pallet::weight((T::BlockWeights::get().max_block, DispatchClass::Operational))] pub fn cancel_ban(origin: OriginFor, banned: T::AccountId) -> DispatchResult { ensure_root(origin)?; @@ -339,6 +343,7 @@ pub mod pallet { } /// Set openness of the elections + #[pallet::call_index(4)] #[pallet::weight((T::BlockWeights::get().max_block, DispatchClass::Operational))] pub fn set_elections_openness( origin: OriginFor, From 8a8159c09c4aac7e39e2a9c4404078ee85c8ac98 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maciej=20Nem=C5=9B?= Date: Fri, 10 Feb 2023 12:19:56 +0100 Subject: [PATCH 151/212] A0-1923: add e2e tests for pruning (#914) * add pruning catch up tests --- .github/workflows/e2e-tests-main-devnet.yml | 10 +++++++-- local-tests/run_nodes.py | 3 +-- local-tests/test_catch_up.py | 20 ++++++++++++++--- local-tests/test_multiple_restarts.py | 24 ++++++++++++++++----- 4 files changed, 45 insertions(+), 12 deletions(-) diff --git a/.github/workflows/e2e-tests-main-devnet.yml b/.github/workflows/e2e-tests-main-devnet.yml index d7dadc2218..bea032fd05 100644 --- a/.github/workflows/e2e-tests-main-devnet.yml +++ b/.github/workflows/e2e-tests-main-devnet.yml @@ -796,6 +796,9 @@ jobs: name: Test catching up runs-on: ubuntu-20.04 needs: build-new-node + strategy: + matrix: + pruning: ['', '--state-pruning 90'] steps: - name: Checkout source code uses: actions/checkout@v2 @@ -815,12 +818,15 @@ jobs: env: # Relative to local-tests/ directory ALEPH_NODE_BINARY: aleph-test-node/aleph-node - run: ./.github/scripts/test_catch_up.sh + run: ./.github/scripts/test_catch_up.sh ${{ matrix.pruning }} test-multiple-restarts: name: Test multiple restarts runs-on: ubuntu-20.04 needs: build-new-node + strategy: + matrix: + pruning: ['', '--state-pruning 2048'] steps: - name: Checkout source code uses: actions/checkout@v2 @@ -840,7 +846,7 @@ jobs: env: # Relative to local-tests/ directory ALEPH_NODE_BINARY: aleph-release-node/aleph-node - run: ./.github/scripts/test_multiple_restarts.sh + run: ./.github/scripts/test_multiple_restarts.sh ${{ matrix.pruning }} check-runtime-change: name: Inspect whether runtime version has been changed (compared with main) diff --git a/local-tests/run_nodes.py b/local-tests/run_nodes.py index 25592e8f15..1cc9cb0103 100755 --- a/local-tests/run_nodes.py +++ b/local-tests/run_nodes.py @@ -35,8 +35,7 @@ unit_creation_delay=500, execution='Native', rpc_cors='all', - rpc_methods='Unsafe', - state_pruning='archive') + rpc_methods='Unsafe') addresses = [n.address() for n in chain] chain.set_flags(bootnodes=addresses[0], public_addr=addresses) diff --git a/local-tests/test_catch_up.py b/local-tests/test_catch_up.py index 1ef727fda9..cb871338ba 100755 --- a/local-tests/test_catch_up.py +++ b/local-tests/test_catch_up.py @@ -3,11 +3,18 @@ import sys from os.path import abspath, join from time import sleep, ctime +import argparse from chainrunner import Chain, Seq, generate_keys, check_finalized + def printt(s): print(ctime() + ' | ' + s) + +argParser = argparse.ArgumentParser() +argParser.add_argument("--state-pruning", help="state pruning argument") +state_pruning = argParser.parse_args().state_pruning + # Path to working directory, where chainspec, logs and nodes' dbs are written: workdir = abspath(os.getenv('WORKDIR', '/tmp/workdir')) # Path to the aleph-node binary (important use short-session feature): @@ -30,12 +37,15 @@ def printt(s): print(ctime() + ' | ' + s) ws_port=Seq(9944), rpc_port=Seq(9933), unit_creation_delay=200, - execution='Native', - state_pruning='archive') + execution='Native') addresses = [n.address() for n in chain] validator_addresses = [n.validator_address() for n in chain] chain.set_flags(bootnodes=addresses[0]) -chain.set_flags_validator(public_addr=addresses, public_validator_addresses=validator_addresses) +chain.set_flags_validator(public_addr=addresses, + public_validator_addresses=validator_addresses) +if state_pruning is not None: + chain.set_flags('experimental-pruning', state_pruning=state_pruning, + ) chain.set_flags_validator('validator') @@ -50,6 +60,10 @@ def printt(s): print(ctime() + ' | ' + s) chain.wait_for_finalization(0) printt('Waiting for authorities') chain.wait_for_authorities() +if state_pruning is not None and state_pruning.isnumeric(): + bound = min(256, int(state_pruning)) + printt(f'Pruning turned on. Waiting for {bound} blocks to finalize') + chain.wait_for_finalization(bound) printt('Killing one validator and one nonvalidator') chain.stop(nodes=[3, 4]) diff --git a/local-tests/test_multiple_restarts.py b/local-tests/test_multiple_restarts.py index 4b062cc8c3..18995274cc 100755 --- a/local-tests/test_multiple_restarts.py +++ b/local-tests/test_multiple_restarts.py @@ -3,11 +3,18 @@ import sys from os.path import abspath, join from time import sleep, ctime +import argparse from chainrunner import Chain, Seq, generate_keys, check_finalized + def printt(s): print(ctime() + ' | ' + s) + +argParser = argparse.ArgumentParser() +argParser.add_argument("--state-pruning", help="state pruning argument") +state_pruning = argParser.parse_args().state_pruning + # Path to working directory, where chainspec, logs and nodes' dbs are written: workdir = abspath(os.getenv('WORKDIR', '/tmp/workdir')) # Path to the aleph-node binary (important DON'T use short-session feature): @@ -28,12 +35,15 @@ def printt(s): print(ctime() + ' | ' + s) ws_port=Seq(9944), rpc_port=Seq(9933), unit_creation_delay=200, - execution='Native', - state_pruning='archive') + execution='Native') addresses = [n.address() for n in chain] validator_addresses = [n.validator_address() for n in chain] chain.set_flags(bootnodes=addresses[0]) -chain.set_flags_validator(public_addr=addresses, public_validator_addresses=validator_addresses) +chain.set_flags_validator(public_addr=addresses, + public_validator_addresses=validator_addresses) +if state_pruning is not None: + chain.set_flags('experimental-pruning', state_pruning=state_pruning, + ) chain.set_flags_validator('validator') @@ -44,6 +54,10 @@ def printt(s): print(ctime() + ' | ' + s) chain.wait_for_finalization(0) printt('Waiting for authorities') chain.wait_for_authorities() +if state_pruning is not None and state_pruning.isnumeric(): + bound = min(256, int(state_pruning)) + printt(f'Pruning turned on. Waiting for {bound} blocks to finalize') + chain.wait_for_finalization(bound) delta = 5 @@ -63,7 +77,7 @@ def printt(s): print(ctime() + ' | ' + s) sys.exit(1) printt('Restarting nodes') - chain[3].start('aleph') + chain.start('aleph', nodes=[3]) printt('Waiting for finalization') chain.wait_for_finalization(finalized_before_start[3], nodes=[3]) @@ -73,5 +87,5 @@ def printt(s): print(ctime() + ' | ' + s) # Check if the murdered node started catching up with reasonable nr of blocks. if diff <= delta: - printt(f'Too small catch up for validators: {validator_diff}') + printt(f'Too small catch up for validators: {diff}') sys.exit(1) From f4adaffe3b3478944811cd00592c0afecad93838 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Obrok?= Date: Fri, 10 Feb 2023 12:40:58 +0100 Subject: [PATCH 152/212] Set button test envs on CI --- .github/actions/run-e2e-test/action.yml | 1 + contracts/scripts/test.sh | 19 +++++-------------- contracts/scripts/test_env.sh | 25 +++++++++++++++++++++++++ 3 files changed, 31 insertions(+), 14 deletions(-) create mode 100755 contracts/scripts/test_env.sh diff --git a/.github/actions/run-e2e-test/action.yml b/.github/actions/run-e2e-test/action.yml index b2b1adb186..20204488ce 100644 --- a/.github/actions/run-e2e-test/action.yml +++ b/.github/actions/run-e2e-test/action.yml @@ -120,6 +120,7 @@ runs: if [[ "${DEPLOY_BUTTON}" = "true" ]]; then source contracts/env/dev contracts/scripts/deploy.sh + source contracts/scripts/test_env.sh fi ./.github/scripts/run_e2e_test.sh "${ARGS[@]}" diff --git a/contracts/scripts/test.sh b/contracts/scripts/test.sh index 3995dc346a..1f2549db06 100755 --- a/contracts/scripts/test.sh +++ b/contracts/scripts/test.sh @@ -5,20 +5,11 @@ set -euo pipefail E2E_PATH=$(pwd)/e2e-tests CONTRACTS_PATH=$(pwd)/contracts -pushd "$E2E_PATH" +# shellcheck source=contracts/scripts/test_env.sh +. "$CONTRACTS_PATH/scripts/test_env.sh" -EARLY_BIRD_SPECIAL=$(jq --raw-output ".early_bird_special" < "$CONTRACTS_PATH"/addresses.json) \ - THE_PRESSIAH_COMETH=$(jq --raw-output ".the_pressiah_cometh" < "$CONTRACTS_PATH"/addresses.json) \ - BACK_TO_THE_FUTURE=$(jq --raw-output ".back_to_the_future" < "$CONTRACTS_PATH"/addresses.json) \ - SIMPLE_DEX=$(jq --raw-output ".simple_dex" < "$CONTRACTS_PATH"/addresses.json) \ - WRAPPED_AZERO=$(jq --raw-output ".wrapped_azero" < "$CONTRACTS_PATH"/addresses.json) \ - BUTTON_GAME_METADATA=$CONTRACTS_PATH/button/target/ink/metadata.json \ - TICKET_TOKEN_METADATA=$CONTRACTS_PATH/ticket_token/target/ink/metadata.json \ - REWARD_TOKEN_METADATA=$CONTRACTS_PATH/game_token/target/ink/metadata.json \ - MARKETPLACE_METADATA=$CONTRACTS_PATH/marketplace/target/ink/metadata.json \ - SIMPLE_DEX_METADATA=$CONTRACTS_PATH/simple_dex/target/ink/metadata.json \ - WRAPPED_AZERO_METADATA=$CONTRACTS_PATH/wrapped_azero/target/ink/metadata.json \ - RUST_LOG="aleph_e2e_client=info" \ - cargo test button -- --test-threads 1 --nocapture +pushd "$E2E_PATH" +cargo test button -- --test-threads 1 --nocapture +popd exit $? diff --git a/contracts/scripts/test_env.sh b/contracts/scripts/test_env.sh new file mode 100755 index 0000000000..16423a7f97 --- /dev/null +++ b/contracts/scripts/test_env.sh @@ -0,0 +1,25 @@ +#!/bin/bash + +set -euo pipefail + +export CONTRACTS_PATH +CONTRACTS_PATH=$(pwd)/contracts + +export EARLY_BIRD_SPECIAL +EARLY_BIRD_SPECIAL=$(jq --raw-output ".early_bird_special" < "$CONTRACTS_PATH"/addresses.json) +export THE_PRESSIAH_COMETH +THE_PRESSIAH_COMETH=$(jq --raw-output ".the_pressiah_cometh" < "$CONTRACTS_PATH"/addresses.json) +export BACK_TO_THE_FUTURE +BACK_TO_THE_FUTURE=$(jq --raw-output ".back_to_the_future" < "$CONTRACTS_PATH"/addresses.json) +export SIMPLE_DEX +SIMPLE_DEX=$(jq --raw-output ".simple_dex" < "$CONTRACTS_PATH"/addresses.json) +export WRAPPED_AZERO +WRAPPED_AZERO=$(jq --raw-output ".wrapped_azero" < "$CONTRACTS_PATH"/addresses.json) + +export BUTTON_GAME_METADATA=$CONTRACTS_PATH/button/target/ink/metadata.json +export TICKET_TOKEN_METADATA=$CONTRACTS_PATH/ticket_token/target/ink/metadata.json +export REWARD_TOKEN_METADATA=$CONTRACTS_PATH/game_token/target/ink/metadata.json +export MARKETPLACE_METADATA=$CONTRACTS_PATH/marketplace/target/ink/metadata.json +export SIMPLE_DEX_METADATA=$CONTRACTS_PATH/simple_dex/target/ink/metadata.json +export WRAPPED_AZERO_METADATA=$CONTRACTS_PATH/wrapped_azero/target/ink/metadata.json +export RUST_LOG="aleph_e2e_client=info" From f3e335748a9a3c2ea661743198a7a49c2d6b586c Mon Sep 17 00:00:00 2001 From: Nicholas Gasior Date: Mon, 13 Feb 2023 12:55:25 +0100 Subject: [PATCH 153/212] A0-1932: Extend push-foundation-repo workflow to push release branches and tags (#901) * Extend push-foundation-repo workflow to push release branches and tags * Change 'git push' command to use URL instead of adding mirror * Fixed version of actions/checkout * Change libssl version in cliain. --------- Co-authored-by: Piotr K Co-authored-by: Michal Swietek <4404982+mike1729@users.noreply.github.com> Co-authored-by: Michal Swietek --- .github/workflows/push-foundation-repo.yml | 70 ++++++++++++++++++++-- 1 file changed, 66 insertions(+), 4 deletions(-) diff --git a/.github/workflows/push-foundation-repo.yml b/.github/workflows/push-foundation-repo.yml index 5af41ef9ed..5632c8487e 100644 --- a/.github/workflows/push-foundation-repo.yml +++ b/.github/workflows/push-foundation-repo.yml @@ -2,16 +2,78 @@ name: Sync Cardinal-Cryptography repo with Aleph-Zero-Foundation repo on: push: - branches: [main] + branches: + - main + - release-** + tags: + - r-* jobs: - sync: + sync-main: runs-on: ubuntu-20.04 - if: ${{ github.repository == 'Cardinal-Cryptography/aleph-node'}} + if: github.repository == 'Cardinal-Cryptography/aleph-node' && startsWith(github.ref, 'refs/heads/') && github.ref_name == 'main' steps: - - uses: actions/checkout@v2 + - name: Checkout + uses: actions/checkout@v3 with: fetch-depth: 0 token: ${{ secrets.SYNCAZF }} + - name: Push to Aleph-Zero-Foundation run: git push https://x-access-token:${{ secrets.SYNCAZF }}@github.com/aleph-zero-foundation/aleph-node.git + + + sync-release-branch: + runs-on: ubuntu-20.04 + if: github.repository == 'Cardinal-Cryptography/aleph-node' && startsWith(github.ref, 'refs/heads/') && startsWith(github.ref_name, 'release-') + steps: + - name: GIT | Checkout + uses: actions/checkout@v3 + with: + fetch-depth: 0 + token: ${{ secrets.SYNCAZF }} + + - name: Get branch name and commit SHA + id: get_branch + shell: bash + env: + HEAD_REF: ${{ github.ref }} + run: | + echo branch_name=$(echo ${HEAD_REF#refs/heads/}) >> $GITHUB_OUTPUT + echo sha_short=$(git rev-parse --short HEAD) >> $GITHUB_OUTPUT + + - name: Push to Aleph-Zero-Foundation + run: | + git push 'https://x-access-token:${{ secrets.SYNCAZF }}@github.com/aleph-zero-foundation/aleph-node.git' ${{ steps.get_branch.outputs.branch_name }}:${{ steps.get_branch.outputs.branch_name }} + + + sync-release-tag: + runs-on: ubuntu-20.04 + if: github.repository == 'Cardinal-Cryptography/aleph-node' && startsWith(github.ref, 'refs/tags/') + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: Get tag name and commit SHA + id: get_branch + shell: bash + env: + HEAD_REF: ${{ github.ref }} + run: | + echo tag_name=$(echo ${HEAD_REF#refs/tags/}) >> $GITHUB_OUTPUT + echo sha_short=$(git rev-parse --short HEAD) >> $GITHUB_OUTPUT + + - name: Checkout Aleph-Zero-Foundation repository + uses: actions/checkout@v3 + with: + repository: aleph-zero-foundation/aleph-node + token: "${{ secrets.SYNCAZF }}" + path: aleph-zero-foundation-aleph-node + fetch-depth: 0 + + - name: Checkout commit SHA and add tag in Aleph-Zero-Foundation repository + run: | + cd aleph-zero-foundation-aleph-node/ + git checkout "${{ steps.get_branch.outputs.sha_short }}" + git tag "${{ steps.get_branch.outputs.tag_name }}" + git push origin "${{ steps.get_branch.outputs.tag_name }}" From 1a53cd05c455a8d2b05758fa3a94366ebec60e78 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Obrok?= Date: Thu, 16 Feb 2023 18:09:28 +0100 Subject: [PATCH 154/212] Fix a specific cargo-contract version on CI (#935) * Fix a specific cargo-contract version on CI * Update metadata file location --- .github/scripts/run_e2e_test.sh | 2 +- .github/workflows/e2e-tests-main-devnet.yml | 5 +---- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/.github/scripts/run_e2e_test.sh b/.github/scripts/run_e2e_test.sh index 1e23eb5c76..9a6d5d7d24 100755 --- a/.github/scripts/run_e2e_test.sh +++ b/.github/scripts/run_e2e_test.sh @@ -113,7 +113,7 @@ fi if [[ -n "${ADDER:-}" ]]; then ARGS+=(-e "ADDER=${ADDER}") - ARGS+=(-e "ADDER_METADATA=/contracts/adder/target/ink/metadata.json") + ARGS+=(-e "ADDER_METADATA=/contracts/adder/target/ink/adder.json") fi if [[ -n "${OUT_LATENCY:-}" ]]; then diff --git a/.github/workflows/e2e-tests-main-devnet.yml b/.github/workflows/e2e-tests-main-devnet.yml index bea032fd05..52952d7be9 100644 --- a/.github/workflows/e2e-tests-main-devnet.yml +++ b/.github/workflows/e2e-tests-main-devnet.yml @@ -586,10 +586,7 @@ jobs: uses: actions/checkout@v2 - name: Install cargo-contract - uses: baptiste0928/cargo-install@v1 - with: - crate: cargo-contract - version: "2.0.0-beta.1" + run: cargo install cargo-contract --version 2.0.0-beta.1 - name: Install rust-src working-directory: ./contracts From f8e5d384eb76478ba5414909ab8768003d6fee5f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Obrok?= Date: Fri, 10 Feb 2023 14:04:07 +0100 Subject: [PATCH 155/212] Pass button args in run_e2e_test.sh --- .github/scripts/run_e2e_test.sh | 17 ++++++++++++++++- .github/workflows/check-excluded-packages.yml | 5 ++++- ...ntracts-deploy.yaml => contracts-deploy.yml} | 2 +- .github/workflows/e2e-tests-main-devnet.yml | 2 +- 4 files changed, 22 insertions(+), 4 deletions(-) rename .github/workflows/{contracts-deploy.yaml => contracts-deploy.yml} (99%) diff --git a/.github/scripts/run_e2e_test.sh b/.github/scripts/run_e2e_test.sh index 1e23eb5c76..05538b5e68 100755 --- a/.github/scripts/run_e2e_test.sh +++ b/.github/scripts/run_e2e_test.sh @@ -113,7 +113,22 @@ fi if [[ -n "${ADDER:-}" ]]; then ARGS+=(-e "ADDER=${ADDER}") - ARGS+=(-e "ADDER_METADATA=/contracts/adder/target/ink/metadata.json") + ARGS+=(-e "ADDER_METADATA=/contracts/adder/target/ink/adder.json") +fi + +if [[ -n "${BUTTON_GAME_METADATA:-}" ]]; then + ARGS+=(-e "THE_PRESSIAH_COMETH=${THE_PRESSIAH_COMETH}") + ARGS+=(-e "EARLY_BIRD_SPECIAL=${EARLY_BIRD_SPECIAL}") + ARGS+=(-e "BACK_TO_THE_FUTURE=${BACK_TO_THE_FUTURE}") + ARGS+=(-e "SIMPLE_DEX=${SIMPLE_DEX}") + ARGS+=(-e "WRAPPED_AZERO=${WRAPPED_AZERO}") + ARGS+=(-e "RUST_LOG=${RUST_LOG}") + ARGS+=(-e "BUTTON_GAME_METADATA=/contracts/button/target/ink/button.json") + ARGS+=(-e "TICKET_TOKEN_METADATA=/contracts/ticket_token/target/ink/ticket_token.json") + ARGS+=(-e "REWARD_TOKEN_METADATA=/contracts/game_token/target/ink/game_token.json") + ARGS+=(-e "MARKETPLACE_METADATA=/contracts/marketplace/target/ink/marketplace.json") + ARGS+=(-e "SIMPLE_DEX_METADATA=/contracts/simple_dex/target/ink/simple_dex.json") + ARGS+=(-e "WRAPPED_AZERO_METADATA=/contracts/wrapped_azero/target/ink/wrapped_azero.json") fi if [[ -n "${OUT_LATENCY:-}" ]]; then diff --git a/.github/workflows/check-excluded-packages.yml b/.github/workflows/check-excluded-packages.yml index 9ed6f3629e..ab01173084 100644 --- a/.github/workflows/check-excluded-packages.yml +++ b/.github/workflows/check-excluded-packages.yml @@ -74,7 +74,10 @@ jobs: rustup target add wasm32-unknown-unknown cargo fmt --all --check cargo clippy --all-features -- --no-deps -D warnings - cargo test + if [ $p != "e2e-tests" ] + then + cargo test + fi popd done diff --git a/.github/workflows/contracts-deploy.yaml b/.github/workflows/contracts-deploy.yml similarity index 99% rename from .github/workflows/contracts-deploy.yaml rename to .github/workflows/contracts-deploy.yml index baa0f3ae9b..d61ca00c06 100644 --- a/.github/workflows/contracts-deploy.yaml +++ b/.github/workflows/contracts-deploy.yml @@ -1,7 +1,7 @@ name: contracts-e2e-tests-and-deploy on: - workflow_dispatch + workflow_call concurrency: group: ${{ github.ref }}-${{ github.workflow }} diff --git a/.github/workflows/e2e-tests-main-devnet.yml b/.github/workflows/e2e-tests-main-devnet.yml index 80c5cf4f2e..b7c08f68e0 100644 --- a/.github/workflows/e2e-tests-main-devnet.yml +++ b/.github/workflows/e2e-tests-main-devnet.yml @@ -618,7 +618,7 @@ jobs: with: deploy-button: true test-case: button - timeout-minutes: 30 + timeout-minutes: 60 - name: Trigger deployment workflow uses: ./.github/workflows/contracts-deploy.yml From 750b36ba4f21434161789920c15475d8946e5f7f Mon Sep 17 00:00:00 2001 From: Nicholas Gasior Date: Thu, 16 Feb 2023 22:13:23 +0100 Subject: [PATCH 156/212] Fix invalid variable used for sha_short (#862) * Fix invalid variable used for sha_short --- .github/workflows/deploy-testnet.yml | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/.github/workflows/deploy-testnet.yml b/.github/workflows/deploy-testnet.yml index 41bff4f71e..8c3a740c70 100644 --- a/.github/workflows/deploy-testnet.yml +++ b/.github/workflows/deploy-testnet.yml @@ -23,8 +23,8 @@ jobs: id: vars shell: bash run: | - echo "##[set-output name=branch;]$(echo ${GITHUB_REF##*/})" - echo "::set-output name=sha_short::$(git rev-parse --short HEAD)" + echo "branch=${GITHUB_REF##*/}" >> $GITHUB_OUTPUT + echo "sha_short=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT - name: Configure AWS credentials uses: aws-actions/configure-aws-credentials@v1 @@ -40,8 +40,6 @@ jobs: registry: public.ecr.aws username: ${{ secrets.AWS_MAINNET_ACCESS_KEY_ID }} password: ${{ secrets.AWS_MAINNET_SECRET_ACCESS_KEY }} - env: - AWS_REGION: us-east-1 - name: Tag and push image for Testnet env: @@ -82,8 +80,8 @@ jobs: - name: S3 CI | Download release runtime from S3 bucket shell: bash env: - S3BUCKET_URL: s3://${{ secrets.CI_MAINNET_S3BUCKET_NAME }}/builds/aleph-node/commits/${{ steps.get_branch.outputs.sha_short }}/aleph-runtime - S3BUCKET_FILE: aleph-runtime-${{ steps.get_branch.outputs.sha_short }}.tar.gz + S3BUCKET_URL: s3://${{ secrets.CI_MAINNET_S3BUCKET_NAME }}/builds/aleph-node/commits/${{ steps.vars.outputs.sha_short }}/aleph-runtime + S3BUCKET_FILE: aleph-runtime-${{ steps.vars.outputs.sha_short }}.tar.gz run: | aws s3 cp ${{ env.S3BUCKET_URL }}/${{ env.S3BUCKET_FILE }} ${{ env.S3BUCKET_FILE }} @@ -92,7 +90,7 @@ jobs: if: startsWith(github.ref, 'refs/tags/') with: files: | - aleph-runtime-${{ steps.get_branch.outputs.sha_short }}.tar.gz + aleph-runtime-${{ steps.vars.outputs.sha_short }}.tar.gz - name: GIT | Checkout aleph-apps repo uses: actions/checkout@master From 0bf23c86fd3ada6a72928b2e019b8eba46430368 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maciej=20Nem=C5=9B?= Date: Fri, 17 Feb 2023 11:41:39 +0100 Subject: [PATCH 157/212] A0-1902: update to 0.9.33 (#923) * change fork version to 0.9.33 * update dependencies * no longer block id * add max winners bound to elections * fix pallets contract and nomination pools * subxt code gen * determinism arg in cliain and aleph-client * substrate uses try-runtime in Cargo.toml like that * bump spec version --- Cargo.lock | 454 +++++++++--------- aleph-client/Cargo.lock | 153 +++--- aleph-client/Cargo.toml | 6 +- aleph-client/src/aleph_zero.rs | 378 ++++++++++----- aleph-client/src/pallets/contract.rs | 12 +- benches/payout-stakers/Cargo.lock | 155 +++--- benches/payout-stakers/Cargo.toml | 4 +- bin/cliain/Cargo.lock | 179 +++---- bin/cliain/Cargo.toml | 4 +- bin/cliain/src/contracts.rs | 1 + bin/node/Cargo.toml | 72 +-- bin/node/src/service.rs | 2 + bin/runtime/Cargo.toml | 78 +-- bin/runtime/src/lib.rs | 17 +- e2e-tests/Cargo.lock | 181 +++---- e2e-tests/Cargo.toml | 12 +- finality-aleph/Cargo.toml | 42 +- finality-aleph/src/finalization.rs | 4 +- .../src/sync/substrate/chain_status.rs | 3 +- .../src/testing/client_chain_builder.rs | 4 +- flooder/Cargo.lock | 153 +++--- flooder/Cargo.toml | 4 +- fork-off/Cargo.lock | 142 +++--- fork-off/Cargo.toml | 8 +- pallets/aleph/Cargo.toml | 18 +- pallets/elections/Cargo.toml | 24 +- pallets/elections/src/lib.rs | 27 +- pallets/elections/src/mock.rs | 3 +- pallets/elections/src/tests.rs | 2 +- pallets/support/Cargo.toml | 4 +- primitives/Cargo.toml | 12 +- primitives/src/lib.rs | 1 + 32 files changed, 1169 insertions(+), 990 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 82b3e6bccd..9855ebbea1 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -384,15 +384,6 @@ version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a4c527152e37cf757a3f78aae5a06fbeefdb07ccc535c980a3208ee3060dd544" -[[package]] -name = "arrayvec" -version = "0.4.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd9fd44efafa8690358b7408d253adf110036b88f55672a933f01d616ad9b1b9" -dependencies = [ - "nodrop", -] - [[package]] name = "arrayvec" version = "0.5.2" @@ -651,7 +642,7 @@ dependencies = [ [[package]] name = "beefy-merkle-tree" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "beefy-primitives", "sp-api", @@ -661,7 +652,7 @@ dependencies = [ [[package]] name = "beefy-primitives" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "parity-scale-codec", "scale-info", @@ -736,16 +727,6 @@ dependencies = [ "digest 0.10.6", ] -[[package]] -name = "blake2-rfc" -version = "0.2.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d6d530bdd2d52966a6d03b7a964add7ae1a288d25214066fd4b600f0f796400" -dependencies = [ - "arrayvec 0.4.12", - "constant_time_eq 0.1.5", -] - [[package]] name = "blake2b_simd" version = "1.0.0" @@ -1100,9 +1081,9 @@ dependencies = [ [[package]] name = "const-oid" -version = "0.7.1" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4c78c047431fee22c1a7bb92e00ad095a02a983affe4d8a72e2a2c62c1b94f3" +checksum = "cec318a675afcb6a1ea1d4340e2d377e56e47c266f28043ceccbf4412ddfdd3b" [[package]] name = "constant_time_eq" @@ -1323,9 +1304,9 @@ checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" [[package]] name = "crypto-bigint" -version = "0.3.2" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03c6a1d5fa1de37e071642dfa44ec552ca5b299adb128fab16138e24b548fd21" +checksum = "ef2b4b23cddf68b89b8f8069890e8c270d54e2d5fe1b143820234805e4cb17ef" dependencies = [ "generic-array 0.14.6", "rand_core 0.6.4", @@ -1494,11 +1475,12 @@ dependencies = [ [[package]] name = "der" -version = "0.5.1" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6919815d73839e7ad218de758883aae3a257ba6759ce7a9992501efbb53d705c" +checksum = "f1a467a65c5e759bce6e65eaf91cc29f466cdc57cb65777bd646872a8a1fd4de" dependencies = [ "const-oid", + "zeroize", ] [[package]] @@ -1658,9 +1640,9 @@ checksum = "c9b0705efd4599c15a38151f4721f7bc388306f61084d3bfd50bd07fbca5cb60" [[package]] name = "ecdsa" -version = "0.13.4" +version = "0.14.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0d69ae62e0ce582d56380743515fefaf1a8c70cec685d9677636d7e30ae9dc9" +checksum = "413301934810f597c1d19ca71c8710e99a3f1ba28a0d2ebc01551a2daeea3c5c" dependencies = [ "der", "elliptic-curve", @@ -1713,13 +1695,14 @@ checksum = "90e5c1c8368803113bf0c9584fc495a58b86dc8a29edbf8fe877d21d9507e797" [[package]] name = "elliptic-curve" -version = "0.11.12" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25b477563c2bfed38a3b7a60964c49e058b2510ad3f12ba3483fd8f62c2306d6" +checksum = "e7bb888ab5300a19b8e5bceef25ac745ad065f3c9f7efc6de1b91958110891d3" dependencies = [ "base16ct", "crypto-bigint", "der", + "digest 0.10.6", "ff", "generic-array 0.14.6", "group", @@ -1848,9 +1831,9 @@ dependencies = [ [[package]] name = "ff" -version = "0.11.1" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "131655483be284720a17d74ff97592b8e76576dc25563148601df2d7c9080924" +checksum = "d013fc25338cc558c5c2cfbad646908fb23591e2404481826742b651c9af7160" dependencies = [ "rand_core 0.6.4", "subtle", @@ -1998,7 +1981,7 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "fork-tree" version = "3.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "parity-scale-codec", ] @@ -2021,7 +2004,7 @@ checksum = "6c2141d6d6c8512188a7891b4b01590a45f6dac67afb4f255c4124dbb86d4eaa" [[package]] name = "frame-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "frame-support", "frame-system", @@ -2044,7 +2027,7 @@ dependencies = [ [[package]] name = "frame-election-provider-solution-type" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -2055,7 +2038,7 @@ dependencies = [ [[package]] name = "frame-election-provider-support" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "frame-election-provider-solution-type", "frame-support", @@ -2071,7 +2054,7 @@ dependencies = [ [[package]] name = "frame-executive" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "frame-support", "frame-system", @@ -2100,7 +2083,7 @@ dependencies = [ [[package]] name = "frame-support" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "bitflags", "frame-metadata", @@ -2132,7 +2115,7 @@ dependencies = [ [[package]] name = "frame-support-procedural" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "Inflector", "cfg-expr", @@ -2146,7 +2129,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate", @@ -2158,7 +2141,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "proc-macro2", "quote", @@ -2168,7 +2151,7 @@ dependencies = [ [[package]] name = "frame-system" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "frame-support", "log", @@ -2186,7 +2169,7 @@ dependencies = [ [[package]] name = "frame-system-rpc-runtime-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "parity-scale-codec", "sp-api", @@ -2195,7 +2178,7 @@ dependencies = [ [[package]] name = "frame-try-runtime" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "frame-support", "parity-scale-codec", @@ -2460,9 +2443,9 @@ dependencies = [ [[package]] name = "group" -version = "0.11.0" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc5ac374b108929de78460075f3dc439fa66df9d8fc77e8f12caa5165fcf0c89" +checksum = "5dfbfb3a6cfbd390d5c9564ab283a0349b9b9fcd46a706c1eb10e0db70bfbac7" dependencies = [ "ff", "rand_core 0.6.4", @@ -3040,14 +3023,14 @@ dependencies = [ [[package]] name = "k256" -version = "0.10.4" +version = "0.11.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19c3a5e0a0b8450278feda242592512e09f61c72e018b8cd5c859482802daf2d" +checksum = "72c1e0b51e7ec0a97369623508396067a486bd0cbed95a2659a4b863d28cfc8b" dependencies = [ "cfg-if", "ecdsa", "elliptic-curve", - "sec1", + "sha2 0.10.6", ] [[package]] @@ -4024,12 +4007,6 @@ dependencies = [ "libc", ] -[[package]] -name = "nodrop" -version = "0.1.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb" - [[package]] name = "nohash-hasher" version = "0.2.0" @@ -4208,7 +4185,7 @@ dependencies = [ [[package]] name = "pallet-aura" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "frame-support", "frame-system", @@ -4224,7 +4201,7 @@ dependencies = [ [[package]] name = "pallet-authorship" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "frame-support", "frame-system", @@ -4239,7 +4216,7 @@ dependencies = [ [[package]] name = "pallet-babe" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "frame-benchmarking", "frame-support", @@ -4263,7 +4240,7 @@ dependencies = [ [[package]] name = "pallet-balances" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "frame-benchmarking", "frame-support", @@ -4278,7 +4255,7 @@ dependencies = [ [[package]] name = "pallet-contracts" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "bitflags", "frame-benchmarking", @@ -4306,7 +4283,7 @@ dependencies = [ [[package]] name = "pallet-contracts-primitives" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "bitflags", "parity-scale-codec", @@ -4318,7 +4295,7 @@ dependencies = [ [[package]] name = "pallet-contracts-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "proc-macro2", "quote", @@ -4350,7 +4327,7 @@ dependencies = [ [[package]] name = "pallet-identity" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "enumflags2", "frame-benchmarking", @@ -4366,7 +4343,7 @@ dependencies = [ [[package]] name = "pallet-multisig" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "frame-benchmarking", "frame-support", @@ -4382,7 +4359,7 @@ dependencies = [ [[package]] name = "pallet-nomination-pools" version = "1.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "frame-support", "frame-system", @@ -4399,7 +4376,7 @@ dependencies = [ [[package]] name = "pallet-nomination-pools-runtime-api" version = "1.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "parity-scale-codec", "sp-api", @@ -4409,7 +4386,7 @@ dependencies = [ [[package]] name = "pallet-randomness-collective-flip" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "frame-support", "frame-system", @@ -4423,7 +4400,7 @@ dependencies = [ [[package]] name = "pallet-scheduler" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "frame-support", "frame-system", @@ -4438,7 +4415,7 @@ dependencies = [ [[package]] name = "pallet-session" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "frame-support", "frame-system", @@ -4459,7 +4436,7 @@ dependencies = [ [[package]] name = "pallet-staking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -4481,7 +4458,7 @@ dependencies = [ [[package]] name = "pallet-sudo" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "frame-support", "frame-system", @@ -4495,7 +4472,7 @@ dependencies = [ [[package]] name = "pallet-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "frame-benchmarking", "frame-support", @@ -4513,7 +4490,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "frame-support", "frame-system", @@ -4529,7 +4506,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "jsonrpsee", "pallet-transaction-payment-rpc-runtime-api", @@ -4545,7 +4522,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc-runtime-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "pallet-transaction-payment", "parity-scale-codec", @@ -4557,7 +4534,7 @@ dependencies = [ [[package]] name = "pallet-treasury" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "frame-benchmarking", "frame-support", @@ -4574,7 +4551,7 @@ dependencies = [ [[package]] name = "pallet-utility" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "frame-benchmarking", "frame-support", @@ -4590,7 +4567,7 @@ dependencies = [ [[package]] name = "pallet-vesting" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "frame-benchmarking", "frame-support", @@ -4612,11 +4589,11 @@ dependencies = [ [[package]] name = "parity-db" -version = "0.3.17" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c8fdb726a43661fa54b43e7114e6b88b2289cae388eb3ad766d9d1754d83fce" +checksum = "dd684a725651d9588ef21f140a328b6b4f64e646b2e931f3e6f14f75eedf9980" dependencies = [ - "blake2-rfc", + "blake2", "crc32fast", "fs2", "hex", @@ -4689,15 +4666,6 @@ dependencies = [ "synstructure", ] -[[package]] -name = "parity-wasm" -version = "0.32.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16ad52817c4d343339b3bc2e26861bd21478eda0b7509acf83505727000512ac" -dependencies = [ - "byteorder", -] - [[package]] name = "parity-wasm" version = "0.45.0" @@ -4853,13 +4821,12 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" [[package]] name = "pkcs8" -version = "0.8.0" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cabda3fb821068a9a4fab19a683eac3af12edf0f34b94a8be53c4972b8149d0" +checksum = "9eca2c590a5f85da82668fa685c09ce2888b9430e83299debf1f34b65fd4a4ba" dependencies = [ "der", "spki", - "zeroize", ] [[package]] @@ -5381,7 +5348,7 @@ checksum = "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848" [[package]] name = "remote-externalities" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "env_logger", "log", @@ -5416,12 +5383,12 @@ dependencies = [ [[package]] name = "rfc6979" -version = "0.1.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96ef608575f6392792f9ecf7890c00086591d29a83910939d430753f7c050525" +checksum = "7743f17af12fa0b03b803ba12cd6a8d9483a587e89c69445e3909655c0b9fabb" dependencies = [ "crypto-bigint", - "hmac 0.11.0", + "hmac 0.12.1", "zeroize", ] @@ -5627,7 +5594,7 @@ dependencies = [ [[package]] name = "sc-allocator" version = "4.1.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "log", "sp-core", @@ -5638,7 +5605,7 @@ dependencies = [ [[package]] name = "sc-basic-authorship" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "futures", "futures-timer", @@ -5661,7 +5628,7 @@ dependencies = [ [[package]] name = "sc-block-builder" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "parity-scale-codec", "sc-client-api", @@ -5677,7 +5644,7 @@ dependencies = [ [[package]] name = "sc-chain-spec" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "impl-trait-for-tuples", "memmap2", @@ -5694,7 +5661,7 @@ dependencies = [ [[package]] name = "sc-chain-spec-derive" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -5705,7 +5672,7 @@ dependencies = [ [[package]] name = "sc-cli" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "array-bytes", "chrono", @@ -5745,7 +5712,7 @@ dependencies = [ [[package]] name = "sc-client-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "fnv", "futures", @@ -5773,7 +5740,7 @@ dependencies = [ [[package]] name = "sc-client-db" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "hash-db", "kvdb", @@ -5798,7 +5765,7 @@ dependencies = [ [[package]] name = "sc-consensus" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "async-trait", "futures", @@ -5822,7 +5789,7 @@ dependencies = [ [[package]] name = "sc-consensus-aura" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "async-trait", "futures", @@ -5851,7 +5818,7 @@ dependencies = [ [[package]] name = "sc-consensus-slots" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "async-trait", "futures", @@ -5875,10 +5842,10 @@ dependencies = [ [[package]] name = "sc-executor" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "lazy_static", - "lru 0.7.8", + "lru 0.8.1", "parity-scale-codec", "parking_lot 0.12.1", "sc-executor-common", @@ -5891,7 +5858,6 @@ dependencies = [ "sp-io", "sp-panic-handler", "sp-runtime-interface", - "sp-tasks", "sp-trie", "sp-version", "sp-wasm-interface", @@ -5902,7 +5868,7 @@ dependencies = [ [[package]] name = "sc-executor-common" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "environmental", "parity-scale-codec", @@ -5918,7 +5884,7 @@ dependencies = [ [[package]] name = "sc-executor-wasmi" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "log", "parity-scale-codec", @@ -5933,14 +5899,14 @@ dependencies = [ [[package]] name = "sc-executor-wasmtime" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "cfg-if", "libc", "log", "once_cell", "parity-scale-codec", - "parity-wasm 0.45.0", + "parity-wasm", "rustix 0.35.13", "sc-allocator", "sc-executor-common", @@ -5953,7 +5919,7 @@ dependencies = [ [[package]] name = "sc-informant" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "ansi_term", "futures", @@ -5970,7 +5936,7 @@ dependencies = [ [[package]] name = "sc-keystore" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "array-bytes", "async-trait", @@ -5985,7 +5951,7 @@ dependencies = [ [[package]] name = "sc-network" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "array-bytes", "async-trait", @@ -6003,7 +5969,7 @@ dependencies = [ "linked-hash-map", "linked_hash_set", "log", - "lru 0.7.8", + "lru 0.8.1", "parity-scale-codec", "parking_lot 0.12.1", "pin-project", @@ -6032,7 +5998,7 @@ dependencies = [ [[package]] name = "sc-network-bitswap" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "cid", "futures", @@ -6052,7 +6018,7 @@ dependencies = [ [[package]] name = "sc-network-common" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "async-trait", "bitflags", @@ -6078,7 +6044,7 @@ dependencies = [ [[package]] name = "sc-network-light" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "array-bytes", "futures", @@ -6099,14 +6065,14 @@ dependencies = [ [[package]] name = "sc-network-sync" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "array-bytes", "fork-tree", "futures", "libp2p", "log", - "lru 0.7.8", + "lru 0.8.1", "mockall", "parity-scale-codec", "prost", @@ -6129,7 +6095,7 @@ dependencies = [ [[package]] name = "sc-network-transactions" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "array-bytes", "futures", @@ -6148,7 +6114,7 @@ dependencies = [ [[package]] name = "sc-offchain" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "array-bytes", "bytes", @@ -6178,7 +6144,7 @@ dependencies = [ [[package]] name = "sc-peerset" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "futures", "libp2p", @@ -6191,7 +6157,7 @@ dependencies = [ [[package]] name = "sc-proposer-metrics" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "log", "substrate-prometheus-endpoint", @@ -6200,7 +6166,7 @@ dependencies = [ [[package]] name = "sc-rpc" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "futures", "hash-db", @@ -6230,7 +6196,7 @@ dependencies = [ [[package]] name = "sc-rpc-api" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "futures", "jsonrpsee", @@ -6253,7 +6219,7 @@ dependencies = [ [[package]] name = "sc-rpc-server" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "futures", "jsonrpsee", @@ -6266,7 +6232,7 @@ dependencies = [ [[package]] name = "sc-rpc-spec-v2" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "futures", "hex", @@ -6285,7 +6251,7 @@ dependencies = [ [[package]] name = "sc-service" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "async-trait", "directories", @@ -6356,7 +6322,7 @@ dependencies = [ [[package]] name = "sc-state-db" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "log", "parity-scale-codec", @@ -6370,7 +6336,7 @@ dependencies = [ [[package]] name = "sc-sysinfo" version = "6.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "futures", "libc", @@ -6389,7 +6355,7 @@ dependencies = [ [[package]] name = "sc-telemetry" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "chrono", "futures", @@ -6407,7 +6373,7 @@ dependencies = [ [[package]] name = "sc-tracing" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "ansi_term", "atty", @@ -6438,7 +6404,7 @@ dependencies = [ [[package]] name = "sc-tracing-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -6449,7 +6415,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "async-trait", "futures", @@ -6476,7 +6442,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "async-trait", "futures", @@ -6490,7 +6456,7 @@ dependencies = [ [[package]] name = "sc-utils" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "futures", "futures-timer", @@ -6578,10 +6544,11 @@ dependencies = [ [[package]] name = "sec1" -version = "0.2.1" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08da66b8b0965a5555b6bd6639e68ccba85e1e2506f5fbb089e93f8a04e1a2d1" +checksum = "3be24c1842290c45df0a7bf069e0c268a747ad05a192f2fd7dcfdbc1cba40928" dependencies = [ + "base16ct", "der", "generic-array 0.14.6", "pkcs8", @@ -6798,11 +6765,11 @@ dependencies = [ [[package]] name = "signature" -version = "1.4.0" +version = "1.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02658e48d89f2bec991f9a78e69cfa4c316f8d6a6c4ec12fae1aeb263d486788" +checksum = "74233d3b3b2f6d4b006dc19dee745e73e2a6bfb6f93607cd3b02bd5b00797d7c" dependencies = [ - "digest 0.9.0", + "digest 0.10.6", "rand_core 0.6.4", ] @@ -6891,7 +6858,7 @@ dependencies = [ [[package]] name = "sp-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "hash-db", "log", @@ -6909,7 +6876,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "blake2", "proc-macro-crate", @@ -6921,7 +6888,7 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "parity-scale-codec", "scale-info", @@ -6934,7 +6901,7 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "integer-sqrt", "num-traits", @@ -6949,7 +6916,7 @@ dependencies = [ [[package]] name = "sp-authorship" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "async-trait", "parity-scale-codec", @@ -6961,7 +6928,7 @@ dependencies = [ [[package]] name = "sp-block-builder" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "parity-scale-codec", "sp-api", @@ -6973,11 +6940,11 @@ dependencies = [ [[package]] name = "sp-blockchain" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "futures", "log", - "lru 0.7.8", + "lru 0.8.1", "parity-scale-codec", "parking_lot 0.12.1", "sp-api", @@ -6991,7 +6958,7 @@ dependencies = [ [[package]] name = "sp-consensus" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "async-trait", "futures", @@ -7010,7 +6977,7 @@ dependencies = [ [[package]] name = "sp-consensus-aura" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "async-trait", "parity-scale-codec", @@ -7028,7 +6995,7 @@ dependencies = [ [[package]] name = "sp-consensus-babe" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "async-trait", "merlin", @@ -7051,7 +7018,7 @@ dependencies = [ [[package]] name = "sp-consensus-slots" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "parity-scale-codec", "scale-info", @@ -7065,7 +7032,7 @@ dependencies = [ [[package]] name = "sp-consensus-vrf" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "parity-scale-codec", "scale-info", @@ -7078,7 +7045,7 @@ dependencies = [ [[package]] name = "sp-core" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "array-bytes", "base58", @@ -7097,7 +7064,6 @@ dependencies = [ "merlin", "num-traits", "parity-scale-codec", - "parity-util-mem", "parking_lot 0.12.1", "primitive-types", "rand 0.7.3", @@ -7124,7 +7090,7 @@ dependencies = [ [[package]] name = "sp-core-hashing" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "blake2", "byteorder", @@ -7138,7 +7104,7 @@ dependencies = [ [[package]] name = "sp-core-hashing-proc-macro" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "proc-macro2", "quote", @@ -7149,7 +7115,7 @@ dependencies = [ [[package]] name = "sp-database" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "kvdb", "parking_lot 0.12.1", @@ -7158,7 +7124,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "proc-macro2", "quote", @@ -7168,7 +7134,7 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "environmental", "parity-scale-codec", @@ -7179,7 +7145,7 @@ dependencies = [ [[package]] name = "sp-finality-grandpa" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "finality-grandpa", "log", @@ -7197,7 +7163,7 @@ dependencies = [ [[package]] name = "sp-inherents" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "async-trait", "impl-trait-for-tuples", @@ -7211,7 +7177,7 @@ dependencies = [ [[package]] name = "sp-io" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "bytes", "futures", @@ -7237,7 +7203,7 @@ dependencies = [ [[package]] name = "sp-keyring" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "lazy_static", "sp-core", @@ -7248,7 +7214,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "async-trait", "futures", @@ -7265,7 +7231,7 @@ dependencies = [ [[package]] name = "sp-maybe-compressed-blob" version = "4.1.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "thiserror", "zstd", @@ -7274,7 +7240,7 @@ dependencies = [ [[package]] name = "sp-mmr-primitives" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "log", "parity-scale-codec", @@ -7285,12 +7251,13 @@ dependencies = [ "sp-debug-derive", "sp-runtime", "sp-std", + "thiserror", ] [[package]] name = "sp-npos-elections" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "parity-scale-codec", "scale-info", @@ -7304,7 +7271,7 @@ dependencies = [ [[package]] name = "sp-offchain" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "sp-api", "sp-core", @@ -7314,7 +7281,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "backtrace", "lazy_static", @@ -7324,7 +7291,7 @@ dependencies = [ [[package]] name = "sp-rpc" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "rustc-hash", "serde", @@ -7334,7 +7301,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "either", "hash256-std-hasher", @@ -7357,7 +7324,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "bytes", "impl-trait-for-tuples", @@ -7375,7 +7342,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "Inflector", "proc-macro-crate", @@ -7387,7 +7354,7 @@ dependencies = [ [[package]] name = "sp-sandbox" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "log", "parity-scale-codec", @@ -7401,7 +7368,7 @@ dependencies = [ [[package]] name = "sp-session" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "parity-scale-codec", "scale-info", @@ -7415,7 +7382,7 @@ dependencies = [ [[package]] name = "sp-staking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "parity-scale-codec", "scale-info", @@ -7426,7 +7393,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "hash-db", "log", @@ -7448,12 +7415,12 @@ dependencies = [ [[package]] name = "sp-std" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" [[package]] name = "sp-storage" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "impl-serde", "parity-scale-codec", @@ -7463,23 +7430,10 @@ dependencies = [ "sp-std", ] -[[package]] -name = "sp-tasks" -version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" -dependencies = [ - "log", - "sp-core", - "sp-externalities", - "sp-io", - "sp-runtime-interface", - "sp-std", -] - [[package]] name = "sp-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "async-trait", "futures-timer", @@ -7495,7 +7449,7 @@ dependencies = [ [[package]] name = "sp-tracing" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "parity-scale-codec", "sp-std", @@ -7507,7 +7461,7 @@ dependencies = [ [[package]] name = "sp-transaction-pool" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "sp-api", "sp-runtime", @@ -7516,7 +7470,7 @@ dependencies = [ [[package]] name = "sp-transaction-storage-proof" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "async-trait", "log", @@ -7532,13 +7486,13 @@ dependencies = [ [[package]] name = "sp-trie" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "ahash", "hash-db", "hashbrown", "lazy_static", - "lru 0.7.8", + "lru 0.8.1", "memory-db", "nohash-hasher", "parity-scale-codec", @@ -7555,11 +7509,11 @@ dependencies = [ [[package]] name = "sp-version" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "impl-serde", "parity-scale-codec", - "parity-wasm 0.45.0", + "parity-wasm", "scale-info", "serde", "sp-core-hashing-proc-macro", @@ -7572,7 +7526,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "parity-scale-codec", "proc-macro2", @@ -7583,7 +7537,7 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "impl-trait-for-tuples", "log", @@ -7596,7 +7550,7 @@ dependencies = [ [[package]] name = "sp-weights" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -7617,9 +7571,9 @@ checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" [[package]] name = "spki" -version = "0.5.4" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44d01ac02a6ccf3e07db148d2be087da624fea0221a16152ed01f0496a6b0a27" +checksum = "67cf02bbac7a337dc36e4f5a693db6c21e7863f45070f7064577eb4367a3212b" dependencies = [ "base64ct", "der", @@ -7737,7 +7691,7 @@ dependencies = [ [[package]] name = "substrate-build-script-utils" version = "3.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "platforms 2.0.0", ] @@ -7745,7 +7699,7 @@ dependencies = [ [[package]] name = "substrate-frame-rpc-system" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "frame-system-rpc-runtime-api", "futures", @@ -7766,7 +7720,7 @@ dependencies = [ [[package]] name = "substrate-prometheus-endpoint" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "futures-util", "hyper", @@ -7779,7 +7733,7 @@ dependencies = [ [[package]] name = "substrate-rpc-client" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "async-trait", "jsonrpsee", @@ -7792,7 +7746,7 @@ dependencies = [ [[package]] name = "substrate-test-client" version = "2.0.1" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "array-bytes", "async-trait", @@ -7818,7 +7772,7 @@ dependencies = [ [[package]] name = "substrate-test-runtime" version = "2.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "beefy-merkle-tree", "beefy-primitives", @@ -7862,7 +7816,7 @@ dependencies = [ [[package]] name = "substrate-test-runtime-client" version = "2.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "futures", "parity-scale-codec", @@ -7881,7 +7835,7 @@ dependencies = [ [[package]] name = "substrate-wasm-builder" version = "5.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "ansi_term", "build-helper", @@ -7892,7 +7846,7 @@ dependencies = [ "tempfile", "toml", "walkdir", - "wasm-gc-api", + "wasm-opt", ] [[package]] @@ -8343,7 +8297,7 @@ checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642" [[package]] name = "try-runtime-cli" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "clap", "frame-try-runtime", @@ -8630,23 +8584,53 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1c38c045535d93ec4f0b4defec448e4291638ee608530863b1e2ba115d4fff7f" [[package]] -name = "wasm-gc-api" -version = "0.1.11" +name = "wasm-instrument" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0c32691b6c7e6c14e7f8fd55361a9088b507aa49620fcd06c09b3a1082186b9" +checksum = "aa1dafb3e60065305741e83db35c6c2584bb3725b692b5b66148a38d72ace6cd" dependencies = [ - "log", - "parity-wasm 0.32.0", - "rustc-demangle", + "parity-wasm", ] [[package]] -name = "wasm-instrument" -version = "0.3.0" +name = "wasm-opt" +version = "0.110.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa1dafb3e60065305741e83db35c6c2584bb3725b692b5b66148a38d72ace6cd" +checksum = "b68e8037b4daf711393f4be2056246d12d975651b14d581520ad5d1f19219cec" +dependencies = [ + "anyhow", + "libc", + "strum", + "strum_macros", + "tempfile", + "thiserror", + "wasm-opt-cxx-sys", + "wasm-opt-sys", +] + +[[package]] +name = "wasm-opt-cxx-sys" +version = "0.110.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91adbad477e97bba3fbd21dd7bfb594e7ad5ceb9169ab1c93ab9cb0ada636b6f" dependencies = [ - "parity-wasm 0.45.0", + "anyhow", + "cxx", + "cxx-build", + "wasm-opt-sys", +] + +[[package]] +name = "wasm-opt-sys" +version = "0.110.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec4fa5a322a4e6ac22fd141f498d56afbdbf9df5debeac32380d2dcaa3e06941" +dependencies = [ + "anyhow", + "cc", + "cxx", + "cxx-build", + "regex", ] [[package]] @@ -8670,7 +8654,7 @@ version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "06c326c93fbf86419608361a2c925a31754cf109da1b8b55737070b4d6669422" dependencies = [ - "parity-wasm 0.45.0", + "parity-wasm", "wasmi-validation", "wasmi_core", ] @@ -8681,7 +8665,7 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "91ff416ad1ff0c42e5a926ed5d5fab74c0f098749aa0ad8b2a34b982ce0e867b" dependencies = [ - "parity-wasm 0.45.0", + "parity-wasm", ] [[package]] diff --git a/aleph-client/Cargo.lock b/aleph-client/Cargo.lock index 4471763e83..2d0fb01f7d 100644 --- a/aleph-client/Cargo.lock +++ b/aleph-client/Cargo.lock @@ -344,9 +344,9 @@ dependencies = [ [[package]] name = "const-oid" -version = "0.7.1" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4c78c047431fee22c1a7bb92e00ad095a02a983affe4d8a72e2a2c62c1b94f3" +checksum = "cec318a675afcb6a1ea1d4340e2d377e56e47c266f28043ceccbf4412ddfdd3b" [[package]] name = "contract-metadata" @@ -432,9 +432,9 @@ checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" [[package]] name = "crypto-bigint" -version = "0.3.2" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03c6a1d5fa1de37e071642dfa44ec552ca5b299adb128fab16138e24b548fd21" +checksum = "ef2b4b23cddf68b89b8f8069890e8c270d54e2d5fe1b143820234805e4cb17ef" dependencies = [ "generic-array 0.14.6", "rand_core 0.6.4", @@ -579,11 +579,12 @@ dependencies = [ [[package]] name = "der" -version = "0.5.1" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6919815d73839e7ad218de758883aae3a257ba6759ce7a9992501efbb53d705c" +checksum = "f1a467a65c5e759bce6e65eaf91cc29f466cdc57cb65777bd646872a8a1fd4de" dependencies = [ "const-oid", + "zeroize", ] [[package]] @@ -672,9 +673,9 @@ checksum = "4f94fa09c2aeea5b8839e414b7b841bf429fd25b9c522116ac97ee87856d88b2" [[package]] name = "ecdsa" -version = "0.13.4" +version = "0.14.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0d69ae62e0ce582d56380743515fefaf1a8c70cec685d9677636d7e30ae9dc9" +checksum = "413301934810f597c1d19ca71c8710e99a3f1ba28a0d2ebc01551a2daeea3c5c" dependencies = [ "der", "elliptic-curve", @@ -704,13 +705,14 @@ checksum = "90e5c1c8368803113bf0c9584fc495a58b86dc8a29edbf8fe877d21d9507e797" [[package]] name = "elliptic-curve" -version = "0.11.12" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25b477563c2bfed38a3b7a60964c49e058b2510ad3f12ba3483fd8f62c2306d6" +checksum = "e7bb888ab5300a19b8e5bceef25ac745ad065f3c9f7efc6de1b91958110891d3" dependencies = [ "base16ct", "crypto-bigint", "der", + "digest 0.10.6", "ff", "generic-array 0.14.6", "group", @@ -758,9 +760,9 @@ dependencies = [ [[package]] name = "ff" -version = "0.11.1" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "131655483be284720a17d74ff97592b8e76576dc25563148601df2d7c9080924" +checksum = "d013fc25338cc558c5c2cfbad646908fb23591e2404481826742b651c9af7160" dependencies = [ "rand_core 0.6.4", "subtle", @@ -808,7 +810,7 @@ dependencies = [ [[package]] name = "frame-support" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "bitflags", "frame-metadata", @@ -833,14 +835,14 @@ dependencies = [ "sp-state-machine 0.12.0", "sp-std 4.0.0", "sp-tracing 5.0.0", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33)", "tt-call", ] [[package]] name = "frame-support-procedural" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "Inflector", "cfg-expr", @@ -854,7 +856,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate", @@ -866,7 +868,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "proc-macro2", "quote", @@ -1043,9 +1045,9 @@ checksum = "22030e2c5a68ec659fde1e949a745124b48e6fa8b045b7ed5bd1fe4ccc5c4e5d" [[package]] name = "group" -version = "0.11.0" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc5ac374b108929de78460075f3dc439fa66df9d8fc77e8f12caa5165fcf0c89" +checksum = "5dfbfb3a6cfbd390d5c9564ab283a0349b9b9fcd46a706c1eb10e0db70bfbac7" dependencies = [ "ff", "rand_core 0.6.4", @@ -1136,6 +1138,15 @@ dependencies = [ "digest 0.9.0", ] +[[package]] +name = "hmac" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" +dependencies = [ + "digest 0.10.6", +] + [[package]] name = "hmac-drbg" version = "0.3.0" @@ -1546,14 +1557,14 @@ dependencies = [ [[package]] name = "k256" -version = "0.10.4" +version = "0.11.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19c3a5e0a0b8450278feda242592512e09f61c72e018b8cd5c859482802daf2d" +checksum = "72c1e0b51e7ec0a97369623508396067a486bd0cbed95a2659a4b863d28cfc8b" dependencies = [ "cfg-if", "ecdsa", "elliptic-curve", - "sec1", + "sha2 0.10.6", ] [[package]] @@ -1659,15 +1670,6 @@ dependencies = [ "cfg-if", ] -[[package]] -name = "lru" -version = "0.7.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e999beba7b6e8345721bd280141ed958096a2e4abdf74f67ff4ce49b4b54e47a" -dependencies = [ - "hashbrown", -] - [[package]] name = "lru" version = "0.8.1" @@ -1875,13 +1877,13 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "pallet-contracts-primitives" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "bitflags", "parity-scale-codec", "sp-runtime 6.0.0", "sp-std 4.0.0", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33)", ] [[package]] @@ -2036,13 +2038,12 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" [[package]] name = "pkcs8" -version = "0.8.0" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cabda3fb821068a9a4fab19a683eac3af12edf0f34b94a8be53c4972b8149d0" +checksum = "9eca2c590a5f85da82668fa685c09ce2888b9430e83299debf1f34b65fd4a4ba" dependencies = [ "der", "spki", - "zeroize", ] [[package]] @@ -2276,12 +2277,12 @@ checksum = "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848" [[package]] name = "rfc6979" -version = "0.1.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96ef608575f6392792f9ecf7890c00086591d29a83910939d430753f7c050525" +checksum = "7743f17af12fa0b03b803ba12cd6a8d9483a587e89c69445e3909655c0b9fabb" dependencies = [ "crypto-bigint", - "hmac 0.11.0", + "hmac 0.12.1", "zeroize", ] @@ -2487,10 +2488,11 @@ dependencies = [ [[package]] name = "sec1" -version = "0.2.1" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08da66b8b0965a5555b6bd6639e68ccba85e1e2506f5fbb089e93f8a04e1a2d1" +checksum = "3be24c1842290c45df0a7bf069e0c268a747ad05a192f2fd7dcfdbc1cba40928" dependencies = [ + "base16ct", "der", "generic-array 0.14.6", "pkcs8", @@ -2658,11 +2660,11 @@ dependencies = [ [[package]] name = "signature" -version = "1.4.0" +version = "1.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02658e48d89f2bec991f9a78e69cfa4c316f8d6a6c4ec12fae1aeb263d486788" +checksum = "74233d3b3b2f6d4b006dc19dee745e73e2a6bfb6f93607cd3b02bd5b00797d7c" dependencies = [ - "digest 0.9.0", + "digest 0.10.6", "rand_core 0.6.4", ] @@ -2709,7 +2711,7 @@ dependencies = [ [[package]] name = "sp-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "hash-db", "log", @@ -2727,7 +2729,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "blake2", "proc-macro-crate", @@ -2739,7 +2741,7 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "parity-scale-codec", "scale-info", @@ -2766,7 +2768,7 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "integer-sqrt", "num-traits", @@ -2797,7 +2799,7 @@ dependencies = [ [[package]] name = "sp-core" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "array-bytes", "base58", @@ -2816,7 +2818,6 @@ dependencies = [ "merlin", "num-traits", "parity-scale-codec", - "parity-util-mem", "parking_lot", "primitive-types", "rand 0.7.3", @@ -2889,7 +2890,7 @@ dependencies = [ [[package]] name = "sp-core-hashing" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "blake2", "byteorder", @@ -2918,7 +2919,7 @@ dependencies = [ [[package]] name = "sp-core-hashing-proc-macro" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "proc-macro2", "quote", @@ -2929,7 +2930,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "proc-macro2", "quote", @@ -2950,7 +2951,7 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "environmental", "parity-scale-codec", @@ -2973,7 +2974,7 @@ dependencies = [ [[package]] name = "sp-inherents" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "async-trait", "impl-trait-for-tuples", @@ -2987,7 +2988,7 @@ dependencies = [ [[package]] name = "sp-io" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "bytes", "futures", @@ -3040,7 +3041,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "async-trait", "futures", @@ -3073,7 +3074,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "backtrace", "lazy_static", @@ -3094,7 +3095,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "either", "hash256-std-hasher", @@ -3111,7 +3112,7 @@ dependencies = [ "sp-core 6.0.0", "sp-io 6.0.0", "sp-std 4.0.0", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33)", ] [[package]] @@ -3141,7 +3142,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "bytes", "impl-trait-for-tuples", @@ -3178,7 +3179,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "Inflector", "proc-macro-crate", @@ -3203,7 +3204,7 @@ dependencies = [ [[package]] name = "sp-staking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "parity-scale-codec", "scale-info", @@ -3214,7 +3215,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "hash-db", "log", @@ -3259,7 +3260,7 @@ dependencies = [ [[package]] name = "sp-std" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" [[package]] name = "sp-std" @@ -3270,7 +3271,7 @@ checksum = "cf3fd4c1d304be101e6ebbafd3d4be9a37b320c970ef4e8df188b16873981c93" [[package]] name = "sp-storage" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "impl-serde", "parity-scale-codec", @@ -3297,7 +3298,7 @@ dependencies = [ [[package]] name = "sp-tracing" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "parity-scale-codec", "sp-std 4.0.0", @@ -3322,13 +3323,13 @@ dependencies = [ [[package]] name = "sp-trie" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "ahash", "hash-db", "hashbrown", "lazy_static", - "lru 0.7.8", + "lru", "memory-db", "nohash-hasher", "parity-scale-codec", @@ -3352,7 +3353,7 @@ dependencies = [ "hash-db", "hashbrown", "lazy_static", - "lru 0.8.1", + "lru", "memory-db", "nohash-hasher", "parity-scale-codec", @@ -3369,7 +3370,7 @@ dependencies = [ [[package]] name = "sp-version" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "impl-serde", "parity-scale-codec", @@ -3386,7 +3387,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "parity-scale-codec", "proc-macro2", @@ -3397,7 +3398,7 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "impl-trait-for-tuples", "log", @@ -3439,7 +3440,7 @@ dependencies = [ [[package]] name = "sp-weights" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -3460,9 +3461,9 @@ checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" [[package]] name = "spki" -version = "0.5.4" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44d01ac02a6ccf3e07db148d2be087da624fea0221a16152ed01f0496a6b0a27" +checksum = "67cf02bbac7a337dc36e4f5a693db6c21e7863f45070f7064577eb4367a3212b" dependencies = [ "base64ct", "der", diff --git a/aleph-client/Cargo.toml b/aleph-client/Cargo.toml index 07b890d7ab..328bb2edac 100644 --- a/aleph-client/Cargo.toml +++ b/aleph-client/Cargo.toml @@ -20,9 +20,9 @@ subxt = "0.25.0" futures = "0.3.25" serde = { version = "1.0", features = ["derive"] } -frame-support = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -pallet-contracts-primitives = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +frame-support = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +pallet-contracts-primitives = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } primitives = { path = "../primitives" } [dev-dependencies] diff --git a/aleph-client/src/aleph_zero.rs b/aleph-client/src/aleph_zero.rs index f50f584435..2c9e8a99ae 100644 --- a/aleph-client/src/aleph_zero.rs +++ b/aleph-client/src/aleph_zero.rs @@ -1211,9 +1211,9 @@ pub mod api { call: ::std::boxed::Box::new(call), }, [ - 160u8, 122u8, 166u8, 98u8, 70u8, 13u8, 129u8, 239u8, 167u8, 62u8, 11u8, - 246u8, 17u8, 49u8, 47u8, 76u8, 60u8, 242u8, 23u8, 95u8, 39u8, 112u8, - 156u8, 52u8, 238u8, 120u8, 109u8, 142u8, 99u8, 162u8, 90u8, 105u8, + 65u8, 106u8, 17u8, 223u8, 120u8, 72u8, 206u8, 236u8, 212u8, 89u8, 93u8, + 114u8, 145u8, 112u8, 242u8, 57u8, 42u8, 34u8, 248u8, 14u8, 210u8, + 191u8, 72u8, 211u8, 66u8, 48u8, 42u8, 16u8, 185u8, 194u8, 112u8, 78u8, ], ) } @@ -1257,9 +1257,10 @@ pub mod api { call: ::std::boxed::Box::new(call), }, [ - 241u8, 1u8, 109u8, 65u8, 241u8, 150u8, 239u8, 46u8, 131u8, 127u8, - 143u8, 100u8, 173u8, 39u8, 64u8, 173u8, 52u8, 53u8, 97u8, 167u8, 133u8, - 29u8, 1u8, 140u8, 117u8, 62u8, 114u8, 35u8, 234u8, 88u8, 98u8, 57u8, + 19u8, 247u8, 128u8, 183u8, 108u8, 157u8, 65u8, 154u8, 101u8, 173u8, + 110u8, 109u8, 218u8, 119u8, 94u8, 165u8, 156u8, 106u8, 84u8, 225u8, + 119u8, 5u8, 192u8, 23u8, 104u8, 185u8, 138u8, 189u8, 152u8, 155u8, + 43u8, 213u8, ], ) } @@ -1304,10 +1305,10 @@ pub mod api { call: ::std::boxed::Box::new(call), }, [ - 179u8, 25u8, 53u8, 84u8, 52u8, 141u8, 229u8, 81u8, 112u8, 150u8, 200u8, - 165u8, 20u8, 24u8, 170u8, 147u8, 202u8, 126u8, 168u8, 49u8, 193u8, - 66u8, 99u8, 170u8, 254u8, 94u8, 123u8, 165u8, 202u8, 241u8, 242u8, - 136u8, + 185u8, 107u8, 34u8, 186u8, 237u8, 126u8, 193u8, 49u8, 182u8, 82u8, + 234u8, 42u8, 135u8, 2u8, 27u8, 192u8, 213u8, 64u8, 236u8, 54u8, 77u8, + 244u8, 113u8, 226u8, 63u8, 137u8, 223u8, 73u8, 149u8, 191u8, 65u8, + 236u8, ], ) } @@ -1338,9 +1339,10 @@ pub mod api { call: ::std::boxed::Box::new(call), }, [ - 20u8, 231u8, 171u8, 36u8, 252u8, 236u8, 111u8, 24u8, 212u8, 86u8, 50u8, - 21u8, 82u8, 97u8, 124u8, 183u8, 92u8, 224u8, 42u8, 251u8, 165u8, 238u8, - 243u8, 244u8, 155u8, 235u8, 13u8, 70u8, 46u8, 39u8, 126u8, 135u8, + 159u8, 40u8, 151u8, 156u8, 185u8, 13u8, 166u8, 188u8, 168u8, 56u8, + 201u8, 54u8, 228u8, 123u8, 186u8, 199u8, 38u8, 150u8, 171u8, 71u8, + 155u8, 194u8, 215u8, 126u8, 79u8, 242u8, 132u8, 80u8, 114u8, 38u8, + 215u8, 123u8, ], ) } @@ -3538,7 +3540,8 @@ pub mod api { ], ) } - #[doc = "Increments the ideal number of validators."] + #[doc = "Increments the ideal number of validators upto maximum of"] + #[doc = "`ElectionProviderBase::MaxWinners`."] #[doc = ""] #[doc = "The dispatch origin must be Root."] #[doc = ""] @@ -3560,7 +3563,8 @@ pub mod api { ], ) } - #[doc = "Scale up the ideal number of validators by a factor."] + #[doc = "Scale up the ideal number of validators by a factor upto maximum of"] + #[doc = "`ElectionProviderBase::MaxWinners`."] #[doc = ""] #[doc = "The dispatch origin must be Root."] #[doc = ""] @@ -4201,7 +4205,7 @@ pub mod api { use super::runtime_types; pub struct StorageApi; impl StorageApi { - #[doc = " The ideal number of staking participants."] + #[doc = " The ideal number of active validators."] pub fn validator_count( &self, ) -> ::subxt::storage::address::StaticStorageAddress< @@ -6353,10 +6357,10 @@ pub mod api { "NextAuthorities", vec![], [ - 223u8, 196u8, 18u8, 234u8, 75u8, 169u8, 31u8, 25u8, 180u8, 189u8, 78u8, - 192u8, 179u8, 27u8, 218u8, 254u8, 245u8, 211u8, 86u8, 33u8, 113u8, - 114u8, 214u8, 133u8, 240u8, 211u8, 232u8, 163u8, 123u8, 98u8, 114u8, - 26u8, + 217u8, 12u8, 37u8, 222u8, 249u8, 100u8, 15u8, 59u8, 130u8, 255u8, 34u8, + 57u8, 211u8, 50u8, 162u8, 96u8, 130u8, 157u8, 168u8, 15u8, 137u8, + 228u8, 136u8, 35u8, 18u8, 234u8, 43u8, 190u8, 78u8, 112u8, 186u8, + 203u8, ], ) } @@ -7058,6 +7062,26 @@ pub mod api { ], ) } + #[doc = " The maximum number of winners that can be elected by this `ElectionProvider`"] + #[doc = " implementation."] + #[doc = ""] + #[doc = " Note: This must always be greater or equal to `T::DataProvider::desired_targets()`."] + pub fn max_winners( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Elections", + "MaxWinners", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } } } } @@ -8160,13 +8184,13 @@ pub mod api { impl TransactionApi { #[doc = "Send a batch of dispatch calls."] #[doc = ""] - #[doc = "May be called from any origin."] + #[doc = "May be called from any origin except `None`."] #[doc = ""] #[doc = "- `calls`: The calls to be dispatched from the same origin. The number of call must not"] #[doc = " exceed the constant: `batched_calls_limit` (available in constant metadata)."] #[doc = ""] - #[doc = "If origin is root then call are dispatch without checking origin filter. (This includes"] - #[doc = "bypassing `frame_system::Config::BaseCallFilter`)."] + #[doc = "If origin is root then the calls are dispatched without checking origin filter. (This"] + #[doc = "includes bypassing `frame_system::Config::BaseCallFilter`)."] #[doc = ""] #[doc = "# "] #[doc = "- Complexity: O(C) where C is the number of calls to be batched."] @@ -8186,9 +8210,9 @@ pub mod api { "batch", Batch { calls }, [ - 54u8, 11u8, 245u8, 114u8, 34u8, 80u8, 69u8, 105u8, 126u8, 6u8, 220u8, - 2u8, 216u8, 9u8, 219u8, 47u8, 138u8, 8u8, 208u8, 214u8, 243u8, 4u8, - 85u8, 107u8, 173u8, 220u8, 160u8, 221u8, 38u8, 158u8, 252u8, 58u8, + 216u8, 148u8, 213u8, 120u8, 104u8, 132u8, 200u8, 250u8, 246u8, 110u8, + 193u8, 153u8, 221u8, 234u8, 73u8, 200u8, 253u8, 68u8, 60u8, 50u8, 45u8, + 95u8, 212u8, 220u8, 59u8, 16u8, 95u8, 41u8, 50u8, 132u8, 20u8, 153u8, ], ) } @@ -8218,23 +8242,23 @@ pub mod api { call: ::std::boxed::Box::new(call), }, [ - 191u8, 114u8, 113u8, 241u8, 126u8, 1u8, 120u8, 104u8, 111u8, 31u8, - 211u8, 99u8, 236u8, 200u8, 182u8, 124u8, 111u8, 105u8, 67u8, 60u8, - 234u8, 149u8, 34u8, 203u8, 159u8, 115u8, 60u8, 71u8, 55u8, 164u8, - 185u8, 53u8, + 234u8, 198u8, 66u8, 241u8, 117u8, 237u8, 106u8, 92u8, 103u8, 62u8, + 225u8, 221u8, 189u8, 120u8, 18u8, 43u8, 166u8, 226u8, 124u8, 76u8, + 32u8, 189u8, 29u8, 76u8, 119u8, 23u8, 239u8, 201u8, 166u8, 12u8, 57u8, + 193u8, ], ) } #[doc = "Send a batch of dispatch calls and atomically execute them."] #[doc = "The whole transaction will rollback and fail if any of the calls failed."] #[doc = ""] - #[doc = "May be called from any origin."] + #[doc = "May be called from any origin except `None`."] #[doc = ""] #[doc = "- `calls`: The calls to be dispatched from the same origin. The number of call must not"] #[doc = " exceed the constant: `batched_calls_limit` (available in constant metadata)."] #[doc = ""] - #[doc = "If origin is root then call are dispatch without checking origin filter. (This includes"] - #[doc = "bypassing `frame_system::Config::BaseCallFilter`)."] + #[doc = "If origin is root then the calls are dispatched without checking origin filter. (This"] + #[doc = "includes bypassing `frame_system::Config::BaseCallFilter`)."] #[doc = ""] #[doc = "# "] #[doc = "- Complexity: O(C) where C is the number of calls to be batched."] @@ -8248,10 +8272,9 @@ pub mod api { "batch_all", BatchAll { calls }, [ - 85u8, 206u8, 217u8, 145u8, 85u8, 186u8, 156u8, 252u8, 97u8, 70u8, - 227u8, 127u8, 83u8, 57u8, 255u8, 254u8, 104u8, 173u8, 33u8, 227u8, - 179u8, 209u8, 156u8, 199u8, 50u8, 88u8, 44u8, 236u8, 208u8, 3u8, 84u8, - 12u8, + 239u8, 187u8, 41u8, 189u8, 164u8, 24u8, 114u8, 29u8, 126u8, 160u8, 8u8, + 171u8, 165u8, 16u8, 157u8, 225u8, 93u8, 19u8, 224u8, 6u8, 129u8, 199u8, + 94u8, 184u8, 48u8, 96u8, 101u8, 203u8, 231u8, 152u8, 49u8, 153u8, ], ) } @@ -8278,22 +8301,22 @@ pub mod api { call: ::std::boxed::Box::new(call), }, [ - 243u8, 77u8, 65u8, 192u8, 160u8, 219u8, 211u8, 207u8, 19u8, 140u8, - 175u8, 74u8, 74u8, 20u8, 245u8, 48u8, 139u8, 14u8, 26u8, 32u8, 4u8, - 30u8, 95u8, 39u8, 53u8, 69u8, 242u8, 253u8, 184u8, 189u8, 119u8, 61u8, + 175u8, 242u8, 223u8, 70u8, 115u8, 38u8, 4u8, 83u8, 209u8, 29u8, 48u8, + 32u8, 27u8, 82u8, 90u8, 20u8, 184u8, 23u8, 140u8, 206u8, 34u8, 44u8, + 191u8, 38u8, 10u8, 214u8, 241u8, 66u8, 110u8, 94u8, 176u8, 5u8, ], ) } #[doc = "Send a batch of dispatch calls."] #[doc = "Unlike `batch`, it allows errors and won't interrupt."] #[doc = ""] - #[doc = "May be called from any origin."] + #[doc = "May be called from any origin except `None`."] #[doc = ""] #[doc = "- `calls`: The calls to be dispatched from the same origin. The number of call must not"] #[doc = " exceed the constant: `batched_calls_limit` (available in constant metadata)."] #[doc = ""] - #[doc = "If origin is root then call are dispatch without checking origin filter. (This includes"] - #[doc = "bypassing `frame_system::Config::BaseCallFilter`)."] + #[doc = "If origin is root then the calls are dispatch without checking origin filter. (This"] + #[doc = "includes bypassing `frame_system::Config::BaseCallFilter`)."] #[doc = ""] #[doc = "# "] #[doc = "- Complexity: O(C) where C is the number of calls to be batched."] @@ -8307,10 +8330,10 @@ pub mod api { "force_batch", ForceBatch { calls }, [ - 14u8, 136u8, 251u8, 244u8, 242u8, 109u8, 234u8, 84u8, 124u8, 199u8, - 213u8, 229u8, 93u8, 156u8, 232u8, 71u8, 214u8, 32u8, 225u8, 249u8, - 229u8, 144u8, 161u8, 85u8, 135u8, 194u8, 64u8, 181u8, 98u8, 79u8, - 114u8, 154u8, + 220u8, 128u8, 33u8, 31u8, 153u8, 214u8, 91u8, 196u8, 177u8, 16u8, + 121u8, 54u8, 232u8, 152u8, 211u8, 160u8, 115u8, 98u8, 212u8, 233u8, + 228u8, 2u8, 85u8, 150u8, 174u8, 254u8, 227u8, 130u8, 11u8, 22u8, 199u8, + 35u8, ], ) } @@ -8534,10 +8557,10 @@ pub mod api { call: ::std::boxed::Box::new(call), }, [ - 20u8, 94u8, 155u8, 221u8, 119u8, 110u8, 119u8, 198u8, 12u8, 174u8, - 40u8, 255u8, 44u8, 82u8, 16u8, 105u8, 241u8, 48u8, 143u8, 12u8, 114u8, - 209u8, 182u8, 50u8, 162u8, 84u8, 131u8, 193u8, 196u8, 154u8, 104u8, - 162u8, + 29u8, 239u8, 168u8, 44u8, 41u8, 86u8, 145u8, 100u8, 233u8, 174u8, + 239u8, 216u8, 35u8, 232u8, 172u8, 40u8, 3u8, 149u8, 69u8, 158u8, 112u8, + 29u8, 181u8, 129u8, 218u8, 14u8, 218u8, 47u8, 251u8, 27u8, 179u8, + 204u8, ], ) } @@ -8607,9 +8630,9 @@ pub mod api { max_weight, }, [ - 33u8, 244u8, 252u8, 206u8, 157u8, 156u8, 15u8, 171u8, 200u8, 78u8, - 16u8, 115u8, 71u8, 183u8, 155u8, 205u8, 56u8, 43u8, 57u8, 23u8, 89u8, - 58u8, 77u8, 184u8, 210u8, 55u8, 203u8, 51u8, 13u8, 205u8, 53u8, 207u8, + 40u8, 152u8, 66u8, 246u8, 90u8, 100u8, 51u8, 184u8, 254u8, 255u8, 1u8, + 47u8, 140u8, 193u8, 53u8, 186u8, 40u8, 127u8, 129u8, 179u8, 48u8, + 219u8, 117u8, 66u8, 23u8, 159u8, 45u8, 239u8, 99u8, 172u8, 212u8, 67u8, ], ) } @@ -8843,10 +8866,9 @@ pub mod api { ), ], [ - 145u8, 78u8, 57u8, 171u8, 199u8, 158u8, 226u8, 250u8, 224u8, 133u8, - 45u8, 251u8, 202u8, 22u8, 171u8, 132u8, 229u8, 110u8, 248u8, 233u8, - 38u8, 2u8, 247u8, 140u8, 150u8, 103u8, 211u8, 209u8, 160u8, 158u8, - 23u8, 215u8, + 69u8, 153u8, 186u8, 204u8, 117u8, 95u8, 119u8, 182u8, 220u8, 87u8, 8u8, + 15u8, 123u8, 83u8, 5u8, 188u8, 115u8, 121u8, 163u8, 96u8, 218u8, 3u8, + 106u8, 44u8, 44u8, 187u8, 46u8, 238u8, 80u8, 203u8, 175u8, 155u8, ], ) } @@ -8870,10 +8892,9 @@ pub mod api { "Multisigs", Vec::new(), [ - 145u8, 78u8, 57u8, 171u8, 199u8, 158u8, 226u8, 250u8, 224u8, 133u8, - 45u8, 251u8, 202u8, 22u8, 171u8, 132u8, 229u8, 110u8, 248u8, 233u8, - 38u8, 2u8, 247u8, 140u8, 150u8, 103u8, 211u8, 209u8, 160u8, 158u8, - 23u8, 215u8, + 69u8, 153u8, 186u8, 204u8, 117u8, 95u8, 119u8, 182u8, 220u8, 87u8, 8u8, + 15u8, 123u8, 83u8, 5u8, 188u8, 115u8, 121u8, 163u8, 96u8, 218u8, 3u8, + 106u8, 44u8, 44u8, 187u8, 46u8, 238u8, 80u8, 203u8, 175u8, 155u8, ], ) } @@ -8926,15 +8947,16 @@ pub mod api { pub fn max_signatories( &self, ) -> ::subxt::constants::StaticConstantAddress< - ::subxt::metadata::DecodeStaticType<::core::primitive::u16>, + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, > { ::subxt::constants::StaticConstantAddress::new( "Multisig", "MaxSignatories", [ - 116u8, 33u8, 2u8, 170u8, 181u8, 147u8, 171u8, 169u8, 167u8, 227u8, - 41u8, 144u8, 11u8, 236u8, 82u8, 100u8, 74u8, 60u8, 184u8, 72u8, 169u8, - 90u8, 208u8, 135u8, 15u8, 117u8, 10u8, 123u8, 128u8, 193u8, 29u8, 70u8, + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, ], ) } @@ -9022,9 +9044,9 @@ pub mod api { call: ::std::boxed::Box::new(call), }, [ - 1u8, 212u8, 200u8, 244u8, 140u8, 196u8, 5u8, 118u8, 183u8, 21u8, 254u8, - 36u8, 218u8, 175u8, 219u8, 228u8, 40u8, 247u8, 248u8, 127u8, 54u8, - 23u8, 253u8, 137u8, 188u8, 151u8, 39u8, 128u8, 218u8, 39u8, 86u8, 7u8, + 40u8, 254u8, 3u8, 48u8, 111u8, 208u8, 37u8, 138u8, 153u8, 237u8, 84u8, + 210u8, 21u8, 143u8, 242u8, 86u8, 232u8, 137u8, 127u8, 125u8, 74u8, + 83u8, 72u8, 170u8, 241u8, 232u8, 240u8, 77u8, 83u8, 20u8, 129u8, 100u8, ], ) } @@ -9051,10 +9073,10 @@ pub mod api { weight, }, [ - 159u8, 128u8, 183u8, 121u8, 190u8, 62u8, 61u8, 158u8, 184u8, 132u8, - 158u8, 127u8, 95u8, 143u8, 129u8, 60u8, 234u8, 68u8, 232u8, 97u8, - 101u8, 71u8, 186u8, 17u8, 32u8, 174u8, 90u8, 220u8, 93u8, 103u8, 111u8, - 81u8, + 130u8, 102u8, 123u8, 183u8, 113u8, 254u8, 254u8, 11u8, 215u8, 101u8, + 49u8, 203u8, 110u8, 85u8, 153u8, 231u8, 162u8, 199u8, 30u8, 104u8, + 125u8, 222u8, 74u8, 110u8, 61u8, 19u8, 170u8, 196u8, 132u8, 181u8, + 125u8, 125u8, ], ) } @@ -9113,9 +9135,9 @@ pub mod api { call: ::std::boxed::Box::new(call), }, [ - 36u8, 12u8, 9u8, 231u8, 250u8, 8u8, 177u8, 195u8, 94u8, 66u8, 211u8, - 201u8, 222u8, 228u8, 70u8, 62u8, 45u8, 22u8, 243u8, 231u8, 73u8, 155u8, - 241u8, 9u8, 205u8, 126u8, 73u8, 214u8, 195u8, 153u8, 73u8, 33u8, + 206u8, 56u8, 81u8, 112u8, 193u8, 141u8, 113u8, 163u8, 134u8, 112u8, + 81u8, 79u8, 25u8, 68u8, 17u8, 87u8, 59u8, 255u8, 194u8, 243u8, 55u8, + 73u8, 220u8, 204u8, 142u8, 199u8, 31u8, 46u8, 173u8, 6u8, 149u8, 100u8, ], ) } @@ -9280,6 +9302,7 @@ pub mod api { pub code: ::std::vec::Vec<::core::primitive::u8>, pub storage_deposit_limit: ::core::option::Option<::subxt::ext::codec::Compact<::core::primitive::u128>>, + pub determinism: runtime_types::pallet_contracts::wasm::Determinism, } #[derive( :: subxt :: ext :: codec :: Decode, @@ -9467,6 +9490,10 @@ pub mod api { #[doc = "the in storage version to the current"] #[doc = "[`InstructionWeights::version`](InstructionWeights)."] #[doc = ""] + #[doc = "- `determinism`: If this is set to any other value but [`Determinism::Deterministic`]"] + #[doc = " then the only way to use this code is to delegate call into it from an offchain"] + #[doc = " execution. Set to [`Determinism::Deterministic`] if in doubt."] + #[doc = ""] #[doc = "# Note"] #[doc = ""] #[doc = "Anyone can instantiate a contract from any uploaded code and thus prevent its removal."] @@ -9479,6 +9506,7 @@ pub mod api { storage_deposit_limit: ::core::option::Option< ::subxt::ext::codec::Compact<::core::primitive::u128>, >, + determinism: runtime_types::pallet_contracts::wasm::Determinism, ) -> ::subxt::tx::StaticTxPayload { ::subxt::tx::StaticTxPayload::new( "Contracts", @@ -9486,11 +9514,13 @@ pub mod api { UploadCode { code, storage_deposit_limit, + determinism, }, [ - 8u8, 32u8, 174u8, 226u8, 212u8, 86u8, 47u8, 247u8, 123u8, 155u8, 40u8, - 192u8, 184u8, 216u8, 61u8, 57u8, 94u8, 23u8, 76u8, 59u8, 4u8, 124u8, - 252u8, 248u8, 87u8, 233u8, 13u8, 184u8, 133u8, 236u8, 174u8, 85u8, + 233u8, 137u8, 54u8, 111u8, 132u8, 124u8, 80u8, 213u8, 182u8, 224u8, + 144u8, 240u8, 6u8, 235u8, 148u8, 26u8, 65u8, 39u8, 91u8, 151u8, 131u8, + 10u8, 216u8, 101u8, 89u8, 115u8, 160u8, 154u8, 44u8, 239u8, 142u8, + 116u8, ], ) } @@ -9916,10 +9946,9 @@ pub mod api { ::subxt::storage::address::StorageHasher::Identity, )], [ - 167u8, 247u8, 131u8, 220u8, 90u8, 100u8, 172u8, 16u8, 129u8, 235u8, - 119u8, 88u8, 60u8, 196u8, 74u8, 173u8, 192u8, 110u8, 106u8, 187u8, - 111u8, 255u8, 114u8, 39u8, 76u8, 52u8, 245u8, 79u8, 132u8, 108u8, - 141u8, 176u8, + 57u8, 55u8, 36u8, 82u8, 39u8, 194u8, 172u8, 147u8, 144u8, 63u8, 101u8, + 240u8, 179u8, 25u8, 177u8, 68u8, 253u8, 230u8, 156u8, 228u8, 181u8, + 194u8, 48u8, 99u8, 188u8, 117u8, 44u8, 80u8, 121u8, 46u8, 149u8, 48u8, ], ) } @@ -9939,10 +9968,9 @@ pub mod api { "CodeStorage", Vec::new(), [ - 167u8, 247u8, 131u8, 220u8, 90u8, 100u8, 172u8, 16u8, 129u8, 235u8, - 119u8, 88u8, 60u8, 196u8, 74u8, 173u8, 192u8, 110u8, 106u8, 187u8, - 111u8, 255u8, 114u8, 39u8, 76u8, 52u8, 245u8, 79u8, 132u8, 108u8, - 141u8, 176u8, + 57u8, 55u8, 36u8, 82u8, 39u8, 194u8, 172u8, 147u8, 144u8, 63u8, 101u8, + 240u8, 179u8, 25u8, 177u8, 68u8, 253u8, 230u8, 156u8, 228u8, 181u8, + 194u8, 48u8, 99u8, 188u8, 117u8, 44u8, 80u8, 121u8, 46u8, 149u8, 48u8, ], ) } @@ -10138,9 +10166,9 @@ pub mod api { "Contracts", "Schedule", [ - 106u8, 133u8, 138u8, 78u8, 95u8, 52u8, 197u8, 85u8, 4u8, 33u8, 173u8, - 239u8, 169u8, 196u8, 91u8, 38u8, 210u8, 50u8, 62u8, 67u8, 180u8, 184u8, - 32u8, 190u8, 106u8, 252u8, 104u8, 173u8, 5u8, 140u8, 244u8, 249u8, + 237u8, 5u8, 207u8, 195u8, 65u8, 77u8, 128u8, 229u8, 222u8, 20u8, 158u8, + 142u8, 18u8, 0u8, 155u8, 218u8, 220u8, 58u8, 53u8, 60u8, 39u8, 52u8, + 243u8, 33u8, 95u8, 247u8, 131u8, 117u8, 192u8, 91u8, 63u8, 19u8, ], ) } @@ -10357,6 +10385,31 @@ pub mod api { Eq, PartialEq, )] + pub struct CreateWithPoolId { + #[codec(compact)] + pub amount: ::core::primitive::u128, + pub root: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, + pub nominator: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, + pub state_toggler: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, + pub pool_id: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] pub struct Nominate { pub pool_id: ::core::primitive::u32, pub validators: ::std::vec::Vec<::subxt::ext::sp_core::crypto::AccountId32>, @@ -10675,6 +10728,46 @@ pub mod api { ], ) } + #[doc = "Create a new delegation pool with a previously used pool id"] + #[doc = ""] + #[doc = "# Arguments"] + #[doc = ""] + #[doc = "same as `create` with the inclusion of"] + #[doc = "* `pool_id` - `A valid PoolId."] + pub fn create_with_pool_id( + &self, + amount: ::core::primitive::u128, + root: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, + nominator: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, + state_toggler: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, + pool_id: ::core::primitive::u32, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "NominationPools", + "create_with_pool_id", + CreateWithPoolId { + amount, + root, + nominator, + state_toggler, + pool_id, + }, + [ + 234u8, 228u8, 116u8, 171u8, 77u8, 41u8, 166u8, 254u8, 20u8, 78u8, 38u8, + 28u8, 144u8, 58u8, 2u8, 64u8, 11u8, 27u8, 124u8, 215u8, 8u8, 10u8, + 172u8, 189u8, 118u8, 131u8, 102u8, 191u8, 251u8, 208u8, 167u8, 103u8, + ], + ) + } #[doc = "Nominate on behalf of the pool."] #[doc = ""] #[doc = "The dispatch origin of this call must be signed by the pool nominator or the pool"] @@ -13784,7 +13877,7 @@ pub mod api { #[doc = "Account liquidity restrictions prevent withdrawal"] LiquidityRestrictions, #[codec(index = 2)] - #[doc = "Balance too low to send value"] + #[doc = "Balance too low to send value."] InsufficientBalance, #[codec(index = 3)] #[doc = "Value too low to create account due to existential deposit"] @@ -14020,6 +14113,10 @@ pub mod api { #[doc = "the in storage version to the current"] #[doc = "[`InstructionWeights::version`](InstructionWeights)."] #[doc = ""] + #[doc = "- `determinism`: If this is set to any other value but [`Determinism::Deterministic`]"] + #[doc = " then the only way to use this code is to delegate call into it from an offchain"] + #[doc = " execution. Set to [`Determinism::Deterministic`] if in doubt."] + #[doc = ""] #[doc = "# Note"] #[doc = ""] #[doc = "Anyone can instantiate a contract from any uploaded code and thus prevent its removal."] @@ -14031,6 +14128,7 @@ pub mod api { storage_deposit_limit: ::core::option::Option< ::subxt::ext::codec::Compact<::core::primitive::u128>, >, + determinism: runtime_types::pallet_contracts::wasm::Determinism, }, #[codec(index = 4)] #[doc = "Remove the code stored under `code_hash` and refund the deposit to its owner."] @@ -14258,6 +14356,9 @@ pub mod api { #[doc = "A more detailed error can be found on the node console if debug messages are enabled"] #[doc = "or in the debug buffer which is returned to RPC clients."] CodeRejected, + #[codec(index = 29)] + #[doc = "An indetermistic code was used in a context where this is not permitted."] + Indeterministic, } #[derive( :: subxt :: ext :: codec :: Decode, @@ -14411,6 +14512,7 @@ pub mod api { )] pub struct InstructionWeights { pub version: ::core::primitive::u32, + pub fallback: ::core::primitive::u32, pub i64const: ::core::primitive::u32, pub i64load: ::core::primitive::u32, pub i64store: ::core::primitive::u32, @@ -14543,6 +14645,20 @@ pub mod api { Eq, PartialEq, )] + pub enum Determinism { + #[codec(index = 0)] + Deterministic, + #[codec(index = 1)] + AllowIndeterminism, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] pub struct OwnerInfo { pub owner: ::subxt::ext::sp_core::crypto::AccountId32, #[codec(compact)] @@ -14568,6 +14684,7 @@ pub mod api { pub code: runtime_types::sp_core::bounded::weak_bounded_vec::WeakBoundedVec< ::core::primitive::u8, >, + pub determinism: runtime_types::pallet_contracts::wasm::Determinism, } } } @@ -15085,6 +15202,9 @@ pub mod api { #[codec(index = 16)] #[doc = "The provided judgement was for a different identity."] JudgementForDifferentIdentity, + #[codec(index = 17)] + #[doc = "Error that occurs when there is an issue paying for judgement."] + JudgementPaymentFailed, } #[derive( :: subxt :: ext :: codec :: Decode, @@ -15653,7 +15773,7 @@ pub mod api { pub when: runtime_types::pallet_multisig::Timepoint<_0>, pub deposit: _1, pub depositor: _2, - pub approvals: ::std::vec::Vec<_2>, + pub approvals: runtime_types::sp_core::bounded::bounded_vec::BoundedVec<_2>, } #[derive( :: subxt :: ext :: codec :: Decode, @@ -15828,6 +15948,30 @@ pub mod api { >, }, #[codec(index = 7)] + #[doc = "Create a new delegation pool with a previously used pool id"] + #[doc = ""] + #[doc = "# Arguments"] + #[doc = ""] + #[doc = "same as `create` with the inclusion of"] + #[doc = "* `pool_id` - `A valid PoolId."] + create_with_pool_id { + #[codec(compact)] + amount: ::core::primitive::u128, + root: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, + nominator: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, + state_toggler: ::subxt::ext::sp_runtime::MultiAddress< + ::subxt::ext::sp_core::crypto::AccountId32, + (), + >, + pool_id: ::core::primitive::u32, + }, + #[codec(index = 8)] #[doc = "Nominate on behalf of the pool."] #[doc = ""] #[doc = "The dispatch origin of this call must be signed by the pool nominator or the pool"] @@ -15839,7 +15983,7 @@ pub mod api { pool_id: ::core::primitive::u32, validators: ::std::vec::Vec<::subxt::ext::sp_core::crypto::AccountId32>, }, - #[codec(index = 8)] + #[codec(index = 9)] #[doc = "Set a new state for the pool."] #[doc = ""] #[doc = "If a pool is already in the `Destroying` state, then under no condition can its state"] @@ -15854,7 +15998,7 @@ pub mod api { pool_id: ::core::primitive::u32, state: runtime_types::pallet_nomination_pools::PoolState, }, - #[codec(index = 9)] + #[codec(index = 10)] #[doc = "Set a new metadata for the pool."] #[doc = ""] #[doc = "The dispatch origin of this call must be signed by the state toggler, or the root role"] @@ -15863,7 +16007,7 @@ pub mod api { pool_id: ::core::primitive::u32, metadata: ::std::vec::Vec<::core::primitive::u8>, }, - #[codec(index = 10)] + #[codec(index = 11)] #[doc = "Update configurations for the nomination pools. The origin for this call must be"] #[doc = "Root."] #[doc = ""] @@ -15891,7 +16035,7 @@ pub mod api { ::core::primitive::u32, >, }, - #[codec(index = 11)] + #[codec(index = 12)] #[doc = "Update the roles of the pool."] #[doc = ""] #[doc = "The root is the only entity that can change any of the roles, including itself,"] @@ -15911,7 +16055,7 @@ pub mod api { ::subxt::ext::sp_core::crypto::AccountId32, >, }, - #[codec(index = 12)] + #[codec(index = 13)] #[doc = "Chill on behalf of the pool."] #[doc = ""] #[doc = "The dispatch origin of this call must be signed by the pool nominator or the pool"] @@ -16022,6 +16166,12 @@ pub mod api { #[codec(index = 20)] #[doc = "Partial unbonding now allowed permissionlessly."] PartialUnbondNotAllowedPermissionlessly, + #[codec(index = 21)] + #[doc = "Pool id currently in use."] + PoolIdInUse, + #[codec(index = 22)] + #[doc = "Pool id provided is not correct/usable."] + InvalidPoolId, } #[derive( :: subxt :: ext :: codec :: Decode, @@ -16745,7 +16895,8 @@ pub mod api { new: ::core::primitive::u32, }, #[codec(index = 10)] - #[doc = "Increments the ideal number of validators."] + #[doc = "Increments the ideal number of validators upto maximum of"] + #[doc = "`ElectionProviderBase::MaxWinners`."] #[doc = ""] #[doc = "The dispatch origin must be Root."] #[doc = ""] @@ -16757,7 +16908,8 @@ pub mod api { additional: ::core::primitive::u32, }, #[codec(index = 11)] - #[doc = "Scale up the ideal number of validators by a factor."] + #[doc = "Scale up the ideal number of validators by a factor upto maximum of"] + #[doc = "`ElectionProviderBase::MaxWinners`."] #[doc = ""] #[doc = "The dispatch origin must be Root."] #[doc = ""] @@ -17093,8 +17245,8 @@ pub mod api { #[doc = "settings to keep things safe for the runtime."] TooManyNominators, #[codec(index = 22)] - #[doc = "There are too many validators in the system. Governance needs to adjust the staking"] - #[doc = "settings to keep things safe for the runtime."] + #[doc = "There are too many validator candidates in the system. Governance needs to adjust the"] + #[doc = "staking settings to keep things safe for the runtime."] TooManyValidators, #[codec(index = 23)] #[doc = "Commission is too low. Must be at least `MinCommission`."] @@ -17850,13 +18002,13 @@ pub mod api { #[codec(index = 0)] #[doc = "Send a batch of dispatch calls."] #[doc = ""] - #[doc = "May be called from any origin."] + #[doc = "May be called from any origin except `None`."] #[doc = ""] #[doc = "- `calls`: The calls to be dispatched from the same origin. The number of call must not"] #[doc = " exceed the constant: `batched_calls_limit` (available in constant metadata)."] #[doc = ""] - #[doc = "If origin is root then call are dispatch without checking origin filter. (This includes"] - #[doc = "bypassing `frame_system::Config::BaseCallFilter`)."] + #[doc = "If origin is root then the calls are dispatched without checking origin filter. (This"] + #[doc = "includes bypassing `frame_system::Config::BaseCallFilter`)."] #[doc = ""] #[doc = "# "] #[doc = "- Complexity: O(C) where C is the number of calls to be batched."] @@ -17892,13 +18044,13 @@ pub mod api { #[doc = "Send a batch of dispatch calls and atomically execute them."] #[doc = "The whole transaction will rollback and fail if any of the calls failed."] #[doc = ""] - #[doc = "May be called from any origin."] + #[doc = "May be called from any origin except `None`."] #[doc = ""] #[doc = "- `calls`: The calls to be dispatched from the same origin. The number of call must not"] #[doc = " exceed the constant: `batched_calls_limit` (available in constant metadata)."] #[doc = ""] - #[doc = "If origin is root then call are dispatch without checking origin filter. (This includes"] - #[doc = "bypassing `frame_system::Config::BaseCallFilter`)."] + #[doc = "If origin is root then the calls are dispatched without checking origin filter. (This"] + #[doc = "includes bypassing `frame_system::Config::BaseCallFilter`)."] #[doc = ""] #[doc = "# "] #[doc = "- Complexity: O(C) where C is the number of calls to be batched."] @@ -17925,13 +18077,13 @@ pub mod api { #[doc = "Send a batch of dispatch calls."] #[doc = "Unlike `batch`, it allows errors and won't interrupt."] #[doc = ""] - #[doc = "May be called from any origin."] + #[doc = "May be called from any origin except `None`."] #[doc = ""] #[doc = "- `calls`: The calls to be dispatched from the same origin. The number of call must not"] #[doc = " exceed the constant: `batched_calls_limit` (available in constant metadata)."] #[doc = ""] - #[doc = "If origin is root then call are dispatch without checking origin filter. (This includes"] - #[doc = "bypassing `frame_system::Config::BaseCallFilter`)."] + #[doc = "If origin is root then the calls are dispatch without checking origin filter. (This"] + #[doc = "includes bypassing `frame_system::Config::BaseCallFilter`)."] #[doc = ""] #[doc = "# "] #[doc = "- Complexity: O(C) where C is the number of calls to be batched."] @@ -19555,9 +19707,9 @@ pub mod api { let runtime_metadata_hash = client.metadata().metadata_hash(&PALLETS); if runtime_metadata_hash != [ - 129u8, 53u8, 4u8, 85u8, 248u8, 69u8, 122u8, 6u8, 68u8, 150u8, 173u8, 133u8, 118u8, - 19u8, 96u8, 223u8, 153u8, 160u8, 226u8, 156u8, 47u8, 53u8, 206u8, 110u8, 204u8, - 37u8, 67u8, 45u8, 176u8, 126u8, 21u8, 133u8, + 103u8, 29u8, 255u8, 213u8, 93u8, 129u8, 141u8, 67u8, 15u8, 22u8, 205u8, 121u8, + 49u8, 47u8, 172u8, 109u8, 31u8, 5u8, 28u8, 113u8, 74u8, 35u8, 88u8, 240u8, 100u8, + 60u8, 158u8, 69u8, 112u8, 133u8, 90u8, 35u8, ] { Err(::subxt::error::MetadataError::IncompatibleMetadata) diff --git a/aleph-client/src/pallets/contract.rs b/aleph-client/src/pallets/contract.rs index 4afdec53d1..0e92fe05a0 100644 --- a/aleph-client/src/pallets/contract.rs +++ b/aleph-client/src/pallets/contract.rs @@ -3,8 +3,10 @@ use pallet_contracts_primitives::ContractExecResult; use subxt::{ext::sp_core::Bytes, rpc_params}; use crate::{ - api, pallet_contracts::wasm::OwnerInfo, sp_weights::weight_v2::Weight, AccountId, Balance, - BlockHash, CodeHash, ConnectionApi, SignedConnectionApi, TxInfo, TxStatus, + api, + pallet_contracts::wasm::{Determinism, OwnerInfo}, + sp_weights::weight_v2::Weight, + AccountId, Balance, BlockHash, CodeHash, ConnectionApi, SignedConnectionApi, TxInfo, TxStatus, }; /// Arguments to [`ContractRpc::call_and_get`]. @@ -42,6 +44,7 @@ pub trait ContractsUserApi { &self, code: Vec, storage_limit: Option>, + determinism: Determinism, status: TxStatus, ) -> anyhow::Result; @@ -115,9 +118,12 @@ impl ContractsUserApi for S { &self, code: Vec, storage_limit: Option>, + determinism: Determinism, status: TxStatus, ) -> anyhow::Result { - let tx = api::tx().contracts().upload_code(code, storage_limit); + let tx = api::tx() + .contracts() + .upload_code(code, storage_limit, determinism); self.send_tx(tx, status).await } diff --git a/benches/payout-stakers/Cargo.lock b/benches/payout-stakers/Cargo.lock index e76df10353..09d6677d7c 100644 --- a/benches/payout-stakers/Cargo.lock +++ b/benches/payout-stakers/Cargo.lock @@ -399,9 +399,9 @@ dependencies = [ [[package]] name = "const-oid" -version = "0.7.1" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4c78c047431fee22c1a7bb92e00ad095a02a983affe4d8a72e2a2c62c1b94f3" +checksum = "cec318a675afcb6a1ea1d4340e2d377e56e47c266f28043ceccbf4412ddfdd3b" [[package]] name = "contract-metadata" @@ -487,9 +487,9 @@ checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" [[package]] name = "crypto-bigint" -version = "0.3.2" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03c6a1d5fa1de37e071642dfa44ec552ca5b299adb128fab16138e24b548fd21" +checksum = "ef2b4b23cddf68b89b8f8069890e8c270d54e2d5fe1b143820234805e4cb17ef" dependencies = [ "generic-array 0.14.6", "rand_core 0.6.4", @@ -634,11 +634,12 @@ dependencies = [ [[package]] name = "der" -version = "0.5.1" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6919815d73839e7ad218de758883aae3a257ba6759ce7a9992501efbb53d705c" +checksum = "f1a467a65c5e759bce6e65eaf91cc29f466cdc57cb65777bd646872a8a1fd4de" dependencies = [ "const-oid", + "zeroize", ] [[package]] @@ -727,9 +728,9 @@ checksum = "c9b0705efd4599c15a38151f4721f7bc388306f61084d3bfd50bd07fbca5cb60" [[package]] name = "ecdsa" -version = "0.13.4" +version = "0.14.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0d69ae62e0ce582d56380743515fefaf1a8c70cec685d9677636d7e30ae9dc9" +checksum = "413301934810f597c1d19ca71c8710e99a3f1ba28a0d2ebc01551a2daeea3c5c" dependencies = [ "der", "elliptic-curve", @@ -759,13 +760,14 @@ checksum = "90e5c1c8368803113bf0c9584fc495a58b86dc8a29edbf8fe877d21d9507e797" [[package]] name = "elliptic-curve" -version = "0.11.12" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25b477563c2bfed38a3b7a60964c49e058b2510ad3f12ba3483fd8f62c2306d6" +checksum = "e7bb888ab5300a19b8e5bceef25ac745ad065f3c9f7efc6de1b91958110891d3" dependencies = [ "base16ct", "crypto-bigint", "der", + "digest 0.10.6", "ff", "generic-array 0.14.6", "group", @@ -826,9 +828,9 @@ dependencies = [ [[package]] name = "ff" -version = "0.11.1" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "131655483be284720a17d74ff97592b8e76576dc25563148601df2d7c9080924" +checksum = "d013fc25338cc558c5c2cfbad646908fb23591e2404481826742b651c9af7160" dependencies = [ "rand_core 0.6.4", "subtle", @@ -876,7 +878,7 @@ dependencies = [ [[package]] name = "frame-support" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "bitflags", "frame-metadata", @@ -901,14 +903,14 @@ dependencies = [ "sp-state-machine 0.12.0", "sp-std 4.0.0", "sp-tracing 5.0.0", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33)", "tt-call", ] [[package]] name = "frame-support-procedural" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "Inflector", "cfg-expr", @@ -922,7 +924,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate", @@ -934,7 +936,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "proc-macro2", "quote", @@ -1111,9 +1113,9 @@ checksum = "dec7af912d60cdbd3677c1af9352ebae6fb8394d165568a2234df0fa00f87793" [[package]] name = "group" -version = "0.11.0" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc5ac374b108929de78460075f3dc439fa66df9d8fc77e8f12caa5165fcf0c89" +checksum = "5dfbfb3a6cfbd390d5c9564ab283a0349b9b9fcd46a706c1eb10e0db70bfbac7" dependencies = [ "ff", "rand_core 0.6.4", @@ -1213,6 +1215,15 @@ dependencies = [ "digest 0.9.0", ] +[[package]] +name = "hmac" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" +dependencies = [ + "digest 0.10.6", +] + [[package]] name = "hmac-drbg" version = "0.3.0" @@ -1629,14 +1640,14 @@ dependencies = [ [[package]] name = "k256" -version = "0.10.4" +version = "0.11.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19c3a5e0a0b8450278feda242592512e09f61c72e018b8cd5c859482802daf2d" +checksum = "72c1e0b51e7ec0a97369623508396067a486bd0cbed95a2659a4b863d28cfc8b" dependencies = [ "cfg-if", "ecdsa", "elliptic-curve", - "sec1", + "sha2 0.10.6", ] [[package]] @@ -1742,15 +1753,6 @@ dependencies = [ "cfg-if", ] -[[package]] -name = "lru" -version = "0.7.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e999beba7b6e8345721bd280141ed958096a2e4abdf74f67ff4ce49b4b54e47a" -dependencies = [ - "hashbrown", -] - [[package]] name = "lru" version = "0.8.1" @@ -1964,13 +1966,13 @@ checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee" [[package]] name = "pallet-contracts-primitives" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "bitflags", "parity-scale-codec", "sp-runtime 6.0.0", "sp-std 4.0.0", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33)", ] [[package]] @@ -2145,13 +2147,12 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" [[package]] name = "pkcs8" -version = "0.8.0" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cabda3fb821068a9a4fab19a683eac3af12edf0f34b94a8be53c4972b8149d0" +checksum = "9eca2c590a5f85da82668fa685c09ce2888b9430e83299debf1f34b65fd4a4ba" dependencies = [ "der", "spki", - "zeroize", ] [[package]] @@ -2385,12 +2386,12 @@ checksum = "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848" [[package]] name = "rfc6979" -version = "0.1.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96ef608575f6392792f9ecf7890c00086591d29a83910939d430753f7c050525" +checksum = "7743f17af12fa0b03b803ba12cd6a8d9483a587e89c69445e3909655c0b9fabb" dependencies = [ "crypto-bigint", - "hmac 0.11.0", + "hmac 0.12.1", "zeroize", ] @@ -2595,10 +2596,11 @@ dependencies = [ [[package]] name = "sec1" -version = "0.2.1" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08da66b8b0965a5555b6bd6639e68ccba85e1e2506f5fbb089e93f8a04e1a2d1" +checksum = "3be24c1842290c45df0a7bf069e0c268a747ad05a192f2fd7dcfdbc1cba40928" dependencies = [ + "base16ct", "der", "generic-array 0.14.6", "pkcs8", @@ -2775,11 +2777,11 @@ dependencies = [ [[package]] name = "signature" -version = "1.4.0" +version = "1.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02658e48d89f2bec991f9a78e69cfa4c316f8d6a6c4ec12fae1aeb263d486788" +checksum = "74233d3b3b2f6d4b006dc19dee745e73e2a6bfb6f93607cd3b02bd5b00797d7c" dependencies = [ - "digest 0.9.0", + "digest 0.10.6", "rand_core 0.6.4", ] @@ -2826,7 +2828,7 @@ dependencies = [ [[package]] name = "sp-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "hash-db", "log", @@ -2844,7 +2846,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "blake2", "proc-macro-crate", @@ -2856,7 +2858,7 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "parity-scale-codec", "scale-info", @@ -2883,7 +2885,7 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "integer-sqrt", "num-traits", @@ -2914,7 +2916,7 @@ dependencies = [ [[package]] name = "sp-core" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "array-bytes", "base58", @@ -2933,7 +2935,6 @@ dependencies = [ "merlin", "num-traits", "parity-scale-codec", - "parity-util-mem", "parking_lot", "primitive-types", "rand 0.7.3", @@ -3006,7 +3007,7 @@ dependencies = [ [[package]] name = "sp-core-hashing" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "blake2", "byteorder", @@ -3035,7 +3036,7 @@ dependencies = [ [[package]] name = "sp-core-hashing-proc-macro" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "proc-macro2", "quote", @@ -3046,7 +3047,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "proc-macro2", "quote", @@ -3067,7 +3068,7 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "environmental", "parity-scale-codec", @@ -3090,7 +3091,7 @@ dependencies = [ [[package]] name = "sp-inherents" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "async-trait", "impl-trait-for-tuples", @@ -3104,7 +3105,7 @@ dependencies = [ [[package]] name = "sp-io" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "bytes", "futures", @@ -3157,7 +3158,7 @@ dependencies = [ [[package]] name = "sp-keyring" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "lazy_static", "sp-core 6.0.0", @@ -3168,7 +3169,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "async-trait", "futures", @@ -3201,7 +3202,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "backtrace", "lazy_static", @@ -3222,7 +3223,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "either", "hash256-std-hasher", @@ -3239,7 +3240,7 @@ dependencies = [ "sp-core 6.0.0", "sp-io 6.0.0", "sp-std 4.0.0", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33)", ] [[package]] @@ -3269,7 +3270,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "bytes", "impl-trait-for-tuples", @@ -3306,7 +3307,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "Inflector", "proc-macro-crate", @@ -3331,7 +3332,7 @@ dependencies = [ [[package]] name = "sp-staking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "parity-scale-codec", "scale-info", @@ -3342,7 +3343,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "hash-db", "log", @@ -3387,7 +3388,7 @@ dependencies = [ [[package]] name = "sp-std" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" [[package]] name = "sp-std" @@ -3398,7 +3399,7 @@ checksum = "cf3fd4c1d304be101e6ebbafd3d4be9a37b320c970ef4e8df188b16873981c93" [[package]] name = "sp-storage" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "impl-serde", "parity-scale-codec", @@ -3425,7 +3426,7 @@ dependencies = [ [[package]] name = "sp-tracing" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "parity-scale-codec", "sp-std 4.0.0", @@ -3450,13 +3451,13 @@ dependencies = [ [[package]] name = "sp-trie" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "ahash", "hash-db", "hashbrown", "lazy_static", - "lru 0.7.8", + "lru", "memory-db", "nohash-hasher", "parity-scale-codec", @@ -3480,7 +3481,7 @@ dependencies = [ "hash-db", "hashbrown", "lazy_static", - "lru 0.8.1", + "lru", "memory-db", "nohash-hasher", "parity-scale-codec", @@ -3497,7 +3498,7 @@ dependencies = [ [[package]] name = "sp-version" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "impl-serde", "parity-scale-codec", @@ -3514,7 +3515,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "parity-scale-codec", "proc-macro2", @@ -3525,7 +3526,7 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "impl-trait-for-tuples", "log", @@ -3567,7 +3568,7 @@ dependencies = [ [[package]] name = "sp-weights" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -3588,9 +3589,9 @@ checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" [[package]] name = "spki" -version = "0.5.4" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44d01ac02a6ccf3e07db148d2be087da624fea0221a16152ed01f0496a6b0a27" +checksum = "67cf02bbac7a337dc36e4f5a693db6c21e7863f45070f7064577eb4367a3212b" dependencies = [ "base64ct", "der", diff --git a/benches/payout-stakers/Cargo.toml b/benches/payout-stakers/Cargo.toml index 2942664b7d..e9e3c46077 100644 --- a/benches/payout-stakers/Cargo.toml +++ b/benches/payout-stakers/Cargo.toml @@ -14,8 +14,8 @@ log = "0.4" futures = "0.3.25" rand = "0.8.5" -sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32", features = ["full_crypto"] } -sp-keyring = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33", features = ["full_crypto"] } +sp-keyring = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } subxt = "0.25.0" tokio = { version = "1.21.2", features = ["full"] } diff --git a/bin/cliain/Cargo.lock b/bin/cliain/Cargo.lock index c6bcd8a65c..4363a48592 100644 --- a/bin/cliain/Cargo.lock +++ b/bin/cliain/Cargo.lock @@ -440,9 +440,9 @@ dependencies = [ [[package]] name = "const-oid" -version = "0.7.1" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4c78c047431fee22c1a7bb92e00ad095a02a983affe4d8a72e2a2c62c1b94f3" +checksum = "cec318a675afcb6a1ea1d4340e2d377e56e47c266f28043ceccbf4412ddfdd3b" [[package]] name = "contract-metadata" @@ -566,9 +566,9 @@ checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" [[package]] name = "crypto-bigint" -version = "0.3.2" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03c6a1d5fa1de37e071642dfa44ec552ca5b299adb128fab16138e24b548fd21" +checksum = "ef2b4b23cddf68b89b8f8069890e8c270d54e2d5fe1b143820234805e4cb17ef" dependencies = [ "generic-array 0.14.6", "rand_core 0.6.4", @@ -713,11 +713,12 @@ dependencies = [ [[package]] name = "der" -version = "0.5.1" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6919815d73839e7ad218de758883aae3a257ba6759ce7a9992501efbb53d705c" +checksum = "f1a467a65c5e759bce6e65eaf91cc29f466cdc57cb65777bd646872a8a1fd4de" dependencies = [ "const-oid", + "zeroize", ] [[package]] @@ -817,9 +818,9 @@ checksum = "4f94fa09c2aeea5b8839e414b7b841bf429fd25b9c522116ac97ee87856d88b2" [[package]] name = "ecdsa" -version = "0.13.4" +version = "0.14.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0d69ae62e0ce582d56380743515fefaf1a8c70cec685d9677636d7e30ae9dc9" +checksum = "413301934810f597c1d19ca71c8710e99a3f1ba28a0d2ebc01551a2daeea3c5c" dependencies = [ "der", "elliptic-curve", @@ -849,13 +850,14 @@ checksum = "90e5c1c8368803113bf0c9584fc495a58b86dc8a29edbf8fe877d21d9507e797" [[package]] name = "elliptic-curve" -version = "0.11.12" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25b477563c2bfed38a3b7a60964c49e058b2510ad3f12ba3483fd8f62c2306d6" +checksum = "e7bb888ab5300a19b8e5bceef25ac745ad065f3c9f7efc6de1b91958110891d3" dependencies = [ "base16ct", "crypto-bigint", "der", + "digest 0.10.6", "ff", "generic-array 0.14.6", "group", @@ -935,9 +937,9 @@ dependencies = [ [[package]] name = "ff" -version = "0.11.1" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "131655483be284720a17d74ff97592b8e76576dc25563148601df2d7c9080924" +checksum = "d013fc25338cc558c5c2cfbad646908fb23591e2404481826742b651c9af7160" dependencies = [ "rand_core 0.6.4", "subtle", @@ -973,7 +975,7 @@ dependencies = [ [[package]] name = "frame-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "frame-support", "frame-system", @@ -996,7 +998,7 @@ dependencies = [ [[package]] name = "frame-election-provider-solution-type" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -1007,7 +1009,7 @@ dependencies = [ [[package]] name = "frame-election-provider-support" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "frame-election-provider-solution-type", "frame-support", @@ -1035,7 +1037,7 @@ dependencies = [ [[package]] name = "frame-support" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "bitflags", "frame-metadata", @@ -1060,14 +1062,14 @@ dependencies = [ "sp-state-machine 0.12.0", "sp-std 4.0.0", "sp-tracing 5.0.0", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33)", "tt-call", ] [[package]] name = "frame-support-procedural" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "Inflector", "cfg-expr", @@ -1081,7 +1083,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate", @@ -1093,7 +1095,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "proc-macro2", "quote", @@ -1103,7 +1105,7 @@ dependencies = [ [[package]] name = "frame-system" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "frame-support", "log", @@ -1115,7 +1117,7 @@ dependencies = [ "sp-runtime 6.0.0", "sp-std 4.0.0", "sp-version", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33)", ] [[package]] @@ -1288,9 +1290,9 @@ checksum = "22030e2c5a68ec659fde1e949a745124b48e6fa8b045b7ed5bd1fe4ccc5c4e5d" [[package]] name = "group" -version = "0.11.0" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc5ac374b108929de78460075f3dc439fa66df9d8fc77e8f12caa5165fcf0c89" +checksum = "5dfbfb3a6cfbd390d5c9564ab283a0349b9b9fcd46a706c1eb10e0db70bfbac7" dependencies = [ "ff", "rand_core 0.6.4", @@ -1381,6 +1383,15 @@ dependencies = [ "digest 0.9.0", ] +[[package]] +name = "hmac" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" +dependencies = [ + "digest 0.10.6", +] + [[package]] name = "hmac-drbg" version = "0.3.0" @@ -1806,14 +1817,14 @@ dependencies = [ [[package]] name = "k256" -version = "0.10.4" +version = "0.11.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19c3a5e0a0b8450278feda242592512e09f61c72e018b8cd5c859482802daf2d" +checksum = "72c1e0b51e7ec0a97369623508396067a486bd0cbed95a2659a4b863d28cfc8b" dependencies = [ "cfg-if", "ecdsa", "elliptic-curve", - "sec1", + "sha2 0.10.6", ] [[package]] @@ -1929,15 +1940,6 @@ dependencies = [ "cfg-if", ] -[[package]] -name = "lru" -version = "0.7.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e999beba7b6e8345721bd280141ed958096a2e4abdf74f67ff4ce49b4b54e47a" -dependencies = [ - "hashbrown", -] - [[package]] name = "lru" version = "0.8.1" @@ -2199,7 +2201,7 @@ checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee" [[package]] name = "pallet-authorship" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "frame-support", "frame-system", @@ -2214,19 +2216,19 @@ dependencies = [ [[package]] name = "pallet-contracts-primitives" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "bitflags", "parity-scale-codec", "sp-runtime 6.0.0", "sp-std 4.0.0", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33)", ] [[package]] name = "pallet-session" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "frame-support", "frame-system", @@ -2247,7 +2249,7 @@ dependencies = [ [[package]] name = "pallet-staking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -2269,7 +2271,7 @@ dependencies = [ [[package]] name = "pallet-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "frame-benchmarking", "frame-support", @@ -2436,13 +2438,12 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" [[package]] name = "pkcs8" -version = "0.8.0" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cabda3fb821068a9a4fab19a683eac3af12edf0f34b94a8be53c4972b8149d0" +checksum = "9eca2c590a5f85da82668fa685c09ce2888b9430e83299debf1f34b65fd4a4ba" dependencies = [ "der", "spki", - "zeroize", ] [[package]] @@ -2701,12 +2702,12 @@ dependencies = [ [[package]] name = "rfc6979" -version = "0.1.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96ef608575f6392792f9ecf7890c00086591d29a83910939d430753f7c050525" +checksum = "7743f17af12fa0b03b803ba12cd6a8d9483a587e89c69445e3909655c0b9fabb" dependencies = [ "crypto-bigint", - "hmac 0.11.0", + "hmac 0.12.1", "zeroize", ] @@ -2912,10 +2913,11 @@ dependencies = [ [[package]] name = "sec1" -version = "0.2.1" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08da66b8b0965a5555b6bd6639e68ccba85e1e2506f5fbb089e93f8a04e1a2d1" +checksum = "3be24c1842290c45df0a7bf069e0c268a747ad05a192f2fd7dcfdbc1cba40928" dependencies = [ + "base16ct", "der", "generic-array 0.14.6", "pkcs8", @@ -3092,11 +3094,11 @@ dependencies = [ [[package]] name = "signature" -version = "1.4.0" +version = "1.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02658e48d89f2bec991f9a78e69cfa4c316f8d6a6c4ec12fae1aeb263d486788" +checksum = "74233d3b3b2f6d4b006dc19dee745e73e2a6bfb6f93607cd3b02bd5b00797d7c" dependencies = [ - "digest 0.9.0", + "digest 0.10.6", "rand_core 0.6.4", ] @@ -3155,7 +3157,7 @@ dependencies = [ [[package]] name = "sp-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "hash-db", "log", @@ -3173,7 +3175,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "blake2", "proc-macro-crate", @@ -3185,7 +3187,7 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "parity-scale-codec", "scale-info", @@ -3212,7 +3214,7 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "integer-sqrt", "num-traits", @@ -3243,7 +3245,7 @@ dependencies = [ [[package]] name = "sp-authorship" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "async-trait", "parity-scale-codec", @@ -3255,7 +3257,7 @@ dependencies = [ [[package]] name = "sp-core" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "array-bytes", "base58", @@ -3274,7 +3276,6 @@ dependencies = [ "merlin", "num-traits", "parity-scale-codec", - "parity-util-mem", "parking_lot", "primitive-types", "rand 0.7.3", @@ -3347,7 +3348,7 @@ dependencies = [ [[package]] name = "sp-core-hashing" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "blake2", "byteorder", @@ -3376,7 +3377,7 @@ dependencies = [ [[package]] name = "sp-core-hashing-proc-macro" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "proc-macro2", "quote", @@ -3387,7 +3388,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "proc-macro2", "quote", @@ -3408,7 +3409,7 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "environmental", "parity-scale-codec", @@ -3431,7 +3432,7 @@ dependencies = [ [[package]] name = "sp-inherents" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "async-trait", "impl-trait-for-tuples", @@ -3445,7 +3446,7 @@ dependencies = [ [[package]] name = "sp-io" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "bytes", "futures", @@ -3498,7 +3499,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "async-trait", "futures", @@ -3531,7 +3532,7 @@ dependencies = [ [[package]] name = "sp-npos-elections" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "parity-scale-codec", "scale-info", @@ -3545,7 +3546,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "backtrace", "lazy_static", @@ -3566,7 +3567,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "either", "hash256-std-hasher", @@ -3583,7 +3584,7 @@ dependencies = [ "sp-core 6.0.0", "sp-io 6.0.0", "sp-std 4.0.0", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33)", ] [[package]] @@ -3613,7 +3614,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "bytes", "impl-trait-for-tuples", @@ -3650,7 +3651,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "Inflector", "proc-macro-crate", @@ -3675,7 +3676,7 @@ dependencies = [ [[package]] name = "sp-session" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "parity-scale-codec", "scale-info", @@ -3689,7 +3690,7 @@ dependencies = [ [[package]] name = "sp-staking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "parity-scale-codec", "scale-info", @@ -3700,7 +3701,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "hash-db", "log", @@ -3745,7 +3746,7 @@ dependencies = [ [[package]] name = "sp-std" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" [[package]] name = "sp-std" @@ -3756,7 +3757,7 @@ checksum = "cf3fd4c1d304be101e6ebbafd3d4be9a37b320c970ef4e8df188b16873981c93" [[package]] name = "sp-storage" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "impl-serde 0.4.0", "parity-scale-codec", @@ -3783,7 +3784,7 @@ dependencies = [ [[package]] name = "sp-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "async-trait", "futures-timer", @@ -3799,7 +3800,7 @@ dependencies = [ [[package]] name = "sp-tracing" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "parity-scale-codec", "sp-std 4.0.0", @@ -3824,13 +3825,13 @@ dependencies = [ [[package]] name = "sp-trie" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "ahash", "hash-db", "hashbrown", "lazy_static", - "lru 0.7.8", + "lru", "memory-db", "nohash-hasher", "parity-scale-codec", @@ -3854,7 +3855,7 @@ dependencies = [ "hash-db", "hashbrown", "lazy_static", - "lru 0.8.1", + "lru", "memory-db", "nohash-hasher", "parity-scale-codec", @@ -3871,7 +3872,7 @@ dependencies = [ [[package]] name = "sp-version" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "impl-serde 0.4.0", "parity-scale-codec", @@ -3888,7 +3889,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "parity-scale-codec", "proc-macro2", @@ -3899,7 +3900,7 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "impl-trait-for-tuples", "log", @@ -3941,7 +3942,7 @@ dependencies = [ [[package]] name = "sp-weights" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -3962,9 +3963,9 @@ checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" [[package]] name = "spki" -version = "0.5.4" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44d01ac02a6ccf3e07db148d2be087da624fea0221a16152ed01f0496a6b0a27" +checksum = "67cf02bbac7a337dc36e4f5a693db6c21e7863f45070f7064577eb4367a3212b" dependencies = [ "base64ct", "der", diff --git a/bin/cliain/Cargo.toml b/bin/cliain/Cargo.toml index 0d04e9b332..c8155654c7 100644 --- a/bin/cliain/Cargo.toml +++ b/bin/cliain/Cargo.toml @@ -16,11 +16,11 @@ env_logger = "0.8" hex = "0.4.3" ink_metadata = { version = "4.0.0-beta", features = ["derive"] } log = "0.4" -pallet-staking = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +pallet-staking = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } primitives = { path = "../../primitives" } serde = { version = "1.0.137", features = ["derive"] } serde_json = "1.0.81" -sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32", features = ["full_crypto"] } +sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33", features = ["full_crypto"] } tokio = { version = "1.21.2", features = ["full"] } subxt = "0.25.0" diff --git a/bin/cliain/src/contracts.rs b/bin/cliain/src/contracts.rs index 3241e0350a..3b5599aa46 100644 --- a/bin/cliain/src/contracts.rs +++ b/bin/cliain/src/contracts.rs @@ -61,6 +61,7 @@ pub async fn upload_code( .upload_code( wasm, storage_deposit(storage_deposit_limit), + aleph_client::pallet_contracts::wasm::Determinism::Deterministic, TxStatus::InBlock, ) .await?; diff --git a/bin/node/Cargo.toml b/bin/node/Cargo.toml index e2d4dbb6dd..c11dc1166a 100644 --- a/bin/node/Cargo.toml +++ b/bin/node/Cargo.toml @@ -26,33 +26,33 @@ hex-literal = "0.3" libp2p = "0.49.0" thiserror = "1.0" -sp-application-crypto = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -sc-block-builder = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -sc-chain-spec = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32"} -sc-cli = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -sc-executor = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -sc-service = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -sc-telemetry = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -sc-keystore = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -sp-keystore = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -sp-inherents = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -sc-basic-authorship = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -sc-network = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -sc-transaction-pool = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -sp-transaction-pool = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -sc-transaction-pool-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -sc-consensus-aura = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -sp-consensus-aura = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -sp-consensus = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -sc-consensus = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -sc-client-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -sp-timestamp = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -pallet-staking = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -try-runtime-cli = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32", optional = true } -sc-consensus-slots = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -sp-arithmetic = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +sp-application-crypto = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +sc-block-builder = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +sc-chain-spec = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33"} +sc-cli = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +sc-executor = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +sc-service = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +sc-telemetry = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +sc-keystore = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +sp-keystore = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +sp-inherents = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +sc-basic-authorship = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +sc-network = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +sc-transaction-pool = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +sp-transaction-pool = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +sc-transaction-pool-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +sc-consensus-aura = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +sp-consensus-aura = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +sp-consensus = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +sc-consensus = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +sc-client-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +sp-timestamp = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +pallet-staking = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +try-runtime-cli = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33", optional = true } +sc-consensus-slots = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +sp-arithmetic = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } aleph-runtime = { path = "../runtime" } finality-aleph = { path = "../../finality-aleph" } @@ -60,16 +60,16 @@ aleph-primitives = { package = "primitives", path = "../../primitives" } # These dependencies are used for the node's RPCs jsonrpsee = { version = "0.15.1", features = ["server"] } -sc-rpc = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -sp-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -sc-rpc-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -sp-blockchain = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -sp-block-builder = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -substrate-frame-rpc-system = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -pallet-transaction-payment-rpc = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +sc-rpc = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +sp-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +sc-rpc-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +sp-blockchain = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +sp-block-builder = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +substrate-frame-rpc-system = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +pallet-transaction-payment-rpc = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } [build-dependencies] -substrate-build-script-utils = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +substrate-build-script-utils = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } [features] default = [] @@ -79,7 +79,7 @@ short_session = [ ] try-runtime = [ "aleph-runtime/try-runtime", - "try-runtime-cli", + "try-runtime-cli/try-runtime", ] enable_treasury_proposals = [ "aleph-runtime/enable_treasury_proposals" diff --git a/bin/node/src/service.rs b/bin/node/src/service.rs index 4ca83f71b6..04f484fcfd 100644 --- a/bin/node/src/service.rs +++ b/bin/node/src/service.rs @@ -175,6 +175,7 @@ pub fn new_partial( registry: config.prometheus_registry(), check_for_equivocation: Default::default(), telemetry: telemetry.as_ref().map(|x| x.handle()), + compatibility_mode: Default::default(), }, )?; @@ -380,6 +381,7 @@ pub fn new_authority( block_proposal_slot_portion: SlotProportion::new(2f32 / 3f32), max_block_proposal_slot_portion: None, telemetry: telemetry.as_ref().map(|x| x.handle()), + compatibility_mode: Default::default(), }, )?; diff --git a/bin/runtime/Cargo.toml b/bin/runtime/Cargo.toml index 98d508007d..8febfd367a 100644 --- a/bin/runtime/Cargo.toml +++ b/bin/runtime/Cargo.toml @@ -15,54 +15,54 @@ codec = { package = "parity-scale-codec", version = "3.0", default-features = fa scale-info = { version = "2.0", default-features = false, features = ["derive"] } serde = { version = "1.0", optional = true, features = ["derive"] } -frame-executive = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -frame-support = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -frame-system = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -frame-system-rpc-runtime-api = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -frame-try-runtime = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32", optional = true } +frame-executive = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +frame-support = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +frame-system = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +frame-system-rpc-runtime-api = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +frame-try-runtime = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33", optional = true } -pallet-aura = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -pallet-authorship = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -pallet-balances = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -pallet-contracts = { git = "https://github.com/Cardinal-Cryptography/substrate", default-features = false, branch = "aleph-v0.9.32" } -pallet-contracts-primitives = { git = "https://github.com/Cardinal-Cryptography/substrate", default-features = false, branch = "aleph-v0.9.32" } -pallet-identity = { git = "https://github.com/Cardinal-Cryptography/substrate", default-features = false, branch = "aleph-v0.9.32" } -pallet-randomness-collective-flip = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -pallet-session = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -pallet-scheduler = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -pallet-staking = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -pallet-sudo = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -pallet-timestamp = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -pallet-transaction-payment = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -pallet-transaction-payment-rpc-runtime-api = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -pallet-treasury = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -pallet-vesting = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -pallet-multisig = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -pallet-utility = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -pallet-nomination-pools = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -pallet-nomination-pools-runtime-api = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +pallet-aura = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +pallet-authorship = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +pallet-balances = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +pallet-contracts = { git = "https://github.com/Cardinal-Cryptography/substrate", default-features = false, branch = "aleph-v0.9.33" } +pallet-contracts-primitives = { git = "https://github.com/Cardinal-Cryptography/substrate", default-features = false, branch = "aleph-v0.9.33" } +pallet-identity = { git = "https://github.com/Cardinal-Cryptography/substrate", default-features = false, branch = "aleph-v0.9.33" } +pallet-randomness-collective-flip = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +pallet-session = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +pallet-scheduler = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +pallet-staking = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +pallet-sudo = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +pallet-timestamp = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +pallet-transaction-payment = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +pallet-transaction-payment-rpc-runtime-api = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +pallet-treasury = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +pallet-vesting = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +pallet-multisig = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +pallet-utility = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +pallet-nomination-pools = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +pallet-nomination-pools-runtime-api = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -sp-api = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -sp-block-builder = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -sp-consensus-aura = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -sp-core = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -sp-inherents = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -sp-offchain = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -sp-runtime = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -sp-session = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -sp-staking = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -sp-std = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -sp-transaction-pool = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -sp-version = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +sp-api = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +sp-block-builder = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +sp-consensus-aura = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +sp-core = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +sp-inherents = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +sp-offchain = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +sp-runtime = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +sp-session = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +sp-staking = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +sp-std = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +sp-transaction-pool = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +sp-version = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } # NOTE: these two disabled features collide with std in wasm -sp-io = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +sp-io = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } primitives = { path = "../../primitives", default-features = false } pallet-aleph = { path = "../../pallets/aleph", default-features = false } pallet-elections = { path = "../../pallets/elections", default-features = false } [build-dependencies] -substrate-wasm-builder = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +substrate-wasm-builder = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } [features] default = ["std"] diff --git a/bin/runtime/src/lib.rs b/bin/runtime/src/lib.rs index 586c6bb434..14252a088d 100644 --- a/bin/runtime/src/lib.rs +++ b/bin/runtime/src/lib.rs @@ -32,8 +32,8 @@ pub use primitives::Balance; use primitives::{ staking::MAX_NOMINATORS_REWARDED_PER_VALIDATOR, wrap_methods, ApiError as AlephApiError, AuthorityId as AlephId, SessionAuthorityData, Version as FinalityVersion, ADDRESSES_ENCODING, - DEFAULT_BAN_REASON_LENGTH, DEFAULT_SESSIONS_PER_ERA, DEFAULT_SESSION_PERIOD, MAX_BLOCK_SIZE, - MILLISECS_PER_BLOCK, TOKEN, + DEFAULT_BAN_REASON_LENGTH, DEFAULT_MAX_WINNERS, DEFAULT_SESSIONS_PER_ERA, + DEFAULT_SESSION_PERIOD, MAX_BLOCK_SIZE, MILLISECS_PER_BLOCK, TOKEN, }; use sp_api::impl_runtime_apis; use sp_consensus_aura::{sr25519::AuthorityId as AuraId, SlotDuration}; @@ -104,7 +104,7 @@ pub const VERSION: RuntimeVersion = RuntimeVersion { spec_name: create_runtime_str!("aleph-node"), impl_name: create_runtime_str!("aleph-node"), authoring_version: 1, - spec_version: 46, + spec_version: 47, impl_version: 1, apis: RUNTIME_API_VERSIONS, transaction_version: 14, @@ -327,6 +327,7 @@ impl_opaque_keys! { parameter_types! { pub const SessionPeriod: u32 = DEFAULT_SESSION_PERIOD; pub const MaximumBanReasonLength: u32 = DEFAULT_BAN_REASON_LENGTH; + pub const MaxWinners: u32 = DEFAULT_MAX_WINNERS; } impl pallet_elections::Config for Runtime { @@ -339,6 +340,7 @@ impl pallet_elections::Config for Runtime { type ValidatorRewardsHandler = Staking; type ValidatorExtractor = Staking; type MaximumBanReasonLength = MaximumBanReasonLength; + type MaxWinners = MaxWinners; } impl pallet_randomness_collective_flip::Config for Runtime {} @@ -392,11 +394,10 @@ impl pallet_nomination_pools::Config for Runtime { type WeightInfo = (); type RuntimeEvent = RuntimeEvent; type Currency = Balances; - type CurrencyBalance = Balance; type RewardCounter = FixedU128; type BalanceToU256 = BalanceToU256; type U256ToBalance = U256ToBalance; - type StakingInterface = pallet_staking::Pallet; + type Staking = pallet_staking::Pallet; type PostUnbondingPoolsWindow = PostUnbondPoolsWindow; type MaxMetadataLen = ConstU32<256>; type MaxUnbonding = ConstU32<8>; @@ -943,7 +944,8 @@ impl_runtime_apis! { gas_limit, storage_deposit_limit, input_data, - CONTRACTS_DEBUG_OUTPUT + CONTRACTS_DEBUG_OUTPUT, + pallet_contracts::Determinism::Deterministic, ) } @@ -974,9 +976,10 @@ impl_runtime_apis! { origin: AccountId, code: Vec, storage_deposit_limit: Option, + determinism: pallet_contracts::Determinism, ) -> pallet_contracts_primitives::CodeUploadResult { - Contracts::bare_upload_code(origin, code, storage_deposit_limit) + Contracts::bare_upload_code(origin, code, storage_deposit_limit, determinism) } fn get_storage( diff --git a/e2e-tests/Cargo.lock b/e2e-tests/Cargo.lock index 1b5bfc1320..50eee696ef 100644 --- a/e2e-tests/Cargo.lock +++ b/e2e-tests/Cargo.lock @@ -458,9 +458,9 @@ dependencies = [ [[package]] name = "const-oid" -version = "0.7.1" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4c78c047431fee22c1a7bb92e00ad095a02a983affe4d8a72e2a2c62c1b94f3" +checksum = "cec318a675afcb6a1ea1d4340e2d377e56e47c266f28043ceccbf4412ddfdd3b" [[package]] name = "contract-metadata" @@ -589,9 +589,9 @@ checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" [[package]] name = "crypto-bigint" -version = "0.3.2" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03c6a1d5fa1de37e071642dfa44ec552ca5b299adb128fab16138e24b548fd21" +checksum = "ef2b4b23cddf68b89b8f8069890e8c270d54e2d5fe1b143820234805e4cb17ef" dependencies = [ "generic-array 0.14.6", "rand_core 0.6.4", @@ -736,11 +736,12 @@ dependencies = [ [[package]] name = "der" -version = "0.5.1" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6919815d73839e7ad218de758883aae3a257ba6759ce7a9992501efbb53d705c" +checksum = "f1a467a65c5e759bce6e65eaf91cc29f466cdc57cb65777bd646872a8a1fd4de" dependencies = [ "const-oid", + "zeroize", ] [[package]] @@ -829,9 +830,9 @@ checksum = "c9b0705efd4599c15a38151f4721f7bc388306f61084d3bfd50bd07fbca5cb60" [[package]] name = "ecdsa" -version = "0.13.4" +version = "0.14.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0d69ae62e0ce582d56380743515fefaf1a8c70cec685d9677636d7e30ae9dc9" +checksum = "413301934810f597c1d19ca71c8710e99a3f1ba28a0d2ebc01551a2daeea3c5c" dependencies = [ "der", "elliptic-curve", @@ -861,13 +862,14 @@ checksum = "90e5c1c8368803113bf0c9584fc495a58b86dc8a29edbf8fe877d21d9507e797" [[package]] name = "elliptic-curve" -version = "0.11.12" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25b477563c2bfed38a3b7a60964c49e058b2510ad3f12ba3483fd8f62c2306d6" +checksum = "e7bb888ab5300a19b8e5bceef25ac745ad065f3c9f7efc6de1b91958110891d3" dependencies = [ "base16ct", "crypto-bigint", "der", + "digest 0.10.6", "ff", "generic-array 0.14.6", "group", @@ -971,9 +973,9 @@ dependencies = [ [[package]] name = "ff" -version = "0.11.1" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "131655483be284720a17d74ff97592b8e76576dc25563148601df2d7c9080924" +checksum = "d013fc25338cc558c5c2cfbad646908fb23591e2404481826742b651c9af7160" dependencies = [ "rand_core 0.6.4", "subtle", @@ -1024,7 +1026,7 @@ dependencies = [ [[package]] name = "frame-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "frame-support", "frame-system", @@ -1047,7 +1049,7 @@ dependencies = [ [[package]] name = "frame-election-provider-solution-type" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -1058,7 +1060,7 @@ dependencies = [ [[package]] name = "frame-election-provider-support" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "frame-election-provider-solution-type", "frame-support", @@ -1086,7 +1088,7 @@ dependencies = [ [[package]] name = "frame-support" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "bitflags", "frame-metadata", @@ -1111,14 +1113,14 @@ dependencies = [ "sp-state-machine 0.12.0", "sp-std 4.0.0", "sp-tracing 5.0.0", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33)", "tt-call", ] [[package]] name = "frame-support-procedural" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "Inflector", "cfg-expr", @@ -1132,7 +1134,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate", @@ -1144,7 +1146,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "proc-macro2", "quote", @@ -1154,7 +1156,7 @@ dependencies = [ [[package]] name = "frame-system" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "frame-support", "log", @@ -1166,7 +1168,7 @@ dependencies = [ "sp-runtime 6.0.0", "sp-std 4.0.0", "sp-version", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33)", ] [[package]] @@ -1339,9 +1341,9 @@ checksum = "dec7af912d60cdbd3677c1af9352ebae6fb8394d165568a2234df0fa00f87793" [[package]] name = "group" -version = "0.11.0" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc5ac374b108929de78460075f3dc439fa66df9d8fc77e8f12caa5165fcf0c89" +checksum = "5dfbfb3a6cfbd390d5c9564ab283a0349b9b9fcd46a706c1eb10e0db70bfbac7" dependencies = [ "ff", "rand_core 0.6.4", @@ -1441,6 +1443,15 @@ dependencies = [ "digest 0.9.0", ] +[[package]] +name = "hmac" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" +dependencies = [ + "digest 0.10.6", +] + [[package]] name = "hmac-drbg" version = "0.3.0" @@ -1898,14 +1909,14 @@ dependencies = [ [[package]] name = "k256" -version = "0.10.4" +version = "0.11.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19c3a5e0a0b8450278feda242592512e09f61c72e018b8cd5c859482802daf2d" +checksum = "72c1e0b51e7ec0a97369623508396067a486bd0cbed95a2659a4b863d28cfc8b" dependencies = [ "cfg-if", "ecdsa", "elliptic-curve", - "sec1", + "sha2 0.10.6", ] [[package]] @@ -2027,15 +2038,6 @@ dependencies = [ "cfg-if", ] -[[package]] -name = "lru" -version = "0.7.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e999beba7b6e8345721bd280141ed958096a2e4abdf74f67ff4ce49b4b54e47a" -dependencies = [ - "hashbrown", -] - [[package]] name = "lru" version = "0.8.1" @@ -2369,7 +2371,7 @@ checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee" [[package]] name = "pallet-authorship" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "frame-support", "frame-system", @@ -2384,7 +2386,7 @@ dependencies = [ [[package]] name = "pallet-balances" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "frame-benchmarking", "frame-support", @@ -2399,13 +2401,13 @@ dependencies = [ [[package]] name = "pallet-contracts-primitives" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "bitflags", "parity-scale-codec", "sp-runtime 6.0.0", "sp-std 4.0.0", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33)", ] [[package]] @@ -2433,7 +2435,7 @@ dependencies = [ [[package]] name = "pallet-session" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "frame-support", "frame-system", @@ -2454,7 +2456,7 @@ dependencies = [ [[package]] name = "pallet-staking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -2476,7 +2478,7 @@ dependencies = [ [[package]] name = "pallet-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "frame-benchmarking", "frame-support", @@ -2651,13 +2653,12 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" [[package]] name = "pkcs8" -version = "0.8.0" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cabda3fb821068a9a4fab19a683eac3af12edf0f34b94a8be53c4972b8149d0" +checksum = "9eca2c590a5f85da82668fa685c09ce2888b9430e83299debf1f34b65fd4a4ba" dependencies = [ "der", "spki", - "zeroize", ] [[package]] @@ -2981,12 +2982,12 @@ dependencies = [ [[package]] name = "rfc6979" -version = "0.1.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96ef608575f6392792f9ecf7890c00086591d29a83910939d430753f7c050525" +checksum = "7743f17af12fa0b03b803ba12cd6a8d9483a587e89c69445e3909655c0b9fabb" dependencies = [ "crypto-bigint", - "hmac 0.11.0", + "hmac 0.12.1", "zeroize", ] @@ -3214,10 +3215,11 @@ dependencies = [ [[package]] name = "sec1" -version = "0.2.1" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08da66b8b0965a5555b6bd6639e68ccba85e1e2506f5fbb089e93f8a04e1a2d1" +checksum = "3be24c1842290c45df0a7bf069e0c268a747ad05a192f2fd7dcfdbc1cba40928" dependencies = [ + "base16ct", "der", "generic-array 0.14.6", "pkcs8", @@ -3417,11 +3419,11 @@ dependencies = [ [[package]] name = "signature" -version = "1.4.0" +version = "1.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02658e48d89f2bec991f9a78e69cfa4c316f8d6a6c4ec12fae1aeb263d486788" +checksum = "74233d3b3b2f6d4b006dc19dee745e73e2a6bfb6f93607cd3b02bd5b00797d7c" dependencies = [ - "digest 0.9.0", + "digest 0.10.6", "rand_core 0.6.4", ] @@ -3480,7 +3482,7 @@ dependencies = [ [[package]] name = "sp-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "hash-db", "log", @@ -3498,7 +3500,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "blake2", "proc-macro-crate", @@ -3510,7 +3512,7 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "parity-scale-codec", "scale-info", @@ -3537,7 +3539,7 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "integer-sqrt", "num-traits", @@ -3568,7 +3570,7 @@ dependencies = [ [[package]] name = "sp-authorship" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "async-trait", "parity-scale-codec", @@ -3580,7 +3582,7 @@ dependencies = [ [[package]] name = "sp-core" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "array-bytes", "base58", @@ -3599,7 +3601,6 @@ dependencies = [ "merlin", "num-traits", "parity-scale-codec", - "parity-util-mem", "parking_lot", "primitive-types", "rand 0.7.3", @@ -3672,7 +3673,7 @@ dependencies = [ [[package]] name = "sp-core-hashing" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "blake2", "byteorder", @@ -3701,7 +3702,7 @@ dependencies = [ [[package]] name = "sp-core-hashing-proc-macro" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "proc-macro2", "quote", @@ -3712,7 +3713,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "proc-macro2", "quote", @@ -3733,7 +3734,7 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "environmental", "parity-scale-codec", @@ -3756,7 +3757,7 @@ dependencies = [ [[package]] name = "sp-inherents" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "async-trait", "impl-trait-for-tuples", @@ -3770,7 +3771,7 @@ dependencies = [ [[package]] name = "sp-io" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "bytes", "futures", @@ -3823,7 +3824,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "async-trait", "futures", @@ -3856,7 +3857,7 @@ dependencies = [ [[package]] name = "sp-npos-elections" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "parity-scale-codec", "scale-info", @@ -3870,7 +3871,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "backtrace", "lazy_static", @@ -3891,7 +3892,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "either", "hash256-std-hasher", @@ -3908,7 +3909,7 @@ dependencies = [ "sp-core 6.0.0", "sp-io 6.0.0", "sp-std 4.0.0", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33)", ] [[package]] @@ -3938,7 +3939,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "bytes", "impl-trait-for-tuples", @@ -3975,7 +3976,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "Inflector", "proc-macro-crate", @@ -4000,7 +4001,7 @@ dependencies = [ [[package]] name = "sp-session" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "parity-scale-codec", "scale-info", @@ -4014,7 +4015,7 @@ dependencies = [ [[package]] name = "sp-staking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "parity-scale-codec", "scale-info", @@ -4025,7 +4026,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "hash-db", "log", @@ -4070,7 +4071,7 @@ dependencies = [ [[package]] name = "sp-std" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" [[package]] name = "sp-std" @@ -4081,7 +4082,7 @@ checksum = "cf3fd4c1d304be101e6ebbafd3d4be9a37b320c970ef4e8df188b16873981c93" [[package]] name = "sp-storage" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "impl-serde", "parity-scale-codec", @@ -4108,7 +4109,7 @@ dependencies = [ [[package]] name = "sp-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "async-trait", "futures-timer", @@ -4124,7 +4125,7 @@ dependencies = [ [[package]] name = "sp-tracing" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "parity-scale-codec", "sp-std 4.0.0", @@ -4149,13 +4150,13 @@ dependencies = [ [[package]] name = "sp-trie" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "ahash", "hash-db", "hashbrown", "lazy_static", - "lru 0.7.8", + "lru", "memory-db", "nohash-hasher", "parity-scale-codec", @@ -4179,7 +4180,7 @@ dependencies = [ "hash-db", "hashbrown", "lazy_static", - "lru 0.8.1", + "lru", "memory-db", "nohash-hasher", "parity-scale-codec", @@ -4196,7 +4197,7 @@ dependencies = [ [[package]] name = "sp-version" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "impl-serde", "parity-scale-codec", @@ -4213,7 +4214,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "parity-scale-codec", "proc-macro2", @@ -4224,7 +4225,7 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "impl-trait-for-tuples", "log", @@ -4266,7 +4267,7 @@ dependencies = [ [[package]] name = "sp-weights" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -4287,9 +4288,9 @@ checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" [[package]] name = "spki" -version = "0.5.4" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44d01ac02a6ccf3e07db148d2be087da624fea0221a16152ed01f0496a6b0a27" +checksum = "67cf02bbac7a337dc36e4f5a693db6c21e7863f45070f7064577eb4367a3212b" dependencies = [ "base64ct", "der", diff --git a/e2e-tests/Cargo.toml b/e2e-tests/Cargo.toml index f30feb5f02..3ba6174e87 100644 --- a/e2e-tests/Cargo.toml +++ b/e2e-tests/Cargo.toml @@ -19,12 +19,12 @@ tokio = { version = "1.21.2", features = ["full"] } futures = "0.3.25" once_cell = "1.16" -sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32", default-features = false, features = ["full_crypto"] } -sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32", default-features = false } -frame-support = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32", default-features = false } -system = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32", package = "frame-system" } -pallet-staking = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32", default-features = false } -pallet-balances = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32", default-features = false } +sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33", default-features = false, features = ["full_crypto"] } +sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33", default-features = false } +frame-support = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33", default-features = false } +system = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33", package = "frame-system" } +pallet-staking = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33", default-features = false } +pallet-balances = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33", default-features = false } aleph_client = { path = "../aleph-client" } primitives = { path = "../primitives", features = ["short_session"], default-features = false } diff --git a/finality-aleph/Cargo.toml b/finality-aleph/Cargo.toml index b40e86b6f3..7807cdd20e 100644 --- a/finality-aleph/Cargo.toml +++ b/finality-aleph/Cargo.toml @@ -35,29 +35,29 @@ serde = "1.0" tiny-bip39 = "1.0" tokio = { version = "1.17", features = [ "sync", "macros", "time", "rt-multi-thread" ] } -prometheus-endpoint = { package = "substrate-prometheus-endpoint", git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -sp-keystore = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -sc-network = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -sc-network-common = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -sc-telemetry = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -sc-service = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -sp-application-crypto = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -sp-state-machine = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -sp-trie = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -sc-utils = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -sp-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -sp-blockchain = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -sc-consensus = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -sp-consensus = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -sc-client-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -sp-io = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +prometheus-endpoint = { package = "substrate-prometheus-endpoint", git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +sp-keystore = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +sc-network = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +sc-network-common = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +sc-telemetry = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +sc-service = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +sp-application-crypto = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +sp-state-machine = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +sp-trie = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +sc-utils = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +sp-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +sp-blockchain = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +sc-consensus = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +sp-consensus = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +sc-client-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +sp-io = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } [dev-dependencies] -substrate-test-runtime-client = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -substrate-test-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -sc-block-builder = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +substrate-test-runtime-client = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +substrate-test-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +sc-block-builder = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } [features] only_legacy = [] diff --git a/finality-aleph/src/finalization.rs b/finality-aleph/src/finalization.rs index 7e06a938a2..aa3eee75cc 100644 --- a/finality-aleph/src/finalization.rs +++ b/finality-aleph/src/finalization.rs @@ -3,7 +3,7 @@ use std::{marker::PhantomData, sync::Arc}; use log::{debug, warn}; use sc_client_api::{Backend, Finalizer, HeaderBackend, LockImportRun}; -use sp_api::{BlockId, NumberFor}; +use sp_api::NumberFor; use sp_blockchain::Error; use sp_runtime::{traits::Block, Justification}; @@ -63,7 +63,7 @@ where let update_res = self.client.lock_import_and_run(|import_op| { // NOTE: all other finalization logic should come here, inside the lock self.client - .apply_finality(import_op, BlockId::Hash(hash), justification, true) + .apply_finality(import_op, hash, justification, true) }); let status = self.client.info(); debug!(target: "aleph-finality", "Attempted to finalize block with hash {:?}. Current best: #{:?}.", hash, status.finalized_number); diff --git a/finality-aleph/src/sync/substrate/chain_status.rs b/finality-aleph/src/sync/substrate/chain_status.rs index 66b7245ef5..57dc5deaab 100644 --- a/finality-aleph/src/sync/substrate/chain_status.rs +++ b/finality-aleph/src/sync/substrate/chain_status.rs @@ -86,10 +86,9 @@ where } fn justification(&self, hash: B::Hash) -> Result, ClientError> { - let id = SubstrateBlockId::::Hash(hash); let justification = match self .client - .justifications(id)? + .justifications(hash)? .and_then(|j| j.into_justification(ALEPH_ENGINE_ID)) { Some(justification) => justification, diff --git a/finality-aleph/src/testing/client_chain_builder.rs b/finality-aleph/src/testing/client_chain_builder.rs index af99b08be7..9444fe3b9e 100644 --- a/finality-aleph/src/testing/client_chain_builder.rs +++ b/finality-aleph/src/testing/client_chain_builder.rs @@ -54,9 +54,7 @@ impl ClientChainBuilder { /// Finalize block with given hash without providing justification. pub fn finalize_block(&self, hash: &H256) { - self.client - .finalize_block(BlockId::Hash(*hash), None) - .unwrap(); + self.client.finalize_block(*hash, None).unwrap(); } pub fn genesis_hash_num(&self) -> BlockHashNum { diff --git a/flooder/Cargo.lock b/flooder/Cargo.lock index 8f2c6f859c..77c52e6dab 100644 --- a/flooder/Cargo.lock +++ b/flooder/Cargo.lock @@ -436,9 +436,9 @@ dependencies = [ [[package]] name = "const-oid" -version = "0.7.1" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4c78c047431fee22c1a7bb92e00ad095a02a983affe4d8a72e2a2c62c1b94f3" +checksum = "cec318a675afcb6a1ea1d4340e2d377e56e47c266f28043ceccbf4412ddfdd3b" [[package]] name = "contract-metadata" @@ -552,9 +552,9 @@ checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" [[package]] name = "crypto-bigint" -version = "0.3.2" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03c6a1d5fa1de37e071642dfa44ec552ca5b299adb128fab16138e24b548fd21" +checksum = "ef2b4b23cddf68b89b8f8069890e8c270d54e2d5fe1b143820234805e4cb17ef" dependencies = [ "generic-array 0.14.6", "rand_core 0.6.4", @@ -699,11 +699,12 @@ dependencies = [ [[package]] name = "der" -version = "0.5.1" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6919815d73839e7ad218de758883aae3a257ba6759ce7a9992501efbb53d705c" +checksum = "f1a467a65c5e759bce6e65eaf91cc29f466cdc57cb65777bd646872a8a1fd4de" dependencies = [ "const-oid", + "zeroize", ] [[package]] @@ -792,9 +793,9 @@ checksum = "c9b0705efd4599c15a38151f4721f7bc388306f61084d3bfd50bd07fbca5cb60" [[package]] name = "ecdsa" -version = "0.13.4" +version = "0.14.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0d69ae62e0ce582d56380743515fefaf1a8c70cec685d9677636d7e30ae9dc9" +checksum = "413301934810f597c1d19ca71c8710e99a3f1ba28a0d2ebc01551a2daeea3c5c" dependencies = [ "der", "elliptic-curve", @@ -824,13 +825,14 @@ checksum = "90e5c1c8368803113bf0c9584fc495a58b86dc8a29edbf8fe877d21d9507e797" [[package]] name = "elliptic-curve" -version = "0.11.12" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25b477563c2bfed38a3b7a60964c49e058b2510ad3f12ba3483fd8f62c2306d6" +checksum = "e7bb888ab5300a19b8e5bceef25ac745ad065f3c9f7efc6de1b91958110891d3" dependencies = [ "base16ct", "crypto-bigint", "der", + "digest 0.10.6", "ff", "generic-array 0.14.6", "group", @@ -891,9 +893,9 @@ dependencies = [ [[package]] name = "ff" -version = "0.11.1" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "131655483be284720a17d74ff97592b8e76576dc25563148601df2d7c9080924" +checksum = "d013fc25338cc558c5c2cfbad646908fb23591e2404481826742b651c9af7160" dependencies = [ "rand_core 0.6.4", "subtle", @@ -988,7 +990,7 @@ dependencies = [ [[package]] name = "frame-support" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "bitflags", "frame-metadata", @@ -1013,14 +1015,14 @@ dependencies = [ "sp-state-machine 0.12.0", "sp-std 4.0.0", "sp-tracing 5.0.0", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33)", "tt-call", ] [[package]] name = "frame-support-procedural" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "Inflector", "cfg-expr", @@ -1034,7 +1036,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate", @@ -1046,7 +1048,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "proc-macro2", "quote", @@ -1239,9 +1241,9 @@ checksum = "dec7af912d60cdbd3677c1af9352ebae6fb8394d165568a2234df0fa00f87793" [[package]] name = "group" -version = "0.11.0" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc5ac374b108929de78460075f3dc439fa66df9d8fc77e8f12caa5165fcf0c89" +checksum = "5dfbfb3a6cfbd390d5c9564ab283a0349b9b9fcd46a706c1eb10e0db70bfbac7" dependencies = [ "ff", "rand_core 0.6.4", @@ -1355,6 +1357,15 @@ dependencies = [ "digest 0.9.0", ] +[[package]] +name = "hmac" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" +dependencies = [ + "digest 0.10.6", +] + [[package]] name = "hmac-drbg" version = "0.3.0" @@ -1780,14 +1791,14 @@ dependencies = [ [[package]] name = "k256" -version = "0.10.4" +version = "0.11.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19c3a5e0a0b8450278feda242592512e09f61c72e018b8cd5c859482802daf2d" +checksum = "72c1e0b51e7ec0a97369623508396067a486bd0cbed95a2659a4b863d28cfc8b" dependencies = [ "cfg-if 1.0.0", "ecdsa", "elliptic-curve", - "sec1", + "sha2 0.10.6", ] [[package]] @@ -1909,15 +1920,6 @@ dependencies = [ "cfg-if 1.0.0", ] -[[package]] -name = "lru" -version = "0.7.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e999beba7b6e8345721bd280141ed958096a2e4abdf74f67ff4ce49b4b54e47a" -dependencies = [ - "hashbrown", -] - [[package]] name = "lru" version = "0.8.1" @@ -2224,13 +2226,13 @@ checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee" [[package]] name = "pallet-contracts-primitives" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "bitflags", "parity-scale-codec", "sp-runtime 6.0.0", "sp-std 4.0.0", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33)", ] [[package]] @@ -2385,13 +2387,12 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" [[package]] name = "pkcs8" -version = "0.8.0" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cabda3fb821068a9a4fab19a683eac3af12edf0f34b94a8be53c4972b8149d0" +checksum = "9eca2c590a5f85da82668fa685c09ce2888b9430e83299debf1f34b65fd4a4ba" dependencies = [ "der", "spki", - "zeroize", ] [[package]] @@ -2631,12 +2632,12 @@ checksum = "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848" [[package]] name = "rfc6979" -version = "0.1.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96ef608575f6392792f9ecf7890c00086591d29a83910939d430753f7c050525" +checksum = "7743f17af12fa0b03b803ba12cd6a8d9483a587e89c69445e3909655c0b9fabb" dependencies = [ "crypto-bigint", - "hmac 0.11.0", + "hmac 0.12.1", "zeroize", ] @@ -2841,10 +2842,11 @@ dependencies = [ [[package]] name = "sec1" -version = "0.2.1" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08da66b8b0965a5555b6bd6639e68ccba85e1e2506f5fbb089e93f8a04e1a2d1" +checksum = "3be24c1842290c45df0a7bf069e0c268a747ad05a192f2fd7dcfdbc1cba40928" dependencies = [ + "base16ct", "der", "generic-array 0.14.6", "pkcs8", @@ -3033,11 +3035,11 @@ dependencies = [ [[package]] name = "signature" -version = "1.4.0" +version = "1.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02658e48d89f2bec991f9a78e69cfa4c316f8d6a6c4ec12fae1aeb263d486788" +checksum = "74233d3b3b2f6d4b006dc19dee745e73e2a6bfb6f93607cd3b02bd5b00797d7c" dependencies = [ - "digest 0.9.0", + "digest 0.10.6", "rand_core 0.6.4", ] @@ -3084,7 +3086,7 @@ dependencies = [ [[package]] name = "sp-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "hash-db", "log", @@ -3102,7 +3104,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "blake2", "proc-macro-crate", @@ -3114,7 +3116,7 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "parity-scale-codec", "scale-info", @@ -3141,7 +3143,7 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "integer-sqrt", "num-traits", @@ -3172,7 +3174,7 @@ dependencies = [ [[package]] name = "sp-core" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "array-bytes", "base58", @@ -3191,7 +3193,6 @@ dependencies = [ "merlin", "num-traits", "parity-scale-codec", - "parity-util-mem", "parking_lot", "primitive-types", "rand 0.7.3", @@ -3264,7 +3265,7 @@ dependencies = [ [[package]] name = "sp-core-hashing" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "blake2", "byteorder", @@ -3293,7 +3294,7 @@ dependencies = [ [[package]] name = "sp-core-hashing-proc-macro" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "proc-macro2", "quote", @@ -3304,7 +3305,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "proc-macro2", "quote", @@ -3325,7 +3326,7 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "environmental", "parity-scale-codec", @@ -3348,7 +3349,7 @@ dependencies = [ [[package]] name = "sp-inherents" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "async-trait", "impl-trait-for-tuples", @@ -3362,7 +3363,7 @@ dependencies = [ [[package]] name = "sp-io" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "bytes 1.3.0", "futures", @@ -3415,7 +3416,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "async-trait", "futures", @@ -3448,7 +3449,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "backtrace", "lazy_static", @@ -3469,7 +3470,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "either", "hash256-std-hasher", @@ -3486,7 +3487,7 @@ dependencies = [ "sp-core 6.0.0", "sp-io 6.0.0", "sp-std 4.0.0", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33)", ] [[package]] @@ -3516,7 +3517,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "bytes 1.3.0", "impl-trait-for-tuples", @@ -3553,7 +3554,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "Inflector", "proc-macro-crate", @@ -3578,7 +3579,7 @@ dependencies = [ [[package]] name = "sp-staking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "parity-scale-codec", "scale-info", @@ -3589,7 +3590,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "hash-db", "log", @@ -3634,7 +3635,7 @@ dependencies = [ [[package]] name = "sp-std" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" [[package]] name = "sp-std" @@ -3645,7 +3646,7 @@ checksum = "cf3fd4c1d304be101e6ebbafd3d4be9a37b320c970ef4e8df188b16873981c93" [[package]] name = "sp-storage" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "impl-serde", "parity-scale-codec", @@ -3672,7 +3673,7 @@ dependencies = [ [[package]] name = "sp-tracing" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "parity-scale-codec", "sp-std 4.0.0", @@ -3697,13 +3698,13 @@ dependencies = [ [[package]] name = "sp-trie" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "ahash", "hash-db", "hashbrown", "lazy_static", - "lru 0.7.8", + "lru", "memory-db", "nohash-hasher", "parity-scale-codec", @@ -3727,7 +3728,7 @@ dependencies = [ "hash-db", "hashbrown", "lazy_static", - "lru 0.8.1", + "lru", "memory-db", "nohash-hasher", "parity-scale-codec", @@ -3744,7 +3745,7 @@ dependencies = [ [[package]] name = "sp-version" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "impl-serde", "parity-scale-codec", @@ -3761,7 +3762,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "parity-scale-codec", "proc-macro2", @@ -3772,7 +3773,7 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "impl-trait-for-tuples", "log", @@ -3814,7 +3815,7 @@ dependencies = [ [[package]] name = "sp-weights" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -3835,9 +3836,9 @@ checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" [[package]] name = "spki" -version = "0.5.4" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44d01ac02a6ccf3e07db148d2be087da624fea0221a16152ed01f0496a6b0a27" +checksum = "67cf02bbac7a337dc36e4f5a693db6c21e7863f45070f7064577eb4367a3212b" dependencies = [ "base64ct", "der", diff --git a/flooder/Cargo.toml b/flooder/Cargo.toml index e996f24f1e..d520f67bae 100644 --- a/flooder/Cargo.toml +++ b/flooder/Cargo.toml @@ -6,8 +6,8 @@ edition = "2021" license = "Apache 2.0" [dependencies] -sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32", features = ["full_crypto"] } -sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33", features = ["full_crypto"] } +sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } # other dependencies serde_json = { version = "1.0" } diff --git a/fork-off/Cargo.lock b/fork-off/Cargo.lock index 73cec88c08..1bd33e14bd 100644 --- a/fork-off/Cargo.lock +++ b/fork-off/Cargo.lock @@ -438,9 +438,9 @@ dependencies = [ [[package]] name = "const-oid" -version = "0.7.1" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4c78c047431fee22c1a7bb92e00ad095a02a983affe4d8a72e2a2c62c1b94f3" +checksum = "cec318a675afcb6a1ea1d4340e2d377e56e47c266f28043ceccbf4412ddfdd3b" [[package]] name = "convert_case" @@ -501,9 +501,9 @@ checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" [[package]] name = "crypto-bigint" -version = "0.3.2" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03c6a1d5fa1de37e071642dfa44ec552ca5b299adb128fab16138e24b548fd21" +checksum = "ef2b4b23cddf68b89b8f8069890e8c270d54e2d5fe1b143820234805e4cb17ef" dependencies = [ "generic-array 0.14.6", "rand_core 0.6.4", @@ -613,11 +613,12 @@ dependencies = [ [[package]] name = "der" -version = "0.5.1" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6919815d73839e7ad218de758883aae3a257ba6759ce7a9992501efbb53d705c" +checksum = "f1a467a65c5e759bce6e65eaf91cc29f466cdc57cb65777bd646872a8a1fd4de" dependencies = [ "const-oid", + "zeroize", ] [[package]] @@ -697,9 +698,9 @@ checksum = "4f94fa09c2aeea5b8839e414b7b841bf429fd25b9c522116ac97ee87856d88b2" [[package]] name = "ecdsa" -version = "0.13.4" +version = "0.14.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0d69ae62e0ce582d56380743515fefaf1a8c70cec685d9677636d7e30ae9dc9" +checksum = "413301934810f597c1d19ca71c8710e99a3f1ba28a0d2ebc01551a2daeea3c5c" dependencies = [ "der", "elliptic-curve", @@ -729,13 +730,14 @@ checksum = "90e5c1c8368803113bf0c9584fc495a58b86dc8a29edbf8fe877d21d9507e797" [[package]] name = "elliptic-curve" -version = "0.11.12" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25b477563c2bfed38a3b7a60964c49e058b2510ad3f12ba3483fd8f62c2306d6" +checksum = "e7bb888ab5300a19b8e5bceef25ac745ad065f3c9f7efc6de1b91958110891d3" dependencies = [ "base16ct", "crypto-bigint", "der", + "digest 0.10.6", "ff", "generic-array 0.14.6", "group", @@ -796,9 +798,9 @@ dependencies = [ [[package]] name = "ff" -version = "0.11.1" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "131655483be284720a17d74ff97592b8e76576dc25563148601df2d7c9080924" +checksum = "d013fc25338cc558c5c2cfbad646908fb23591e2404481826742b651c9af7160" dependencies = [ "rand_core 0.6.4", "subtle", @@ -876,7 +878,7 @@ dependencies = [ [[package]] name = "frame-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "frame-support", "frame-system", @@ -911,7 +913,7 @@ dependencies = [ [[package]] name = "frame-support" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "bitflags", "frame-metadata", @@ -943,7 +945,7 @@ dependencies = [ [[package]] name = "frame-support-procedural" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "Inflector", "cfg-expr", @@ -957,7 +959,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate 1.2.1", @@ -969,7 +971,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "proc-macro2", "quote", @@ -979,7 +981,7 @@ dependencies = [ [[package]] name = "frame-system" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "frame-support", "log 0.4.17", @@ -1170,9 +1172,9 @@ checksum = "22030e2c5a68ec659fde1e949a745124b48e6fa8b045b7ed5bd1fe4ccc5c4e5d" [[package]] name = "group" -version = "0.11.0" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc5ac374b108929de78460075f3dc439fa66df9d8fc77e8f12caa5165fcf0c89" +checksum = "5dfbfb3a6cfbd390d5c9564ab283a0349b9b9fcd46a706c1eb10e0db70bfbac7" dependencies = [ "ff", "rand_core 0.6.4", @@ -1263,6 +1265,15 @@ dependencies = [ "digest 0.9.0", ] +[[package]] +name = "hmac" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" +dependencies = [ + "digest 0.10.6", +] + [[package]] name = "hmac-drbg" version = "0.3.0" @@ -1583,14 +1594,14 @@ dependencies = [ [[package]] name = "k256" -version = "0.10.4" +version = "0.11.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19c3a5e0a0b8450278feda242592512e09f61c72e018b8cd5c859482802daf2d" +checksum = "72c1e0b51e7ec0a97369623508396067a486bd0cbed95a2659a4b863d28cfc8b" dependencies = [ "cfg-if 1.0.0", "ecdsa", "elliptic-curve", - "sec1", + "sha2 0.10.6", ] [[package]] @@ -1742,9 +1753,9 @@ dependencies = [ [[package]] name = "lru" -version = "0.7.8" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e999beba7b6e8345721bd280141ed958096a2e4abdf74f67ff4ce49b4b54e47a" +checksum = "b6e8aaa3f231bb4bd57b84b2d5dc3ae7f350265df8aa96492e0bc394a1571909" dependencies = [ "hashbrown", ] @@ -2098,7 +2109,7 @@ checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee" [[package]] name = "pallet-balances" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "frame-benchmarking", "frame-support", @@ -2293,13 +2304,12 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" [[package]] name = "pkcs8" -version = "0.8.0" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cabda3fb821068a9a4fab19a683eac3af12edf0f34b94a8be53c4972b8149d0" +checksum = "9eca2c590a5f85da82668fa685c09ce2888b9430e83299debf1f34b65fd4a4ba" dependencies = [ "der", "spki", - "zeroize", ] [[package]] @@ -2716,12 +2726,12 @@ dependencies = [ [[package]] name = "rfc6979" -version = "0.1.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96ef608575f6392792f9ecf7890c00086591d29a83910939d430753f7c050525" +checksum = "7743f17af12fa0b03b803ba12cd6a8d9483a587e89c69445e3909655c0b9fabb" dependencies = [ "crypto-bigint", - "hmac 0.11.0", + "hmac 0.12.1", "zeroize", ] @@ -2841,10 +2851,11 @@ checksum = "9c8132065adcfd6e02db789d9285a0deb2f3fcb04002865ab67d5fb103533898" [[package]] name = "sec1" -version = "0.2.1" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08da66b8b0965a5555b6bd6639e68ccba85e1e2506f5fbb089e93f8a04e1a2d1" +checksum = "3be24c1842290c45df0a7bf069e0c268a747ad05a192f2fd7dcfdbc1cba40928" dependencies = [ + "base16ct", "der", "generic-array 0.14.6", "pkcs8", @@ -3047,11 +3058,11 @@ dependencies = [ [[package]] name = "signature" -version = "1.4.0" +version = "1.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02658e48d89f2bec991f9a78e69cfa4c316f8d6a6c4ec12fae1aeb263d486788" +checksum = "74233d3b3b2f6d4b006dc19dee745e73e2a6bfb6f93607cd3b02bd5b00797d7c" dependencies = [ - "digest 0.9.0", + "digest 0.10.6", "rand_core 0.6.4", ] @@ -3104,7 +3115,7 @@ dependencies = [ [[package]] name = "sp-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "hash-db", "log 0.4.17", @@ -3122,7 +3133,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "blake2", "proc-macro-crate 1.2.1", @@ -3134,7 +3145,7 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "parity-scale-codec", "scale-info", @@ -3147,7 +3158,7 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "integer-sqrt", "num-traits", @@ -3162,7 +3173,7 @@ dependencies = [ [[package]] name = "sp-core" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "array-bytes", "base58", @@ -3181,7 +3192,6 @@ dependencies = [ "merlin", "num-traits", "parity-scale-codec", - "parity-util-mem", "parking_lot 0.12.1", "primitive-types", "rand 0.7.3", @@ -3208,7 +3218,7 @@ dependencies = [ [[package]] name = "sp-core-hashing" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "blake2", "byteorder", @@ -3222,7 +3232,7 @@ dependencies = [ [[package]] name = "sp-core-hashing-proc-macro" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "proc-macro2", "quote", @@ -3233,7 +3243,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "proc-macro2", "quote", @@ -3243,7 +3253,7 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "environmental", "parity-scale-codec", @@ -3254,7 +3264,7 @@ dependencies = [ [[package]] name = "sp-inherents" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "async-trait", "impl-trait-for-tuples", @@ -3268,7 +3278,7 @@ dependencies = [ [[package]] name = "sp-io" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "bytes 1.3.0", "futures 0.3.25", @@ -3294,7 +3304,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "async-trait", "futures 0.3.25", @@ -3310,7 +3320,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "backtrace", "lazy_static", @@ -3320,7 +3330,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "either", "hash256-std-hasher", @@ -3343,7 +3353,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "bytes 1.3.0", "impl-trait-for-tuples", @@ -3361,7 +3371,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "Inflector", "proc-macro-crate 1.2.1", @@ -3373,7 +3383,7 @@ dependencies = [ [[package]] name = "sp-staking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "parity-scale-codec", "scale-info", @@ -3384,7 +3394,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "hash-db", "log 0.4.17", @@ -3406,12 +3416,12 @@ dependencies = [ [[package]] name = "sp-std" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" [[package]] name = "sp-storage" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "impl-serde", "parity-scale-codec", @@ -3424,7 +3434,7 @@ dependencies = [ [[package]] name = "sp-tracing" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "parity-scale-codec", "sp-std", @@ -3436,7 +3446,7 @@ dependencies = [ [[package]] name = "sp-trie" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "ahash", "hash-db", @@ -3459,7 +3469,7 @@ dependencies = [ [[package]] name = "sp-version" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "impl-serde", "parity-scale-codec", @@ -3476,7 +3486,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "parity-scale-codec", "proc-macro2", @@ -3487,7 +3497,7 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "impl-trait-for-tuples", "log 0.4.17", @@ -3499,7 +3509,7 @@ dependencies = [ [[package]] name = "sp-weights" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.32#50f811363321449799ad0fb5d64b692e009bebc6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -3514,9 +3524,9 @@ dependencies = [ [[package]] name = "spki" -version = "0.5.4" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44d01ac02a6ccf3e07db148d2be087da624fea0221a16152ed01f0496a6b0a27" +checksum = "67cf02bbac7a337dc36e4f5a693db6c21e7863f45070f7064577eb4367a3212b" dependencies = [ "base64ct", "der", diff --git a/fork-off/Cargo.toml b/fork-off/Cargo.toml index 2936963809..21c4a0610b 100644 --- a/fork-off/Cargo.toml +++ b/fork-off/Cargo.toml @@ -19,10 +19,10 @@ serde = "1" serde_json = "1" tokio = { version = "1.0", features = ["full"] } -sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -frame-support = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -frame-system = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -pallet-balances = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +frame-support = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +frame-system = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +pallet-balances = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } jsonrpc-core = "18.0" jsonrpc-core-client = { version = "18.0", features = ["ws"] } jsonrpc-derive = "18.0" diff --git a/pallets/aleph/Cargo.toml b/pallets/aleph/Cargo.toml index 4b85e2990f..785900bd41 100644 --- a/pallets/aleph/Cargo.toml +++ b/pallets/aleph/Cargo.toml @@ -10,20 +10,20 @@ codec = { package = "parity-scale-codec", version = "3.0", default-features = fa serde = "1.0" scale-info = { version = "2.0", default-features = false, features = ["derive"] } -frame-support = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -frame-system = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -pallet-balances = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -pallet-session = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -sp-io = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -sp-std = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +frame-support = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +frame-system = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +pallet-balances = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +pallet-session = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +sp-io = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +sp-std = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } pallets-support = { path = "../support", default-features = false } primitives = { path = "../../primitives", default-features = false } [dev-dependencies] -pallet-timestamp = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -sp-runtime = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -sp-core = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +pallet-timestamp = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +sp-runtime = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +sp-core = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } [features] default = ["std"] diff --git a/pallets/elections/Cargo.toml b/pallets/elections/Cargo.toml index e848ef2954..4bf1957bc9 100644 --- a/pallets/elections/Cargo.toml +++ b/pallets/elections/Cargo.toml @@ -8,18 +8,18 @@ license = "Apache 2.0" codec = { package = "parity-scale-codec", version = "3.0", default-features = false, features = ["derive"] } scale-info = { version = "2.0", default-features = false, features = ["derive"] } -frame-support = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -frame-system = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -frame-election-provider-support = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -pallet-authorship = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -pallet-balances = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -pallet-session = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -pallet-staking = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -sp-core = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -sp-io = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -sp-staking = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -sp-std = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -sp-runtime = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +frame-support = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +frame-system = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +frame-election-provider-support = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +pallet-authorship = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +pallet-balances = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +pallet-session = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +pallet-staking = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +sp-core = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +sp-io = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +sp-staking = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +sp-std = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +sp-runtime = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } pallets-support = { path = "../support", default-features = false } primitives = { path = "../../primitives", default-features = false } diff --git a/pallets/elections/src/lib.rs b/pallets/elections/src/lib.rs index 6fc35bc628..aa34e5d4ed 100644 --- a/pallets/elections/src/lib.rs +++ b/pallets/elections/src/lib.rs @@ -64,7 +64,8 @@ pub struct ValidatorTotalRewards(pub BTreeMap); #[frame_support::pallet] pub mod pallet { use frame_election_provider_support::{ - ElectionDataProvider, ElectionProvider, ElectionProviderBase, Support, Supports, + BoundedSupportsOf, ElectionDataProvider, ElectionProvider, ElectionProviderBase, Support, + Supports, }; use frame_support::{log, pallet_prelude::*, traits::Get}; use frame_system::{ @@ -108,6 +109,13 @@ pub mod pallet { /// Maximum acceptable ban reason length. #[pallet::constant] type MaximumBanReasonLength: Get; + + /// The maximum number of winners that can be elected by this `ElectionProvider` + /// implementation. + /// + /// Note: This must always be greater or equal to `T::DataProvider::desired_targets()`. + #[pallet::constant] + type MaxWinners: Get; } #[pallet::event] @@ -451,6 +459,10 @@ pub mod pallet { #[derive(Debug)] pub enum ElectionError { DataProvider(&'static str), + + /// Winner number is greater than + /// [`Config::MaxWinners`] + TooManyWinners, } #[pallet::error] @@ -476,17 +488,18 @@ pub mod pallet { type BlockNumber = T::BlockNumber; type Error = ElectionError; type DataProvider = T::DataProvider; + type MaxWinners = T::MaxWinners; + } + impl ElectionProvider for Pallet { fn ongoing() -> bool { false } - } - impl ElectionProvider for Pallet { /// We calculate the supports for each validator. The external validators are chosen as: /// 1) "`NextEraNonReservedValidators` that are staking and are not banned" in case of Permissioned ElectionOpenness /// 2) "All staking and not banned validators" in case of Permissionless ElectionOpenness - fn elect() -> Result, Self::Error> { + fn elect() -> Result, Self::Error> { Self::emit_fresh_bans_event(); let active_era = ::EraInfoProvider::active_era().unwrap_or(0); let ban_period = BanConfig::::get().ban_period; @@ -554,7 +567,11 @@ pub mod pallet { } } - Ok(supports.into_iter().collect()) + supports + .into_iter() + .collect::>() + .try_into() + .map_err(|_| Self::Error::TooManyWinners) } } } diff --git a/pallets/elections/src/mock.rs b/pallets/elections/src/mock.rs index d7eb53f13c..c27f5514f5 100644 --- a/pallets/elections/src/mock.rs +++ b/pallets/elections/src/mock.rs @@ -7,7 +7,7 @@ use frame_support::{ weights::{RuntimeDbWeight, Weight}, BasicExternalities, BoundedVec, }; -use primitives::{BanConfig, CommitteeSeats}; +use primitives::{BanConfig, CommitteeSeats, DEFAULT_MAX_WINNERS}; use sp_core::H256; use sp_runtime::{ testing::{Header, TestXt}, @@ -186,6 +186,7 @@ impl Config for Test { type ValidatorRewardsHandler = MockProvider; type ValidatorExtractor = MockProvider; type MaximumBanReasonLength = ConstU32<300>; + type MaxWinners = ConstU32; } type MaxVotesPerVoter = ConstU32<1>; diff --git a/pallets/elections/src/tests.rs b/pallets/elections/src/tests.rs index 8b377780a9..f9f516288d 100644 --- a/pallets/elections/src/tests.rs +++ b/pallets/elections/src/tests.rs @@ -75,7 +75,7 @@ fn validators_are_elected_only_when_staking() { ::elect().expect("`elect()` should succeed"); assert_eq!( - elected, + elected.into_inner(), &[ (1, support(10, vec![(1, 10)])), (2, no_support()), diff --git a/pallets/support/Cargo.toml b/pallets/support/Cargo.toml index 656a0f89bf..dcd8222fc0 100644 --- a/pallets/support/Cargo.toml +++ b/pallets/support/Cargo.toml @@ -4,8 +4,8 @@ version = "0.1.4" edition = "2021" [dependencies] -frame-support = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -sp-std = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +frame-support = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +sp-std = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } [features] default = ["std"] diff --git a/primitives/Cargo.toml b/primitives/Cargo.toml index 29cf604fc6..cc3638c246 100644 --- a/primitives/Cargo.toml +++ b/primitives/Cargo.toml @@ -10,12 +10,12 @@ codec = { package = "parity-scale-codec", version = "3.0", default-features = fa serde = { version = "1.0", features = ["derive"] } scale-info = { version = "2.0", default-features = false, features = ["derive"] } -sp-api = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -sp-application-crypto = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -sp-core = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -sp-runtime = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -sp-std = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } -sp-staking = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.32" } +sp-api = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +sp-application-crypto = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +sp-core = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +sp-runtime = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +sp-std = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +sp-staking = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } [features] default = ["std"] diff --git a/primitives/src/lib.rs b/primitives/src/lib.rs index 857313e39f..554677fffb 100644 --- a/primitives/src/lib.rs +++ b/primitives/src/lib.rs @@ -65,6 +65,7 @@ pub const DEFAULT_COMMITTEE_SIZE: u32 = 4; pub const DEFAULT_BAN_MINIMAL_EXPECTED_PERFORMANCE: Perbill = Perbill::from_percent(0); pub const DEFAULT_BAN_SESSION_COUNT_THRESHOLD: SessionCount = 3; pub const DEFAULT_BAN_REASON_LENGTH: u32 = 300; +pub const DEFAULT_MAX_WINNERS: u32 = u32::MAX; pub const DEFAULT_CLEAN_SESSION_COUNTER_DELAY: SessionCount = 960; pub const DEFAULT_BAN_PERIOD: EraIndex = 10; From d6ea1078662621b09a97ce4ac48d57538387e021 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Obrok?= Date: Fri, 17 Feb 2023 15:33:29 +0100 Subject: [PATCH 158/212] Fix triggering contract deploy --- .github/workflows/contracts-deploy.yml | 2 +- .github/workflows/e2e-tests-main-devnet.yml | 17 ++++++++++------- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/.github/workflows/contracts-deploy.yml b/.github/workflows/contracts-deploy.yml index d61ca00c06..06da466e68 100644 --- a/.github/workflows/contracts-deploy.yml +++ b/.github/workflows/contracts-deploy.yml @@ -1,7 +1,7 @@ name: contracts-e2e-tests-and-deploy on: - workflow_call + workflow_call: concurrency: group: ${{ github.ref }}-${{ github.workflow }} diff --git a/.github/workflows/e2e-tests-main-devnet.yml b/.github/workflows/e2e-tests-main-devnet.yml index b7c08f68e0..306cd8cded 100644 --- a/.github/workflows/e2e-tests-main-devnet.yml +++ b/.github/workflows/e2e-tests-main-devnet.yml @@ -620,9 +620,6 @@ jobs: test-case: button timeout-minutes: 60 - - name: Trigger deployment workflow - uses: ./.github/workflows/contracts-deploy.yml - # The tests below were written under the assumption that nonfinalized blocks are being produced, they need a rewrite before being reenabled. # TODO(A0-1644): Reenable these tests. # run-e2e-failing-version-upgrade: @@ -704,7 +701,16 @@ jobs: # run: | # ./scripts/catchup_version_upgrade_test.sh + deploy-button: + name: Deploy button contracts + needs: run-e2e-button-contract-tests + uses: ./.github/workflows/contracts-deploy.yml + secrets: inherit + check-e2e-test-suite-completion: +# run-e2e-authorities-are-staking, +# run-e2e-failing-version-upgrade, +# run-e2e-version-upgrade-catchup, needs: [ run-e2e-finalization-test, run-e2e-rewards-disable-node-test, @@ -723,7 +729,6 @@ jobs: run-e2e-rewards-stake-change, run-e2e-rewards-change-stake-force-new-era, run-e2e-rewards-points-basic, -# run-e2e-authorities-are-staking, run-e2e-ban-automatic, run-e2e-ban-manual, run-e2e-ban-counter-clearing, @@ -731,8 +736,7 @@ jobs: run-e2e-version-upgrade, run-e2e-permissionless-ban, run-e2e-adder-contract-test, -# run-e2e-failing-version-upgrade, -# run-e2e-version-upgrade-catchup, + run-e2e-button-contract-tests ] name: Check e2e test suite completion runs-on: ubuntu-20.04 @@ -740,7 +744,6 @@ jobs: - name: All e2e tests completed run: echo "All e2e tests completed." - push-image: needs: [check-e2e-test-suite-completion] name: Push node image to the ECR From 4b1448565fb18d28465ebaf78ea4ae7c806883cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Obrok?= Date: Mon, 20 Feb 2023 16:18:21 +0100 Subject: [PATCH 159/212] Use cargo-contract 2.0.1 2.0.0-beta.1 is incompatible with current pallet-contracts. --- .github/workflows/contracts-deploy.yml | 2 +- .github/workflows/e2e-tests-main-devnet.yml | 2 +- contracts/README.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/contracts-deploy.yml b/.github/workflows/contracts-deploy.yml index 06da466e68..ec620c8cd7 100644 --- a/.github/workflows/contracts-deploy.yml +++ b/.github/workflows/contracts-deploy.yml @@ -84,7 +84,7 @@ jobs: uses: baptiste0928/cargo-install@v1 with: crate: cargo-contract - version: "2.0.0-beta.1" + version: "2.0.1" - name: Configure AWS credentials uses: aws-actions/configure-aws-credentials@v1 diff --git a/.github/workflows/e2e-tests-main-devnet.yml b/.github/workflows/e2e-tests-main-devnet.yml index 99c9b7d7eb..27466e2ded 100644 --- a/.github/workflows/e2e-tests-main-devnet.yml +++ b/.github/workflows/e2e-tests-main-devnet.yml @@ -588,7 +588,7 @@ jobs: uses: actions/checkout@v2 - name: Install cargo-contract - run: cargo install cargo-contract --version 2.0.0-beta.1 + run: cargo install cargo-contract --version 2.0.1 - name: Install rust-src working-directory: ./contracts diff --git a/contracts/README.md b/contracts/README.md index f595f1c874..6648605ee8 100644 --- a/contracts/README.md +++ b/contracts/README.md @@ -54,7 +54,7 @@ Game continues in perpetuity (but in practice as long as there are accounts that ## Prerequisites - Rust nightly -- cargo-contract compatible with current node: `cargo install cargo-contract --version 2.0.0-beta.1` +- cargo-contract compatible with current node: `cargo install cargo-contract --version 2.0.1` ## Instructions From 1c25caa697d789513a6b453c3a0713a76fa89d92 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Obrok?= Date: Mon, 20 Feb 2023 16:46:09 +0100 Subject: [PATCH 160/212] Fix clippy warning --- aleph-client/src/contract/convertible_value.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/aleph-client/src/contract/convertible_value.rs b/aleph-client/src/contract/convertible_value.rs index 120d0e060f..b7e16e651b 100644 --- a/aleph-client/src/contract/convertible_value.rs +++ b/aleph-client/src/contract/convertible_value.rs @@ -71,7 +71,7 @@ impl TryFrom for () { fn try_from(value: ConvertibleValue) -> Result { match value.0 { - Value::Tuple(tuple) if tuple.ident() == None && tuple.values().next().is_none() => { + Value::Tuple(tuple) if tuple.ident().is_none() && tuple.values().next().is_none() => { Ok(()) } _ => bail!("Expected {:?} to be a unit", value.0), From 548d3c5455aa3e2c90c62d99059d57a5d3fc18f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maciej=20Nem=C5=9B?= Date: Mon, 20 Feb 2023 17:11:36 +0100 Subject: [PATCH 161/212] A0-1903: update to 0.9.34 (#926) --- .github/workflows/e2e-tests-main-devnet.yml | 17 - Cargo.lock | 591 ++++++------ aleph-client/Cargo.lock | 738 ++++++++++----- aleph-client/Cargo.toml | 6 +- aleph-client/src/aleph_zero.rs | 354 +++++--- aleph-client/src/pallets/system.rs | 32 +- benches/payout-stakers/Cargo.lock | 839 ++++++++++++----- benches/payout-stakers/Cargo.toml | 4 +- bin/cliain/Cargo.lock | 848 +++++++++++------ bin/cliain/Cargo.toml | 4 +- bin/node/Cargo.toml | 70 +- bin/runtime/Cargo.toml | 79 +- bin/runtime/src/lib.rs | 7 +- e2e-tests/Cargo.lock | 948 +++++++++++++------- e2e-tests/Cargo.toml | 12 +- e2e-tests/src/test/fee.rs | 125 --- e2e-tests/src/test/mod.rs | 2 - e2e-tests/src/test/treasury.rs | 38 +- finality-aleph/Cargo.toml | 42 +- flooder/Cargo.lock | 824 ++++++++++++----- flooder/Cargo.toml | 4 +- fork-off/Cargo.lock | 392 ++++++-- fork-off/Cargo.toml | 8 +- pallets/aleph/Cargo.toml | 18 +- pallets/elections/Cargo.toml | 24 +- pallets/support/Cargo.toml | 4 +- primitives/Cargo.toml | 12 +- 27 files changed, 3929 insertions(+), 2113 deletions(-) delete mode 100644 e2e-tests/src/test/fee.rs diff --git a/.github/workflows/e2e-tests-main-devnet.yml b/.github/workflows/e2e-tests-main-devnet.yml index 52952d7be9..98ae0e64a4 100644 --- a/.github/workflows/e2e-tests-main-devnet.yml +++ b/.github/workflows/e2e-tests-main-devnet.yml @@ -345,22 +345,6 @@ jobs: follow-up-finalization-check: true timeout-minutes: 3 - - run-e2e-fee-calculation: - needs: [build-test-docker, build-test-client] - name: Run e2e fee calculation test - runs-on: ubuntu-20.04 - steps: - - name: Checkout source code - uses: actions/checkout@v2 - - - name: Run e2e test - uses: ./.github/actions/run-e2e-test - with: - test-case: fee_calculation - timeout-minutes: 2 - - run-e2e-validators-rotate: needs: [build-test-docker, build-test-client] name: Run validators rotation test @@ -706,7 +690,6 @@ jobs: run-e2e-staking-era-payouts-test, run-e2e-staking-new-validator-test, run-e2e-change-validators-test, - run-e2e-fee-calculation, run-e2e-validators-rotate, run-e2e-era-payout, run-e2e-era-validators, diff --git a/Cargo.lock b/Cargo.lock index 9855ebbea1..14cbf7c543 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -472,66 +472,6 @@ dependencies = [ "futures-lite", ] -[[package]] -name = "async-process" -version = "1.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6381ead98388605d0d9ff86371043b5aa922a3905824244de40dc263a14fcba4" -dependencies = [ - "async-io", - "async-lock", - "autocfg", - "blocking", - "cfg-if", - "event-listener", - "futures-lite", - "libc", - "signal-hook", - "windows-sys 0.42.0", -] - -[[package]] -name = "async-std" -version = "1.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62565bb4402e926b29953c785397c6dc0391b7b446e45008b0049eb43cec6f5d" -dependencies = [ - "async-channel", - "async-global-executor", - "async-io", - "async-lock", - "async-process", - "crossbeam-utils", - "futures-channel", - "futures-core", - "futures-io", - "futures-lite", - "gloo-timers", - "kv-log-macro", - "log", - "memchr", - "once_cell", - "pin-project-lite 0.2.9", - "pin-utils", - "slab", - "wasm-bindgen-futures", -] - -[[package]] -name = "async-std-resolver" -version = "0.22.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ba50e24d9ee0a8950d3d03fc6d0dd10aa14b5de3b101949b4e160f7fee7c723" -dependencies = [ - "async-std", - "async-trait", - "futures-io", - "futures-util", - "pin-utils", - "socket2", - "trust-dns-resolver", -] - [[package]] name = "async-task" version = "4.3.0" @@ -642,28 +582,11 @@ dependencies = [ [[package]] name = "beefy-merkle-tree" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" -dependencies = [ - "beefy-primitives", - "sp-api", - "sp-runtime", -] - -[[package]] -name = "beefy-primitives" -version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ - "parity-scale-codec", - "scale-info", - "serde", "sp-api", - "sp-application-crypto", - "sp-core", - "sp-io", - "sp-mmr-primitives", + "sp-beefy", "sp-runtime", - "sp-std", ] [[package]] @@ -1012,6 +935,15 @@ dependencies = [ "generic-array 0.14.6", ] +[[package]] +name = "ckb-merkle-mountain-range" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56ccb671c5921be8a84686e6212ca184cb1d7c51cadcdbfcbd1cc3f042f5dfb8" +dependencies = [ + "cfg-if", +] + [[package]] name = "clang-sys" version = "1.4.0" @@ -1344,16 +1276,6 @@ dependencies = [ "subtle", ] -[[package]] -name = "ctor" -version = "0.1.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d2301688392eb071b0bf1a37be05c469d3cc4dbbd95df672fe28ab021e6a096" -dependencies = [ - "quote", - "syn", -] - [[package]] name = "ctr" version = "0.8.0" @@ -1981,7 +1903,7 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "fork-tree" version = "3.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "parity-scale-codec", ] @@ -2004,7 +1926,7 @@ checksum = "6c2141d6d6c8512188a7891b4b01590a45f6dac67afb4f255c4124dbb86d4eaa" [[package]] name = "frame-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "frame-support", "frame-system", @@ -2027,7 +1949,7 @@ dependencies = [ [[package]] name = "frame-election-provider-solution-type" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -2038,7 +1960,7 @@ dependencies = [ [[package]] name = "frame-election-provider-support" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "frame-election-provider-solution-type", "frame-support", @@ -2054,7 +1976,7 @@ dependencies = [ [[package]] name = "frame-executive" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "frame-support", "frame-system", @@ -2080,10 +2002,27 @@ dependencies = [ "serde", ] +[[package]] +name = "frame-remote-externalities" +version = "0.10.0-dev" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +dependencies = [ + "env_logger", + "log", + "parity-scale-codec", + "serde", + "serde_json", + "sp-core", + "sp-io", + "sp-runtime", + "sp-version", + "substrate-rpc-client", +] + [[package]] name = "frame-support" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "bitflags", "frame-metadata", @@ -2115,7 +2054,7 @@ dependencies = [ [[package]] name = "frame-support-procedural" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "Inflector", "cfg-expr", @@ -2129,7 +2068,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate", @@ -2141,7 +2080,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "proc-macro2", "quote", @@ -2151,7 +2090,7 @@ dependencies = [ [[package]] name = "frame-system" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "frame-support", "log", @@ -2169,7 +2108,7 @@ dependencies = [ [[package]] name = "frame-system-rpc-runtime-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "parity-scale-codec", "sp-api", @@ -2178,7 +2117,7 @@ dependencies = [ [[package]] name = "frame-try-runtime" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "frame-support", "parity-scale-codec", @@ -2429,18 +2368,6 @@ dependencies = [ "regex", ] -[[package]] -name = "gloo-timers" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98c4a8d6391675c6b2ee1a6c8d06e8e2d03605c44cec1270675985a4c2a5500b" -dependencies = [ - "futures-channel", - "futures-core", - "js-sys", - "wasm-bindgen", -] - [[package]] name = "group" version = "0.12.1" @@ -2774,6 +2701,12 @@ dependencies = [ "serde", ] +[[package]] +name = "indexmap-nostd" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e04e2fd2b8188ea827b32ef11de88377086d690286ab35747ef7f9bf3ccb590" + [[package]] name = "instant" version = "0.1.12" @@ -3042,15 +2975,6 @@ dependencies = [ "cpufeatures", ] -[[package]] -name = "kv-log-macro" -version = "1.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0de8b303297635ad57c9f5059fd9cee7a47f8e8daa09df0fcd07dd39fb22977f" -dependencies = [ - "log", -] - [[package]] name = "kvdb" version = "0.12.0" @@ -3201,7 +3125,6 @@ version = "0.37.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2322c9fb40d99101def6a01612ee30500c89abbbecb6297b3cd252903a4c1720" dependencies = [ - "async-std-resolver", "futures", "libp2p-core", "log", @@ -3265,7 +3188,6 @@ version = "0.41.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "761704e727f7d68d58d7bc2231eafae5fc1b9814de24290f126df09d4bd37a15" dependencies = [ - "async-io", "data-encoding", "dns-parser", "futures", @@ -3276,6 +3198,7 @@ dependencies = [ "rand 0.8.5", "smallvec", "socket2", + "tokio", "void", ] @@ -3404,7 +3327,6 @@ version = "0.37.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9839d96761491c6d3e238e70554b856956fca0ab60feb9de2cd08eed4473fa92" dependencies = [ - "async-io", "futures", "futures-timer", "if-watch", @@ -3412,6 +3334,7 @@ dependencies = [ "libp2p-core", "log", "socket2", + "tokio", ] [[package]] @@ -3598,7 +3521,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e" dependencies = [ "cfg-if", - "value-bag", ] [[package]] @@ -4185,7 +4107,7 @@ dependencies = [ [[package]] name = "pallet-aura" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "frame-support", "frame-system", @@ -4201,7 +4123,7 @@ dependencies = [ [[package]] name = "pallet-authorship" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "frame-support", "frame-system", @@ -4216,7 +4138,7 @@ dependencies = [ [[package]] name = "pallet-babe" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "frame-benchmarking", "frame-support", @@ -4240,7 +4162,7 @@ dependencies = [ [[package]] name = "pallet-balances" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "frame-benchmarking", "frame-support", @@ -4255,7 +4177,7 @@ dependencies = [ [[package]] name = "pallet-contracts" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "bitflags", "frame-benchmarking", @@ -4274,16 +4196,16 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-sandbox", "sp-std", - "wasm-instrument", - "wasmi-validation", + "wasm-instrument 0.4.0", + "wasmi 0.20.0", + "wasmparser-nostd", ] [[package]] name = "pallet-contracts-primitives" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "7.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "bitflags", "parity-scale-codec", @@ -4295,7 +4217,7 @@ dependencies = [ [[package]] name = "pallet-contracts-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "proc-macro2", "quote", @@ -4327,7 +4249,7 @@ dependencies = [ [[package]] name = "pallet-identity" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "enumflags2", "frame-benchmarking", @@ -4343,7 +4265,7 @@ dependencies = [ [[package]] name = "pallet-multisig" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "frame-benchmarking", "frame-support", @@ -4359,7 +4281,7 @@ dependencies = [ [[package]] name = "pallet-nomination-pools" version = "1.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "frame-support", "frame-system", @@ -4376,7 +4298,7 @@ dependencies = [ [[package]] name = "pallet-nomination-pools-runtime-api" version = "1.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "parity-scale-codec", "sp-api", @@ -4386,7 +4308,7 @@ dependencies = [ [[package]] name = "pallet-randomness-collective-flip" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "frame-support", "frame-system", @@ -4400,8 +4322,9 @@ dependencies = [ [[package]] name = "pallet-scheduler" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ + "frame-benchmarking", "frame-support", "frame-system", "log", @@ -4415,7 +4338,7 @@ dependencies = [ [[package]] name = "pallet-session" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "frame-support", "frame-system", @@ -4436,7 +4359,7 @@ dependencies = [ [[package]] name = "pallet-staking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -4458,7 +4381,7 @@ dependencies = [ [[package]] name = "pallet-sudo" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "frame-support", "frame-system", @@ -4472,7 +4395,7 @@ dependencies = [ [[package]] name = "pallet-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "frame-benchmarking", "frame-support", @@ -4490,7 +4413,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "frame-support", "frame-system", @@ -4506,7 +4429,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "jsonrpsee", "pallet-transaction-payment-rpc-runtime-api", @@ -4522,7 +4445,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc-runtime-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "pallet-transaction-payment", "parity-scale-codec", @@ -4534,7 +4457,7 @@ dependencies = [ [[package]] name = "pallet-treasury" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "frame-benchmarking", "frame-support", @@ -4551,7 +4474,7 @@ dependencies = [ [[package]] name = "pallet-utility" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "frame-benchmarking", "frame-support", @@ -4567,7 +4490,7 @@ dependencies = [ [[package]] name = "pallet-vesting" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "frame-benchmarking", "frame-support", @@ -5345,23 +5268,6 @@ version = "0.6.28" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848" -[[package]] -name = "remote-externalities" -version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" -dependencies = [ - "env_logger", - "log", - "parity-scale-codec", - "serde", - "serde_json", - "sp-core", - "sp-io", - "sp-runtime", - "sp-version", - "substrate-rpc-client", -] - [[package]] name = "remove_dir_all" version = "0.5.3" @@ -5401,7 +5307,7 @@ dependencies = [ "cc", "libc", "once_cell", - "spin", + "spin 0.5.2", "untrusted", "web-sys", "winapi", @@ -5594,7 +5500,7 @@ dependencies = [ [[package]] name = "sc-allocator" version = "4.1.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "log", "sp-core", @@ -5605,7 +5511,7 @@ dependencies = [ [[package]] name = "sc-basic-authorship" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "futures", "futures-timer", @@ -5628,7 +5534,7 @@ dependencies = [ [[package]] name = "sc-block-builder" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "parity-scale-codec", "sc-client-api", @@ -5644,7 +5550,7 @@ dependencies = [ [[package]] name = "sc-chain-spec" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "impl-trait-for-tuples", "memmap2", @@ -5661,7 +5567,7 @@ dependencies = [ [[package]] name = "sc-chain-spec-derive" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -5672,7 +5578,7 @@ dependencies = [ [[package]] name = "sc-cli" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "array-bytes", "chrono", @@ -5712,7 +5618,7 @@ dependencies = [ [[package]] name = "sc-client-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "fnv", "futures", @@ -5740,7 +5646,7 @@ dependencies = [ [[package]] name = "sc-client-db" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "hash-db", "kvdb", @@ -5765,7 +5671,7 @@ dependencies = [ [[package]] name = "sc-consensus" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "async-trait", "futures", @@ -5789,7 +5695,7 @@ dependencies = [ [[package]] name = "sc-consensus-aura" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "async-trait", "futures", @@ -5818,7 +5724,7 @@ dependencies = [ [[package]] name = "sc-consensus-slots" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "async-trait", "futures", @@ -5842,7 +5748,7 @@ dependencies = [ [[package]] name = "sc-executor" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "lazy_static", "lru 0.8.1", @@ -5862,13 +5768,13 @@ dependencies = [ "sp-version", "sp-wasm-interface", "tracing", - "wasmi", + "wasmi 0.13.2", ] [[package]] name = "sc-executor-common" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "environmental", "parity-scale-codec", @@ -5877,14 +5783,14 @@ dependencies = [ "sp-sandbox", "sp-wasm-interface", "thiserror", - "wasm-instrument", - "wasmi", + "wasm-instrument 0.3.0", + "wasmi 0.13.2", ] [[package]] name = "sc-executor-wasmi" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "log", "parity-scale-codec", @@ -5893,13 +5799,13 @@ dependencies = [ "sp-runtime-interface", "sp-sandbox", "sp-wasm-interface", - "wasmi", + "wasmi 0.13.2", ] [[package]] name = "sc-executor-wasmtime" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "cfg-if", "libc", @@ -5919,7 +5825,7 @@ dependencies = [ [[package]] name = "sc-informant" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "ansi_term", "futures", @@ -5936,7 +5842,7 @@ dependencies = [ [[package]] name = "sc-keystore" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "array-bytes", "async-trait", @@ -5951,7 +5857,7 @@ dependencies = [ [[package]] name = "sc-network" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "array-bytes", "async-trait", @@ -5998,7 +5904,7 @@ dependencies = [ [[package]] name = "sc-network-bitswap" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "cid", "futures", @@ -6018,7 +5924,7 @@ dependencies = [ [[package]] name = "sc-network-common" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "async-trait", "bitflags", @@ -6044,7 +5950,7 @@ dependencies = [ [[package]] name = "sc-network-light" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "array-bytes", "futures", @@ -6065,9 +5971,10 @@ dependencies = [ [[package]] name = "sc-network-sync" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "array-bytes", + "async-trait", "fork-tree", "futures", "libp2p", @@ -6095,7 +6002,7 @@ dependencies = [ [[package]] name = "sc-network-transactions" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "array-bytes", "futures", @@ -6114,7 +6021,7 @@ dependencies = [ [[package]] name = "sc-offchain" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "array-bytes", "bytes", @@ -6144,7 +6051,7 @@ dependencies = [ [[package]] name = "sc-peerset" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "futures", "libp2p", @@ -6157,7 +6064,7 @@ dependencies = [ [[package]] name = "sc-proposer-metrics" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "log", "substrate-prometheus-endpoint", @@ -6166,7 +6073,7 @@ dependencies = [ [[package]] name = "sc-rpc" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "futures", "hash-db", @@ -6196,7 +6103,7 @@ dependencies = [ [[package]] name = "sc-rpc-api" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "futures", "jsonrpsee", @@ -6219,7 +6126,7 @@ dependencies = [ [[package]] name = "sc-rpc-server" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "futures", "jsonrpsee", @@ -6232,7 +6139,7 @@ dependencies = [ [[package]] name = "sc-rpc-spec-v2" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "futures", "hex", @@ -6251,7 +6158,7 @@ dependencies = [ [[package]] name = "sc-service" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "async-trait", "directories", @@ -6322,7 +6229,7 @@ dependencies = [ [[package]] name = "sc-state-db" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "log", "parity-scale-codec", @@ -6336,7 +6243,7 @@ dependencies = [ [[package]] name = "sc-sysinfo" version = "6.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "futures", "libc", @@ -6355,7 +6262,7 @@ dependencies = [ [[package]] name = "sc-telemetry" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "chrono", "futures", @@ -6373,7 +6280,7 @@ dependencies = [ [[package]] name = "sc-tracing" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "ansi_term", "atty", @@ -6404,7 +6311,7 @@ dependencies = [ [[package]] name = "sc-tracing-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -6415,7 +6322,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "async-trait", "futures", @@ -6442,7 +6349,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "async-trait", "futures", @@ -6456,7 +6363,7 @@ dependencies = [ [[package]] name = "sc-utils" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "futures", "futures-timer", @@ -6744,16 +6651,6 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "43b2853a4d09f215c24cc5489c992ce46052d359b5109343cbafbf26bc62f8a3" -[[package]] -name = "signal-hook" -version = "0.3.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a253b5e89e2698464fc26b545c9edceb338e18a89effeeecfea192c3025be29d" -dependencies = [ - "libc", - "signal-hook-registry", -] - [[package]] name = "signal-hook-registry" version = "1.4.0" @@ -6858,7 +6755,7 @@ dependencies = [ [[package]] name = "sp-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "hash-db", "log", @@ -6876,7 +6773,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "blake2", "proc-macro-crate", @@ -6887,8 +6784,8 @@ dependencies = [ [[package]] name = "sp-application-crypto" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "7.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "parity-scale-codec", "scale-info", @@ -6900,8 +6797,8 @@ dependencies = [ [[package]] name = "sp-arithmetic" -version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "6.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "integer-sqrt", "num-traits", @@ -6916,7 +6813,7 @@ dependencies = [ [[package]] name = "sp-authorship" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "async-trait", "parity-scale-codec", @@ -6925,10 +6822,27 @@ dependencies = [ "sp-std", ] +[[package]] +name = "sp-beefy" +version = "4.0.0-dev" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +dependencies = [ + "parity-scale-codec", + "scale-info", + "serde", + "sp-api", + "sp-application-crypto", + "sp-core", + "sp-io", + "sp-mmr-primitives", + "sp-runtime", + "sp-std", +] + [[package]] name = "sp-block-builder" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "parity-scale-codec", "sp-api", @@ -6940,7 +6854,7 @@ dependencies = [ [[package]] name = "sp-blockchain" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "futures", "log", @@ -6958,7 +6872,7 @@ dependencies = [ [[package]] name = "sp-consensus" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "async-trait", "futures", @@ -6977,7 +6891,7 @@ dependencies = [ [[package]] name = "sp-consensus-aura" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "async-trait", "parity-scale-codec", @@ -6995,7 +6909,7 @@ dependencies = [ [[package]] name = "sp-consensus-babe" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "async-trait", "merlin", @@ -7018,7 +6932,7 @@ dependencies = [ [[package]] name = "sp-consensus-slots" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "parity-scale-codec", "scale-info", @@ -7032,7 +6946,7 @@ dependencies = [ [[package]] name = "sp-consensus-vrf" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "parity-scale-codec", "scale-info", @@ -7044,8 +6958,8 @@ dependencies = [ [[package]] name = "sp-core" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "7.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "array-bytes", "base58", @@ -7083,14 +6997,14 @@ dependencies = [ "substrate-bip39", "thiserror", "tiny-bip39 0.8.2", - "wasmi", + "wasmi 0.13.2", "zeroize", ] [[package]] name = "sp-core-hashing" -version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "5.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "blake2", "byteorder", @@ -7104,7 +7018,7 @@ dependencies = [ [[package]] name = "sp-core-hashing-proc-macro" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "proc-macro2", "quote", @@ -7115,7 +7029,7 @@ dependencies = [ [[package]] name = "sp-database" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "kvdb", "parking_lot 0.12.1", @@ -7123,8 +7037,8 @@ dependencies = [ [[package]] name = "sp-debug-derive" -version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "5.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "proc-macro2", "quote", @@ -7133,8 +7047,8 @@ dependencies = [ [[package]] name = "sp-externalities" -version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "0.13.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "environmental", "parity-scale-codec", @@ -7145,7 +7059,7 @@ dependencies = [ [[package]] name = "sp-finality-grandpa" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "finality-grandpa", "log", @@ -7163,7 +7077,7 @@ dependencies = [ [[package]] name = "sp-inherents" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "async-trait", "impl-trait-for-tuples", @@ -7176,10 +7090,11 @@ dependencies = [ [[package]] name = "sp-io" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "7.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "bytes", + "ed25519-dalek", "futures", "hash-db", "libsecp256k1", @@ -7202,8 +7117,8 @@ dependencies = [ [[package]] name = "sp-keyring" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "7.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "lazy_static", "sp-core", @@ -7213,8 +7128,8 @@ dependencies = [ [[package]] name = "sp-keystore" -version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "0.13.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "async-trait", "futures", @@ -7231,7 +7146,7 @@ dependencies = [ [[package]] name = "sp-maybe-compressed-blob" version = "4.1.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "thiserror", "zstd", @@ -7240,8 +7155,9 @@ dependencies = [ [[package]] name = "sp-mmr-primitives" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ + "ckb-merkle-mountain-range", "log", "parity-scale-codec", "scale-info", @@ -7257,7 +7173,7 @@ dependencies = [ [[package]] name = "sp-npos-elections" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "parity-scale-codec", "scale-info", @@ -7271,7 +7187,7 @@ dependencies = [ [[package]] name = "sp-offchain" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "sp-api", "sp-core", @@ -7280,8 +7196,8 @@ dependencies = [ [[package]] name = "sp-panic-handler" -version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "5.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "backtrace", "lazy_static", @@ -7291,7 +7207,7 @@ dependencies = [ [[package]] name = "sp-rpc" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "rustc-hash", "serde", @@ -7300,8 +7216,8 @@ dependencies = [ [[package]] name = "sp-runtime" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "7.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "either", "hash256-std-hasher", @@ -7323,8 +7239,8 @@ dependencies = [ [[package]] name = "sp-runtime-interface" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "7.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "bytes", "impl-trait-for-tuples", @@ -7341,8 +7257,8 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" -version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "6.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "Inflector", "proc-macro-crate", @@ -7354,7 +7270,7 @@ dependencies = [ [[package]] name = "sp-sandbox" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "log", "parity-scale-codec", @@ -7362,13 +7278,13 @@ dependencies = [ "sp-io", "sp-std", "sp-wasm-interface", - "wasmi", + "wasmi 0.13.2", ] [[package]] name = "sp-session" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "parity-scale-codec", "scale-info", @@ -7382,7 +7298,7 @@ dependencies = [ [[package]] name = "sp-staking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "parity-scale-codec", "scale-info", @@ -7392,8 +7308,8 @@ dependencies = [ [[package]] name = "sp-state-machine" -version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "0.13.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "hash-db", "log", @@ -7414,13 +7330,13 @@ dependencies = [ [[package]] name = "sp-std" -version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "5.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" [[package]] name = "sp-storage" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "7.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "impl-serde", "parity-scale-codec", @@ -7433,7 +7349,7 @@ dependencies = [ [[package]] name = "sp-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "async-trait", "futures-timer", @@ -7448,8 +7364,8 @@ dependencies = [ [[package]] name = "sp-tracing" -version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "6.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "parity-scale-codec", "sp-std", @@ -7461,7 +7377,7 @@ dependencies = [ [[package]] name = "sp-transaction-pool" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "sp-api", "sp-runtime", @@ -7470,7 +7386,7 @@ dependencies = [ [[package]] name = "sp-transaction-storage-proof" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "async-trait", "log", @@ -7485,8 +7401,8 @@ dependencies = [ [[package]] name = "sp-trie" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "7.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "ahash", "hash-db", @@ -7509,7 +7425,7 @@ dependencies = [ [[package]] name = "sp-version" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "impl-serde", "parity-scale-codec", @@ -7526,7 +7442,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "parity-scale-codec", "proc-macro2", @@ -7536,21 +7452,21 @@ dependencies = [ [[package]] name = "sp-wasm-interface" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "7.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "impl-trait-for-tuples", "log", "parity-scale-codec", "sp-std", - "wasmi", + "wasmi 0.13.2", "wasmtime", ] [[package]] name = "sp-weights" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -7569,6 +7485,12 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" +[[package]] +name = "spin" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7dccf47db1b41fa1573ed27ccf5e08e3ca771cb994f776668c5ebda893b248fc" + [[package]] name = "spki" version = "0.6.0" @@ -7691,7 +7613,7 @@ dependencies = [ [[package]] name = "substrate-build-script-utils" version = "3.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "platforms 2.0.0", ] @@ -7699,7 +7621,7 @@ dependencies = [ [[package]] name = "substrate-frame-rpc-system" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "frame-system-rpc-runtime-api", "futures", @@ -7720,7 +7642,7 @@ dependencies = [ [[package]] name = "substrate-prometheus-endpoint" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "futures-util", "hyper", @@ -7733,7 +7655,7 @@ dependencies = [ [[package]] name = "substrate-rpc-client" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "async-trait", "jsonrpsee", @@ -7746,7 +7668,7 @@ dependencies = [ [[package]] name = "substrate-test-client" version = "2.0.1" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "array-bytes", "async-trait", @@ -7772,10 +7694,9 @@ dependencies = [ [[package]] name = "substrate-test-runtime" version = "2.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "beefy-merkle-tree", - "beefy-primitives", "cfg-if", "frame-support", "frame-system", @@ -7791,6 +7712,7 @@ dependencies = [ "serde", "sp-api", "sp-application-crypto", + "sp-beefy", "sp-block-builder", "sp-consensus-aura", "sp-consensus-babe", @@ -7816,7 +7738,7 @@ dependencies = [ [[package]] name = "substrate-test-runtime-client" version = "2.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "futures", "parity-scale-codec", @@ -7835,7 +7757,7 @@ dependencies = [ [[package]] name = "substrate-wasm-builder" version = "5.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "ansi_term", "build-helper", @@ -8265,6 +8187,7 @@ dependencies = [ "smallvec", "thiserror", "tinyvec", + "tokio", "tracing", "url", ] @@ -8284,6 +8207,7 @@ dependencies = [ "resolv-conf", "smallvec", "thiserror", + "tokio", "tracing", "trust-dns-proto", ] @@ -8297,13 +8221,13 @@ checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642" [[package]] name = "try-runtime-cli" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "clap", + "frame-remote-externalities", "frame-try-runtime", "log", "parity-scale-codec", - "remote-externalities", "sc-chain-spec", "sc-cli", "sc-executor", @@ -8444,16 +8368,6 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" -[[package]] -name = "value-bag" -version = "1.0.0-alpha.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2209b78d1249f7e6f3293657c9779fe31ced465df091bbd433a1cf88e916ec55" -dependencies = [ - "ctor", - "version_check", -] - [[package]] name = "vcpkg" version = "0.2.15" @@ -8592,6 +8506,15 @@ dependencies = [ "parity-wasm", ] +[[package]] +name = "wasm-instrument" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a47ecb37b9734d1085eaa5ae1a81e60801fd8c28d4cabdd8aedb982021918bc" +dependencies = [ + "parity-wasm", +] + [[package]] name = "wasm-opt" version = "0.110.2" @@ -8656,7 +8579,19 @@ checksum = "06c326c93fbf86419608361a2c925a31754cf109da1b8b55737070b4d6669422" dependencies = [ "parity-wasm", "wasmi-validation", - "wasmi_core", + "wasmi_core 0.2.1", +] + +[[package]] +name = "wasmi" +version = "0.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "01bf50edb2ea9d922aa75a7bf3c15e26a6c9e2d18c56e862b49737a582901729" +dependencies = [ + "spin 0.9.5", + "wasmi_arena", + "wasmi_core 0.5.0", + "wasmparser-nostd", ] [[package]] @@ -8668,6 +8603,12 @@ dependencies = [ "parity-wasm", ] +[[package]] +name = "wasmi_arena" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1ea379cbb0b41f3a9f0bf7b47036d036aae7f43383d8cc487d4deccf40dee0a" + [[package]] name = "wasmi_core" version = "0.2.1" @@ -8681,6 +8622,17 @@ dependencies = [ "num-traits", ] +[[package]] +name = "wasmi_core" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c5bf998ab792be85e20e771fe14182b4295571ad1d4f89d3da521c1bef5f597a" +dependencies = [ + "downcast-rs", + "libm 0.2.6", + "num-traits", +] + [[package]] name = "wasmparser" version = "0.89.1" @@ -8690,6 +8642,15 @@ dependencies = [ "indexmap", ] +[[package]] +name = "wasmparser-nostd" +version = "0.91.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c37f310b5a62bfd5ae7c0f1d8e6f98af16a5d6d84ba764e9c36439ec14e318b" +dependencies = [ + "indexmap-nostd", +] + [[package]] name = "wasmtime" version = "1.0.2" diff --git a/aleph-client/Cargo.lock b/aleph-client/Cargo.lock index 2d0fb01f7d..803eb68da5 100644 --- a/aleph-client/Cargo.lock +++ b/aleph-client/Cargo.lock @@ -65,7 +65,7 @@ dependencies = [ "primitives", "serde", "serde_json", - "sp-runtime 6.0.0", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "subxt", "thiserror", "tokio", @@ -194,6 +194,15 @@ dependencies = [ "serde", ] +[[package]] +name = "bincode" +version = "1.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad" +dependencies = [ + "serde", +] + [[package]] name = "bitflags" version = "1.3.2" @@ -394,8 +403,8 @@ dependencies = [ "scale-info", "serde", "serde_json", - "sp-core 7.0.0", - "sp-runtime 7.0.0", + "sp-core 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-runtime 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "tracing", ] @@ -415,6 +424,15 @@ version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc" +[[package]] +name = "cpp_demangle" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eeaa953eaad386a53111e47172c2fedba671e5684c8dd601a5f474f4f118710f" +dependencies = [ + "cfg-if", +] + [[package]] name = "cpufeatures" version = "0.2.5" @@ -424,6 +442,24 @@ dependencies = [ "libc", ] +[[package]] +name = "cranelift-entity" +version = "0.88.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87a0f1b2fdc18776956370cf8d9b009ded3f855350c480c1c52142510961f352" +dependencies = [ + "serde", +] + +[[package]] +name = "crc32fast" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d" +dependencies = [ + "cfg-if", +] + [[package]] name = "crunchy" version = "0.2.2" @@ -683,6 +719,27 @@ dependencies = [ "signature", ] +[[package]] +name = "ed25519" +version = "1.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91cff35c70bba8a626e3185d8cd48cc11b5437e1a5bcd15b9b5fa3c64b6dfee7" +dependencies = [ + "signature", +] + +[[package]] +name = "ed25519-dalek" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c762bae6dcaf24c4c84667b8579785430908723d5c889f469d76a41d59cc7a9d" +dependencies = [ + "curve25519-dalek 3.2.0", + "ed25519", + "sha2 0.9.9", + "zeroize", +] + [[package]] name = "ed25519-zebra" version = "3.1.0" @@ -728,6 +785,27 @@ version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e48c92028aaa870e83d51c64e5d4e0b6981b360c522198c23959f219a4e1b15b" +[[package]] +name = "errno" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f639046355ee4f37944e44f60642c6f3a7efa3cf6b78c78a0d989a8ce6c396a1" +dependencies = [ + "errno-dragonfly", + "libc", + "winapi", +] + +[[package]] +name = "errno-dragonfly" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf" +dependencies = [ + "cc", + "libc", +] + [[package]] name = "escape8259" version = "0.5.2" @@ -749,6 +827,12 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed" +[[package]] +name = "fallible-iterator" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7" + [[package]] name = "fastrand" version = "1.8.0" @@ -810,7 +894,7 @@ dependencies = [ [[package]] name = "frame-support" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "bitflags", "frame-metadata", @@ -825,24 +909,24 @@ dependencies = [ "serde", "smallvec", "sp-api", - "sp-arithmetic 5.0.0", - "sp-core 6.0.0", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "sp-core-hashing-proc-macro", "sp-inherents", - "sp-io 6.0.0", - "sp-runtime 6.0.0", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "sp-staking", - "sp-state-machine 0.12.0", - "sp-std 4.0.0", - "sp-tracing 5.0.0", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33)", + "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "tt-call", ] [[package]] name = "frame-support-procedural" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "Inflector", "cfg-expr", @@ -856,7 +940,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate", @@ -868,7 +952,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "proc-macro2", "quote", @@ -1042,6 +1126,10 @@ name = "gimli" version = "0.26.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "22030e2c5a68ec659fde1e949a745124b48e6fa8b045b7ed5bd1fe4ccc5c4e5d" +dependencies = [ + "fallible-iterator", + "stable_deref_trait", +] [[package]] name = "group" @@ -1315,6 +1403,7 @@ checksum = "1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399" dependencies = [ "autocfg", "hashbrown", + "serde", ] [[package]] @@ -1436,6 +1525,12 @@ dependencies = [ "num-traits", ] +[[package]] +name = "io-lifetimes" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59ce5ef949d49ee85593fc4d3f3f95ad61657076395cbbce23e2121fc5542074" + [[package]] name = "itertools" version = "0.10.5" @@ -1651,6 +1746,12 @@ dependencies = [ "cc", ] +[[package]] +name = "linux-raw-sys" +version = "0.0.46" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4d2456c373231a208ad294c33dc5bff30051eafd954cd4caae83a712b12854d" + [[package]] name = "lock_api" version = "0.4.9" @@ -1679,6 +1780,15 @@ dependencies = [ "hashbrown", ] +[[package]] +name = "mach" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b823e83b2affd8f40a9ee8c29dbc56404c1e34cd2710921f2801e2cf29527afa" +dependencies = [ + "libc", +] + [[package]] name = "matchers" version = "0.0.1" @@ -1694,6 +1804,15 @@ version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" +[[package]] +name = "memoffset" +version = "0.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce" +dependencies = [ + "autocfg", +] + [[package]] name = "memory-db" version = "0.30.0" @@ -1847,6 +1966,9 @@ version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "21158b2c33aa6d4561f1c0a6ea283ca92bc54802a93b263e910746d679a7eb53" dependencies = [ + "crc32fast", + "hashbrown", + "indexmap", "memchr", ] @@ -1876,14 +1998,14 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "pallet-contracts-primitives" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "7.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "bitflags", "parity-scale-codec", - "sp-runtime 6.0.0", - "sp-std 4.0.0", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", ] [[package]] @@ -2073,11 +2195,11 @@ dependencies = [ "scale-info", "serde", "sp-api", - "sp-application-crypto 6.0.0", - "sp-core 6.0.0", - "sp-runtime 6.0.0", + "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "sp-staking", - "sp-std 4.0.0", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", ] [[package]] @@ -2124,6 +2246,15 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "psm" +version = "0.1.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5787f7cda34e3033a72192c018bc5883100330f362ef279a8cbccfce8bb4e874" +dependencies = [ + "cc", +] + [[package]] name = "quote" version = "1.0.21" @@ -2325,6 +2456,20 @@ version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3e75f6a532d0fd9f7f13144f392b6ad56a32696bfcd9c78f797f16bbb6f072d6" +[[package]] +name = "rustix" +version = "0.35.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "727a1a6d65f786ec22df8a81ca3121107f235970dc1705ed681d3e6e8b9cd5f9" +dependencies = [ + "bitflags", + "errno", + "io-lifetimes", + "libc", + "linux-raw-sys", + "windows-sys 0.42.0", +] + [[package]] name = "rustls" version = "0.20.7" @@ -2711,17 +2856,17 @@ dependencies = [ [[package]] name = "sp-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "hash-db", "log", "parity-scale-codec", "sp-api-proc-macro", - "sp-core 6.0.0", - "sp-runtime 6.0.0", - "sp-state-machine 0.12.0", - "sp-std 4.0.0", - "sp-trie 6.0.0", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "sp-version", "thiserror", ] @@ -2729,7 +2874,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "blake2", "proc-macro-crate", @@ -2740,66 +2885,67 @@ dependencies = [ [[package]] name = "sp-application-crypto" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30a70f8245ad75c773c43e46d16e81adb62290d37cd07efcde6cef06d93235e5" dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core 6.0.0", - "sp-io 6.0.0", - "sp-std 4.0.0", + "sp-core 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-io 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "sp-application-crypto" version = "7.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30a70f8245ad75c773c43e46d16e81adb62290d37cd07efcde6cef06d93235e5" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core 7.0.0", - "sp-io 7.0.0", - "sp-std 5.0.0", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", ] [[package]] name = "sp-arithmetic" -version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3856b3e912f0a7a1332f1642b5fd3c2e76476e894c656538d32c004698690157" dependencies = [ "integer-sqrt", "num-traits", "parity-scale-codec", "scale-info", "serde", - "sp-debug-derive 4.0.0", - "sp-std 4.0.0", + "sp-debug-derive 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "static_assertions", ] [[package]] name = "sp-arithmetic" version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3856b3e912f0a7a1332f1642b5fd3c2e76476e894c656538d32c004698690157" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "integer-sqrt", "num-traits", "parity-scale-codec", "scale-info", "serde", - "sp-debug-derive 5.0.0", - "sp-std 5.0.0", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "static_assertions", ] [[package]] name = "sp-core" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88c78530907dbf7949af928d0ce88b485067389201b6d9b468074b1924f209f0" dependencies = [ "array-bytes", "base58", @@ -2827,12 +2973,12 @@ dependencies = [ "secp256k1", "secrecy", "serde", - "sp-core-hashing 4.0.0", - "sp-debug-derive 4.0.0", - "sp-externalities 0.12.0", - "sp-runtime-interface 6.0.0", - "sp-std 4.0.0", - "sp-storage 6.0.0", + "sp-core-hashing 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-debug-derive 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-externalities 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-runtime-interface 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-storage 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "ss58-registry", "substrate-bip39", "thiserror", @@ -2844,8 +2990,7 @@ dependencies = [ [[package]] name = "sp-core" version = "7.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88c78530907dbf7949af928d0ce88b485067389201b6d9b468074b1924f209f0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "array-bytes", "base58", @@ -2873,12 +3018,12 @@ dependencies = [ "secp256k1", "secrecy", "serde", - "sp-core-hashing 5.0.0", - "sp-debug-derive 5.0.0", - "sp-externalities 0.13.0", - "sp-runtime-interface 7.0.0", - "sp-std 5.0.0", - "sp-storage 7.0.0", + "sp-core-hashing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "ss58-registry", "substrate-bip39", "thiserror", @@ -2889,48 +3034,49 @@ dependencies = [ [[package]] name = "sp-core-hashing" -version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "5.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49b9d1daa6aebfc144729b630885e91df92ff00560490ec065a56cb538e8895a" dependencies = [ "blake2", "byteorder", "digest 0.10.6", "sha2 0.10.6", "sha3", - "sp-std 4.0.0", + "sp-std 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "twox-hash", ] [[package]] name = "sp-core-hashing" version = "5.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49b9d1daa6aebfc144729b630885e91df92ff00560490ec065a56cb538e8895a" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "blake2", "byteorder", "digest 0.10.6", "sha2 0.10.6", "sha3", - "sp-std 5.0.0", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "twox-hash", ] [[package]] name = "sp-core-hashing-proc-macro" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "proc-macro2", "quote", - "sp-core-hashing 4.0.0", + "sp-core-hashing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "syn", ] [[package]] name = "sp-debug-derive" -version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "5.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9e9ba7352773b96a4aa57e903447f841c6bc26e8c798377db6e7eb332346454" dependencies = [ "proc-macro2", "quote", @@ -2940,8 +3086,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "5.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9e9ba7352773b96a4aa57e903447f841c6bc26e8c798377db6e7eb332346454" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "proc-macro2", "quote", @@ -2950,45 +3095,46 @@ dependencies = [ [[package]] name = "sp-externalities" -version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef739442230f49d88ece41259e5d886d6b8bc0f4197ef7f1585c39c762ce7ef2" dependencies = [ "environmental", "parity-scale-codec", - "sp-std 4.0.0", - "sp-storage 6.0.0", + "sp-std 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-storage 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "sp-externalities" version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef739442230f49d88ece41259e5d886d6b8bc0f4197ef7f1585c39c762ce7ef2" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "environmental", "parity-scale-codec", - "sp-std 5.0.0", - "sp-storage 7.0.0", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", ] [[package]] name = "sp-inherents" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "async-trait", "impl-trait-for-tuples", "parity-scale-codec", - "sp-core 6.0.0", - "sp-runtime 6.0.0", - "sp-std 4.0.0", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "thiserror", ] [[package]] name = "sp-io" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6280bd3643354f7ff0b2abd36c687745455779231a7a86d90945608f0d4924c4" dependencies = [ "bytes", "futures", @@ -2998,15 +3144,15 @@ dependencies = [ "parity-scale-codec", "parking_lot", "secp256k1", - "sp-core 6.0.0", - "sp-externalities 0.12.0", - "sp-keystore 0.12.0", - "sp-runtime-interface 6.0.0", - "sp-state-machine 0.12.0", - "sp-std 4.0.0", - "sp-tracing 5.0.0", - "sp-trie 6.0.0", - "sp-wasm-interface 6.0.0", + "sp-core 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-externalities 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-keystore 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-runtime-interface 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-state-machine 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-tracing 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-trie 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-wasm-interface 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "tracing", "tracing-core", ] @@ -3014,10 +3160,10 @@ dependencies = [ [[package]] name = "sp-io" version = "7.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6280bd3643354f7ff0b2abd36c687745455779231a7a86d90945608f0d4924c4" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "bytes", + "ed25519-dalek", "futures", "hash-db", "libsecp256k1", @@ -3025,23 +3171,24 @@ dependencies = [ "parity-scale-codec", "parking_lot", "secp256k1", - "sp-core 7.0.0", - "sp-externalities 0.13.0", - "sp-keystore 0.13.0", - "sp-runtime-interface 7.0.0", - "sp-state-machine 0.13.0", - "sp-std 5.0.0", - "sp-tracing 6.0.0", - "sp-trie 7.0.0", - "sp-wasm-interface 7.0.0", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-keystore 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-wasm-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "tracing", "tracing-core", ] [[package]] name = "sp-keystore" -version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a44bec4f0d036b6993c14bbee4216781f21275e5c201e43e45fed4a434bf0e5a" dependencies = [ "async-trait", "futures", @@ -3049,16 +3196,15 @@ dependencies = [ "parity-scale-codec", "parking_lot", "schnorrkel", - "sp-core 6.0.0", - "sp-externalities 0.12.0", + "sp-core 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-externalities 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", "thiserror", ] [[package]] name = "sp-keystore" version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a44bec4f0d036b6993c14bbee4216781f21275e5c201e43e45fed4a434bf0e5a" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "async-trait", "futures", @@ -3066,15 +3212,16 @@ dependencies = [ "parity-scale-codec", "parking_lot", "schnorrkel", - "sp-core 7.0.0", - "sp-externalities 0.13.0", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "thiserror", ] [[package]] name = "sp-panic-handler" -version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "5.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97549ec99cb289db2a9f5c656b6880f7c90097135e1ca6c6ae4fe5694232e526" dependencies = [ "backtrace", "lazy_static", @@ -3084,8 +3231,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "5.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97549ec99cb289db2a9f5c656b6880f7c90097135e1ca6c6ae4fe5694232e526" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "backtrace", "lazy_static", @@ -3094,8 +3240,9 @@ dependencies = [ [[package]] name = "sp-runtime" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0edfc5c54c2b31d2f0cf904d472a0bff7125c0c2a2e2330507842e56f9a27444" dependencies = [ "either", "hash256-std-hasher", @@ -3107,19 +3254,18 @@ dependencies = [ "rand 0.7.3", "scale-info", "serde", - "sp-application-crypto 6.0.0", - "sp-arithmetic 5.0.0", - "sp-core 6.0.0", - "sp-io 6.0.0", - "sp-std 4.0.0", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33)", + "sp-application-crypto 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-arithmetic 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-core 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-io 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-weights 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "sp-runtime" version = "7.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0edfc5c54c2b31d2f0cf904d472a0bff7125c0c2a2e2330507842e56f9a27444" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "either", "hash256-std-hasher", @@ -3131,55 +3277,56 @@ dependencies = [ "rand 0.7.3", "scale-info", "serde", - "sp-application-crypto 7.0.0", - "sp-arithmetic 6.0.0", - "sp-core 7.0.0", - "sp-io 7.0.0", - "sp-std 5.0.0", - "sp-weights 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", ] [[package]] name = "sp-runtime-interface" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b886a5d34400b0e0c12d389e3bb48b7a93d651cddf7e248124b81fe64c339251" dependencies = [ "bytes", "impl-trait-for-tuples", "parity-scale-codec", "primitive-types", - "sp-externalities 0.12.0", - "sp-runtime-interface-proc-macro 5.0.0", - "sp-std 4.0.0", - "sp-storage 6.0.0", - "sp-tracing 5.0.0", - "sp-wasm-interface 6.0.0", + "sp-externalities 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-runtime-interface-proc-macro 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-storage 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-tracing 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-wasm-interface 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "static_assertions", ] [[package]] name = "sp-runtime-interface" version = "7.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b886a5d34400b0e0c12d389e3bb48b7a93d651cddf7e248124b81fe64c339251" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "bytes", "impl-trait-for-tuples", "parity-scale-codec", "primitive-types", - "sp-externalities 0.13.0", - "sp-runtime-interface-proc-macro 6.0.0", - "sp-std 5.0.0", - "sp-storage 7.0.0", - "sp-tracing 6.0.0", - "sp-wasm-interface 7.0.0", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-runtime-interface-proc-macro 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-wasm-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "static_assertions", ] [[package]] name = "sp-runtime-interface-proc-macro" -version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a157f1ce0108b9b87f87e826726049d9b6253318b74410c814be7fc2af416b51" dependencies = [ "Inflector", "proc-macro-crate", @@ -3191,8 +3338,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a157f1ce0108b9b87f87e826726049d9b6253318b74410c814be7fc2af416b51" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "Inflector", "proc-macro-crate", @@ -3204,18 +3350,19 @@ dependencies = [ [[package]] name = "sp-staking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "parity-scale-codec", "scale-info", - "sp-runtime 6.0.0", - "sp-std 4.0.0", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", ] [[package]] name = "sp-state-machine" -version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5c2d97ad69011d34ca257f0383532b80096d53f889f5894ae2b24a211bec66f" dependencies = [ "hash-db", "log", @@ -3224,11 +3371,11 @@ dependencies = [ "parking_lot", "rand 0.7.3", "smallvec", - "sp-core 6.0.0", - "sp-externalities 0.12.0", - "sp-panic-handler 4.0.0", - "sp-std 4.0.0", - "sp-trie 6.0.0", + "sp-core 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-externalities 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-panic-handler 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-trie 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "thiserror", "tracing", "trie-root", @@ -3237,8 +3384,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5c2d97ad69011d34ca257f0383532b80096d53f889f5894ae2b24a211bec66f" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "hash-db", "log", @@ -3247,11 +3393,11 @@ dependencies = [ "parking_lot", "rand 0.7.3", "smallvec", - "sp-core 7.0.0", - "sp-externalities 0.13.0", - "sp-panic-handler 5.0.0", - "sp-std 5.0.0", - "sp-trie 7.0.0", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-panic-handler 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "thiserror", "tracing", "trie-root", @@ -3259,49 +3405,50 @@ dependencies = [ [[package]] name = "sp-std" -version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "5.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf3fd4c1d304be101e6ebbafd3d4be9a37b320c970ef4e8df188b16873981c93" [[package]] name = "sp-std" version = "5.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf3fd4c1d304be101e6ebbafd3d4be9a37b320c970ef4e8df188b16873981c93" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" [[package]] name = "sp-storage" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eb987ed2e4d7d870170a225083ea962f2a359d75cdf76935d5ed8d91bee912d9" dependencies = [ "impl-serde", "parity-scale-codec", "ref-cast", "serde", - "sp-debug-derive 4.0.0", - "sp-std 4.0.0", + "sp-debug-derive 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "sp-storage" version = "7.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb987ed2e4d7d870170a225083ea962f2a359d75cdf76935d5ed8d91bee912d9" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "impl-serde", "parity-scale-codec", "ref-cast", "serde", - "sp-debug-derive 5.0.0", - "sp-std 5.0.0", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", ] [[package]] name = "sp-tracing" -version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e761df87dc940d87720939de8f976d1fc0657e523886ae0d7bf3f7e2e2f0abb6" dependencies = [ "parity-scale-codec", - "sp-std 4.0.0", + "sp-std 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "tracing", "tracing-core", "tracing-subscriber", @@ -3310,11 +3457,10 @@ dependencies = [ [[package]] name = "sp-tracing" version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e761df87dc940d87720939de8f976d1fc0657e523886ae0d7bf3f7e2e2f0abb6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "parity-scale-codec", - "sp-std 5.0.0", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "tracing", "tracing-core", "tracing-subscriber", @@ -3322,8 +3468,9 @@ dependencies = [ [[package]] name = "sp-trie" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f4f48c887e90050537e399d2d8b6ee82787ebec0fe46e4880b42cab0c2d5ba6" dependencies = [ "ahash", "hash-db", @@ -3335,8 +3482,8 @@ dependencies = [ "parity-scale-codec", "parking_lot", "scale-info", - "sp-core 6.0.0", - "sp-std 4.0.0", + "sp-core 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "thiserror", "tracing", "trie-db", @@ -3346,8 +3493,7 @@ dependencies = [ [[package]] name = "sp-trie" version = "7.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f4f48c887e90050537e399d2d8b6ee82787ebec0fe46e4880b42cab0c2d5ba6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "ahash", "hash-db", @@ -3359,8 +3505,8 @@ dependencies = [ "parity-scale-codec", "parking_lot", "scale-info", - "sp-core 7.0.0", - "sp-std 5.0.0", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "thiserror", "tracing", "trie-db", @@ -3370,7 +3516,7 @@ dependencies = [ [[package]] name = "sp-version" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "impl-serde", "parity-scale-codec", @@ -3378,8 +3524,8 @@ dependencies = [ "scale-info", "serde", "sp-core-hashing-proc-macro", - "sp-runtime 6.0.0", - "sp-std 4.0.0", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "sp-version-proc-macro", "thiserror", ] @@ -3387,7 +3533,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "parity-scale-codec", "proc-macro2", @@ -3397,27 +3543,28 @@ dependencies = [ [[package]] name = "sp-wasm-interface" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4f43c40afab6ecac20505907631c929957ed636b7af8795984649bbaa6ff38c3" dependencies = [ "impl-trait-for-tuples", "log", "parity-scale-codec", - "sp-std 4.0.0", + "sp-std 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "wasmi", ] [[package]] name = "sp-wasm-interface" version = "7.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f43c40afab6ecac20505907631c929957ed636b7af8795984649bbaa6ff38c3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "impl-trait-for-tuples", "log", "parity-scale-codec", - "sp-std 5.0.0", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "wasmi", + "wasmtime", ] [[package]] @@ -3431,26 +3578,26 @@ dependencies = [ "scale-info", "serde", "smallvec", - "sp-arithmetic 6.0.0", - "sp-core 7.0.0", - "sp-debug-derive 5.0.0", - "sp-std 5.0.0", + "sp-arithmetic 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-core 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-debug-derive 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "sp-weights" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", "scale-info", "serde", "smallvec", - "sp-arithmetic 5.0.0", - "sp-core 6.0.0", - "sp-debug-derive 4.0.0", - "sp-std 4.0.0", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", ] [[package]] @@ -3484,6 +3631,12 @@ dependencies = [ "unicode-xid", ] +[[package]] +name = "stable_deref_trait" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" + [[package]] name = "static_assertions" version = "1.1.0" @@ -3535,8 +3688,8 @@ dependencies = [ "scale-value", "serde", "serde_json", - "sp-core 7.0.0", - "sp-runtime 7.0.0", + "sp-core 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-runtime 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "subxt-macro", "subxt-metadata", "thiserror", @@ -3585,7 +3738,7 @@ dependencies = [ "frame-metadata", "parity-scale-codec", "scale-info", - "sp-core 7.0.0", + "sp-core 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -3617,6 +3770,12 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" +[[package]] +name = "target-lexicon" +version = "0.12.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ae9980cab1db3fceee2f6c6f643d5d8de2997c58ee8d25fb0cc8a9e9e7348e5" + [[package]] name = "termcolor" version = "1.1.3" @@ -4077,6 +4236,137 @@ dependencies = [ "num-traits", ] +[[package]] +name = "wasmparser" +version = "0.89.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab5d3e08b13876f96dd55608d03cd4883a0545884932d5adf11925876c96daef" +dependencies = [ + "indexmap", +] + +[[package]] +name = "wasmtime" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ad5af6ba38311282f2a21670d96e78266e8c8e2f38cbcd52c254df6ccbc7731" +dependencies = [ + "anyhow", + "bincode", + "cfg-if", + "indexmap", + "libc", + "log", + "object", + "once_cell", + "paste", + "psm", + "serde", + "target-lexicon", + "wasmparser", + "wasmtime-environ", + "wasmtime-jit", + "wasmtime-runtime", + "windows-sys 0.36.1", +] + +[[package]] +name = "wasmtime-asm-macros" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "45de63ddfc8b9223d1adc8f7b2ee5f35d1f6d112833934ad7ea66e4f4339e597" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "wasmtime-environ" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebb881c61f4f627b5d45c54e629724974f8a8890d455bcbe634330cc27309644" +dependencies = [ + "anyhow", + "cranelift-entity", + "gimli", + "indexmap", + "log", + "object", + "serde", + "target-lexicon", + "thiserror", + "wasmparser", + "wasmtime-types", +] + +[[package]] +name = "wasmtime-jit" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1985c628011fe26adf5e23a5301bdc79b245e0e338f14bb58b39e4e25e4d8681" +dependencies = [ + "addr2line", + "anyhow", + "bincode", + "cfg-if", + "cpp_demangle", + "gimli", + "log", + "object", + "rustc-demangle", + "rustix", + "serde", + "target-lexicon", + "thiserror", + "wasmtime-environ", + "wasmtime-runtime", + "windows-sys 0.36.1", +] + +[[package]] +name = "wasmtime-jit-debug" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f671b588486f5ccec8c5a3dba6b4c07eac2e66ab8c60e6f4e53717c77f709731" +dependencies = [ + "once_cell", +] + +[[package]] +name = "wasmtime-runtime" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee8f92ad4b61736339c29361da85769ebc200f184361959d1792832e592a1afd" +dependencies = [ + "anyhow", + "cc", + "cfg-if", + "indexmap", + "libc", + "log", + "mach", + "memoffset", + "paste", + "rand 0.8.5", + "rustix", + "thiserror", + "wasmtime-asm-macros", + "wasmtime-environ", + "wasmtime-jit-debug", + "windows-sys 0.36.1", +] + +[[package]] +name = "wasmtime-types" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d23d61cb4c46e837b431196dd06abb11731541021916d03476a178b54dc07aeb" +dependencies = [ + "cranelift-entity", + "serde", + "thiserror", + "wasmparser", +] + [[package]] name = "web-sys" version = "0.3.60" diff --git a/aleph-client/Cargo.toml b/aleph-client/Cargo.toml index 328bb2edac..e05ee34c78 100644 --- a/aleph-client/Cargo.toml +++ b/aleph-client/Cargo.toml @@ -20,9 +20,9 @@ subxt = "0.25.0" futures = "0.3.25" serde = { version = "1.0", features = ["derive"] } -frame-support = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -pallet-contracts-primitives = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +frame-support = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +pallet-contracts-primitives = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } primitives = { path = "../primitives" } [dev-dependencies] diff --git a/aleph-client/src/aleph_zero.rs b/aleph-client/src/aleph_zero.rs index 2c9e8a99ae..682deb8446 100644 --- a/aleph-client/src/aleph_zero.rs +++ b/aleph-client/src/aleph_zero.rs @@ -80,17 +80,6 @@ pub mod api { Eq, PartialEq, )] - pub struct FillBlock { - pub ratio: runtime_types::sp_arithmetic::per_things::Perbill, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - Clone, - Debug, - Eq, - PartialEq, - )] pub struct Remark { pub remark: ::std::vec::Vec<::core::primitive::u8>, } @@ -178,23 +167,6 @@ pub mod api { } pub struct TransactionApi; impl TransactionApi { - #[doc = "A dispatch that will fill the block weight up to the given ratio."] - pub fn fill_block( - &self, - ratio: runtime_types::sp_arithmetic::per_things::Perbill, - ) -> ::subxt::tx::StaticTxPayload { - ::subxt::tx::StaticTxPayload::new( - "System", - "fill_block", - FillBlock { ratio }, - [ - 48u8, 18u8, 205u8, 90u8, 222u8, 4u8, 20u8, 251u8, 173u8, 76u8, 167u8, - 4u8, 83u8, 203u8, 160u8, 89u8, 132u8, 218u8, 191u8, 145u8, 130u8, - 245u8, 177u8, 201u8, 169u8, 129u8, 173u8, 105u8, 88u8, 45u8, 136u8, - 191u8, - ], - ) - } #[doc = "Make some on-chain remark."] #[doc = ""] #[doc = "# "] @@ -1211,9 +1183,9 @@ pub mod api { call: ::std::boxed::Box::new(call), }, [ - 65u8, 106u8, 17u8, 223u8, 120u8, 72u8, 206u8, 236u8, 212u8, 89u8, 93u8, - 114u8, 145u8, 112u8, 242u8, 57u8, 42u8, 34u8, 248u8, 14u8, 210u8, - 191u8, 72u8, 211u8, 66u8, 48u8, 42u8, 16u8, 185u8, 194u8, 112u8, 78u8, + 92u8, 125u8, 1u8, 227u8, 15u8, 14u8, 163u8, 233u8, 121u8, 5u8, 80u8, + 172u8, 25u8, 62u8, 179u8, 250u8, 154u8, 221u8, 186u8, 7u8, 182u8, 60u8, + 110u8, 253u8, 117u8, 173u8, 7u8, 246u8, 230u8, 15u8, 25u8, 62u8, ], ) } @@ -1257,10 +1229,10 @@ pub mod api { call: ::std::boxed::Box::new(call), }, [ - 19u8, 247u8, 128u8, 183u8, 108u8, 157u8, 65u8, 154u8, 101u8, 173u8, - 110u8, 109u8, 218u8, 119u8, 94u8, 165u8, 156u8, 106u8, 84u8, 225u8, - 119u8, 5u8, 192u8, 23u8, 104u8, 185u8, 138u8, 189u8, 152u8, 155u8, - 43u8, 213u8, + 192u8, 213u8, 182u8, 108u8, 161u8, 193u8, 232u8, 177u8, 178u8, 98u8, + 188u8, 130u8, 137u8, 228u8, 18u8, 154u8, 118u8, 212u8, 42u8, 70u8, + 245u8, 72u8, 54u8, 177u8, 161u8, 236u8, 11u8, 8u8, 129u8, 61u8, 8u8, + 252u8, ], ) } @@ -1305,10 +1277,9 @@ pub mod api { call: ::std::boxed::Box::new(call), }, [ - 185u8, 107u8, 34u8, 186u8, 237u8, 126u8, 193u8, 49u8, 182u8, 82u8, - 234u8, 42u8, 135u8, 2u8, 27u8, 192u8, 213u8, 64u8, 236u8, 54u8, 77u8, - 244u8, 113u8, 226u8, 63u8, 137u8, 223u8, 73u8, 149u8, 191u8, 65u8, - 236u8, + 84u8, 194u8, 155u8, 233u8, 100u8, 242u8, 158u8, 213u8, 203u8, 205u8, + 7u8, 88u8, 157u8, 248u8, 35u8, 110u8, 131u8, 45u8, 179u8, 121u8, 105u8, + 89u8, 157u8, 48u8, 119u8, 100u8, 101u8, 13u8, 85u8, 26u8, 11u8, 131u8, ], ) } @@ -1339,10 +1310,10 @@ pub mod api { call: ::std::boxed::Box::new(call), }, [ - 159u8, 40u8, 151u8, 156u8, 185u8, 13u8, 166u8, 188u8, 168u8, 56u8, - 201u8, 54u8, 228u8, 123u8, 186u8, 199u8, 38u8, 150u8, 171u8, 71u8, - 155u8, 194u8, 215u8, 126u8, 79u8, 242u8, 132u8, 80u8, 114u8, 38u8, - 215u8, 123u8, + 2u8, 173u8, 159u8, 127u8, 215u8, 234u8, 101u8, 247u8, 196u8, 86u8, + 141u8, 160u8, 137u8, 183u8, 147u8, 152u8, 148u8, 59u8, 113u8, 198u8, + 167u8, 13u8, 46u8, 45u8, 37u8, 245u8, 173u8, 70u8, 96u8, 106u8, 127u8, + 106u8, ], ) } @@ -2352,6 +2323,27 @@ pub mod api { ], ) } + #[doc = " The total units of outstanding deactivated balance in the system."] + pub fn inactive_issuance( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Balances", + "InactiveIssuance", + vec![], + [ + 74u8, 203u8, 111u8, 142u8, 225u8, 104u8, 173u8, 51u8, 226u8, 12u8, + 85u8, 135u8, 41u8, 206u8, 177u8, 238u8, 94u8, 246u8, 184u8, 250u8, + 140u8, 213u8, 91u8, 118u8, 163u8, 111u8, 211u8, 46u8, 204u8, 160u8, + 154u8, 21u8, + ], + ) + } #[doc = " The Balances pallet example of storing the balance of an account."] #[doc = ""] #[doc = " # Example"] @@ -2558,29 +2550,6 @@ pub mod api { ], ) } - #[doc = " Storage version of the pallet."] - #[doc = ""] - #[doc = " This is set to v2.0.0 for new networks."] - pub fn storage_version( - &self, - ) -> ::subxt::storage::address::StaticStorageAddress< - ::subxt::metadata::DecodeStaticType, - ::subxt::storage::address::Yes, - ::subxt::storage::address::Yes, - (), - > { - ::subxt::storage::address::StaticStorageAddress::new( - "Balances", - "StorageVersion", - vec![], - [ - 135u8, 96u8, 28u8, 234u8, 124u8, 212u8, 56u8, 140u8, 40u8, 101u8, - 235u8, 128u8, 136u8, 221u8, 182u8, 81u8, 17u8, 9u8, 184u8, 228u8, - 174u8, 165u8, 200u8, 162u8, 214u8, 178u8, 227u8, 72u8, 34u8, 5u8, - 173u8, 96u8, - ], - ) - } } } pub mod constants { @@ -7523,6 +7492,26 @@ pub mod api { ], ) } + #[doc = " The amount which has been reported as inactive to Currency."] + pub fn inactive( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Treasury", + "Inactive", + vec![], + [ + 240u8, 100u8, 242u8, 40u8, 169u8, 252u8, 255u8, 248u8, 66u8, 157u8, + 165u8, 206u8, 229u8, 145u8, 80u8, 73u8, 237u8, 44u8, 72u8, 76u8, 101u8, + 215u8, 87u8, 33u8, 252u8, 224u8, 54u8, 138u8, 79u8, 99u8, 225u8, 34u8, + ], + ) + } #[doc = " Proposal indices that have been approved but not yet awarded."] pub fn approvals( &self, @@ -8180,6 +8169,18 @@ pub mod api { pub struct ForceBatch { pub calls: ::std::vec::Vec, } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct WithWeight { + pub call: ::std::boxed::Box, + pub weight: runtime_types::sp_weights::weight_v2::Weight, + } pub struct TransactionApi; impl TransactionApi { #[doc = "Send a batch of dispatch calls."] @@ -8210,9 +8211,9 @@ pub mod api { "batch", Batch { calls }, [ - 216u8, 148u8, 213u8, 120u8, 104u8, 132u8, 200u8, 250u8, 246u8, 110u8, - 193u8, 153u8, 221u8, 234u8, 73u8, 200u8, 253u8, 68u8, 60u8, 50u8, 45u8, - 95u8, 212u8, 220u8, 59u8, 16u8, 95u8, 41u8, 50u8, 132u8, 20u8, 153u8, + 4u8, 79u8, 14u8, 89u8, 76u8, 13u8, 179u8, 170u8, 208u8, 214u8, 44u8, + 217u8, 82u8, 8u8, 48u8, 198u8, 107u8, 107u8, 58u8, 177u8, 224u8, 192u8, + 37u8, 183u8, 144u8, 157u8, 150u8, 218u8, 150u8, 215u8, 23u8, 21u8, ], ) } @@ -8242,10 +8243,9 @@ pub mod api { call: ::std::boxed::Box::new(call), }, [ - 234u8, 198u8, 66u8, 241u8, 117u8, 237u8, 106u8, 92u8, 103u8, 62u8, - 225u8, 221u8, 189u8, 120u8, 18u8, 43u8, 166u8, 226u8, 124u8, 76u8, - 32u8, 189u8, 29u8, 76u8, 119u8, 23u8, 239u8, 201u8, 166u8, 12u8, 57u8, - 193u8, + 7u8, 47u8, 218u8, 3u8, 40u8, 163u8, 23u8, 24u8, 4u8, 156u8, 217u8, + 61u8, 124u8, 186u8, 56u8, 1u8, 128u8, 28u8, 220u8, 39u8, 201u8, 122u8, + 78u8, 247u8, 135u8, 191u8, 25u8, 173u8, 191u8, 187u8, 28u8, 66u8, ], ) } @@ -8272,9 +8272,10 @@ pub mod api { "batch_all", BatchAll { calls }, [ - 239u8, 187u8, 41u8, 189u8, 164u8, 24u8, 114u8, 29u8, 126u8, 160u8, 8u8, - 171u8, 165u8, 16u8, 157u8, 225u8, 93u8, 19u8, 224u8, 6u8, 129u8, 199u8, - 94u8, 184u8, 48u8, 96u8, 101u8, 203u8, 231u8, 152u8, 49u8, 153u8, + 50u8, 252u8, 99u8, 89u8, 154u8, 233u8, 232u8, 100u8, 115u8, 42u8, + 165u8, 26u8, 84u8, 211u8, 84u8, 189u8, 23u8, 63u8, 251u8, 87u8, 188u8, + 156u8, 174u8, 148u8, 22u8, 217u8, 238u8, 193u8, 120u8, 13u8, 12u8, + 139u8, ], ) } @@ -8301,9 +8302,9 @@ pub mod api { call: ::std::boxed::Box::new(call), }, [ - 175u8, 242u8, 223u8, 70u8, 115u8, 38u8, 4u8, 83u8, 209u8, 29u8, 48u8, - 32u8, 27u8, 82u8, 90u8, 20u8, 184u8, 23u8, 140u8, 206u8, 34u8, 44u8, - 191u8, 38u8, 10u8, 214u8, 241u8, 66u8, 110u8, 94u8, 176u8, 5u8, + 6u8, 14u8, 186u8, 198u8, 179u8, 173u8, 43u8, 37u8, 192u8, 199u8, 201u8, + 38u8, 182u8, 124u8, 116u8, 16u8, 59u8, 96u8, 18u8, 64u8, 188u8, 205u8, + 126u8, 253u8, 144u8, 82u8, 131u8, 229u8, 215u8, 49u8, 120u8, 166u8, ], ) } @@ -8330,10 +8331,34 @@ pub mod api { "force_batch", ForceBatch { calls }, [ - 220u8, 128u8, 33u8, 31u8, 153u8, 214u8, 91u8, 196u8, 177u8, 16u8, - 121u8, 54u8, 232u8, 152u8, 211u8, 160u8, 115u8, 98u8, 212u8, 233u8, - 228u8, 2u8, 85u8, 150u8, 174u8, 254u8, 227u8, 130u8, 11u8, 22u8, 199u8, - 35u8, + 194u8, 191u8, 203u8, 57u8, 25u8, 76u8, 67u8, 192u8, 237u8, 58u8, 255u8, + 253u8, 157u8, 172u8, 201u8, 163u8, 248u8, 68u8, 76u8, 152u8, 104u8, + 74u8, 93u8, 26u8, 72u8, 135u8, 185u8, 109u8, 166u8, 138u8, 103u8, 38u8, + ], + ) + } + #[doc = "Dispatch a function call with a specified weight."] + #[doc = ""] + #[doc = "This function does not check the weight of the call, and instead allows the"] + #[doc = "Root origin to specify the weight of the call."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Root_."] + pub fn with_weight( + &self, + call: runtime_types::aleph_runtime::RuntimeCall, + weight: runtime_types::sp_weights::weight_v2::Weight, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Utility", + "with_weight", + WithWeight { + call: ::std::boxed::Box::new(call), + weight, + }, + [ + 223u8, 35u8, 6u8, 230u8, 108u8, 3u8, 69u8, 75u8, 64u8, 207u8, 82u8, + 78u8, 73u8, 120u8, 215u8, 161u8, 58u8, 242u8, 237u8, 123u8, 33u8, + 112u8, 0u8, 219u8, 104u8, 134u8, 73u8, 20u8, 64u8, 158u8, 73u8, 236u8, ], ) } @@ -8557,10 +8582,10 @@ pub mod api { call: ::std::boxed::Box::new(call), }, [ - 29u8, 239u8, 168u8, 44u8, 41u8, 86u8, 145u8, 100u8, 233u8, 174u8, - 239u8, 216u8, 35u8, 232u8, 172u8, 40u8, 3u8, 149u8, 69u8, 158u8, 112u8, - 29u8, 181u8, 129u8, 218u8, 14u8, 218u8, 47u8, 251u8, 27u8, 179u8, - 204u8, + 74u8, 40u8, 223u8, 109u8, 231u8, 102u8, 200u8, 9u8, 197u8, 219u8, + 140u8, 137u8, 229u8, 43u8, 163u8, 217u8, 46u8, 90u8, 181u8, 235u8, + 142u8, 218u8, 162u8, 137u8, 26u8, 102u8, 248u8, 114u8, 140u8, 20u8, + 186u8, 212u8, ], ) } @@ -8630,9 +8655,9 @@ pub mod api { max_weight, }, [ - 40u8, 152u8, 66u8, 246u8, 90u8, 100u8, 51u8, 184u8, 254u8, 255u8, 1u8, - 47u8, 140u8, 193u8, 53u8, 186u8, 40u8, 127u8, 129u8, 179u8, 48u8, - 219u8, 117u8, 66u8, 23u8, 159u8, 45u8, 239u8, 99u8, 172u8, 212u8, 67u8, + 117u8, 8u8, 22u8, 74u8, 40u8, 91u8, 241u8, 193u8, 81u8, 172u8, 187u8, + 127u8, 95u8, 132u8, 65u8, 20u8, 183u8, 248u8, 17u8, 66u8, 228u8, 219u8, + 244u8, 181u8, 141u8, 92u8, 137u8, 124u8, 94u8, 58u8, 76u8, 109u8, ], ) } @@ -9044,9 +9069,9 @@ pub mod api { call: ::std::boxed::Box::new(call), }, [ - 40u8, 254u8, 3u8, 48u8, 111u8, 208u8, 37u8, 138u8, 153u8, 237u8, 84u8, - 210u8, 21u8, 143u8, 242u8, 86u8, 232u8, 137u8, 127u8, 125u8, 74u8, - 83u8, 72u8, 170u8, 241u8, 232u8, 240u8, 77u8, 83u8, 20u8, 129u8, 100u8, + 142u8, 65u8, 169u8, 88u8, 195u8, 0u8, 195u8, 187u8, 24u8, 100u8, 175u8, + 34u8, 121u8, 202u8, 49u8, 0u8, 132u8, 155u8, 208u8, 40u8, 177u8, 125u8, + 100u8, 143u8, 110u8, 49u8, 20u8, 194u8, 255u8, 3u8, 196u8, 4u8, ], ) } @@ -9073,10 +9098,10 @@ pub mod api { weight, }, [ - 130u8, 102u8, 123u8, 183u8, 113u8, 254u8, 254u8, 11u8, 215u8, 101u8, - 49u8, 203u8, 110u8, 85u8, 153u8, 231u8, 162u8, 199u8, 30u8, 104u8, - 125u8, 222u8, 74u8, 110u8, 61u8, 19u8, 170u8, 196u8, 132u8, 181u8, - 125u8, 125u8, + 49u8, 4u8, 201u8, 123u8, 217u8, 74u8, 119u8, 132u8, 164u8, 102u8, 15u8, + 144u8, 128u8, 119u8, 167u8, 125u8, 218u8, 113u8, 70u8, 220u8, 137u8, + 201u8, 174u8, 190u8, 45u8, 218u8, 145u8, 131u8, 44u8, 109u8, 215u8, + 216u8, ], ) } @@ -9135,9 +9160,9 @@ pub mod api { call: ::std::boxed::Box::new(call), }, [ - 206u8, 56u8, 81u8, 112u8, 193u8, 141u8, 113u8, 163u8, 134u8, 112u8, - 81u8, 79u8, 25u8, 68u8, 17u8, 87u8, 59u8, 255u8, 194u8, 243u8, 55u8, - 73u8, 220u8, 204u8, 142u8, 199u8, 31u8, 46u8, 173u8, 6u8, 149u8, 100u8, + 10u8, 158u8, 160u8, 60u8, 57u8, 102u8, 9u8, 180u8, 124u8, 113u8, 4u8, + 94u8, 164u8, 212u8, 38u8, 165u8, 25u8, 70u8, 50u8, 52u8, 135u8, 150u8, + 18u8, 56u8, 143u8, 99u8, 90u8, 42u8, 37u8, 79u8, 167u8, 166u8, ], ) } @@ -10166,9 +10191,10 @@ pub mod api { "Contracts", "Schedule", [ - 237u8, 5u8, 207u8, 195u8, 65u8, 77u8, 128u8, 229u8, 222u8, 20u8, 158u8, - 142u8, 18u8, 0u8, 155u8, 218u8, 220u8, 58u8, 53u8, 60u8, 39u8, 52u8, - 243u8, 33u8, 95u8, 247u8, 131u8, 117u8, 192u8, 91u8, 63u8, 19u8, + 216u8, 143u8, 244u8, 2u8, 98u8, 169u8, 138u8, 243u8, 202u8, 101u8, + 180u8, 250u8, 10u8, 166u8, 10u8, 41u8, 46u8, 154u8, 236u8, 105u8, 55u8, + 175u8, 64u8, 31u8, 188u8, 56u8, 255u8, 25u8, 170u8, 198u8, 178u8, + 133u8, ], ) } @@ -10267,6 +10293,66 @@ pub mod api { ], ) } + #[doc = " The maximum length of a contract code in bytes. This limit applies to the instrumented"] + #[doc = " version of the code. Therefore `instantiate_with_code` can fail even when supplying"] + #[doc = " a wasm binary below this maximum size."] + pub fn max_code_len( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Contracts", + "MaxCodeLen", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " The maximum allowable length in bytes for storage keys."] + pub fn max_storage_key_len( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Contracts", + "MaxStorageKeyLen", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " Make contract callable functions marked as `#[unstable]` available."] + #[doc = ""] + #[doc = " Contracts that use `#[unstable]` functions won't be able to be uploaded unless"] + #[doc = " this is set to `true`. This is only meant for testnets and dev nodes in order to"] + #[doc = " experiment with new features."] + #[doc = ""] + #[doc = " # Warning"] + #[doc = ""] + #[doc = " Do **not** set to `true` on productions chains."] + pub fn unsafe_unstable_interface( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::bool>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Contracts", + "UnsafeUnstableInterface", + [ + 165u8, 28u8, 112u8, 190u8, 18u8, 129u8, 182u8, 206u8, 237u8, 1u8, 68u8, + 252u8, 125u8, 234u8, 185u8, 50u8, 149u8, 164u8, 47u8, 126u8, 134u8, + 100u8, 14u8, 86u8, 209u8, 39u8, 20u8, 4u8, 233u8, 115u8, 102u8, 131u8, + ], + ) + } } } } @@ -13392,11 +13478,6 @@ pub mod api { #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] pub enum Call { #[codec(index = 0)] - #[doc = "A dispatch that will fill the block weight up to the given ratio."] - fill_block { - ratio: runtime_types::sp_arithmetic::per_things::Perbill, - }, - #[codec(index = 1)] #[doc = "Make some on-chain remark."] #[doc = ""] #[doc = "# "] @@ -13405,10 +13486,10 @@ pub mod api { remark { remark: ::std::vec::Vec<::core::primitive::u8>, }, - #[codec(index = 2)] + #[codec(index = 1)] #[doc = "Set the number of pages in the WebAssembly environment's heap."] set_heap_pages { pages: ::core::primitive::u64 }, - #[codec(index = 3)] + #[codec(index = 2)] #[doc = "Set the new runtime code."] #[doc = ""] #[doc = "# "] @@ -13424,7 +13505,7 @@ pub mod api { set_code { code: ::std::vec::Vec<::core::primitive::u8>, }, - #[codec(index = 4)] + #[codec(index = 3)] #[doc = "Set the new runtime code without doing any checks of the given `code`."] #[doc = ""] #[doc = "# "] @@ -13437,7 +13518,7 @@ pub mod api { set_code_without_checks { code: ::std::vec::Vec<::core::primitive::u8>, }, - #[codec(index = 5)] + #[codec(index = 4)] #[doc = "Set some items of storage."] set_storage { items: ::std::vec::Vec<( @@ -13445,12 +13526,12 @@ pub mod api { ::std::vec::Vec<::core::primitive::u8>, )>, }, - #[codec(index = 6)] + #[codec(index = 5)] #[doc = "Kill some items from storage."] kill_storage { keys: ::std::vec::Vec<::std::vec::Vec<::core::primitive::u8>>, }, - #[codec(index = 7)] + #[codec(index = 6)] #[doc = "Kill all storage items with a key that starts with the given prefix."] #[doc = ""] #[doc = "**NOTE:** We rely on the Root origin to provide us the number of subkeys under"] @@ -13459,7 +13540,7 @@ pub mod api { prefix: ::std::vec::Vec<::core::primitive::u8>, subkeys: ::core::primitive::u32, }, - #[codec(index = 8)] + #[codec(index = 7)] #[doc = "Make some on-chain remark and emit event."] remark_with_event { remark: ::std::vec::Vec<::core::primitive::u8>, @@ -14025,20 +14106,6 @@ pub mod api { Eq, PartialEq, )] - pub enum Releases { - #[codec(index = 0)] - V1_0_0, - #[codec(index = 1)] - V2_0_0, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - Clone, - Debug, - Eq, - PartialEq, - )] pub struct ReserveData<_0, _1> { pub id: _0, pub amount: _1, @@ -14353,8 +14420,13 @@ pub mod api { ContractReverted, #[codec(index = 28)] #[doc = "The contract's code was found to be invalid during validation or instrumentation."] + #[doc = ""] + #[doc = "The most likely cause of this is that an API was used which is not supported by the"] + #[doc = "node. This hapens if an older node is used with a new version of ink!. Try updating"] + #[doc = "your node to the newest available version."] + #[doc = ""] #[doc = "A more detailed error can be found on the node console if debug messages are enabled"] - #[doc = "or in the debug buffer which is returned to RPC clients."] + #[doc = "by supplying `-lruntime::contracts=debug`."] CodeRejected, #[codec(index = 29)] #[doc = "An indetermistic code was used in a context where this is not permitted."] @@ -14501,6 +14573,9 @@ pub mod api { pub hash_blake2_128_per_byte: ::core::primitive::u64, pub ecdsa_recover: ::core::primitive::u64, pub ecdsa_to_eth_address: ::core::primitive::u64, + pub reentrance_count: ::core::primitive::u64, + pub account_reentrance_count: ::core::primitive::u64, + pub instantiation_nonce: ::core::primitive::u64, } #[derive( :: subxt :: ext :: codec :: Decode, @@ -14525,6 +14600,7 @@ pub mod api { pub call: ::core::primitive::u32, pub call_indirect: ::core::primitive::u32, pub call_indirect_per_param: ::core::primitive::u32, + pub call_per_local: ::core::primitive::u32, pub local_get: ::core::primitive::u32, pub local_set: ::core::primitive::u32, pub local_tee: ::core::primitive::u32, @@ -14577,6 +14653,7 @@ pub mod api { pub event_topics: ::core::primitive::u32, pub stack_height: ::core::option::Option<::core::primitive::u32>, pub globals: ::core::primitive::u32, + pub locals: ::core::primitive::u32, pub parameters: ::core::primitive::u32, pub memory_pages: ::core::primitive::u32, pub table_size: ::core::primitive::u32, @@ -18091,6 +18168,17 @@ pub mod api { force_batch { calls: ::std::vec::Vec, }, + #[codec(index = 5)] + #[doc = "Dispatch a function call with a specified weight."] + #[doc = ""] + #[doc = "This function does not check the weight of the call, and instead allows the"] + #[doc = "Root origin to specify the weight of the call."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Root_."] + with_weight { + call: ::std::boxed::Box, + weight: runtime_types::sp_weights::weight_v2::Weight, + }, } #[derive( :: subxt :: ext :: codec :: Decode, @@ -19707,9 +19795,9 @@ pub mod api { let runtime_metadata_hash = client.metadata().metadata_hash(&PALLETS); if runtime_metadata_hash != [ - 103u8, 29u8, 255u8, 213u8, 93u8, 129u8, 141u8, 67u8, 15u8, 22u8, 205u8, 121u8, - 49u8, 47u8, 172u8, 109u8, 31u8, 5u8, 28u8, 113u8, 74u8, 35u8, 88u8, 240u8, 100u8, - 60u8, 158u8, 69u8, 112u8, 133u8, 90u8, 35u8, + 91u8, 91u8, 248u8, 67u8, 48u8, 120u8, 50u8, 73u8, 56u8, 93u8, 91u8, 213u8, 55u8, + 126u8, 47u8, 180u8, 229u8, 179u8, 13u8, 47u8, 136u8, 60u8, 59u8, 198u8, 195u8, + 211u8, 133u8, 123u8, 48u8, 192u8, 137u8, 236u8, ] { Err(::subxt::error::MetadataError::IncompatibleMetadata) diff --git a/aleph-client/src/pallets/system.rs b/aleph-client/src/pallets/system.rs index 546ea24a79..6d61c39fc2 100644 --- a/aleph-client/src/pallets/system.rs +++ b/aleph-client/src/pallets/system.rs @@ -1,13 +1,6 @@ -use subxt::ext::sp_runtime::Perbill as SPerbill; - use crate::{ - api, - connections::TxInfo, - frame_system::pallet::Call::{fill_block, set_code}, - sp_arithmetic::per_things::Perbill, - AccountId, Balance, BlockHash, - Call::System, - ConnectionApi, RootConnection, SudoCall, TxStatus, + api, connections::TxInfo, frame_system::pallet::Call::set_code, AccountId, Balance, BlockHash, + Call::System, ConnectionApi, RootConnection, SudoCall, TxStatus, }; /// Pallet system read-only api. @@ -26,15 +19,6 @@ pub trait SystemApi { pub trait SystemSudoApi { /// API for [`set_code`](https://paritytech.github.io/substrate/master/frame_system/pallet/struct.Pallet.html#method.set_code) call. async fn set_code(&self, code: Vec, status: TxStatus) -> anyhow::Result; - - /// A dispatch that will fill the block weight up to the given ratio. - /// * `target_ratio_percent` - ratio to fill block - /// `status` - a [`TxStatus`] to wait for - async fn fill_block( - &self, - target_ratio_percent: u8, - status: TxStatus, - ) -> anyhow::Result; } #[async_trait::async_trait] @@ -44,18 +28,6 @@ impl SystemSudoApi for RootConnection { self.sudo_unchecked(call, status).await } - - async fn fill_block( - &self, - target_ratio_percent: u8, - status: TxStatus, - ) -> anyhow::Result { - let call = System(fill_block { - ratio: Perbill(SPerbill::from_percent(target_ratio_percent as u32).deconstruct()), - }); - - self.sudo(call, status).await - } } #[async_trait::async_trait] diff --git a/benches/payout-stakers/Cargo.lock b/benches/payout-stakers/Cargo.lock index 09d6677d7c..f66838b81f 100644 --- a/benches/payout-stakers/Cargo.lock +++ b/benches/payout-stakers/Cargo.lock @@ -12,13 +12,22 @@ dependencies = [ "regex", ] +[[package]] +name = "addr2line" +version = "0.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9ecd88a8c8378ca913a680cd98f0f13ac67383d35993f86c90a70e3f137816b" +dependencies = [ + "gimli 0.26.2", +] + [[package]] name = "addr2line" version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a76fd60b23679b7d19bd066031410fb7e458ccc5e958eb5c325888ce4baedc97" dependencies = [ - "gimli", + "gimli 0.27.0", ] [[package]] @@ -65,7 +74,7 @@ dependencies = [ "primitives", "serde", "serde_json", - "sp-runtime 6.0.0", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "subxt", "thiserror", ] @@ -162,12 +171,12 @@ version = "0.3.67" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "233d376d6d185f2a3093e58f283f60f880315b6c60075b01f36b3b85154564ca" dependencies = [ - "addr2line", + "addr2line 0.19.0", "cc", "cfg-if", "libc", "miniz_oxide", - "object", + "object 0.30.2", "rustc-demangle", ] @@ -210,6 +219,15 @@ dependencies = [ "serde", ] +[[package]] +name = "bincode" +version = "1.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad" +dependencies = [ + "serde", +] + [[package]] name = "bitflags" version = "1.3.2" @@ -449,8 +467,8 @@ dependencies = [ "scale-info", "serde", "serde_json", - "sp-core 7.0.0", - "sp-runtime 7.0.0", + "sp-core 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-runtime 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "tracing", ] @@ -470,6 +488,15 @@ version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc" +[[package]] +name = "cpp_demangle" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eeaa953eaad386a53111e47172c2fedba671e5684c8dd601a5f474f4f118710f" +dependencies = [ + "cfg-if", +] + [[package]] name = "cpufeatures" version = "0.2.5" @@ -479,6 +506,24 @@ dependencies = [ "libc", ] +[[package]] +name = "cranelift-entity" +version = "0.88.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87a0f1b2fdc18776956370cf8d9b009ded3f855350c480c1c52142510961f352" +dependencies = [ + "serde", +] + +[[package]] +name = "crc32fast" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d" +dependencies = [ + "cfg-if", +] + [[package]] name = "crunchy" version = "0.2.2" @@ -738,6 +783,27 @@ dependencies = [ "signature", ] +[[package]] +name = "ed25519" +version = "1.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91cff35c70bba8a626e3185d8cd48cc11b5437e1a5bcd15b9b5fa3c64b6dfee7" +dependencies = [ + "signature", +] + +[[package]] +name = "ed25519-dalek" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c762bae6dcaf24c4c84667b8579785430908723d5c889f469d76a41d59cc7a9d" +dependencies = [ + "curve25519-dalek 3.2.0", + "ed25519", + "sha2 0.9.9", + "zeroize", +] + [[package]] name = "ed25519-zebra" version = "3.1.0" @@ -796,6 +862,27 @@ version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e48c92028aaa870e83d51c64e5d4e0b6981b360c522198c23959f219a4e1b15b" +[[package]] +name = "errno" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f639046355ee4f37944e44f60642c6f3a7efa3cf6b78c78a0d989a8ce6c396a1" +dependencies = [ + "errno-dragonfly", + "libc", + "winapi", +] + +[[package]] +name = "errno-dragonfly" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf" +dependencies = [ + "cc", + "libc", +] + [[package]] name = "escape8259" version = "0.5.2" @@ -817,6 +904,12 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed" +[[package]] +name = "fallible-iterator" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7" + [[package]] name = "fastrand" version = "1.8.0" @@ -878,7 +971,7 @@ dependencies = [ [[package]] name = "frame-support" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "bitflags", "frame-metadata", @@ -893,24 +986,24 @@ dependencies = [ "serde", "smallvec", "sp-api", - "sp-arithmetic 5.0.0", - "sp-core 6.0.0", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "sp-core-hashing-proc-macro", "sp-inherents", - "sp-io 6.0.0", - "sp-runtime 6.0.0", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "sp-staking", - "sp-state-machine 0.12.0", - "sp-std 4.0.0", - "sp-tracing 5.0.0", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33)", + "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "tt-call", ] [[package]] name = "frame-support-procedural" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "Inflector", "cfg-expr", @@ -924,7 +1017,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate", @@ -936,7 +1029,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "proc-macro2", "quote", @@ -1105,6 +1198,16 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "gimli" +version = "0.26.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22030e2c5a68ec659fde1e949a745124b48e6fa8b045b7ed5bd1fe4ccc5c4e5d" +dependencies = [ + "fallible-iterator", + "stable_deref_trait", +] + [[package]] name = "gimli" version = "0.27.0" @@ -1398,6 +1501,7 @@ checksum = "1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399" dependencies = [ "autocfg", "hashbrown", + "serde", ] [[package]] @@ -1519,6 +1623,12 @@ dependencies = [ "num-traits", ] +[[package]] +name = "io-lifetimes" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59ce5ef949d49ee85593fc4d3f3f95ad61657076395cbbce23e2121fc5542074" + [[package]] name = "itertools" version = "0.10.5" @@ -1734,6 +1844,12 @@ dependencies = [ "cc", ] +[[package]] +name = "linux-raw-sys" +version = "0.0.46" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4d2456c373231a208ad294c33dc5bff30051eafd954cd4caae83a712b12854d" + [[package]] name = "lock_api" version = "0.4.9" @@ -1762,6 +1878,15 @@ dependencies = [ "hashbrown", ] +[[package]] +name = "mach" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b823e83b2affd8f40a9ee8c29dbc56404c1e34cd2710921f2801e2cf29527afa" +dependencies = [ + "libc", +] + [[package]] name = "matchers" version = "0.0.1" @@ -1777,6 +1902,15 @@ version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" +[[package]] +name = "memoffset" +version = "0.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce" +dependencies = [ + "autocfg", +] + [[package]] name = "memory-db" version = "0.30.0" @@ -1830,7 +1964,7 @@ dependencies = [ "libc", "log", "wasi 0.11.0+wasi-snapshot-preview1", - "windows-sys", + "windows-sys 0.42.0", ] [[package]] @@ -1924,6 +2058,18 @@ dependencies = [ "libc", ] +[[package]] +name = "object" +version = "0.29.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "21158b2c33aa6d4561f1c0a6ea283ca92bc54802a93b263e910746d679a7eb53" +dependencies = [ + "crc32fast", + "hashbrown", + "indexmap", + "memchr", +] + [[package]] name = "object" version = "0.30.2" @@ -1965,14 +2111,14 @@ checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee" [[package]] name = "pallet-contracts-primitives" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "7.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "bitflags", "parity-scale-codec", - "sp-runtime 6.0.0", - "sp-std 4.0.0", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", ] [[package]] @@ -2060,7 +2206,7 @@ dependencies = [ "libc", "redox_syscall", "smallvec", - "windows-sys", + "windows-sys 0.42.0", ] [[package]] @@ -2083,7 +2229,7 @@ dependencies = [ "parity-scale-codec", "primitives", "rand 0.8.5", - "sp-core 6.0.0", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "sp-keyring", "subxt", "tokio", @@ -2182,11 +2328,11 @@ dependencies = [ "scale-info", "serde", "sp-api", - "sp-application-crypto 6.0.0", - "sp-core 6.0.0", - "sp-runtime 6.0.0", + "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "sp-staking", - "sp-std 4.0.0", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", ] [[package]] @@ -2233,6 +2379,15 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "psm" +version = "0.1.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5787f7cda34e3033a72192c018bc5883100330f362ef279a8cbccfce8bb4e874" +dependencies = [ + "cc", +] + [[package]] name = "quote" version = "1.0.23" @@ -2434,6 +2589,20 @@ version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3e75f6a532d0fd9f7f13144f392b6ad56a32696bfcd9c78f797f16bbb6f072d6" +[[package]] +name = "rustix" +version = "0.35.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "727a1a6d65f786ec22df8a81ca3121107f235970dc1705ed681d3e6e8b9cd5f9" +dependencies = [ + "bitflags", + "errno", + "io-lifetimes", + "libc", + "linux-raw-sys", + "windows-sys 0.42.0", +] + [[package]] name = "rustls" version = "0.20.8" @@ -2551,7 +2720,7 @@ version = "0.1.21" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "713cfb06c7059f3588fb8044c0fad1d09e3c01d225e25b9220dbfdcf16dbb1b3" dependencies = [ - "windows-sys", + "windows-sys 0.42.0", ] [[package]] @@ -2828,17 +2997,17 @@ dependencies = [ [[package]] name = "sp-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "hash-db", "log", "parity-scale-codec", "sp-api-proc-macro", - "sp-core 6.0.0", - "sp-runtime 6.0.0", - "sp-state-machine 0.12.0", - "sp-std 4.0.0", - "sp-trie 6.0.0", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "sp-version", "thiserror", ] @@ -2846,7 +3015,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "blake2", "proc-macro-crate", @@ -2857,66 +3026,67 @@ dependencies = [ [[package]] name = "sp-application-crypto" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30a70f8245ad75c773c43e46d16e81adb62290d37cd07efcde6cef06d93235e5" dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core 6.0.0", - "sp-io 6.0.0", - "sp-std 4.0.0", + "sp-core 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-io 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "sp-application-crypto" version = "7.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30a70f8245ad75c773c43e46d16e81adb62290d37cd07efcde6cef06d93235e5" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core 7.0.0", - "sp-io 7.0.0", - "sp-std 5.0.0", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", ] [[package]] name = "sp-arithmetic" -version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3856b3e912f0a7a1332f1642b5fd3c2e76476e894c656538d32c004698690157" dependencies = [ "integer-sqrt", "num-traits", "parity-scale-codec", "scale-info", "serde", - "sp-debug-derive 4.0.0", - "sp-std 4.0.0", + "sp-debug-derive 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "static_assertions", ] [[package]] name = "sp-arithmetic" version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3856b3e912f0a7a1332f1642b5fd3c2e76476e894c656538d32c004698690157" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "integer-sqrt", "num-traits", "parity-scale-codec", "scale-info", "serde", - "sp-debug-derive 5.0.0", - "sp-std 5.0.0", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "static_assertions", ] [[package]] name = "sp-core" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88c78530907dbf7949af928d0ce88b485067389201b6d9b468074b1924f209f0" dependencies = [ "array-bytes", "base58", @@ -2944,12 +3114,12 @@ dependencies = [ "secp256k1", "secrecy", "serde", - "sp-core-hashing 4.0.0", - "sp-debug-derive 4.0.0", - "sp-externalities 0.12.0", - "sp-runtime-interface 6.0.0", - "sp-std 4.0.0", - "sp-storage 6.0.0", + "sp-core-hashing 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-debug-derive 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-externalities 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-runtime-interface 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-storage 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "ss58-registry", "substrate-bip39", "thiserror", @@ -2961,8 +3131,7 @@ dependencies = [ [[package]] name = "sp-core" version = "7.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88c78530907dbf7949af928d0ce88b485067389201b6d9b468074b1924f209f0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "array-bytes", "base58", @@ -2990,12 +3159,12 @@ dependencies = [ "secp256k1", "secrecy", "serde", - "sp-core-hashing 5.0.0", - "sp-debug-derive 5.0.0", - "sp-externalities 0.13.0", - "sp-runtime-interface 7.0.0", - "sp-std 5.0.0", - "sp-storage 7.0.0", + "sp-core-hashing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "ss58-registry", "substrate-bip39", "thiserror", @@ -3006,48 +3175,49 @@ dependencies = [ [[package]] name = "sp-core-hashing" -version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "5.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49b9d1daa6aebfc144729b630885e91df92ff00560490ec065a56cb538e8895a" dependencies = [ "blake2", "byteorder", "digest 0.10.6", "sha2 0.10.6", "sha3", - "sp-std 4.0.0", + "sp-std 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "twox-hash", ] [[package]] name = "sp-core-hashing" version = "5.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49b9d1daa6aebfc144729b630885e91df92ff00560490ec065a56cb538e8895a" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "blake2", "byteorder", "digest 0.10.6", "sha2 0.10.6", "sha3", - "sp-std 5.0.0", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "twox-hash", ] [[package]] name = "sp-core-hashing-proc-macro" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "proc-macro2", "quote", - "sp-core-hashing 4.0.0", + "sp-core-hashing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "syn", ] [[package]] name = "sp-debug-derive" -version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "5.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9e9ba7352773b96a4aa57e903447f841c6bc26e8c798377db6e7eb332346454" dependencies = [ "proc-macro2", "quote", @@ -3057,8 +3227,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "5.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9e9ba7352773b96a4aa57e903447f841c6bc26e8c798377db6e7eb332346454" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "proc-macro2", "quote", @@ -3067,45 +3236,46 @@ dependencies = [ [[package]] name = "sp-externalities" -version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef739442230f49d88ece41259e5d886d6b8bc0f4197ef7f1585c39c762ce7ef2" dependencies = [ "environmental", "parity-scale-codec", - "sp-std 4.0.0", - "sp-storage 6.0.0", + "sp-std 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-storage 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "sp-externalities" version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef739442230f49d88ece41259e5d886d6b8bc0f4197ef7f1585c39c762ce7ef2" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "environmental", "parity-scale-codec", - "sp-std 5.0.0", - "sp-storage 7.0.0", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", ] [[package]] name = "sp-inherents" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "async-trait", "impl-trait-for-tuples", "parity-scale-codec", - "sp-core 6.0.0", - "sp-runtime 6.0.0", - "sp-std 4.0.0", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "thiserror", ] [[package]] name = "sp-io" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6280bd3643354f7ff0b2abd36c687745455779231a7a86d90945608f0d4924c4" dependencies = [ "bytes", "futures", @@ -3115,15 +3285,15 @@ dependencies = [ "parity-scale-codec", "parking_lot", "secp256k1", - "sp-core 6.0.0", - "sp-externalities 0.12.0", - "sp-keystore 0.12.0", - "sp-runtime-interface 6.0.0", - "sp-state-machine 0.12.0", - "sp-std 4.0.0", - "sp-tracing 5.0.0", - "sp-trie 6.0.0", - "sp-wasm-interface 6.0.0", + "sp-core 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-externalities 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-keystore 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-runtime-interface 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-state-machine 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-tracing 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-trie 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-wasm-interface 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "tracing", "tracing-core", ] @@ -3131,10 +3301,10 @@ dependencies = [ [[package]] name = "sp-io" version = "7.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6280bd3643354f7ff0b2abd36c687745455779231a7a86d90945608f0d4924c4" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "bytes", + "ed25519-dalek", "futures", "hash-db", "libsecp256k1", @@ -3142,34 +3312,35 @@ dependencies = [ "parity-scale-codec", "parking_lot", "secp256k1", - "sp-core 7.0.0", - "sp-externalities 0.13.0", - "sp-keystore 0.13.0", - "sp-runtime-interface 7.0.0", - "sp-state-machine 0.13.0", - "sp-std 5.0.0", - "sp-tracing 6.0.0", - "sp-trie 7.0.0", - "sp-wasm-interface 7.0.0", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-keystore 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-wasm-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "tracing", "tracing-core", ] [[package]] name = "sp-keyring" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "7.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "lazy_static", - "sp-core 6.0.0", - "sp-runtime 6.0.0", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "strum", ] [[package]] name = "sp-keystore" -version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a44bec4f0d036b6993c14bbee4216781f21275e5c201e43e45fed4a434bf0e5a" dependencies = [ "async-trait", "futures", @@ -3177,16 +3348,15 @@ dependencies = [ "parity-scale-codec", "parking_lot", "schnorrkel", - "sp-core 6.0.0", - "sp-externalities 0.12.0", + "sp-core 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-externalities 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", "thiserror", ] [[package]] name = "sp-keystore" version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a44bec4f0d036b6993c14bbee4216781f21275e5c201e43e45fed4a434bf0e5a" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "async-trait", "futures", @@ -3194,15 +3364,16 @@ dependencies = [ "parity-scale-codec", "parking_lot", "schnorrkel", - "sp-core 7.0.0", - "sp-externalities 0.13.0", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "thiserror", ] [[package]] name = "sp-panic-handler" -version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "5.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97549ec99cb289db2a9f5c656b6880f7c90097135e1ca6c6ae4fe5694232e526" dependencies = [ "backtrace", "lazy_static", @@ -3212,8 +3383,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "5.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97549ec99cb289db2a9f5c656b6880f7c90097135e1ca6c6ae4fe5694232e526" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "backtrace", "lazy_static", @@ -3222,8 +3392,9 @@ dependencies = [ [[package]] name = "sp-runtime" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0edfc5c54c2b31d2f0cf904d472a0bff7125c0c2a2e2330507842e56f9a27444" dependencies = [ "either", "hash256-std-hasher", @@ -3235,19 +3406,18 @@ dependencies = [ "rand 0.7.3", "scale-info", "serde", - "sp-application-crypto 6.0.0", - "sp-arithmetic 5.0.0", - "sp-core 6.0.0", - "sp-io 6.0.0", - "sp-std 4.0.0", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33)", + "sp-application-crypto 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-arithmetic 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-core 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-io 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-weights 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "sp-runtime" version = "7.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0edfc5c54c2b31d2f0cf904d472a0bff7125c0c2a2e2330507842e56f9a27444" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "either", "hash256-std-hasher", @@ -3259,55 +3429,56 @@ dependencies = [ "rand 0.7.3", "scale-info", "serde", - "sp-application-crypto 7.0.0", - "sp-arithmetic 6.0.0", - "sp-core 7.0.0", - "sp-io 7.0.0", - "sp-std 5.0.0", - "sp-weights 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", ] [[package]] name = "sp-runtime-interface" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b886a5d34400b0e0c12d389e3bb48b7a93d651cddf7e248124b81fe64c339251" dependencies = [ "bytes", "impl-trait-for-tuples", "parity-scale-codec", "primitive-types", - "sp-externalities 0.12.0", - "sp-runtime-interface-proc-macro 5.0.0", - "sp-std 4.0.0", - "sp-storage 6.0.0", - "sp-tracing 5.0.0", - "sp-wasm-interface 6.0.0", + "sp-externalities 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-runtime-interface-proc-macro 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-storage 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-tracing 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-wasm-interface 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "static_assertions", ] [[package]] name = "sp-runtime-interface" version = "7.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b886a5d34400b0e0c12d389e3bb48b7a93d651cddf7e248124b81fe64c339251" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "bytes", "impl-trait-for-tuples", "parity-scale-codec", "primitive-types", - "sp-externalities 0.13.0", - "sp-runtime-interface-proc-macro 6.0.0", - "sp-std 5.0.0", - "sp-storage 7.0.0", - "sp-tracing 6.0.0", - "sp-wasm-interface 7.0.0", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-runtime-interface-proc-macro 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-wasm-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "static_assertions", ] [[package]] name = "sp-runtime-interface-proc-macro" -version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a157f1ce0108b9b87f87e826726049d9b6253318b74410c814be7fc2af416b51" dependencies = [ "Inflector", "proc-macro-crate", @@ -3319,8 +3490,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a157f1ce0108b9b87f87e826726049d9b6253318b74410c814be7fc2af416b51" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "Inflector", "proc-macro-crate", @@ -3332,18 +3502,19 @@ dependencies = [ [[package]] name = "sp-staking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "parity-scale-codec", "scale-info", - "sp-runtime 6.0.0", - "sp-std 4.0.0", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", ] [[package]] name = "sp-state-machine" -version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5c2d97ad69011d34ca257f0383532b80096d53f889f5894ae2b24a211bec66f" dependencies = [ "hash-db", "log", @@ -3352,11 +3523,11 @@ dependencies = [ "parking_lot", "rand 0.7.3", "smallvec", - "sp-core 6.0.0", - "sp-externalities 0.12.0", - "sp-panic-handler 4.0.0", - "sp-std 4.0.0", - "sp-trie 6.0.0", + "sp-core 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-externalities 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-panic-handler 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-trie 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "thiserror", "tracing", "trie-root", @@ -3365,8 +3536,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5c2d97ad69011d34ca257f0383532b80096d53f889f5894ae2b24a211bec66f" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "hash-db", "log", @@ -3375,11 +3545,11 @@ dependencies = [ "parking_lot", "rand 0.7.3", "smallvec", - "sp-core 7.0.0", - "sp-externalities 0.13.0", - "sp-panic-handler 5.0.0", - "sp-std 5.0.0", - "sp-trie 7.0.0", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-panic-handler 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "thiserror", "tracing", "trie-root", @@ -3387,49 +3557,50 @@ dependencies = [ [[package]] name = "sp-std" -version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "5.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf3fd4c1d304be101e6ebbafd3d4be9a37b320c970ef4e8df188b16873981c93" [[package]] name = "sp-std" version = "5.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf3fd4c1d304be101e6ebbafd3d4be9a37b320c970ef4e8df188b16873981c93" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" [[package]] name = "sp-storage" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eb987ed2e4d7d870170a225083ea962f2a359d75cdf76935d5ed8d91bee912d9" dependencies = [ "impl-serde", "parity-scale-codec", "ref-cast", "serde", - "sp-debug-derive 4.0.0", - "sp-std 4.0.0", + "sp-debug-derive 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "sp-storage" version = "7.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb987ed2e4d7d870170a225083ea962f2a359d75cdf76935d5ed8d91bee912d9" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "impl-serde", "parity-scale-codec", "ref-cast", "serde", - "sp-debug-derive 5.0.0", - "sp-std 5.0.0", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", ] [[package]] name = "sp-tracing" -version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e761df87dc940d87720939de8f976d1fc0657e523886ae0d7bf3f7e2e2f0abb6" dependencies = [ "parity-scale-codec", - "sp-std 4.0.0", + "sp-std 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "tracing", "tracing-core", "tracing-subscriber", @@ -3438,11 +3609,10 @@ dependencies = [ [[package]] name = "sp-tracing" version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e761df87dc940d87720939de8f976d1fc0657e523886ae0d7bf3f7e2e2f0abb6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "parity-scale-codec", - "sp-std 5.0.0", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "tracing", "tracing-core", "tracing-subscriber", @@ -3450,8 +3620,9 @@ dependencies = [ [[package]] name = "sp-trie" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f4f48c887e90050537e399d2d8b6ee82787ebec0fe46e4880b42cab0c2d5ba6" dependencies = [ "ahash", "hash-db", @@ -3463,8 +3634,8 @@ dependencies = [ "parity-scale-codec", "parking_lot", "scale-info", - "sp-core 6.0.0", - "sp-std 4.0.0", + "sp-core 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "thiserror", "tracing", "trie-db", @@ -3474,8 +3645,7 @@ dependencies = [ [[package]] name = "sp-trie" version = "7.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f4f48c887e90050537e399d2d8b6ee82787ebec0fe46e4880b42cab0c2d5ba6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "ahash", "hash-db", @@ -3487,8 +3657,8 @@ dependencies = [ "parity-scale-codec", "parking_lot", "scale-info", - "sp-core 7.0.0", - "sp-std 5.0.0", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "thiserror", "tracing", "trie-db", @@ -3498,7 +3668,7 @@ dependencies = [ [[package]] name = "sp-version" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "impl-serde", "parity-scale-codec", @@ -3506,8 +3676,8 @@ dependencies = [ "scale-info", "serde", "sp-core-hashing-proc-macro", - "sp-runtime 6.0.0", - "sp-std 4.0.0", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "sp-version-proc-macro", "thiserror", ] @@ -3515,7 +3685,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "parity-scale-codec", "proc-macro2", @@ -3525,27 +3695,28 @@ dependencies = [ [[package]] name = "sp-wasm-interface" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4f43c40afab6ecac20505907631c929957ed636b7af8795984649bbaa6ff38c3" dependencies = [ "impl-trait-for-tuples", "log", "parity-scale-codec", - "sp-std 4.0.0", + "sp-std 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "wasmi", ] [[package]] name = "sp-wasm-interface" version = "7.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f43c40afab6ecac20505907631c929957ed636b7af8795984649bbaa6ff38c3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "impl-trait-for-tuples", "log", "parity-scale-codec", - "sp-std 5.0.0", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "wasmi", + "wasmtime", ] [[package]] @@ -3559,26 +3730,26 @@ dependencies = [ "scale-info", "serde", "smallvec", - "sp-arithmetic 6.0.0", - "sp-core 7.0.0", - "sp-debug-derive 5.0.0", - "sp-std 5.0.0", + "sp-arithmetic 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-core 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-debug-derive 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "sp-weights" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", "scale-info", "serde", "smallvec", - "sp-arithmetic 5.0.0", - "sp-core 6.0.0", - "sp-debug-derive 4.0.0", - "sp-std 4.0.0", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", ] [[package]] @@ -3612,6 +3783,12 @@ dependencies = [ "unicode-xid", ] +[[package]] +name = "stable_deref_trait" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" + [[package]] name = "static_assertions" version = "1.1.0" @@ -3685,8 +3862,8 @@ dependencies = [ "scale-value", "serde", "serde_json", - "sp-core 7.0.0", - "sp-runtime 7.0.0", + "sp-core 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-runtime 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "subxt-macro", "subxt-metadata", "thiserror", @@ -3735,7 +3912,7 @@ dependencies = [ "frame-metadata", "parity-scale-codec", "scale-info", - "sp-core 7.0.0", + "sp-core 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -3767,6 +3944,12 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" +[[package]] +name = "target-lexicon" +version = "0.12.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ae9980cab1db3fceee2f6c6f643d5d8de2997c58ee8d25fb0cc8a9e9e7348e5" + [[package]] name = "termcolor" version = "1.2.0" @@ -3862,7 +4045,7 @@ dependencies = [ "signal-hook-registry", "socket2", "tokio-macros", - "windows-sys", + "windows-sys 0.42.0", ] [[package]] @@ -4235,6 +4418,137 @@ dependencies = [ "num-traits", ] +[[package]] +name = "wasmparser" +version = "0.89.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab5d3e08b13876f96dd55608d03cd4883a0545884932d5adf11925876c96daef" +dependencies = [ + "indexmap", +] + +[[package]] +name = "wasmtime" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ad5af6ba38311282f2a21670d96e78266e8c8e2f38cbcd52c254df6ccbc7731" +dependencies = [ + "anyhow", + "bincode", + "cfg-if", + "indexmap", + "libc", + "log", + "object 0.29.0", + "once_cell", + "paste", + "psm", + "serde", + "target-lexicon", + "wasmparser", + "wasmtime-environ", + "wasmtime-jit", + "wasmtime-runtime", + "windows-sys 0.36.1", +] + +[[package]] +name = "wasmtime-asm-macros" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "45de63ddfc8b9223d1adc8f7b2ee5f35d1f6d112833934ad7ea66e4f4339e597" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "wasmtime-environ" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebb881c61f4f627b5d45c54e629724974f8a8890d455bcbe634330cc27309644" +dependencies = [ + "anyhow", + "cranelift-entity", + "gimli 0.26.2", + "indexmap", + "log", + "object 0.29.0", + "serde", + "target-lexicon", + "thiserror", + "wasmparser", + "wasmtime-types", +] + +[[package]] +name = "wasmtime-jit" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1985c628011fe26adf5e23a5301bdc79b245e0e338f14bb58b39e4e25e4d8681" +dependencies = [ + "addr2line 0.17.0", + "anyhow", + "bincode", + "cfg-if", + "cpp_demangle", + "gimli 0.26.2", + "log", + "object 0.29.0", + "rustc-demangle", + "rustix", + "serde", + "target-lexicon", + "thiserror", + "wasmtime-environ", + "wasmtime-runtime", + "windows-sys 0.36.1", +] + +[[package]] +name = "wasmtime-jit-debug" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f671b588486f5ccec8c5a3dba6b4c07eac2e66ab8c60e6f4e53717c77f709731" +dependencies = [ + "once_cell", +] + +[[package]] +name = "wasmtime-runtime" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee8f92ad4b61736339c29361da85769ebc200f184361959d1792832e592a1afd" +dependencies = [ + "anyhow", + "cc", + "cfg-if", + "indexmap", + "libc", + "log", + "mach", + "memoffset", + "paste", + "rand 0.8.5", + "rustix", + "thiserror", + "wasmtime-asm-macros", + "wasmtime-environ", + "wasmtime-jit-debug", + "windows-sys 0.36.1", +] + +[[package]] +name = "wasmtime-types" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d23d61cb4c46e837b431196dd06abb11731541021916d03476a178b54dc07aeb" +dependencies = [ + "cranelift-entity", + "serde", + "thiserror", + "wasmparser", +] + [[package]] name = "web-sys" version = "0.3.60" @@ -4295,6 +4609,19 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" +[[package]] +name = "windows-sys" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea04155a16a59f9eab786fe12a4a450e75cdb175f9e0d80da1e17db09f55b8d2" +dependencies = [ + "windows_aarch64_msvc 0.36.1", + "windows_i686_gnu 0.36.1", + "windows_i686_msvc 0.36.1", + "windows_x86_64_gnu 0.36.1", + "windows_x86_64_msvc 0.36.1", +] + [[package]] name = "windows-sys" version = "0.42.0" @@ -4302,12 +4629,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" dependencies = [ "windows_aarch64_gnullvm", - "windows_aarch64_msvc", - "windows_i686_gnu", - "windows_i686_msvc", - "windows_x86_64_gnu", + "windows_aarch64_msvc 0.42.1", + "windows_i686_gnu 0.42.1", + "windows_i686_msvc 0.42.1", + "windows_x86_64_gnu 0.42.1", "windows_x86_64_gnullvm", - "windows_x86_64_msvc", + "windows_x86_64_msvc 0.42.1", ] [[package]] @@ -4316,24 +4643,48 @@ version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8c9864e83243fdec7fc9c5444389dcbbfd258f745e7853198f365e3c4968a608" +[[package]] +name = "windows_aarch64_msvc" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47" + [[package]] name = "windows_aarch64_msvc" version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4c8b1b673ffc16c47a9ff48570a9d85e25d265735c503681332589af6253c6c7" +[[package]] +name = "windows_i686_gnu" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6" + [[package]] name = "windows_i686_gnu" version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "de3887528ad530ba7bdbb1faa8275ec7a1155a45ffa57c37993960277145d640" +[[package]] +name = "windows_i686_msvc" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024" + [[package]] name = "windows_i686_msvc" version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bf4d1122317eddd6ff351aa852118a2418ad4214e6613a50e0191f7004372605" +[[package]] +name = "windows_x86_64_gnu" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1" + [[package]] name = "windows_x86_64_gnu" version = "0.42.1" @@ -4346,6 +4697,12 @@ version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "628bfdf232daa22b0d64fdb62b09fcc36bb01f05a3939e20ab73aaf9470d0463" +[[package]] +name = "windows_x86_64_msvc" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680" + [[package]] name = "windows_x86_64_msvc" version = "0.42.1" diff --git a/benches/payout-stakers/Cargo.toml b/benches/payout-stakers/Cargo.toml index e9e3c46077..4c3447cfed 100644 --- a/benches/payout-stakers/Cargo.toml +++ b/benches/payout-stakers/Cargo.toml @@ -14,8 +14,8 @@ log = "0.4" futures = "0.3.25" rand = "0.8.5" -sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33", features = ["full_crypto"] } -sp-keyring = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34", features = ["full_crypto"] } +sp-keyring = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } subxt = "0.25.0" tokio = { version = "1.21.2", features = ["full"] } diff --git a/bin/cliain/Cargo.lock b/bin/cliain/Cargo.lock index 4363a48592..f670da5d2d 100644 --- a/bin/cliain/Cargo.lock +++ b/bin/cliain/Cargo.lock @@ -65,7 +65,7 @@ dependencies = [ "primitives", "serde", "serde_json", - "sp-runtime 6.0.0", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "subxt", "thiserror", ] @@ -213,6 +213,15 @@ dependencies = [ "serde", ] +[[package]] +name = "bincode" +version = "1.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad" +dependencies = [ + "serde", +] + [[package]] name = "bitflags" version = "1.3.2" @@ -409,7 +418,7 @@ dependencies = [ "primitives", "serde", "serde_json", - "sp-core 6.0.0", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "subxt", "tokio", ] @@ -504,8 +513,8 @@ dependencies = [ "scale-info", "serde", "serde_json", - "sp-core 7.0.0", - "sp-runtime 7.0.0", + "sp-core 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-runtime 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "tracing", ] @@ -528,8 +537,8 @@ dependencies = [ "scale-info", "serde", "serde_json", - "sp-core 7.0.0", - "sp-runtime 7.0.0", + "sp-core 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-runtime 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "tracing", ] @@ -549,6 +558,15 @@ version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc" +[[package]] +name = "cpp_demangle" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eeaa953eaad386a53111e47172c2fedba671e5684c8dd601a5f474f4f118710f" +dependencies = [ + "cfg-if", +] + [[package]] name = "cpufeatures" version = "0.2.5" @@ -558,6 +576,24 @@ dependencies = [ "libc", ] +[[package]] +name = "cranelift-entity" +version = "0.88.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87a0f1b2fdc18776956370cf8d9b009ded3f855350c480c1c52142510961f352" +dependencies = [ + "serde", +] + +[[package]] +name = "crc32fast" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d" +dependencies = [ + "cfg-if", +] + [[package]] name = "crunchy" version = "0.2.2" @@ -828,6 +864,27 @@ dependencies = [ "signature", ] +[[package]] +name = "ed25519" +version = "1.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91cff35c70bba8a626e3185d8cd48cc11b5437e1a5bcd15b9b5fa3c64b6dfee7" +dependencies = [ + "signature", +] + +[[package]] +name = "ed25519-dalek" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c762bae6dcaf24c4c84667b8579785430908723d5c889f469d76a41d59cc7a9d" +dependencies = [ + "curve25519-dalek 3.2.0", + "ed25519", + "sha2 0.9.9", + "zeroize", +] + [[package]] name = "ed25519-zebra" version = "3.1.0" @@ -905,6 +962,27 @@ version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e48c92028aaa870e83d51c64e5d4e0b6981b360c522198c23959f219a4e1b15b" +[[package]] +name = "errno" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f639046355ee4f37944e44f60642c6f3a7efa3cf6b78c78a0d989a8ce6c396a1" +dependencies = [ + "errno-dragonfly", + "libc", + "winapi", +] + +[[package]] +name = "errno-dragonfly" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf" +dependencies = [ + "cc", + "libc", +] + [[package]] name = "escape8259" version = "0.5.2" @@ -926,6 +1004,12 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed" +[[package]] +name = "fallible-iterator" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7" + [[package]] name = "fastrand" version = "1.8.0" @@ -975,7 +1059,7 @@ dependencies = [ [[package]] name = "frame-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "frame-support", "frame-system", @@ -986,19 +1070,19 @@ dependencies = [ "scale-info", "serde", "sp-api", - "sp-application-crypto 6.0.0", - "sp-core 6.0.0", - "sp-io 6.0.0", - "sp-runtime 6.0.0", - "sp-runtime-interface 6.0.0", - "sp-std 4.0.0", - "sp-storage 6.0.0", + "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", ] [[package]] name = "frame-election-provider-solution-type" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -1009,17 +1093,17 @@ dependencies = [ [[package]] name = "frame-election-provider-support" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "frame-election-provider-solution-type", "frame-support", "frame-system", "parity-scale-codec", "scale-info", - "sp-arithmetic 5.0.0", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "sp-npos-elections", - "sp-runtime 6.0.0", - "sp-std 4.0.0", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", ] [[package]] @@ -1037,7 +1121,7 @@ dependencies = [ [[package]] name = "frame-support" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "bitflags", "frame-metadata", @@ -1052,24 +1136,24 @@ dependencies = [ "serde", "smallvec", "sp-api", - "sp-arithmetic 5.0.0", - "sp-core 6.0.0", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "sp-core-hashing-proc-macro", "sp-inherents", - "sp-io 6.0.0", - "sp-runtime 6.0.0", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "sp-staking", - "sp-state-machine 0.12.0", - "sp-std 4.0.0", - "sp-tracing 5.0.0", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33)", + "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "tt-call", ] [[package]] name = "frame-support-procedural" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "Inflector", "cfg-expr", @@ -1083,7 +1167,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate", @@ -1095,7 +1179,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "proc-macro2", "quote", @@ -1105,19 +1189,19 @@ dependencies = [ [[package]] name = "frame-system" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "frame-support", "log", "parity-scale-codec", "scale-info", "serde", - "sp-core 6.0.0", - "sp-io 6.0.0", - "sp-runtime 6.0.0", - "sp-std 4.0.0", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "sp-version", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", ] [[package]] @@ -1287,6 +1371,10 @@ name = "gimli" version = "0.26.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "22030e2c5a68ec659fde1e949a745124b48e6fa8b045b7ed5bd1fe4ccc5c4e5d" +dependencies = [ + "fallible-iterator", + "stable_deref_trait", +] [[package]] name = "group" @@ -1575,6 +1663,7 @@ checksum = "1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399" dependencies = [ "autocfg", "hashbrown", + "serde", ] [[package]] @@ -1696,6 +1785,12 @@ dependencies = [ "num-traits", ] +[[package]] +name = "io-lifetimes" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59ce5ef949d49ee85593fc4d3f3f95ad61657076395cbbce23e2121fc5542074" + [[package]] name = "itertools" version = "0.10.5" @@ -1921,6 +2016,12 @@ dependencies = [ "statrs", ] +[[package]] +name = "linux-raw-sys" +version = "0.0.46" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4d2456c373231a208ad294c33dc5bff30051eafd954cd4caae83a712b12854d" + [[package]] name = "lock_api" version = "0.4.9" @@ -1949,6 +2050,15 @@ dependencies = [ "hashbrown", ] +[[package]] +name = "mach" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b823e83b2affd8f40a9ee8c29dbc56404c1e34cd2710921f2801e2cf29527afa" +dependencies = [ + "libc", +] + [[package]] name = "matchers" version = "0.0.1" @@ -1973,6 +2083,15 @@ version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" +[[package]] +name = "memoffset" +version = "0.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce" +dependencies = [ + "autocfg", +] + [[package]] name = "memory-db" version = "0.30.0" @@ -2165,6 +2284,9 @@ version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "21158b2c33aa6d4561f1c0a6ea283ca92bc54802a93b263e910746d679a7eb53" dependencies = [ + "crc32fast", + "hashbrown", + "indexmap", "memchr", ] @@ -2201,7 +2323,7 @@ checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee" [[package]] name = "pallet-authorship" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "frame-support", "frame-system", @@ -2209,26 +2331,26 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-authorship", - "sp-runtime 6.0.0", - "sp-std 4.0.0", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", ] [[package]] name = "pallet-contracts-primitives" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "7.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "bitflags", "parity-scale-codec", - "sp-runtime 6.0.0", - "sp-std 4.0.0", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", ] [[package]] name = "pallet-session" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "frame-support", "frame-system", @@ -2237,19 +2359,19 @@ dependencies = [ "pallet-timestamp", "parity-scale-codec", "scale-info", - "sp-core 6.0.0", - "sp-io 6.0.0", - "sp-runtime 6.0.0", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "sp-session", "sp-staking", - "sp-std 4.0.0", - "sp-trie 6.0.0", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", ] [[package]] name = "pallet-staking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -2261,17 +2383,17 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-application-crypto 6.0.0", - "sp-io 6.0.0", - "sp-runtime 6.0.0", + "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "sp-staking", - "sp-std 4.0.0", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", ] [[package]] name = "pallet-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "frame-benchmarking", "frame-support", @@ -2280,9 +2402,9 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-inherents", - "sp-io 6.0.0", - "sp-runtime 6.0.0", - "sp-std 4.0.0", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "sp-timestamp", ] @@ -2473,11 +2595,11 @@ dependencies = [ "scale-info", "serde", "sp-api", - "sp-application-crypto 6.0.0", - "sp-core 6.0.0", - "sp-runtime 6.0.0", + "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "sp-staking", - "sp-std 4.0.0", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", ] [[package]] @@ -2524,6 +2646,15 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "psm" +version = "0.1.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5787f7cda34e3033a72192c018bc5883100330f362ef279a8cbccfce8bb4e874" +dependencies = [ + "cc", +] + [[package]] name = "quote" version = "1.0.21" @@ -2750,6 +2881,20 @@ version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3e75f6a532d0fd9f7f13144f392b6ad56a32696bfcd9c78f797f16bbb6f072d6" +[[package]] +name = "rustix" +version = "0.35.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "727a1a6d65f786ec22df8a81ca3121107f235970dc1705ed681d3e6e8b9cd5f9" +dependencies = [ + "bitflags", + "errno", + "io-lifetimes", + "libc", + "linux-raw-sys", + "windows-sys 0.42.0", +] + [[package]] name = "rustls" version = "0.20.7" @@ -3157,17 +3302,17 @@ dependencies = [ [[package]] name = "sp-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "hash-db", "log", "parity-scale-codec", "sp-api-proc-macro", - "sp-core 6.0.0", - "sp-runtime 6.0.0", - "sp-state-machine 0.12.0", - "sp-std 4.0.0", - "sp-trie 6.0.0", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "sp-version", "thiserror", ] @@ -3175,7 +3320,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "blake2", "proc-macro-crate", @@ -3186,78 +3331,79 @@ dependencies = [ [[package]] name = "sp-application-crypto" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30a70f8245ad75c773c43e46d16e81adb62290d37cd07efcde6cef06d93235e5" dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core 6.0.0", - "sp-io 6.0.0", - "sp-std 4.0.0", + "sp-core 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-io 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "sp-application-crypto" version = "7.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30a70f8245ad75c773c43e46d16e81adb62290d37cd07efcde6cef06d93235e5" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core 7.0.0", - "sp-io 7.0.0", - "sp-std 5.0.0", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", ] [[package]] name = "sp-arithmetic" -version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3856b3e912f0a7a1332f1642b5fd3c2e76476e894c656538d32c004698690157" dependencies = [ "integer-sqrt", "num-traits", "parity-scale-codec", "scale-info", "serde", - "sp-debug-derive 4.0.0", - "sp-std 4.0.0", + "sp-debug-derive 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "static_assertions", ] [[package]] name = "sp-arithmetic" version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3856b3e912f0a7a1332f1642b5fd3c2e76476e894c656538d32c004698690157" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "integer-sqrt", "num-traits", "parity-scale-codec", "scale-info", "serde", - "sp-debug-derive 5.0.0", - "sp-std 5.0.0", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "static_assertions", ] [[package]] name = "sp-authorship" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "async-trait", "parity-scale-codec", "sp-inherents", - "sp-runtime 6.0.0", - "sp-std 4.0.0", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", ] [[package]] name = "sp-core" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88c78530907dbf7949af928d0ce88b485067389201b6d9b468074b1924f209f0" dependencies = [ "array-bytes", "base58", @@ -3285,12 +3431,12 @@ dependencies = [ "secp256k1", "secrecy", "serde", - "sp-core-hashing 4.0.0", - "sp-debug-derive 4.0.0", - "sp-externalities 0.12.0", - "sp-runtime-interface 6.0.0", - "sp-std 4.0.0", - "sp-storage 6.0.0", + "sp-core-hashing 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-debug-derive 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-externalities 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-runtime-interface 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-storage 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "ss58-registry", "substrate-bip39", "thiserror", @@ -3302,8 +3448,7 @@ dependencies = [ [[package]] name = "sp-core" version = "7.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88c78530907dbf7949af928d0ce88b485067389201b6d9b468074b1924f209f0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "array-bytes", "base58", @@ -3331,12 +3476,12 @@ dependencies = [ "secp256k1", "secrecy", "serde", - "sp-core-hashing 5.0.0", - "sp-debug-derive 5.0.0", - "sp-externalities 0.13.0", - "sp-runtime-interface 7.0.0", - "sp-std 5.0.0", - "sp-storage 7.0.0", + "sp-core-hashing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "ss58-registry", "substrate-bip39", "thiserror", @@ -3347,48 +3492,49 @@ dependencies = [ [[package]] name = "sp-core-hashing" -version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "5.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49b9d1daa6aebfc144729b630885e91df92ff00560490ec065a56cb538e8895a" dependencies = [ "blake2", "byteorder", "digest 0.10.6", "sha2 0.10.6", "sha3", - "sp-std 4.0.0", + "sp-std 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "twox-hash", ] [[package]] name = "sp-core-hashing" version = "5.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49b9d1daa6aebfc144729b630885e91df92ff00560490ec065a56cb538e8895a" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "blake2", "byteorder", "digest 0.10.6", "sha2 0.10.6", "sha3", - "sp-std 5.0.0", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "twox-hash", ] [[package]] name = "sp-core-hashing-proc-macro" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "proc-macro2", "quote", - "sp-core-hashing 4.0.0", + "sp-core-hashing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "syn", ] [[package]] name = "sp-debug-derive" -version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "5.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9e9ba7352773b96a4aa57e903447f841c6bc26e8c798377db6e7eb332346454" dependencies = [ "proc-macro2", "quote", @@ -3398,8 +3544,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "5.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9e9ba7352773b96a4aa57e903447f841c6bc26e8c798377db6e7eb332346454" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "proc-macro2", "quote", @@ -3408,45 +3553,46 @@ dependencies = [ [[package]] name = "sp-externalities" -version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef739442230f49d88ece41259e5d886d6b8bc0f4197ef7f1585c39c762ce7ef2" dependencies = [ "environmental", "parity-scale-codec", - "sp-std 4.0.0", - "sp-storage 6.0.0", + "sp-std 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-storage 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "sp-externalities" version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef739442230f49d88ece41259e5d886d6b8bc0f4197ef7f1585c39c762ce7ef2" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "environmental", "parity-scale-codec", - "sp-std 5.0.0", - "sp-storage 7.0.0", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", ] [[package]] name = "sp-inherents" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "async-trait", "impl-trait-for-tuples", "parity-scale-codec", - "sp-core 6.0.0", - "sp-runtime 6.0.0", - "sp-std 4.0.0", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "thiserror", ] [[package]] name = "sp-io" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6280bd3643354f7ff0b2abd36c687745455779231a7a86d90945608f0d4924c4" dependencies = [ "bytes", "futures", @@ -3456,15 +3602,15 @@ dependencies = [ "parity-scale-codec", "parking_lot", "secp256k1", - "sp-core 6.0.0", - "sp-externalities 0.12.0", - "sp-keystore 0.12.0", - "sp-runtime-interface 6.0.0", - "sp-state-machine 0.12.0", - "sp-std 4.0.0", - "sp-tracing 5.0.0", - "sp-trie 6.0.0", - "sp-wasm-interface 6.0.0", + "sp-core 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-externalities 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-keystore 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-runtime-interface 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-state-machine 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-tracing 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-trie 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-wasm-interface 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "tracing", "tracing-core", ] @@ -3472,10 +3618,10 @@ dependencies = [ [[package]] name = "sp-io" version = "7.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6280bd3643354f7ff0b2abd36c687745455779231a7a86d90945608f0d4924c4" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "bytes", + "ed25519-dalek", "futures", "hash-db", "libsecp256k1", @@ -3483,23 +3629,24 @@ dependencies = [ "parity-scale-codec", "parking_lot", "secp256k1", - "sp-core 7.0.0", - "sp-externalities 0.13.0", - "sp-keystore 0.13.0", - "sp-runtime-interface 7.0.0", - "sp-state-machine 0.13.0", - "sp-std 5.0.0", - "sp-tracing 6.0.0", - "sp-trie 7.0.0", - "sp-wasm-interface 7.0.0", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-keystore 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-wasm-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "tracing", "tracing-core", ] [[package]] name = "sp-keystore" -version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a44bec4f0d036b6993c14bbee4216781f21275e5c201e43e45fed4a434bf0e5a" dependencies = [ "async-trait", "futures", @@ -3507,16 +3654,15 @@ dependencies = [ "parity-scale-codec", "parking_lot", "schnorrkel", - "sp-core 6.0.0", - "sp-externalities 0.12.0", + "sp-core 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-externalities 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", "thiserror", ] [[package]] name = "sp-keystore" version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a44bec4f0d036b6993c14bbee4216781f21275e5c201e43e45fed4a434bf0e5a" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "async-trait", "futures", @@ -3524,29 +3670,30 @@ dependencies = [ "parity-scale-codec", "parking_lot", "schnorrkel", - "sp-core 7.0.0", - "sp-externalities 0.13.0", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "thiserror", ] [[package]] name = "sp-npos-elections" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-arithmetic 5.0.0", - "sp-core 6.0.0", - "sp-runtime 6.0.0", - "sp-std 4.0.0", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", ] [[package]] name = "sp-panic-handler" -version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "5.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97549ec99cb289db2a9f5c656b6880f7c90097135e1ca6c6ae4fe5694232e526" dependencies = [ "backtrace", "lazy_static", @@ -3556,8 +3703,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "5.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97549ec99cb289db2a9f5c656b6880f7c90097135e1ca6c6ae4fe5694232e526" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "backtrace", "lazy_static", @@ -3566,8 +3712,9 @@ dependencies = [ [[package]] name = "sp-runtime" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0edfc5c54c2b31d2f0cf904d472a0bff7125c0c2a2e2330507842e56f9a27444" dependencies = [ "either", "hash256-std-hasher", @@ -3579,19 +3726,18 @@ dependencies = [ "rand 0.7.3", "scale-info", "serde", - "sp-application-crypto 6.0.0", - "sp-arithmetic 5.0.0", - "sp-core 6.0.0", - "sp-io 6.0.0", - "sp-std 4.0.0", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33)", + "sp-application-crypto 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-arithmetic 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-core 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-io 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-weights 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "sp-runtime" version = "7.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0edfc5c54c2b31d2f0cf904d472a0bff7125c0c2a2e2330507842e56f9a27444" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "either", "hash256-std-hasher", @@ -3603,55 +3749,56 @@ dependencies = [ "rand 0.7.3", "scale-info", "serde", - "sp-application-crypto 7.0.0", - "sp-arithmetic 6.0.0", - "sp-core 7.0.0", - "sp-io 7.0.0", - "sp-std 5.0.0", - "sp-weights 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", ] [[package]] name = "sp-runtime-interface" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b886a5d34400b0e0c12d389e3bb48b7a93d651cddf7e248124b81fe64c339251" dependencies = [ "bytes", "impl-trait-for-tuples", "parity-scale-codec", "primitive-types", - "sp-externalities 0.12.0", - "sp-runtime-interface-proc-macro 5.0.0", - "sp-std 4.0.0", - "sp-storage 6.0.0", - "sp-tracing 5.0.0", - "sp-wasm-interface 6.0.0", + "sp-externalities 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-runtime-interface-proc-macro 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-storage 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-tracing 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-wasm-interface 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "static_assertions", ] [[package]] name = "sp-runtime-interface" version = "7.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b886a5d34400b0e0c12d389e3bb48b7a93d651cddf7e248124b81fe64c339251" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "bytes", "impl-trait-for-tuples", "parity-scale-codec", "primitive-types", - "sp-externalities 0.13.0", - "sp-runtime-interface-proc-macro 6.0.0", - "sp-std 5.0.0", - "sp-storage 7.0.0", - "sp-tracing 6.0.0", - "sp-wasm-interface 7.0.0", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-runtime-interface-proc-macro 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-wasm-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "static_assertions", ] [[package]] name = "sp-runtime-interface-proc-macro" -version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a157f1ce0108b9b87f87e826726049d9b6253318b74410c814be7fc2af416b51" dependencies = [ "Inflector", "proc-macro-crate", @@ -3663,8 +3810,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a157f1ce0108b9b87f87e826726049d9b6253318b74410c814be7fc2af416b51" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "Inflector", "proc-macro-crate", @@ -3676,32 +3822,33 @@ dependencies = [ [[package]] name = "sp-session" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "parity-scale-codec", "scale-info", "sp-api", - "sp-core 6.0.0", - "sp-runtime 6.0.0", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "sp-staking", - "sp-std 4.0.0", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", ] [[package]] name = "sp-staking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "parity-scale-codec", "scale-info", - "sp-runtime 6.0.0", - "sp-std 4.0.0", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", ] [[package]] name = "sp-state-machine" -version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5c2d97ad69011d34ca257f0383532b80096d53f889f5894ae2b24a211bec66f" dependencies = [ "hash-db", "log", @@ -3710,11 +3857,11 @@ dependencies = [ "parking_lot", "rand 0.7.3", "smallvec", - "sp-core 6.0.0", - "sp-externalities 0.12.0", - "sp-panic-handler 4.0.0", - "sp-std 4.0.0", - "sp-trie 6.0.0", + "sp-core 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-externalities 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-panic-handler 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-trie 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "thiserror", "tracing", "trie-root", @@ -3723,8 +3870,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5c2d97ad69011d34ca257f0383532b80096d53f889f5894ae2b24a211bec66f" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "hash-db", "log", @@ -3733,11 +3879,11 @@ dependencies = [ "parking_lot", "rand 0.7.3", "smallvec", - "sp-core 7.0.0", - "sp-externalities 0.13.0", - "sp-panic-handler 5.0.0", - "sp-std 5.0.0", - "sp-trie 7.0.0", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-panic-handler 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "thiserror", "tracing", "trie-root", @@ -3745,46 +3891,46 @@ dependencies = [ [[package]] name = "sp-std" -version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "5.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf3fd4c1d304be101e6ebbafd3d4be9a37b320c970ef4e8df188b16873981c93" [[package]] name = "sp-std" version = "5.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf3fd4c1d304be101e6ebbafd3d4be9a37b320c970ef4e8df188b16873981c93" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" [[package]] name = "sp-storage" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eb987ed2e4d7d870170a225083ea962f2a359d75cdf76935d5ed8d91bee912d9" dependencies = [ "impl-serde 0.4.0", "parity-scale-codec", "ref-cast", "serde", - "sp-debug-derive 4.0.0", - "sp-std 4.0.0", + "sp-debug-derive 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "sp-storage" version = "7.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb987ed2e4d7d870170a225083ea962f2a359d75cdf76935d5ed8d91bee912d9" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "impl-serde 0.4.0", "parity-scale-codec", "ref-cast", "serde", - "sp-debug-derive 5.0.0", - "sp-std 5.0.0", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", ] [[package]] name = "sp-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "async-trait", "futures-timer", @@ -3792,18 +3938,19 @@ dependencies = [ "parity-scale-codec", "sp-api", "sp-inherents", - "sp-runtime 6.0.0", - "sp-std 4.0.0", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "thiserror", ] [[package]] name = "sp-tracing" -version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e761df87dc940d87720939de8f976d1fc0657e523886ae0d7bf3f7e2e2f0abb6" dependencies = [ "parity-scale-codec", - "sp-std 4.0.0", + "sp-std 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "tracing", "tracing-core", "tracing-subscriber", @@ -3812,11 +3959,10 @@ dependencies = [ [[package]] name = "sp-tracing" version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e761df87dc940d87720939de8f976d1fc0657e523886ae0d7bf3f7e2e2f0abb6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "parity-scale-codec", - "sp-std 5.0.0", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "tracing", "tracing-core", "tracing-subscriber", @@ -3824,8 +3970,9 @@ dependencies = [ [[package]] name = "sp-trie" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f4f48c887e90050537e399d2d8b6ee82787ebec0fe46e4880b42cab0c2d5ba6" dependencies = [ "ahash", "hash-db", @@ -3837,8 +3984,8 @@ dependencies = [ "parity-scale-codec", "parking_lot", "scale-info", - "sp-core 6.0.0", - "sp-std 4.0.0", + "sp-core 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "thiserror", "tracing", "trie-db", @@ -3848,8 +3995,7 @@ dependencies = [ [[package]] name = "sp-trie" version = "7.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f4f48c887e90050537e399d2d8b6ee82787ebec0fe46e4880b42cab0c2d5ba6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "ahash", "hash-db", @@ -3861,8 +4007,8 @@ dependencies = [ "parity-scale-codec", "parking_lot", "scale-info", - "sp-core 7.0.0", - "sp-std 5.0.0", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "thiserror", "tracing", "trie-db", @@ -3872,7 +4018,7 @@ dependencies = [ [[package]] name = "sp-version" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "impl-serde 0.4.0", "parity-scale-codec", @@ -3880,8 +4026,8 @@ dependencies = [ "scale-info", "serde", "sp-core-hashing-proc-macro", - "sp-runtime 6.0.0", - "sp-std 4.0.0", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "sp-version-proc-macro", "thiserror", ] @@ -3889,7 +4035,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "parity-scale-codec", "proc-macro2", @@ -3899,27 +4045,28 @@ dependencies = [ [[package]] name = "sp-wasm-interface" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4f43c40afab6ecac20505907631c929957ed636b7af8795984649bbaa6ff38c3" dependencies = [ "impl-trait-for-tuples", "log", "parity-scale-codec", - "sp-std 4.0.0", + "sp-std 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "wasmi", ] [[package]] name = "sp-wasm-interface" version = "7.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f43c40afab6ecac20505907631c929957ed636b7af8795984649bbaa6ff38c3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "impl-trait-for-tuples", "log", "parity-scale-codec", - "sp-std 5.0.0", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "wasmi", + "wasmtime", ] [[package]] @@ -3933,26 +4080,26 @@ dependencies = [ "scale-info", "serde", "smallvec", - "sp-arithmetic 6.0.0", - "sp-core 7.0.0", - "sp-debug-derive 5.0.0", - "sp-std 5.0.0", + "sp-arithmetic 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-core 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-debug-derive 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "sp-weights" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", "scale-info", "serde", "smallvec", - "sp-arithmetic 5.0.0", - "sp-core 6.0.0", - "sp-debug-derive 4.0.0", - "sp-std 4.0.0", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", ] [[package]] @@ -3986,6 +4133,12 @@ dependencies = [ "unicode-xid", ] +[[package]] +name = "stable_deref_trait" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" + [[package]] name = "static_assertions" version = "1.1.0" @@ -4050,8 +4203,8 @@ dependencies = [ "scale-value", "serde", "serde_json", - "sp-core 7.0.0", - "sp-runtime 7.0.0", + "sp-core 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-runtime 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "subxt-macro", "subxt-metadata", "thiserror", @@ -4100,7 +4253,7 @@ dependencies = [ "frame-metadata", "parity-scale-codec", "scale-info", - "sp-core 7.0.0", + "sp-core 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -4132,6 +4285,12 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" +[[package]] +name = "target-lexicon" +version = "0.12.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ae9980cab1db3fceee2f6c6f643d5d8de2997c58ee8d25fb0cc8a9e9e7348e5" + [[package]] name = "tempfile" version = "3.3.0" @@ -4624,6 +4783,137 @@ dependencies = [ "num-traits", ] +[[package]] +name = "wasmparser" +version = "0.89.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab5d3e08b13876f96dd55608d03cd4883a0545884932d5adf11925876c96daef" +dependencies = [ + "indexmap", +] + +[[package]] +name = "wasmtime" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ad5af6ba38311282f2a21670d96e78266e8c8e2f38cbcd52c254df6ccbc7731" +dependencies = [ + "anyhow", + "bincode", + "cfg-if", + "indexmap", + "libc", + "log", + "object", + "once_cell", + "paste", + "psm", + "serde", + "target-lexicon", + "wasmparser", + "wasmtime-environ", + "wasmtime-jit", + "wasmtime-runtime", + "windows-sys 0.36.1", +] + +[[package]] +name = "wasmtime-asm-macros" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "45de63ddfc8b9223d1adc8f7b2ee5f35d1f6d112833934ad7ea66e4f4339e597" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "wasmtime-environ" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebb881c61f4f627b5d45c54e629724974f8a8890d455bcbe634330cc27309644" +dependencies = [ + "anyhow", + "cranelift-entity", + "gimli", + "indexmap", + "log", + "object", + "serde", + "target-lexicon", + "thiserror", + "wasmparser", + "wasmtime-types", +] + +[[package]] +name = "wasmtime-jit" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1985c628011fe26adf5e23a5301bdc79b245e0e338f14bb58b39e4e25e4d8681" +dependencies = [ + "addr2line", + "anyhow", + "bincode", + "cfg-if", + "cpp_demangle", + "gimli", + "log", + "object", + "rustc-demangle", + "rustix", + "serde", + "target-lexicon", + "thiserror", + "wasmtime-environ", + "wasmtime-runtime", + "windows-sys 0.36.1", +] + +[[package]] +name = "wasmtime-jit-debug" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f671b588486f5ccec8c5a3dba6b4c07eac2e66ab8c60e6f4e53717c77f709731" +dependencies = [ + "once_cell", +] + +[[package]] +name = "wasmtime-runtime" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee8f92ad4b61736339c29361da85769ebc200f184361959d1792832e592a1afd" +dependencies = [ + "anyhow", + "cc", + "cfg-if", + "indexmap", + "libc", + "log", + "mach", + "memoffset", + "paste", + "rand 0.8.5", + "rustix", + "thiserror", + "wasmtime-asm-macros", + "wasmtime-environ", + "wasmtime-jit-debug", + "windows-sys 0.36.1", +] + +[[package]] +name = "wasmtime-types" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d23d61cb4c46e837b431196dd06abb11731541021916d03476a178b54dc07aeb" +dependencies = [ + "cranelift-entity", + "serde", + "thiserror", + "wasmparser", +] + [[package]] name = "web-sys" version = "0.3.60" diff --git a/bin/cliain/Cargo.toml b/bin/cliain/Cargo.toml index c8155654c7..9389910606 100644 --- a/bin/cliain/Cargo.toml +++ b/bin/cliain/Cargo.toml @@ -16,11 +16,11 @@ env_logger = "0.8" hex = "0.4.3" ink_metadata = { version = "4.0.0-beta", features = ["derive"] } log = "0.4" -pallet-staking = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +pallet-staking = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } primitives = { path = "../../primitives" } serde = { version = "1.0.137", features = ["derive"] } serde_json = "1.0.81" -sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33", features = ["full_crypto"] } +sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34", features = ["full_crypto"] } tokio = { version = "1.21.2", features = ["full"] } subxt = "0.25.0" diff --git a/bin/node/Cargo.toml b/bin/node/Cargo.toml index c11dc1166a..6dc69e92c6 100644 --- a/bin/node/Cargo.toml +++ b/bin/node/Cargo.toml @@ -26,33 +26,33 @@ hex-literal = "0.3" libp2p = "0.49.0" thiserror = "1.0" -sp-application-crypto = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -sc-block-builder = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -sc-chain-spec = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33"} -sc-cli = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -sc-executor = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -sc-service = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -sc-telemetry = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -sc-keystore = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -sp-keystore = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -sp-inherents = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -sc-basic-authorship = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -sc-network = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -sc-transaction-pool = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -sp-transaction-pool = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -sc-transaction-pool-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -sc-consensus-aura = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -sp-consensus-aura = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -sp-consensus = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -sc-consensus = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -sc-client-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -sp-timestamp = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -pallet-staking = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -try-runtime-cli = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33", optional = true } -sc-consensus-slots = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -sp-arithmetic = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +sp-application-crypto = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +sc-block-builder = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +sc-chain-spec = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34"} +sc-cli = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +sc-executor = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +sc-service = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +sc-telemetry = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +sc-keystore = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +sp-keystore = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +sp-inherents = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +sc-basic-authorship = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +sc-network = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +sc-transaction-pool = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +sp-transaction-pool = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +sc-transaction-pool-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +sc-consensus-aura = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +sp-consensus-aura = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +sp-consensus = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +sc-consensus = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +sc-client-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +sp-timestamp = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +pallet-staking = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +try-runtime-cli = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34", optional = true } +sc-consensus-slots = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +sp-arithmetic = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } aleph-runtime = { path = "../runtime" } finality-aleph = { path = "../../finality-aleph" } @@ -60,16 +60,16 @@ aleph-primitives = { package = "primitives", path = "../../primitives" } # These dependencies are used for the node's RPCs jsonrpsee = { version = "0.15.1", features = ["server"] } -sc-rpc = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -sp-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -sc-rpc-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -sp-blockchain = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -sp-block-builder = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -substrate-frame-rpc-system = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -pallet-transaction-payment-rpc = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +sc-rpc = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +sp-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +sc-rpc-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +sp-blockchain = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +sp-block-builder = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +substrate-frame-rpc-system = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +pallet-transaction-payment-rpc = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } [build-dependencies] -substrate-build-script-utils = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +substrate-build-script-utils = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } [features] default = [] diff --git a/bin/runtime/Cargo.toml b/bin/runtime/Cargo.toml index 8febfd367a..5446572b19 100644 --- a/bin/runtime/Cargo.toml +++ b/bin/runtime/Cargo.toml @@ -15,54 +15,54 @@ codec = { package = "parity-scale-codec", version = "3.0", default-features = fa scale-info = { version = "2.0", default-features = false, features = ["derive"] } serde = { version = "1.0", optional = true, features = ["derive"] } -frame-executive = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -frame-support = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -frame-system = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -frame-system-rpc-runtime-api = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -frame-try-runtime = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33", optional = true } +frame-executive = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +frame-support = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +frame-system = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +frame-system-rpc-runtime-api = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +frame-try-runtime = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34", optional = true } -pallet-aura = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -pallet-authorship = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -pallet-balances = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -pallet-contracts = { git = "https://github.com/Cardinal-Cryptography/substrate", default-features = false, branch = "aleph-v0.9.33" } -pallet-contracts-primitives = { git = "https://github.com/Cardinal-Cryptography/substrate", default-features = false, branch = "aleph-v0.9.33" } -pallet-identity = { git = "https://github.com/Cardinal-Cryptography/substrate", default-features = false, branch = "aleph-v0.9.33" } -pallet-randomness-collective-flip = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -pallet-session = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -pallet-scheduler = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -pallet-staking = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -pallet-sudo = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -pallet-timestamp = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -pallet-transaction-payment = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -pallet-transaction-payment-rpc-runtime-api = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -pallet-treasury = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -pallet-vesting = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -pallet-multisig = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -pallet-utility = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -pallet-nomination-pools = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -pallet-nomination-pools-runtime-api = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +pallet-aura = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +pallet-authorship = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +pallet-balances = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +pallet-contracts = { git = "https://github.com/Cardinal-Cryptography/substrate", default-features = false, branch = "aleph-v0.9.34" } +pallet-contracts-primitives = { git = "https://github.com/Cardinal-Cryptography/substrate", default-features = false, branch = "aleph-v0.9.34" } +pallet-identity = { git = "https://github.com/Cardinal-Cryptography/substrate", default-features = false, branch = "aleph-v0.9.34" } +pallet-randomness-collective-flip = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +pallet-session = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +pallet-scheduler = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +pallet-staking = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +pallet-sudo = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +pallet-timestamp = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +pallet-transaction-payment = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +pallet-transaction-payment-rpc-runtime-api = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +pallet-treasury = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +pallet-vesting = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +pallet-multisig = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +pallet-utility = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +pallet-nomination-pools = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +pallet-nomination-pools-runtime-api = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -sp-api = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -sp-block-builder = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -sp-consensus-aura = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -sp-core = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -sp-inherents = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -sp-offchain = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -sp-runtime = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -sp-session = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -sp-staking = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -sp-std = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -sp-transaction-pool = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -sp-version = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +sp-api = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +sp-block-builder = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +sp-consensus-aura = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +sp-core = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +sp-inherents = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +sp-offchain = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +sp-runtime = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +sp-session = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +sp-staking = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +sp-std = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +sp-transaction-pool = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +sp-version = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } # NOTE: these two disabled features collide with std in wasm -sp-io = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +sp-io = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } primitives = { path = "../../primitives", default-features = false } pallet-aleph = { path = "../../pallets/aleph", default-features = false } pallet-elections = { path = "../../pallets/elections", default-features = false } [build-dependencies] -substrate-wasm-builder = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +substrate-wasm-builder = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } [features] default = ["std"] @@ -88,6 +88,7 @@ std = [ "pallet-vesting/std", "pallet-multisig/std", "pallet-utility/std", + "pallet-scheduler/std", "serde", "sp-api/std", "sp-block-builder/std", diff --git a/bin/runtime/src/lib.rs b/bin/runtime/src/lib.rs index 14252a088d..70a2f8223c 100644 --- a/bin/runtime/src/lib.rs +++ b/bin/runtime/src/lib.rs @@ -20,7 +20,9 @@ pub use frame_support::{ }; use frame_support::{ sp_runtime::Perquintill, - traits::{ConstU32, EqualPrivilegeOnly, SortedMembers, U128CurrencyToVote, WithdrawReasons}, + traits::{ + ConstBool, ConstU32, EqualPrivilegeOnly, SortedMembers, U128CurrencyToVote, WithdrawReasons, + }, weights::constants::WEIGHT_PER_MILLIS, PalletId, }; @@ -104,7 +106,7 @@ pub const VERSION: RuntimeVersion = RuntimeVersion { spec_name: create_runtime_str!("aleph-node"), impl_name: create_runtime_str!("aleph-node"), authoring_version: 1, - spec_version: 47, + spec_version: 52, impl_version: 1, apis: RUNTIME_API_VERSIONS, transaction_version: 14, @@ -683,6 +685,7 @@ impl pallet_contracts::Config for Runtime { type AddressGenerator = pallet_contracts::DefaultAddressGenerator; type MaxCodeLen = ConstU32<{ 128 * 1024 }>; type MaxStorageKeyLen = ConstU32<128>; + type UnsafeUnstableInterface = ConstBool; } parameter_types! { diff --git a/e2e-tests/Cargo.lock b/e2e-tests/Cargo.lock index 50eee696ef..0d3fcf81d0 100644 --- a/e2e-tests/Cargo.lock +++ b/e2e-tests/Cargo.lock @@ -12,13 +12,22 @@ dependencies = [ "regex", ] +[[package]] +name = "addr2line" +version = "0.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9ecd88a8c8378ca913a680cd98f0f13ac67383d35993f86c90a70e3f137816b" +dependencies = [ + "gimli 0.26.2", +] + [[package]] name = "addr2line" version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a76fd60b23679b7d19bd066031410fb7e458ccc5e958eb5c325888ce4baedc97" dependencies = [ - "gimli", + "gimli 0.27.0", ] [[package]] @@ -70,8 +79,8 @@ dependencies = [ "rand 0.8.5", "rayon", "serde_json", - "sp-core 6.0.0", - "sp-runtime 6.0.0", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "synthetic-link", "tokio", ] @@ -94,7 +103,7 @@ dependencies = [ "primitives", "serde", "serde_json", - "sp-runtime 6.0.0", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "subxt", "thiserror", ] @@ -223,12 +232,12 @@ version = "0.3.67" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "233d376d6d185f2a3093e58f283f60f880315b6c60075b01f36b3b85154564ca" dependencies = [ - "addr2line", + "addr2line 0.19.0", "cc", "cfg-if", "libc", "miniz_oxide", - "object", + "object 0.30.2", "rustc-demangle", ] @@ -271,6 +280,15 @@ dependencies = [ "serde", ] +[[package]] +name = "bincode" +version = "1.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad" +dependencies = [ + "serde", +] + [[package]] name = "bitflags" version = "1.3.2" @@ -508,8 +526,8 @@ dependencies = [ "scale-info", "serde", "serde_json", - "sp-core 7.0.0", - "sp-runtime 7.0.0", + "sp-core 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-runtime 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "tracing", ] @@ -529,6 +547,15 @@ version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc" +[[package]] +name = "cpp_demangle" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eeaa953eaad386a53111e47172c2fedba671e5684c8dd601a5f474f4f118710f" +dependencies = [ + "cfg-if", +] + [[package]] name = "cpufeatures" version = "0.2.5" @@ -538,6 +565,24 @@ dependencies = [ "libc", ] +[[package]] +name = "cranelift-entity" +version = "0.88.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87a0f1b2fdc18776956370cf8d9b009ded3f855350c480c1c52142510961f352" +dependencies = [ + "serde", +] + +[[package]] +name = "crc32fast" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d" +dependencies = [ + "cfg-if", +] + [[package]] name = "crossbeam-channel" version = "0.5.6" @@ -568,7 +613,7 @@ dependencies = [ "autocfg", "cfg-if", "crossbeam-utils", - "memoffset", + "memoffset 0.7.1", "scopeguard", ] @@ -840,6 +885,27 @@ dependencies = [ "signature", ] +[[package]] +name = "ed25519" +version = "1.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91cff35c70bba8a626e3185d8cd48cc11b5437e1a5bcd15b9b5fa3c64b6dfee7" +dependencies = [ + "signature", +] + +[[package]] +name = "ed25519-dalek" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c762bae6dcaf24c4c84667b8579785430908723d5c889f469d76a41d59cc7a9d" +dependencies = [ + "curve25519-dalek 3.2.0", + "ed25519", + "sha2 0.9.9", + "zeroize", +] + [[package]] name = "ed25519-zebra" version = "3.1.0" @@ -962,6 +1028,12 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed" +[[package]] +name = "fallible-iterator" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7" + [[package]] name = "fastrand" version = "1.8.0" @@ -1026,7 +1098,7 @@ dependencies = [ [[package]] name = "frame-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "frame-support", "frame-system", @@ -1037,19 +1109,19 @@ dependencies = [ "scale-info", "serde", "sp-api", - "sp-application-crypto 6.0.0", - "sp-core 6.0.0", - "sp-io 6.0.0", - "sp-runtime 6.0.0", - "sp-runtime-interface 6.0.0", - "sp-std 4.0.0", - "sp-storage 6.0.0", + "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", ] [[package]] name = "frame-election-provider-solution-type" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -1060,17 +1132,17 @@ dependencies = [ [[package]] name = "frame-election-provider-support" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "frame-election-provider-solution-type", "frame-support", "frame-system", "parity-scale-codec", "scale-info", - "sp-arithmetic 5.0.0", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "sp-npos-elections", - "sp-runtime 6.0.0", - "sp-std 4.0.0", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", ] [[package]] @@ -1088,7 +1160,7 @@ dependencies = [ [[package]] name = "frame-support" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "bitflags", "frame-metadata", @@ -1103,24 +1175,24 @@ dependencies = [ "serde", "smallvec", "sp-api", - "sp-arithmetic 5.0.0", - "sp-core 6.0.0", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "sp-core-hashing-proc-macro", "sp-inherents", - "sp-io 6.0.0", - "sp-runtime 6.0.0", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "sp-staking", - "sp-state-machine 0.12.0", - "sp-std 4.0.0", - "sp-tracing 5.0.0", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33)", + "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "tt-call", ] [[package]] name = "frame-support-procedural" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "Inflector", "cfg-expr", @@ -1134,7 +1206,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate", @@ -1146,7 +1218,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "proc-macro2", "quote", @@ -1156,19 +1228,19 @@ dependencies = [ [[package]] name = "frame-system" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "frame-support", "log", "parity-scale-codec", "scale-info", "serde", - "sp-core 6.0.0", - "sp-io 6.0.0", - "sp-runtime 6.0.0", - "sp-std 4.0.0", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "sp-version", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", ] [[package]] @@ -1333,6 +1405,16 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "gimli" +version = "0.26.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22030e2c5a68ec659fde1e949a745124b48e6fa8b045b7ed5bd1fe4ccc5c4e5d" +dependencies = [ + "fallible-iterator", + "stable_deref_trait", +] + [[package]] name = "gimli" version = "0.27.0" @@ -1639,6 +1721,7 @@ checksum = "1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399" dependencies = [ "autocfg", "hashbrown", + "serde", ] [[package]] @@ -1760,6 +1843,12 @@ dependencies = [ "num-traits", ] +[[package]] +name = "io-lifetimes" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59ce5ef949d49ee85593fc4d3f3f95ad61657076395cbbce23e2121fc5542074" + [[package]] name = "io-lifetimes" version = "1.0.4" @@ -1767,7 +1856,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e7d6c6f8c91b4b9ed43484ad1a938e393caf35960fce7f82a040497207bd8e9e" dependencies = [ "libc", - "windows-sys", + "windows-sys 0.42.0", ] [[package]] @@ -1783,9 +1872,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "28dfb6c8100ccc63462345b67d1bbc3679177c75ee4bf59bf29c8b1d110b8189" dependencies = [ "hermit-abi 0.2.6", - "io-lifetimes", - "rustix", - "windows-sys", + "io-lifetimes 1.0.4", + "rustix 0.36.6", + "windows-sys 0.42.0", ] [[package]] @@ -2013,6 +2102,12 @@ dependencies = [ "statrs", ] +[[package]] +name = "linux-raw-sys" +version = "0.0.46" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4d2456c373231a208ad294c33dc5bff30051eafd954cd4caae83a712b12854d" + [[package]] name = "linux-raw-sys" version = "0.1.4" @@ -2047,6 +2142,15 @@ dependencies = [ "hashbrown", ] +[[package]] +name = "mach" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b823e83b2affd8f40a9ee8c29dbc56404c1e34cd2710921f2801e2cf29527afa" +dependencies = [ + "libc", +] + [[package]] name = "matchers" version = "0.0.1" @@ -2071,6 +2175,15 @@ version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" +[[package]] +name = "memoffset" +version = "0.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce" +dependencies = [ + "autocfg", +] + [[package]] name = "memoffset" version = "0.7.1" @@ -2139,7 +2252,7 @@ dependencies = [ "libc", "log", "wasi 0.11.0+wasi-snapshot-preview1", - "windows-sys", + "windows-sys 0.42.0", ] [[package]] @@ -2290,6 +2403,18 @@ dependencies = [ "libc", ] +[[package]] +name = "object" +version = "0.29.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "21158b2c33aa6d4561f1c0a6ea283ca92bc54802a93b263e910746d679a7eb53" +dependencies = [ + "crc32fast", + "hashbrown", + "indexmap", + "memchr", +] + [[package]] name = "object" version = "0.30.2" @@ -2371,7 +2496,7 @@ checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee" [[package]] name = "pallet-authorship" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "frame-support", "frame-system", @@ -2379,14 +2504,14 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-authorship", - "sp-runtime 6.0.0", - "sp-std 4.0.0", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", ] [[package]] name = "pallet-balances" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "frame-benchmarking", "frame-support", @@ -2394,20 +2519,20 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-runtime 6.0.0", - "sp-std 4.0.0", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", ] [[package]] name = "pallet-contracts-primitives" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "7.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "bitflags", "parity-scale-codec", - "sp-runtime 6.0.0", - "sp-std 4.0.0", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", ] [[package]] @@ -2425,17 +2550,17 @@ dependencies = [ "parity-scale-codec", "primitives", "scale-info", - "sp-core 6.0.0", - "sp-io 6.0.0", - "sp-runtime 6.0.0", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "sp-staking", - "sp-std 4.0.0", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", ] [[package]] name = "pallet-session" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "frame-support", "frame-system", @@ -2444,19 +2569,19 @@ dependencies = [ "pallet-timestamp", "parity-scale-codec", "scale-info", - "sp-core 6.0.0", - "sp-io 6.0.0", - "sp-runtime 6.0.0", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "sp-session", "sp-staking", - "sp-std 4.0.0", - "sp-trie 6.0.0", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", ] [[package]] name = "pallet-staking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -2468,17 +2593,17 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-application-crypto 6.0.0", - "sp-io 6.0.0", - "sp-runtime 6.0.0", + "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "sp-staking", - "sp-std 4.0.0", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", ] [[package]] name = "pallet-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "frame-benchmarking", "frame-support", @@ -2487,9 +2612,9 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-inherents", - "sp-io 6.0.0", - "sp-runtime 6.0.0", - "sp-std 4.0.0", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "sp-timestamp", ] @@ -2498,7 +2623,7 @@ name = "pallets-support" version = "0.1.4" dependencies = [ "frame-support", - "sp-std 4.0.0", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", ] [[package]] @@ -2586,7 +2711,7 @@ dependencies = [ "libc", "redox_syscall", "smallvec", - "windows-sys", + "windows-sys 0.42.0", ] [[package]] @@ -2694,11 +2819,11 @@ dependencies = [ "scale-info", "serde", "sp-api", - "sp-application-crypto 6.0.0", - "sp-core 6.0.0", - "sp-runtime 6.0.0", + "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "sp-staking", - "sp-std 4.0.0", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", ] [[package]] @@ -2745,6 +2870,15 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "psm" +version = "0.1.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5787f7cda34e3033a72192c018bc5883100330f362ef279a8cbccfce8bb4e874" +dependencies = [ + "cc", +] + [[package]] name = "quote" version = "1.0.23" @@ -3039,6 +3173,20 @@ dependencies = [ "semver", ] +[[package]] +name = "rustix" +version = "0.35.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "727a1a6d65f786ec22df8a81ca3121107f235970dc1705ed681d3e6e8b9cd5f9" +dependencies = [ + "bitflags", + "errno", + "io-lifetimes 0.7.5", + "libc", + "linux-raw-sys 0.0.46", + "windows-sys 0.42.0", +] + [[package]] name = "rustix" version = "0.36.6" @@ -3047,10 +3195,10 @@ checksum = "4feacf7db682c6c329c4ede12649cd36ecab0f3be5b7d74e6a20304725db4549" dependencies = [ "bitflags", "errno", - "io-lifetimes", + "io-lifetimes 1.0.4", "libc", - "linux-raw-sys", - "windows-sys", + "linux-raw-sys 0.1.4", + "windows-sys 0.42.0", ] [[package]] @@ -3170,7 +3318,7 @@ version = "0.1.21" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "713cfb06c7059f3588fb8044c0fad1d09e3c01d225e25b9220dbfdcf16dbb1b3" dependencies = [ - "windows-sys", + "windows-sys 0.42.0", ] [[package]] @@ -3482,17 +3630,17 @@ dependencies = [ [[package]] name = "sp-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "hash-db", "log", "parity-scale-codec", "sp-api-proc-macro", - "sp-core 6.0.0", - "sp-runtime 6.0.0", - "sp-state-machine 0.12.0", - "sp-std 4.0.0", - "sp-trie 6.0.0", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "sp-version", "thiserror", ] @@ -3500,7 +3648,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "blake2", "proc-macro-crate", @@ -3511,78 +3659,79 @@ dependencies = [ [[package]] name = "sp-application-crypto" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30a70f8245ad75c773c43e46d16e81adb62290d37cd07efcde6cef06d93235e5" dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core 6.0.0", - "sp-io 6.0.0", - "sp-std 4.0.0", + "sp-core 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-io 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "sp-application-crypto" version = "7.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30a70f8245ad75c773c43e46d16e81adb62290d37cd07efcde6cef06d93235e5" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core 7.0.0", - "sp-io 7.0.0", - "sp-std 5.0.0", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", ] [[package]] name = "sp-arithmetic" -version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3856b3e912f0a7a1332f1642b5fd3c2e76476e894c656538d32c004698690157" dependencies = [ "integer-sqrt", "num-traits", "parity-scale-codec", "scale-info", "serde", - "sp-debug-derive 4.0.0", - "sp-std 4.0.0", + "sp-debug-derive 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "static_assertions", ] [[package]] name = "sp-arithmetic" version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3856b3e912f0a7a1332f1642b5fd3c2e76476e894c656538d32c004698690157" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "integer-sqrt", "num-traits", "parity-scale-codec", "scale-info", "serde", - "sp-debug-derive 5.0.0", - "sp-std 5.0.0", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "static_assertions", ] [[package]] name = "sp-authorship" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "async-trait", "parity-scale-codec", "sp-inherents", - "sp-runtime 6.0.0", - "sp-std 4.0.0", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", ] [[package]] name = "sp-core" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88c78530907dbf7949af928d0ce88b485067389201b6d9b468074b1924f209f0" dependencies = [ "array-bytes", "base58", @@ -3610,12 +3759,12 @@ dependencies = [ "secp256k1", "secrecy", "serde", - "sp-core-hashing 4.0.0", - "sp-debug-derive 4.0.0", - "sp-externalities 0.12.0", - "sp-runtime-interface 6.0.0", - "sp-std 4.0.0", - "sp-storage 6.0.0", + "sp-core-hashing 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-debug-derive 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-externalities 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-runtime-interface 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-storage 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "ss58-registry", "substrate-bip39", "thiserror", @@ -3627,8 +3776,7 @@ dependencies = [ [[package]] name = "sp-core" version = "7.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88c78530907dbf7949af928d0ce88b485067389201b6d9b468074b1924f209f0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "array-bytes", "base58", @@ -3656,12 +3804,12 @@ dependencies = [ "secp256k1", "secrecy", "serde", - "sp-core-hashing 5.0.0", - "sp-debug-derive 5.0.0", - "sp-externalities 0.13.0", - "sp-runtime-interface 7.0.0", - "sp-std 5.0.0", - "sp-storage 7.0.0", + "sp-core-hashing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "ss58-registry", "substrate-bip39", "thiserror", @@ -3672,48 +3820,49 @@ dependencies = [ [[package]] name = "sp-core-hashing" -version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "5.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49b9d1daa6aebfc144729b630885e91df92ff00560490ec065a56cb538e8895a" dependencies = [ "blake2", "byteorder", "digest 0.10.6", "sha2 0.10.6", "sha3", - "sp-std 4.0.0", + "sp-std 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "twox-hash", ] [[package]] name = "sp-core-hashing" version = "5.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49b9d1daa6aebfc144729b630885e91df92ff00560490ec065a56cb538e8895a" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "blake2", "byteorder", "digest 0.10.6", "sha2 0.10.6", "sha3", - "sp-std 5.0.0", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "twox-hash", ] [[package]] name = "sp-core-hashing-proc-macro" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "proc-macro2", "quote", - "sp-core-hashing 4.0.0", + "sp-core-hashing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "syn", ] [[package]] name = "sp-debug-derive" -version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "5.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9e9ba7352773b96a4aa57e903447f841c6bc26e8c798377db6e7eb332346454" dependencies = [ "proc-macro2", "quote", @@ -3723,8 +3872,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "5.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9e9ba7352773b96a4aa57e903447f841c6bc26e8c798377db6e7eb332346454" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "proc-macro2", "quote", @@ -3733,45 +3881,46 @@ dependencies = [ [[package]] name = "sp-externalities" -version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef739442230f49d88ece41259e5d886d6b8bc0f4197ef7f1585c39c762ce7ef2" dependencies = [ "environmental", "parity-scale-codec", - "sp-std 4.0.0", - "sp-storage 6.0.0", + "sp-std 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-storage 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "sp-externalities" version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef739442230f49d88ece41259e5d886d6b8bc0f4197ef7f1585c39c762ce7ef2" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "environmental", "parity-scale-codec", - "sp-std 5.0.0", - "sp-storage 7.0.0", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", ] [[package]] name = "sp-inherents" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "async-trait", "impl-trait-for-tuples", "parity-scale-codec", - "sp-core 6.0.0", - "sp-runtime 6.0.0", - "sp-std 4.0.0", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "thiserror", ] [[package]] name = "sp-io" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6280bd3643354f7ff0b2abd36c687745455779231a7a86d90945608f0d4924c4" dependencies = [ "bytes", "futures", @@ -3781,15 +3930,15 @@ dependencies = [ "parity-scale-codec", "parking_lot", "secp256k1", - "sp-core 6.0.0", - "sp-externalities 0.12.0", - "sp-keystore 0.12.0", - "sp-runtime-interface 6.0.0", - "sp-state-machine 0.12.0", - "sp-std 4.0.0", - "sp-tracing 5.0.0", - "sp-trie 6.0.0", - "sp-wasm-interface 6.0.0", + "sp-core 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-externalities 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-keystore 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-runtime-interface 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-state-machine 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-tracing 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-trie 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-wasm-interface 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "tracing", "tracing-core", ] @@ -3797,10 +3946,10 @@ dependencies = [ [[package]] name = "sp-io" version = "7.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6280bd3643354f7ff0b2abd36c687745455779231a7a86d90945608f0d4924c4" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "bytes", + "ed25519-dalek", "futures", "hash-db", "libsecp256k1", @@ -3808,23 +3957,24 @@ dependencies = [ "parity-scale-codec", "parking_lot", "secp256k1", - "sp-core 7.0.0", - "sp-externalities 0.13.0", - "sp-keystore 0.13.0", - "sp-runtime-interface 7.0.0", - "sp-state-machine 0.13.0", - "sp-std 5.0.0", - "sp-tracing 6.0.0", - "sp-trie 7.0.0", - "sp-wasm-interface 7.0.0", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-keystore 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-wasm-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "tracing", "tracing-core", ] [[package]] name = "sp-keystore" -version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a44bec4f0d036b6993c14bbee4216781f21275e5c201e43e45fed4a434bf0e5a" dependencies = [ "async-trait", "futures", @@ -3832,16 +3982,15 @@ dependencies = [ "parity-scale-codec", "parking_lot", "schnorrkel", - "sp-core 6.0.0", - "sp-externalities 0.12.0", + "sp-core 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-externalities 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", "thiserror", ] [[package]] name = "sp-keystore" version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a44bec4f0d036b6993c14bbee4216781f21275e5c201e43e45fed4a434bf0e5a" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "async-trait", "futures", @@ -3849,29 +3998,30 @@ dependencies = [ "parity-scale-codec", "parking_lot", "schnorrkel", - "sp-core 7.0.0", - "sp-externalities 0.13.0", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "thiserror", ] [[package]] name = "sp-npos-elections" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-arithmetic 5.0.0", - "sp-core 6.0.0", - "sp-runtime 6.0.0", - "sp-std 4.0.0", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", ] [[package]] name = "sp-panic-handler" -version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "5.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97549ec99cb289db2a9f5c656b6880f7c90097135e1ca6c6ae4fe5694232e526" dependencies = [ "backtrace", "lazy_static", @@ -3881,8 +4031,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "5.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97549ec99cb289db2a9f5c656b6880f7c90097135e1ca6c6ae4fe5694232e526" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "backtrace", "lazy_static", @@ -3891,8 +4040,9 @@ dependencies = [ [[package]] name = "sp-runtime" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0edfc5c54c2b31d2f0cf904d472a0bff7125c0c2a2e2330507842e56f9a27444" dependencies = [ "either", "hash256-std-hasher", @@ -3904,19 +4054,18 @@ dependencies = [ "rand 0.7.3", "scale-info", "serde", - "sp-application-crypto 6.0.0", - "sp-arithmetic 5.0.0", - "sp-core 6.0.0", - "sp-io 6.0.0", - "sp-std 4.0.0", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33)", + "sp-application-crypto 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-arithmetic 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-core 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-io 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-weights 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "sp-runtime" version = "7.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0edfc5c54c2b31d2f0cf904d472a0bff7125c0c2a2e2330507842e56f9a27444" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "either", "hash256-std-hasher", @@ -3928,55 +4077,56 @@ dependencies = [ "rand 0.7.3", "scale-info", "serde", - "sp-application-crypto 7.0.0", - "sp-arithmetic 6.0.0", - "sp-core 7.0.0", - "sp-io 7.0.0", - "sp-std 5.0.0", - "sp-weights 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", ] [[package]] name = "sp-runtime-interface" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b886a5d34400b0e0c12d389e3bb48b7a93d651cddf7e248124b81fe64c339251" dependencies = [ "bytes", "impl-trait-for-tuples", "parity-scale-codec", "primitive-types", - "sp-externalities 0.12.0", - "sp-runtime-interface-proc-macro 5.0.0", - "sp-std 4.0.0", - "sp-storage 6.0.0", - "sp-tracing 5.0.0", - "sp-wasm-interface 6.0.0", + "sp-externalities 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-runtime-interface-proc-macro 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-storage 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-tracing 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-wasm-interface 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "static_assertions", ] [[package]] name = "sp-runtime-interface" version = "7.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b886a5d34400b0e0c12d389e3bb48b7a93d651cddf7e248124b81fe64c339251" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "bytes", "impl-trait-for-tuples", "parity-scale-codec", "primitive-types", - "sp-externalities 0.13.0", - "sp-runtime-interface-proc-macro 6.0.0", - "sp-std 5.0.0", - "sp-storage 7.0.0", - "sp-tracing 6.0.0", - "sp-wasm-interface 7.0.0", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-runtime-interface-proc-macro 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-wasm-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "static_assertions", ] [[package]] name = "sp-runtime-interface-proc-macro" -version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a157f1ce0108b9b87f87e826726049d9b6253318b74410c814be7fc2af416b51" dependencies = [ "Inflector", "proc-macro-crate", @@ -3988,8 +4138,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a157f1ce0108b9b87f87e826726049d9b6253318b74410c814be7fc2af416b51" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "Inflector", "proc-macro-crate", @@ -4001,32 +4150,33 @@ dependencies = [ [[package]] name = "sp-session" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "parity-scale-codec", "scale-info", "sp-api", - "sp-core 6.0.0", - "sp-runtime 6.0.0", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "sp-staking", - "sp-std 4.0.0", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", ] [[package]] name = "sp-staking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "parity-scale-codec", "scale-info", - "sp-runtime 6.0.0", - "sp-std 4.0.0", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", ] [[package]] name = "sp-state-machine" -version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5c2d97ad69011d34ca257f0383532b80096d53f889f5894ae2b24a211bec66f" dependencies = [ "hash-db", "log", @@ -4035,11 +4185,11 @@ dependencies = [ "parking_lot", "rand 0.7.3", "smallvec", - "sp-core 6.0.0", - "sp-externalities 0.12.0", - "sp-panic-handler 4.0.0", - "sp-std 4.0.0", - "sp-trie 6.0.0", + "sp-core 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-externalities 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-panic-handler 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-trie 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "thiserror", "tracing", "trie-root", @@ -4048,8 +4198,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5c2d97ad69011d34ca257f0383532b80096d53f889f5894ae2b24a211bec66f" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "hash-db", "log", @@ -4058,11 +4207,11 @@ dependencies = [ "parking_lot", "rand 0.7.3", "smallvec", - "sp-core 7.0.0", - "sp-externalities 0.13.0", - "sp-panic-handler 5.0.0", - "sp-std 5.0.0", - "sp-trie 7.0.0", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-panic-handler 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "thiserror", "tracing", "trie-root", @@ -4070,46 +4219,46 @@ dependencies = [ [[package]] name = "sp-std" -version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "5.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf3fd4c1d304be101e6ebbafd3d4be9a37b320c970ef4e8df188b16873981c93" [[package]] name = "sp-std" version = "5.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf3fd4c1d304be101e6ebbafd3d4be9a37b320c970ef4e8df188b16873981c93" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" [[package]] name = "sp-storage" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eb987ed2e4d7d870170a225083ea962f2a359d75cdf76935d5ed8d91bee912d9" dependencies = [ "impl-serde", "parity-scale-codec", "ref-cast", "serde", - "sp-debug-derive 4.0.0", - "sp-std 4.0.0", + "sp-debug-derive 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "sp-storage" version = "7.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb987ed2e4d7d870170a225083ea962f2a359d75cdf76935d5ed8d91bee912d9" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "impl-serde", "parity-scale-codec", "ref-cast", "serde", - "sp-debug-derive 5.0.0", - "sp-std 5.0.0", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", ] [[package]] name = "sp-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "async-trait", "futures-timer", @@ -4117,18 +4266,19 @@ dependencies = [ "parity-scale-codec", "sp-api", "sp-inherents", - "sp-runtime 6.0.0", - "sp-std 4.0.0", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "thiserror", ] [[package]] name = "sp-tracing" -version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e761df87dc940d87720939de8f976d1fc0657e523886ae0d7bf3f7e2e2f0abb6" dependencies = [ "parity-scale-codec", - "sp-std 4.0.0", + "sp-std 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "tracing", "tracing-core", "tracing-subscriber", @@ -4137,11 +4287,10 @@ dependencies = [ [[package]] name = "sp-tracing" version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e761df87dc940d87720939de8f976d1fc0657e523886ae0d7bf3f7e2e2f0abb6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "parity-scale-codec", - "sp-std 5.0.0", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "tracing", "tracing-core", "tracing-subscriber", @@ -4149,8 +4298,9 @@ dependencies = [ [[package]] name = "sp-trie" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f4f48c887e90050537e399d2d8b6ee82787ebec0fe46e4880b42cab0c2d5ba6" dependencies = [ "ahash", "hash-db", @@ -4162,8 +4312,8 @@ dependencies = [ "parity-scale-codec", "parking_lot", "scale-info", - "sp-core 6.0.0", - "sp-std 4.0.0", + "sp-core 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "thiserror", "tracing", "trie-db", @@ -4173,8 +4323,7 @@ dependencies = [ [[package]] name = "sp-trie" version = "7.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f4f48c887e90050537e399d2d8b6ee82787ebec0fe46e4880b42cab0c2d5ba6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "ahash", "hash-db", @@ -4186,8 +4335,8 @@ dependencies = [ "parity-scale-codec", "parking_lot", "scale-info", - "sp-core 7.0.0", - "sp-std 5.0.0", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "thiserror", "tracing", "trie-db", @@ -4197,7 +4346,7 @@ dependencies = [ [[package]] name = "sp-version" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "impl-serde", "parity-scale-codec", @@ -4205,8 +4354,8 @@ dependencies = [ "scale-info", "serde", "sp-core-hashing-proc-macro", - "sp-runtime 6.0.0", - "sp-std 4.0.0", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "sp-version-proc-macro", "thiserror", ] @@ -4214,7 +4363,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "parity-scale-codec", "proc-macro2", @@ -4224,27 +4373,28 @@ dependencies = [ [[package]] name = "sp-wasm-interface" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4f43c40afab6ecac20505907631c929957ed636b7af8795984649bbaa6ff38c3" dependencies = [ "impl-trait-for-tuples", "log", "parity-scale-codec", - "sp-std 4.0.0", + "sp-std 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "wasmi", ] [[package]] name = "sp-wasm-interface" version = "7.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f43c40afab6ecac20505907631c929957ed636b7af8795984649bbaa6ff38c3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "impl-trait-for-tuples", "log", "parity-scale-codec", - "sp-std 5.0.0", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "wasmi", + "wasmtime", ] [[package]] @@ -4258,26 +4408,26 @@ dependencies = [ "scale-info", "serde", "smallvec", - "sp-arithmetic 6.0.0", - "sp-core 7.0.0", - "sp-debug-derive 5.0.0", - "sp-std 5.0.0", + "sp-arithmetic 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-core 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-debug-derive 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "sp-weights" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", "scale-info", "serde", "smallvec", - "sp-arithmetic 5.0.0", - "sp-core 6.0.0", - "sp-debug-derive 4.0.0", - "sp-std 4.0.0", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", ] [[package]] @@ -4311,6 +4461,12 @@ dependencies = [ "unicode-xid", ] +[[package]] +name = "stable_deref_trait" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" + [[package]] name = "static_assertions" version = "1.1.0" @@ -4375,8 +4531,8 @@ dependencies = [ "scale-value", "serde", "serde_json", - "sp-core 7.0.0", - "sp-runtime 7.0.0", + "sp-core 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-runtime 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "subxt-macro", "subxt-metadata", "thiserror", @@ -4425,7 +4581,7 @@ dependencies = [ "frame-metadata", "parity-scale-codec", "scale-info", - "sp-core 7.0.0", + "sp-core 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -4472,6 +4628,12 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" +[[package]] +name = "target-lexicon" +version = "0.12.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ae9980cab1db3fceee2f6c6f643d5d8de2997c58ee8d25fb0cc8a9e9e7348e5" + [[package]] name = "tempfile" version = "3.3.0" @@ -4575,7 +4737,7 @@ dependencies = [ "signal-hook-registry", "socket2", "tokio-macros", - "windows-sys", + "windows-sys 0.42.0", ] [[package]] @@ -4976,6 +5138,137 @@ dependencies = [ "num-traits", ] +[[package]] +name = "wasmparser" +version = "0.89.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab5d3e08b13876f96dd55608d03cd4883a0545884932d5adf11925876c96daef" +dependencies = [ + "indexmap", +] + +[[package]] +name = "wasmtime" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ad5af6ba38311282f2a21670d96e78266e8c8e2f38cbcd52c254df6ccbc7731" +dependencies = [ + "anyhow", + "bincode", + "cfg-if", + "indexmap", + "libc", + "log", + "object 0.29.0", + "once_cell", + "paste", + "psm", + "serde", + "target-lexicon", + "wasmparser", + "wasmtime-environ", + "wasmtime-jit", + "wasmtime-runtime", + "windows-sys 0.36.1", +] + +[[package]] +name = "wasmtime-asm-macros" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "45de63ddfc8b9223d1adc8f7b2ee5f35d1f6d112833934ad7ea66e4f4339e597" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "wasmtime-environ" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebb881c61f4f627b5d45c54e629724974f8a8890d455bcbe634330cc27309644" +dependencies = [ + "anyhow", + "cranelift-entity", + "gimli 0.26.2", + "indexmap", + "log", + "object 0.29.0", + "serde", + "target-lexicon", + "thiserror", + "wasmparser", + "wasmtime-types", +] + +[[package]] +name = "wasmtime-jit" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1985c628011fe26adf5e23a5301bdc79b245e0e338f14bb58b39e4e25e4d8681" +dependencies = [ + "addr2line 0.17.0", + "anyhow", + "bincode", + "cfg-if", + "cpp_demangle", + "gimli 0.26.2", + "log", + "object 0.29.0", + "rustc-demangle", + "rustix 0.35.13", + "serde", + "target-lexicon", + "thiserror", + "wasmtime-environ", + "wasmtime-runtime", + "windows-sys 0.36.1", +] + +[[package]] +name = "wasmtime-jit-debug" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f671b588486f5ccec8c5a3dba6b4c07eac2e66ab8c60e6f4e53717c77f709731" +dependencies = [ + "once_cell", +] + +[[package]] +name = "wasmtime-runtime" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee8f92ad4b61736339c29361da85769ebc200f184361959d1792832e592a1afd" +dependencies = [ + "anyhow", + "cc", + "cfg-if", + "indexmap", + "libc", + "log", + "mach", + "memoffset 0.6.5", + "paste", + "rand 0.8.5", + "rustix 0.35.13", + "thiserror", + "wasmtime-asm-macros", + "wasmtime-environ", + "wasmtime-jit-debug", + "windows-sys 0.36.1", +] + +[[package]] +name = "wasmtime-types" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d23d61cb4c46e837b431196dd06abb11731541021916d03476a178b54dc07aeb" +dependencies = [ + "cranelift-entity", + "serde", + "thiserror", + "wasmparser", +] + [[package]] name = "web-sys" version = "0.3.60" @@ -5036,6 +5329,19 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" +[[package]] +name = "windows-sys" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea04155a16a59f9eab786fe12a4a450e75cdb175f9e0d80da1e17db09f55b8d2" +dependencies = [ + "windows_aarch64_msvc 0.36.1", + "windows_i686_gnu 0.36.1", + "windows_i686_msvc 0.36.1", + "windows_x86_64_gnu 0.36.1", + "windows_x86_64_msvc 0.36.1", +] + [[package]] name = "windows-sys" version = "0.42.0" @@ -5043,12 +5349,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" dependencies = [ "windows_aarch64_gnullvm", - "windows_aarch64_msvc", - "windows_i686_gnu", - "windows_i686_msvc", - "windows_x86_64_gnu", + "windows_aarch64_msvc 0.42.1", + "windows_i686_gnu 0.42.1", + "windows_i686_msvc 0.42.1", + "windows_x86_64_gnu 0.42.1", "windows_x86_64_gnullvm", - "windows_x86_64_msvc", + "windows_x86_64_msvc 0.42.1", ] [[package]] @@ -5057,24 +5363,48 @@ version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8c9864e83243fdec7fc9c5444389dcbbfd258f745e7853198f365e3c4968a608" +[[package]] +name = "windows_aarch64_msvc" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47" + [[package]] name = "windows_aarch64_msvc" version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4c8b1b673ffc16c47a9ff48570a9d85e25d265735c503681332589af6253c6c7" +[[package]] +name = "windows_i686_gnu" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6" + [[package]] name = "windows_i686_gnu" version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "de3887528ad530ba7bdbb1faa8275ec7a1155a45ffa57c37993960277145d640" +[[package]] +name = "windows_i686_msvc" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024" + [[package]] name = "windows_i686_msvc" version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bf4d1122317eddd6ff351aa852118a2418ad4214e6613a50e0191f7004372605" +[[package]] +name = "windows_x86_64_gnu" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1" + [[package]] name = "windows_x86_64_gnu" version = "0.42.1" @@ -5087,6 +5417,12 @@ version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "628bfdf232daa22b0d64fdb62b09fcc36bb01f05a3939e20ab73aaf9470d0463" +[[package]] +name = "windows_x86_64_msvc" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680" + [[package]] name = "windows_x86_64_msvc" version = "0.42.1" diff --git a/e2e-tests/Cargo.toml b/e2e-tests/Cargo.toml index 3ba6174e87..1b0734063c 100644 --- a/e2e-tests/Cargo.toml +++ b/e2e-tests/Cargo.toml @@ -19,12 +19,12 @@ tokio = { version = "1.21.2", features = ["full"] } futures = "0.3.25" once_cell = "1.16" -sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33", default-features = false, features = ["full_crypto"] } -sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33", default-features = false } -frame-support = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33", default-features = false } -system = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33", package = "frame-system" } -pallet-staking = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33", default-features = false } -pallet-balances = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33", default-features = false } +sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34", default-features = false, features = ["full_crypto"] } +sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34", default-features = false } +frame-support = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34", default-features = false } +system = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34", package = "frame-system" } +pallet-staking = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34", default-features = false } +pallet-balances = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34", default-features = false } aleph_client = { path = "../aleph-client" } primitives = { path = "../primitives", features = ["short_session"], default-features = false } diff --git a/e2e-tests/src/test/fee.rs b/e2e-tests/src/test/fee.rs deleted file mode 100644 index 5f32204251..0000000000 --- a/e2e-tests/src/test/fee.rs +++ /dev/null @@ -1,125 +0,0 @@ -use aleph_client::{ - api::transaction_payment::events::TransactionFeePaid, - pallets::{balances::BalanceUserApi, fee::TransactionPaymentApi, system::SystemSudoApi}, - utility::BlocksApi, - AccountId, RootConnection, SignedConnection, TxStatus, -}; -use log::info; -use primitives::Balance; -use sp_runtime::{FixedPointNumber, FixedU128}; - -use crate::{config::setup_test, transfer::setup_for_transfer}; - -#[tokio::test] -pub async fn fee_calculation() -> anyhow::Result<()> { - let config = setup_test(); - // An initial transfer is needed to establish the fee multiplier. - let (connection, to) = setup_for_transfer(config).await; - let root_connection = config.create_root_connection().await; - let transfer_value = 1000u128; - - let minimum_multiplier = FixedU128::saturating_from_integer(1); - let (old_fee, actual_multiplier) = - current_fees(&connection, to.clone(), None, transfer_value).await; - assert_eq!( - actual_multiplier, - minimum_multiplier.into_inner(), - "In the beginning the fee multiplier should be equal to the minimum value", - ); - - // The target saturation level is set to 25%, so unless we cross this limit, - // the fees should not increase. Note that effectively it is 18.75% of the whole block. - fill_blocks(15, 5, &root_connection).await; - let (new_fee, actual_multiplier) = - current_fees(&connection, to.clone(), None, transfer_value).await; - assert_eq!( - actual_multiplier, - minimum_multiplier.into_inner(), - "In the beginning the fee multiplier should be equal to the minimum value", - ); - - assert_eq!( - new_fee, old_fee, - "In the beginning the fee should not be adjusted", - ); - - // At 60% of occupancy the fees should increase by ~2.4% per block. However, the - // intermediate blocks will be empty, so in order to have reliable reads we have to - // simulate high traffic for a longer time. - fill_blocks(60, 4, &root_connection).await; - let (new_fee, actual_multiplier) = - current_fees(&connection, to.clone(), None, transfer_value).await; - assert!( - actual_multiplier > 1, - "When the traffic is high the fee multiplier should increase, {:?}", - actual_multiplier, - ); - assert!( - new_fee > old_fee, - "When the traffic is high fees should be scaled up: {:?} !> {:?}", - new_fee, - old_fee - ); - - let (prev_multiplier, prev_fee) = (actual_multiplier, new_fee); - fill_blocks(60, 4, &root_connection).await; - let (new_fee, actual_multiplier) = - current_fees(&connection, to.clone(), None, transfer_value).await; - assert!( - actual_multiplier.gt(&prev_multiplier), - "When the traffic is still high the fee multiplier should still increase", - ); - assert!( - prev_fee < new_fee, - "When the traffic is still high fees should be scaled up even more", - ); - - let (prev_multiplier, prev_fee) = (actual_multiplier, new_fee); - fill_blocks(0, 8, &root_connection).await; - let (new_fee, actual_multiplier) = current_fees(&connection, to, None, transfer_value).await; - // This is rather an ethical version of sleep. - assert!( - prev_multiplier.gt(&actual_multiplier), - "When the traffic is low again the fee multiplier should decrease", - ); - assert!( - new_fee < prev_fee, - "When the traffic is low again fees should be scaled down", - ); - - Ok(()) -} - -async fn fill_blocks(target_ratio: u8, blocks: u32, connection: &RootConnection) { - for _ in 0..blocks { - connection - .fill_block(target_ratio, TxStatus::InBlock) - .await - .unwrap_or_else(|err| panic!("Error while sending a fill_block transation: {:?}", err)); - } -} - -pub async fn current_fees( - connection: &SignedConnection, - to: AccountId, - tip: Option, - transfer_value: Balance, -) -> (Balance, u128) { - let actual_multiplier = connection.get_next_fee_multiplier(None).await; - - let tx_info = match tip { - None => connection.transfer(to, transfer_value, TxStatus::Finalized), - Some(tip) => connection.transfer_with_tip(to, transfer_value, tip, TxStatus::Finalized), - } - .await - .unwrap(); - - let events = connection.get_tx_events(tx_info).await.unwrap(); - let event = events.find_first::().unwrap().unwrap(); - - let fee = event.actual_fee; - - info!("fee payed: {}", fee); - - (fee, actual_multiplier) -} diff --git a/e2e-tests/src/test/mod.rs b/e2e-tests/src/test/mod.rs index c5ffd807bc..6604de44df 100644 --- a/e2e-tests/src/test/mod.rs +++ b/e2e-tests/src/test/mod.rs @@ -4,7 +4,6 @@ pub use ban::{ pub use electing_validators::authorities_are_staking; pub use era_payout::era_payouts_calculated_correctly; pub use era_validators::era_validators; -pub use fee::fee_calculation; pub use finality_version::{ finality_version_change, schedule_doomed_version_change_and_verify_finalization_stopped, schedule_version_change, @@ -25,7 +24,6 @@ mod ban; mod electing_validators; mod era_payout; mod era_validators; -mod fee; mod finality_version; mod finalization; mod helpers; diff --git a/e2e-tests/src/test/treasury.rs b/e2e-tests/src/test/treasury.rs index 2ab69a80a6..57f53df9d6 100644 --- a/e2e-tests/src/test/treasury.rs +++ b/e2e-tests/src/test/treasury.rs @@ -1,21 +1,20 @@ use aleph_client::{ account_from_keypair, - api::treasury::events::Rejected, + api::{transaction_payment::events::TransactionFeePaid, treasury::events::Rejected}, pallets::{ - balances::BalanceApi, + balances::{BalanceApi, BalanceUserApi}, + fee::TransactionPaymentApi, system::SystemApi, treasury::{TreasureApiExt, TreasuryApi, TreasuryUserApi}, }, + utility::BlocksApi, waiting::{AlephWaiting, BlockStatus}, - ConnectionApi, KeyPair, RootConnection, SignedConnection, TxStatus, + AccountId, ConnectionApi, KeyPair, RootConnection, SignedConnection, TxStatus, }; use log::info; use primitives::Balance; -use crate::{ - accounts::get_validators_raw_keys, config::setup_test, test::fee::current_fees, - transfer::setup_for_transfer, -}; +use crate::{accounts::get_validators_raw_keys, config::setup_test, transfer::setup_for_transfer}; /// Returns current treasury free funds and total issuance. /// @@ -155,3 +154,28 @@ async fn reject_treasury_proposal(connection: &RootConnection, id: u32) -> anyho Ok(()) } + +async fn current_fees( + connection: &SignedConnection, + to: AccountId, + tip: Option, + transfer_value: Balance, +) -> (Balance, u128) { + let actual_multiplier = connection.get_next_fee_multiplier(None).await; + + let tx_info = match tip { + None => connection.transfer(to, transfer_value, TxStatus::Finalized), + Some(tip) => connection.transfer_with_tip(to, transfer_value, tip, TxStatus::Finalized), + } + .await + .unwrap(); + + let events = connection.get_tx_events(tx_info).await.unwrap(); + let event = events.find_first::().unwrap().unwrap(); + + let fee = event.actual_fee; + + info!("fee payed: {}", fee); + + (fee, actual_multiplier) +} diff --git a/finality-aleph/Cargo.toml b/finality-aleph/Cargo.toml index 7807cdd20e..a0c5dc12bf 100644 --- a/finality-aleph/Cargo.toml +++ b/finality-aleph/Cargo.toml @@ -35,29 +35,29 @@ serde = "1.0" tiny-bip39 = "1.0" tokio = { version = "1.17", features = [ "sync", "macros", "time", "rt-multi-thread" ] } -prometheus-endpoint = { package = "substrate-prometheus-endpoint", git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -sp-keystore = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -sc-network = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -sc-network-common = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -sc-telemetry = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -sc-service = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -sp-application-crypto = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -sp-state-machine = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -sp-trie = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -sc-utils = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -sp-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -sp-blockchain = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -sc-consensus = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -sp-consensus = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -sc-client-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -sp-io = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +prometheus-endpoint = { package = "substrate-prometheus-endpoint", git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +sp-keystore = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +sc-network = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +sc-network-common = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +sc-telemetry = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +sc-service = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +sp-application-crypto = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +sp-state-machine = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +sp-trie = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +sc-utils = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +sp-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +sp-blockchain = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +sc-consensus = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +sp-consensus = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +sc-client-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +sp-io = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } [dev-dependencies] -substrate-test-runtime-client = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -substrate-test-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -sc-block-builder = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +substrate-test-runtime-client = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +substrate-test-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +sc-block-builder = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } [features] only_legacy = [] diff --git a/flooder/Cargo.lock b/flooder/Cargo.lock index 77c52e6dab..b20962e129 100644 --- a/flooder/Cargo.lock +++ b/flooder/Cargo.lock @@ -12,13 +12,22 @@ dependencies = [ "regex", ] +[[package]] +name = "addr2line" +version = "0.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9ecd88a8c8378ca913a680cd98f0f13ac67383d35993f86c90a70e3f137816b" +dependencies = [ + "gimli 0.26.2", +] + [[package]] name = "addr2line" version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a76fd60b23679b7d19bd066031410fb7e458ccc5e958eb5c325888ce4baedc97" dependencies = [ - "gimli", + "gimli 0.27.0", ] [[package]] @@ -65,7 +74,7 @@ dependencies = [ "primitives", "serde", "serde_json", - "sp-runtime 6.0.0", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "subxt", "thiserror", ] @@ -162,12 +171,12 @@ version = "0.3.67" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "233d376d6d185f2a3093e58f283f60f880315b6c60075b01f36b3b85154564ca" dependencies = [ - "addr2line", + "addr2line 0.19.0", "cc", "cfg-if 1.0.0", "libc", "miniz_oxide", - "object", + "object 0.30.2", "rustc-demangle", ] @@ -210,6 +219,15 @@ dependencies = [ "serde", ] +[[package]] +name = "bincode" +version = "1.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad" +dependencies = [ + "serde", +] + [[package]] name = "bitflags" version = "1.3.2" @@ -486,8 +504,8 @@ dependencies = [ "scale-info", "serde", "serde_json", - "sp-core 7.0.0", - "sp-runtime 7.0.0", + "sp-core 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-runtime 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "tracing", ] @@ -507,6 +525,15 @@ version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc" +[[package]] +name = "cpp_demangle" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eeaa953eaad386a53111e47172c2fedba671e5684c8dd601a5f474f4f118710f" +dependencies = [ + "cfg-if 1.0.0", +] + [[package]] name = "cpufeatures" version = "0.2.5" @@ -516,6 +543,15 @@ dependencies = [ "libc", ] +[[package]] +name = "cranelift-entity" +version = "0.88.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87a0f1b2fdc18776956370cf8d9b009ded3f855350c480c1c52142510961f352" +dependencies = [ + "serde", +] + [[package]] name = "crc32fast" version = "1.3.2" @@ -803,6 +839,27 @@ dependencies = [ "signature", ] +[[package]] +name = "ed25519" +version = "1.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91cff35c70bba8a626e3185d8cd48cc11b5437e1a5bcd15b9b5fa3c64b6dfee7" +dependencies = [ + "signature", +] + +[[package]] +name = "ed25519-dalek" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c762bae6dcaf24c4c84667b8579785430908723d5c889f469d76a41d59cc7a9d" +dependencies = [ + "curve25519-dalek 3.2.0", + "ed25519", + "sha2 0.9.9", + "zeroize", +] + [[package]] name = "ed25519-zebra" version = "3.1.0" @@ -861,6 +918,27 @@ version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e48c92028aaa870e83d51c64e5d4e0b6981b360c522198c23959f219a4e1b15b" +[[package]] +name = "errno" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f639046355ee4f37944e44f60642c6f3a7efa3cf6b78c78a0d989a8ce6c396a1" +dependencies = [ + "errno-dragonfly", + "libc", + "winapi 0.3.9", +] + +[[package]] +name = "errno-dragonfly" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf" +dependencies = [ + "cc", + "libc", +] + [[package]] name = "escape8259" version = "0.5.2" @@ -882,6 +960,12 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed" +[[package]] +name = "fallible-iterator" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7" + [[package]] name = "fastrand" version = "1.8.0" @@ -937,8 +1021,8 @@ dependencies = [ "mio 0.6.23", "parity-scale-codec", "serde_json", - "sp-core 6.0.0", - "sp-runtime 6.0.0", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "subxt", "tokio", "ws", @@ -990,7 +1074,7 @@ dependencies = [ [[package]] name = "frame-support" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "bitflags", "frame-metadata", @@ -1005,24 +1089,24 @@ dependencies = [ "serde", "smallvec", "sp-api", - "sp-arithmetic 5.0.0", - "sp-core 6.0.0", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "sp-core-hashing-proc-macro", "sp-inherents", - "sp-io 6.0.0", - "sp-runtime 6.0.0", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "sp-staking", - "sp-state-machine 0.12.0", - "sp-std 4.0.0", - "sp-tracing 5.0.0", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33)", + "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "tt-call", ] [[package]] name = "frame-support-procedural" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "Inflector", "cfg-expr", @@ -1036,7 +1120,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate", @@ -1048,7 +1132,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "proc-macro2", "quote", @@ -1233,6 +1317,16 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "gimli" +version = "0.26.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22030e2c5a68ec659fde1e949a745124b48e6fa8b045b7ed5bd1fe4ccc5c4e5d" +dependencies = [ + "fallible-iterator", + "stable_deref_trait", +] + [[package]] name = "gimli" version = "0.27.0" @@ -1540,6 +1634,7 @@ checksum = "1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399" dependencies = [ "autocfg", "hashbrown", + "serde", ] [[package]] @@ -1661,6 +1756,12 @@ dependencies = [ "num-traits", ] +[[package]] +name = "io-lifetimes" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59ce5ef949d49ee85593fc4d3f3f95ad61657076395cbbce23e2121fc5542074" + [[package]] name = "iovec" version = "0.1.4" @@ -1901,6 +2002,12 @@ dependencies = [ "cc", ] +[[package]] +name = "linux-raw-sys" +version = "0.0.46" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4d2456c373231a208ad294c33dc5bff30051eafd954cd4caae83a712b12854d" + [[package]] name = "lock_api" version = "0.4.9" @@ -1929,6 +2036,15 @@ dependencies = [ "hashbrown", ] +[[package]] +name = "mach" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b823e83b2affd8f40a9ee8c29dbc56404c1e34cd2710921f2801e2cf29527afa" +dependencies = [ + "libc", +] + [[package]] name = "matchers" version = "0.0.1" @@ -1944,6 +2060,15 @@ version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" +[[package]] +name = "memoffset" +version = "0.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce" +dependencies = [ + "autocfg", +] + [[package]] name = "memory-db" version = "0.30.0" @@ -2016,7 +2141,7 @@ dependencies = [ "libc", "log", "wasi 0.11.0+wasi-snapshot-preview1", - "windows-sys", + "windows-sys 0.42.0", ] [[package]] @@ -2145,6 +2270,18 @@ dependencies = [ "libc", ] +[[package]] +name = "object" +version = "0.29.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "21158b2c33aa6d4561f1c0a6ea283ca92bc54802a93b263e910746d679a7eb53" +dependencies = [ + "crc32fast", + "hashbrown", + "indexmap", + "memchr", +] + [[package]] name = "object" version = "0.30.2" @@ -2225,14 +2362,14 @@ checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee" [[package]] name = "pallet-contracts-primitives" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "7.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "bitflags", "parity-scale-codec", - "sp-runtime 6.0.0", - "sp-std 4.0.0", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", ] [[package]] @@ -2320,7 +2457,7 @@ dependencies = [ "libc", "redox_syscall", "smallvec", - "windows-sys", + "windows-sys 0.42.0", ] [[package]] @@ -2428,11 +2565,11 @@ dependencies = [ "scale-info", "serde", "sp-api", - "sp-application-crypto 6.0.0", - "sp-core 6.0.0", - "sp-runtime 6.0.0", + "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "sp-staking", - "sp-std 4.0.0", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", ] [[package]] @@ -2479,6 +2616,15 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "psm" +version = "0.1.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5787f7cda34e3033a72192c018bc5883100330f362ef279a8cbccfce8bb4e874" +dependencies = [ + "cc", +] + [[package]] name = "quote" version = "1.0.23" @@ -2680,6 +2826,20 @@ version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3e75f6a532d0fd9f7f13144f392b6ad56a32696bfcd9c78f797f16bbb6f072d6" +[[package]] +name = "rustix" +version = "0.35.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "727a1a6d65f786ec22df8a81ca3121107f235970dc1705ed681d3e6e8b9cd5f9" +dependencies = [ + "bitflags", + "errno", + "io-lifetimes", + "libc", + "linux-raw-sys", + "windows-sys 0.42.0", +] + [[package]] name = "rustls" version = "0.20.8" @@ -2797,7 +2957,7 @@ version = "0.1.21" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "713cfb06c7059f3588fb8044c0fad1d09e3c01d225e25b9220dbfdcf16dbb1b3" dependencies = [ - "windows-sys", + "windows-sys 0.42.0", ] [[package]] @@ -3086,17 +3246,17 @@ dependencies = [ [[package]] name = "sp-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "hash-db", "log", "parity-scale-codec", "sp-api-proc-macro", - "sp-core 6.0.0", - "sp-runtime 6.0.0", - "sp-state-machine 0.12.0", - "sp-std 4.0.0", - "sp-trie 6.0.0", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "sp-version", "thiserror", ] @@ -3104,7 +3264,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "blake2", "proc-macro-crate", @@ -3115,66 +3275,67 @@ dependencies = [ [[package]] name = "sp-application-crypto" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30a70f8245ad75c773c43e46d16e81adb62290d37cd07efcde6cef06d93235e5" dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core 6.0.0", - "sp-io 6.0.0", - "sp-std 4.0.0", + "sp-core 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-io 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "sp-application-crypto" version = "7.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30a70f8245ad75c773c43e46d16e81adb62290d37cd07efcde6cef06d93235e5" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core 7.0.0", - "sp-io 7.0.0", - "sp-std 5.0.0", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", ] [[package]] name = "sp-arithmetic" -version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3856b3e912f0a7a1332f1642b5fd3c2e76476e894c656538d32c004698690157" dependencies = [ "integer-sqrt", "num-traits", "parity-scale-codec", "scale-info", "serde", - "sp-debug-derive 4.0.0", - "sp-std 4.0.0", + "sp-debug-derive 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "static_assertions", ] [[package]] name = "sp-arithmetic" version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3856b3e912f0a7a1332f1642b5fd3c2e76476e894c656538d32c004698690157" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "integer-sqrt", "num-traits", "parity-scale-codec", "scale-info", "serde", - "sp-debug-derive 5.0.0", - "sp-std 5.0.0", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "static_assertions", ] [[package]] name = "sp-core" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88c78530907dbf7949af928d0ce88b485067389201b6d9b468074b1924f209f0" dependencies = [ "array-bytes", "base58", @@ -3202,12 +3363,12 @@ dependencies = [ "secp256k1", "secrecy", "serde", - "sp-core-hashing 4.0.0", - "sp-debug-derive 4.0.0", - "sp-externalities 0.12.0", - "sp-runtime-interface 6.0.0", - "sp-std 4.0.0", - "sp-storage 6.0.0", + "sp-core-hashing 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-debug-derive 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-externalities 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-runtime-interface 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-storage 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "ss58-registry", "substrate-bip39", "thiserror", @@ -3219,8 +3380,7 @@ dependencies = [ [[package]] name = "sp-core" version = "7.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88c78530907dbf7949af928d0ce88b485067389201b6d9b468074b1924f209f0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "array-bytes", "base58", @@ -3248,12 +3408,12 @@ dependencies = [ "secp256k1", "secrecy", "serde", - "sp-core-hashing 5.0.0", - "sp-debug-derive 5.0.0", - "sp-externalities 0.13.0", - "sp-runtime-interface 7.0.0", - "sp-std 5.0.0", - "sp-storage 7.0.0", + "sp-core-hashing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "ss58-registry", "substrate-bip39", "thiserror", @@ -3264,48 +3424,49 @@ dependencies = [ [[package]] name = "sp-core-hashing" -version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "5.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49b9d1daa6aebfc144729b630885e91df92ff00560490ec065a56cb538e8895a" dependencies = [ "blake2", "byteorder", "digest 0.10.6", "sha2 0.10.6", "sha3", - "sp-std 4.0.0", + "sp-std 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "twox-hash", ] [[package]] name = "sp-core-hashing" version = "5.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49b9d1daa6aebfc144729b630885e91df92ff00560490ec065a56cb538e8895a" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "blake2", "byteorder", "digest 0.10.6", "sha2 0.10.6", "sha3", - "sp-std 5.0.0", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "twox-hash", ] [[package]] name = "sp-core-hashing-proc-macro" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "proc-macro2", "quote", - "sp-core-hashing 4.0.0", + "sp-core-hashing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "syn", ] [[package]] name = "sp-debug-derive" -version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "5.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9e9ba7352773b96a4aa57e903447f841c6bc26e8c798377db6e7eb332346454" dependencies = [ "proc-macro2", "quote", @@ -3315,8 +3476,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "5.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9e9ba7352773b96a4aa57e903447f841c6bc26e8c798377db6e7eb332346454" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "proc-macro2", "quote", @@ -3325,45 +3485,46 @@ dependencies = [ [[package]] name = "sp-externalities" -version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef739442230f49d88ece41259e5d886d6b8bc0f4197ef7f1585c39c762ce7ef2" dependencies = [ "environmental", "parity-scale-codec", - "sp-std 4.0.0", - "sp-storage 6.0.0", + "sp-std 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-storage 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "sp-externalities" version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef739442230f49d88ece41259e5d886d6b8bc0f4197ef7f1585c39c762ce7ef2" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "environmental", "parity-scale-codec", - "sp-std 5.0.0", - "sp-storage 7.0.0", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", ] [[package]] name = "sp-inherents" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "async-trait", "impl-trait-for-tuples", "parity-scale-codec", - "sp-core 6.0.0", - "sp-runtime 6.0.0", - "sp-std 4.0.0", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "thiserror", ] [[package]] name = "sp-io" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6280bd3643354f7ff0b2abd36c687745455779231a7a86d90945608f0d4924c4" dependencies = [ "bytes 1.3.0", "futures", @@ -3373,15 +3534,15 @@ dependencies = [ "parity-scale-codec", "parking_lot", "secp256k1", - "sp-core 6.0.0", - "sp-externalities 0.12.0", - "sp-keystore 0.12.0", - "sp-runtime-interface 6.0.0", - "sp-state-machine 0.12.0", - "sp-std 4.0.0", - "sp-tracing 5.0.0", - "sp-trie 6.0.0", - "sp-wasm-interface 6.0.0", + "sp-core 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-externalities 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-keystore 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-runtime-interface 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-state-machine 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-tracing 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-trie 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-wasm-interface 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "tracing", "tracing-core", ] @@ -3389,10 +3550,10 @@ dependencies = [ [[package]] name = "sp-io" version = "7.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6280bd3643354f7ff0b2abd36c687745455779231a7a86d90945608f0d4924c4" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "bytes 1.3.0", + "ed25519-dalek", "futures", "hash-db", "libsecp256k1", @@ -3400,23 +3561,24 @@ dependencies = [ "parity-scale-codec", "parking_lot", "secp256k1", - "sp-core 7.0.0", - "sp-externalities 0.13.0", - "sp-keystore 0.13.0", - "sp-runtime-interface 7.0.0", - "sp-state-machine 0.13.0", - "sp-std 5.0.0", - "sp-tracing 6.0.0", - "sp-trie 7.0.0", - "sp-wasm-interface 7.0.0", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-keystore 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-wasm-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "tracing", "tracing-core", ] [[package]] name = "sp-keystore" -version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a44bec4f0d036b6993c14bbee4216781f21275e5c201e43e45fed4a434bf0e5a" dependencies = [ "async-trait", "futures", @@ -3424,16 +3586,15 @@ dependencies = [ "parity-scale-codec", "parking_lot", "schnorrkel", - "sp-core 6.0.0", - "sp-externalities 0.12.0", + "sp-core 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-externalities 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", "thiserror", ] [[package]] name = "sp-keystore" version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a44bec4f0d036b6993c14bbee4216781f21275e5c201e43e45fed4a434bf0e5a" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "async-trait", "futures", @@ -3441,15 +3602,16 @@ dependencies = [ "parity-scale-codec", "parking_lot", "schnorrkel", - "sp-core 7.0.0", - "sp-externalities 0.13.0", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "thiserror", ] [[package]] name = "sp-panic-handler" -version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "5.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97549ec99cb289db2a9f5c656b6880f7c90097135e1ca6c6ae4fe5694232e526" dependencies = [ "backtrace", "lazy_static", @@ -3459,8 +3621,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "5.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97549ec99cb289db2a9f5c656b6880f7c90097135e1ca6c6ae4fe5694232e526" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "backtrace", "lazy_static", @@ -3469,8 +3630,9 @@ dependencies = [ [[package]] name = "sp-runtime" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0edfc5c54c2b31d2f0cf904d472a0bff7125c0c2a2e2330507842e56f9a27444" dependencies = [ "either", "hash256-std-hasher", @@ -3482,19 +3644,18 @@ dependencies = [ "rand 0.7.3", "scale-info", "serde", - "sp-application-crypto 6.0.0", - "sp-arithmetic 5.0.0", - "sp-core 6.0.0", - "sp-io 6.0.0", - "sp-std 4.0.0", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33)", + "sp-application-crypto 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-arithmetic 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-core 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-io 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-weights 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "sp-runtime" version = "7.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0edfc5c54c2b31d2f0cf904d472a0bff7125c0c2a2e2330507842e56f9a27444" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "either", "hash256-std-hasher", @@ -3506,55 +3667,56 @@ dependencies = [ "rand 0.7.3", "scale-info", "serde", - "sp-application-crypto 7.0.0", - "sp-arithmetic 6.0.0", - "sp-core 7.0.0", - "sp-io 7.0.0", - "sp-std 5.0.0", - "sp-weights 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", ] [[package]] name = "sp-runtime-interface" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b886a5d34400b0e0c12d389e3bb48b7a93d651cddf7e248124b81fe64c339251" dependencies = [ "bytes 1.3.0", "impl-trait-for-tuples", "parity-scale-codec", "primitive-types", - "sp-externalities 0.12.0", - "sp-runtime-interface-proc-macro 5.0.0", - "sp-std 4.0.0", - "sp-storage 6.0.0", - "sp-tracing 5.0.0", - "sp-wasm-interface 6.0.0", + "sp-externalities 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-runtime-interface-proc-macro 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-storage 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-tracing 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-wasm-interface 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "static_assertions", ] [[package]] name = "sp-runtime-interface" version = "7.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b886a5d34400b0e0c12d389e3bb48b7a93d651cddf7e248124b81fe64c339251" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "bytes 1.3.0", "impl-trait-for-tuples", "parity-scale-codec", "primitive-types", - "sp-externalities 0.13.0", - "sp-runtime-interface-proc-macro 6.0.0", - "sp-std 5.0.0", - "sp-storage 7.0.0", - "sp-tracing 6.0.0", - "sp-wasm-interface 7.0.0", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-runtime-interface-proc-macro 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-wasm-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "static_assertions", ] [[package]] name = "sp-runtime-interface-proc-macro" -version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a157f1ce0108b9b87f87e826726049d9b6253318b74410c814be7fc2af416b51" dependencies = [ "Inflector", "proc-macro-crate", @@ -3566,8 +3728,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a157f1ce0108b9b87f87e826726049d9b6253318b74410c814be7fc2af416b51" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "Inflector", "proc-macro-crate", @@ -3579,18 +3740,19 @@ dependencies = [ [[package]] name = "sp-staking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "parity-scale-codec", "scale-info", - "sp-runtime 6.0.0", - "sp-std 4.0.0", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", ] [[package]] name = "sp-state-machine" -version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5c2d97ad69011d34ca257f0383532b80096d53f889f5894ae2b24a211bec66f" dependencies = [ "hash-db", "log", @@ -3599,11 +3761,11 @@ dependencies = [ "parking_lot", "rand 0.7.3", "smallvec", - "sp-core 6.0.0", - "sp-externalities 0.12.0", - "sp-panic-handler 4.0.0", - "sp-std 4.0.0", - "sp-trie 6.0.0", + "sp-core 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-externalities 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-panic-handler 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-trie 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "thiserror", "tracing", "trie-root", @@ -3612,8 +3774,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5c2d97ad69011d34ca257f0383532b80096d53f889f5894ae2b24a211bec66f" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "hash-db", "log", @@ -3622,11 +3783,11 @@ dependencies = [ "parking_lot", "rand 0.7.3", "smallvec", - "sp-core 7.0.0", - "sp-externalities 0.13.0", - "sp-panic-handler 5.0.0", - "sp-std 5.0.0", - "sp-trie 7.0.0", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-panic-handler 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "thiserror", "tracing", "trie-root", @@ -3634,49 +3795,50 @@ dependencies = [ [[package]] name = "sp-std" -version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "5.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf3fd4c1d304be101e6ebbafd3d4be9a37b320c970ef4e8df188b16873981c93" [[package]] name = "sp-std" version = "5.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf3fd4c1d304be101e6ebbafd3d4be9a37b320c970ef4e8df188b16873981c93" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" [[package]] name = "sp-storage" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eb987ed2e4d7d870170a225083ea962f2a359d75cdf76935d5ed8d91bee912d9" dependencies = [ "impl-serde", "parity-scale-codec", "ref-cast", "serde", - "sp-debug-derive 4.0.0", - "sp-std 4.0.0", + "sp-debug-derive 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "sp-storage" version = "7.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb987ed2e4d7d870170a225083ea962f2a359d75cdf76935d5ed8d91bee912d9" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "impl-serde", "parity-scale-codec", "ref-cast", "serde", - "sp-debug-derive 5.0.0", - "sp-std 5.0.0", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", ] [[package]] name = "sp-tracing" -version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e761df87dc940d87720939de8f976d1fc0657e523886ae0d7bf3f7e2e2f0abb6" dependencies = [ "parity-scale-codec", - "sp-std 4.0.0", + "sp-std 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "tracing", "tracing-core", "tracing-subscriber", @@ -3685,11 +3847,10 @@ dependencies = [ [[package]] name = "sp-tracing" version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e761df87dc940d87720939de8f976d1fc0657e523886ae0d7bf3f7e2e2f0abb6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "parity-scale-codec", - "sp-std 5.0.0", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "tracing", "tracing-core", "tracing-subscriber", @@ -3697,8 +3858,9 @@ dependencies = [ [[package]] name = "sp-trie" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f4f48c887e90050537e399d2d8b6ee82787ebec0fe46e4880b42cab0c2d5ba6" dependencies = [ "ahash", "hash-db", @@ -3710,8 +3872,8 @@ dependencies = [ "parity-scale-codec", "parking_lot", "scale-info", - "sp-core 6.0.0", - "sp-std 4.0.0", + "sp-core 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "thiserror", "tracing", "trie-db", @@ -3721,8 +3883,7 @@ dependencies = [ [[package]] name = "sp-trie" version = "7.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f4f48c887e90050537e399d2d8b6ee82787ebec0fe46e4880b42cab0c2d5ba6" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "ahash", "hash-db", @@ -3734,8 +3895,8 @@ dependencies = [ "parity-scale-codec", "parking_lot", "scale-info", - "sp-core 7.0.0", - "sp-std 5.0.0", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "thiserror", "tracing", "trie-db", @@ -3745,7 +3906,7 @@ dependencies = [ [[package]] name = "sp-version" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "impl-serde", "parity-scale-codec", @@ -3753,8 +3914,8 @@ dependencies = [ "scale-info", "serde", "sp-core-hashing-proc-macro", - "sp-runtime 6.0.0", - "sp-std 4.0.0", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "sp-version-proc-macro", "thiserror", ] @@ -3762,7 +3923,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "parity-scale-codec", "proc-macro2", @@ -3772,27 +3933,28 @@ dependencies = [ [[package]] name = "sp-wasm-interface" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4f43c40afab6ecac20505907631c929957ed636b7af8795984649bbaa6ff38c3" dependencies = [ "impl-trait-for-tuples", "log", "parity-scale-codec", - "sp-std 4.0.0", + "sp-std 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "wasmi", ] [[package]] name = "sp-wasm-interface" version = "7.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f43c40afab6ecac20505907631c929957ed636b7af8795984649bbaa6ff38c3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "impl-trait-for-tuples", "log", "parity-scale-codec", - "sp-std 5.0.0", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", "wasmi", + "wasmtime", ] [[package]] @@ -3806,26 +3968,26 @@ dependencies = [ "scale-info", "serde", "smallvec", - "sp-arithmetic 6.0.0", - "sp-core 7.0.0", - "sp-debug-derive 5.0.0", - "sp-std 5.0.0", + "sp-arithmetic 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-core 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-debug-derive 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "sp-weights" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", "scale-info", "serde", "smallvec", - "sp-arithmetic 5.0.0", - "sp-core 6.0.0", - "sp-debug-derive 4.0.0", - "sp-std 4.0.0", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", ] [[package]] @@ -3859,6 +4021,12 @@ dependencies = [ "unicode-xid", ] +[[package]] +name = "stable_deref_trait" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" + [[package]] name = "static_assertions" version = "1.1.0" @@ -3910,8 +4078,8 @@ dependencies = [ "scale-value", "serde", "serde_json", - "sp-core 7.0.0", - "sp-runtime 7.0.0", + "sp-core 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-runtime 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "subxt-macro", "subxt-metadata", "thiserror", @@ -3960,7 +4128,7 @@ dependencies = [ "frame-metadata", "parity-scale-codec", "scale-info", - "sp-core 7.0.0", + "sp-core 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -3992,6 +4160,12 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" +[[package]] +name = "target-lexicon" +version = "0.12.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ae9980cab1db3fceee2f6c6f643d5d8de2997c58ee8d25fb0cc8a9e9e7348e5" + [[package]] name = "termcolor" version = "1.2.0" @@ -4098,7 +4272,7 @@ dependencies = [ "signal-hook-registry", "socket2", "tokio-macros", - "windows-sys", + "windows-sys 0.42.0", ] [[package]] @@ -4483,6 +4657,137 @@ dependencies = [ "num-traits", ] +[[package]] +name = "wasmparser" +version = "0.89.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab5d3e08b13876f96dd55608d03cd4883a0545884932d5adf11925876c96daef" +dependencies = [ + "indexmap", +] + +[[package]] +name = "wasmtime" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ad5af6ba38311282f2a21670d96e78266e8c8e2f38cbcd52c254df6ccbc7731" +dependencies = [ + "anyhow", + "bincode", + "cfg-if 1.0.0", + "indexmap", + "libc", + "log", + "object 0.29.0", + "once_cell", + "paste", + "psm", + "serde", + "target-lexicon", + "wasmparser", + "wasmtime-environ", + "wasmtime-jit", + "wasmtime-runtime", + "windows-sys 0.36.1", +] + +[[package]] +name = "wasmtime-asm-macros" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "45de63ddfc8b9223d1adc8f7b2ee5f35d1f6d112833934ad7ea66e4f4339e597" +dependencies = [ + "cfg-if 1.0.0", +] + +[[package]] +name = "wasmtime-environ" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebb881c61f4f627b5d45c54e629724974f8a8890d455bcbe634330cc27309644" +dependencies = [ + "anyhow", + "cranelift-entity", + "gimli 0.26.2", + "indexmap", + "log", + "object 0.29.0", + "serde", + "target-lexicon", + "thiserror", + "wasmparser", + "wasmtime-types", +] + +[[package]] +name = "wasmtime-jit" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1985c628011fe26adf5e23a5301bdc79b245e0e338f14bb58b39e4e25e4d8681" +dependencies = [ + "addr2line 0.17.0", + "anyhow", + "bincode", + "cfg-if 1.0.0", + "cpp_demangle", + "gimli 0.26.2", + "log", + "object 0.29.0", + "rustc-demangle", + "rustix", + "serde", + "target-lexicon", + "thiserror", + "wasmtime-environ", + "wasmtime-runtime", + "windows-sys 0.36.1", +] + +[[package]] +name = "wasmtime-jit-debug" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f671b588486f5ccec8c5a3dba6b4c07eac2e66ab8c60e6f4e53717c77f709731" +dependencies = [ + "once_cell", +] + +[[package]] +name = "wasmtime-runtime" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee8f92ad4b61736339c29361da85769ebc200f184361959d1792832e592a1afd" +dependencies = [ + "anyhow", + "cc", + "cfg-if 1.0.0", + "indexmap", + "libc", + "log", + "mach", + "memoffset", + "paste", + "rand 0.8.5", + "rustix", + "thiserror", + "wasmtime-asm-macros", + "wasmtime-environ", + "wasmtime-jit-debug", + "windows-sys 0.36.1", +] + +[[package]] +name = "wasmtime-types" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d23d61cb4c46e837b431196dd06abb11731541021916d03476a178b54dc07aeb" +dependencies = [ + "cranelift-entity", + "serde", + "thiserror", + "wasmparser", +] + [[package]] name = "web-sys" version = "0.3.60" @@ -4555,6 +4860,19 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" +[[package]] +name = "windows-sys" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea04155a16a59f9eab786fe12a4a450e75cdb175f9e0d80da1e17db09f55b8d2" +dependencies = [ + "windows_aarch64_msvc 0.36.1", + "windows_i686_gnu 0.36.1", + "windows_i686_msvc 0.36.1", + "windows_x86_64_gnu 0.36.1", + "windows_x86_64_msvc 0.36.1", +] + [[package]] name = "windows-sys" version = "0.42.0" @@ -4562,12 +4880,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" dependencies = [ "windows_aarch64_gnullvm", - "windows_aarch64_msvc", - "windows_i686_gnu", - "windows_i686_msvc", - "windows_x86_64_gnu", + "windows_aarch64_msvc 0.42.1", + "windows_i686_gnu 0.42.1", + "windows_i686_msvc 0.42.1", + "windows_x86_64_gnu 0.42.1", "windows_x86_64_gnullvm", - "windows_x86_64_msvc", + "windows_x86_64_msvc 0.42.1", ] [[package]] @@ -4576,24 +4894,48 @@ version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8c9864e83243fdec7fc9c5444389dcbbfd258f745e7853198f365e3c4968a608" +[[package]] +name = "windows_aarch64_msvc" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47" + [[package]] name = "windows_aarch64_msvc" version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4c8b1b673ffc16c47a9ff48570a9d85e25d265735c503681332589af6253c6c7" +[[package]] +name = "windows_i686_gnu" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6" + [[package]] name = "windows_i686_gnu" version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "de3887528ad530ba7bdbb1faa8275ec7a1155a45ffa57c37993960277145d640" +[[package]] +name = "windows_i686_msvc" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024" + [[package]] name = "windows_i686_msvc" version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bf4d1122317eddd6ff351aa852118a2418ad4214e6613a50e0191f7004372605" +[[package]] +name = "windows_x86_64_gnu" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1" + [[package]] name = "windows_x86_64_gnu" version = "0.42.1" @@ -4606,6 +4948,12 @@ version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "628bfdf232daa22b0d64fdb62b09fcc36bb01f05a3939e20ab73aaf9470d0463" +[[package]] +name = "windows_x86_64_msvc" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680" + [[package]] name = "windows_x86_64_msvc" version = "0.42.1" diff --git a/flooder/Cargo.toml b/flooder/Cargo.toml index d520f67bae..e8229a90ec 100644 --- a/flooder/Cargo.toml +++ b/flooder/Cargo.toml @@ -6,8 +6,8 @@ edition = "2021" license = "Apache 2.0" [dependencies] -sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33", features = ["full_crypto"] } -sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34", features = ["full_crypto"] } +sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } # other dependencies serde_json = { version = "1.0" } diff --git a/fork-off/Cargo.lock b/fork-off/Cargo.lock index 1bd33e14bd..b321673c7d 100644 --- a/fork-off/Cargo.lock +++ b/fork-off/Cargo.lock @@ -224,6 +224,15 @@ version = "1.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b645a089122eccb6111b4f81cbc1a49f5900ac4666bb93ac027feaecf15607bf" +[[package]] +name = "bincode" +version = "1.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad" +dependencies = [ + "serde", +] + [[package]] name = "bitflags" version = "1.3.2" @@ -464,6 +473,15 @@ version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc" +[[package]] +name = "cpp_demangle" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eeaa953eaad386a53111e47172c2fedba671e5684c8dd601a5f474f4f118710f" +dependencies = [ + "cfg-if 1.0.0", +] + [[package]] name = "cpufeatures" version = "0.2.5" @@ -473,6 +491,24 @@ dependencies = [ "libc", ] +[[package]] +name = "cranelift-entity" +version = "0.88.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87a0f1b2fdc18776956370cf8d9b009ded3f855350c480c1c52142510961f352" +dependencies = [ + "serde", +] + +[[package]] +name = "crc32fast" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d" +dependencies = [ + "cfg-if 1.0.0", +] + [[package]] name = "crossbeam-utils" version = "0.7.2" @@ -708,6 +744,27 @@ dependencies = [ "signature", ] +[[package]] +name = "ed25519" +version = "1.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91cff35c70bba8a626e3185d8cd48cc11b5437e1a5bcd15b9b5fa3c64b6dfee7" +dependencies = [ + "signature", +] + +[[package]] +name = "ed25519-dalek" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c762bae6dcaf24c4c84667b8579785430908723d5c889f469d76a41d59cc7a9d" +dependencies = [ + "curve25519-dalek 3.2.0", + "ed25519", + "sha2 0.9.9", + "zeroize", +] + [[package]] name = "ed25519-zebra" version = "3.1.0" @@ -775,6 +832,27 @@ version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e48c92028aaa870e83d51c64e5d4e0b6981b360c522198c23959f219a4e1b15b" +[[package]] +name = "errno" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f639046355ee4f37944e44f60642c6f3a7efa3cf6b78c78a0d989a8ce6c396a1" +dependencies = [ + "errno-dragonfly", + "libc", + "winapi 0.3.9", +] + +[[package]] +name = "errno-dragonfly" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf" +dependencies = [ + "cc", + "libc", +] + [[package]] name = "event-listener" version = "2.5.3" @@ -787,6 +865,12 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed" +[[package]] +name = "fallible-iterator" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7" + [[package]] name = "fastrand" version = "1.8.0" @@ -878,7 +962,7 @@ dependencies = [ [[package]] name = "frame-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "frame-support", "frame-system", @@ -913,7 +997,7 @@ dependencies = [ [[package]] name = "frame-support" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "bitflags", "frame-metadata", @@ -945,7 +1029,7 @@ dependencies = [ [[package]] name = "frame-support-procedural" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "Inflector", "cfg-expr", @@ -959,7 +1043,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate 1.2.1", @@ -971,7 +1055,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "proc-macro2", "quote", @@ -981,7 +1065,7 @@ dependencies = [ [[package]] name = "frame-system" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "frame-support", "log 0.4.17", @@ -1169,6 +1253,10 @@ name = "gimli" version = "0.26.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "22030e2c5a68ec659fde1e949a745124b48e6fa8b045b7ed5bd1fe4ccc5c4e5d" +dependencies = [ + "fallible-iterator", + "stable_deref_trait", +] [[package]] name = "group" @@ -1463,6 +1551,7 @@ checksum = "1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399" dependencies = [ "autocfg 1.1.0", "hashbrown", + "serde", ] [[package]] @@ -1483,6 +1572,12 @@ dependencies = [ "num-traits", ] +[[package]] +name = "io-lifetimes" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59ce5ef949d49ee85593fc4d3f3f95ad61657076395cbbce23e2121fc5542074" + [[package]] name = "iovec" version = "0.1.4" @@ -1714,6 +1809,12 @@ dependencies = [ "statrs", ] +[[package]] +name = "linux-raw-sys" +version = "0.0.46" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4d2456c373231a208ad294c33dc5bff30051eafd954cd4caae83a712b12854d" + [[package]] name = "lock_api" version = "0.3.4" @@ -1760,6 +1861,15 @@ dependencies = [ "hashbrown", ] +[[package]] +name = "mach" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b823e83b2affd8f40a9ee8c29dbc56404c1e34cd2710921f2801e2cf29527afa" +dependencies = [ + "libc", +] + [[package]] name = "matchers" version = "0.0.1" @@ -1796,6 +1906,15 @@ version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" +[[package]] +name = "memoffset" +version = "0.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce" +dependencies = [ + "autocfg 1.1.0", +] + [[package]] name = "memory-db" version = "0.30.0" @@ -2034,6 +2153,9 @@ version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "21158b2c33aa6d4561f1c0a6ea283ca92bc54802a93b263e910746d679a7eb53" dependencies = [ + "crc32fast", + "hashbrown", + "indexmap", "memchr", ] @@ -2109,7 +2231,7 @@ checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee" [[package]] name = "pallet-balances" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "frame-benchmarking", "frame-support", @@ -2390,6 +2512,15 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "psm" +version = "0.1.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5787f7cda34e3033a72192c018bc5883100330f362ef279a8cbccfce8bb4e874" +dependencies = [ + "cc", +] + [[package]] name = "quote" version = "1.0.21" @@ -2771,6 +2902,20 @@ dependencies = [ "semver 1.0.14", ] +[[package]] +name = "rustix" +version = "0.35.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "727a1a6d65f786ec22df8a81ca3121107f235970dc1705ed681d3e6e8b9cd5f9" +dependencies = [ + "bitflags", + "errno", + "io-lifetimes", + "libc", + "linux-raw-sys", + "windows-sys 0.42.0", +] + [[package]] name = "ryu" version = "1.0.11" @@ -3115,7 +3260,7 @@ dependencies = [ [[package]] name = "sp-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "hash-db", "log 0.4.17", @@ -3133,7 +3278,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "blake2", "proc-macro-crate 1.2.1", @@ -3144,8 +3289,8 @@ dependencies = [ [[package]] name = "sp-application-crypto" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "7.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "parity-scale-codec", "scale-info", @@ -3157,8 +3302,8 @@ dependencies = [ [[package]] name = "sp-arithmetic" -version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "6.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "integer-sqrt", "num-traits", @@ -3172,8 +3317,8 @@ dependencies = [ [[package]] name = "sp-core" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "7.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "array-bytes", "base58", @@ -3217,8 +3362,8 @@ dependencies = [ [[package]] name = "sp-core-hashing" -version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "5.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "blake2", "byteorder", @@ -3232,7 +3377,7 @@ dependencies = [ [[package]] name = "sp-core-hashing-proc-macro" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "proc-macro2", "quote", @@ -3242,8 +3387,8 @@ dependencies = [ [[package]] name = "sp-debug-derive" -version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "5.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "proc-macro2", "quote", @@ -3252,8 +3397,8 @@ dependencies = [ [[package]] name = "sp-externalities" -version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "0.13.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "environmental", "parity-scale-codec", @@ -3264,7 +3409,7 @@ dependencies = [ [[package]] name = "sp-inherents" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "async-trait", "impl-trait-for-tuples", @@ -3277,10 +3422,11 @@ dependencies = [ [[package]] name = "sp-io" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "7.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "bytes 1.3.0", + "ed25519-dalek", "futures 0.3.25", "hash-db", "libsecp256k1", @@ -3303,8 +3449,8 @@ dependencies = [ [[package]] name = "sp-keystore" -version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "0.13.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "async-trait", "futures 0.3.25", @@ -3319,8 +3465,8 @@ dependencies = [ [[package]] name = "sp-panic-handler" -version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "5.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "backtrace", "lazy_static", @@ -3329,8 +3475,8 @@ dependencies = [ [[package]] name = "sp-runtime" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "7.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "either", "hash256-std-hasher", @@ -3352,8 +3498,8 @@ dependencies = [ [[package]] name = "sp-runtime-interface" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "7.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "bytes 1.3.0", "impl-trait-for-tuples", @@ -3370,8 +3516,8 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" -version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "6.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "Inflector", "proc-macro-crate 1.2.1", @@ -3383,7 +3529,7 @@ dependencies = [ [[package]] name = "sp-staking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "parity-scale-codec", "scale-info", @@ -3393,8 +3539,8 @@ dependencies = [ [[package]] name = "sp-state-machine" -version = "0.12.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "0.13.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "hash-db", "log 0.4.17", @@ -3415,13 +3561,13 @@ dependencies = [ [[package]] name = "sp-std" -version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "5.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" [[package]] name = "sp-storage" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "7.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "impl-serde", "parity-scale-codec", @@ -3433,8 +3579,8 @@ dependencies = [ [[package]] name = "sp-tracing" -version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "6.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "parity-scale-codec", "sp-std", @@ -3445,8 +3591,8 @@ dependencies = [ [[package]] name = "sp-trie" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "7.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "ahash", "hash-db", @@ -3469,7 +3615,7 @@ dependencies = [ [[package]] name = "sp-version" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "impl-serde", "parity-scale-codec", @@ -3486,7 +3632,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "parity-scale-codec", "proc-macro2", @@ -3496,20 +3642,21 @@ dependencies = [ [[package]] name = "sp-wasm-interface" -version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +version = "7.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "impl-trait-for-tuples", "log 0.4.17", "parity-scale-codec", "sp-std", "wasmi", + "wasmtime", ] [[package]] name = "sp-weights" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.33#f404b5d379784b774f462e4e25cf5885b5d1246c" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -3547,6 +3694,12 @@ dependencies = [ "unicode-xid", ] +[[package]] +name = "stable_deref_trait" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" + [[package]] name = "static_assertions" version = "1.1.0" @@ -3620,6 +3773,12 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" +[[package]] +name = "target-lexicon" +version = "0.12.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ae9980cab1db3fceee2f6c6f643d5d8de2997c58ee8d25fb0cc8a9e9e7348e5" + [[package]] name = "tempfile" version = "3.3.0" @@ -4246,6 +4405,137 @@ dependencies = [ "num-traits", ] +[[package]] +name = "wasmparser" +version = "0.89.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab5d3e08b13876f96dd55608d03cd4883a0545884932d5adf11925876c96daef" +dependencies = [ + "indexmap", +] + +[[package]] +name = "wasmtime" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ad5af6ba38311282f2a21670d96e78266e8c8e2f38cbcd52c254df6ccbc7731" +dependencies = [ + "anyhow", + "bincode", + "cfg-if 1.0.0", + "indexmap", + "libc", + "log 0.4.17", + "object", + "once_cell", + "paste", + "psm", + "serde", + "target-lexicon", + "wasmparser", + "wasmtime-environ", + "wasmtime-jit", + "wasmtime-runtime", + "windows-sys 0.36.1", +] + +[[package]] +name = "wasmtime-asm-macros" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "45de63ddfc8b9223d1adc8f7b2ee5f35d1f6d112833934ad7ea66e4f4339e597" +dependencies = [ + "cfg-if 1.0.0", +] + +[[package]] +name = "wasmtime-environ" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebb881c61f4f627b5d45c54e629724974f8a8890d455bcbe634330cc27309644" +dependencies = [ + "anyhow", + "cranelift-entity", + "gimli", + "indexmap", + "log 0.4.17", + "object", + "serde", + "target-lexicon", + "thiserror", + "wasmparser", + "wasmtime-types", +] + +[[package]] +name = "wasmtime-jit" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1985c628011fe26adf5e23a5301bdc79b245e0e338f14bb58b39e4e25e4d8681" +dependencies = [ + "addr2line", + "anyhow", + "bincode", + "cfg-if 1.0.0", + "cpp_demangle", + "gimli", + "log 0.4.17", + "object", + "rustc-demangle", + "rustix", + "serde", + "target-lexicon", + "thiserror", + "wasmtime-environ", + "wasmtime-runtime", + "windows-sys 0.36.1", +] + +[[package]] +name = "wasmtime-jit-debug" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f671b588486f5ccec8c5a3dba6b4c07eac2e66ab8c60e6f4e53717c77f709731" +dependencies = [ + "once_cell", +] + +[[package]] +name = "wasmtime-runtime" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee8f92ad4b61736339c29361da85769ebc200f184361959d1792832e592a1afd" +dependencies = [ + "anyhow", + "cc", + "cfg-if 1.0.0", + "indexmap", + "libc", + "log 0.4.17", + "mach", + "memoffset", + "paste", + "rand 0.8.5", + "rustix", + "thiserror", + "wasmtime-asm-macros", + "wasmtime-environ", + "wasmtime-jit-debug", + "windows-sys 0.36.1", +] + +[[package]] +name = "wasmtime-types" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d23d61cb4c46e837b431196dd06abb11731541021916d03476a178b54dc07aeb" +dependencies = [ + "cranelift-entity", + "serde", + "thiserror", + "wasmparser", +] + [[package]] name = "web-sys" version = "0.3.60" diff --git a/fork-off/Cargo.toml b/fork-off/Cargo.toml index 21c4a0610b..e3cfe7452b 100644 --- a/fork-off/Cargo.toml +++ b/fork-off/Cargo.toml @@ -19,10 +19,10 @@ serde = "1" serde_json = "1" tokio = { version = "1.0", features = ["full"] } -sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -frame-support = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -frame-system = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -pallet-balances = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +frame-support = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +frame-system = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +pallet-balances = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } jsonrpc-core = "18.0" jsonrpc-core-client = { version = "18.0", features = ["ws"] } jsonrpc-derive = "18.0" diff --git a/pallets/aleph/Cargo.toml b/pallets/aleph/Cargo.toml index 785900bd41..1d628e8177 100644 --- a/pallets/aleph/Cargo.toml +++ b/pallets/aleph/Cargo.toml @@ -10,20 +10,20 @@ codec = { package = "parity-scale-codec", version = "3.0", default-features = fa serde = "1.0" scale-info = { version = "2.0", default-features = false, features = ["derive"] } -frame-support = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -frame-system = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -pallet-balances = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -pallet-session = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -sp-io = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -sp-std = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +frame-support = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +frame-system = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +pallet-balances = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +pallet-session = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +sp-io = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +sp-std = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } pallets-support = { path = "../support", default-features = false } primitives = { path = "../../primitives", default-features = false } [dev-dependencies] -pallet-timestamp = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -sp-runtime = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -sp-core = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +pallet-timestamp = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +sp-runtime = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +sp-core = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } [features] default = ["std"] diff --git a/pallets/elections/Cargo.toml b/pallets/elections/Cargo.toml index 4bf1957bc9..96ee680fdb 100644 --- a/pallets/elections/Cargo.toml +++ b/pallets/elections/Cargo.toml @@ -8,18 +8,18 @@ license = "Apache 2.0" codec = { package = "parity-scale-codec", version = "3.0", default-features = false, features = ["derive"] } scale-info = { version = "2.0", default-features = false, features = ["derive"] } -frame-support = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -frame-system = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -frame-election-provider-support = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -pallet-authorship = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -pallet-balances = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -pallet-session = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -pallet-staking = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -sp-core = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -sp-io = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -sp-staking = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -sp-std = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -sp-runtime = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +frame-support = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +frame-system = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +frame-election-provider-support = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +pallet-authorship = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +pallet-balances = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +pallet-session = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +pallet-staking = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +sp-core = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +sp-io = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +sp-staking = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +sp-std = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +sp-runtime = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } pallets-support = { path = "../support", default-features = false } primitives = { path = "../../primitives", default-features = false } diff --git a/pallets/support/Cargo.toml b/pallets/support/Cargo.toml index dcd8222fc0..bc62e1aacc 100644 --- a/pallets/support/Cargo.toml +++ b/pallets/support/Cargo.toml @@ -4,8 +4,8 @@ version = "0.1.4" edition = "2021" [dependencies] -frame-support = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -sp-std = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +frame-support = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +sp-std = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } [features] default = ["std"] diff --git a/primitives/Cargo.toml b/primitives/Cargo.toml index cc3638c246..daf24c570d 100644 --- a/primitives/Cargo.toml +++ b/primitives/Cargo.toml @@ -10,12 +10,12 @@ codec = { package = "parity-scale-codec", version = "3.0", default-features = fa serde = { version = "1.0", features = ["derive"] } scale-info = { version = "2.0", default-features = false, features = ["derive"] } -sp-api = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -sp-application-crypto = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -sp-core = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -sp-runtime = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -sp-std = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } -sp-staking = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.33" } +sp-api = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +sp-application-crypto = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +sp-core = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +sp-runtime = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +sp-std = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +sp-staking = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } [features] default = ["std"] From 145dec04ae4393d10f1880f0e41da18319cfc4a4 Mon Sep 17 00:00:00 2001 From: Mikolaj Gasior Date: Mon, 20 Feb 2023 21:02:19 +0100 Subject: [PATCH 162/212] Fix call to invalid step output in the deploy-mainnet workflow (#937) --- .github/workflows/deploy-mainnet.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/deploy-mainnet.yml b/.github/workflows/deploy-mainnet.yml index c63e1cc4ba..b984fb29d6 100644 --- a/.github/workflows/deploy-mainnet.yml +++ b/.github/workflows/deploy-mainnet.yml @@ -22,8 +22,8 @@ jobs: id: vars shell: bash run: | - echo "##[set-output name=branch;]$(echo ${GITHUB_REF##*/})" - echo "::set-output name=sha_short::$(git rev-parse --short HEAD)" + echo "branch=${GITHUB_REF##*/}" >> $GITHUB_OUTPUT + echo "sha_short=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT - name: Configure AWS credentials uses: aws-actions/configure-aws-credentials@v1 @@ -84,8 +84,8 @@ jobs: - name: S3 CI | Download release runtime from S3 bucket shell: bash env: - S3BUCKET_URL: s3://${{ secrets.CI_MAINNET_S3BUCKET_NAME }}/builds/aleph-node/commits/${{ steps.get_branch.outputs.sha_short }}/aleph-runtime - S3BUCKET_FILE: aleph-runtime-${{ steps.get_branch.outputs.sha_short }}.tar.gz + S3BUCKET_URL: s3://${{ secrets.CI_MAINNET_S3BUCKET_NAME }}/builds/aleph-node/commits/${{ steps.vars.outputs.sha_short }}/aleph-runtime + S3BUCKET_FILE: aleph-runtime-${{ steps.vars.outputs.sha_short }}.tar.gz run: | aws s3 cp ${{ env.S3BUCKET_URL }}/${{ S3BUCKET_FILE }} ${{ env.S3BUCKET_FILE }} @@ -94,7 +94,7 @@ jobs: if: startsWith(github.ref, 'refs/tags/') with: files: | - aleph-runtime-${{ steps.get_branch.outputs.sha_short }}.tar.gz + aleph-runtime-${{ steps.vars.outputs.sha_short }}.tar.gz - name: GIT | Checkout aleph-apps repo uses: actions/checkout@master From 304a5c7ff37238280dd43c3f6d7bd69ebc89c3c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Obrok?= Date: Tue, 21 Feb 2023 11:02:29 +0100 Subject: [PATCH 163/212] Use cargo contract 2.0.1 for button CI --- .github/workflows/e2e-tests-main-devnet.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/e2e-tests-main-devnet.yml b/.github/workflows/e2e-tests-main-devnet.yml index 27466e2ded..c079d0c92a 100644 --- a/.github/workflows/e2e-tests-main-devnet.yml +++ b/.github/workflows/e2e-tests-main-devnet.yml @@ -610,7 +610,7 @@ jobs: uses: actions/checkout@v2 - name: Install cargo-contract - run: cargo install cargo-contract --version 2.0.0-beta.1 + run: cargo install cargo-contract --version 2.0.1 - name: Install rust-src working-directory: ./contracts From ee1035b8ccd0b7803f41666965ef14fef6d9c61a Mon Sep 17 00:00:00 2001 From: Michal Swietek <4404982+mike1729@users.noreply.github.com> Date: Tue, 21 Feb 2023 11:11:18 +0100 Subject: [PATCH 164/212] Enforce heap pages (#938) * enforce-heap-pages * set call stack * bump-spec-version * fix-typo --------- Co-authored-by: Michal Swietek --- bin/node/src/main.rs | 15 ++++++++++++--- bin/runtime/src/lib.rs | 4 ++-- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/bin/node/src/main.rs b/bin/node/src/main.rs index 5f9be712aa..ac331bc132 100644 --- a/bin/node/src/main.rs +++ b/bin/node/src/main.rs @@ -6,10 +6,11 @@ use aleph_runtime::Block; use log::warn; use sc_cli::{clap::Parser, CliConfiguration, PruningParams, SubstrateCli}; use sc_network::config::Role; -use sc_service::PartialComponents; +use sc_service::{Configuration, PartialComponents}; const STATE_PRUNING: &str = "archive"; const BLOCKS_PRUNING: &str = "archive-canonical"; +const HEAP_PAGES: u64 = 4096; fn pruning_changed(params: &PruningParams) -> bool { let state_pruning_changed = @@ -21,6 +22,12 @@ fn pruning_changed(params: &PruningParams) -> bool { state_pruning_changed || blocks_pruning_changed } +// The default number of heap pages in substrate is 2048. Every heap page is 64KB, +// so value of 4096 gives 256MB memory for entire runtime. +fn enforce_heap_pages(config: &mut Configuration) { + config.default_heap_pages = Some(HEAP_PAGES); +} + fn main() -> sc_cli::Result<()> { let mut cli = Cli::parse(); let overwritten_pruning = pruning_changed(&cli.run.import_params.pruning_params); @@ -115,7 +122,7 @@ fn main() -> sc_cli::Result<()> { None => { let runner = cli.create_runner(&cli.run)?; if cli.aleph.experimental_pruning() { - warn!("Experimental_pruning was turned on. Usage of this flag can lead to misbehaviour, which can be punished. State pruning: {:?}; Blocks pruning: {:?};", + warn!("Experimental_pruning was turned on. Usage of this flag can lead to misbehaviour, which can be punished. State pruning: {:?}; Blocks pruning: {:?};", cli.run.state_pruning()?.unwrap_or_default(), cli.run.blocks_pruning()?, ); @@ -124,7 +131,9 @@ fn main() -> sc_cli::Result<()> { } let aleph_cli_config = cli.aleph; - runner.run_node_until_exit(|config| async move { + runner.run_node_until_exit(|mut config| async move { + enforce_heap_pages(&mut config); + match config.role { Role::Authority => { new_authority(config, aleph_cli_config).map_err(sc_cli::Error::Service) diff --git a/bin/runtime/src/lib.rs b/bin/runtime/src/lib.rs index 70a2f8223c..753b807773 100644 --- a/bin/runtime/src/lib.rs +++ b/bin/runtime/src/lib.rs @@ -106,7 +106,7 @@ pub const VERSION: RuntimeVersion = RuntimeVersion { spec_name: create_runtime_str!("aleph-node"), impl_name: create_runtime_str!("aleph-node"), authoring_version: 1, - spec_version: 52, + spec_version: 53, impl_version: 1, apis: RUNTIME_API_VERSIONS, transaction_version: 14, @@ -681,7 +681,7 @@ impl pallet_contracts::Config for Runtime { type DeletionQueueDepth = DeletionQueueDepth; type DeletionWeightLimit = DeletionWeightLimit; type Schedule = Schedule; - type CallStack = [pallet_contracts::Frame; 31]; + type CallStack = [pallet_contracts::Frame; 16]; type AddressGenerator = pallet_contracts::DefaultAddressGenerator; type MaxCodeLen = ConstU32<{ 128 * 1024 }>; type MaxStorageKeyLen = ConstU32<128>; From 3d44d6745ff635a58bc7682f2c0ad73d82a3d346 Mon Sep 17 00:00:00 2001 From: Krzysztof Ziobro <86822080+krzysztofziobro@users.noreply.github.com> Date: Tue, 21 Feb 2023 12:11:57 +0100 Subject: [PATCH 165/212] Fork off: child support (#915) --- fork-off/src/account_setting.rs | 2 +- fork-off/src/chainspec_combining.rs | 7 +-- fork-off/src/fetching.rs | 23 ++++++-- fork-off/src/fsio.rs | 4 +- fork-off/src/jsonrpc_client.rs | 82 ++++++++++++++++++++++++++++- fork-off/src/main.rs | 11 ++-- fork-off/src/types.rs | 48 +++++++++++++++-- 7 files changed, 156 insertions(+), 21 deletions(-) diff --git a/fork-off/src/account_setting.rs b/fork-off/src/account_setting.rs index 04a39dd60c..4819157717 100644 --- a/fork-off/src/account_setting.rs +++ b/fork-off/src/account_setting.rs @@ -135,7 +135,7 @@ pub fn apply_account_setting(mut state: Storage, setting: AccountSetting) -> Sto let account_hash = account.clone().into(); let key = &account_map.join(&account_hash); - state.insert(key.clone(), info.clone().into()); + state.top.insert(key.clone(), info.clone().into()); info!(target: "fork-off", "Account info of `{:?}` set to `{:?}`", account, info); } state diff --git a/fork-off/src/chainspec_combining.rs b/fork-off/src/chainspec_combining.rs index c1f1d3069e..2734edd261 100644 --- a/fork-off/src/chainspec_combining.rs +++ b/fork-off/src/chainspec_combining.rs @@ -27,6 +27,7 @@ impl Index<&StoragePath> for PathCounter { } } +/// Combines states - ommiting child state as we assume that it is empty in initial chainspec pub fn combine_states( mut state: Storage, initial_state: Storage, @@ -40,7 +41,7 @@ pub fn combine_states( let mut removed_per_path_count = PathCounter::default(); let mut added_per_path_cnt = PathCounter::default(); - state.retain(|k, _v| { + state.top.retain(|k, _v| { match storage_prefixes .iter() .find(|(_, prefix)| prefix.is_prefix_of(k)) @@ -53,13 +54,13 @@ pub fn combine_states( } }); - for (k, v) in initial_state.iter() { + for (k, v) in initial_state.top.iter() { if let Some((path, _)) = storage_prefixes .iter() .find(|(_, prefix)| prefix.is_prefix_of(k)) { added_per_path_cnt.bump(path); - state.insert(k.clone(), v.clone()); + state.top.insert(k.clone(), v.clone()); } } diff --git a/fork-off/src/fetching.rs b/fork-off/src/fetching.rs index 26deca58c8..99a4c7be9c 100644 --- a/fork-off/src/fetching.rs +++ b/fork-off/src/fetching.rs @@ -1,4 +1,4 @@ -use std::{collections::HashMap, iter::repeat_with, sync::Arc}; +use std::{iter::repeat_with, sync::Arc}; use async_channel::Receiver; use futures::{future::join_all, join}; @@ -37,10 +37,23 @@ impl StateFetcher { .await .unwrap(); + let child_storage_map_res = self + .client + .get_child_storage_for_key(key.clone(), &block) + .await + .unwrap(); + let mut output_guard = output.lock(); - output_guard.insert(key, value); - if output_guard.len() % LOG_PROGRESS_FREQUENCY == 0 { - info!("Fetched {} values", output_guard.len()); + output_guard.top.insert(key.clone(), value); + if let Some(child_storage_map) = child_storage_map_res { + info!("Fetched child trie with {} keys", child_storage_map.len()); + output_guard + .child_storage + .insert(key.without_child_storage_prefix(), child_storage_map); + } + + if output_guard.top.len() % LOG_PROGRESS_FREQUENCY == 0 { + info!("Fetched {} values", output_guard.top.len()); } } } @@ -49,7 +62,7 @@ impl StateFetcher { info!("Fetching state at block {:?}", block_hash); let (input, key_fetcher) = self.client.stream_all_keys(&block_hash); - let output = Arc::new(Mutex::new(HashMap::new())); + let output = Arc::new(Mutex::new(Storage::default())); let workers = repeat_with(|| { self.value_fetching_worker(block_hash.clone(), input.clone(), output.clone()) diff --git a/fork-off/src/fsio.rs b/fork-off/src/fsio.rs index 97dec0c55d..8d8a54eab5 100644 --- a/fork-off/src/fsio.rs +++ b/fork-off/src/fsio.rs @@ -40,7 +40,7 @@ pub fn save_snapshot_to_file(snapshot: Storage, path: String) { let data = serde_json::to_vec_pretty(&snapshot).unwrap(); info!( "Writing snapshot of {} key-val pairs and {} total bytes", - snapshot.len(), + snapshot.top.len(), data.len() ); write_to_file(path, &data); @@ -50,6 +50,6 @@ pub fn read_snapshot_from_file(path: String) -> Storage { let snapshot: Storage = serde_json::from_str(&fs::read_to_string(path).expect("Could not read snapshot file")) .expect("could not parse from snapshot"); - info!("Read snapshot of {} key-val pairs", snapshot.len()); + info!("Read snapshot of {} key-val pairs", snapshot.top.len()); snapshot } diff --git a/fork-off/src/jsonrpc_client.rs b/fork-off/src/jsonrpc_client.rs index be89f650d9..97e343bd59 100644 --- a/fork-off/src/jsonrpc_client.rs +++ b/fork-off/src/jsonrpc_client.rs @@ -6,7 +6,7 @@ use jsonrpc_core::Error; use jsonrpc_core_client::{transports::ws, RpcError}; use jsonrpc_derive::rpc; -use crate::types::{BlockHash, StorageKey, StorageValue}; +use crate::types::{BlockHash, ChildStorageMap, StorageKey, StorageValue}; #[rpc] pub trait Rpc { @@ -28,6 +28,24 @@ pub trait Rpc { start_key: Option, at: Option, ) -> Result, Error>; + + #[rpc(name = "childstate_getKeysPaged")] + fn get_child_keys_paged( + &self, + child_storage: StorageKey, + prefix: StorageKey, + count: usize, + start_key: Option, + at: Option, + ) -> Result, Error>; + + #[rpc(name = "childstate_getStorageEntries")] + fn get_child_storage_entries( + &self, + child_storage: StorageKey, + keys: Vec, + at: Option, + ) -> Result, Error>; } type RpcResult = Result; @@ -71,6 +89,68 @@ impl Client { (receiver, self.do_stream_all_keys(sender, at.clone())) } + /// Returns a map representing a single child trie + pub async fn get_child_storage_for_key( + &self, + child_key: StorageKey, + at: &BlockHash, + ) -> RpcResult> { + let res = self + .get_child_storage_for_key_inner(child_key, at) + .await + .map(Some); + + if let Err(RpcError::JsonRpcError(err)) = res { + // Empty child storage is returned as error + if err.message == "Client error: Invalid child storage key" { + Ok(None) + } else { + Err(RpcError::JsonRpcError(err)) + } + } else { + res + } + } + + async fn get_child_storage_for_key_inner( + &self, + child_key: StorageKey, + at: &BlockHash, + ) -> RpcResult { + let empty_prefix = StorageKey::new("0x"); + let mut child_storage_map = ChildStorageMap::new(); + let mut start_key = None; + + loop { + let keys = self + .client + .get_child_keys_paged( + child_key.clone(), + empty_prefix.clone(), + CHUNK_SIZE, + start_key, + Some(at.clone()), + ) + .await?; + + let values = self + .client + .get_child_storage_entries(child_key.clone(), keys.clone(), Some(at.clone())) + .await?; + + child_storage_map.append(&mut keys.iter().cloned().zip(values).collect()); + + let fetched = keys.len(); + start_key = keys.last().cloned(); + + if fetched < CHUNK_SIZE { + break; + } + } + + Ok(child_storage_map) + } + async fn do_stream_all_keys(&self, sender: Sender, at: BlockHash) -> RpcResult<()> { let empty_prefix = StorageKey::new("0x"); let mut start_key = None; diff --git a/fork-off/src/main.rs b/fork-off/src/main.rs index 5468dc6ff9..804feb29ec 100644 --- a/fork-off/src/main.rs +++ b/fork-off/src/main.rs @@ -56,9 +56,8 @@ async fn main() -> anyhow::Result<()> { } let state = read_snapshot_from_file(snapshot_path); - let initial_state: Storage = - serde_json::from_value(initial_spec["genesis"]["raw"]["top"].take()) - .expect("Deserialization of state from given chainspec file failed"); + // Initialize with state from chainspec + empty child storage + let initial_state = Storage::new(&initial_spec); let state = combine_states(state, initial_state, storage_keep_state); @@ -77,8 +76,12 @@ async fn main() -> anyhow::Result<()> { }; let state = apply_account_setting(state, account_setting); - let json_state = serde_json::to_value(state).expect("Failed to convert a storage map to json"); + let json_state = + serde_json::to_value(state.top).expect("Failed to convert a storage map to json"); + let json_child_state = + serde_json::to_value(state.child_storage).expect("Failed to convert a storage map to json"); initial_spec["genesis"]["raw"]["top"] = json_state; + initial_spec["genesis"]["raw"]["childrenDefault"] = json_child_state; let new_spec = serde_json::to_vec_pretty(&initial_spec)?; info!(target: "fork-off", "Writing new chainspec to {}", &combined_spec_path); diff --git a/fork-off/src/types.rs b/fork-off/src/types.rs index 8e32066457..1e866cf985 100644 --- a/fork-off/src/types.rs +++ b/fork-off/src/types.rs @@ -5,11 +5,16 @@ //! to a function, as `clippy` screams outrageously about changing it to `&str` and then the alias //! is useless. -use std::{collections::HashMap, fmt::Debug, str::FromStr}; +use std::{ + collections::{BTreeMap, HashMap}, + fmt::Debug, + str::FromStr, +}; use codec::Encode; use frame_support::{sp_runtime::AccountId32, Blake2_128Concat, StorageHasher, Twox128}; -use hex::ToHex; +use hex::{encode, ToHex}; +use jsonrpc_core::Value; use serde::{Deserialize, Serialize}; pub trait Get { @@ -17,7 +22,7 @@ pub trait Get { } /// Remove leading `"0x"`. -fn strip_hex(t: &T) -> String { +pub fn strip_hex(t: &T) -> String { let s = t.to_string(); s.strip_prefix("0x").map(ToString::to_string).unwrap_or(s) } @@ -69,7 +74,7 @@ impl Get for StoragePath { } /// Hex-encoded key in raw chainspec. -#[derive(Clone, Debug, Eq, PartialEq, Hash, Serialize, Deserialize)] +#[derive(Clone, Debug, Eq, PartialEq, Hash, Serialize, Deserialize, PartialOrd, Ord)] pub struct StorageKey(String); impl From<&StorageKey> for Vec { @@ -78,6 +83,8 @@ impl From<&StorageKey> for Vec { } } +pub const CHILD_STORAGE_PREFIX: &[u8] = b":child_storage:default:"; + impl StorageKey { pub fn new(content: &T) -> Self { Self(as_hex(content)) @@ -96,6 +103,16 @@ impl StorageKey { let longer = as_hex(&other.0); longer.starts_with(&shorter) } + + pub fn without_child_storage_prefix(self) -> Self { + StorageKey::new( + &(as_hex( + &self + .get() + .split_off(as_hex(&encode(CHILD_STORAGE_PREFIX)).len()), + )), + ) + } } /// Convert `AccountId` to `StorageKey` using `Blake2_128Concat` hashing algorithm. @@ -169,6 +186,27 @@ impl FromStr for BlockHash { } /// Content of `chainspec["genesis"]["raw"]["top"]`. -pub type Storage = HashMap; +pub type TopStorage = HashMap; + +/// Content of `chainspec["genesis"]["raw"]["childrenDefault"]`. +pub type ChildStorage = HashMap; + +pub type ChildStorageMap = BTreeMap; + +#[derive(Debug, Default, Clone, Serialize, Deserialize)] +pub struct Storage { + pub top: TopStorage, + pub child_storage: ChildStorage, +} pub type Balance = u128; + +impl Storage { + pub fn new(initial_spec: &Value) -> Self { + Storage { + top: serde_json::from_value(initial_spec["genesis"]["raw"]["top"].clone()) + .expect("Deserialization of state from initial chainspec has failed"), + child_storage: ChildStorage::new(), + } + } +} From 7675fc61e3f327f61e2aa2553090785b8ac9ba66 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maciej=20Nem=C5=9B?= Date: Wed, 22 Feb 2023 12:35:51 +0100 Subject: [PATCH 166/212] A0-1904: update to 0.9.35 (#936) * change fork version to 0.9.34 * pallet contracts UnsafeUnstableInterface set to false * subxt code gen * temporarily remove fee calculation test * fix build * change fork version to aleph-0.9.34 * bump spec version to 52 * move comment up * change fork version to wip-0.9.35 * fix pruning arguments * fix weight changes * update jsonspree * fix compiler error * rm wip * lock * spec * aleph * lint * lint * cleanup * maximize build space * lint * clean before unit * revert * set tmp dir * fp * fp2 * one more try --------- Co-authored-by: KostekIV Co-authored-by: kostekIV <27210860+kostekIV@users.noreply.github.com> --- .github/workflows/unit_tests.yml | 13 +- Cargo.lock | 1097 +++++++++--------- aleph-client/Cargo.lock | 239 ++-- aleph-client/Cargo.toml | 6 +- aleph-client/src/contract/event.rs | 4 +- aleph-client/src/utility.rs | 2 +- benches/payout-stakers/Cargo.lock | 247 ++-- benches/payout-stakers/Cargo.toml | 4 +- bin/cliain/Cargo.lock | 381 +++--- bin/cliain/Cargo.toml | 4 +- bin/node/Cargo.toml | 72 +- bin/node/src/main.rs | 31 +- bin/runtime/Cargo.toml | 79 +- bin/runtime/src/lib.rs | 11 +- e2e-tests/Cargo.lock | 384 +++--- e2e-tests/Cargo.toml | 12 +- finality-aleph/Cargo.toml | 42 +- finality-aleph/src/network/gossip/service.rs | 9 +- flooder/Cargo.lock | 243 ++-- flooder/Cargo.toml | 4 +- fork-off/Cargo.lock | 98 +- fork-off/Cargo.toml | 8 +- pallets/aleph/Cargo.toml | 18 +- pallets/elections/Cargo.toml | 24 +- pallets/support/Cargo.toml | 4 +- primitives/Cargo.toml | 12 +- rust-toolchain | 2 +- 27 files changed, 1574 insertions(+), 1476 deletions(-) diff --git a/.github/workflows/unit_tests.yml b/.github/workflows/unit_tests.yml index fa644dc1f2..7d50986f7c 100644 --- a/.github/workflows/unit_tests.yml +++ b/.github/workflows/unit_tests.yml @@ -21,6 +21,13 @@ jobs: env: CARGO_INCREMENTAL: 0 steps: + - name: Maximize build space + uses: easimon/maximize-build-space@v6 + with: + root-reserve-mb: 2048 + swap-size-mb: 1024 + remove-dotnet: 'true' + - name: Checkout Source code uses: actions/checkout@v2 @@ -51,6 +58,7 @@ jobs: command: fmt args: --all + - name: Run Linter uses: actions-rs/cargo@v1 env: @@ -62,10 +70,7 @@ jobs: args: --all-targets --all-features -- --no-deps -D warnings - name: Run Unit Test Suite - uses: actions-rs/cargo@v1 - with: - command: test - args: --lib --features "try-runtime" + run: CARGO_TARGET_DIR=$(pwd) cargo test --lib --features "try-runtime" - name: Cleanup cache uses: ./.github/actions/post-cache diff --git a/Cargo.lock b/Cargo.lock index 14cbf7c543..0307f5a6df 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -27,7 +27,7 @@ version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a76fd60b23679b7d19bd066031410fb7e458ccc5e958eb5c325888ce4baedc97" dependencies = [ - "gimli 0.27.0", + "gimli 0.27.2", ] [[package]] @@ -139,12 +139,13 @@ dependencies = [ [[package]] name = "aleph-bft" -version = "0.20.4" +version = "0.20.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b728a1cd327f84c61a3c0cf087f952703237fb6db8bde33284d67827e86e58f" +checksum = "a3e70117d5481f1194ceafcf71d027377717d6fc738fc10a1433f412bb5bdc4d" dependencies = [ "aleph-bft-rmc 0.6.1", "aleph-bft-types 0.8.1", + "anyhow", "async-trait", "derivative", "futures", @@ -154,6 +155,7 @@ dependencies = [ "parity-scale-codec", "parking_lot 0.12.1", "rand 0.8.5", + "thiserror", ] [[package]] @@ -359,9 +361,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.68" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2cb2f989d18dd141ab8ae82f64d1a8cdd37e0840f73a406896cf5e99502fab61" +checksum = "224afbd727c3d6e4b90103ece64b8d1b67fbb1973b1046c2281eed3f3803f800" [[package]] name = "approx" @@ -480,9 +482,9 @@ checksum = "7a40729d2133846d9ed0ea60a8b9541bccddab49cd30f0715a1da672fe9a2524" [[package]] name = "async-trait" -version = "0.1.60" +version = "0.1.64" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "677d1d8ab452a3936018a687b20e6f7cf5363d713b732b8884001317b0e48aa3" +checksum = "1cd7fce9ba8c3c042128ce72d8b2ddbf3a05747efb67ea0313c635e10bda47a2" dependencies = [ "proc-macro2", "quote", @@ -504,9 +506,9 @@ dependencies = [ [[package]] name = "atomic-waker" -version = "1.0.0" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "065374052e7df7ee4047b1160cca5e1467a12351a40b3da123c870ba0b8eda2a" +checksum = "debc29dde2e69f9e47506b525f639ed42300fc014a3e007832592448fa8e4599" [[package]] name = "atty" @@ -536,7 +538,7 @@ dependencies = [ "cfg-if", "libc", "miniz_oxide", - "object 0.30.0", + "object 0.30.3", "rustc-demangle", ] @@ -564,6 +566,12 @@ version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" +[[package]] +name = "base64" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4a4ddaa51a5bc52a6948f74c06d20aaaddb71924eab79b8c97a8c556e942d6a" + [[package]] name = "base64ct" version = "1.5.3" @@ -582,7 +590,7 @@ dependencies = [ [[package]] name = "beefy-merkle-tree" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "sp-api", "sp-beefy", @@ -600,9 +608,9 @@ dependencies = [ [[package]] name = "bindgen" -version = "0.60.1" +version = "0.64.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "062dddbc1ba4aca46de6338e2bf87771414c335f7b2f2036e8f3e9befebf88e6" +checksum = "c4243e6031260db77ede97ad86c27e501d646a27ab57b59a574f725d98ab1fb4" dependencies = [ "bitflags", "cexpr", @@ -615,6 +623,7 @@ dependencies = [ "regex", "rustc-hash", "shlex", + "syn", ] [[package]] @@ -652,24 +661,24 @@ dependencies = [ [[package]] name = "blake2b_simd" -version = "1.0.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72936ee4afc7f8f736d1c38383b56480b5497b4617b4a77bdbf1d2ababc76127" +checksum = "3c2f0dc9a68c6317d884f97cc36cf5a3d20ba14ce404227df55e1af708ab04bc" dependencies = [ "arrayref", "arrayvec 0.7.2", - "constant_time_eq 0.1.5", + "constant_time_eq", ] [[package]] name = "blake2s_simd" -version = "1.0.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db539cc2b5f6003621f1cd9ef92d7ded8ea5232c7de0f9faa2de251cd98730d4" +checksum = "6637f448b9e61dfadbdcbae9a885fadee1f3eaffb1f8d3c1965d3ade8bdfd44f" dependencies = [ "arrayref", "arrayvec 0.7.2", - "constant_time_eq 0.1.5", + "constant_time_eq", ] [[package]] @@ -682,7 +691,7 @@ dependencies = [ "arrayvec 0.7.2", "cc", "cfg-if", - "constant_time_eq 0.2.4", + "constant_time_eq", ] [[package]] @@ -746,11 +755,12 @@ checksum = "771fe0050b883fcc3ea2359b1a96bcfbc090b7116eae7c3c512c7a083fdf23d3" [[package]] name = "bstr" -version = "0.2.17" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba3569f383e8f1598449f1a423e72e99569137b47740b1da11ef19af3d5c3223" +checksum = "5ffdb39cb703212f3c11973452c2861b972f757b021158f3516ba10f2fa8b2c1" dependencies = [ "memchr", + "serde", ] [[package]] @@ -764,9 +774,9 @@ dependencies = [ [[package]] name = "bumpalo" -version = "3.11.1" +version = "3.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "572f695136211188308f16ad2ca5c851a712c464060ae6974944458eb83880ba" +checksum = "0d261e256854913907f67ed06efbc3338dfe6179796deefc1ff763fc1aee5535" [[package]] name = "byte-slice-cast" @@ -788,9 +798,9 @@ checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" [[package]] name = "bytes" -version = "1.3.0" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfb24e866b15a1af2a1b663f10c6b6b8f397a84aadb828f12e5b289ec23a3a3c" +checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be" [[package]] name = "bzip2-sys" @@ -805,9 +815,9 @@ dependencies = [ [[package]] name = "camino" -version = "1.1.1" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88ad0e1e3e88dd237a156ab9f571021b8a158caa0ae44b1968a241efb5144c1e" +checksum = "c77df041dc383319cc661b428b6961a005db4d6808d5e12536931b1ca9556055" dependencies = [ "serde", ] @@ -836,9 +846,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.78" +version = "1.0.79" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a20104e2335ce8a659d6dd92a51a767a0c062599c73b343fd152cb401e828c3d" +checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f" dependencies = [ "jobserver", ] @@ -946,9 +956,9 @@ dependencies = [ [[package]] name = "clang-sys" -version = "1.4.0" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa2e27ae6ab525c3d369ded447057bca5438d86dc3a68f6faafb8269ba82ebf3" +checksum = "77ed9a53e5d4d9c573ae844bfac6872b159cb1d1585a83b29e7a64b7eef7332a" dependencies = [ "glob", "libc", @@ -957,9 +967,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.0.30" +version = "4.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "656ad1e55e23d287773f7d8192c300dc715c3eeded93b3da651d11c42cfd74d2" +checksum = "ec0b0588d44d4d63a87dbd75c136c166bbfd9a86a31cb89e09906521c7d3f5e3" dependencies = [ "bitflags", "clap_derive", @@ -972,9 +982,9 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.0.21" +version = "4.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0177313f9f02afc995627906bbd8967e2be069f5261954222dac78290c2b9014" +checksum = "684a277d672e91966334af371f1a7b5833f9aa00b07c84e92fbce95e00208ce8" dependencies = [ "heck", "proc-macro-error", @@ -985,9 +995,9 @@ dependencies = [ [[package]] name = "clap_lex" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d4198f73e42b4936b35b5bb248d81d2b595ecb170da0bac7655c54eedfa8da8" +checksum = "783fe232adfca04f90f56201b26d79682d4cd2625e0bc7290b95123afe558ade" dependencies = [ "os_str_bytes", ] @@ -1004,9 +1014,9 @@ dependencies = [ [[package]] name = "concurrent-queue" -version = "2.0.0" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd7bef69dc86e3c610e4e7aed41035e2a7ed12e72dd7530f61327a6579a4390b" +checksum = "c278839b831783b70278b14df4d45e1beb1aad306c07bb796637de9a0e323e8e" dependencies = [ "crossbeam-utils", ] @@ -1017,12 +1027,6 @@ version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cec318a675afcb6a1ea1d4340e2d377e56e47c266f28043ceccbf4412ddfdd3b" -[[package]] -name = "constant_time_eq" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc" - [[package]] name = "constant_time_eq" version = "0.2.4" @@ -1313,9 +1317,9 @@ dependencies = [ [[package]] name = "curve25519-dalek" -version = "4.0.0-pre.5" +version = "4.0.0-rc.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67bc65846be335cb20f4e52d49a437b773a2c1fdb42b19fc84e79e6f6771536f" +checksum = "8da00a7a9a4eb92a0a0f8e75660926d48f0d0f3c537e455c457bcdaa1e16b1ac" dependencies = [ "cfg-if", "fiat-crypto", @@ -1327,9 +1331,9 @@ dependencies = [ [[package]] name = "cxx" -version = "1.0.85" +version = "1.0.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5add3fc1717409d029b20c5b6903fc0c0b02fa6741d820054f4a2efa5e5816fd" +checksum = "86d3488e7665a7a483b57e25bdd90d0aeb2bc7608c8d0346acf2ad3f1caf1d62" dependencies = [ "cc", "cxxbridge-flags", @@ -1339,9 +1343,9 @@ dependencies = [ [[package]] name = "cxx-build" -version = "1.0.85" +version = "1.0.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4c87959ba14bc6fbc61df77c3fcfe180fc32b93538c4f1031dd802ccb5f2ff0" +checksum = "48fcaf066a053a41a81dfb14d57d99738b767febb8b735c3016e469fac5da690" dependencies = [ "cc", "codespan-reporting", @@ -1354,15 +1358,15 @@ dependencies = [ [[package]] name = "cxxbridge-flags" -version = "1.0.85" +version = "1.0.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69a3e162fde4e594ed2b07d0f83c6c67b745e7f28ce58c6df5e6b6bef99dfb59" +checksum = "a2ef98b8b717a829ca5603af80e1f9e2e48013ab227b68ef37872ef84ee479bf" [[package]] name = "cxxbridge-macro" -version = "1.0.85" +version = "1.0.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e7e2adeb6a0d4a282e581096b06e1791532b7d576dcde5ccd9382acf55db8e6" +checksum = "086c685979a698443656e5cf7856c95c642295a38599f12fb1ff76fb28d19892" dependencies = [ "proc-macro2", "quote", @@ -1574,9 +1578,9 @@ dependencies = [ [[package]] name = "ed25519" -version = "1.5.2" +version = "1.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e9c280362032ea4203659fc489832d0204ef09f247a0506f170dafcac08c369" +checksum = "91cff35c70bba8a626e3185d8cd48cc11b5437e1a5bcd15b9b5fa3c64b6dfee7" dependencies = [ "signature", ] @@ -1611,9 +1615,9 @@ dependencies = [ [[package]] name = "either" -version = "1.8.0" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90e5c1c8368803113bf0c9584fc495a58b86dc8a29edbf8fe877d21d9507e797" +checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91" [[package]] name = "elliptic-curve" @@ -1679,6 +1683,19 @@ dependencies = [ "termcolor", ] +[[package]] +name = "env_logger" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85cdab6a89accf66733ad5a1693a4dcced6aeff64602b634530dd73c1f3ee9f0" +dependencies = [ + "humantime", + "is-terminal", + "log", + "regex", + "termcolor", +] + [[package]] name = "environmental" version = "1.1.4" @@ -1735,9 +1752,9 @@ checksum = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7" [[package]] name = "fastrand" -version = "1.8.0" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7a407cfaa3385c4ae6b23e84623d48c2798d06e3e6a1878f7f59f17b3f86499" +checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be" dependencies = [ "instant", ] @@ -1769,24 +1786,24 @@ checksum = "a214f5bb88731d436478f3ae1f8a277b62124089ba9fb67f4f93fb100ef73c90" [[package]] name = "file-per-thread-logger" -version = "0.1.5" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21e16290574b39ee41c71aeb90ae960c504ebaf1e2a1c87bd52aa56ed6e1a02f" +checksum = "84f2e425d9790201ba4af4630191feac6dcc98765b118d4d18e91d23c2353866" dependencies = [ - "env_logger", + "env_logger 0.10.0", "log", ] [[package]] name = "filetime" -version = "0.2.19" +version = "0.2.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e884668cd0c7480504233e951174ddc3b382f7c2666e3b7310b5c4e7b0c37f9" +checksum = "8a3de6e8d11b22ff9edc6d916f890800597d60f8b2da1caf2955c274638d6412" dependencies = [ "cfg-if", "libc", "redox_syscall", - "windows-sys 0.42.0", + "windows-sys 0.45.0", ] [[package]] @@ -1796,14 +1813,14 @@ dependencies = [ "aggregator 0.2.1", "aggregator 0.3.0", "aleph-bft 0.19.3", - "aleph-bft 0.20.4", + "aleph-bft 0.20.5", "aleph-bft-crypto 0.5.2", "aleph-bft-rmc 0.5.2", "aleph-bft-rmc 0.6.1", "async-trait", "bytes", "derive_more", - "env_logger", + "env_logger 0.9.3", "futures", "futures-timer", "hash-db", @@ -1842,9 +1859,9 @@ dependencies = [ [[package]] name = "finality-grandpa" -version = "0.16.0" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b22349c6a11563a202d95772a68e0fcf56119e74ea8a2a19cf2301460fcd0df5" +checksum = "e24e6c429951433ccb7c87fd528c60084834dcd14763182c1f83291bcde24c34" dependencies = [ "either", "futures", @@ -1903,7 +1920,7 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "fork-tree" version = "3.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "parity-scale-codec", ] @@ -1926,7 +1943,7 @@ checksum = "6c2141d6d6c8512188a7891b4b01590a45f6dac67afb4f255c4124dbb86d4eaa" [[package]] name = "frame-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "frame-support", "frame-system", @@ -1949,7 +1966,7 @@ dependencies = [ [[package]] name = "frame-election-provider-solution-type" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -1960,7 +1977,7 @@ dependencies = [ [[package]] name = "frame-election-provider-support" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "frame-election-provider-solution-type", "frame-support", @@ -1976,7 +1993,7 @@ dependencies = [ [[package]] name = "frame-executive" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "frame-support", "frame-system", @@ -2005,9 +2022,9 @@ dependencies = [ [[package]] name = "frame-remote-externalities" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ - "env_logger", + "env_logger 0.9.3", "log", "parity-scale-codec", "serde", @@ -2022,7 +2039,7 @@ dependencies = [ [[package]] name = "frame-support" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "bitflags", "frame-metadata", @@ -2054,7 +2071,7 @@ dependencies = [ [[package]] name = "frame-support-procedural" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "Inflector", "cfg-expr", @@ -2068,7 +2085,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate", @@ -2080,7 +2097,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "proc-macro2", "quote", @@ -2090,7 +2107,7 @@ dependencies = [ [[package]] name = "frame-system" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "frame-support", "log", @@ -2108,7 +2125,7 @@ dependencies = [ [[package]] name = "frame-system-rpc-runtime-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "parity-scale-codec", "sp-api", @@ -2117,7 +2134,7 @@ dependencies = [ [[package]] name = "frame-try-runtime" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "frame-support", "parity-scale-codec", @@ -2136,12 +2153,6 @@ dependencies = [ "winapi", ] -[[package]] -name = "fs_extra" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2022715d62ab30faffd124d40b76f4134a550a87792276512b18d63272333394" - [[package]] name = "funty" version = "2.0.0" @@ -2150,9 +2161,9 @@ checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" [[package]] name = "futures" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38390104763dc37a5145a53c29c63c1290b5d316d6086ec32c293f6736051bb0" +checksum = "13e2792b0ff0340399d58445b88fd9770e3489eff258a4cbc1523418f12abf84" dependencies = [ "futures-channel", "futures-core", @@ -2165,9 +2176,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52ba265a92256105f45b719605a571ffe2d1f0fea3807304b522c1d778f79eed" +checksum = "2e5317663a9089767a1ec00a487df42e0ca174b61b4483213ac24448e4664df5" dependencies = [ "futures-core", "futures-sink", @@ -2175,15 +2186,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04909a7a7e4633ae6c4a9ab280aeb86da1236243a77b694a49eacd659a4bd3ac" +checksum = "ec90ff4d0fe1f57d600049061dc6bb68ed03c7d2fbd697274c41805dcb3f8608" [[package]] name = "futures-executor" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7acc85df6714c176ab5edf386123fafe217be88c0840ec11f199441134a074e2" +checksum = "e8de0a35a6ab97ec8869e32a2473f4b1324459e14c29275d14b10cb1fd19b50e" dependencies = [ "futures-core", "futures-task", @@ -2193,9 +2204,9 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00f5fb52a06bdcadeb54e8d3671f8888a39697dcb0b81b23b55174030427f4eb" +checksum = "bfb8371b6fb2aeb2d280374607aeabfc99d95c72edfe51692e42d3d7f0d08531" [[package]] name = "futures-lite" @@ -2214,9 +2225,9 @@ dependencies = [ [[package]] name = "futures-macro" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bdfb8ce053d86b91919aad980c220b1fb8401a9394410e1c289ed7e66b61835d" +checksum = "95a73af87da33b5acf53acfebdc339fe592ecf5357ac7c0a7734ab9d8c876a70" dependencies = [ "proc-macro2", "quote", @@ -2236,15 +2247,15 @@ dependencies = [ [[package]] name = "futures-sink" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39c15cf1a4aa79df40f1bb462fb39676d0ad9e366c2a33b590d7c66f4f81fcf9" +checksum = "f310820bb3e8cfd46c80db4d7fb8353e15dfff853a127158425f31e0be6c8364" [[package]] name = "futures-task" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ffb393ac5d9a6eaa9d3fdf37ae2776656b706e200c8e16b1bdb227f5198e6ea" +checksum = "dcf79a1bf610b10f42aea489289c5a2c478a786509693b80cd39c44ccd936366" [[package]] name = "futures-timer" @@ -2254,9 +2265,9 @@ checksum = "e64b03909df88034c26dc1547e8970b91f98bdb65165d6a4e9110d94263dbb2c" [[package]] name = "futures-util" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "197676987abd2f9cadff84926f410af1c183608d36641465df73ae8211dc65d6" +checksum = "9c1d6de3acfef38d2be4b1f543f553131788603495be83da675e180c8d6b7bd1" dependencies = [ "futures-channel", "futures-core", @@ -2345,21 +2356,21 @@ dependencies = [ [[package]] name = "gimli" -version = "0.27.0" +version = "0.27.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dec7af912d60cdbd3677c1af9352ebae6fb8394d165568a2234df0fa00f87793" +checksum = "ad0a93d233ebf96623465aad4046a8d3aa4da22d4f4beba5388838c8a434bbb4" [[package]] name = "glob" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574" +checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" [[package]] name = "globset" -version = "0.4.9" +version = "0.4.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a1e17342619edbc21a964c2afbeb6c820c6a2560032872f397bb97ea127bd0a" +checksum = "029d74589adefde59de1a0c4f4732695c32805624aec7b68d91503d4dba79afc" dependencies = [ "aho-corasick", "bstr", @@ -2424,9 +2435,9 @@ dependencies = [ [[package]] name = "heck" -version = "0.4.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9" +checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" [[package]] name = "hermit-abi" @@ -2446,6 +2457,12 @@ dependencies = [ "libc", ] +[[package]] +name = "hermit-abi" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286" + [[package]] name = "hex" version = "0.4.3" @@ -2511,9 +2528,9 @@ dependencies = [ [[package]] name = "http" -version = "0.2.8" +version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75f43d41e26995c17e71ee126451dd3941010b0514a81a9d11f3b341debc2399" +checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482" dependencies = [ "bytes", "fnv", @@ -2531,6 +2548,12 @@ dependencies = [ "pin-project-lite 0.2.9", ] +[[package]] +name = "http-range-header" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bfe8eed0a9285ef776bb792479ea3834e8b94e13d615c2f66d03dd50a435a29" + [[package]] name = "httparse" version = "1.8.0" @@ -2551,9 +2574,9 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" [[package]] name = "hyper" -version = "0.14.23" +version = "0.14.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "034711faac9d2166cb1baf1a2fb0b60b1f277f8492fd72176c17f3515e1abd3c" +checksum = "5e011372fa0b68db8350aa7a248930ecc7839bf46d8485577d69f117a75f164c" dependencies = [ "bytes", "futures-channel", @@ -2733,12 +2756,12 @@ checksum = "59ce5ef949d49ee85593fc4d3f3f95ad61657076395cbbce23e2121fc5542074" [[package]] name = "io-lifetimes" -version = "1.0.3" +version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46112a93252b123d31a119a8d1a1ac19deac4fac6e0e8b0df58f0d4e5870e63c" +checksum = "1abeb7a0dd0f8181267ff8adc397075586500b81b28a73e8a0208b00fc170fb3" dependencies = [ "libc", - "windows-sys 0.42.0", + "windows-sys 0.45.0", ] [[package]] @@ -2761,20 +2784,20 @@ dependencies = [ [[package]] name = "ipnet" -version = "2.7.0" +version = "2.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11b0d96e660696543b251e58030cf9787df56da39dab19ad60eae7353040917e" +checksum = "30e22bd8629359895450b59ea7a776c850561b96a3b1d31321c1949d9e6c9146" [[package]] name = "is-terminal" -version = "0.4.2" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28dfb6c8100ccc63462345b67d1bbc3679177c75ee4bf59bf29c8b1d110b8189" +checksum = "22e18b0a45d56fe973d6db23972bf5bc46f988a4a2385deac9cc29572f09daef" dependencies = [ - "hermit-abi 0.2.6", - "io-lifetimes 1.0.3", - "rustix 0.36.5", - "windows-sys 0.42.0", + "hermit-abi 0.3.1", + "io-lifetimes 1.0.5", + "rustix 0.36.8", + "windows-sys 0.45.0", ] [[package]] @@ -2803,33 +2826,32 @@ dependencies = [ [[package]] name = "js-sys" -version = "0.3.60" +version = "0.3.61" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49409df3e3bf0856b916e2ceaca09ee28e6871cf7d9ce97a692cacfdb2a25a47" +checksum = "445dde2150c55e483f3d8416706b97ec8e8237c307e5b7b4b8dd15e6af2a0730" dependencies = [ "wasm-bindgen", ] [[package]] name = "jsonrpsee" -version = "0.15.1" +version = "0.16.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8bd0d559d5e679b1ab2f869b486a11182923863b1b3ee8b421763cdd707b783a" +checksum = "7d291e3a5818a2384645fd9756362e6d89cf0541b0b916fa7702ea4a9833608e" dependencies = [ "jsonrpsee-core", - "jsonrpsee-http-server", "jsonrpsee-proc-macros", + "jsonrpsee-server", "jsonrpsee-types", "jsonrpsee-ws-client", - "jsonrpsee-ws-server", "tracing", ] [[package]] name = "jsonrpsee-client-transport" -version = "0.15.1" +version = "0.16.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8752740ecd374bcbf8b69f3e80b0327942df76f793f8d4e60d3355650c31fb74" +checksum = "965de52763f2004bc91ac5bcec504192440f0b568a5d621c59d9dbd6f886c3fb" dependencies = [ "futures-util", "http", @@ -2848,9 +2870,9 @@ dependencies = [ [[package]] name = "jsonrpsee-core" -version = "0.15.1" +version = "0.16.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3dc3e9cf2ba50b7b1d7d76a667619f82846caa39e8e8daa8a4962d74acaddca" +checksum = "a4e70b4439a751a5de7dd5ed55eacff78ebf4ffe0fc009cb1ebb11417f5b536b" dependencies = [ "anyhow", "arrayvec 0.7.2", @@ -2861,10 +2883,8 @@ dependencies = [ "futures-timer", "futures-util", "globset", - "http", "hyper", "jsonrpsee-types", - "lazy_static", "parking_lot 0.12.1", "rand 0.8.5", "rustc-hash", @@ -2874,45 +2894,48 @@ dependencies = [ "thiserror", "tokio", "tracing", - "tracing-futures", - "unicase", ] [[package]] -name = "jsonrpsee-http-server" -version = "0.15.1" +name = "jsonrpsee-proc-macros" +version = "0.16.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03802f0373a38c2420c70b5144742d800b509e2937edc4afb116434f07120117" +checksum = "baa6da1e4199c10d7b1d0a6e5e8bd8e55f351163b6f4b3cbb044672a69bd4c1c" +dependencies = [ + "heck", + "proc-macro-crate", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "jsonrpsee-server" +version = "0.16.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fb69dad85df79527c019659a992498d03f8495390496da2f07e6c24c2b356fc" dependencies = [ "futures-channel", "futures-util", + "http", "hyper", "jsonrpsee-core", "jsonrpsee-types", "serde", "serde_json", + "soketto", "tokio", + "tokio-stream", + "tokio-util", + "tower", "tracing", - "tracing-futures", -] - -[[package]] -name = "jsonrpsee-proc-macros" -version = "0.15.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd67957d4280217247588ac86614ead007b301ca2fa9f19c19f880a536f029e3" -dependencies = [ - "proc-macro-crate", - "proc-macro2", - "quote", - "syn", ] [[package]] name = "jsonrpsee-types" -version = "0.15.1" +version = "0.16.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e290bba767401b646812f608c099b922d8142603c9e73a50fb192d3ac86f4a0d" +checksum = "5bd522fe1ce3702fd94812965d7bb7a3364b1c9aba743944c5a00529aae80f8c" dependencies = [ "anyhow", "beef", @@ -2924,9 +2947,9 @@ dependencies = [ [[package]] name = "jsonrpsee-ws-client" -version = "0.15.1" +version = "0.16.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ee5feddd5188e62ac08fcf0e56478138e581509d4730f3f7be9b57dd402a4ff" +checksum = "0b83daeecfc6517cfe210df24e570fb06213533dfb990318fae781f4c7119dd9" dependencies = [ "http", "jsonrpsee-client-transport", @@ -2934,26 +2957,6 @@ dependencies = [ "jsonrpsee-types", ] -[[package]] -name = "jsonrpsee-ws-server" -version = "0.15.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d488ba74fb369e5ab68926feb75a483458b88e768d44319f37e4ecad283c7325" -dependencies = [ - "futures-channel", - "futures-util", - "http", - "jsonrpsee-core", - "jsonrpsee-types", - "serde_json", - "soketto", - "tokio", - "tokio-stream", - "tokio-util", - "tracing", - "tracing-futures", -] - [[package]] name = "k256" version = "0.11.6" @@ -2977,35 +2980,31 @@ dependencies = [ [[package]] name = "kvdb" -version = "0.12.0" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "585089ceadba0197ffe9af6740ab350b325e3c1f5fccfbc3522e0250c750409b" +checksum = "e7d770dcb02bf6835887c3a979b5107a04ff4bbde97a5f0928d27404a155add9" dependencies = [ - "parity-util-mem", "smallvec", ] [[package]] name = "kvdb-memorydb" -version = "0.12.0" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40d109c87bfb7759edd2a49b2649c1afe25af785d930ad6a38479b4dc70dd873" +checksum = "bf7a85fe66f9ff9cd74e169fdd2c94c6e1e74c412c99a73b4df3200b5d3760b2" dependencies = [ "kvdb", - "parity-util-mem", "parking_lot 0.12.1", ] [[package]] name = "kvdb-rocksdb" -version = "0.16.0" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c076cc2cdbac89b9910c853a36c957d3862a779f31c2661174222cefb49ee597" +checksum = "2182b8219fee6bd83aacaab7344e840179ae079d5216aa4e249b4d704646a844" dependencies = [ "kvdb", - "log", "num_cpus", - "parity-util-mem", "parking_lot 0.12.1", "regex", "rocksdb", @@ -3026,9 +3025,9 @@ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" [[package]] name = "libc" -version = "0.2.138" +version = "0.2.139" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db6d7e329c562c5dfab7a46a2afabc8b987ab9a4834c9d1ca04dc54c1546cef8" +checksum = "201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79" [[package]] name = "libloading" @@ -3386,9 +3385,9 @@ dependencies = [ [[package]] name = "librocksdb-sys" -version = "0.8.0+7.4.4" +version = "0.8.3+7.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "611804e4666a25136fcc5f8cf425ab4d26c7f74ea245ffe92ea23b85b6420b5d" +checksum = "557b255ff04123fcc176162f56ed0c9cd42d8f357cf55b3fabeb60f7413741b3" dependencies = [ "bindgen", "bzip2-sys", @@ -3406,7 +3405,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "95b09eff1b35ed3b33b877ced3a691fc7a481919c7e29c53c906226fcf55e2a1" dependencies = [ "arrayref", - "base64", + "base64 0.13.1", "digest 0.9.0", "hmac-drbg", "libsecp256k1-core", @@ -3596,9 +3595,9 @@ dependencies = [ [[package]] name = "matches" -version = "0.1.9" +version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f" +checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5" [[package]] name = "matrixmultiply" @@ -3621,14 +3620,14 @@ version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b20a59d985586e4a5aef64564ac77299f8586d8be6cf9106a5a40207e8908efb" dependencies = [ - "rustix 0.36.5", + "rustix 0.36.8", ] [[package]] name = "memmap2" -version = "0.5.8" +version = "0.5.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b182332558b18d807c4ce1ca8ca983b34c3ee32765e47b3f0f69b90355cc1dc" +checksum = "2af2c65375e552a67fe3829ca63e8a7c27a378a62824594f43b2851d682b5ec2" dependencies = [ "libc", ] @@ -3653,13 +3652,12 @@ dependencies = [ [[package]] name = "memory-db" -version = "0.30.0" +version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34ac11bb793c28fa095b7554466f53b3a60a2cd002afdac01bcf135cbd73a269" +checksum = "5e0c7cba9ce19ac7ffd2053ac9f49843bbd3f4318feedfd74e85c19d5fb0ba66" dependencies = [ "hash-db", "hashbrown", - "parity-util-mem", ] [[package]] @@ -3697,14 +3695,14 @@ dependencies = [ [[package]] name = "mio" -version = "0.8.5" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5d732bc30207a6423068df043e3d02e0735b155ad7ce1a6f76fe2baa5b158de" +checksum = "5b9d9a46eff5b4ff64b45a9e316a6d1e0bc719ef429cbec4dc630684212bfdf9" dependencies = [ "libc", "log", "wasi 0.11.0+wasi-snapshot-preview1", - "windows-sys 0.42.0", + "windows-sys 0.45.0", ] [[package]] @@ -3782,9 +3780,9 @@ dependencies = [ [[package]] name = "multihash-derive" -version = "0.8.0" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc076939022111618a5026d3be019fd8b366e76314538ff9a1b59ffbcbf98bcd" +checksum = "1d6d4752e6230d8ef7adf7bd5d8c4b1f6561c1014c5ba9a37445ccefe18aa1db" dependencies = [ "proc-macro-crate", "proc-macro-error", @@ -3880,9 +3878,9 @@ dependencies = [ [[package]] name = "netlink-packet-utils" -version = "0.5.1" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25af9cf0dc55498b7bd94a1508af7a78706aa0ab715a73c5169273e03c84845e" +checksum = "0ede8a08c71ad5a95cdd0e4e52facd37190977039a4704eb82a283f713747d34" dependencies = [ "anyhow", "byteorder", @@ -3907,9 +3905,9 @@ dependencies = [ [[package]] name = "netlink-sys" -version = "0.8.3" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92b654097027250401127914afb37cb1f311df6610a9891ff07a757e94199027" +checksum = "260e21fbb6f3d253a14df90eb0000a6066780a15dd901a7519ce02d77a94985b" dependencies = [ "async-io", "bytes", @@ -3937,9 +3935,9 @@ checksum = "2bf50223579dc7cdcfb3bfcacf7069ff68243f8c363f62ffa99cf000a6b9c451" [[package]] name = "nom" -version = "7.1.1" +version = "7.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8903e5a29a317527874d0402f867152a3d21c908bb0b933e416c65e301d4c36" +checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" dependencies = [ "memchr", "minimal-lexical", @@ -3964,9 +3962,9 @@ dependencies = [ [[package]] name = "num-complex" -version = "0.4.2" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ae39348c8bc5fbd7f40c727a9925f03517afd2ab27d46702108b6a7e5414c19" +checksum = "02e0d21255c828d6f128a1e41534206671e8c3ea0c62f32291e808dc82cff17d" dependencies = [ "num-traits", ] @@ -4037,18 +4035,18 @@ dependencies = [ [[package]] name = "object" -version = "0.30.0" +version = "0.30.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "239da7f290cfa979f43f85a8efeee9a8a76d0827c356d37f9d3d7254d6b537fb" +checksum = "ea86265d3d3dcb6a27fc51bd29a4bf387fae9d2986b823079d4986af253eb439" dependencies = [ "memchr", ] [[package]] name = "once_cell" -version = "1.16.0" +version = "1.17.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86f0b0d4bf799edbc74508c1e8bf170ff5f41238e5f8225603ca7caaae2b7860" +checksum = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3" [[package]] name = "opaque-debug" @@ -4107,7 +4105,7 @@ dependencies = [ [[package]] name = "pallet-aura" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "frame-support", "frame-system", @@ -4123,7 +4121,7 @@ dependencies = [ [[package]] name = "pallet-authorship" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "frame-support", "frame-system", @@ -4138,7 +4136,7 @@ dependencies = [ [[package]] name = "pallet-babe" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "frame-benchmarking", "frame-support", @@ -4159,10 +4157,30 @@ dependencies = [ "sp-std", ] +[[package]] +name = "pallet-bags-list" +version = "4.0.0-dev" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +dependencies = [ + "frame-benchmarking", + "frame-election-provider-support", + "frame-support", + "frame-system", + "log", + "pallet-balances", + "parity-scale-codec", + "scale-info", + "sp-core", + "sp-io", + "sp-runtime", + "sp-std", + "sp-tracing", +] + [[package]] name = "pallet-balances" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "frame-benchmarking", "frame-support", @@ -4177,7 +4195,7 @@ dependencies = [ [[package]] name = "pallet-contracts" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "bitflags", "frame-benchmarking", @@ -4205,7 +4223,7 @@ dependencies = [ [[package]] name = "pallet-contracts-primitives" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "bitflags", "parity-scale-codec", @@ -4217,7 +4235,7 @@ dependencies = [ [[package]] name = "pallet-contracts-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "proc-macro2", "quote", @@ -4249,7 +4267,7 @@ dependencies = [ [[package]] name = "pallet-identity" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "enumflags2", "frame-benchmarking", @@ -4265,7 +4283,7 @@ dependencies = [ [[package]] name = "pallet-multisig" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "frame-benchmarking", "frame-support", @@ -4281,7 +4299,7 @@ dependencies = [ [[package]] name = "pallet-nomination-pools" version = "1.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "frame-support", "frame-system", @@ -4298,7 +4316,7 @@ dependencies = [ [[package]] name = "pallet-nomination-pools-runtime-api" version = "1.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "parity-scale-codec", "sp-api", @@ -4308,7 +4326,7 @@ dependencies = [ [[package]] name = "pallet-randomness-collective-flip" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "frame-support", "frame-system", @@ -4322,9 +4340,8 @@ dependencies = [ [[package]] name = "pallet-scheduler" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ - "frame-benchmarking", "frame-support", "frame-system", "log", @@ -4333,12 +4350,13 @@ dependencies = [ "sp-io", "sp-runtime", "sp-std", + "sp-weights", ] [[package]] name = "pallet-session" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "frame-support", "frame-system", @@ -4359,7 +4377,7 @@ dependencies = [ [[package]] name = "pallet-staking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -4367,6 +4385,7 @@ dependencies = [ "frame-system", "log", "pallet-authorship", + "pallet-bags-list", "pallet-session", "parity-scale-codec", "scale-info", @@ -4381,7 +4400,7 @@ dependencies = [ [[package]] name = "pallet-sudo" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "frame-support", "frame-system", @@ -4395,7 +4414,7 @@ dependencies = [ [[package]] name = "pallet-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "frame-benchmarking", "frame-support", @@ -4413,7 +4432,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "frame-support", "frame-system", @@ -4429,7 +4448,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "jsonrpsee", "pallet-transaction-payment-rpc-runtime-api", @@ -4445,7 +4464,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc-runtime-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "pallet-transaction-payment", "parity-scale-codec", @@ -4457,7 +4476,7 @@ dependencies = [ [[package]] name = "pallet-treasury" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "frame-benchmarking", "frame-support", @@ -4474,7 +4493,7 @@ dependencies = [ [[package]] name = "pallet-utility" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "frame-benchmarking", "frame-support", @@ -4490,7 +4509,7 @@ dependencies = [ [[package]] name = "pallet-vesting" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "frame-benchmarking", "frame-support", @@ -4531,9 +4550,9 @@ dependencies = [ [[package]] name = "parity-scale-codec" -version = "3.2.1" +version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "366e44391a8af4cfd6002ef6ba072bae071a96aafca98d7d448a34c5dca38b6a" +checksum = "637935964ff85a605d114591d4d2c13c5d1ba2806dae97cea6bf180238a749ac" dependencies = [ "arrayvec 0.7.2", "bitvec", @@ -4546,9 +4565,9 @@ dependencies = [ [[package]] name = "parity-scale-codec-derive" -version = "3.1.3" +version = "3.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9299338969a3d2f491d65f140b00ddec470858402f888af98e8642fb5e8965cd" +checksum = "86b26a931f824dd4eca30b3e43bb4f31cd5f0d3a403c5f5ff27106b805bfde7b" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -4562,33 +4581,6 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "aa9777aa91b8ad9dd5aaa04a9b6bcb02c7f1deb952fca5a66034d5e63afc5c6f" -[[package]] -name = "parity-util-mem" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d32c34f4f5ca7f9196001c0aba5a1f9a5a12382c8944b8b0f90233282d1e8f8" -dependencies = [ - "cfg-if", - "hashbrown", - "impl-trait-for-tuples", - "parity-util-mem-derive", - "parking_lot 0.12.1", - "primitive-types", - "smallvec", - "winapi", -] - -[[package]] -name = "parity-util-mem-derive" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f557c32c6d268a07c921471619c0295f5efad3a0e76d4f97a05c091a51d110b2" -dependencies = [ - "proc-macro2", - "syn", - "synstructure", -] - [[package]] name = "parity-wasm" version = "0.45.0" @@ -4619,7 +4611,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" dependencies = [ "lock_api", - "parking_lot_core 0.9.5", + "parking_lot_core 0.9.7", ] [[package]] @@ -4638,15 +4630,15 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.5" +version = "0.9.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ff9f3fef3968a3ec5945535ed654cb38ff72d7495a25619e2247fb15a2ed9ba" +checksum = "9069cbb9f99e3a5083476ccb29ceb1de18b9118cafa53e90c9551235de2b9521" dependencies = [ "cfg-if", "libc", "redox_syscall", "smallvec", - "windows-sys 0.42.0", + "windows-sys 0.45.0", ] [[package]] @@ -4696,9 +4688,9 @@ checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e" [[package]] name = "petgraph" -version = "0.6.2" +version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6d5014253a1331579ce62aa67443b4a658c5e7dd03d4bc6d302b94474888143" +checksum = "4dd7d28ee937e54fe3080c91faa1c3a46c06de6252988a7f4592ba2310ef22a4" dependencies = [ "fixedbitset", "indexmap", @@ -4815,9 +4807,9 @@ checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" [[package]] name = "predicates" -version = "2.1.4" +version = "2.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f54fc5dc63ed3bbf19494623db4f3af16842c0d975818e469022d09e53f0aa05" +checksum = "59230a63c37f3e18569bdb90e4a89cbf5bf8b06fea0b84e65ea10cc4df47addd" dependencies = [ "difflib", "float-cmp", @@ -4845,9 +4837,9 @@ dependencies = [ [[package]] name = "prettyplease" -version = "0.1.22" +version = "0.1.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c8992a85d8e93a28bdf76137db888d3874e3b230dee5ed8bebac4c9f7617773" +checksum = "e97e3215779627f01ee256d2fad52f3d95e8e1c11e9fc6fd08f7cd455d5d5c78" dependencies = [ "proc-macro2", "syn", @@ -4883,11 +4875,10 @@ dependencies = [ [[package]] name = "proc-macro-crate" -version = "1.2.1" +version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eda0fc3b0fb7c975631757e14d9049da17374063edb6ebbcbc54d880d4fe94e9" +checksum = "e17d47ce914bf4de440332250b0edd23ce48c005f59fab39d3335866b114f11a" dependencies = [ - "once_cell", "thiserror", "toml", ] @@ -4918,9 +4909,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.49" +version = "1.0.51" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57a8eca9f9c4ffde41714334dee777596264c7825420f521abc92b5b5deb63a5" +checksum = "5d727cae5b39d21da60fa540906919ad737832fe0b1c165da3a34d6548c849d6" dependencies = [ "unicode-ident", ] @@ -4964,9 +4955,9 @@ dependencies = [ [[package]] name = "prost" -version = "0.11.5" +version = "0.11.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c01db6702aa05baa3f57dec92b8eeeeb4cb19e894e73996b32a4093289e54592" +checksum = "21dc42e00223fc37204bd4aa177e69420c604ca4a183209a8f9de30c6d934698" dependencies = [ "bytes", "prost-derive", @@ -4974,9 +4965,9 @@ dependencies = [ [[package]] name = "prost-build" -version = "0.11.5" +version = "0.11.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb5320c680de74ba083512704acb90fe00f28f79207286a848e730c45dd73ed6" +checksum = "a3f8ad728fb08fe212df3c05169e940fbb6d9d16a877ddde14644a983ba2012e" dependencies = [ "bytes", "heck", @@ -5009,9 +5000,9 @@ dependencies = [ [[package]] name = "prost-derive" -version = "0.11.5" +version = "0.11.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8842bad1a5419bca14eac663ba798f6bc19c413c2fdceb5f3ba3b0932d96720" +checksum = "8bda8c0881ea9f722eb9629376db3d0b903b462477c1aafcb0566610ac28ac5d" dependencies = [ "anyhow", "itertools", @@ -5022,9 +5013,9 @@ dependencies = [ [[package]] name = "prost-types" -version = "0.11.5" +version = "0.11.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "017f79637768cde62820bc2d4fe0e45daaa027755c323ad077767c6c5f173091" +checksum = "a5e0526209433e96d83d750dd81a99118edbc55739e7e61a46764fd2ad537788" dependencies = [ "bytes", "prost", @@ -5180,9 +5171,9 @@ dependencies = [ [[package]] name = "rayon-core" -version = "1.10.1" +version = "1.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cac410af5d00ab6884528b4ab69d1e8e146e8d471201800fa1b4524126de6ad3" +checksum = "356a0625f1954f730c0201cdab48611198dc6ce21f4acff55089b5a78e6e835b" dependencies = [ "crossbeam-channel", "crossbeam-deque", @@ -5244,9 +5235,9 @@ dependencies = [ [[package]] name = "regex" -version = "1.7.0" +version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e076559ef8e241f2ae3479e36f97bd5741c0330689e217ad51ce2c76808b868a" +checksum = "48aaa5748ba571fb95cd2c85c09f629215d3a6ece942baa100950af03a34f733" dependencies = [ "aho-corasick", "memchr", @@ -5411,23 +5402,23 @@ dependencies = [ [[package]] name = "rustix" -version = "0.36.5" +version = "0.36.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3807b5d10909833d3e9acd1eb5fb988f79376ff10fce42937de71a449c4c588" +checksum = "f43abb88211988493c1abb44a70efa56ff0ce98f233b7b276146f1f3f7ba9644" dependencies = [ "bitflags", "errno", - "io-lifetimes 1.0.3", + "io-lifetimes 1.0.5", "libc", "linux-raw-sys 0.1.4", - "windows-sys 0.42.0", + "windows-sys 0.45.0", ] [[package]] name = "rustls" -version = "0.20.7" +version = "0.20.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "539a2bfe908f471bfa933876bd1eb6a19cf2176d375f82ef7f99530a40e48c2c" +checksum = "fff78fc74d175294f4e83b28343315ffcfb114b156f0185e9741cb5570f50e2f" dependencies = [ "log", "ring", @@ -5449,11 +5440,11 @@ dependencies = [ [[package]] name = "rustls-pemfile" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0864aeff53f8c05aa08d86e5ef839d3dfcf07aeba2db32f12db0ef716e87bd55" +checksum = "d194b56d58803a43635bdc398cd17e383d6f71f9182b9a192c127ca42494a59b" dependencies = [ - "base64", + "base64 0.21.0", ] [[package]] @@ -5500,7 +5491,7 @@ dependencies = [ [[package]] name = "sc-allocator" version = "4.1.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "log", "sp-core", @@ -5511,7 +5502,7 @@ dependencies = [ [[package]] name = "sc-basic-authorship" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "futures", "futures-timer", @@ -5534,7 +5525,7 @@ dependencies = [ [[package]] name = "sc-block-builder" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "parity-scale-codec", "sc-client-api", @@ -5550,7 +5541,7 @@ dependencies = [ [[package]] name = "sc-chain-spec" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "impl-trait-for-tuples", "memmap2", @@ -5567,7 +5558,7 @@ dependencies = [ [[package]] name = "sc-chain-spec-derive" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -5578,7 +5569,7 @@ dependencies = [ [[package]] name = "sc-cli" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "array-bytes", "chrono", @@ -5618,7 +5609,7 @@ dependencies = [ [[package]] name = "sc-client-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "fnv", "futures", @@ -5646,7 +5637,7 @@ dependencies = [ [[package]] name = "sc-client-db" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "hash-db", "kvdb", @@ -5671,13 +5662,14 @@ dependencies = [ [[package]] name = "sc-consensus" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "async-trait", "futures", "futures-timer", "libp2p", "log", + "mockall", "parking_lot 0.12.1", "sc-client-api", "sc-utils", @@ -5695,7 +5687,7 @@ dependencies = [ [[package]] name = "sc-consensus-aura" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "async-trait", "futures", @@ -5724,7 +5716,7 @@ dependencies = [ [[package]] name = "sc-consensus-slots" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "async-trait", "futures", @@ -5748,9 +5740,8 @@ dependencies = [ [[package]] name = "sc-executor" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ - "lazy_static", "lru 0.8.1", "parity-scale-codec", "parking_lot 0.12.1", @@ -5759,7 +5750,6 @@ dependencies = [ "sc-executor-wasmtime", "sp-api", "sp-core", - "sp-core-hashing-proc-macro", "sp-externalities", "sp-io", "sp-panic-handler", @@ -5774,13 +5764,10 @@ dependencies = [ [[package]] name = "sc-executor-common" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ - "environmental", - "parity-scale-codec", "sc-allocator", "sp-maybe-compressed-blob", - "sp-sandbox", "sp-wasm-interface", "thiserror", "wasm-instrument 0.3.0", @@ -5790,14 +5777,12 @@ dependencies = [ [[package]] name = "sc-executor-wasmi" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "log", - "parity-scale-codec", "sc-allocator", "sc-executor-common", "sp-runtime-interface", - "sp-sandbox", "sp-wasm-interface", "wasmi 0.13.2", ] @@ -5805,19 +5790,16 @@ dependencies = [ [[package]] name = "sc-executor-wasmtime" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "cfg-if", "libc", "log", "once_cell", - "parity-scale-codec", - "parity-wasm", "rustix 0.35.13", "sc-allocator", "sc-executor-common", "sp-runtime-interface", - "sp-sandbox", "sp-wasm-interface", "wasmtime", ] @@ -5825,13 +5807,12 @@ dependencies = [ [[package]] name = "sc-informant" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "ansi_term", "futures", "futures-timer", "log", - "parity-util-mem", "sc-client-api", "sc-network-common", "sc-transaction-pool-api", @@ -5842,7 +5823,7 @@ dependencies = [ [[package]] name = "sc-keystore" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "array-bytes", "async-trait", @@ -5857,7 +5838,7 @@ dependencies = [ [[package]] name = "sc-network" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "array-bytes", "async-trait", @@ -5904,7 +5885,7 @@ dependencies = [ [[package]] name = "sc-network-bitswap" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "cid", "futures", @@ -5924,7 +5905,7 @@ dependencies = [ [[package]] name = "sc-network-common" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "async-trait", "bitflags", @@ -5950,7 +5931,7 @@ dependencies = [ [[package]] name = "sc-network-light" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "array-bytes", "futures", @@ -5971,7 +5952,7 @@ dependencies = [ [[package]] name = "sc-network-sync" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "array-bytes", "async-trait", @@ -5996,13 +5977,14 @@ dependencies = [ "sp-core", "sp-finality-grandpa", "sp-runtime", + "substrate-prometheus-endpoint", "thiserror", ] [[package]] name = "sc-network-transactions" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "array-bytes", "futures", @@ -6021,7 +6003,7 @@ dependencies = [ [[package]] name = "sc-offchain" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "array-bytes", "bytes", @@ -6051,7 +6033,7 @@ dependencies = [ [[package]] name = "sc-peerset" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "futures", "libp2p", @@ -6064,7 +6046,7 @@ dependencies = [ [[package]] name = "sc-proposer-metrics" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "log", "substrate-prometheus-endpoint", @@ -6073,7 +6055,7 @@ dependencies = [ [[package]] name = "sc-rpc" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "futures", "hash-db", @@ -6103,7 +6085,7 @@ dependencies = [ [[package]] name = "sc-rpc-api" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "futures", "jsonrpsee", @@ -6126,20 +6108,23 @@ dependencies = [ [[package]] name = "sc-rpc-server" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "futures", + "http", "jsonrpsee", "log", "serde_json", "substrate-prometheus-endpoint", "tokio", + "tower", + "tower-http", ] [[package]] name = "sc-rpc-spec-v2" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "futures", "hex", @@ -6158,7 +6143,7 @@ dependencies = [ [[package]] name = "sc-service" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "async-trait", "directories", @@ -6169,7 +6154,6 @@ dependencies = [ "jsonrpsee", "log", "parity-scale-codec", - "parity-util-mem", "parking_lot 0.12.1", "pin-project", "rand 0.7.3", @@ -6229,12 +6213,10 @@ dependencies = [ [[package]] name = "sc-state-db" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "log", "parity-scale-codec", - "parity-util-mem", - "parity-util-mem-derive", "parking_lot 0.12.1", "sc-client-api", "sp-core", @@ -6243,7 +6225,7 @@ dependencies = [ [[package]] name = "sc-sysinfo" version = "6.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "futures", "libc", @@ -6262,7 +6244,7 @@ dependencies = [ [[package]] name = "sc-telemetry" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "chrono", "futures", @@ -6280,7 +6262,7 @@ dependencies = [ [[package]] name = "sc-tracing" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "ansi_term", "atty", @@ -6311,7 +6293,7 @@ dependencies = [ [[package]] name = "sc-tracing-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -6322,7 +6304,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "async-trait", "futures", @@ -6330,7 +6312,6 @@ dependencies = [ "linked-hash-map", "log", "parity-scale-codec", - "parity-util-mem", "parking_lot 0.12.1", "sc-client-api", "sc-transaction-pool-api", @@ -6349,7 +6330,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "async-trait", "futures", @@ -6363,7 +6344,7 @@ dependencies = [ [[package]] name = "sc-utils" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "futures", "futures-timer", @@ -6401,12 +6382,11 @@ dependencies = [ [[package]] name = "schannel" -version = "0.1.20" +version = "0.1.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88d6731146462ea25d9244b2ed5fd1d716d25c52e4d54aa4fb0f3c4e9854dbe2" +checksum = "713cfb06c7059f3588fb8044c0fad1d09e3c01d225e25b9220dbfdcf16dbb1b3" dependencies = [ - "lazy_static", - "windows-sys 0.36.1", + "windows-sys 0.42.0", ] [[package]] @@ -6465,9 +6445,9 @@ dependencies = [ [[package]] name = "secp256k1" -version = "0.24.2" +version = "0.24.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9512ffd81e3a3503ed401f79c33168b9148c75038956039166cd750eaa037c3" +checksum = "6b1629c9c557ef9b293568b338dddfc8208c98a18c59d722a9d53f859d9c9b62" dependencies = [ "secp256k1-sys", ] @@ -6492,9 +6472,9 @@ dependencies = [ [[package]] name = "security-framework" -version = "2.7.0" +version = "2.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bc1bb97804af6631813c55739f771071e0f2ed33ee20b68c86ec505d906356c" +checksum = "a332be01508d814fed64bf28f798a146d73792121129962fdf335bb3c49a4254" dependencies = [ "bitflags", "core-foundation", @@ -6505,9 +6485,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.6.1" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0160a13a177a45bfb43ce71c01580998474f556ad854dcbca936dd2841a5c556" +checksum = "31c9bb296072e961fcbd8853511dd39c2d8be2deb1e17c6860b1d30732b323b4" dependencies = [ "core-foundation-sys", "libc", @@ -6548,18 +6528,18 @@ checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" [[package]] name = "serde" -version = "1.0.151" +version = "1.0.152" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97fed41fc1a24994d044e6db6935e69511a1153b52c15eb42493b26fa87feba0" +checksum = "bb7d1f0d3021d347a83e556fc4683dea2ea09d87bccdf88ff5c12545d89d5efb" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.151" +version = "1.0.152" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "255abe9a125a985c05190d687b320c12f9b1f0b99445e608c21ba0782c719ad8" +checksum = "af487d118eecd09402d70a5d72551860e788df87b464af30e5ea6a38c75c541e" dependencies = [ "proc-macro2", "quote", @@ -6568,9 +6548,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.91" +version = "1.0.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "877c235533714907a8c2464236f5c4b2a17262ef1bd71f38f35ea592c8da6883" +checksum = "cad406b69c91885b5107daf2c29572f6c8cdb3c66826821e286c533490c0bc76" dependencies = [ "itoa", "ryu", @@ -6653,9 +6633,9 @@ checksum = "43b2853a4d09f215c24cc5489c992ce46052d359b5109343cbafbf26bc62f8a3" [[package]] name = "signal-hook-registry" -version = "1.4.0" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e51e73328dc4ac0c7ccbda3a494dfa03df1de2f46018127f60c693f2648455b0" +checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1" dependencies = [ "libc", ] @@ -6684,9 +6664,9 @@ dependencies = [ [[package]] name = "slab" -version = "0.4.7" +version = "0.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4614a76b2a8be0058caa9dbbaf66d988527d86d003c11a94fbd335d7661edcef" +checksum = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d" dependencies = [ "autocfg", ] @@ -6711,14 +6691,14 @@ checksum = "5e9f0ab6ef7eb7353d9119c170a436d1bf248eea575ac42d19d12f4e34130831" [[package]] name = "snow" -version = "0.9.0" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "774d05a3edae07ce6d68ea6984f3c05e9bba8927e3dd591e3b479e5b03213d0d" +checksum = "12ba5f4d4ff12bdb6a169ed51b7c48c0e0ac4b0b4b31012b2571e97d78d3201d" dependencies = [ "aes-gcm", "blake2", "chacha20poly1305", - "curve25519-dalek 4.0.0-pre.5", + "curve25519-dalek 4.0.0-rc.0", "rand_core 0.6.4", "ring", "rustc_version 0.4.0", @@ -6742,10 +6722,11 @@ version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "41d1c5305e39e09653383c2c7244f2f78b3bcae37cf50c64cb4789c9f5096ec2" dependencies = [ - "base64", + "base64 0.13.1", "bytes", "flate2", "futures", + "http", "httparse", "log", "rand 0.8.5", @@ -6755,7 +6736,7 @@ dependencies = [ [[package]] name = "sp-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "hash-db", "log", @@ -6773,7 +6754,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "blake2", "proc-macro-crate", @@ -6785,7 +6766,7 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "parity-scale-codec", "scale-info", @@ -6798,7 +6779,7 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "integer-sqrt", "num-traits", @@ -6813,7 +6794,7 @@ dependencies = [ [[package]] name = "sp-authorship" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "async-trait", "parity-scale-codec", @@ -6825,7 +6806,7 @@ dependencies = [ [[package]] name = "sp-beefy" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "parity-scale-codec", "scale-info", @@ -6842,7 +6823,7 @@ dependencies = [ [[package]] name = "sp-block-builder" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "parity-scale-codec", "sp-api", @@ -6854,7 +6835,7 @@ dependencies = [ [[package]] name = "sp-blockchain" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "futures", "log", @@ -6872,7 +6853,7 @@ dependencies = [ [[package]] name = "sp-consensus" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "async-trait", "futures", @@ -6891,7 +6872,7 @@ dependencies = [ [[package]] name = "sp-consensus-aura" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "async-trait", "parity-scale-codec", @@ -6909,7 +6890,7 @@ dependencies = [ [[package]] name = "sp-consensus-babe" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "async-trait", "merlin", @@ -6932,7 +6913,7 @@ dependencies = [ [[package]] name = "sp-consensus-slots" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "parity-scale-codec", "scale-info", @@ -6946,7 +6927,7 @@ dependencies = [ [[package]] name = "sp-consensus-vrf" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "parity-scale-codec", "scale-info", @@ -6959,7 +6940,7 @@ dependencies = [ [[package]] name = "sp-core" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "array-bytes", "base58", @@ -7004,7 +6985,7 @@ dependencies = [ [[package]] name = "sp-core-hashing" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "blake2", "byteorder", @@ -7018,7 +6999,7 @@ dependencies = [ [[package]] name = "sp-core-hashing-proc-macro" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "proc-macro2", "quote", @@ -7029,7 +7010,7 @@ dependencies = [ [[package]] name = "sp-database" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "kvdb", "parking_lot 0.12.1", @@ -7038,7 +7019,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "proc-macro2", "quote", @@ -7048,7 +7029,7 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.13.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "environmental", "parity-scale-codec", @@ -7059,7 +7040,7 @@ dependencies = [ [[package]] name = "sp-finality-grandpa" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "finality-grandpa", "log", @@ -7077,7 +7058,7 @@ dependencies = [ [[package]] name = "sp-inherents" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "async-trait", "impl-trait-for-tuples", @@ -7091,7 +7072,7 @@ dependencies = [ [[package]] name = "sp-io" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "bytes", "ed25519-dalek", @@ -7118,7 +7099,7 @@ dependencies = [ [[package]] name = "sp-keyring" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "lazy_static", "sp-core", @@ -7129,7 +7110,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.13.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "async-trait", "futures", @@ -7146,7 +7127,7 @@ dependencies = [ [[package]] name = "sp-maybe-compressed-blob" version = "4.1.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "thiserror", "zstd", @@ -7155,7 +7136,7 @@ dependencies = [ [[package]] name = "sp-mmr-primitives" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "ckb-merkle-mountain-range", "log", @@ -7173,7 +7154,7 @@ dependencies = [ [[package]] name = "sp-npos-elections" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "parity-scale-codec", "scale-info", @@ -7187,7 +7168,7 @@ dependencies = [ [[package]] name = "sp-offchain" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "sp-api", "sp-core", @@ -7197,7 +7178,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "backtrace", "lazy_static", @@ -7207,7 +7188,7 @@ dependencies = [ [[package]] name = "sp-rpc" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "rustc-hash", "serde", @@ -7217,14 +7198,13 @@ dependencies = [ [[package]] name = "sp-runtime" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "either", "hash256-std-hasher", "impl-trait-for-tuples", "log", "parity-scale-codec", - "parity-util-mem", "paste", "rand 0.7.3", "scale-info", @@ -7240,7 +7220,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "bytes", "impl-trait-for-tuples", @@ -7258,7 +7238,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "Inflector", "proc-macro-crate", @@ -7267,24 +7247,10 @@ dependencies = [ "syn", ] -[[package]] -name = "sp-sandbox" -version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" -dependencies = [ - "log", - "parity-scale-codec", - "sp-core", - "sp-io", - "sp-std", - "sp-wasm-interface", - "wasmi 0.13.2", -] - [[package]] name = "sp-session" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "parity-scale-codec", "scale-info", @@ -7298,7 +7264,7 @@ dependencies = [ [[package]] name = "sp-staking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "parity-scale-codec", "scale-info", @@ -7309,7 +7275,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.13.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "hash-db", "log", @@ -7331,12 +7297,12 @@ dependencies = [ [[package]] name = "sp-std" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" [[package]] name = "sp-storage" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "impl-serde", "parity-scale-codec", @@ -7349,7 +7315,7 @@ dependencies = [ [[package]] name = "sp-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "async-trait", "futures-timer", @@ -7365,7 +7331,7 @@ dependencies = [ [[package]] name = "sp-tracing" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "parity-scale-codec", "sp-std", @@ -7377,7 +7343,7 @@ dependencies = [ [[package]] name = "sp-transaction-pool" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "sp-api", "sp-runtime", @@ -7386,7 +7352,7 @@ dependencies = [ [[package]] name = "sp-transaction-storage-proof" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "async-trait", "log", @@ -7402,7 +7368,7 @@ dependencies = [ [[package]] name = "sp-trie" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "ahash", "hash-db", @@ -7425,7 +7391,7 @@ dependencies = [ [[package]] name = "sp-version" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "impl-serde", "parity-scale-codec", @@ -7442,7 +7408,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "parity-scale-codec", "proc-macro2", @@ -7453,7 +7419,7 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "impl-trait-for-tuples", "log", @@ -7466,7 +7432,7 @@ dependencies = [ [[package]] name = "sp-weights" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -7503,9 +7469,9 @@ dependencies = [ [[package]] name = "ss58-registry" -version = "1.36.0" +version = "1.38.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23d92659e7d18d82b803824a9ba5a6022cff101c3491d027c1c1d8d30e749284" +checksum = "e40c020d72bc0a9c5660bb71e4a6fdef081493583062c474740a7d59f55f0e7b" dependencies = [ "Inflector", "num-format", @@ -7613,7 +7579,7 @@ dependencies = [ [[package]] name = "substrate-build-script-utils" version = "3.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "platforms 2.0.0", ] @@ -7621,7 +7587,7 @@ dependencies = [ [[package]] name = "substrate-frame-rpc-system" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "frame-system-rpc-runtime-api", "futures", @@ -7642,7 +7608,7 @@ dependencies = [ [[package]] name = "substrate-prometheus-endpoint" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "futures-util", "hyper", @@ -7655,7 +7621,7 @@ dependencies = [ [[package]] name = "substrate-rpc-client" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "async-trait", "jsonrpsee", @@ -7668,7 +7634,7 @@ dependencies = [ [[package]] name = "substrate-test-client" version = "2.0.1" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "array-bytes", "async-trait", @@ -7694,7 +7660,7 @@ dependencies = [ [[package]] name = "substrate-test-runtime" version = "2.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "beefy-merkle-tree", "cfg-if", @@ -7706,7 +7672,6 @@ dependencies = [ "pallet-babe", "pallet-timestamp", "parity-scale-codec", - "parity-util-mem", "sc-service", "scale-info", "serde", @@ -7738,7 +7703,7 @@ dependencies = [ [[package]] name = "substrate-test-runtime-client" version = "2.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "futures", "parity-scale-codec", @@ -7757,7 +7722,7 @@ dependencies = [ [[package]] name = "substrate-wasm-builder" version = "5.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "ansi_term", "build-helper", @@ -7829,9 +7794,9 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" [[package]] name = "target-lexicon" -version = "0.12.5" +version = "0.12.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9410d0f6853b1d94f0e519fb95df60f29d2c1eff2d921ffdf01a4c8a3b54f12d" +checksum = "8ae9980cab1db3fceee2f6c6f643d5d8de2997c58ee8d25fb0cc8a9e9e7348e5" [[package]] name = "tempfile" @@ -7849,9 +7814,9 @@ dependencies = [ [[package]] name = "termcolor" -version = "1.1.3" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755" +checksum = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6" dependencies = [ "winapi-util", ] @@ -7884,10 +7849,11 @@ dependencies = [ [[package]] name = "thread_local" -version = "1.1.4" +version = "1.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5516c27b78311c50bf42c071425c560ac799b11c30b31f87e3081965fe5e0180" +checksum = "3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152" dependencies = [ + "cfg-if", "once_cell", ] @@ -7902,12 +7868,11 @@ dependencies = [ [[package]] name = "tikv-jemalloc-sys" -version = "0.5.2+5.3.0-patched" +version = "0.5.3+5.3.0-patched" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec45c14da997d0925c7835883e4d5c181f196fa142f8c19d7643d1e9af2592c3" +checksum = "a678df20055b43e57ef8cddde41cdfda9a3c1a060b67f4c5836dfb1d78543ba8" dependencies = [ "cc", - "fs_extra", "libc", ] @@ -7971,15 +7936,15 @@ dependencies = [ [[package]] name = "tinyvec_macros" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" +checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.23.0" +version = "1.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eab6d665857cc6ca78d6e80303a02cea7a7851e85dfbd77cbdc09bd129f1ef46" +checksum = "c8e00990ebabbe4c14c08aca901caed183ecd5c09562a12c824bb53d3c3fd3af" dependencies = [ "autocfg", "bytes", @@ -8019,9 +7984,9 @@ dependencies = [ [[package]] name = "tokio-stream" -version = "0.1.11" +version = "0.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d660770404473ccd7bc9f8b28494a811bc18542b915c0855c51e8f419d5223ce" +checksum = "8fb52b74f05dbf495a8fba459fdc331812b96aa086d9eb78101fa0d4569c3313" dependencies = [ "futures-core", "pin-project-lite 0.2.9", @@ -8030,9 +7995,9 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.4" +version = "0.7.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bb2e075f03b3d66d8d8785356224ba688d2906a371015e225beeb65ca92c740" +checksum = "5427d89453009325de0d8f342c9490009f76e999cb7672d77e46267448f7e6b2" dependencies = [ "bytes", "futures-core", @@ -8045,13 +8010,48 @@ dependencies = [ [[package]] name = "toml" -version = "0.5.10" +version = "0.5.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1333c76748e868a4d9d1017b5ab53171dfd095f70c712fdb4653a406547f598f" +checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234" dependencies = [ "serde", ] +[[package]] +name = "tower" +version = "0.4.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" +dependencies = [ + "tower-layer", + "tower-service", + "tracing", +] + +[[package]] +name = "tower-http" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f873044bf02dd1e8239e9c1293ea39dad76dc594ec16185d0a1bf31d8dc8d858" +dependencies = [ + "bitflags", + "bytes", + "futures-core", + "futures-util", + "http", + "http-body", + "http-range-header", + "pin-project-lite 0.2.9", + "tower-layer", + "tower-service", +] + +[[package]] +name = "tower-layer" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0" + [[package]] name = "tower-service" version = "0.3.2" @@ -8065,6 +8065,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8" dependencies = [ "cfg-if", + "log", "pin-project-lite 0.2.9", "tracing-attributes", "tracing-core", @@ -8214,14 +8215,14 @@ dependencies = [ [[package]] name = "try-lock" -version = "0.2.3" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642" +checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed" [[package]] name = "try-runtime-cli" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "clap", "frame-remote-externalities", @@ -8281,20 +8282,11 @@ dependencies = [ "static_assertions", ] -[[package]] -name = "unicase" -version = "2.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6" -dependencies = [ - "version_check", -] - [[package]] name = "unicode-bidi" -version = "0.3.8" +version = "0.3.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "099b7128301d285f79ddd55b9a83d5e6b9e97c92e0ea0daebee7263e932de992" +checksum = "d54675592c1dbefd78cbd98db9bacd89886e1ca50692a0692baefffdeb92dd58" [[package]] name = "unicode-ident" @@ -8433,9 +8425,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.83" +version = "0.2.84" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eaf9f5aceeec8be17c128b2e93e031fb8a4d469bb9c4ae2d7dc1888b26887268" +checksum = "31f8dcbc21f30d9b8f2ea926ecb58f6b91192c17e9d33594b3df58b2007ca53b" dependencies = [ "cfg-if", "wasm-bindgen-macro", @@ -8443,9 +8435,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.83" +version = "0.2.84" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c8ffb332579b0557b52d268b91feab8df3615f265d5270fec2a8c95b17c1142" +checksum = "95ce90fd5bcc06af55a641a86428ee4229e44e07033963a2290a8e241607ccb9" dependencies = [ "bumpalo", "log", @@ -8458,9 +8450,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-futures" -version = "0.4.33" +version = "0.4.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23639446165ca5a5de86ae1d8896b737ae80319560fbaa4c2887b7da6e7ebd7d" +checksum = "f219e0d211ba40266969f6dbdd90636da12f75bee4fc9d6c23d1260dadb51454" dependencies = [ "cfg-if", "js-sys", @@ -8470,9 +8462,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.83" +version = "0.2.84" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "052be0f94026e6cbc75cdefc9bae13fd6052cdcaf532fa6c45e7ae33a1e6c810" +checksum = "4c21f77c0bedc37fd5dc21f897894a5ca01e7bb159884559461862ae90c0b4c5" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -8480,9 +8472,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.83" +version = "0.2.84" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07bc0c051dc5f23e307b13285f9d75df86bfdf816c5721e573dec1f9b8aa193c" +checksum = "2aff81306fcac3c7515ad4e177f521b5c9a15f2b08f4e32d823066102f35a5f6" dependencies = [ "proc-macro2", "quote", @@ -8493,9 +8485,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-shared" -version = "0.2.83" +version = "0.2.84" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c38c045535d93ec4f0b4defec448e4291638ee608530863b1e2ba115d4fff7f" +checksum = "0046fef7e28c3804e5e38bfa31ea2a0f73905319b677e57ebe37e49358989b5d" [[package]] name = "wasm-instrument" @@ -8695,7 +8687,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bcd849399d17d2270141cfe47fa0d91ee52d5f8ea9b98cf7ddde0d53e5f79882" dependencies = [ "anyhow", - "base64", + "base64 0.13.1", "bincode", "directories-next", "file-per-thread-logger", @@ -8823,9 +8815,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.60" +version = "0.3.61" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcda906d8be16e728fd5adc5b729afad4e444e106ab28cd1c7256e54fa61510f" +checksum = "e33b99f4b23ba3eec1a53ac264e35a755f00e966e0065077d6027c0f575b0b97" dependencies = [ "js-sys", "wasm-bindgen", @@ -8861,9 +8853,9 @@ dependencies = [ [[package]] name = "which" -version = "4.3.0" +version = "4.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c831fbbee9e129a8cf93e7747a82da9d95ba8e16621cae60ec2cdc849bacb7b" +checksum = "2441c784c52b289a054b7201fc93253e288f094e2f4be9058343127c4226a269" dependencies = [ "either", "libc", @@ -8940,19 +8932,43 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" dependencies = [ "windows_aarch64_gnullvm", - "windows_aarch64_msvc 0.42.0", - "windows_i686_gnu 0.42.0", - "windows_i686_msvc 0.42.0", - "windows_x86_64_gnu 0.42.0", + "windows_aarch64_msvc 0.42.1", + "windows_i686_gnu 0.42.1", + "windows_i686_msvc 0.42.1", + "windows_x86_64_gnu 0.42.1", + "windows_x86_64_gnullvm", + "windows_x86_64_msvc 0.42.1", +] + +[[package]] +name = "windows-sys" +version = "0.45.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" +dependencies = [ + "windows-targets", +] + +[[package]] +name = "windows-targets" +version = "0.42.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e2522491fbfcd58cc84d47aeb2958948c4b8982e9a2d8a2a35bbaed431390e7" +dependencies = [ + "windows_aarch64_gnullvm", + "windows_aarch64_msvc 0.42.1", + "windows_i686_gnu 0.42.1", + "windows_i686_msvc 0.42.1", + "windows_x86_64_gnu 0.42.1", "windows_x86_64_gnullvm", - "windows_x86_64_msvc 0.42.0", + "windows_x86_64_msvc 0.42.1", ] [[package]] name = "windows_aarch64_gnullvm" -version = "0.42.0" +version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41d2aa71f6f0cbe00ae5167d90ef3cfe66527d6f613ca78ac8024c3ccab9a19e" +checksum = "8c9864e83243fdec7fc9c5444389dcbbfd258f745e7853198f365e3c4968a608" [[package]] name = "windows_aarch64_msvc" @@ -8968,9 +8984,9 @@ checksum = "9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47" [[package]] name = "windows_aarch64_msvc" -version = "0.42.0" +version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd0f252f5a35cac83d6311b2e795981f5ee6e67eb1f9a7f64eb4500fbc4dcdb4" +checksum = "4c8b1b673ffc16c47a9ff48570a9d85e25d265735c503681332589af6253c6c7" [[package]] name = "windows_i686_gnu" @@ -8986,9 +9002,9 @@ checksum = "180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6" [[package]] name = "windows_i686_gnu" -version = "0.42.0" +version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbeae19f6716841636c28d695375df17562ca208b2b7d0dc47635a50ae6c5de7" +checksum = "de3887528ad530ba7bdbb1faa8275ec7a1155a45ffa57c37993960277145d640" [[package]] name = "windows_i686_msvc" @@ -9004,9 +9020,9 @@ checksum = "e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024" [[package]] name = "windows_i686_msvc" -version = "0.42.0" +version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84c12f65daa39dd2babe6e442988fc329d6243fdce47d7d2d155b8d874862246" +checksum = "bf4d1122317eddd6ff351aa852118a2418ad4214e6613a50e0191f7004372605" [[package]] name = "windows_x86_64_gnu" @@ -9022,15 +9038,15 @@ checksum = "4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1" [[package]] name = "windows_x86_64_gnu" -version = "0.42.0" +version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf7b1b21b5362cbc318f686150e5bcea75ecedc74dd157d874d754a2ca44b0ed" +checksum = "c1040f221285e17ebccbc2591ffdc2d44ee1f9186324dd3e84e99ac68d699c45" [[package]] name = "windows_x86_64_gnullvm" -version = "0.42.0" +version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09d525d2ba30eeb3297665bd434a54297e4170c7f1a44cad4ef58095b4cd2028" +checksum = "628bfdf232daa22b0d64fdb62b09fcc36bb01f05a3939e20ab73aaf9470d0463" [[package]] name = "windows_x86_64_msvc" @@ -9046,9 +9062,9 @@ checksum = "c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680" [[package]] name = "windows_x86_64_msvc" -version = "0.42.0" +version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f40009d85759725a34da6d89a94e63d7bdc50a862acf0dbc7c8e488f1edcb6f5" +checksum = "447660ad36a13288b1db4d4248e857b510e8c3a225c822ba4fb748c0aafecffd" [[package]] name = "winreg" @@ -9135,10 +9151,11 @@ dependencies = [ [[package]] name = "zstd-sys" -version = "2.0.4+zstd.1.5.2" +version = "2.0.7+zstd.1.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fa202f2ef00074143e219d15b62ffc317d17cc33909feac471c044087cad7b0" +checksum = "94509c3ba2fe55294d752b79842c530ccfab760192521df74a081a78d2b3c7f5" dependencies = [ "cc", "libc", + "pkg-config", ] diff --git a/aleph-client/Cargo.lock b/aleph-client/Cargo.lock index 803eb68da5..73c55a379b 100644 --- a/aleph-client/Cargo.lock +++ b/aleph-client/Cargo.lock @@ -65,7 +65,7 @@ dependencies = [ "primitives", "serde", "serde_json", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "subxt", "thiserror", "tokio", @@ -894,7 +894,7 @@ dependencies = [ [[package]] name = "frame-support" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "bitflags", "frame-metadata", @@ -909,24 +909,24 @@ dependencies = [ "serde", "smallvec", "sp-api", - "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "sp-core-hashing-proc-macro", "sp-inherents", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "sp-staking", - "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "tt-call", ] [[package]] name = "frame-support-procedural" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "Inflector", "cfg-expr", @@ -940,7 +940,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate", @@ -952,7 +952,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "proc-macro2", "quote", @@ -1824,6 +1824,16 @@ dependencies = [ "parity-util-mem", ] +[[package]] +name = "memory-db" +version = "0.31.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e0c7cba9ce19ac7ffd2053ac9f49843bbd3f4318feedfd74e85c19d5fb0ba66" +dependencies = [ + "hash-db", + "hashbrown", +] + [[package]] name = "memory_units" version = "0.4.0" @@ -1999,13 +2009,13 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "pallet-contracts-primitives" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "bitflags", "parity-scale-codec", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", ] [[package]] @@ -2195,11 +2205,11 @@ dependencies = [ "scale-info", "serde", "sp-api", - "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "sp-staking", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", ] [[package]] @@ -2856,17 +2866,17 @@ dependencies = [ [[package]] name = "sp-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "hash-db", "log", "parity-scale-codec", "sp-api-proc-macro", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "sp-version", "thiserror", ] @@ -2874,7 +2884,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "blake2", "proc-macro-crate", @@ -2900,14 +2910,14 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", ] [[package]] @@ -2929,15 +2939,15 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "integer-sqrt", "num-traits", "parity-scale-codec", "scale-info", "serde", - "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "static_assertions", ] @@ -2990,7 +3000,7 @@ dependencies = [ [[package]] name = "sp-core" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "array-bytes", "base58", @@ -3018,12 +3028,12 @@ dependencies = [ "secp256k1", "secrecy", "serde", - "sp-core-hashing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-core-hashing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "ss58-registry", "substrate-bip39", "thiserror", @@ -3050,25 +3060,25 @@ dependencies = [ [[package]] name = "sp-core-hashing" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "blake2", "byteorder", "digest 0.10.6", "sha2 0.10.6", "sha3", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "twox-hash", ] [[package]] name = "sp-core-hashing-proc-macro" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "proc-macro2", "quote", - "sp-core-hashing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-core-hashing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "syn", ] @@ -3086,7 +3096,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "proc-macro2", "quote", @@ -3108,25 +3118,25 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.13.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "environmental", "parity-scale-codec", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", ] [[package]] name = "sp-inherents" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "async-trait", "impl-trait-for-tuples", "parity-scale-codec", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "thiserror", ] @@ -3160,7 +3170,7 @@ dependencies = [ [[package]] name = "sp-io" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "bytes", "ed25519-dalek", @@ -3171,15 +3181,15 @@ dependencies = [ "parity-scale-codec", "parking_lot", "secp256k1", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-keystore 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-wasm-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-keystore 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-wasm-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "tracing", "tracing-core", ] @@ -3204,7 +3214,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.13.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "async-trait", "futures", @@ -3212,8 +3222,8 @@ dependencies = [ "parity-scale-codec", "parking_lot", "schnorrkel", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "thiserror", ] @@ -3231,7 +3241,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "backtrace", "lazy_static", @@ -3265,24 +3275,23 @@ dependencies = [ [[package]] name = "sp-runtime" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "either", "hash256-std-hasher", "impl-trait-for-tuples", "log", "parity-scale-codec", - "parity-util-mem", "paste", "rand 0.7.3", "scale-info", "serde", - "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", ] [[package]] @@ -3307,18 +3316,18 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "bytes", "impl-trait-for-tuples", "parity-scale-codec", "primitive-types", - "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-runtime-interface-proc-macro 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-wasm-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-runtime-interface-proc-macro 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-wasm-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "static_assertions", ] @@ -3338,7 +3347,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "Inflector", "proc-macro-crate", @@ -3350,12 +3359,12 @@ dependencies = [ [[package]] name = "sp-staking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "parity-scale-codec", "scale-info", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", ] [[package]] @@ -3384,7 +3393,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.13.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "hash-db", "log", @@ -3393,11 +3402,11 @@ dependencies = [ "parking_lot", "rand 0.7.3", "smallvec", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-panic-handler 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-panic-handler 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "thiserror", "tracing", "trie-root", @@ -3412,7 +3421,7 @@ checksum = "cf3fd4c1d304be101e6ebbafd3d4be9a37b320c970ef4e8df188b16873981c93" [[package]] name = "sp-std" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" [[package]] name = "sp-storage" @@ -3431,14 +3440,14 @@ dependencies = [ [[package]] name = "sp-storage" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "impl-serde", "parity-scale-codec", "ref-cast", "serde", - "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", ] [[package]] @@ -3457,10 +3466,10 @@ dependencies = [ [[package]] name = "sp-tracing" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "parity-scale-codec", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "tracing", "tracing-core", "tracing-subscriber", @@ -3477,7 +3486,7 @@ dependencies = [ "hashbrown", "lazy_static", "lru", - "memory-db", + "memory-db 0.30.0", "nohash-hasher", "parity-scale-codec", "parking_lot", @@ -3493,20 +3502,20 @@ dependencies = [ [[package]] name = "sp-trie" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "ahash", "hash-db", "hashbrown", "lazy_static", "lru", - "memory-db", + "memory-db 0.31.0", "nohash-hasher", "parity-scale-codec", "parking_lot", "scale-info", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "thiserror", "tracing", "trie-db", @@ -3516,7 +3525,7 @@ dependencies = [ [[package]] name = "sp-version" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "impl-serde", "parity-scale-codec", @@ -3524,8 +3533,8 @@ dependencies = [ "scale-info", "serde", "sp-core-hashing-proc-macro", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "sp-version-proc-macro", "thiserror", ] @@ -3533,7 +3542,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "parity-scale-codec", "proc-macro2", @@ -3557,12 +3566,12 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "impl-trait-for-tuples", "log", "parity-scale-codec", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "wasmi", "wasmtime", ] @@ -3587,17 +3596,17 @@ dependencies = [ [[package]] name = "sp-weights" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", "scale-info", "serde", "smallvec", - "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", ] [[package]] diff --git a/aleph-client/Cargo.toml b/aleph-client/Cargo.toml index e05ee34c78..f3489166e4 100644 --- a/aleph-client/Cargo.toml +++ b/aleph-client/Cargo.toml @@ -20,9 +20,9 @@ subxt = "0.25.0" futures = "0.3.25" serde = { version = "1.0", features = ["derive"] } -frame-support = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -pallet-contracts-primitives = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +frame-support = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +pallet-contracts-primitives = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } primitives = { path = "../primitives" } [dev-dependencies] diff --git a/aleph-client/src/contract/event.rs b/aleph-client/src/contract/event.rs index 83f02a6e5b..ab650c8f35 100644 --- a/aleph-client/src/contract/event.rs +++ b/aleph-client/src/contract/event.rs @@ -159,9 +159,7 @@ fn translate_event( let matching_contract = contracts .iter() .find(|contract| contract.address() == &event.contract) - .ok_or(anyhow!( - "The event wasn't emitted by any of the provided contracts" - ))?; + .ok_or_else(|| anyhow!("The event wasn't emitted by any of the provided contracts"))?; let data = zero_prefixed(&event.data); let data = matching_contract diff --git a/aleph-client/src/utility.rs b/aleph-client/src/utility.rs index b68236fed5..435deb5cc4 100644 --- a/aleph-client/src/utility.rs +++ b/aleph-client/src/utility.rs @@ -118,7 +118,7 @@ impl BlocksApi for C { let extrinsic_events = block_body .extrinsics() .find(|tx| tx_info.tx_hash == ::Hashing::hash_of(&tx.bytes())) - .ok_or(anyhow!("Couldn't find the transaction in the block."))? + .ok_or_else(|| anyhow!("Couldn't find the transaction in the block."))? .events() .await .map_err(|e| anyhow!("Couldn't fetch events for the transaction: {e:?}"))?; diff --git a/benches/payout-stakers/Cargo.lock b/benches/payout-stakers/Cargo.lock index f66838b81f..f026df2af8 100644 --- a/benches/payout-stakers/Cargo.lock +++ b/benches/payout-stakers/Cargo.lock @@ -74,7 +74,7 @@ dependencies = [ "primitives", "serde", "serde_json", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "subxt", "thiserror", ] @@ -971,7 +971,7 @@ dependencies = [ [[package]] name = "frame-support" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "bitflags", "frame-metadata", @@ -986,24 +986,24 @@ dependencies = [ "serde", "smallvec", "sp-api", - "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "sp-core-hashing-proc-macro", "sp-inherents", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "sp-staking", - "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "tt-call", ] [[package]] name = "frame-support-procedural" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "Inflector", "cfg-expr", @@ -1017,7 +1017,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate", @@ -1029,7 +1029,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "proc-macro2", "quote", @@ -1922,6 +1922,16 @@ dependencies = [ "parity-util-mem", ] +[[package]] +name = "memory-db" +version = "0.31.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e0c7cba9ce19ac7ffd2053ac9f49843bbd3f4318feedfd74e85c19d5fb0ba66" +dependencies = [ + "hash-db", + "hashbrown", +] + [[package]] name = "memory_units" version = "0.4.0" @@ -2112,13 +2122,13 @@ checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee" [[package]] name = "pallet-contracts-primitives" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "bitflags", "parity-scale-codec", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", ] [[package]] @@ -2229,7 +2239,7 @@ dependencies = [ "parity-scale-codec", "primitives", "rand 0.8.5", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "sp-keyring", "subxt", "tokio", @@ -2328,11 +2338,11 @@ dependencies = [ "scale-info", "serde", "sp-api", - "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "sp-staking", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", ] [[package]] @@ -2997,17 +3007,17 @@ dependencies = [ [[package]] name = "sp-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "hash-db", "log", "parity-scale-codec", "sp-api-proc-macro", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "sp-version", "thiserror", ] @@ -3015,7 +3025,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "blake2", "proc-macro-crate", @@ -3041,14 +3051,14 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", ] [[package]] @@ -3070,15 +3080,15 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "integer-sqrt", "num-traits", "parity-scale-codec", "scale-info", "serde", - "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "static_assertions", ] @@ -3131,7 +3141,7 @@ dependencies = [ [[package]] name = "sp-core" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "array-bytes", "base58", @@ -3159,12 +3169,12 @@ dependencies = [ "secp256k1", "secrecy", "serde", - "sp-core-hashing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-core-hashing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "ss58-registry", "substrate-bip39", "thiserror", @@ -3191,25 +3201,25 @@ dependencies = [ [[package]] name = "sp-core-hashing" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "blake2", "byteorder", "digest 0.10.6", "sha2 0.10.6", "sha3", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "twox-hash", ] [[package]] name = "sp-core-hashing-proc-macro" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "proc-macro2", "quote", - "sp-core-hashing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-core-hashing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "syn", ] @@ -3227,7 +3237,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "proc-macro2", "quote", @@ -3249,25 +3259,25 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.13.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "environmental", "parity-scale-codec", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", ] [[package]] name = "sp-inherents" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "async-trait", "impl-trait-for-tuples", "parity-scale-codec", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "thiserror", ] @@ -3301,7 +3311,7 @@ dependencies = [ [[package]] name = "sp-io" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "bytes", "ed25519-dalek", @@ -3312,15 +3322,15 @@ dependencies = [ "parity-scale-codec", "parking_lot", "secp256k1", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-keystore 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-wasm-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-keystore 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-wasm-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "tracing", "tracing-core", ] @@ -3328,11 +3338,11 @@ dependencies = [ [[package]] name = "sp-keyring" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "lazy_static", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "strum", ] @@ -3356,7 +3366,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.13.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "async-trait", "futures", @@ -3364,8 +3374,8 @@ dependencies = [ "parity-scale-codec", "parking_lot", "schnorrkel", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "thiserror", ] @@ -3383,7 +3393,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "backtrace", "lazy_static", @@ -3417,24 +3427,23 @@ dependencies = [ [[package]] name = "sp-runtime" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "either", "hash256-std-hasher", "impl-trait-for-tuples", "log", "parity-scale-codec", - "parity-util-mem", "paste", "rand 0.7.3", "scale-info", "serde", - "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", ] [[package]] @@ -3459,18 +3468,18 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "bytes", "impl-trait-for-tuples", "parity-scale-codec", "primitive-types", - "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-runtime-interface-proc-macro 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-wasm-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-runtime-interface-proc-macro 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-wasm-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "static_assertions", ] @@ -3490,7 +3499,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "Inflector", "proc-macro-crate", @@ -3502,12 +3511,12 @@ dependencies = [ [[package]] name = "sp-staking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "parity-scale-codec", "scale-info", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", ] [[package]] @@ -3536,7 +3545,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.13.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "hash-db", "log", @@ -3545,11 +3554,11 @@ dependencies = [ "parking_lot", "rand 0.7.3", "smallvec", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-panic-handler 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-panic-handler 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "thiserror", "tracing", "trie-root", @@ -3564,7 +3573,7 @@ checksum = "cf3fd4c1d304be101e6ebbafd3d4be9a37b320c970ef4e8df188b16873981c93" [[package]] name = "sp-std" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" [[package]] name = "sp-storage" @@ -3583,14 +3592,14 @@ dependencies = [ [[package]] name = "sp-storage" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "impl-serde", "parity-scale-codec", "ref-cast", "serde", - "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", ] [[package]] @@ -3609,10 +3618,10 @@ dependencies = [ [[package]] name = "sp-tracing" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "parity-scale-codec", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "tracing", "tracing-core", "tracing-subscriber", @@ -3629,7 +3638,7 @@ dependencies = [ "hashbrown", "lazy_static", "lru", - "memory-db", + "memory-db 0.30.0", "nohash-hasher", "parity-scale-codec", "parking_lot", @@ -3645,20 +3654,20 @@ dependencies = [ [[package]] name = "sp-trie" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "ahash", "hash-db", "hashbrown", "lazy_static", "lru", - "memory-db", + "memory-db 0.31.0", "nohash-hasher", "parity-scale-codec", "parking_lot", "scale-info", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "thiserror", "tracing", "trie-db", @@ -3668,7 +3677,7 @@ dependencies = [ [[package]] name = "sp-version" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "impl-serde", "parity-scale-codec", @@ -3676,8 +3685,8 @@ dependencies = [ "scale-info", "serde", "sp-core-hashing-proc-macro", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "sp-version-proc-macro", "thiserror", ] @@ -3685,7 +3694,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "parity-scale-codec", "proc-macro2", @@ -3709,12 +3718,12 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "impl-trait-for-tuples", "log", "parity-scale-codec", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "wasmi", "wasmtime", ] @@ -3739,17 +3748,17 @@ dependencies = [ [[package]] name = "sp-weights" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", "scale-info", "serde", "smallvec", - "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", ] [[package]] diff --git a/benches/payout-stakers/Cargo.toml b/benches/payout-stakers/Cargo.toml index 4c3447cfed..6fa1b655fc 100644 --- a/benches/payout-stakers/Cargo.toml +++ b/benches/payout-stakers/Cargo.toml @@ -14,8 +14,8 @@ log = "0.4" futures = "0.3.25" rand = "0.8.5" -sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34", features = ["full_crypto"] } -sp-keyring = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35", features = ["full_crypto"] } +sp-keyring = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } subxt = "0.25.0" tokio = { version = "1.21.2", features = ["full"] } diff --git a/bin/cliain/Cargo.lock b/bin/cliain/Cargo.lock index f670da5d2d..9c95359721 100644 --- a/bin/cliain/Cargo.lock +++ b/bin/cliain/Cargo.lock @@ -65,7 +65,7 @@ dependencies = [ "primitives", "serde", "serde_json", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "subxt", "thiserror", ] @@ -418,7 +418,7 @@ dependencies = [ "primitives", "serde", "serde_json", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "subxt", "tokio", ] @@ -1059,7 +1059,7 @@ dependencies = [ [[package]] name = "frame-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "frame-support", "frame-system", @@ -1070,19 +1070,19 @@ dependencies = [ "scale-info", "serde", "sp-api", - "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", ] [[package]] name = "frame-election-provider-solution-type" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -1093,17 +1093,17 @@ dependencies = [ [[package]] name = "frame-election-provider-support" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "frame-election-provider-solution-type", "frame-support", "frame-system", "parity-scale-codec", "scale-info", - "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "sp-npos-elections", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", ] [[package]] @@ -1121,7 +1121,7 @@ dependencies = [ [[package]] name = "frame-support" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "bitflags", "frame-metadata", @@ -1136,24 +1136,24 @@ dependencies = [ "serde", "smallvec", "sp-api", - "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "sp-core-hashing-proc-macro", "sp-inherents", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "sp-staking", - "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "tt-call", ] [[package]] name = "frame-support-procedural" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "Inflector", "cfg-expr", @@ -1167,7 +1167,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate", @@ -1179,7 +1179,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "proc-macro2", "quote", @@ -1189,19 +1189,19 @@ dependencies = [ [[package]] name = "frame-system" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "frame-support", "log", "parity-scale-codec", "scale-info", "serde", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "sp-version", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", ] [[package]] @@ -2103,6 +2103,16 @@ dependencies = [ "parity-util-mem", ] +[[package]] +name = "memory-db" +version = "0.31.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e0c7cba9ce19ac7ffd2053ac9f49843bbd3f4318feedfd74e85c19d5fb0ba66" +dependencies = [ + "hash-db", + "hashbrown", +] + [[package]] name = "memory_units" version = "0.4.0" @@ -2323,7 +2333,7 @@ checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee" [[package]] name = "pallet-authorship" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "frame-support", "frame-system", @@ -2331,26 +2341,61 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-authorship", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", +] + +[[package]] +name = "pallet-bags-list" +version = "4.0.0-dev" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +dependencies = [ + "frame-benchmarking", + "frame-election-provider-support", + "frame-support", + "frame-system", + "log", + "pallet-balances", + "parity-scale-codec", + "scale-info", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", +] + +[[package]] +name = "pallet-balances" +version = "4.0.0-dev" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +dependencies = [ + "frame-benchmarking", + "frame-support", + "frame-system", + "log", + "parity-scale-codec", + "scale-info", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", ] [[package]] name = "pallet-contracts-primitives" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "bitflags", "parity-scale-codec", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", ] [[package]] name = "pallet-session" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "frame-support", "frame-system", @@ -2359,19 +2404,19 @@ dependencies = [ "pallet-timestamp", "parity-scale-codec", "scale-info", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "sp-session", "sp-staking", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", ] [[package]] name = "pallet-staking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -2379,21 +2424,22 @@ dependencies = [ "frame-system", "log", "pallet-authorship", + "pallet-bags-list", "pallet-session", "parity-scale-codec", "scale-info", "serde", - "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "sp-staking", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", ] [[package]] name = "pallet-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "frame-benchmarking", "frame-support", @@ -2402,9 +2448,9 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-inherents", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "sp-timestamp", ] @@ -2595,11 +2641,11 @@ dependencies = [ "scale-info", "serde", "sp-api", - "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "sp-staking", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", ] [[package]] @@ -3302,17 +3348,17 @@ dependencies = [ [[package]] name = "sp-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "hash-db", "log", "parity-scale-codec", "sp-api-proc-macro", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "sp-version", "thiserror", ] @@ -3320,7 +3366,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "blake2", "proc-macro-crate", @@ -3346,14 +3392,14 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", ] [[package]] @@ -3375,28 +3421,28 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "integer-sqrt", "num-traits", "parity-scale-codec", "scale-info", "serde", - "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "static_assertions", ] [[package]] name = "sp-authorship" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "async-trait", "parity-scale-codec", "sp-inherents", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", ] [[package]] @@ -3448,7 +3494,7 @@ dependencies = [ [[package]] name = "sp-core" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "array-bytes", "base58", @@ -3476,12 +3522,12 @@ dependencies = [ "secp256k1", "secrecy", "serde", - "sp-core-hashing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-core-hashing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "ss58-registry", "substrate-bip39", "thiserror", @@ -3508,25 +3554,25 @@ dependencies = [ [[package]] name = "sp-core-hashing" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "blake2", "byteorder", "digest 0.10.6", "sha2 0.10.6", "sha3", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "twox-hash", ] [[package]] name = "sp-core-hashing-proc-macro" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "proc-macro2", "quote", - "sp-core-hashing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-core-hashing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "syn", ] @@ -3544,7 +3590,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "proc-macro2", "quote", @@ -3566,25 +3612,25 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.13.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "environmental", "parity-scale-codec", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", ] [[package]] name = "sp-inherents" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "async-trait", "impl-trait-for-tuples", "parity-scale-codec", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "thiserror", ] @@ -3618,7 +3664,7 @@ dependencies = [ [[package]] name = "sp-io" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "bytes", "ed25519-dalek", @@ -3629,15 +3675,15 @@ dependencies = [ "parity-scale-codec", "parking_lot", "secp256k1", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-keystore 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-wasm-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-keystore 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-wasm-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "tracing", "tracing-core", ] @@ -3662,7 +3708,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.13.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "async-trait", "futures", @@ -3670,23 +3716,23 @@ dependencies = [ "parity-scale-codec", "parking_lot", "schnorrkel", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "thiserror", ] [[package]] name = "sp-npos-elections" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", ] [[package]] @@ -3703,7 +3749,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "backtrace", "lazy_static", @@ -3737,24 +3783,23 @@ dependencies = [ [[package]] name = "sp-runtime" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "either", "hash256-std-hasher", "impl-trait-for-tuples", "log", "parity-scale-codec", - "parity-util-mem", "paste", "rand 0.7.3", "scale-info", "serde", - "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", ] [[package]] @@ -3779,18 +3824,18 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "bytes", "impl-trait-for-tuples", "parity-scale-codec", "primitive-types", - "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-runtime-interface-proc-macro 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-wasm-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-runtime-interface-proc-macro 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-wasm-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "static_assertions", ] @@ -3810,7 +3855,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "Inflector", "proc-macro-crate", @@ -3822,26 +3867,26 @@ dependencies = [ [[package]] name = "sp-session" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "parity-scale-codec", "scale-info", "sp-api", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "sp-staking", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", ] [[package]] name = "sp-staking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "parity-scale-codec", "scale-info", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", ] [[package]] @@ -3870,7 +3915,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.13.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "hash-db", "log", @@ -3879,11 +3924,11 @@ dependencies = [ "parking_lot", "rand 0.7.3", "smallvec", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-panic-handler 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-panic-handler 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "thiserror", "tracing", "trie-root", @@ -3898,7 +3943,7 @@ checksum = "cf3fd4c1d304be101e6ebbafd3d4be9a37b320c970ef4e8df188b16873981c93" [[package]] name = "sp-std" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" [[package]] name = "sp-storage" @@ -3917,20 +3962,20 @@ dependencies = [ [[package]] name = "sp-storage" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "impl-serde 0.4.0", "parity-scale-codec", "ref-cast", "serde", - "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", ] [[package]] name = "sp-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "async-trait", "futures-timer", @@ -3938,8 +3983,8 @@ dependencies = [ "parity-scale-codec", "sp-api", "sp-inherents", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "thiserror", ] @@ -3959,10 +4004,10 @@ dependencies = [ [[package]] name = "sp-tracing" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "parity-scale-codec", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "tracing", "tracing-core", "tracing-subscriber", @@ -3979,7 +4024,7 @@ dependencies = [ "hashbrown", "lazy_static", "lru", - "memory-db", + "memory-db 0.30.0", "nohash-hasher", "parity-scale-codec", "parking_lot", @@ -3995,20 +4040,20 @@ dependencies = [ [[package]] name = "sp-trie" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "ahash", "hash-db", "hashbrown", "lazy_static", "lru", - "memory-db", + "memory-db 0.31.0", "nohash-hasher", "parity-scale-codec", "parking_lot", "scale-info", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "thiserror", "tracing", "trie-db", @@ -4018,7 +4063,7 @@ dependencies = [ [[package]] name = "sp-version" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "impl-serde 0.4.0", "parity-scale-codec", @@ -4026,8 +4071,8 @@ dependencies = [ "scale-info", "serde", "sp-core-hashing-proc-macro", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "sp-version-proc-macro", "thiserror", ] @@ -4035,7 +4080,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "parity-scale-codec", "proc-macro2", @@ -4059,12 +4104,12 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "impl-trait-for-tuples", "log", "parity-scale-codec", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "wasmi", "wasmtime", ] @@ -4089,17 +4134,17 @@ dependencies = [ [[package]] name = "sp-weights" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", "scale-info", "serde", "smallvec", - "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", ] [[package]] diff --git a/bin/cliain/Cargo.toml b/bin/cliain/Cargo.toml index 9389910606..c8817bcbe8 100644 --- a/bin/cliain/Cargo.toml +++ b/bin/cliain/Cargo.toml @@ -16,11 +16,11 @@ env_logger = "0.8" hex = "0.4.3" ink_metadata = { version = "4.0.0-beta", features = ["derive"] } log = "0.4" -pallet-staking = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +pallet-staking = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } primitives = { path = "../../primitives" } serde = { version = "1.0.137", features = ["derive"] } serde_json = "1.0.81" -sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34", features = ["full_crypto"] } +sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35", features = ["full_crypto"] } tokio = { version = "1.21.2", features = ["full"] } subxt = "0.25.0" diff --git a/bin/node/Cargo.toml b/bin/node/Cargo.toml index 6dc69e92c6..e32a0ae2dd 100644 --- a/bin/node/Cargo.toml +++ b/bin/node/Cargo.toml @@ -26,50 +26,50 @@ hex-literal = "0.3" libp2p = "0.49.0" thiserror = "1.0" -sp-application-crypto = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -sc-block-builder = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -sc-chain-spec = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34"} -sc-cli = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -sc-executor = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -sc-service = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -sc-telemetry = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -sc-keystore = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -sp-keystore = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -sp-inherents = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -sc-basic-authorship = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -sc-network = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -sc-transaction-pool = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -sp-transaction-pool = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -sc-transaction-pool-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -sc-consensus-aura = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -sp-consensus-aura = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -sp-consensus = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -sc-consensus = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -sc-client-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -sp-timestamp = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -pallet-staking = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -try-runtime-cli = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34", optional = true } -sc-consensus-slots = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -sp-arithmetic = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +sp-application-crypto = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +sc-block-builder = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +sc-chain-spec = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35"} +sc-cli = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +sc-executor = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +sc-service = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +sc-telemetry = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +sc-keystore = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +sp-keystore = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +sp-inherents = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +sc-basic-authorship = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +sc-network = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +sc-transaction-pool = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +sp-transaction-pool = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +sc-transaction-pool-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +sc-consensus-aura = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +sp-consensus-aura = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +sp-consensus = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +sc-consensus = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +sc-client-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +sp-timestamp = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +pallet-staking = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +try-runtime-cli = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35", optional = true } +sc-consensus-slots = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +sp-arithmetic = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } aleph-runtime = { path = "../runtime" } finality-aleph = { path = "../../finality-aleph" } aleph-primitives = { package = "primitives", path = "../../primitives" } # These dependencies are used for the node's RPCs -jsonrpsee = { version = "0.15.1", features = ["server"] } -sc-rpc = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -sp-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -sc-rpc-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -sp-blockchain = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -sp-block-builder = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -substrate-frame-rpc-system = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -pallet-transaction-payment-rpc = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +jsonrpsee = { version = "0.16.2", features = ["server"] } +sc-rpc = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +sp-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +sc-rpc-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +sp-blockchain = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +sp-block-builder = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +substrate-frame-rpc-system = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +pallet-transaction-payment-rpc = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } [build-dependencies] -substrate-build-script-utils = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +substrate-build-script-utils = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } [features] default = [] diff --git a/bin/node/src/main.rs b/bin/node/src/main.rs index ac331bc132..03ec6b8e9b 100644 --- a/bin/node/src/main.rs +++ b/bin/node/src/main.rs @@ -4,20 +4,24 @@ use aleph_node::{new_authority, new_full, new_partial, Cli, Subcommand}; #[cfg(feature = "try-runtime")] use aleph_runtime::Block; use log::warn; -use sc_cli::{clap::Parser, CliConfiguration, PruningParams, SubstrateCli}; +use sc_cli::{clap::Parser, CliConfiguration, DatabasePruningMode, PruningParams, SubstrateCli}; use sc_network::config::Role; use sc_service::{Configuration, PartialComponents}; -const STATE_PRUNING: &str = "archive"; -const BLOCKS_PRUNING: &str = "archive-canonical"; +fn default_state_pruning() -> DatabasePruningMode { + DatabasePruningMode::Archive +} + +fn default_blocks_pruning() -> DatabasePruningMode { + DatabasePruningMode::ArchiveCanonical +} + const HEAP_PAGES: u64 = 4096; fn pruning_changed(params: &PruningParams) -> bool { - let state_pruning_changed = - params.state_pruning != Some(STATE_PRUNING.into()) && params.state_pruning.is_some(); + let state_pruning_changed = params.state_pruning != default_state_pruning(); - let blocks_pruning_changed = - params.blocks_pruning != Some(BLOCKS_PRUNING.into()) && params.blocks_pruning.is_some(); + let blocks_pruning_changed = params.blocks_pruning != default_blocks_pruning(); state_pruning_changed || blocks_pruning_changed } @@ -32,8 +36,8 @@ fn main() -> sc_cli::Result<()> { let mut cli = Cli::parse(); let overwritten_pruning = pruning_changed(&cli.run.import_params.pruning_params); if !cli.aleph.experimental_pruning() { - cli.run.import_params.pruning_params.state_pruning = Some(STATE_PRUNING.into()); - cli.run.import_params.pruning_params.blocks_pruning = Some(BLOCKS_PRUNING.into()); + cli.run.import_params.pruning_params.state_pruning = default_state_pruning(); + cli.run.import_params.pruning_params.blocks_pruning = default_blocks_pruning(); } match &cli.subcommand { @@ -151,16 +155,13 @@ fn main() -> sc_cli::Result<()> { mod tests { use sc_service::{BlocksPruning, PruningMode}; - use super::{PruningParams, BLOCKS_PRUNING, STATE_PRUNING}; + use super::{default_blocks_pruning, default_state_pruning, PruningParams}; #[test] fn pruning_sanity_check() { - let state_pruning = Some(String::from(STATE_PRUNING)); - let blocks_pruning = Some(String::from(BLOCKS_PRUNING)); - let pruning_params = PruningParams { - state_pruning, - blocks_pruning, + state_pruning: default_state_pruning(), + blocks_pruning: default_blocks_pruning(), }; assert_eq!( diff --git a/bin/runtime/Cargo.toml b/bin/runtime/Cargo.toml index 5446572b19..8d1dd8e9a1 100644 --- a/bin/runtime/Cargo.toml +++ b/bin/runtime/Cargo.toml @@ -15,54 +15,54 @@ codec = { package = "parity-scale-codec", version = "3.0", default-features = fa scale-info = { version = "2.0", default-features = false, features = ["derive"] } serde = { version = "1.0", optional = true, features = ["derive"] } -frame-executive = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -frame-support = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -frame-system = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -frame-system-rpc-runtime-api = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -frame-try-runtime = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34", optional = true } +frame-executive = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +frame-support = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +frame-system = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +frame-system-rpc-runtime-api = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +frame-try-runtime = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35", optional = true } -pallet-aura = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -pallet-authorship = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -pallet-balances = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -pallet-contracts = { git = "https://github.com/Cardinal-Cryptography/substrate", default-features = false, branch = "aleph-v0.9.34" } -pallet-contracts-primitives = { git = "https://github.com/Cardinal-Cryptography/substrate", default-features = false, branch = "aleph-v0.9.34" } -pallet-identity = { git = "https://github.com/Cardinal-Cryptography/substrate", default-features = false, branch = "aleph-v0.9.34" } -pallet-randomness-collective-flip = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -pallet-session = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -pallet-scheduler = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -pallet-staking = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -pallet-sudo = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -pallet-timestamp = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -pallet-transaction-payment = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -pallet-transaction-payment-rpc-runtime-api = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -pallet-treasury = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -pallet-vesting = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -pallet-multisig = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -pallet-utility = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -pallet-nomination-pools = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -pallet-nomination-pools-runtime-api = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +pallet-aura = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +pallet-authorship = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +pallet-balances = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +pallet-contracts = { git = "https://github.com/Cardinal-Cryptography/substrate", default-features = false, branch = "aleph-v0.9.35" } +pallet-contracts-primitives = { git = "https://github.com/Cardinal-Cryptography/substrate", default-features = false, branch = "aleph-v0.9.35" } +pallet-identity = { git = "https://github.com/Cardinal-Cryptography/substrate", default-features = false, branch = "aleph-v0.9.35" } +pallet-randomness-collective-flip = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +pallet-session = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +pallet-scheduler = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +pallet-staking = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +pallet-sudo = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +pallet-timestamp = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +pallet-transaction-payment = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +pallet-transaction-payment-rpc-runtime-api = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +pallet-treasury = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +pallet-vesting = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +pallet-multisig = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +pallet-utility = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +pallet-nomination-pools = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +pallet-nomination-pools-runtime-api = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -sp-api = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -sp-block-builder = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -sp-consensus-aura = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -sp-core = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -sp-inherents = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -sp-offchain = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -sp-runtime = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -sp-session = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -sp-staking = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -sp-std = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -sp-transaction-pool = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -sp-version = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +sp-api = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +sp-block-builder = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +sp-consensus-aura = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +sp-core = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +sp-inherents = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +sp-offchain = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +sp-runtime = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +sp-session = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +sp-staking = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +sp-std = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +sp-transaction-pool = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +sp-version = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } # NOTE: these two disabled features collide with std in wasm -sp-io = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +sp-io = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } primitives = { path = "../../primitives", default-features = false } pallet-aleph = { path = "../../pallets/aleph", default-features = false } pallet-elections = { path = "../../pallets/elections", default-features = false } [build-dependencies] -substrate-wasm-builder = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +substrate-wasm-builder = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } [features] default = ["std"] @@ -88,7 +88,6 @@ std = [ "pallet-vesting/std", "pallet-multisig/std", "pallet-utility/std", - "pallet-scheduler/std", "serde", "sp-api/std", "sp-block-builder/std", diff --git a/bin/runtime/src/lib.rs b/bin/runtime/src/lib.rs index 753b807773..8949983059 100644 --- a/bin/runtime/src/lib.rs +++ b/bin/runtime/src/lib.rs @@ -13,7 +13,9 @@ pub use frame_support::{ OnUnbalanced, Randomness, ValidatorSet, }, weights::{ - constants::{BlockExecutionWeight, ExtrinsicBaseWeight, RocksDbWeight, WEIGHT_PER_SECOND}, + constants::{ + BlockExecutionWeight, ExtrinsicBaseWeight, RocksDbWeight, WEIGHT_REF_TIME_PER_SECOND, + }, IdentityFee, Weight, }, StorageValue, @@ -23,7 +25,7 @@ use frame_support::{ traits::{ ConstBool, ConstU32, EqualPrivilegeOnly, SortedMembers, U128CurrencyToVote, WithdrawReasons, }, - weights::constants::WEIGHT_PER_MILLIS, + weights::constants::WEIGHT_REF_TIME_PER_MILLIS, PalletId, }; use frame_system::{EnsureRoot, EnsureSignedBy}; @@ -133,7 +135,8 @@ pub const PICO_AZERO: Balance = NANO_AZERO / 1000; pub const NORMAL_DISPATCH_RATIO: Perbill = Perbill::from_percent(75); // The whole process for a single block should take 1s, of which 400ms is for creation, // 200ms for propagation and 400ms for validation. Hence the block weight should be within 400ms. -pub const MAX_BLOCK_WEIGHT: Weight = WEIGHT_PER_MILLIS.saturating_mul(400); +pub const MAX_BLOCK_WEIGHT: Weight = + Weight::from_ref_time(WEIGHT_REF_TIME_PER_MILLIS.saturating_mul(400)); // The storage deposit is roughly 1 TOKEN per 1kB pub const DEPOSIT_PER_BYTE: Balance = MILLI_AZERO; @@ -475,7 +478,7 @@ impl pallet_staking::WeightInfo for PayoutStakersDecreasedWeightInfo { (reap_stash(s: u32), SubstrateStakingWeights, Weight), (new_era(v: u32, n: u32), SubstrateStakingWeights, Weight), ( - get_npos_voters(v: u32, n: u32, s: u32), + get_npos_voters(v: u32, n: u32), SubstrateStakingWeights, Weight ), diff --git a/e2e-tests/Cargo.lock b/e2e-tests/Cargo.lock index 0d3fcf81d0..681dd972ab 100644 --- a/e2e-tests/Cargo.lock +++ b/e2e-tests/Cargo.lock @@ -79,8 +79,8 @@ dependencies = [ "rand 0.8.5", "rayon", "serde_json", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "synthetic-link", "tokio", ] @@ -103,7 +103,7 @@ dependencies = [ "primitives", "serde", "serde_json", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "subxt", "thiserror", ] @@ -1098,7 +1098,7 @@ dependencies = [ [[package]] name = "frame-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "frame-support", "frame-system", @@ -1109,19 +1109,19 @@ dependencies = [ "scale-info", "serde", "sp-api", - "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", ] [[package]] name = "frame-election-provider-solution-type" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -1132,17 +1132,17 @@ dependencies = [ [[package]] name = "frame-election-provider-support" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "frame-election-provider-solution-type", "frame-support", "frame-system", "parity-scale-codec", "scale-info", - "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "sp-npos-elections", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", ] [[package]] @@ -1160,7 +1160,7 @@ dependencies = [ [[package]] name = "frame-support" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "bitflags", "frame-metadata", @@ -1175,24 +1175,24 @@ dependencies = [ "serde", "smallvec", "sp-api", - "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "sp-core-hashing-proc-macro", "sp-inherents", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "sp-staking", - "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "tt-call", ] [[package]] name = "frame-support-procedural" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "Inflector", "cfg-expr", @@ -1206,7 +1206,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate", @@ -1218,7 +1218,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "proc-macro2", "quote", @@ -1228,19 +1228,19 @@ dependencies = [ [[package]] name = "frame-system" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "frame-support", "log", "parity-scale-codec", "scale-info", "serde", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "sp-version", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", ] [[package]] @@ -2204,6 +2204,16 @@ dependencies = [ "parity-util-mem", ] +[[package]] +name = "memory-db" +version = "0.31.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e0c7cba9ce19ac7ffd2053ac9f49843bbd3f4318feedfd74e85c19d5fb0ba66" +dependencies = [ + "hash-db", + "hashbrown", +] + [[package]] name = "memory_units" version = "0.4.0" @@ -2496,7 +2506,7 @@ checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee" [[package]] name = "pallet-authorship" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "frame-support", "frame-system", @@ -2504,14 +2514,34 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-authorship", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", +] + +[[package]] +name = "pallet-bags-list" +version = "4.0.0-dev" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +dependencies = [ + "frame-benchmarking", + "frame-election-provider-support", + "frame-support", + "frame-system", + "log", + "pallet-balances", + "parity-scale-codec", + "scale-info", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", ] [[package]] name = "pallet-balances" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "frame-benchmarking", "frame-support", @@ -2519,20 +2549,20 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", ] [[package]] name = "pallet-contracts-primitives" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "bitflags", "parity-scale-codec", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", ] [[package]] @@ -2550,17 +2580,17 @@ dependencies = [ "parity-scale-codec", "primitives", "scale-info", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "sp-staking", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", ] [[package]] name = "pallet-session" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "frame-support", "frame-system", @@ -2569,19 +2599,19 @@ dependencies = [ "pallet-timestamp", "parity-scale-codec", "scale-info", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "sp-session", "sp-staking", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", ] [[package]] name = "pallet-staking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -2589,21 +2619,22 @@ dependencies = [ "frame-system", "log", "pallet-authorship", + "pallet-bags-list", "pallet-session", "parity-scale-codec", "scale-info", "serde", - "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "sp-staking", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", ] [[package]] name = "pallet-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "frame-benchmarking", "frame-support", @@ -2612,9 +2643,9 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-inherents", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "sp-timestamp", ] @@ -2623,7 +2654,7 @@ name = "pallets-support" version = "0.1.4" dependencies = [ "frame-support", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", ] [[package]] @@ -2819,11 +2850,11 @@ dependencies = [ "scale-info", "serde", "sp-api", - "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "sp-staking", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", ] [[package]] @@ -3630,17 +3661,17 @@ dependencies = [ [[package]] name = "sp-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "hash-db", "log", "parity-scale-codec", "sp-api-proc-macro", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "sp-version", "thiserror", ] @@ -3648,7 +3679,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "blake2", "proc-macro-crate", @@ -3674,14 +3705,14 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", ] [[package]] @@ -3703,28 +3734,28 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "integer-sqrt", "num-traits", "parity-scale-codec", "scale-info", "serde", - "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "static_assertions", ] [[package]] name = "sp-authorship" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "async-trait", "parity-scale-codec", "sp-inherents", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", ] [[package]] @@ -3776,7 +3807,7 @@ dependencies = [ [[package]] name = "sp-core" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "array-bytes", "base58", @@ -3804,12 +3835,12 @@ dependencies = [ "secp256k1", "secrecy", "serde", - "sp-core-hashing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-core-hashing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "ss58-registry", "substrate-bip39", "thiserror", @@ -3836,25 +3867,25 @@ dependencies = [ [[package]] name = "sp-core-hashing" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "blake2", "byteorder", "digest 0.10.6", "sha2 0.10.6", "sha3", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "twox-hash", ] [[package]] name = "sp-core-hashing-proc-macro" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "proc-macro2", "quote", - "sp-core-hashing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-core-hashing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "syn", ] @@ -3872,7 +3903,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "proc-macro2", "quote", @@ -3894,25 +3925,25 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.13.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "environmental", "parity-scale-codec", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", ] [[package]] name = "sp-inherents" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "async-trait", "impl-trait-for-tuples", "parity-scale-codec", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "thiserror", ] @@ -3946,7 +3977,7 @@ dependencies = [ [[package]] name = "sp-io" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "bytes", "ed25519-dalek", @@ -3957,15 +3988,15 @@ dependencies = [ "parity-scale-codec", "parking_lot", "secp256k1", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-keystore 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-wasm-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-keystore 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-wasm-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "tracing", "tracing-core", ] @@ -3990,7 +4021,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.13.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "async-trait", "futures", @@ -3998,23 +4029,23 @@ dependencies = [ "parity-scale-codec", "parking_lot", "schnorrkel", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "thiserror", ] [[package]] name = "sp-npos-elections" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", ] [[package]] @@ -4031,7 +4062,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "backtrace", "lazy_static", @@ -4065,24 +4096,23 @@ dependencies = [ [[package]] name = "sp-runtime" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "either", "hash256-std-hasher", "impl-trait-for-tuples", "log", "parity-scale-codec", - "parity-util-mem", "paste", "rand 0.7.3", "scale-info", "serde", - "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", ] [[package]] @@ -4107,18 +4137,18 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "bytes", "impl-trait-for-tuples", "parity-scale-codec", "primitive-types", - "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-runtime-interface-proc-macro 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-wasm-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-runtime-interface-proc-macro 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-wasm-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "static_assertions", ] @@ -4138,7 +4168,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "Inflector", "proc-macro-crate", @@ -4150,26 +4180,26 @@ dependencies = [ [[package]] name = "sp-session" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "parity-scale-codec", "scale-info", "sp-api", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "sp-staking", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", ] [[package]] name = "sp-staking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "parity-scale-codec", "scale-info", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", ] [[package]] @@ -4198,7 +4228,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.13.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "hash-db", "log", @@ -4207,11 +4237,11 @@ dependencies = [ "parking_lot", "rand 0.7.3", "smallvec", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-panic-handler 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-panic-handler 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "thiserror", "tracing", "trie-root", @@ -4226,7 +4256,7 @@ checksum = "cf3fd4c1d304be101e6ebbafd3d4be9a37b320c970ef4e8df188b16873981c93" [[package]] name = "sp-std" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" [[package]] name = "sp-storage" @@ -4245,20 +4275,20 @@ dependencies = [ [[package]] name = "sp-storage" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "impl-serde", "parity-scale-codec", "ref-cast", "serde", - "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", ] [[package]] name = "sp-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "async-trait", "futures-timer", @@ -4266,8 +4296,8 @@ dependencies = [ "parity-scale-codec", "sp-api", "sp-inherents", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "thiserror", ] @@ -4287,10 +4317,10 @@ dependencies = [ [[package]] name = "sp-tracing" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "parity-scale-codec", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "tracing", "tracing-core", "tracing-subscriber", @@ -4307,7 +4337,7 @@ dependencies = [ "hashbrown", "lazy_static", "lru", - "memory-db", + "memory-db 0.30.0", "nohash-hasher", "parity-scale-codec", "parking_lot", @@ -4323,20 +4353,20 @@ dependencies = [ [[package]] name = "sp-trie" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "ahash", "hash-db", "hashbrown", "lazy_static", "lru", - "memory-db", + "memory-db 0.31.0", "nohash-hasher", "parity-scale-codec", "parking_lot", "scale-info", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "thiserror", "tracing", "trie-db", @@ -4346,7 +4376,7 @@ dependencies = [ [[package]] name = "sp-version" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "impl-serde", "parity-scale-codec", @@ -4354,8 +4384,8 @@ dependencies = [ "scale-info", "serde", "sp-core-hashing-proc-macro", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "sp-version-proc-macro", "thiserror", ] @@ -4363,7 +4393,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "parity-scale-codec", "proc-macro2", @@ -4387,12 +4417,12 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "impl-trait-for-tuples", "log", "parity-scale-codec", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "wasmi", "wasmtime", ] @@ -4417,17 +4447,17 @@ dependencies = [ [[package]] name = "sp-weights" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", "scale-info", "serde", "smallvec", - "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", ] [[package]] diff --git a/e2e-tests/Cargo.toml b/e2e-tests/Cargo.toml index 1b0734063c..b88c2dd7cd 100644 --- a/e2e-tests/Cargo.toml +++ b/e2e-tests/Cargo.toml @@ -19,12 +19,12 @@ tokio = { version = "1.21.2", features = ["full"] } futures = "0.3.25" once_cell = "1.16" -sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34", default-features = false, features = ["full_crypto"] } -sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34", default-features = false } -frame-support = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34", default-features = false } -system = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34", package = "frame-system" } -pallet-staking = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34", default-features = false } -pallet-balances = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34", default-features = false } +sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35", default-features = false, features = ["full_crypto"] } +sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35", default-features = false } +frame-support = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35", default-features = false } +system = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35", package = "frame-system" } +pallet-staking = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35", default-features = false } +pallet-balances = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35", default-features = false } aleph_client = { path = "../aleph-client" } primitives = { path = "../primitives", features = ["short_session"], default-features = false } diff --git a/finality-aleph/Cargo.toml b/finality-aleph/Cargo.toml index a0c5dc12bf..d0e20431fc 100644 --- a/finality-aleph/Cargo.toml +++ b/finality-aleph/Cargo.toml @@ -35,29 +35,29 @@ serde = "1.0" tiny-bip39 = "1.0" tokio = { version = "1.17", features = [ "sync", "macros", "time", "rt-multi-thread" ] } -prometheus-endpoint = { package = "substrate-prometheus-endpoint", git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -sp-keystore = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -sc-network = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -sc-network-common = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -sc-telemetry = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -sc-service = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -sp-application-crypto = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -sp-state-machine = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -sp-trie = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -sc-utils = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -sp-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -sp-blockchain = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -sc-consensus = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -sp-consensus = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -sc-client-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -sp-io = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +prometheus-endpoint = { package = "substrate-prometheus-endpoint", git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +sp-keystore = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +sc-network = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +sc-network-common = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +sc-telemetry = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +sc-service = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +sp-application-crypto = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +sp-state-machine = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +sp-trie = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +sc-utils = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +sp-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +sp-blockchain = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +sc-consensus = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +sp-consensus = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +sc-client-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +sp-io = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } [dev-dependencies] -substrate-test-runtime-client = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -substrate-test-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -sc-block-builder = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +substrate-test-runtime-client = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +substrate-test-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +sc-block-builder = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } [features] only_legacy = [] diff --git a/finality-aleph/src/network/gossip/service.rs b/finality-aleph/src/network/gossip/service.rs index 3b73ea7c74..3b4b1d42a8 100644 --- a/finality-aleph/src/network/gossip/service.rs +++ b/finality-aleph/src/network/gossip/service.rs @@ -237,10 +237,11 @@ impl Service { .intersection(self.protocol_peers(protocol)) .into_iter() .choose(&mut thread_rng()) - .or(self - .protocol_peers(protocol) - .iter() - .choose(&mut thread_rng())) + .or_else(|| { + self.protocol_peers(protocol) + .iter() + .choose(&mut thread_rng()) + }) } fn send_to_random(&mut self, data: D, peer_ids: HashSet, protocol: Protocol) { diff --git a/flooder/Cargo.lock b/flooder/Cargo.lock index b20962e129..25de722b33 100644 --- a/flooder/Cargo.lock +++ b/flooder/Cargo.lock @@ -74,7 +74,7 @@ dependencies = [ "primitives", "serde", "serde_json", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "subxt", "thiserror", ] @@ -1021,8 +1021,8 @@ dependencies = [ "mio 0.6.23", "parity-scale-codec", "serde_json", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "subxt", "tokio", "ws", @@ -1074,7 +1074,7 @@ dependencies = [ [[package]] name = "frame-support" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "bitflags", "frame-metadata", @@ -1089,24 +1089,24 @@ dependencies = [ "serde", "smallvec", "sp-api", - "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "sp-core-hashing-proc-macro", "sp-inherents", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "sp-staking", - "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "tt-call", ] [[package]] name = "frame-support-procedural" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "Inflector", "cfg-expr", @@ -1120,7 +1120,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate", @@ -1132,7 +1132,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "proc-macro2", "quote", @@ -2080,6 +2080,16 @@ dependencies = [ "parity-util-mem", ] +[[package]] +name = "memory-db" +version = "0.31.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e0c7cba9ce19ac7ffd2053ac9f49843bbd3f4318feedfd74e85c19d5fb0ba66" +dependencies = [ + "hash-db", + "hashbrown", +] + [[package]] name = "memory_units" version = "0.4.0" @@ -2363,13 +2373,13 @@ checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee" [[package]] name = "pallet-contracts-primitives" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "bitflags", "parity-scale-codec", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", ] [[package]] @@ -2565,11 +2575,11 @@ dependencies = [ "scale-info", "serde", "sp-api", - "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "sp-staking", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", ] [[package]] @@ -3246,17 +3256,17 @@ dependencies = [ [[package]] name = "sp-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "hash-db", "log", "parity-scale-codec", "sp-api-proc-macro", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "sp-version", "thiserror", ] @@ -3264,7 +3274,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "blake2", "proc-macro-crate", @@ -3290,14 +3300,14 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", ] [[package]] @@ -3319,15 +3329,15 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "integer-sqrt", "num-traits", "parity-scale-codec", "scale-info", "serde", - "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "static_assertions", ] @@ -3380,7 +3390,7 @@ dependencies = [ [[package]] name = "sp-core" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "array-bytes", "base58", @@ -3408,12 +3418,12 @@ dependencies = [ "secp256k1", "secrecy", "serde", - "sp-core-hashing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-core-hashing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "ss58-registry", "substrate-bip39", "thiserror", @@ -3440,25 +3450,25 @@ dependencies = [ [[package]] name = "sp-core-hashing" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "blake2", "byteorder", "digest 0.10.6", "sha2 0.10.6", "sha3", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "twox-hash", ] [[package]] name = "sp-core-hashing-proc-macro" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "proc-macro2", "quote", - "sp-core-hashing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-core-hashing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "syn", ] @@ -3476,7 +3486,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "proc-macro2", "quote", @@ -3498,25 +3508,25 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.13.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "environmental", "parity-scale-codec", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", ] [[package]] name = "sp-inherents" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "async-trait", "impl-trait-for-tuples", "parity-scale-codec", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "thiserror", ] @@ -3550,7 +3560,7 @@ dependencies = [ [[package]] name = "sp-io" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "bytes 1.3.0", "ed25519-dalek", @@ -3561,15 +3571,15 @@ dependencies = [ "parity-scale-codec", "parking_lot", "secp256k1", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-keystore 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-wasm-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-keystore 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-wasm-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "tracing", "tracing-core", ] @@ -3594,7 +3604,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.13.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "async-trait", "futures", @@ -3602,8 +3612,8 @@ dependencies = [ "parity-scale-codec", "parking_lot", "schnorrkel", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "thiserror", ] @@ -3621,7 +3631,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "backtrace", "lazy_static", @@ -3655,24 +3665,23 @@ dependencies = [ [[package]] name = "sp-runtime" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "either", "hash256-std-hasher", "impl-trait-for-tuples", "log", "parity-scale-codec", - "parity-util-mem", "paste", "rand 0.7.3", "scale-info", "serde", - "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", ] [[package]] @@ -3697,18 +3706,18 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "bytes 1.3.0", "impl-trait-for-tuples", "parity-scale-codec", "primitive-types", - "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-runtime-interface-proc-macro 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-wasm-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-runtime-interface-proc-macro 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-wasm-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "static_assertions", ] @@ -3728,7 +3737,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "Inflector", "proc-macro-crate", @@ -3740,12 +3749,12 @@ dependencies = [ [[package]] name = "sp-staking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "parity-scale-codec", "scale-info", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", ] [[package]] @@ -3774,7 +3783,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.13.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "hash-db", "log", @@ -3783,11 +3792,11 @@ dependencies = [ "parking_lot", "rand 0.7.3", "smallvec", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-panic-handler 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-panic-handler 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "thiserror", "tracing", "trie-root", @@ -3802,7 +3811,7 @@ checksum = "cf3fd4c1d304be101e6ebbafd3d4be9a37b320c970ef4e8df188b16873981c93" [[package]] name = "sp-std" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" [[package]] name = "sp-storage" @@ -3821,14 +3830,14 @@ dependencies = [ [[package]] name = "sp-storage" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "impl-serde", "parity-scale-codec", "ref-cast", "serde", - "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", ] [[package]] @@ -3847,10 +3856,10 @@ dependencies = [ [[package]] name = "sp-tracing" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "parity-scale-codec", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "tracing", "tracing-core", "tracing-subscriber", @@ -3867,7 +3876,7 @@ dependencies = [ "hashbrown", "lazy_static", "lru", - "memory-db", + "memory-db 0.30.0", "nohash-hasher", "parity-scale-codec", "parking_lot", @@ -3883,20 +3892,20 @@ dependencies = [ [[package]] name = "sp-trie" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "ahash", "hash-db", "hashbrown", "lazy_static", "lru", - "memory-db", + "memory-db 0.31.0", "nohash-hasher", "parity-scale-codec", "parking_lot", "scale-info", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "thiserror", "tracing", "trie-db", @@ -3906,7 +3915,7 @@ dependencies = [ [[package]] name = "sp-version" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "impl-serde", "parity-scale-codec", @@ -3914,8 +3923,8 @@ dependencies = [ "scale-info", "serde", "sp-core-hashing-proc-macro", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "sp-version-proc-macro", "thiserror", ] @@ -3923,7 +3932,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "parity-scale-codec", "proc-macro2", @@ -3947,12 +3956,12 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "impl-trait-for-tuples", "log", "parity-scale-codec", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", "wasmi", "wasmtime", ] @@ -3977,17 +3986,17 @@ dependencies = [ [[package]] name = "sp-weights" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", "scale-info", "serde", "smallvec", - "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34)", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", ] [[package]] diff --git a/flooder/Cargo.toml b/flooder/Cargo.toml index e8229a90ec..b260a8b794 100644 --- a/flooder/Cargo.toml +++ b/flooder/Cargo.toml @@ -6,8 +6,8 @@ edition = "2021" license = "Apache 2.0" [dependencies] -sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34", features = ["full_crypto"] } -sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35", features = ["full_crypto"] } +sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } # other dependencies serde_json = { version = "1.0" } diff --git a/fork-off/Cargo.lock b/fork-off/Cargo.lock index b321673c7d..b9442114d4 100644 --- a/fork-off/Cargo.lock +++ b/fork-off/Cargo.lock @@ -962,7 +962,7 @@ dependencies = [ [[package]] name = "frame-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "frame-support", "frame-system", @@ -997,7 +997,7 @@ dependencies = [ [[package]] name = "frame-support" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "bitflags", "frame-metadata", @@ -1029,7 +1029,7 @@ dependencies = [ [[package]] name = "frame-support-procedural" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "Inflector", "cfg-expr", @@ -1043,7 +1043,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate 1.2.1", @@ -1055,7 +1055,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "proc-macro2", "quote", @@ -1065,7 +1065,7 @@ dependencies = [ [[package]] name = "frame-system" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "frame-support", "log 0.4.17", @@ -1917,13 +1917,12 @@ dependencies = [ [[package]] name = "memory-db" -version = "0.30.0" +version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34ac11bb793c28fa095b7554466f53b3a60a2cd002afdac01bcf135cbd73a269" +checksum = "5e0c7cba9ce19ac7ffd2053ac9f49843bbd3f4318feedfd74e85c19d5fb0ba66" dependencies = [ "hash-db", "hashbrown", - "parity-util-mem", ] [[package]] @@ -2231,7 +2230,7 @@ checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee" [[package]] name = "pallet-balances" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "frame-benchmarking", "frame-support", @@ -2270,32 +2269,6 @@ dependencies = [ "syn", ] -[[package]] -name = "parity-util-mem" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d32c34f4f5ca7f9196001c0aba5a1f9a5a12382c8944b8b0f90233282d1e8f8" -dependencies = [ - "cfg-if 1.0.0", - "hashbrown", - "impl-trait-for-tuples", - "parity-util-mem-derive", - "parking_lot 0.12.1", - "primitive-types", - "winapi 0.3.9", -] - -[[package]] -name = "parity-util-mem-derive" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f557c32c6d268a07c921471619c0295f5efad3a0e76d4f97a05c091a51d110b2" -dependencies = [ - "proc-macro2", - "syn", - "synstructure", -] - [[package]] name = "parity-wasm" version = "0.45.0" @@ -3260,7 +3233,7 @@ dependencies = [ [[package]] name = "sp-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "hash-db", "log 0.4.17", @@ -3278,7 +3251,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "blake2", "proc-macro-crate 1.2.1", @@ -3290,7 +3263,7 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "parity-scale-codec", "scale-info", @@ -3303,7 +3276,7 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "integer-sqrt", "num-traits", @@ -3318,7 +3291,7 @@ dependencies = [ [[package]] name = "sp-core" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "array-bytes", "base58", @@ -3363,7 +3336,7 @@ dependencies = [ [[package]] name = "sp-core-hashing" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "blake2", "byteorder", @@ -3377,7 +3350,7 @@ dependencies = [ [[package]] name = "sp-core-hashing-proc-macro" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "proc-macro2", "quote", @@ -3388,7 +3361,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "proc-macro2", "quote", @@ -3398,7 +3371,7 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.13.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "environmental", "parity-scale-codec", @@ -3409,7 +3382,7 @@ dependencies = [ [[package]] name = "sp-inherents" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "async-trait", "impl-trait-for-tuples", @@ -3423,7 +3396,7 @@ dependencies = [ [[package]] name = "sp-io" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "bytes 1.3.0", "ed25519-dalek", @@ -3450,7 +3423,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.13.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "async-trait", "futures 0.3.25", @@ -3466,7 +3439,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "backtrace", "lazy_static", @@ -3476,14 +3449,13 @@ dependencies = [ [[package]] name = "sp-runtime" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "either", "hash256-std-hasher", "impl-trait-for-tuples", "log 0.4.17", "parity-scale-codec", - "parity-util-mem", "paste", "rand 0.7.3", "scale-info", @@ -3499,7 +3471,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "bytes 1.3.0", "impl-trait-for-tuples", @@ -3517,7 +3489,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "Inflector", "proc-macro-crate 1.2.1", @@ -3529,7 +3501,7 @@ dependencies = [ [[package]] name = "sp-staking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "parity-scale-codec", "scale-info", @@ -3540,7 +3512,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.13.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "hash-db", "log 0.4.17", @@ -3562,12 +3534,12 @@ dependencies = [ [[package]] name = "sp-std" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" [[package]] name = "sp-storage" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "impl-serde", "parity-scale-codec", @@ -3580,7 +3552,7 @@ dependencies = [ [[package]] name = "sp-tracing" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "parity-scale-codec", "sp-std", @@ -3592,7 +3564,7 @@ dependencies = [ [[package]] name = "sp-trie" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "ahash", "hash-db", @@ -3615,7 +3587,7 @@ dependencies = [ [[package]] name = "sp-version" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "impl-serde", "parity-scale-codec", @@ -3632,7 +3604,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "parity-scale-codec", "proc-macro2", @@ -3643,7 +3615,7 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "impl-trait-for-tuples", "log 0.4.17", @@ -3656,7 +3628,7 @@ dependencies = [ [[package]] name = "sp-weights" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.34#50339b32edfb33ae1c80cc42b232381d87aeb415" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", diff --git a/fork-off/Cargo.toml b/fork-off/Cargo.toml index e3cfe7452b..e5ad4016c7 100644 --- a/fork-off/Cargo.toml +++ b/fork-off/Cargo.toml @@ -19,10 +19,10 @@ serde = "1" serde_json = "1" tokio = { version = "1.0", features = ["full"] } -sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -frame-support = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -frame-system = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -pallet-balances = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +frame-support = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +frame-system = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +pallet-balances = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } jsonrpc-core = "18.0" jsonrpc-core-client = { version = "18.0", features = ["ws"] } jsonrpc-derive = "18.0" diff --git a/pallets/aleph/Cargo.toml b/pallets/aleph/Cargo.toml index 1d628e8177..b32a96c49e 100644 --- a/pallets/aleph/Cargo.toml +++ b/pallets/aleph/Cargo.toml @@ -10,20 +10,20 @@ codec = { package = "parity-scale-codec", version = "3.0", default-features = fa serde = "1.0" scale-info = { version = "2.0", default-features = false, features = ["derive"] } -frame-support = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -frame-system = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -pallet-balances = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -pallet-session = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -sp-io = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -sp-std = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +frame-support = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +frame-system = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +pallet-balances = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +pallet-session = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +sp-io = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +sp-std = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } pallets-support = { path = "../support", default-features = false } primitives = { path = "../../primitives", default-features = false } [dev-dependencies] -pallet-timestamp = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -sp-runtime = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -sp-core = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +pallet-timestamp = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +sp-runtime = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +sp-core = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } [features] default = ["std"] diff --git a/pallets/elections/Cargo.toml b/pallets/elections/Cargo.toml index 96ee680fdb..e0aea1a590 100644 --- a/pallets/elections/Cargo.toml +++ b/pallets/elections/Cargo.toml @@ -8,18 +8,18 @@ license = "Apache 2.0" codec = { package = "parity-scale-codec", version = "3.0", default-features = false, features = ["derive"] } scale-info = { version = "2.0", default-features = false, features = ["derive"] } -frame-support = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -frame-system = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -frame-election-provider-support = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -pallet-authorship = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -pallet-balances = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -pallet-session = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -pallet-staking = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -sp-core = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -sp-io = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -sp-staking = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -sp-std = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -sp-runtime = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +frame-support = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +frame-system = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +frame-election-provider-support = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +pallet-authorship = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +pallet-balances = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +pallet-session = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +pallet-staking = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +sp-core = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +sp-io = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +sp-staking = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +sp-std = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +sp-runtime = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } pallets-support = { path = "../support", default-features = false } primitives = { path = "../../primitives", default-features = false } diff --git a/pallets/support/Cargo.toml b/pallets/support/Cargo.toml index bc62e1aacc..6037bafd84 100644 --- a/pallets/support/Cargo.toml +++ b/pallets/support/Cargo.toml @@ -4,8 +4,8 @@ version = "0.1.4" edition = "2021" [dependencies] -frame-support = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -sp-std = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +frame-support = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +sp-std = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } [features] default = ["std"] diff --git a/primitives/Cargo.toml b/primitives/Cargo.toml index daf24c570d..912c072c5c 100644 --- a/primitives/Cargo.toml +++ b/primitives/Cargo.toml @@ -10,12 +10,12 @@ codec = { package = "parity-scale-codec", version = "3.0", default-features = fa serde = { version = "1.0", features = ["derive"] } scale-info = { version = "2.0", default-features = false, features = ["derive"] } -sp-api = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -sp-application-crypto = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -sp-core = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -sp-runtime = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -sp-std = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } -sp-staking = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.34" } +sp-api = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +sp-application-crypto = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +sp-core = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +sp-runtime = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +sp-std = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +sp-staking = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } [features] default = ["std"] diff --git a/rust-toolchain b/rust-toolchain index c7c6217087..06f480baab 100644 --- a/rust-toolchain +++ b/rust-toolchain @@ -1 +1 @@ -nightly-2022-11-28 +nightly-2022-10-30 From e018e3ce037ca1b96a45cbef86c978804f213023 Mon Sep 17 00:00:00 2001 From: Marcin Date: Wed, 22 Feb 2023 15:35:11 +0100 Subject: [PATCH 167/212] Fixed wrong merge --- .github/workflows/unit_tests.yml | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/.github/workflows/unit_tests.yml b/.github/workflows/unit_tests.yml index 658dcea73a..d84ae3b03d 100644 --- a/.github/workflows/unit_tests.yml +++ b/.github/workflows/unit_tests.yml @@ -28,24 +28,12 @@ jobs: - name: Install Rust Toolchain uses: actions-rs/toolchain@v1 - - name: Install Protoc - uses: arduino/setup-protoc@v1 - with: - version: '3.6.1' - repo-token: ${{ secrets.GITHUB_TOKEN }} - - name: Install clippy and fmt run: rustup component add clippy rustfmt - name: Install WASM target run: rustup target add wasm32-unknown-unknown - - name: Restore cache - uses: ./.github/actions/restore-cache - with: - target-key: debug - cache-version: v2 - - name: Run Format Checks uses: actions-rs/cargo@v1 with: @@ -67,6 +55,3 @@ jobs: with: command: test args: --lib --features "try-runtime" - - - name: Cleanup cache - uses: ./.github/actions/post-cache From d17a6c774339e23a3ac4470affc033c46d850052 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Obrok?= Date: Wed, 22 Feb 2023 15:40:30 +0100 Subject: [PATCH 168/212] Check excluded packages with a matrix job This way the checks should run in parallel and not overflow available disk space. --- .github/workflows/check-excluded-packages.yml | 78 +++++++------------ 1 file changed, 29 insertions(+), 49 deletions(-) diff --git a/.github/workflows/check-excluded-packages.yml b/.github/workflows/check-excluded-packages.yml index ab01173084..d958c06e0f 100644 --- a/.github/workflows/check-excluded-packages.yml +++ b/.github/workflows/check-excluded-packages.yml @@ -20,6 +20,25 @@ jobs: runs-on: ubuntu-20.04 env: CARGO_INCREMENTAL: 0 + strategy: + matrix: + package: [ + flooder, + e2e-tests, + aleph-client, + fork-off, + benches/payout-stakers, + bin/cliain, + contracts/access_control, + contracts/button, + contracts/game_token, + contracts/marketplace, + contracts/simple_dex, + contracts/ticket_token, + contracts/wrapped_azero, + contracts/adder, + scripts/synthetic-network/synthetic-link, + ] steps: - name: Checkout source code uses: actions/checkout@v2 @@ -33,53 +52,14 @@ jobs: version: '3.6.1' repo-token: ${{ secrets.GITHUB_TOKEN }} - - name: Read excluded packages from Cargo.toml - id: read_excluded - uses: SebRollen/toml-action@v1.0.0 - with: - file: 'Cargo.toml' - field: 'workspace.exclude' - - - name: Format output - id: format_output + - name: Check excluded package run: | - packages="$(echo ${{ steps.read_excluded.outputs.value }} | sed 's/[][,]/ /g' | sed 's/\s\+/\n/g' | sed '/^$/d')" - targets="$(echo "$packages" | sed -r 's/[A-Za-z0-9_/-]+/&\/target\//g')" - - packages="${packages//$'\n'/'%0A'}" - targets="${targets//$'\n'/'%0A'}" - - echo "::set-output name=packages::$packages" - echo "::set-output name=targets::$targets" - - - name: Restore cache - uses: ./.github/actions/restore-cache - with: - target-key: excluded - cargo-key: excluded - cache-version: v2 - cargo-targets: "${{ steps.format_output.outputs.targets }}" - - - name: Check excluded packages - env: - RUSTC_WRAPPER: "" - RUSTC_WORKSPACE_WRAPPER: sccache - run: | - packages="${{ steps.format_output.outputs.packages }}" - for p in ${packages[@]} - do - echo "Checking package $p..." - pushd "$p" - rustup component add clippy rustfmt - rustup target add wasm32-unknown-unknown - cargo fmt --all --check - cargo clippy --all-features -- --no-deps -D warnings - if [ $p != "e2e-tests" ] - then - cargo test - fi - popd - done - - - name: Cleanup cache - uses: ./.github/actions/post-cache + cd ${{ matrix.package }} + rustup component add clippy rustfmt + rustup target add wasm32-unknown-unknown + cargo fmt --all --check + cargo clippy --all-features -- --no-deps -D warnings + if [ ${{ matrix.package }} != "e2e-tests" ] + then + cargo test + fi From e46691210337e3f4969cfde05ff89393ade0f46b Mon Sep 17 00:00:00 2001 From: kostekIV <27210860+kostekIV@users.noreply.github.com> Date: Wed, 22 Feb 2023 20:20:13 +0100 Subject: [PATCH 169/212] A0-1905: update substrate to 0.9.36 (#939) * change fork version to 0.9.34 * pallet contracts UnsafeUnstableInterface set to false * subxt code gen * temporarily remove fee calculation test * fix build * change fork version to aleph-0.9.34 * bump spec version to 52 * move comment up * change fork version to wip-0.9.35 * fix pruning arguments * fix weight changes * update jsonspree * fix compiler error * rm wip * lock * spec * aleph * lint * lint * cleanup * update * bump spec * set contracts-transcode version * locks * fix try-runtime --------- Co-authored-by: maciejnems --- Cargo.lock | 298 +++--- aleph-client/Cargo.lock | 779 +++++++------- aleph-client/Cargo.toml | 6 +- benches/payout-stakers/Cargo.lock | 560 +++++----- benches/payout-stakers/Cargo.toml | 4 +- bin/cliain/Cargo.lock | 973 ++++++++++-------- bin/cliain/Cargo.toml | 6 +- bin/node/Cargo.toml | 71 +- bin/node/src/main.rs | 9 +- bin/runtime/Cargo.toml | 78 +- bin/runtime/src/lib.rs | 12 +- contracts/adder/Cargo.toml | 0 e2e-tests/Cargo.lock | 812 ++++++++------- e2e-tests/Cargo.toml | 12 +- finality-aleph/Cargo.toml | 42 +- flooder/Cargo.lock | 582 ++++++----- flooder/Cargo.toml | 4 +- fork-off/Cargo.lock | 661 +++++++----- fork-off/Cargo.toml | 8 +- pallets/aleph/Cargo.toml | 18 +- pallets/elections/Cargo.toml | 24 +- pallets/support/Cargo.toml | 4 +- primitives/Cargo.toml | 12 +- .../synthetic-link/Cargo.lock | 373 ++++--- 24 files changed, 2858 insertions(+), 2490 deletions(-) mode change 100755 => 100644 contracts/adder/Cargo.toml diff --git a/Cargo.lock b/Cargo.lock index 0307f5a6df..560a4edfb2 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -280,6 +280,7 @@ dependencies = [ "sp-consensus-aura", "sp-core", "sp-inherents", + "sp-io", "sp-keystore", "sp-runtime", "sp-timestamp", @@ -590,7 +591,7 @@ dependencies = [ [[package]] name = "beefy-merkle-tree" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "sp-api", "sp-beefy", @@ -815,9 +816,9 @@ dependencies = [ [[package]] name = "camino" -version = "1.1.2" +version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c77df041dc383319cc661b428b6961a005db4d6808d5e12536931b1ca9556055" +checksum = "6031a462f977dd38968b6f23378356512feeace69cef817e1a4475108093cec3" dependencies = [ "serde", ] @@ -1920,7 +1921,7 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "fork-tree" version = "3.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "parity-scale-codec", ] @@ -1943,7 +1944,7 @@ checksum = "6c2141d6d6c8512188a7891b4b01590a45f6dac67afb4f255c4124dbb86d4eaa" [[package]] name = "frame-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "frame-support", "frame-system", @@ -1966,7 +1967,7 @@ dependencies = [ [[package]] name = "frame-election-provider-solution-type" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -1977,7 +1978,7 @@ dependencies = [ [[package]] name = "frame-election-provider-support" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "frame-election-provider-solution-type", "frame-support", @@ -1985,6 +1986,7 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-arithmetic", + "sp-core", "sp-npos-elections", "sp-runtime", "sp-std", @@ -1993,7 +1995,7 @@ dependencies = [ [[package]] name = "frame-executive" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "frame-support", "frame-system", @@ -2022,9 +2024,10 @@ dependencies = [ [[package]] name = "frame-remote-externalities" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "env_logger 0.9.3", + "futures", "log", "parity-scale-codec", "serde", @@ -2034,12 +2037,13 @@ dependencies = [ "sp-runtime", "sp-version", "substrate-rpc-client", + "tokio", ] [[package]] name = "frame-support" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "bitflags", "frame-metadata", @@ -2071,7 +2075,7 @@ dependencies = [ [[package]] name = "frame-support-procedural" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "Inflector", "cfg-expr", @@ -2085,7 +2089,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate", @@ -2097,7 +2101,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "proc-macro2", "quote", @@ -2107,7 +2111,7 @@ dependencies = [ [[package]] name = "frame-system" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "frame-support", "log", @@ -2125,7 +2129,7 @@ dependencies = [ [[package]] name = "frame-system-rpc-runtime-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "parity-scale-codec", "sp-api", @@ -2134,7 +2138,7 @@ dependencies = [ [[package]] name = "frame-try-runtime" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "frame-support", "parity-scale-codec", @@ -4105,7 +4109,7 @@ dependencies = [ [[package]] name = "pallet-aura" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "frame-support", "frame-system", @@ -4121,7 +4125,7 @@ dependencies = [ [[package]] name = "pallet-authorship" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "frame-support", "frame-system", @@ -4136,7 +4140,7 @@ dependencies = [ [[package]] name = "pallet-babe" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "frame-benchmarking", "frame-support", @@ -4157,30 +4161,10 @@ dependencies = [ "sp-std", ] -[[package]] -name = "pallet-bags-list" -version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" -dependencies = [ - "frame-benchmarking", - "frame-election-provider-support", - "frame-support", - "frame-system", - "log", - "pallet-balances", - "parity-scale-codec", - "scale-info", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", - "sp-tracing", -] - [[package]] name = "pallet-balances" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "frame-benchmarking", "frame-support", @@ -4195,7 +4179,7 @@ dependencies = [ [[package]] name = "pallet-contracts" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "bitflags", "frame-benchmarking", @@ -4223,7 +4207,7 @@ dependencies = [ [[package]] name = "pallet-contracts-primitives" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "bitflags", "parity-scale-codec", @@ -4235,7 +4219,7 @@ dependencies = [ [[package]] name = "pallet-contracts-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "proc-macro2", "quote", @@ -4267,7 +4251,7 @@ dependencies = [ [[package]] name = "pallet-identity" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "enumflags2", "frame-benchmarking", @@ -4283,7 +4267,7 @@ dependencies = [ [[package]] name = "pallet-multisig" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "frame-benchmarking", "frame-support", @@ -4299,7 +4283,7 @@ dependencies = [ [[package]] name = "pallet-nomination-pools" version = "1.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "frame-support", "frame-system", @@ -4316,7 +4300,7 @@ dependencies = [ [[package]] name = "pallet-nomination-pools-runtime-api" version = "1.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "parity-scale-codec", "sp-api", @@ -4326,7 +4310,7 @@ dependencies = [ [[package]] name = "pallet-randomness-collective-flip" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "frame-support", "frame-system", @@ -4340,7 +4324,7 @@ dependencies = [ [[package]] name = "pallet-scheduler" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "frame-support", "frame-system", @@ -4356,7 +4340,7 @@ dependencies = [ [[package]] name = "pallet-session" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "frame-support", "frame-system", @@ -4377,7 +4361,7 @@ dependencies = [ [[package]] name = "pallet-staking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -4385,7 +4369,6 @@ dependencies = [ "frame-system", "log", "pallet-authorship", - "pallet-bags-list", "pallet-session", "parity-scale-codec", "scale-info", @@ -4400,7 +4383,7 @@ dependencies = [ [[package]] name = "pallet-sudo" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "frame-support", "frame-system", @@ -4414,7 +4397,7 @@ dependencies = [ [[package]] name = "pallet-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "frame-benchmarking", "frame-support", @@ -4432,7 +4415,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "frame-support", "frame-system", @@ -4448,7 +4431,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "jsonrpsee", "pallet-transaction-payment-rpc-runtime-api", @@ -4464,7 +4447,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc-runtime-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "pallet-transaction-payment", "parity-scale-codec", @@ -4476,7 +4459,7 @@ dependencies = [ [[package]] name = "pallet-treasury" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "frame-benchmarking", "frame-support", @@ -4493,7 +4476,7 @@ dependencies = [ [[package]] name = "pallet-utility" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "frame-benchmarking", "frame-support", @@ -4509,7 +4492,7 @@ dependencies = [ [[package]] name = "pallet-vesting" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "frame-benchmarking", "frame-support", @@ -5491,7 +5474,7 @@ dependencies = [ [[package]] name = "sc-allocator" version = "4.1.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "log", "sp-core", @@ -5502,7 +5485,7 @@ dependencies = [ [[package]] name = "sc-basic-authorship" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "futures", "futures-timer", @@ -5525,7 +5508,7 @@ dependencies = [ [[package]] name = "sc-block-builder" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "parity-scale-codec", "sc-client-api", @@ -5541,7 +5524,7 @@ dependencies = [ [[package]] name = "sc-chain-spec" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "impl-trait-for-tuples", "memmap2", @@ -5558,7 +5541,7 @@ dependencies = [ [[package]] name = "sc-chain-spec-derive" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -5569,7 +5552,7 @@ dependencies = [ [[package]] name = "sc-cli" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "array-bytes", "chrono", @@ -5609,7 +5592,7 @@ dependencies = [ [[package]] name = "sc-client-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "fnv", "futures", @@ -5637,7 +5620,7 @@ dependencies = [ [[package]] name = "sc-client-db" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "hash-db", "kvdb", @@ -5662,7 +5645,7 @@ dependencies = [ [[package]] name = "sc-consensus" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "async-trait", "futures", @@ -5687,7 +5670,7 @@ dependencies = [ [[package]] name = "sc-consensus-aura" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "async-trait", "futures", @@ -5716,7 +5699,7 @@ dependencies = [ [[package]] name = "sc-consensus-slots" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "async-trait", "futures", @@ -5740,7 +5723,7 @@ dependencies = [ [[package]] name = "sc-executor" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "lru 0.8.1", "parity-scale-codec", @@ -5764,7 +5747,7 @@ dependencies = [ [[package]] name = "sc-executor-common" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "sc-allocator", "sp-maybe-compressed-blob", @@ -5777,7 +5760,7 @@ dependencies = [ [[package]] name = "sc-executor-wasmi" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "log", "sc-allocator", @@ -5790,7 +5773,7 @@ dependencies = [ [[package]] name = "sc-executor-wasmtime" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "cfg-if", "libc", @@ -5807,7 +5790,7 @@ dependencies = [ [[package]] name = "sc-informant" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "ansi_term", "futures", @@ -5823,7 +5806,7 @@ dependencies = [ [[package]] name = "sc-keystore" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "array-bytes", "async-trait", @@ -5838,7 +5821,7 @@ dependencies = [ [[package]] name = "sc-network" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "array-bytes", "async-trait", @@ -5885,7 +5868,7 @@ dependencies = [ [[package]] name = "sc-network-bitswap" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "cid", "futures", @@ -5905,7 +5888,7 @@ dependencies = [ [[package]] name = "sc-network-common" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "async-trait", "bitflags", @@ -5931,7 +5914,7 @@ dependencies = [ [[package]] name = "sc-network-light" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "array-bytes", "futures", @@ -5952,7 +5935,7 @@ dependencies = [ [[package]] name = "sc-network-sync" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "array-bytes", "async-trait", @@ -5984,7 +5967,7 @@ dependencies = [ [[package]] name = "sc-network-transactions" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "array-bytes", "futures", @@ -6003,7 +5986,7 @@ dependencies = [ [[package]] name = "sc-offchain" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "array-bytes", "bytes", @@ -6033,7 +6016,7 @@ dependencies = [ [[package]] name = "sc-peerset" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "futures", "libp2p", @@ -6046,7 +6029,7 @@ dependencies = [ [[package]] name = "sc-proposer-metrics" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "log", "substrate-prometheus-endpoint", @@ -6055,7 +6038,7 @@ dependencies = [ [[package]] name = "sc-rpc" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "futures", "hash-db", @@ -6085,7 +6068,7 @@ dependencies = [ [[package]] name = "sc-rpc-api" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "futures", "jsonrpsee", @@ -6108,7 +6091,7 @@ dependencies = [ [[package]] name = "sc-rpc-server" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "futures", "http", @@ -6124,7 +6107,7 @@ dependencies = [ [[package]] name = "sc-rpc-spec-v2" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "futures", "hex", @@ -6143,7 +6126,7 @@ dependencies = [ [[package]] name = "sc-service" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "async-trait", "directories", @@ -6213,7 +6196,7 @@ dependencies = [ [[package]] name = "sc-state-db" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "log", "parity-scale-codec", @@ -6225,7 +6208,7 @@ dependencies = [ [[package]] name = "sc-sysinfo" version = "6.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "futures", "libc", @@ -6244,7 +6227,7 @@ dependencies = [ [[package]] name = "sc-telemetry" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "chrono", "futures", @@ -6262,7 +6245,7 @@ dependencies = [ [[package]] name = "sc-tracing" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "ansi_term", "atty", @@ -6293,7 +6276,7 @@ dependencies = [ [[package]] name = "sc-tracing-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -6304,7 +6287,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "async-trait", "futures", @@ -6330,7 +6313,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "async-trait", "futures", @@ -6344,7 +6327,7 @@ dependencies = [ [[package]] name = "sc-utils" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "futures", "futures-timer", @@ -6736,7 +6719,7 @@ dependencies = [ [[package]] name = "sp-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "hash-db", "log", @@ -6754,7 +6737,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "blake2", "proc-macro-crate", @@ -6766,7 +6749,7 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "parity-scale-codec", "scale-info", @@ -6779,7 +6762,7 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "integer-sqrt", "num-traits", @@ -6794,7 +6777,7 @@ dependencies = [ [[package]] name = "sp-authorship" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "async-trait", "parity-scale-codec", @@ -6806,7 +6789,7 @@ dependencies = [ [[package]] name = "sp-beefy" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "parity-scale-codec", "scale-info", @@ -6823,7 +6806,7 @@ dependencies = [ [[package]] name = "sp-block-builder" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "parity-scale-codec", "sp-api", @@ -6835,7 +6818,7 @@ dependencies = [ [[package]] name = "sp-blockchain" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "futures", "log", @@ -6853,7 +6836,7 @@ dependencies = [ [[package]] name = "sp-consensus" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "async-trait", "futures", @@ -6872,7 +6855,7 @@ dependencies = [ [[package]] name = "sp-consensus-aura" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "async-trait", "parity-scale-codec", @@ -6890,7 +6873,7 @@ dependencies = [ [[package]] name = "sp-consensus-babe" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "async-trait", "merlin", @@ -6913,7 +6896,7 @@ dependencies = [ [[package]] name = "sp-consensus-slots" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "parity-scale-codec", "scale-info", @@ -6927,7 +6910,7 @@ dependencies = [ [[package]] name = "sp-consensus-vrf" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "parity-scale-codec", "scale-info", @@ -6940,7 +6923,7 @@ dependencies = [ [[package]] name = "sp-core" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "array-bytes", "base58", @@ -6985,7 +6968,7 @@ dependencies = [ [[package]] name = "sp-core-hashing" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "blake2", "byteorder", @@ -6999,7 +6982,7 @@ dependencies = [ [[package]] name = "sp-core-hashing-proc-macro" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "proc-macro2", "quote", @@ -7010,7 +6993,7 @@ dependencies = [ [[package]] name = "sp-database" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "kvdb", "parking_lot 0.12.1", @@ -7019,7 +7002,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "proc-macro2", "quote", @@ -7029,7 +7012,7 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.13.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "environmental", "parity-scale-codec", @@ -7040,7 +7023,7 @@ dependencies = [ [[package]] name = "sp-finality-grandpa" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "finality-grandpa", "log", @@ -7058,7 +7041,7 @@ dependencies = [ [[package]] name = "sp-inherents" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "async-trait", "impl-trait-for-tuples", @@ -7072,7 +7055,7 @@ dependencies = [ [[package]] name = "sp-io" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "bytes", "ed25519-dalek", @@ -7099,7 +7082,7 @@ dependencies = [ [[package]] name = "sp-keyring" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "lazy_static", "sp-core", @@ -7110,7 +7093,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.13.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "async-trait", "futures", @@ -7127,7 +7110,7 @@ dependencies = [ [[package]] name = "sp-maybe-compressed-blob" version = "4.1.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "thiserror", "zstd", @@ -7136,7 +7119,7 @@ dependencies = [ [[package]] name = "sp-mmr-primitives" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "ckb-merkle-mountain-range", "log", @@ -7154,7 +7137,7 @@ dependencies = [ [[package]] name = "sp-npos-elections" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "parity-scale-codec", "scale-info", @@ -7168,7 +7151,7 @@ dependencies = [ [[package]] name = "sp-offchain" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "sp-api", "sp-core", @@ -7178,7 +7161,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "backtrace", "lazy_static", @@ -7188,7 +7171,7 @@ dependencies = [ [[package]] name = "sp-rpc" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "rustc-hash", "serde", @@ -7198,7 +7181,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "either", "hash256-std-hasher", @@ -7220,7 +7203,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "bytes", "impl-trait-for-tuples", @@ -7238,7 +7221,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "Inflector", "proc-macro-crate", @@ -7250,7 +7233,7 @@ dependencies = [ [[package]] name = "sp-session" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "parity-scale-codec", "scale-info", @@ -7264,10 +7247,11 @@ dependencies = [ [[package]] name = "sp-staking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "parity-scale-codec", "scale-info", + "sp-core", "sp-runtime", "sp-std", ] @@ -7275,7 +7259,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.13.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "hash-db", "log", @@ -7297,12 +7281,12 @@ dependencies = [ [[package]] name = "sp-std" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" [[package]] name = "sp-storage" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "impl-serde", "parity-scale-codec", @@ -7315,7 +7299,7 @@ dependencies = [ [[package]] name = "sp-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "async-trait", "futures-timer", @@ -7331,7 +7315,7 @@ dependencies = [ [[package]] name = "sp-tracing" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "parity-scale-codec", "sp-std", @@ -7343,7 +7327,7 @@ dependencies = [ [[package]] name = "sp-transaction-pool" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "sp-api", "sp-runtime", @@ -7352,7 +7336,7 @@ dependencies = [ [[package]] name = "sp-transaction-storage-proof" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "async-trait", "log", @@ -7368,7 +7352,7 @@ dependencies = [ [[package]] name = "sp-trie" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "ahash", "hash-db", @@ -7391,7 +7375,7 @@ dependencies = [ [[package]] name = "sp-version" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "impl-serde", "parity-scale-codec", @@ -7408,7 +7392,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "parity-scale-codec", "proc-macro2", @@ -7419,7 +7403,7 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "impl-trait-for-tuples", "log", @@ -7432,7 +7416,7 @@ dependencies = [ [[package]] name = "sp-weights" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -7579,7 +7563,7 @@ dependencies = [ [[package]] name = "substrate-build-script-utils" version = "3.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "platforms 2.0.0", ] @@ -7587,7 +7571,7 @@ dependencies = [ [[package]] name = "substrate-frame-rpc-system" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "frame-system-rpc-runtime-api", "futures", @@ -7608,7 +7592,7 @@ dependencies = [ [[package]] name = "substrate-prometheus-endpoint" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "futures-util", "hyper", @@ -7621,7 +7605,7 @@ dependencies = [ [[package]] name = "substrate-rpc-client" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "async-trait", "jsonrpsee", @@ -7634,7 +7618,7 @@ dependencies = [ [[package]] name = "substrate-test-client" version = "2.0.1" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "array-bytes", "async-trait", @@ -7660,7 +7644,7 @@ dependencies = [ [[package]] name = "substrate-test-runtime" version = "2.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "beefy-merkle-tree", "cfg-if", @@ -7703,7 +7687,7 @@ dependencies = [ [[package]] name = "substrate-test-runtime-client" version = "2.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "futures", "parity-scale-codec", @@ -7722,7 +7706,7 @@ dependencies = [ [[package]] name = "substrate-wasm-builder" version = "5.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "ansi_term", "build-helper", @@ -8222,11 +8206,12 @@ checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed" [[package]] name = "try-runtime-cli" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "clap", "frame-remote-externalities", "frame-try-runtime", + "hex", "log", "parity-scale-codec", "sc-chain-spec", @@ -8234,10 +8219,13 @@ dependencies = [ "sc-executor", "sc-service", "serde", + "sp-api", "sp-core", + "sp-debug-derive", "sp-externalities", "sp-io", "sp-keystore", + "sp-rpc", "sp-runtime", "sp-state-machine", "sp-version", diff --git a/aleph-client/Cargo.lock b/aleph-client/Cargo.lock index 73c55a379b..7aea646f5c 100644 --- a/aleph-client/Cargo.lock +++ b/aleph-client/Cargo.lock @@ -18,7 +18,16 @@ version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b9ecd88a8c8378ca913a680cd98f0f13ac67383d35993f86c90a70e3f137816b" dependencies = [ - "gimli", + "gimli 0.26.2", +] + +[[package]] +name = "addr2line" +version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a76fd60b23679b7d19bd066031410fb7e458ccc5e958eb5c325888ce4baedc97" +dependencies = [ + "gimli 0.27.2", ] [[package]] @@ -53,7 +62,7 @@ version = "2.13.0" dependencies = [ "anyhow", "async-trait", - "contract-metadata 2.0.0-beta.1 (registry+https://github.com/rust-lang/crates.io-index)", + "contract-metadata 2.0.1", "contract-transcode", "frame-support", "futures", @@ -65,7 +74,7 @@ dependencies = [ "primitives", "serde", "serde_json", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "subxt", "thiserror", "tokio", @@ -91,9 +100,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.68" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2cb2f989d18dd141ab8ae82f64d1a8cdd37e0840f73a406896cf5e99502fab61" +checksum = "224afbd727c3d6e4b90103ece64b8d1b67fbb1973b1046c2281eed3f3803f800" [[package]] name = "array-bytes" @@ -131,9 +140,9 @@ dependencies = [ [[package]] name = "async-trait" -version = "0.1.59" +version = "0.1.64" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31e6e93155431f3931513b243d371981bb2770112b370c82745a1d19d2f99364" +checksum = "1cd7fce9ba8c3c042128ce72d8b2ddbf3a05747efb67ea0313c635e10bda47a2" dependencies = [ "proc-macro2", "quote", @@ -148,16 +157,16 @@ checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" [[package]] name = "backtrace" -version = "0.3.66" +version = "0.3.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cab84319d616cfb654d03394f38ab7e6f0919e181b1b57e1fd15e7fb4077d9a7" +checksum = "233d376d6d185f2a3093e58f283f60f880315b6c60075b01f36b3b85154564ca" dependencies = [ - "addr2line", + "addr2line 0.19.0", "cc", "cfg-if", "libc", "miniz_oxide", - "object", + "object 0.30.3", "rustc-demangle", ] @@ -179,6 +188,12 @@ version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" +[[package]] +name = "base64" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4a4ddaa51a5bc52a6948f74c06d20aaaddb71924eab79b8c97a8c556e942d6a" + [[package]] name = "base64ct" version = "1.5.3" @@ -223,9 +238,9 @@ dependencies = [ [[package]] name = "blake2" -version = "0.10.5" +version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b12e5fd123190ce1c2e559308a94c9bacad77907d4c6005d9e58fe1a0689e55e" +checksum = "46502ad458c9a52b69d4d4d32775c788b7a1b85e8bc9d482d92250fc0e3f8efe" dependencies = [ "digest 0.10.6", ] @@ -280,9 +295,9 @@ dependencies = [ [[package]] name = "bumpalo" -version = "3.11.1" +version = "3.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "572f695136211188308f16ad2ca5c851a712c464060ae6974944458eb83880ba" +checksum = "0d261e256854913907f67ed06efbc3338dfe6179796deefc1ff763fc1aee5535" [[package]] name = "byte-slice-cast" @@ -304,15 +319,15 @@ checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" [[package]] name = "bytes" -version = "1.3.0" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfb24e866b15a1af2a1b663f10c6b6b8f397a84aadb828f12e5b289ec23a3a3c" +checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be" [[package]] name = "cc" -version = "1.0.77" +version = "1.0.79" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9f73505338f7d905b19d18738976aae232eb46b8efc15554ffc56deb5d9ebe4" +checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f" [[package]] name = "cfg-expr" @@ -360,8 +375,7 @@ checksum = "cec318a675afcb6a1ea1d4340e2d377e56e47c266f28043ceccbf4412ddfdd3b" [[package]] name = "contract-metadata" version = "2.0.0-beta.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7bff7703529b16e9d8ba0d54e842b2051691772a822eb9bc130a91183ff9f6a6" +source = "git+https://github.com/paritytech/cargo-contract?rev=7ca8c365fc1e157cd52901c54949b2faf1cd8899#7ca8c365fc1e157cd52901c54949b2faf1cd8899" dependencies = [ "anyhow", "impl-serde", @@ -373,8 +387,9 @@ dependencies = [ [[package]] name = "contract-metadata" -version = "2.0.0-beta.1" -source = "git+https://github.com/paritytech/cargo-contract?rev=7ca8c365fc1e157cd52901c54949b2faf1cd8899#7ca8c365fc1e157cd52901c54949b2faf1cd8899" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f5997814dd5d45804757a616e938c28586875ac793ffc140e57e7ae9f421a066" dependencies = [ "anyhow", "impl-serde", @@ -390,7 +405,7 @@ version = "2.0.0-beta.1" source = "git+https://github.com/paritytech/cargo-contract?rev=7ca8c365fc1e157cd52901c54949b2faf1cd8899#7ca8c365fc1e157cd52901c54949b2faf1cd8899" dependencies = [ "anyhow", - "contract-metadata 2.0.0-beta.1 (git+https://github.com/paritytech/cargo-contract?rev=7ca8c365fc1e157cd52901c54949b2faf1cd8899)", + "contract-metadata 2.0.0-beta.1", "escape8259", "hex", "indexmap", @@ -536,9 +551,9 @@ dependencies = [ [[package]] name = "cxx" -version = "1.0.82" +version = "1.0.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4a41a86530d0fe7f5d9ea779916b7cadd2d4f9add748b99c2c029cbbdfaf453" +checksum = "86d3488e7665a7a483b57e25bdd90d0aeb2bc7608c8d0346acf2ad3f1caf1d62" dependencies = [ "cc", "cxxbridge-flags", @@ -548,9 +563,9 @@ dependencies = [ [[package]] name = "cxx-build" -version = "1.0.82" +version = "1.0.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06416d667ff3e3ad2df1cd8cd8afae5da26cf9cec4d0825040f88b5ca659a2f0" +checksum = "48fcaf066a053a41a81dfb14d57d99738b767febb8b735c3016e469fac5da690" dependencies = [ "cc", "codespan-reporting", @@ -563,15 +578,15 @@ dependencies = [ [[package]] name = "cxxbridge-flags" -version = "1.0.82" +version = "1.0.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "820a9a2af1669deeef27cb271f476ffd196a2c4b6731336011e0ba63e2c7cf71" +checksum = "a2ef98b8b717a829ca5603af80e1f9e2e48013ab227b68ef37872ef84ee479bf" [[package]] name = "cxxbridge-macro" -version = "1.0.82" +version = "1.0.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a08a6e2fcc370a089ad3b4aaf54db3b1b4cee38ddabce5896b33eb693275f470" +checksum = "086c685979a698443656e5cf7856c95c642295a38599f12fb1ff76fb28d19892" dependencies = [ "proc-macro2", "quote", @@ -580,9 +595,9 @@ dependencies = [ [[package]] name = "darling" -version = "0.14.2" +version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0dd3cd20dc6b5a876612a6e5accfe7f3dd883db6d07acfbf14c128f61550dfa" +checksum = "c0808e1bd8671fb44a113a14e13497557533369847788fa2ae912b6ebfce9fa8" dependencies = [ "darling_core", "darling_macro", @@ -590,9 +605,9 @@ dependencies = [ [[package]] name = "darling_core" -version = "0.14.2" +version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a784d2ccaf7c98501746bf0be29b2022ba41fd62a2e622af997a03e9f972859f" +checksum = "001d80444f28e193f30c2f293455da62dcf9a6b29918a4253152ae2b1de592cb" dependencies = [ "fnv", "ident_case", @@ -604,9 +619,9 @@ dependencies = [ [[package]] name = "darling_macro" -version = "0.14.2" +version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7618812407e9402654622dd402b0a89dff9ba93badd6540781526117b92aab7e" +checksum = "b36230598a2d5de7ec1c6f51f72d8a99a9208daff41de2084d06e3fd3ea56685" dependencies = [ "darling_core", "quote", @@ -703,9 +718,9 @@ dependencies = [ [[package]] name = "dyn-clone" -version = "1.0.9" +version = "1.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f94fa09c2aeea5b8839e414b7b841bf429fd25b9c522116ac97ee87856d88b2" +checksum = "c9b0705efd4599c15a38151f4721f7bc388306f61084d3bfd50bd07fbca5cb60" [[package]] name = "ecdsa" @@ -756,9 +771,9 @@ dependencies = [ [[package]] name = "either" -version = "1.8.0" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90e5c1c8368803113bf0c9584fc495a58b86dc8a29edbf8fe877d21d9507e797" +checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91" [[package]] name = "elliptic-curve" @@ -835,9 +850,9 @@ checksum = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7" [[package]] name = "fastrand" -version = "1.8.0" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7a407cfaa3385c4ae6b23e84623d48c2798d06e3e6a1878f7f59f17b3f86499" +checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be" dependencies = [ "instant", ] @@ -894,7 +909,7 @@ dependencies = [ [[package]] name = "frame-support" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "bitflags", "frame-metadata", @@ -909,24 +924,24 @@ dependencies = [ "serde", "smallvec", "sp-api", - "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "sp-core-hashing-proc-macro", "sp-inherents", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "sp-staking", - "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "tt-call", ] [[package]] name = "frame-support-procedural" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "Inflector", "cfg-expr", @@ -940,7 +955,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate", @@ -952,7 +967,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "proc-macro2", "quote", @@ -967,9 +982,9 @@ checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" [[package]] name = "futures" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38390104763dc37a5145a53c29c63c1290b5d316d6086ec32c293f6736051bb0" +checksum = "13e2792b0ff0340399d58445b88fd9770e3489eff258a4cbc1523418f12abf84" dependencies = [ "futures-channel", "futures-core", @@ -982,9 +997,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52ba265a92256105f45b719605a571ffe2d1f0fea3807304b522c1d778f79eed" +checksum = "2e5317663a9089767a1ec00a487df42e0ca174b61b4483213ac24448e4664df5" dependencies = [ "futures-core", "futures-sink", @@ -992,15 +1007,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04909a7a7e4633ae6c4a9ab280aeb86da1236243a77b694a49eacd659a4bd3ac" +checksum = "ec90ff4d0fe1f57d600049061dc6bb68ed03c7d2fbd697274c41805dcb3f8608" [[package]] name = "futures-executor" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7acc85df6714c176ab5edf386123fafe217be88c0840ec11f199441134a074e2" +checksum = "e8de0a35a6ab97ec8869e32a2473f4b1324459e14c29275d14b10cb1fd19b50e" dependencies = [ "futures-core", "futures-task", @@ -1010,9 +1025,9 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00f5fb52a06bdcadeb54e8d3671f8888a39697dcb0b81b23b55174030427f4eb" +checksum = "bfb8371b6fb2aeb2d280374607aeabfc99d95c72edfe51692e42d3d7f0d08531" [[package]] name = "futures-lite" @@ -1031,9 +1046,9 @@ dependencies = [ [[package]] name = "futures-macro" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bdfb8ce053d86b91919aad980c220b1fb8401a9394410e1c289ed7e66b61835d" +checksum = "95a73af87da33b5acf53acfebdc339fe592ecf5357ac7c0a7734ab9d8c876a70" dependencies = [ "proc-macro2", "quote", @@ -1042,15 +1057,15 @@ dependencies = [ [[package]] name = "futures-sink" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39c15cf1a4aa79df40f1bb462fb39676d0ad9e366c2a33b590d7c66f4f81fcf9" +checksum = "f310820bb3e8cfd46c80db4d7fb8353e15dfff853a127158425f31e0be6c8364" [[package]] name = "futures-task" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ffb393ac5d9a6eaa9d3fdf37ae2776656b706e200c8e16b1bdb227f5198e6ea" +checksum = "dcf79a1bf610b10f42aea489289c5a2c478a786509693b80cd39c44ccd936366" [[package]] name = "futures-timer" @@ -1060,9 +1075,9 @@ checksum = "e64b03909df88034c26dc1547e8970b91f98bdb65165d6a4e9110d94263dbb2c" [[package]] name = "futures-util" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "197676987abd2f9cadff84926f410af1c183608d36641465df73ae8211dc65d6" +checksum = "9c1d6de3acfef38d2be4b1f543f553131788603495be83da675e180c8d6b7bd1" dependencies = [ "futures-channel", "futures-core", @@ -1131,6 +1146,12 @@ dependencies = [ "stable_deref_trait", ] +[[package]] +name = "gimli" +version = "0.27.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad0a93d233ebf96623465aad4046a8d3aa4da22d4f4beba5388838c8a434bbb4" + [[package]] name = "group" version = "0.12.1" @@ -1187,15 +1208,15 @@ dependencies = [ [[package]] name = "heck" -version = "0.4.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9" +checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" [[package]] name = "hermit-abi" -version = "0.1.19" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" +checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7" dependencies = [ "libc", ] @@ -1248,9 +1269,9 @@ dependencies = [ [[package]] name = "http" -version = "0.2.8" +version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75f43d41e26995c17e71ee126451dd3941010b0514a81a9d11f3b341debc2399" +checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482" dependencies = [ "bytes", "fnv", @@ -1282,9 +1303,9 @@ checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421" [[package]] name = "hyper" -version = "0.14.23" +version = "0.14.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "034711faac9d2166cb1baf1a2fb0b60b1f277f8492fd72176c17f3515e1abd3c" +checksum = "5e011372fa0b68db8350aa7a248930ecc7839bf46d8485577d69f117a75f164c" dependencies = [ "bytes", "futures-channel", @@ -1306,9 +1327,9 @@ dependencies = [ [[package]] name = "hyper-rustls" -version = "0.23.1" +version = "0.23.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59df7c4e19c950e6e0e868dcc0a300b09a9b88e9ec55bd879ca819087a77355d" +checksum = "1788965e61b367cd03a62950836d5cd41560c3577d90e40e0819373194d1661c" dependencies = [ "http", "hyper", @@ -1408,33 +1429,33 @@ dependencies = [ [[package]] name = "ink_allocator" -version = "4.0.0-beta" +version = "4.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b36dadecdc7e33b0fe1c198b52d474ce73ccd93ffd8acd6ded02458b4a58a2d9" +checksum = "5323d4f43900266f2d5462cbe2a96d4182d634da0cfc1078d26c74d4117e0ce9" dependencies = [ "cfg-if", ] [[package]] name = "ink_engine" -version = "4.0.0-beta" +version = "4.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "319a74f3313698ae6d4ae5b43164a1e0efbfd45bd0f7ef689745f98f6e505998" +checksum = "de001b0907475ab10211093569d8b92726ef7a37d04b6e90c8a2864fbe14d050" dependencies = [ "blake2", "derive_more", "ink_primitives", "parity-scale-codec", - "secp256k1", + "secp256k1 0.26.0", "sha2 0.10.6", "sha3", ] [[package]] name = "ink_env" -version = "4.0.0-beta" +version = "4.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4543d0e0e5d1d97ce1ccb225599603ab15fb9d486f692176649b43a1311a8ad7" +checksum = "b0354567725e4f635a5c5694e4e4cac105e3e78cefd948ca5ab6cc92ea3d8231" dependencies = [ "arrayref", "blake2", @@ -1451,7 +1472,7 @@ dependencies = [ "paste", "rlibc", "scale-info", - "secp256k1", + "secp256k1 0.26.0", "sha2 0.10.6", "sha3", "static_assertions", @@ -1459,9 +1480,9 @@ dependencies = [ [[package]] name = "ink_metadata" -version = "4.0.0-beta" +version = "4.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "caa94adad4fca9e3a79a1c5b0edc1ea2109ef56a955a57df35b2ad32c461ac21" +checksum = "9dfb4d5448446656ebf83d800c06effeffc063967ef5986d7d1a277e3e507dae" dependencies = [ "derive_more", "impl-serde", @@ -1473,18 +1494,18 @@ dependencies = [ [[package]] name = "ink_prelude" -version = "4.0.0-beta" +version = "4.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5962125f78304bc2b3083391cbd579125c64ce17e61b019034094faf772c915a" +checksum = "c2626fb0c922f923965774cdd8cddeaaa204931d0ed19e0bf43702b033924173" dependencies = [ "cfg-if", ] [[package]] name = "ink_primitives" -version = "4.0.0-beta" +version = "4.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90f4f26208fe23e12d436917697b951252519484134a3561fe8b65a5abc97aa9" +checksum = "91066af898fe4c59b2ed0aca678238928b551dc75f5284bf1422e9f1bb6b2204" dependencies = [ "derive_more", "ink_prelude", @@ -1495,9 +1516,9 @@ dependencies = [ [[package]] name = "ink_storage_traits" -version = "4.0.0-beta" +version = "4.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "596247891eb221a0b7debce9f8cf123b9a14f23a4a10664e73ec16d9eb1e92e9" +checksum = "da15ceaef6bdbece3e8b6338df899ef94e3921d03387fa941af8df3b38803523" dependencies = [ "ink_metadata", "ink_prelude", @@ -1542,9 +1563,9 @@ dependencies = [ [[package]] name = "itoa" -version = "1.0.4" +version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4217ad341ebadf8d8e724e264f13e593e0648f5b3e94b3896a5df283be015ecc" +checksum = "fad582f4b9e86b6caa621cabeb0963332d92eea04729ab12892c2533951e6440" [[package]] name = "joinery" @@ -1554,9 +1575,9 @@ checksum = "72167d68f5fce3b8655487b8038691a3c9984ee769590f93f2a631f4ad64e4f5" [[package]] name = "js-sys" -version = "0.3.60" +version = "0.3.61" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49409df3e3bf0856b916e2ceaca09ee28e6871cf7d9ce97a692cacfdb2a25a47" +checksum = "445dde2150c55e483f3d8416706b97ec8e8237c307e5b7b4b8dd15e6af2a0730" dependencies = [ "wasm-bindgen", ] @@ -1679,9 +1700,9 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" [[package]] name = "libc" -version = "0.2.137" +version = "0.2.139" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc7fcc620a3bff7cdd7a365be3376c97191aeaccc2a603e600951e452615bf89" +checksum = "201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79" [[package]] name = "libm" @@ -1696,7 +1717,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "95b09eff1b35ed3b33b877ced3a691fc7a481919c7e29c53c906226fcf55e2a1" dependencies = [ "arrayref", - "base64", + "base64 0.13.1", "digest 0.9.0", "hmac-drbg", "libsecp256k1-core", @@ -1739,9 +1760,9 @@ dependencies = [ [[package]] name = "link-cplusplus" -version = "1.0.7" +version = "1.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9272ab7b96c9046fbc5bc56c06c117cb639fe2d509df0c421cad82d2915cf369" +checksum = "ecd207c9c713c34f95a097a5b029ac2ce6010530c7b49d7fea24d977dede04f5" dependencies = [ "cc", ] @@ -1860,23 +1881,23 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "miniz_oxide" -version = "0.5.4" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96590ba8f175222643a85693f33d26e9c8a015f599c216509b1a6894af675d34" +checksum = "b275950c28b37e794e8c55d88aeb5e139d0ce23fdbbeda68f8d7174abdf9e8fa" dependencies = [ "adler", ] [[package]] name = "mio" -version = "0.8.5" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5d732bc30207a6423068df043e3d02e0735b155ad7ce1a6f76fe2baa5b158de" +checksum = "5b9d9a46eff5b4ff64b45a9e316a6d1e0bc719ef429cbec4dc630684212bfdf9" dependencies = [ "libc", "log", "wasi 0.11.0+wasi-snapshot-preview1", - "windows-sys 0.42.0", + "windows-sys 0.45.0", ] [[package]] @@ -1887,9 +1908,9 @@ checksum = "2bf50223579dc7cdcfb3bfcacf7069ff68243f8c363f62ffa99cf000a6b9c451" [[package]] name = "nom" -version = "7.1.2" +version = "7.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5507769c4919c998e69e49c839d9dc6e693ede4cc4290d6ad8b41d4f09c548c" +checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" dependencies = [ "memchr", "minimal-lexical", @@ -1908,6 +1929,15 @@ dependencies = [ "nom", ] +[[package]] +name = "nom8" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae01545c9c7fc4486ab7debaf2aad7003ac19431791868fb2e8066df97fad2f8" +dependencies = [ + "memchr", +] + [[package]] name = "num-bigint" version = "0.4.3" @@ -1921,9 +1951,9 @@ dependencies = [ [[package]] name = "num-format" -version = "0.4.3" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54b862ff8df690cf089058c98b183676a7ed0f974cc08b426800093227cbff3b" +checksum = "a652d9771a63711fd3c3deb670acfbe5c30a4072e664d7a3bf5a9e1056ac72c3" dependencies = [ "arrayvec 0.7.2", "itoa", @@ -1962,9 +1992,9 @@ dependencies = [ [[package]] name = "num_cpus" -version = "1.14.0" +version = "1.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6058e64324c71e02bc2b150e4f3bc8286db6c83092132ffa3f6b1eab0f9def5" +checksum = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b" dependencies = [ "hermit-abi", "libc", @@ -1982,11 +2012,20 @@ dependencies = [ "memchr", ] +[[package]] +name = "object" +version = "0.30.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea86265d3d3dcb6a27fc51bd29a4bf387fae9d2986b823079d4986af253eb439" +dependencies = [ + "memchr", +] + [[package]] name = "once_cell" -version = "1.16.0" +version = "1.17.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86f0b0d4bf799edbc74508c1e8bf170ff5f41238e5f8225603ca7caaae2b7860" +checksum = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3" [[package]] name = "opaque-debug" @@ -2009,20 +2048,20 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "pallet-contracts-primitives" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "bitflags", "parity-scale-codec", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", ] [[package]] name = "parity-scale-codec" -version = "3.2.1" +version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "366e44391a8af4cfd6002ef6ba072bae071a96aafca98d7d448a34c5dca38b6a" +checksum = "637935964ff85a605d114591d4d2c13c5d1ba2806dae97cea6bf180238a749ac" dependencies = [ "arrayvec 0.7.2", "bitvec", @@ -2035,9 +2074,9 @@ dependencies = [ [[package]] name = "parity-scale-codec-derive" -version = "3.1.3" +version = "3.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9299338969a3d2f491d65f140b00ddec470858402f888af98e8642fb5e8965cd" +checksum = "86b26a931f824dd4eca30b3e43bb4f31cd5f0d3a403c5f5ff27106b805bfde7b" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -2095,22 +2134,22 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.5" +version = "0.9.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ff9f3fef3968a3ec5945535ed654cb38ff72d7495a25619e2247fb15a2ed9ba" +checksum = "9069cbb9f99e3a5083476ccb29ceb1de18b9118cafa53e90c9551235de2b9521" dependencies = [ "cfg-if", "libc", "redox_syscall", "smallvec", - "windows-sys 0.42.0", + "windows-sys 0.45.0", ] [[package]] name = "paste" -version = "1.0.9" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1de2e551fb905ac83f73f7aedf2f0cb4a0da7e35efa24a202a936269f1f18e1" +checksum = "d01a5bd0424d00070b0098dd17ebca6f961a959dead1dbcbbbc1d1cd8d3deeba" [[package]] name = "pbkdf2" @@ -2205,22 +2244,21 @@ dependencies = [ "scale-info", "serde", "sp-api", - "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "sp-staking", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", ] [[package]] name = "proc-macro-crate" -version = "1.2.1" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eda0fc3b0fb7c975631757e14d9049da17374063edb6ebbcbc54d880d4fe94e9" +checksum = "66618389e4ec1c7afe67d51a9bf34ff9236480f8d51e7489b7d5ab0303c13f34" dependencies = [ "once_cell", - "thiserror", - "toml", + "toml_edit", ] [[package]] @@ -2249,9 +2287,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.47" +version = "1.0.51" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ea3d908b0e36316caf9e9e2c4625cdde190a7e6f440d794667ed17a1855e725" +checksum = "5d727cae5b39d21da60fa540906919ad737832fe0b1c165da3a34d6548c849d6" dependencies = [ "unicode-ident", ] @@ -2267,9 +2305,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.21" +version = "1.0.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbe448f377a7d6961e30f5955f9b8d106c3f5e449d493ee1b125c1d43c2b5179" +checksum = "8856d8364d252a14d474036ea1358d63c9e6965c8e5c1885c18f73d70bff9c7b" dependencies = [ "proc-macro2", ] @@ -2372,18 +2410,18 @@ dependencies = [ [[package]] name = "ref-cast" -version = "1.0.13" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53b15debb4f9d60d767cd8ca9ef7abb2452922f3214671ff052defc7f3502c44" +checksum = "8c78fb8c9293bcd48ef6fce7b4ca950ceaf21210de6e105a883ee280c0f7b9ed" dependencies = [ "ref-cast-impl", ] [[package]] name = "ref-cast-impl" -version = "1.0.13" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abfa8511e9e94fd3de6585a3d3cd00e01ed556dc9814829280af0e8dc72a8f36" +checksum = "9f9c0c92af03644e4806106281fe2e068ac5bc0ae74a707266d06ea27bccee5f" dependencies = [ "proc-macro2", "quote", @@ -2392,9 +2430,9 @@ dependencies = [ [[package]] name = "regex" -version = "1.7.0" +version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e076559ef8e241f2ae3479e36f97bd5741c0330689e217ad51ce2c76808b868a" +checksum = "48aaa5748ba571fb95cd2c85c09f629215d3a6ece942baa100950af03a34f733" dependencies = [ "aho-corasick", "memchr", @@ -2482,9 +2520,9 @@ dependencies = [ [[package]] name = "rustls" -version = "0.20.7" +version = "0.20.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "539a2bfe908f471bfa933876bd1eb6a19cf2176d375f82ef7f99530a40e48c2c" +checksum = "fff78fc74d175294f4e83b28343315ffcfb114b156f0185e9741cb5570f50e2f" dependencies = [ "log", "ring", @@ -2506,24 +2544,24 @@ dependencies = [ [[package]] name = "rustls-pemfile" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0864aeff53f8c05aa08d86e5ef839d3dfcf07aeba2db32f12db0ef716e87bd55" +checksum = "d194b56d58803a43635bdc398cd17e383d6f71f9182b9a192c127ca42494a59b" dependencies = [ - "base64", + "base64 0.21.0", ] [[package]] name = "rustversion" -version = "1.0.9" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97477e48b4cf8603ad5f7aaf897467cf42ab4218a38ef76fb14c2d6773a6d6a8" +checksum = "5583e89e108996506031660fe09baa5011b9dd0341b89029313006d1fb508d70" [[package]] name = "ryu" -version = "1.0.11" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4501abdff3ae82a1c1b477a17252eb69cee9e66eb915c1abaa4f44d873df9f09" +checksum = "7b4b9743ed687d4b4bcedf9ff5eaa7398495ae14e61cba0a295704edbc7decde" [[package]] name = "scale-bits" @@ -2593,12 +2631,11 @@ dependencies = [ [[package]] name = "schannel" -version = "0.1.20" +version = "0.1.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88d6731146462ea25d9244b2ed5fd1d716d25c52e4d54aa4fb0f3c4e9854dbe2" +checksum = "713cfb06c7059f3588fb8044c0fad1d09e3c01d225e25b9220dbfdcf16dbb1b3" dependencies = [ - "lazy_static", - "windows-sys 0.36.1", + "windows-sys 0.42.0", ] [[package]] @@ -2627,9 +2664,9 @@ checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" [[package]] name = "scratch" -version = "1.0.2" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c8132065adcfd6e02db789d9285a0deb2f3fcb04002865ab67d5fb103533898" +checksum = "ddccb15bcce173023b3fedd9436f882a0739b8dfb45e4f6b6002bee5929f61b2" [[package]] name = "sct" @@ -2657,11 +2694,20 @@ dependencies = [ [[package]] name = "secp256k1" -version = "0.24.1" +version = "0.24.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff55dc09d460954e9ef2fa8a7ced735a964be9981fd50e870b2b3b0705e14964" +checksum = "6b1629c9c557ef9b293568b338dddfc8208c98a18c59d722a9d53f859d9c9b62" dependencies = [ - "secp256k1-sys", + "secp256k1-sys 0.6.1", +] + +[[package]] +name = "secp256k1" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4124a35fe33ae14259c490fd70fa199a32b9ce9502f2ee6bc4f81ec06fa65894" +dependencies = [ + "secp256k1-sys 0.8.0", ] [[package]] @@ -2673,6 +2719,15 @@ dependencies = [ "cc", ] +[[package]] +name = "secp256k1-sys" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "642a62736682fdd8c71da0eb273e453c8ac74e33b9fb310e22ba5b03ec7651ff" +dependencies = [ + "cc", +] + [[package]] name = "secrecy" version = "0.8.0" @@ -2684,9 +2739,9 @@ dependencies = [ [[package]] name = "security-framework" -version = "2.7.0" +version = "2.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bc1bb97804af6631813c55739f771071e0f2ed33ee20b68c86ec505d906356c" +checksum = "a332be01508d814fed64bf28f798a146d73792121129962fdf335bb3c49a4254" dependencies = [ "bitflags", "core-foundation", @@ -2697,9 +2752,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.6.1" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0160a13a177a45bfb43ce71c01580998474f556ad854dcbca936dd2841a5c556" +checksum = "31c9bb296072e961fcbd8853511dd39c2d8be2deb1e17c6860b1d30732b323b4" dependencies = [ "core-foundation-sys", "libc", @@ -2736,9 +2791,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.91" +version = "1.0.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "877c235533714907a8c2464236f5c4b2a17262ef1bd71f38f35ea592c8da6883" +checksum = "cad406b69c91885b5107daf2c29572f6c8cdb3c66826821e286c533490c0bc76" dependencies = [ "itoa", "ryu", @@ -2825,9 +2880,9 @@ dependencies = [ [[package]] name = "slab" -version = "0.4.7" +version = "0.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4614a76b2a8be0058caa9dbbaf66d988527d86d003c11a94fbd335d7661edcef" +checksum = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d" dependencies = [ "autocfg", ] @@ -2854,7 +2909,7 @@ version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "41d1c5305e39e09653383c2c7244f2f78b3bcae37cf50c64cb4789c9f5096ec2" dependencies = [ - "base64", + "base64 0.13.1", "bytes", "futures", "httparse", @@ -2866,17 +2921,17 @@ dependencies = [ [[package]] name = "sp-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "hash-db", "log", "parity-scale-codec", "sp-api-proc-macro", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "sp-version", "thiserror", ] @@ -2884,7 +2939,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "blake2", "proc-macro-crate", @@ -2910,14 +2965,14 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", ] [[package]] @@ -2939,15 +2994,15 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "integer-sqrt", "num-traits", "parity-scale-codec", "scale-info", "serde", - "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "static_assertions", ] @@ -2980,7 +3035,7 @@ dependencies = [ "regex", "scale-info", "schnorrkel", - "secp256k1", + "secp256k1 0.24.3", "secrecy", "serde", "sp-core-hashing 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3000,7 +3055,7 @@ dependencies = [ [[package]] name = "sp-core" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "array-bytes", "base58", @@ -3025,15 +3080,15 @@ dependencies = [ "regex", "scale-info", "schnorrkel", - "secp256k1", + "secp256k1 0.24.3", "secrecy", "serde", - "sp-core-hashing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-core-hashing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "ss58-registry", "substrate-bip39", "thiserror", @@ -3060,25 +3115,25 @@ dependencies = [ [[package]] name = "sp-core-hashing" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "blake2", "byteorder", "digest 0.10.6", "sha2 0.10.6", "sha3", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "twox-hash", ] [[package]] name = "sp-core-hashing-proc-macro" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "proc-macro2", "quote", - "sp-core-hashing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-core-hashing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "syn", ] @@ -3096,7 +3151,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "proc-macro2", "quote", @@ -3118,25 +3173,25 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.13.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "environmental", "parity-scale-codec", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", ] [[package]] name = "sp-inherents" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "async-trait", "impl-trait-for-tuples", "parity-scale-codec", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "thiserror", ] @@ -3153,7 +3208,7 @@ dependencies = [ "log", "parity-scale-codec", "parking_lot", - "secp256k1", + "secp256k1 0.24.3", "sp-core 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "sp-externalities 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", "sp-keystore 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3170,7 +3225,7 @@ dependencies = [ [[package]] name = "sp-io" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "bytes", "ed25519-dalek", @@ -3180,16 +3235,16 @@ dependencies = [ "log", "parity-scale-codec", "parking_lot", - "secp256k1", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-keystore 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-wasm-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "secp256k1 0.24.3", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-keystore 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-wasm-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "tracing", "tracing-core", ] @@ -3214,7 +3269,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.13.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "async-trait", "futures", @@ -3222,8 +3277,8 @@ dependencies = [ "parity-scale-codec", "parking_lot", "schnorrkel", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "thiserror", ] @@ -3241,7 +3296,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "backtrace", "lazy_static", @@ -3275,7 +3330,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "either", "hash256-std-hasher", @@ -3286,12 +3341,12 @@ dependencies = [ "rand 0.7.3", "scale-info", "serde", - "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", ] [[package]] @@ -3316,18 +3371,18 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "bytes", "impl-trait-for-tuples", "parity-scale-codec", "primitive-types", - "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-runtime-interface-proc-macro 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-wasm-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-runtime-interface-proc-macro 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-wasm-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "static_assertions", ] @@ -3347,7 +3402,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "Inflector", "proc-macro-crate", @@ -3359,12 +3414,13 @@ dependencies = [ [[package]] name = "sp-staking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "parity-scale-codec", "scale-info", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", ] [[package]] @@ -3393,7 +3449,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.13.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "hash-db", "log", @@ -3402,11 +3458,11 @@ dependencies = [ "parking_lot", "rand 0.7.3", "smallvec", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-panic-handler 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-panic-handler 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "thiserror", "tracing", "trie-root", @@ -3421,7 +3477,7 @@ checksum = "cf3fd4c1d304be101e6ebbafd3d4be9a37b320c970ef4e8df188b16873981c93" [[package]] name = "sp-std" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" [[package]] name = "sp-storage" @@ -3440,14 +3496,14 @@ dependencies = [ [[package]] name = "sp-storage" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "impl-serde", "parity-scale-codec", "ref-cast", "serde", - "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", ] [[package]] @@ -3466,10 +3522,10 @@ dependencies = [ [[package]] name = "sp-tracing" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "parity-scale-codec", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "tracing", "tracing-core", "tracing-subscriber", @@ -3502,7 +3558,7 @@ dependencies = [ [[package]] name = "sp-trie" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "ahash", "hash-db", @@ -3514,8 +3570,8 @@ dependencies = [ "parity-scale-codec", "parking_lot", "scale-info", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "thiserror", "tracing", "trie-db", @@ -3525,7 +3581,7 @@ dependencies = [ [[package]] name = "sp-version" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "impl-serde", "parity-scale-codec", @@ -3533,8 +3589,8 @@ dependencies = [ "scale-info", "serde", "sp-core-hashing-proc-macro", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "sp-version-proc-macro", "thiserror", ] @@ -3542,7 +3598,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "parity-scale-codec", "proc-macro2", @@ -3566,12 +3622,12 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "impl-trait-for-tuples", "log", "parity-scale-codec", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "wasmi", "wasmtime", ] @@ -3596,17 +3652,17 @@ dependencies = [ [[package]] name = "sp-weights" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", "scale-info", "serde", "smallvec", - "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", ] [[package]] @@ -3627,9 +3683,9 @@ dependencies = [ [[package]] name = "ss58-registry" -version = "1.35.0" +version = "1.38.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa0813c10b9dbdc842c2305f949f724c64866e4ef4d09c9151e96f6a2106773c" +checksum = "e40c020d72bc0a9c5660bb71e4a6fdef081493583062c474740a7d59f55f0e7b" dependencies = [ "Inflector", "num-format", @@ -3752,9 +3808,9 @@ dependencies = [ [[package]] name = "syn" -version = "1.0.105" +version = "1.0.107" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60b9b43d45702de4c839cb9b51d9f529c5dd26a4aff255b42b1ebc03e88ee908" +checksum = "1f4064b5b16e03ae50984a5a8ed5d4f8803e6bc1fd170a3cda91a1be4b18e3f5" dependencies = [ "proc-macro2", "quote", @@ -3787,27 +3843,27 @@ checksum = "8ae9980cab1db3fceee2f6c6f643d5d8de2997c58ee8d25fb0cc8a9e9e7348e5" [[package]] name = "termcolor" -version = "1.1.3" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755" +checksum = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6" dependencies = [ "winapi-util", ] [[package]] name = "thiserror" -version = "1.0.37" +version = "1.0.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10deb33631e3c9018b9baf9dcbbc4f737320d2b576bac10f6aefa048fa407e3e" +checksum = "6a9cd18aa97d5c45c6603caea1da6628790b37f7a34b6ca89522331c5180fed0" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.37" +version = "1.0.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "982d17546b47146b28f7c22e3d08465f6b8903d0ea13c1660d9d84a6e7adcdbb" +checksum = "1fb327af4685e4d03fa8cbcf1716380da910eeb2bb8be417e7f9fd3fb164f36f" dependencies = [ "proc-macro2", "quote", @@ -3816,10 +3872,11 @@ dependencies = [ [[package]] name = "thread_local" -version = "1.1.4" +version = "1.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5516c27b78311c50bf42c071425c560ac799b11c30b31f87e3081965fe5e0180" +checksum = "3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152" dependencies = [ + "cfg-if", "once_cell", ] @@ -3853,15 +3910,15 @@ dependencies = [ [[package]] name = "tinyvec_macros" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" +checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.22.0" +version = "1.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d76ce4a75fb488c605c54bf610f221cea8b0dafb53333c1a67e8ee199dcd2ae3" +checksum = "c8e00990ebabbe4c14c08aca901caed183ecd5c09562a12c824bb53d3c3fd3af" dependencies = [ "autocfg", "bytes", @@ -3872,7 +3929,7 @@ dependencies = [ "pin-project-lite", "socket2", "tokio-macros", - "winapi", + "windows-sys 0.42.0", ] [[package]] @@ -3899,9 +3956,9 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.4" +version = "0.7.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bb2e075f03b3d66d8d8785356224ba688d2906a371015e225beeb65ca92c740" +checksum = "5427d89453009325de0d8f342c9490009f76e999cb7672d77e46267448f7e6b2" dependencies = [ "bytes", "futures-core", @@ -3913,12 +3970,20 @@ dependencies = [ ] [[package]] -name = "toml" -version = "0.5.9" +name = "toml_datetime" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d82e1a7758622a465f8cee077614c73484dac5b836c02ff6a40d5d1010324d7" +checksum = "4553f467ac8e3d374bc9a177a26801e5d0f9b211aa1673fb137a403afd1c9cf5" + +[[package]] +name = "toml_edit" +version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56c59d8dd7d0dcbc6428bf7aa2f0e823e26e43b3c9aca15bbc9475d23e5fa12b" dependencies = [ - "serde", + "indexmap", + "nom8", + "toml_datetime", ] [[package]] @@ -4027,9 +4092,9 @@ dependencies = [ [[package]] name = "try-lock" -version = "0.2.3" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642" +checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed" [[package]] name = "tt-call" @@ -4051,9 +4116,9 @@ dependencies = [ [[package]] name = "typenum" -version = "1.15.0" +version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987" +checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba" [[package]] name = "uint" @@ -4069,15 +4134,15 @@ dependencies = [ [[package]] name = "unicode-bidi" -version = "0.3.8" +version = "0.3.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "099b7128301d285f79ddd55b9a83d5e6b9e97c92e0ea0daebee7263e932de992" +checksum = "d54675592c1dbefd78cbd98db9bacd89886e1ca50692a0692baefffdeb92dd58" [[package]] name = "unicode-ident" -version = "1.0.5" +version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ceab39d59e4c9499d4e5a8ee0e2735b891bb7308ac83dfb4e80cad195c9f6f3" +checksum = "84a22b9f218b40614adcb3f4ff08b703773ad44fa9423e4e0d346d5db86e4ebc" [[package]] name = "unicode-normalization" @@ -4160,9 +4225,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.83" +version = "0.2.84" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eaf9f5aceeec8be17c128b2e93e031fb8a4d469bb9c4ae2d7dc1888b26887268" +checksum = "31f8dcbc21f30d9b8f2ea926ecb58f6b91192c17e9d33594b3df58b2007ca53b" dependencies = [ "cfg-if", "wasm-bindgen-macro", @@ -4170,9 +4235,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.83" +version = "0.2.84" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c8ffb332579b0557b52d268b91feab8df3615f265d5270fec2a8c95b17c1142" +checksum = "95ce90fd5bcc06af55a641a86428ee4229e44e07033963a2290a8e241607ccb9" dependencies = [ "bumpalo", "log", @@ -4185,9 +4250,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.83" +version = "0.2.84" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "052be0f94026e6cbc75cdefc9bae13fd6052cdcaf532fa6c45e7ae33a1e6c810" +checksum = "4c21f77c0bedc37fd5dc21f897894a5ca01e7bb159884559461862ae90c0b4c5" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -4195,9 +4260,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.83" +version = "0.2.84" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07bc0c051dc5f23e307b13285f9d75df86bfdf816c5721e573dec1f9b8aa193c" +checksum = "2aff81306fcac3c7515ad4e177f521b5c9a15f2b08f4e32d823066102f35a5f6" dependencies = [ "proc-macro2", "quote", @@ -4208,9 +4273,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-shared" -version = "0.2.83" +version = "0.2.84" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c38c045535d93ec4f0b4defec448e4291638ee608530863b1e2ba115d4fff7f" +checksum = "0046fef7e28c3804e5e38bfa31ea2a0f73905319b677e57ebe37e49358989b5d" [[package]] name = "wasmi" @@ -4266,7 +4331,7 @@ dependencies = [ "indexmap", "libc", "log", - "object", + "object 0.29.0", "once_cell", "paste", "psm", @@ -4296,10 +4361,10 @@ checksum = "ebb881c61f4f627b5d45c54e629724974f8a8890d455bcbe634330cc27309644" dependencies = [ "anyhow", "cranelift-entity", - "gimli", + "gimli 0.26.2", "indexmap", "log", - "object", + "object 0.29.0", "serde", "target-lexicon", "thiserror", @@ -4313,14 +4378,14 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1985c628011fe26adf5e23a5301bdc79b245e0e338f14bb58b39e4e25e4d8681" dependencies = [ - "addr2line", + "addr2line 0.17.0", "anyhow", "bincode", "cfg-if", "cpp_demangle", - "gimli", + "gimli 0.26.2", "log", - "object", + "object 0.29.0", "rustc-demangle", "rustix", "serde", @@ -4378,9 +4443,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.60" +version = "0.3.61" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcda906d8be16e728fd5adc5b729afad4e444e106ab28cd1c7256e54fa61510f" +checksum = "e33b99f4b23ba3eec1a53ac264e35a755f00e966e0065077d6027c0f575b0b97" dependencies = [ "js-sys", "wasm-bindgen", @@ -4398,9 +4463,9 @@ dependencies = [ [[package]] name = "webpki-roots" -version = "0.22.5" +version = "0.22.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "368bfe657969fb01238bb756d351dcade285e0f6fcbd36dcb23359a5169975be" +checksum = "b6c71e40d7d2c34a5106301fb632274ca37242cd0c9d3e64dbece371a40a2d87" dependencies = [ "webpki", ] @@ -4456,19 +4521,43 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" dependencies = [ "windows_aarch64_gnullvm", - "windows_aarch64_msvc 0.42.0", - "windows_i686_gnu 0.42.0", - "windows_i686_msvc 0.42.0", - "windows_x86_64_gnu 0.42.0", + "windows_aarch64_msvc 0.42.1", + "windows_i686_gnu 0.42.1", + "windows_i686_msvc 0.42.1", + "windows_x86_64_gnu 0.42.1", "windows_x86_64_gnullvm", - "windows_x86_64_msvc 0.42.0", + "windows_x86_64_msvc 0.42.1", +] + +[[package]] +name = "windows-sys" +version = "0.45.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" +dependencies = [ + "windows-targets", +] + +[[package]] +name = "windows-targets" +version = "0.42.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e2522491fbfcd58cc84d47aeb2958948c4b8982e9a2d8a2a35bbaed431390e7" +dependencies = [ + "windows_aarch64_gnullvm", + "windows_aarch64_msvc 0.42.1", + "windows_i686_gnu 0.42.1", + "windows_i686_msvc 0.42.1", + "windows_x86_64_gnu 0.42.1", + "windows_x86_64_gnullvm", + "windows_x86_64_msvc 0.42.1", ] [[package]] name = "windows_aarch64_gnullvm" -version = "0.42.0" +version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41d2aa71f6f0cbe00ae5167d90ef3cfe66527d6f613ca78ac8024c3ccab9a19e" +checksum = "8c9864e83243fdec7fc9c5444389dcbbfd258f745e7853198f365e3c4968a608" [[package]] name = "windows_aarch64_msvc" @@ -4478,9 +4567,9 @@ checksum = "9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47" [[package]] name = "windows_aarch64_msvc" -version = "0.42.0" +version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd0f252f5a35cac83d6311b2e795981f5ee6e67eb1f9a7f64eb4500fbc4dcdb4" +checksum = "4c8b1b673ffc16c47a9ff48570a9d85e25d265735c503681332589af6253c6c7" [[package]] name = "windows_i686_gnu" @@ -4490,9 +4579,9 @@ checksum = "180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6" [[package]] name = "windows_i686_gnu" -version = "0.42.0" +version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbeae19f6716841636c28d695375df17562ca208b2b7d0dc47635a50ae6c5de7" +checksum = "de3887528ad530ba7bdbb1faa8275ec7a1155a45ffa57c37993960277145d640" [[package]] name = "windows_i686_msvc" @@ -4502,9 +4591,9 @@ checksum = "e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024" [[package]] name = "windows_i686_msvc" -version = "0.42.0" +version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84c12f65daa39dd2babe6e442988fc329d6243fdce47d7d2d155b8d874862246" +checksum = "bf4d1122317eddd6ff351aa852118a2418ad4214e6613a50e0191f7004372605" [[package]] name = "windows_x86_64_gnu" @@ -4514,15 +4603,15 @@ checksum = "4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1" [[package]] name = "windows_x86_64_gnu" -version = "0.42.0" +version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf7b1b21b5362cbc318f686150e5bcea75ecedc74dd157d874d754a2ca44b0ed" +checksum = "c1040f221285e17ebccbc2591ffdc2d44ee1f9186324dd3e84e99ac68d699c45" [[package]] name = "windows_x86_64_gnullvm" -version = "0.42.0" +version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09d525d2ba30eeb3297665bd434a54297e4170c7f1a44cad4ef58095b4cd2028" +checksum = "628bfdf232daa22b0d64fdb62b09fcc36bb01f05a3939e20ab73aaf9470d0463" [[package]] name = "windows_x86_64_msvc" @@ -4532,9 +4621,9 @@ checksum = "c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680" [[package]] name = "windows_x86_64_msvc" -version = "0.42.0" +version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f40009d85759725a34da6d89a94e63d7bdc50a862acf0dbc7c8e488f1edcb6f5" +checksum = "447660ad36a13288b1db4d4248e857b510e8c3a225c822ba4fb748c0aafecffd" [[package]] name = "wyz" diff --git a/aleph-client/Cargo.toml b/aleph-client/Cargo.toml index f3489166e4..53b02b3085 100644 --- a/aleph-client/Cargo.toml +++ b/aleph-client/Cargo.toml @@ -20,9 +20,9 @@ subxt = "0.25.0" futures = "0.3.25" serde = { version = "1.0", features = ["derive"] } -frame-support = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -pallet-contracts-primitives = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +frame-support = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +pallet-contracts-primitives = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } primitives = { path = "../primitives" } [dev-dependencies] diff --git a/benches/payout-stakers/Cargo.lock b/benches/payout-stakers/Cargo.lock index f026df2af8..4ff5cbf795 100644 --- a/benches/payout-stakers/Cargo.lock +++ b/benches/payout-stakers/Cargo.lock @@ -27,7 +27,7 @@ version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a76fd60b23679b7d19bd066031410fb7e458ccc5e958eb5c325888ce4baedc97" dependencies = [ - "gimli 0.27.0", + "gimli 0.27.2", ] [[package]] @@ -62,7 +62,7 @@ version = "2.13.0" dependencies = [ "anyhow", "async-trait", - "contract-metadata 2.0.0-rc", + "contract-metadata 2.0.1", "contract-transcode", "frame-support", "futures", @@ -74,7 +74,7 @@ dependencies = [ "primitives", "serde", "serde_json", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "subxt", "thiserror", ] @@ -99,9 +99,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.68" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2cb2f989d18dd141ab8ae82f64d1a8cdd37e0840f73a406896cf5e99502fab61" +checksum = "224afbd727c3d6e4b90103ece64b8d1b67fbb1973b1046c2281eed3f3803f800" [[package]] name = "array-bytes" @@ -139,9 +139,9 @@ dependencies = [ [[package]] name = "async-trait" -version = "0.1.62" +version = "0.1.64" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "689894c2db1ea643a50834b999abf1c110887402542955ff5451dab8f861f9ed" +checksum = "1cd7fce9ba8c3c042128ce72d8b2ddbf3a05747efb67ea0313c635e10bda47a2" dependencies = [ "proc-macro2", "quote", @@ -176,7 +176,7 @@ dependencies = [ "cfg-if", "libc", "miniz_oxide", - "object 0.30.2", + "object 0.30.3", "rustc-demangle", ] @@ -329,15 +329,15 @@ checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" [[package]] name = "bytes" -version = "1.3.0" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfb24e866b15a1af2a1b663f10c6b6b8f397a84aadb828f12e5b289ec23a3a3c" +checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be" [[package]] name = "cc" -version = "1.0.78" +version = "1.0.79" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a20104e2335ce8a659d6dd92a51a767a0c062599c73b343fd152cb401e828c3d" +checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f" [[package]] name = "cfg-expr" @@ -436,9 +436,9 @@ dependencies = [ [[package]] name = "contract-metadata" -version = "2.0.0-rc" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "180f2389a624fc4d0e70b207542a508d668e1261b73391bc228775e3f4c84535" +checksum = "f5997814dd5d45804757a616e938c28586875ac793ffc140e57e7ae9f421a066" dependencies = [ "anyhow", "impl-serde", @@ -600,9 +600,9 @@ dependencies = [ [[package]] name = "cxx" -version = "1.0.87" +version = "1.0.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b61a7545f753a88bcbe0a70de1fcc0221e10bfc752f576754fa91e663db1622e" +checksum = "86d3488e7665a7a483b57e25bdd90d0aeb2bc7608c8d0346acf2ad3f1caf1d62" dependencies = [ "cc", "cxxbridge-flags", @@ -612,9 +612,9 @@ dependencies = [ [[package]] name = "cxx-build" -version = "1.0.87" +version = "1.0.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f464457d494b5ed6905c63b0c4704842aba319084a0a3561cdc1359536b53200" +checksum = "48fcaf066a053a41a81dfb14d57d99738b767febb8b735c3016e469fac5da690" dependencies = [ "cc", "codespan-reporting", @@ -627,15 +627,15 @@ dependencies = [ [[package]] name = "cxxbridge-flags" -version = "1.0.87" +version = "1.0.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43c7119ce3a3701ed81aca8410b9acf6fc399d2629d057b87e2efa4e63a3aaea" +checksum = "a2ef98b8b717a829ca5603af80e1f9e2e48013ab227b68ef37872ef84ee479bf" [[package]] name = "cxxbridge-macro" -version = "1.0.87" +version = "1.0.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65e07508b90551e610910fa648a1878991d367064997a596135b86df30daf07e" +checksum = "086c685979a698443656e5cf7856c95c642295a38599f12fb1ff76fb28d19892" dependencies = [ "proc-macro2", "quote", @@ -644,9 +644,9 @@ dependencies = [ [[package]] name = "darling" -version = "0.14.2" +version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0dd3cd20dc6b5a876612a6e5accfe7f3dd883db6d07acfbf14c128f61550dfa" +checksum = "c0808e1bd8671fb44a113a14e13497557533369847788fa2ae912b6ebfce9fa8" dependencies = [ "darling_core", "darling_macro", @@ -654,9 +654,9 @@ dependencies = [ [[package]] name = "darling_core" -version = "0.14.2" +version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a784d2ccaf7c98501746bf0be29b2022ba41fd62a2e622af997a03e9f972859f" +checksum = "001d80444f28e193f30c2f293455da62dcf9a6b29918a4253152ae2b1de592cb" dependencies = [ "fnv", "ident_case", @@ -668,9 +668,9 @@ dependencies = [ [[package]] name = "darling_macro" -version = "0.14.2" +version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7618812407e9402654622dd402b0a89dff9ba93badd6540781526117b92aab7e" +checksum = "b36230598a2d5de7ec1c6f51f72d8a99a9208daff41de2084d06e3fd3ea56685" dependencies = [ "darling_core", "quote", @@ -820,9 +820,9 @@ dependencies = [ [[package]] name = "either" -version = "1.8.0" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90e5c1c8368803113bf0c9584fc495a58b86dc8a29edbf8fe877d21d9507e797" +checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91" [[package]] name = "elliptic-curve" @@ -912,9 +912,9 @@ checksum = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7" [[package]] name = "fastrand" -version = "1.8.0" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7a407cfaa3385c4ae6b23e84623d48c2798d06e3e6a1878f7f59f17b3f86499" +checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be" dependencies = [ "instant", ] @@ -971,7 +971,7 @@ dependencies = [ [[package]] name = "frame-support" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "bitflags", "frame-metadata", @@ -986,24 +986,24 @@ dependencies = [ "serde", "smallvec", "sp-api", - "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "sp-core-hashing-proc-macro", "sp-inherents", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "sp-staking", - "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "tt-call", ] [[package]] name = "frame-support-procedural" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "Inflector", "cfg-expr", @@ -1017,7 +1017,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate", @@ -1029,7 +1029,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "proc-macro2", "quote", @@ -1044,9 +1044,9 @@ checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" [[package]] name = "futures" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38390104763dc37a5145a53c29c63c1290b5d316d6086ec32c293f6736051bb0" +checksum = "13e2792b0ff0340399d58445b88fd9770e3489eff258a4cbc1523418f12abf84" dependencies = [ "futures-channel", "futures-core", @@ -1059,9 +1059,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52ba265a92256105f45b719605a571ffe2d1f0fea3807304b522c1d778f79eed" +checksum = "2e5317663a9089767a1ec00a487df42e0ca174b61b4483213ac24448e4664df5" dependencies = [ "futures-core", "futures-sink", @@ -1069,15 +1069,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04909a7a7e4633ae6c4a9ab280aeb86da1236243a77b694a49eacd659a4bd3ac" +checksum = "ec90ff4d0fe1f57d600049061dc6bb68ed03c7d2fbd697274c41805dcb3f8608" [[package]] name = "futures-executor" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7acc85df6714c176ab5edf386123fafe217be88c0840ec11f199441134a074e2" +checksum = "e8de0a35a6ab97ec8869e32a2473f4b1324459e14c29275d14b10cb1fd19b50e" dependencies = [ "futures-core", "futures-task", @@ -1087,9 +1087,9 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00f5fb52a06bdcadeb54e8d3671f8888a39697dcb0b81b23b55174030427f4eb" +checksum = "bfb8371b6fb2aeb2d280374607aeabfc99d95c72edfe51692e42d3d7f0d08531" [[package]] name = "futures-lite" @@ -1108,9 +1108,9 @@ dependencies = [ [[package]] name = "futures-macro" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bdfb8ce053d86b91919aad980c220b1fb8401a9394410e1c289ed7e66b61835d" +checksum = "95a73af87da33b5acf53acfebdc339fe592ecf5357ac7c0a7734ab9d8c876a70" dependencies = [ "proc-macro2", "quote", @@ -1119,15 +1119,15 @@ dependencies = [ [[package]] name = "futures-sink" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39c15cf1a4aa79df40f1bb462fb39676d0ad9e366c2a33b590d7c66f4f81fcf9" +checksum = "f310820bb3e8cfd46c80db4d7fb8353e15dfff853a127158425f31e0be6c8364" [[package]] name = "futures-task" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ffb393ac5d9a6eaa9d3fdf37ae2776656b706e200c8e16b1bdb227f5198e6ea" +checksum = "dcf79a1bf610b10f42aea489289c5a2c478a786509693b80cd39c44ccd936366" [[package]] name = "futures-timer" @@ -1137,9 +1137,9 @@ checksum = "e64b03909df88034c26dc1547e8970b91f98bdb65165d6a4e9110d94263dbb2c" [[package]] name = "futures-util" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "197676987abd2f9cadff84926f410af1c183608d36641465df73ae8211dc65d6" +checksum = "9c1d6de3acfef38d2be4b1f543f553131788603495be83da675e180c8d6b7bd1" dependencies = [ "futures-channel", "futures-core", @@ -1210,9 +1210,9 @@ dependencies = [ [[package]] name = "gimli" -version = "0.27.0" +version = "0.27.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dec7af912d60cdbd3677c1af9352ebae6fb8394d165568a2234df0fa00f87793" +checksum = "ad0a93d233ebf96623465aad4046a8d3aa4da22d4f4beba5388838c8a434bbb4" [[package]] name = "group" @@ -1270,9 +1270,9 @@ dependencies = [ [[package]] name = "heck" -version = "0.4.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9" +checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" [[package]] name = "hermit-abi" @@ -1340,9 +1340,9 @@ dependencies = [ [[package]] name = "http" -version = "0.2.8" +version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75f43d41e26995c17e71ee126451dd3941010b0514a81a9d11f3b341debc2399" +checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482" dependencies = [ "bytes", "fnv", @@ -1380,9 +1380,9 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" [[package]] name = "hyper" -version = "0.14.23" +version = "0.14.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "034711faac9d2166cb1baf1a2fb0b60b1f277f8492fd72176c17f3515e1abd3c" +checksum = "5e011372fa0b68db8350aa7a248930ecc7839bf46d8485577d69f117a75f164c" dependencies = [ "bytes", "futures-channel", @@ -1506,33 +1506,33 @@ dependencies = [ [[package]] name = "ink_allocator" -version = "4.0.0-beta" +version = "4.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b36dadecdc7e33b0fe1c198b52d474ce73ccd93ffd8acd6ded02458b4a58a2d9" +checksum = "5323d4f43900266f2d5462cbe2a96d4182d634da0cfc1078d26c74d4117e0ce9" dependencies = [ "cfg-if", ] [[package]] name = "ink_engine" -version = "4.0.0-beta" +version = "4.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "319a74f3313698ae6d4ae5b43164a1e0efbfd45bd0f7ef689745f98f6e505998" +checksum = "de001b0907475ab10211093569d8b92726ef7a37d04b6e90c8a2864fbe14d050" dependencies = [ "blake2", "derive_more", "ink_primitives", "parity-scale-codec", - "secp256k1", + "secp256k1 0.26.0", "sha2 0.10.6", "sha3", ] [[package]] name = "ink_env" -version = "4.0.0-beta" +version = "4.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4543d0e0e5d1d97ce1ccb225599603ab15fb9d486f692176649b43a1311a8ad7" +checksum = "b0354567725e4f635a5c5694e4e4cac105e3e78cefd948ca5ab6cc92ea3d8231" dependencies = [ "arrayref", "blake2", @@ -1549,7 +1549,7 @@ dependencies = [ "paste", "rlibc", "scale-info", - "secp256k1", + "secp256k1 0.26.0", "sha2 0.10.6", "sha3", "static_assertions", @@ -1557,9 +1557,9 @@ dependencies = [ [[package]] name = "ink_metadata" -version = "4.0.0-beta" +version = "4.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "caa94adad4fca9e3a79a1c5b0edc1ea2109ef56a955a57df35b2ad32c461ac21" +checksum = "9dfb4d5448446656ebf83d800c06effeffc063967ef5986d7d1a277e3e507dae" dependencies = [ "derive_more", "impl-serde", @@ -1571,18 +1571,18 @@ dependencies = [ [[package]] name = "ink_prelude" -version = "4.0.0-beta" +version = "4.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5962125f78304bc2b3083391cbd579125c64ce17e61b019034094faf772c915a" +checksum = "c2626fb0c922f923965774cdd8cddeaaa204931d0ed19e0bf43702b033924173" dependencies = [ "cfg-if", ] [[package]] name = "ink_primitives" -version = "4.0.0-beta" +version = "4.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90f4f26208fe23e12d436917697b951252519484134a3561fe8b65a5abc97aa9" +checksum = "91066af898fe4c59b2ed0aca678238928b551dc75f5284bf1422e9f1bb6b2204" dependencies = [ "derive_more", "ink_prelude", @@ -1593,9 +1593,9 @@ dependencies = [ [[package]] name = "ink_storage_traits" -version = "4.0.0-beta" +version = "4.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "596247891eb221a0b7debce9f8cf123b9a14f23a4a10664e73ec16d9eb1e92e9" +checksum = "da15ceaef6bdbece3e8b6338df899ef94e3921d03387fa941af8df3b38803523" dependencies = [ "ink_metadata", "ink_prelude", @@ -1652,9 +1652,9 @@ checksum = "72167d68f5fce3b8655487b8038691a3c9984ee769590f93f2a631f4ad64e4f5" [[package]] name = "js-sys" -version = "0.3.60" +version = "0.3.61" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49409df3e3bf0856b916e2ceaca09ee28e6871cf7d9ce97a692cacfdb2a25a47" +checksum = "445dde2150c55e483f3d8416706b97ec8e8237c307e5b7b4b8dd15e6af2a0730" dependencies = [ "wasm-bindgen", ] @@ -1967,14 +1967,14 @@ dependencies = [ [[package]] name = "mio" -version = "0.8.5" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5d732bc30207a6423068df043e3d02e0735b155ad7ce1a6f76fe2baa5b158de" +checksum = "5b9d9a46eff5b4ff64b45a9e316a6d1e0bc719ef429cbec4dc630684212bfdf9" dependencies = [ "libc", "log", "wasi 0.11.0+wasi-snapshot-preview1", - "windows-sys 0.42.0", + "windows-sys 0.45.0", ] [[package]] @@ -2006,6 +2006,15 @@ dependencies = [ "nom", ] +[[package]] +name = "nom8" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae01545c9c7fc4486ab7debaf2aad7003ac19431791868fb2e8066df97fad2f8" +dependencies = [ + "memchr", +] + [[package]] name = "num-bigint" version = "0.4.3" @@ -2082,18 +2091,18 @@ dependencies = [ [[package]] name = "object" -version = "0.30.2" +version = "0.30.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b8c786513eb403643f2a88c244c2aaa270ef2153f55094587d0c48a3cf22a83" +checksum = "ea86265d3d3dcb6a27fc51bd29a4bf387fae9d2986b823079d4986af253eb439" dependencies = [ "memchr", ] [[package]] name = "once_cell" -version = "1.17.0" +version = "1.17.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f61fba1741ea2b3d6a1e3178721804bb716a68a6aeba1149b5d52e3d464ea66" +checksum = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3" [[package]] name = "opaque-debug" @@ -2122,20 +2131,20 @@ checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee" [[package]] name = "pallet-contracts-primitives" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "bitflags", "parity-scale-codec", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", ] [[package]] name = "parity-scale-codec" -version = "3.2.2" +version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7ab01d0f889e957861bc65888d5ccbe82c158d0270136ba46820d43837cdf72" +checksum = "637935964ff85a605d114591d4d2c13c5d1ba2806dae97cea6bf180238a749ac" dependencies = [ "arrayvec 0.7.2", "bitvec", @@ -2208,15 +2217,15 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.6" +version = "0.9.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba1ef8814b5c993410bb3adfad7a5ed269563e4a2f90c41f5d85be7fb47133bf" +checksum = "9069cbb9f99e3a5083476ccb29ceb1de18b9118cafa53e90c9551235de2b9521" dependencies = [ "cfg-if", "libc", "redox_syscall", "smallvec", - "windows-sys 0.42.0", + "windows-sys 0.45.0", ] [[package]] @@ -2239,7 +2248,7 @@ dependencies = [ "parity-scale-codec", "primitives", "rand 0.8.5", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "sp-keyring", "subxt", "tokio", @@ -2338,22 +2347,21 @@ dependencies = [ "scale-info", "serde", "sp-api", - "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "sp-staking", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", ] [[package]] name = "proc-macro-crate" -version = "1.2.1" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eda0fc3b0fb7c975631757e14d9049da17374063edb6ebbcbc54d880d4fe94e9" +checksum = "66618389e4ec1c7afe67d51a9bf34ff9236480f8d51e7489b7d5ab0303c13f34" dependencies = [ "once_cell", - "thiserror", - "toml", + "toml_edit", ] [[package]] @@ -2382,9 +2390,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.50" +version = "1.0.51" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ef7d57beacfaf2d8aee5937dab7b7f28de3cb8b1828479bb5de2a7106f2bae2" +checksum = "5d727cae5b39d21da60fa540906919ad737832fe0b1c165da3a34d6548c849d6" dependencies = [ "unicode-ident", ] @@ -2793,7 +2801,16 @@ version = "0.24.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6b1629c9c557ef9b293568b338dddfc8208c98a18c59d722a9d53f859d9c9b62" dependencies = [ - "secp256k1-sys", + "secp256k1-sys 0.6.1", +] + +[[package]] +name = "secp256k1" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4124a35fe33ae14259c490fd70fa199a32b9ce9502f2ee6bc4f81ec06fa65894" +dependencies = [ + "secp256k1-sys 0.8.0", ] [[package]] @@ -2805,6 +2822,15 @@ dependencies = [ "cc", ] +[[package]] +name = "secp256k1-sys" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "642a62736682fdd8c71da0eb273e453c8ac74e33b9fb310e22ba5b03ec7651ff" +dependencies = [ + "cc", +] + [[package]] name = "secrecy" version = "0.8.0" @@ -2816,9 +2842,9 @@ dependencies = [ [[package]] name = "security-framework" -version = "2.8.0" +version = "2.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "645926f31b250a2dca3c232496c2d898d91036e45ca0e97e0e2390c54e11be36" +checksum = "a332be01508d814fed64bf28f798a146d73792121129962fdf335bb3c49a4254" dependencies = [ "bitflags", "core-foundation", @@ -2868,9 +2894,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.91" +version = "1.0.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "877c235533714907a8c2464236f5c4b2a17262ef1bd71f38f35ea592c8da6883" +checksum = "cad406b69c91885b5107daf2c29572f6c8cdb3c66826821e286c533490c0bc76" dependencies = [ "itoa", "ryu", @@ -2947,9 +2973,9 @@ dependencies = [ [[package]] name = "signal-hook-registry" -version = "1.4.0" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e51e73328dc4ac0c7ccbda3a494dfa03df1de2f46018127f60c693f2648455b0" +checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1" dependencies = [ "libc", ] @@ -2966,9 +2992,9 @@ dependencies = [ [[package]] name = "slab" -version = "0.4.7" +version = "0.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4614a76b2a8be0058caa9dbbaf66d988527d86d003c11a94fbd335d7661edcef" +checksum = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d" dependencies = [ "autocfg", ] @@ -3007,17 +3033,17 @@ dependencies = [ [[package]] name = "sp-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "hash-db", "log", "parity-scale-codec", "sp-api-proc-macro", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "sp-version", "thiserror", ] @@ -3025,7 +3051,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "blake2", "proc-macro-crate", @@ -3051,14 +3077,14 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", ] [[package]] @@ -3080,15 +3106,15 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "integer-sqrt", "num-traits", "parity-scale-codec", "scale-info", "serde", - "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "static_assertions", ] @@ -3121,7 +3147,7 @@ dependencies = [ "regex", "scale-info", "schnorrkel", - "secp256k1", + "secp256k1 0.24.3", "secrecy", "serde", "sp-core-hashing 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3141,7 +3167,7 @@ dependencies = [ [[package]] name = "sp-core" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "array-bytes", "base58", @@ -3166,15 +3192,15 @@ dependencies = [ "regex", "scale-info", "schnorrkel", - "secp256k1", + "secp256k1 0.24.3", "secrecy", "serde", - "sp-core-hashing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-core-hashing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "ss58-registry", "substrate-bip39", "thiserror", @@ -3201,25 +3227,25 @@ dependencies = [ [[package]] name = "sp-core-hashing" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "blake2", "byteorder", "digest 0.10.6", "sha2 0.10.6", "sha3", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "twox-hash", ] [[package]] name = "sp-core-hashing-proc-macro" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "proc-macro2", "quote", - "sp-core-hashing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-core-hashing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "syn", ] @@ -3237,7 +3263,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "proc-macro2", "quote", @@ -3259,25 +3285,25 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.13.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "environmental", "parity-scale-codec", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", ] [[package]] name = "sp-inherents" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "async-trait", "impl-trait-for-tuples", "parity-scale-codec", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "thiserror", ] @@ -3294,7 +3320,7 @@ dependencies = [ "log", "parity-scale-codec", "parking_lot", - "secp256k1", + "secp256k1 0.24.3", "sp-core 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "sp-externalities 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", "sp-keystore 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3311,7 +3337,7 @@ dependencies = [ [[package]] name = "sp-io" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "bytes", "ed25519-dalek", @@ -3321,16 +3347,16 @@ dependencies = [ "log", "parity-scale-codec", "parking_lot", - "secp256k1", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-keystore 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-wasm-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "secp256k1 0.24.3", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-keystore 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-wasm-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "tracing", "tracing-core", ] @@ -3338,11 +3364,11 @@ dependencies = [ [[package]] name = "sp-keyring" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "lazy_static", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "strum", ] @@ -3366,7 +3392,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.13.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "async-trait", "futures", @@ -3374,8 +3400,8 @@ dependencies = [ "parity-scale-codec", "parking_lot", "schnorrkel", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "thiserror", ] @@ -3393,7 +3419,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "backtrace", "lazy_static", @@ -3427,7 +3453,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "either", "hash256-std-hasher", @@ -3438,12 +3464,12 @@ dependencies = [ "rand 0.7.3", "scale-info", "serde", - "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", ] [[package]] @@ -3468,18 +3494,18 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "bytes", "impl-trait-for-tuples", "parity-scale-codec", "primitive-types", - "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-runtime-interface-proc-macro 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-wasm-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-runtime-interface-proc-macro 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-wasm-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "static_assertions", ] @@ -3499,7 +3525,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "Inflector", "proc-macro-crate", @@ -3511,12 +3537,13 @@ dependencies = [ [[package]] name = "sp-staking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "parity-scale-codec", "scale-info", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", ] [[package]] @@ -3545,7 +3572,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.13.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "hash-db", "log", @@ -3554,11 +3581,11 @@ dependencies = [ "parking_lot", "rand 0.7.3", "smallvec", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-panic-handler 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-panic-handler 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "thiserror", "tracing", "trie-root", @@ -3573,7 +3600,7 @@ checksum = "cf3fd4c1d304be101e6ebbafd3d4be9a37b320c970ef4e8df188b16873981c93" [[package]] name = "sp-std" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" [[package]] name = "sp-storage" @@ -3592,14 +3619,14 @@ dependencies = [ [[package]] name = "sp-storage" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "impl-serde", "parity-scale-codec", "ref-cast", "serde", - "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", ] [[package]] @@ -3618,10 +3645,10 @@ dependencies = [ [[package]] name = "sp-tracing" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "parity-scale-codec", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "tracing", "tracing-core", "tracing-subscriber", @@ -3654,7 +3681,7 @@ dependencies = [ [[package]] name = "sp-trie" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "ahash", "hash-db", @@ -3666,8 +3693,8 @@ dependencies = [ "parity-scale-codec", "parking_lot", "scale-info", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "thiserror", "tracing", "trie-db", @@ -3677,7 +3704,7 @@ dependencies = [ [[package]] name = "sp-version" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "impl-serde", "parity-scale-codec", @@ -3685,8 +3712,8 @@ dependencies = [ "scale-info", "serde", "sp-core-hashing-proc-macro", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "sp-version-proc-macro", "thiserror", ] @@ -3694,7 +3721,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "parity-scale-codec", "proc-macro2", @@ -3718,12 +3745,12 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "impl-trait-for-tuples", "log", "parity-scale-codec", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "wasmi", "wasmtime", ] @@ -3748,17 +3775,17 @@ dependencies = [ [[package]] name = "sp-weights" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", "scale-info", "serde", "smallvec", - "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", ] [[package]] @@ -3779,9 +3806,9 @@ dependencies = [ [[package]] name = "ss58-registry" -version = "1.37.0" +version = "1.38.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d44528162f980c0e03c71e005d334332c8da0aec9f2b0b4bdc557ed4a9f24776" +checksum = "e40c020d72bc0a9c5660bb71e4a6fdef081493583062c474740a7d59f55f0e7b" dependencies = [ "Inflector", "num-format", @@ -3996,10 +4023,11 @@ dependencies = [ [[package]] name = "thread_local" -version = "1.1.4" +version = "1.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5516c27b78311c50bf42c071425c560ac799b11c30b31f87e3081965fe5e0180" +checksum = "3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152" dependencies = [ + "cfg-if", "once_cell", ] @@ -4033,15 +4061,15 @@ dependencies = [ [[package]] name = "tinyvec_macros" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" +checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.24.2" +version = "1.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "597a12a59981d9e3c38d216785b0c37399f6e415e8d0712047620f189371b0bb" +checksum = "c8e00990ebabbe4c14c08aca901caed183ecd5c09562a12c824bb53d3c3fd3af" dependencies = [ "autocfg", "bytes", @@ -4081,9 +4109,9 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.4" +version = "0.7.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bb2e075f03b3d66d8d8785356224ba688d2906a371015e225beeb65ca92c740" +checksum = "5427d89453009325de0d8f342c9490009f76e999cb7672d77e46267448f7e6b2" dependencies = [ "bytes", "futures-core", @@ -4095,12 +4123,20 @@ dependencies = [ ] [[package]] -name = "toml" -version = "0.5.11" +name = "toml_datetime" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4553f467ac8e3d374bc9a177a26801e5d0f9b211aa1673fb137a403afd1c9cf5" + +[[package]] +name = "toml_edit" +version = "0.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234" +checksum = "56c59d8dd7d0dcbc6428bf7aa2f0e823e26e43b3c9aca15bbc9475d23e5fa12b" dependencies = [ - "serde", + "indexmap", + "nom8", + "toml_datetime", ] [[package]] @@ -4251,9 +4287,9 @@ dependencies = [ [[package]] name = "unicode-bidi" -version = "0.3.9" +version = "0.3.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0046be40136ef78dc325e0edefccf84ccddacd0afcc1ca54103fa3c61bbdab1d" +checksum = "d54675592c1dbefd78cbd98db9bacd89886e1ca50692a0692baefffdeb92dd58" [[package]] name = "unicode-ident" @@ -4342,9 +4378,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.83" +version = "0.2.84" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eaf9f5aceeec8be17c128b2e93e031fb8a4d469bb9c4ae2d7dc1888b26887268" +checksum = "31f8dcbc21f30d9b8f2ea926ecb58f6b91192c17e9d33594b3df58b2007ca53b" dependencies = [ "cfg-if", "wasm-bindgen-macro", @@ -4352,9 +4388,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.83" +version = "0.2.84" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c8ffb332579b0557b52d268b91feab8df3615f265d5270fec2a8c95b17c1142" +checksum = "95ce90fd5bcc06af55a641a86428ee4229e44e07033963a2290a8e241607ccb9" dependencies = [ "bumpalo", "log", @@ -4367,9 +4403,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.83" +version = "0.2.84" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "052be0f94026e6cbc75cdefc9bae13fd6052cdcaf532fa6c45e7ae33a1e6c810" +checksum = "4c21f77c0bedc37fd5dc21f897894a5ca01e7bb159884559461862ae90c0b4c5" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -4377,9 +4413,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.83" +version = "0.2.84" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07bc0c051dc5f23e307b13285f9d75df86bfdf816c5721e573dec1f9b8aa193c" +checksum = "2aff81306fcac3c7515ad4e177f521b5c9a15f2b08f4e32d823066102f35a5f6" dependencies = [ "proc-macro2", "quote", @@ -4390,9 +4426,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-shared" -version = "0.2.83" +version = "0.2.84" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c38c045535d93ec4f0b4defec448e4291638ee608530863b1e2ba115d4fff7f" +checksum = "0046fef7e28c3804e5e38bfa31ea2a0f73905319b677e57ebe37e49358989b5d" [[package]] name = "wasmi" @@ -4560,9 +4596,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.60" +version = "0.3.61" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcda906d8be16e728fd5adc5b729afad4e444e106ab28cd1c7256e54fa61510f" +checksum = "e33b99f4b23ba3eec1a53ac264e35a755f00e966e0065077d6027c0f575b0b97" dependencies = [ "js-sys", "wasm-bindgen", @@ -4646,6 +4682,30 @@ dependencies = [ "windows_x86_64_msvc 0.42.1", ] +[[package]] +name = "windows-sys" +version = "0.45.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" +dependencies = [ + "windows-targets", +] + +[[package]] +name = "windows-targets" +version = "0.42.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e2522491fbfcd58cc84d47aeb2958948c4b8982e9a2d8a2a35bbaed431390e7" +dependencies = [ + "windows_aarch64_gnullvm", + "windows_aarch64_msvc 0.42.1", + "windows_i686_gnu 0.42.1", + "windows_i686_msvc 0.42.1", + "windows_x86_64_gnu 0.42.1", + "windows_x86_64_gnullvm", + "windows_x86_64_msvc 0.42.1", +] + [[package]] name = "windows_aarch64_gnullvm" version = "0.42.1" diff --git a/benches/payout-stakers/Cargo.toml b/benches/payout-stakers/Cargo.toml index 6fa1b655fc..99575293db 100644 --- a/benches/payout-stakers/Cargo.toml +++ b/benches/payout-stakers/Cargo.toml @@ -14,8 +14,8 @@ log = "0.4" futures = "0.3.25" rand = "0.8.5" -sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35", features = ["full_crypto"] } -sp-keyring = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36", features = ["full_crypto"] } +sp-keyring = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } subxt = "0.25.0" tokio = { version = "1.21.2", features = ["full"] } diff --git a/bin/cliain/Cargo.lock b/bin/cliain/Cargo.lock index 9c95359721..41d619fa81 100644 --- a/bin/cliain/Cargo.lock +++ b/bin/cliain/Cargo.lock @@ -18,7 +18,16 @@ version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b9ecd88a8c8378ca913a680cd98f0f13ac67383d35993f86c90a70e3f137816b" dependencies = [ - "gimli", + "gimli 0.26.2", +] + +[[package]] +name = "addr2line" +version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a76fd60b23679b7d19bd066031410fb7e458ccc5e958eb5c325888ce4baedc97" +dependencies = [ + "gimli 0.27.2", ] [[package]] @@ -53,7 +62,7 @@ version = "2.13.0" dependencies = [ "anyhow", "async-trait", - "contract-metadata 2.0.0-beta", + "contract-metadata 2.0.1", "contract-transcode 2.0.0-beta.1", "frame-support", "futures", @@ -65,7 +74,7 @@ dependencies = [ "primitives", "serde", "serde_json", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "subxt", "thiserror", ] @@ -90,9 +99,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.68" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2cb2f989d18dd141ab8ae82f64d1a8cdd37e0840f73a406896cf5e99502fab61" +checksum = "224afbd727c3d6e4b90103ece64b8d1b67fbb1973b1046c2281eed3f3803f800" [[package]] name = "approx" @@ -139,9 +148,9 @@ dependencies = [ [[package]] name = "async-trait" -version = "0.1.59" +version = "0.1.64" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31e6e93155431f3931513b243d371981bb2770112b370c82745a1d19d2f99364" +checksum = "1cd7fce9ba8c3c042128ce72d8b2ddbf3a05747efb67ea0313c635e10bda47a2" dependencies = [ "proc-macro2", "quote", @@ -154,7 +163,7 @@ version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" dependencies = [ - "hermit-abi", + "hermit-abi 0.1.19", "libc", "winapi", ] @@ -167,16 +176,16 @@ checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" [[package]] name = "backtrace" -version = "0.3.66" +version = "0.3.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cab84319d616cfb654d03394f38ab7e6f0919e181b1b57e1fd15e7fb4077d9a7" +checksum = "233d376d6d185f2a3093e58f283f60f880315b6c60075b01f36b3b85154564ca" dependencies = [ - "addr2line", + "addr2line 0.19.0", "cc", "cfg-if", "libc", "miniz_oxide", - "object", + "object 0.30.3", "rustc-demangle", ] @@ -198,6 +207,12 @@ version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" +[[package]] +name = "base64" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4a4ddaa51a5bc52a6948f74c06d20aaaddb71924eab79b8c97a8c556e942d6a" + [[package]] name = "base64ct" version = "1.5.3" @@ -242,9 +257,9 @@ dependencies = [ [[package]] name = "blake2" -version = "0.10.5" +version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b12e5fd123190ce1c2e559308a94c9bacad77907d4c6005d9e58fe1a0689e55e" +checksum = "46502ad458c9a52b69d4d4d32775c788b7a1b85e8bc9d482d92250fc0e3f8efe" dependencies = [ "digest 0.10.6", ] @@ -299,9 +314,9 @@ dependencies = [ [[package]] name = "bumpalo" -version = "3.11.1" +version = "3.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "572f695136211188308f16ad2ca5c851a712c464060ae6974944458eb83880ba" +checksum = "0d261e256854913907f67ed06efbc3338dfe6179796deefc1ff763fc1aee5535" [[package]] name = "byte-slice-cast" @@ -323,15 +338,15 @@ checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" [[package]] name = "bytes" -version = "1.3.0" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfb24e866b15a1af2a1b663f10c6b6b8f397a84aadb828f12e5b289ec23a3a3c" +checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be" [[package]] name = "cc" -version = "1.0.77" +version = "1.0.79" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9f73505338f7d905b19d18738976aae232eb46b8efc15554ffc56deb5d9ebe4" +checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f" [[package]] name = "cfg-expr" @@ -418,7 +433,7 @@ dependencies = [ "primitives", "serde", "serde_json", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "subxt", "tokio", ] @@ -435,16 +450,15 @@ dependencies = [ [[package]] name = "console" -version = "0.15.2" +version = "0.15.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c050367d967ced717c04b65d8c619d863ef9292ce0c5760028655a2fb298718c" +checksum = "c3d79fbe8970a77e3e34151cc13d3b3e248aa0faaecb9f6091fa07ebefe5ad60" dependencies = [ "encode_unicode", "lazy_static", "libc", - "terminal_size", "unicode-width", - "winapi", + "windows-sys 0.42.0", ] [[package]] @@ -467,9 +481,8 @@ dependencies = [ [[package]] name = "contract-metadata" -version = "2.0.0-beta" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40248c6a648b3679ea52bb83d8921246d0347644eaf7b0eec4c5601fa8feb651" +version = "2.0.0-beta.1" +source = "git+https://github.com/paritytech/cargo-contract?rev=7ca8c365fc1e157cd52901c54949b2faf1cd8899#7ca8c365fc1e157cd52901c54949b2faf1cd8899" dependencies = [ "anyhow", "impl-serde 0.4.0", @@ -481,8 +494,9 @@ dependencies = [ [[package]] name = "contract-metadata" -version = "2.0.0-beta.1" -source = "git+https://github.com/paritytech/cargo-contract?rev=7ca8c365fc1e157cd52901c54949b2faf1cd8899#7ca8c365fc1e157cd52901c54949b2faf1cd8899" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f5997814dd5d45804757a616e938c28586875ac793ffc140e57e7ae9f421a066" dependencies = [ "anyhow", "impl-serde 0.4.0", @@ -499,7 +513,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "61159f8e266d4892be25f2b1e7ff2c4c6dd4338ca26498d907e5532a52a28e5f" dependencies = [ "anyhow", - "contract-metadata 2.0.0-beta", + "contract-metadata 2.0.1", "env_logger 0.9.3", "escape8259", "hex", @@ -670,9 +684,9 @@ dependencies = [ [[package]] name = "cxx" -version = "1.0.82" +version = "1.0.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4a41a86530d0fe7f5d9ea779916b7cadd2d4f9add748b99c2c029cbbdfaf453" +checksum = "86d3488e7665a7a483b57e25bdd90d0aeb2bc7608c8d0346acf2ad3f1caf1d62" dependencies = [ "cc", "cxxbridge-flags", @@ -682,9 +696,9 @@ dependencies = [ [[package]] name = "cxx-build" -version = "1.0.82" +version = "1.0.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06416d667ff3e3ad2df1cd8cd8afae5da26cf9cec4d0825040f88b5ca659a2f0" +checksum = "48fcaf066a053a41a81dfb14d57d99738b767febb8b735c3016e469fac5da690" dependencies = [ "cc", "codespan-reporting", @@ -697,15 +711,15 @@ dependencies = [ [[package]] name = "cxxbridge-flags" -version = "1.0.82" +version = "1.0.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "820a9a2af1669deeef27cb271f476ffd196a2c4b6731336011e0ba63e2c7cf71" +checksum = "a2ef98b8b717a829ca5603af80e1f9e2e48013ab227b68ef37872ef84ee479bf" [[package]] name = "cxxbridge-macro" -version = "1.0.82" +version = "1.0.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a08a6e2fcc370a089ad3b4aaf54db3b1b4cee38ddabce5896b33eb693275f470" +checksum = "086c685979a698443656e5cf7856c95c642295a38599f12fb1ff76fb28d19892" dependencies = [ "proc-macro2", "quote", @@ -714,9 +728,9 @@ dependencies = [ [[package]] name = "darling" -version = "0.14.2" +version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0dd3cd20dc6b5a876612a6e5accfe7f3dd883db6d07acfbf14c128f61550dfa" +checksum = "c0808e1bd8671fb44a113a14e13497557533369847788fa2ae912b6ebfce9fa8" dependencies = [ "darling_core", "darling_macro", @@ -724,9 +738,9 @@ dependencies = [ [[package]] name = "darling_core" -version = "0.14.2" +version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a784d2ccaf7c98501746bf0be29b2022ba41fd62a2e622af997a03e9f972859f" +checksum = "001d80444f28e193f30c2f293455da62dcf9a6b29918a4253152ae2b1de592cb" dependencies = [ "fnv", "ident_case", @@ -738,9 +752,9 @@ dependencies = [ [[package]] name = "darling_macro" -version = "0.14.2" +version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7618812407e9402654622dd402b0a89dff9ba93badd6540781526117b92aab7e" +checksum = "b36230598a2d5de7ec1c6f51f72d8a99a9208daff41de2084d06e3fd3ea56685" dependencies = [ "darling_core", "quote", @@ -781,11 +795,12 @@ dependencies = [ [[package]] name = "dialoguer" -version = "0.10.2" +version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a92e7e37ecef6857fdc0c0c5d42fd5b0938e46590c2183cc92dd310a6d078eb1" +checksum = "af3c796f3b0b408d9fd581611b47fa850821fcb84aa640b83a3c1a5be2d691f2" dependencies = [ "console", + "shell-words", "tempfile", "zeroize", ] @@ -848,9 +863,9 @@ dependencies = [ [[package]] name = "dyn-clone" -version = "1.0.9" +version = "1.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f94fa09c2aeea5b8839e414b7b841bf429fd25b9c522116ac97ee87856d88b2" +checksum = "c9b0705efd4599c15a38151f4721f7bc388306f61084d3bfd50bd07fbca5cb60" [[package]] name = "ecdsa" @@ -901,9 +916,9 @@ dependencies = [ [[package]] name = "either" -version = "1.8.0" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90e5c1c8368803113bf0c9584fc495a58b86dc8a29edbf8fe877d21d9507e797" +checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91" [[package]] name = "elliptic-curve" @@ -1012,9 +1027,9 @@ checksum = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7" [[package]] name = "fastrand" -version = "1.8.0" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7a407cfaa3385c4ae6b23e84623d48c2798d06e3e6a1878f7f59f17b3f86499" +checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be" dependencies = [ "instant", ] @@ -1059,7 +1074,7 @@ dependencies = [ [[package]] name = "frame-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "frame-support", "frame-system", @@ -1070,19 +1085,19 @@ dependencies = [ "scale-info", "serde", "sp-api", - "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", ] [[package]] name = "frame-election-provider-solution-type" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -1093,17 +1108,18 @@ dependencies = [ [[package]] name = "frame-election-provider-support" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "frame-election-provider-solution-type", "frame-support", "frame-system", "parity-scale-codec", "scale-info", - "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "sp-npos-elections", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", ] [[package]] @@ -1121,7 +1137,7 @@ dependencies = [ [[package]] name = "frame-support" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "bitflags", "frame-metadata", @@ -1136,24 +1152,24 @@ dependencies = [ "serde", "smallvec", "sp-api", - "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "sp-core-hashing-proc-macro", "sp-inherents", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "sp-staking", - "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "tt-call", ] [[package]] name = "frame-support-procedural" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "Inflector", "cfg-expr", @@ -1167,7 +1183,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate", @@ -1179,7 +1195,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "proc-macro2", "quote", @@ -1189,19 +1205,19 @@ dependencies = [ [[package]] name = "frame-system" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "frame-support", "log", "parity-scale-codec", "scale-info", "serde", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "sp-version", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", ] [[package]] @@ -1212,9 +1228,9 @@ checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" [[package]] name = "futures" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38390104763dc37a5145a53c29c63c1290b5d316d6086ec32c293f6736051bb0" +checksum = "13e2792b0ff0340399d58445b88fd9770e3489eff258a4cbc1523418f12abf84" dependencies = [ "futures-channel", "futures-core", @@ -1227,9 +1243,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52ba265a92256105f45b719605a571ffe2d1f0fea3807304b522c1d778f79eed" +checksum = "2e5317663a9089767a1ec00a487df42e0ca174b61b4483213ac24448e4664df5" dependencies = [ "futures-core", "futures-sink", @@ -1237,15 +1253,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04909a7a7e4633ae6c4a9ab280aeb86da1236243a77b694a49eacd659a4bd3ac" +checksum = "ec90ff4d0fe1f57d600049061dc6bb68ed03c7d2fbd697274c41805dcb3f8608" [[package]] name = "futures-executor" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7acc85df6714c176ab5edf386123fafe217be88c0840ec11f199441134a074e2" +checksum = "e8de0a35a6ab97ec8869e32a2473f4b1324459e14c29275d14b10cb1fd19b50e" dependencies = [ "futures-core", "futures-task", @@ -1255,9 +1271,9 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00f5fb52a06bdcadeb54e8d3671f8888a39697dcb0b81b23b55174030427f4eb" +checksum = "bfb8371b6fb2aeb2d280374607aeabfc99d95c72edfe51692e42d3d7f0d08531" [[package]] name = "futures-lite" @@ -1276,9 +1292,9 @@ dependencies = [ [[package]] name = "futures-macro" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bdfb8ce053d86b91919aad980c220b1fb8401a9394410e1c289ed7e66b61835d" +checksum = "95a73af87da33b5acf53acfebdc339fe592ecf5357ac7c0a7734ab9d8c876a70" dependencies = [ "proc-macro2", "quote", @@ -1287,15 +1303,15 @@ dependencies = [ [[package]] name = "futures-sink" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39c15cf1a4aa79df40f1bb462fb39676d0ad9e366c2a33b590d7c66f4f81fcf9" +checksum = "f310820bb3e8cfd46c80db4d7fb8353e15dfff853a127158425f31e0be6c8364" [[package]] name = "futures-task" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ffb393ac5d9a6eaa9d3fdf37ae2776656b706e200c8e16b1bdb227f5198e6ea" +checksum = "dcf79a1bf610b10f42aea489289c5a2c478a786509693b80cd39c44ccd936366" [[package]] name = "futures-timer" @@ -1305,9 +1321,9 @@ checksum = "e64b03909df88034c26dc1547e8970b91f98bdb65165d6a4e9110d94263dbb2c" [[package]] name = "futures-util" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "197676987abd2f9cadff84926f410af1c183608d36641465df73ae8211dc65d6" +checksum = "9c1d6de3acfef38d2be4b1f543f553131788603495be83da675e180c8d6b7bd1" dependencies = [ "futures-channel", "futures-core", @@ -1376,6 +1392,12 @@ dependencies = [ "stable_deref_trait", ] +[[package]] +name = "gimli" +version = "0.27.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad0a93d233ebf96623465aad4046a8d3aa4da22d4f4beba5388838c8a434bbb4" + [[package]] name = "group" version = "0.12.1" @@ -1432,9 +1454,9 @@ dependencies = [ [[package]] name = "heck" -version = "0.4.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9" +checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" [[package]] name = "hermit-abi" @@ -1445,6 +1467,15 @@ dependencies = [ "libc", ] +[[package]] +name = "hermit-abi" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7" +dependencies = [ + "libc", +] + [[package]] name = "hex" version = "0.4.3" @@ -1493,9 +1524,9 @@ dependencies = [ [[package]] name = "http" -version = "0.2.8" +version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75f43d41e26995c17e71ee126451dd3941010b0514a81a9d11f3b341debc2399" +checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482" dependencies = [ "bytes", "fnv", @@ -1533,9 +1564,9 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" [[package]] name = "hyper" -version = "0.14.23" +version = "0.14.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "034711faac9d2166cb1baf1a2fb0b60b1f277f8492fd72176c17f3515e1abd3c" +checksum = "5e011372fa0b68db8350aa7a248930ecc7839bf46d8485577d69f117a75f164c" dependencies = [ "bytes", "futures-channel", @@ -1557,9 +1588,9 @@ dependencies = [ [[package]] name = "hyper-rustls" -version = "0.23.1" +version = "0.23.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59df7c4e19c950e6e0e868dcc0a300b09a9b88e9ec55bd879ca819087a77355d" +checksum = "1788965e61b367cd03a62950836d5cd41560c3577d90e40e0819373194d1661c" dependencies = [ "http", "hyper", @@ -1668,33 +1699,33 @@ dependencies = [ [[package]] name = "ink_allocator" -version = "4.0.0-beta" +version = "4.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b36dadecdc7e33b0fe1c198b52d474ce73ccd93ffd8acd6ded02458b4a58a2d9" +checksum = "5323d4f43900266f2d5462cbe2a96d4182d634da0cfc1078d26c74d4117e0ce9" dependencies = [ "cfg-if", ] [[package]] name = "ink_engine" -version = "4.0.0-beta" +version = "4.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "319a74f3313698ae6d4ae5b43164a1e0efbfd45bd0f7ef689745f98f6e505998" +checksum = "de001b0907475ab10211093569d8b92726ef7a37d04b6e90c8a2864fbe14d050" dependencies = [ "blake2", "derive_more", "ink_primitives", "parity-scale-codec", - "secp256k1", + "secp256k1 0.26.0", "sha2 0.10.6", "sha3", ] [[package]] name = "ink_env" -version = "4.0.0-beta" +version = "4.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4543d0e0e5d1d97ce1ccb225599603ab15fb9d486f692176649b43a1311a8ad7" +checksum = "b0354567725e4f635a5c5694e4e4cac105e3e78cefd948ca5ab6cc92ea3d8231" dependencies = [ "arrayref", "blake2", @@ -1711,7 +1742,7 @@ dependencies = [ "paste", "rlibc", "scale-info", - "secp256k1", + "secp256k1 0.26.0", "sha2 0.10.6", "sha3", "static_assertions", @@ -1719,9 +1750,9 @@ dependencies = [ [[package]] name = "ink_metadata" -version = "4.0.0-beta" +version = "4.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "caa94adad4fca9e3a79a1c5b0edc1ea2109ef56a955a57df35b2ad32c461ac21" +checksum = "9dfb4d5448446656ebf83d800c06effeffc063967ef5986d7d1a277e3e507dae" dependencies = [ "derive_more", "impl-serde 0.4.0", @@ -1733,18 +1764,18 @@ dependencies = [ [[package]] name = "ink_prelude" -version = "4.0.0-beta" +version = "4.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5962125f78304bc2b3083391cbd579125c64ce17e61b019034094faf772c915a" +checksum = "c2626fb0c922f923965774cdd8cddeaaa204931d0ed19e0bf43702b033924173" dependencies = [ "cfg-if", ] [[package]] name = "ink_primitives" -version = "4.0.0-beta" +version = "4.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90f4f26208fe23e12d436917697b951252519484134a3561fe8b65a5abc97aa9" +checksum = "91066af898fe4c59b2ed0aca678238928b551dc75f5284bf1422e9f1bb6b2204" dependencies = [ "derive_more", "ink_prelude", @@ -1755,9 +1786,9 @@ dependencies = [ [[package]] name = "ink_storage_traits" -version = "4.0.0-beta" +version = "4.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "596247891eb221a0b7debce9f8cf123b9a14f23a4a10664e73ec16d9eb1e92e9" +checksum = "da15ceaef6bdbece3e8b6338df899ef94e3921d03387fa941af8df3b38803523" dependencies = [ "ink_metadata", "ink_prelude", @@ -1802,9 +1833,9 @@ dependencies = [ [[package]] name = "itoa" -version = "1.0.4" +version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4217ad341ebadf8d8e724e264f13e593e0648f5b3e94b3896a5df283be015ecc" +checksum = "fad582f4b9e86b6caa621cabeb0963332d92eea04729ab12892c2533951e6440" [[package]] name = "joinery" @@ -1814,9 +1845,9 @@ checksum = "72167d68f5fce3b8655487b8038691a3c9984ee769590f93f2a631f4ad64e4f5" [[package]] name = "js-sys" -version = "0.3.60" +version = "0.3.61" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49409df3e3bf0856b916e2ceaca09ee28e6871cf7d9ce97a692cacfdb2a25a47" +checksum = "445dde2150c55e483f3d8416706b97ec8e8237c307e5b7b4b8dd15e6af2a0730" dependencies = [ "wasm-bindgen", ] @@ -1939,9 +1970,9 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" [[package]] name = "libc" -version = "0.2.137" +version = "0.2.139" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc7fcc620a3bff7cdd7a365be3376c97191aeaccc2a603e600951e452615bf89" +checksum = "201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79" [[package]] name = "libm" @@ -1956,7 +1987,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "95b09eff1b35ed3b33b877ced3a691fc7a481919c7e29c53c906226fcf55e2a1" dependencies = [ "arrayref", - "base64", + "base64 0.13.1", "digest 0.9.0", "hmac-drbg", "libsecp256k1-core", @@ -1999,9 +2030,9 @@ dependencies = [ [[package]] name = "link-cplusplus" -version = "1.0.7" +version = "1.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9272ab7b96c9046fbc5bc56c06c117cb639fe2d509df0c421cad82d2915cf369" +checksum = "ecd207c9c713c34f95a097a5b029ac2ce6010530c7b49d7fea24d977dede04f5" dependencies = [ "cc", ] @@ -2139,23 +2170,23 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "miniz_oxide" -version = "0.5.4" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96590ba8f175222643a85693f33d26e9c8a015f599c216509b1a6894af675d34" +checksum = "b275950c28b37e794e8c55d88aeb5e139d0ce23fdbbeda68f8d7174abdf9e8fa" dependencies = [ "adler", ] [[package]] name = "mio" -version = "0.8.5" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5d732bc30207a6423068df043e3d02e0735b155ad7ce1a6f76fe2baa5b158de" +checksum = "5b9d9a46eff5b4ff64b45a9e316a6d1e0bc719ef429cbec4dc630684212bfdf9" dependencies = [ "libc", "log", "wasi 0.11.0+wasi-snapshot-preview1", - "windows-sys 0.42.0", + "windows-sys 0.45.0", ] [[package]] @@ -2195,9 +2226,9 @@ checksum = "2bf50223579dc7cdcfb3bfcacf7069ff68243f8c363f62ffa99cf000a6b9c451" [[package]] name = "nom" -version = "7.1.2" +version = "7.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5507769c4919c998e69e49c839d9dc6e693ede4cc4290d6ad8b41d4f09c548c" +checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" dependencies = [ "memchr", "minimal-lexical", @@ -2216,6 +2247,15 @@ dependencies = [ "nom", ] +[[package]] +name = "nom8" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae01545c9c7fc4486ab7debaf2aad7003ac19431791868fb2e8066df97fad2f8" +dependencies = [ + "memchr", +] + [[package]] name = "num-bigint" version = "0.4.3" @@ -2229,18 +2269,18 @@ dependencies = [ [[package]] name = "num-complex" -version = "0.4.2" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ae39348c8bc5fbd7f40c727a9925f03517afd2ab27d46702108b6a7e5414c19" +checksum = "02e0d21255c828d6f128a1e41534206671e8c3ea0c62f32291e808dc82cff17d" dependencies = [ "num-traits", ] [[package]] name = "num-format" -version = "0.4.3" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54b862ff8df690cf089058c98b183676a7ed0f974cc08b426800093227cbff3b" +checksum = "a652d9771a63711fd3c3deb670acfbe5c30a4072e664d7a3bf5a9e1056ac72c3" dependencies = [ "arrayvec 0.7.2", "itoa", @@ -2280,11 +2320,11 @@ dependencies = [ [[package]] name = "num_cpus" -version = "1.14.0" +version = "1.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6058e64324c71e02bc2b150e4f3bc8286db6c83092132ffa3f6b1eab0f9def5" +checksum = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b" dependencies = [ - "hermit-abi", + "hermit-abi 0.2.6", "libc", ] @@ -2300,11 +2340,20 @@ dependencies = [ "memchr", ] +[[package]] +name = "object" +version = "0.30.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea86265d3d3dcb6a27fc51bd29a4bf387fae9d2986b823079d4986af253eb439" +dependencies = [ + "memchr", +] + [[package]] name = "once_cell" -version = "1.16.0" +version = "1.17.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86f0b0d4bf799edbc74508c1e8bf170ff5f41238e5f8225603ca7caaae2b7860" +checksum = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3" [[package]] name = "opaque-debug" @@ -2333,7 +2382,7 @@ checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee" [[package]] name = "pallet-authorship" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "frame-support", "frame-system", @@ -2341,61 +2390,26 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-authorship", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", -] - -[[package]] -name = "pallet-bags-list" -version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" -dependencies = [ - "frame-benchmarking", - "frame-election-provider-support", - "frame-support", - "frame-system", - "log", - "pallet-balances", - "parity-scale-codec", - "scale-info", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", -] - -[[package]] -name = "pallet-balances" -version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" -dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", - "log", - "parity-scale-codec", - "scale-info", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", ] [[package]] name = "pallet-contracts-primitives" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "bitflags", "parity-scale-codec", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", ] [[package]] name = "pallet-session" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "frame-support", "frame-system", @@ -2404,19 +2418,19 @@ dependencies = [ "pallet-timestamp", "parity-scale-codec", "scale-info", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "sp-session", "sp-staking", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", ] [[package]] name = "pallet-staking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -2424,22 +2438,21 @@ dependencies = [ "frame-system", "log", "pallet-authorship", - "pallet-bags-list", "pallet-session", "parity-scale-codec", "scale-info", "serde", - "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "sp-staking", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", ] [[package]] name = "pallet-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "frame-benchmarking", "frame-support", @@ -2448,17 +2461,17 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-inherents", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "sp-timestamp", ] [[package]] name = "parity-scale-codec" -version = "3.2.1" +version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "366e44391a8af4cfd6002ef6ba072bae071a96aafca98d7d448a34c5dca38b6a" +checksum = "637935964ff85a605d114591d4d2c13c5d1ba2806dae97cea6bf180238a749ac" dependencies = [ "arrayvec 0.7.2", "bitvec", @@ -2471,9 +2484,9 @@ dependencies = [ [[package]] name = "parity-scale-codec-derive" -version = "3.1.3" +version = "3.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9299338969a3d2f491d65f140b00ddec470858402f888af98e8642fb5e8965cd" +checksum = "86b26a931f824dd4eca30b3e43bb4f31cd5f0d3a403c5f5ff27106b805bfde7b" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -2531,22 +2544,22 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.5" +version = "0.9.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ff9f3fef3968a3ec5945535ed654cb38ff72d7495a25619e2247fb15a2ed9ba" +checksum = "9069cbb9f99e3a5083476ccb29ceb1de18b9118cafa53e90c9551235de2b9521" dependencies = [ "cfg-if", "libc", "redox_syscall", "smallvec", - "windows-sys 0.42.0", + "windows-sys 0.45.0", ] [[package]] name = "paste" -version = "1.0.9" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1de2e551fb905ac83f73f7aedf2f0cb4a0da7e35efa24a202a936269f1f18e1" +checksum = "d01a5bd0424d00070b0098dd17ebca6f961a959dead1dbcbbbc1d1cd8d3deeba" [[package]] name = "pbkdf2" @@ -2641,22 +2654,21 @@ dependencies = [ "scale-info", "serde", "sp-api", - "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "sp-staking", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", ] [[package]] name = "proc-macro-crate" -version = "1.2.1" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eda0fc3b0fb7c975631757e14d9049da17374063edb6ebbcbc54d880d4fe94e9" +checksum = "66618389e4ec1c7afe67d51a9bf34ff9236480f8d51e7489b7d5ab0303c13f34" dependencies = [ "once_cell", - "thiserror", - "toml", + "toml_edit", ] [[package]] @@ -2685,9 +2697,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.47" +version = "1.0.51" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ea3d908b0e36316caf9e9e2c4625cdde190a7e6f440d794667ed17a1855e725" +checksum = "5d727cae5b39d21da60fa540906919ad737832fe0b1c165da3a34d6548c849d6" dependencies = [ "unicode-ident", ] @@ -2703,9 +2715,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.21" +version = "1.0.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbe448f377a7d6961e30f5955f9b8d106c3f5e449d493ee1b125c1d43c2b5179" +checksum = "8856d8364d252a14d474036ea1358d63c9e6965c8e5c1885c18f73d70bff9c7b" dependencies = [ "proc-macro2", ] @@ -2824,18 +2836,18 @@ dependencies = [ [[package]] name = "ref-cast" -version = "1.0.13" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53b15debb4f9d60d767cd8ca9ef7abb2452922f3214671ff052defc7f3502c44" +checksum = "8c78fb8c9293bcd48ef6fce7b4ca950ceaf21210de6e105a883ee280c0f7b9ed" dependencies = [ "ref-cast-impl", ] [[package]] name = "ref-cast-impl" -version = "1.0.13" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abfa8511e9e94fd3de6585a3d3cd00e01ed556dc9814829280af0e8dc72a8f36" +checksum = "9f9c0c92af03644e4806106281fe2e068ac5bc0ae74a707266d06ea27bccee5f" dependencies = [ "proc-macro2", "quote", @@ -2844,9 +2856,9 @@ dependencies = [ [[package]] name = "regex" -version = "1.7.0" +version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e076559ef8e241f2ae3479e36f97bd5741c0330689e217ad51ce2c76808b868a" +checksum = "48aaa5748ba571fb95cd2c85c09f629215d3a6ece942baa100950af03a34f733" dependencies = [ "aho-corasick", "memchr", @@ -2943,9 +2955,9 @@ dependencies = [ [[package]] name = "rustls" -version = "0.20.7" +version = "0.20.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "539a2bfe908f471bfa933876bd1eb6a19cf2176d375f82ef7f99530a40e48c2c" +checksum = "fff78fc74d175294f4e83b28343315ffcfb114b156f0185e9741cb5570f50e2f" dependencies = [ "log", "ring", @@ -2967,24 +2979,24 @@ dependencies = [ [[package]] name = "rustls-pemfile" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0864aeff53f8c05aa08d86e5ef839d3dfcf07aeba2db32f12db0ef716e87bd55" +checksum = "d194b56d58803a43635bdc398cd17e383d6f71f9182b9a192c127ca42494a59b" dependencies = [ - "base64", + "base64 0.21.0", ] [[package]] name = "rustversion" -version = "1.0.9" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97477e48b4cf8603ad5f7aaf897467cf42ab4218a38ef76fb14c2d6773a6d6a8" +checksum = "5583e89e108996506031660fe09baa5011b9dd0341b89029313006d1fb508d70" [[package]] name = "ryu" -version = "1.0.11" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4501abdff3ae82a1c1b477a17252eb69cee9e66eb915c1abaa4f44d873df9f09" +checksum = "7b4b9743ed687d4b4bcedf9ff5eaa7398495ae14e61cba0a295704edbc7decde" [[package]] name = "scale-bits" @@ -3054,12 +3066,11 @@ dependencies = [ [[package]] name = "schannel" -version = "0.1.20" +version = "0.1.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88d6731146462ea25d9244b2ed5fd1d716d25c52e4d54aa4fb0f3c4e9854dbe2" +checksum = "713cfb06c7059f3588fb8044c0fad1d09e3c01d225e25b9220dbfdcf16dbb1b3" dependencies = [ - "lazy_static", - "windows-sys 0.36.1", + "windows-sys 0.42.0", ] [[package]] @@ -3088,9 +3099,9 @@ checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" [[package]] name = "scratch" -version = "1.0.2" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c8132065adcfd6e02db789d9285a0deb2f3fcb04002865ab67d5fb103533898" +checksum = "ddccb15bcce173023b3fedd9436f882a0739b8dfb45e4f6b6002bee5929f61b2" [[package]] name = "sct" @@ -3118,11 +3129,20 @@ dependencies = [ [[package]] name = "secp256k1" -version = "0.24.1" +version = "0.24.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b1629c9c557ef9b293568b338dddfc8208c98a18c59d722a9d53f859d9c9b62" +dependencies = [ + "secp256k1-sys 0.6.1", +] + +[[package]] +name = "secp256k1" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff55dc09d460954e9ef2fa8a7ced735a964be9981fd50e870b2b3b0705e14964" +checksum = "4124a35fe33ae14259c490fd70fa199a32b9ce9502f2ee6bc4f81ec06fa65894" dependencies = [ - "secp256k1-sys", + "secp256k1-sys 0.8.0", ] [[package]] @@ -3134,6 +3154,15 @@ dependencies = [ "cc", ] +[[package]] +name = "secp256k1-sys" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "642a62736682fdd8c71da0eb273e453c8ac74e33b9fb310e22ba5b03ec7651ff" +dependencies = [ + "cc", +] + [[package]] name = "secrecy" version = "0.8.0" @@ -3145,9 +3174,9 @@ dependencies = [ [[package]] name = "security-framework" -version = "2.7.0" +version = "2.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bc1bb97804af6631813c55739f771071e0f2ed33ee20b68c86ec505d906356c" +checksum = "a332be01508d814fed64bf28f798a146d73792121129962fdf335bb3c49a4254" dependencies = [ "bitflags", "core-foundation", @@ -3158,9 +3187,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.6.1" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0160a13a177a45bfb43ce71c01580998474f556ad854dcbca936dd2841a5c556" +checksum = "31c9bb296072e961fcbd8853511dd39c2d8be2deb1e17c6860b1d30732b323b4" dependencies = [ "core-foundation-sys", "libc", @@ -3197,9 +3226,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.91" +version = "1.0.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "877c235533714907a8c2464236f5c4b2a17262ef1bd71f38f35ea592c8da6883" +checksum = "cad406b69c91885b5107daf2c29572f6c8cdb3c66826821e286c533490c0bc76" dependencies = [ "itoa", "ryu", @@ -3274,11 +3303,17 @@ dependencies = [ "lazy_static", ] +[[package]] +name = "shell-words" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24188a676b6ae68c3b2cb3a01be17fbf7240ce009799bb56d5b1409051e78fde" + [[package]] name = "signal-hook-registry" -version = "1.4.0" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e51e73328dc4ac0c7ccbda3a494dfa03df1de2f46018127f60c693f2648455b0" +checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1" dependencies = [ "libc", ] @@ -3307,9 +3342,9 @@ dependencies = [ [[package]] name = "slab" -version = "0.4.7" +version = "0.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4614a76b2a8be0058caa9dbbaf66d988527d86d003c11a94fbd335d7661edcef" +checksum = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d" dependencies = [ "autocfg", ] @@ -3336,7 +3371,7 @@ version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "41d1c5305e39e09653383c2c7244f2f78b3bcae37cf50c64cb4789c9f5096ec2" dependencies = [ - "base64", + "base64 0.13.1", "bytes", "futures", "httparse", @@ -3348,17 +3383,17 @@ dependencies = [ [[package]] name = "sp-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "hash-db", "log", "parity-scale-codec", "sp-api-proc-macro", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "sp-version", "thiserror", ] @@ -3366,7 +3401,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "blake2", "proc-macro-crate", @@ -3392,14 +3427,14 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", ] [[package]] @@ -3421,28 +3456,28 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "integer-sqrt", "num-traits", "parity-scale-codec", "scale-info", "serde", - "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "static_assertions", ] [[package]] name = "sp-authorship" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "async-trait", "parity-scale-codec", "sp-inherents", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", ] [[package]] @@ -3474,7 +3509,7 @@ dependencies = [ "regex", "scale-info", "schnorrkel", - "secp256k1", + "secp256k1 0.24.3", "secrecy", "serde", "sp-core-hashing 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3494,7 +3529,7 @@ dependencies = [ [[package]] name = "sp-core" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "array-bytes", "base58", @@ -3519,15 +3554,15 @@ dependencies = [ "regex", "scale-info", "schnorrkel", - "secp256k1", + "secp256k1 0.24.3", "secrecy", "serde", - "sp-core-hashing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-core-hashing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "ss58-registry", "substrate-bip39", "thiserror", @@ -3554,25 +3589,25 @@ dependencies = [ [[package]] name = "sp-core-hashing" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "blake2", "byteorder", "digest 0.10.6", "sha2 0.10.6", "sha3", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "twox-hash", ] [[package]] name = "sp-core-hashing-proc-macro" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "proc-macro2", "quote", - "sp-core-hashing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-core-hashing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "syn", ] @@ -3590,7 +3625,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "proc-macro2", "quote", @@ -3612,25 +3647,25 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.13.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "environmental", "parity-scale-codec", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", ] [[package]] name = "sp-inherents" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "async-trait", "impl-trait-for-tuples", "parity-scale-codec", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "thiserror", ] @@ -3647,7 +3682,7 @@ dependencies = [ "log", "parity-scale-codec", "parking_lot", - "secp256k1", + "secp256k1 0.24.3", "sp-core 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "sp-externalities 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", "sp-keystore 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3664,7 +3699,7 @@ dependencies = [ [[package]] name = "sp-io" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "bytes", "ed25519-dalek", @@ -3674,16 +3709,16 @@ dependencies = [ "log", "parity-scale-codec", "parking_lot", - "secp256k1", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-keystore 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-wasm-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "secp256k1 0.24.3", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-keystore 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-wasm-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "tracing", "tracing-core", ] @@ -3708,7 +3743,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.13.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "async-trait", "futures", @@ -3716,23 +3751,23 @@ dependencies = [ "parity-scale-codec", "parking_lot", "schnorrkel", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "thiserror", ] [[package]] name = "sp-npos-elections" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", ] [[package]] @@ -3749,7 +3784,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "backtrace", "lazy_static", @@ -3783,7 +3818,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "either", "hash256-std-hasher", @@ -3794,12 +3829,12 @@ dependencies = [ "rand 0.7.3", "scale-info", "serde", - "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", ] [[package]] @@ -3824,18 +3859,18 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "bytes", "impl-trait-for-tuples", "parity-scale-codec", "primitive-types", - "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-runtime-interface-proc-macro 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-wasm-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-runtime-interface-proc-macro 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-wasm-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "static_assertions", ] @@ -3855,7 +3890,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "Inflector", "proc-macro-crate", @@ -3867,26 +3902,27 @@ dependencies = [ [[package]] name = "sp-session" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "parity-scale-codec", "scale-info", "sp-api", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "sp-staking", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", ] [[package]] name = "sp-staking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "parity-scale-codec", "scale-info", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", ] [[package]] @@ -3915,7 +3951,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.13.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "hash-db", "log", @@ -3924,11 +3960,11 @@ dependencies = [ "parking_lot", "rand 0.7.3", "smallvec", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-panic-handler 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-panic-handler 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "thiserror", "tracing", "trie-root", @@ -3943,7 +3979,7 @@ checksum = "cf3fd4c1d304be101e6ebbafd3d4be9a37b320c970ef4e8df188b16873981c93" [[package]] name = "sp-std" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" [[package]] name = "sp-storage" @@ -3962,20 +3998,20 @@ dependencies = [ [[package]] name = "sp-storage" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "impl-serde 0.4.0", "parity-scale-codec", "ref-cast", "serde", - "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", ] [[package]] name = "sp-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "async-trait", "futures-timer", @@ -3983,8 +4019,8 @@ dependencies = [ "parity-scale-codec", "sp-api", "sp-inherents", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "thiserror", ] @@ -4004,10 +4040,10 @@ dependencies = [ [[package]] name = "sp-tracing" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "parity-scale-codec", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "tracing", "tracing-core", "tracing-subscriber", @@ -4040,7 +4076,7 @@ dependencies = [ [[package]] name = "sp-trie" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "ahash", "hash-db", @@ -4052,8 +4088,8 @@ dependencies = [ "parity-scale-codec", "parking_lot", "scale-info", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "thiserror", "tracing", "trie-db", @@ -4063,7 +4099,7 @@ dependencies = [ [[package]] name = "sp-version" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "impl-serde 0.4.0", "parity-scale-codec", @@ -4071,8 +4107,8 @@ dependencies = [ "scale-info", "serde", "sp-core-hashing-proc-macro", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "sp-version-proc-macro", "thiserror", ] @@ -4080,7 +4116,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "parity-scale-codec", "proc-macro2", @@ -4104,12 +4140,12 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "impl-trait-for-tuples", "log", "parity-scale-codec", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "wasmi", "wasmtime", ] @@ -4134,17 +4170,17 @@ dependencies = [ [[package]] name = "sp-weights" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", "scale-info", "serde", "smallvec", - "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", ] [[package]] @@ -4165,9 +4201,9 @@ dependencies = [ [[package]] name = "ss58-registry" -version = "1.35.0" +version = "1.38.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa0813c10b9dbdc842c2305f949f724c64866e4ef4d09c9151e96f6a2106773c" +checksum = "e40c020d72bc0a9c5660bb71e4a6fdef081493583062c474740a7d59f55f0e7b" dependencies = [ "Inflector", "num-format", @@ -4303,9 +4339,9 @@ dependencies = [ [[package]] name = "syn" -version = "1.0.105" +version = "1.0.107" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60b9b43d45702de4c839cb9b51d9f529c5dd26a4aff255b42b1ebc03e88ee908" +checksum = "1f4064b5b16e03ae50984a5a8ed5d4f8803e6bc1fd170a3cda91a1be4b18e3f5" dependencies = [ "proc-macro2", "quote", @@ -4352,23 +4388,13 @@ dependencies = [ [[package]] name = "termcolor" -version = "1.1.3" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755" +checksum = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6" dependencies = [ "winapi-util", ] -[[package]] -name = "terminal_size" -version = "0.1.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "633c1a546cee861a1a6d0dc69ebeca693bf4296661ba7852b9d21d159e0506df" -dependencies = [ - "libc", - "winapi", -] - [[package]] name = "textwrap" version = "0.16.0" @@ -4377,18 +4403,18 @@ checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d" [[package]] name = "thiserror" -version = "1.0.37" +version = "1.0.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10deb33631e3c9018b9baf9dcbbc4f737320d2b576bac10f6aefa048fa407e3e" +checksum = "6a9cd18aa97d5c45c6603caea1da6628790b37f7a34b6ca89522331c5180fed0" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.37" +version = "1.0.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "982d17546b47146b28f7c22e3d08465f6b8903d0ea13c1660d9d84a6e7adcdbb" +checksum = "1fb327af4685e4d03fa8cbcf1716380da910eeb2bb8be417e7f9fd3fb164f36f" dependencies = [ "proc-macro2", "quote", @@ -4397,10 +4423,11 @@ dependencies = [ [[package]] name = "thread_local" -version = "1.1.4" +version = "1.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5516c27b78311c50bf42c071425c560ac799b11c30b31f87e3081965fe5e0180" +checksum = "3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152" dependencies = [ + "cfg-if", "once_cell", ] @@ -4434,15 +4461,15 @@ dependencies = [ [[package]] name = "tinyvec_macros" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" +checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.22.0" +version = "1.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d76ce4a75fb488c605c54bf610f221cea8b0dafb53333c1a67e8ee199dcd2ae3" +checksum = "c8e00990ebabbe4c14c08aca901caed183ecd5c09562a12c824bb53d3c3fd3af" dependencies = [ "autocfg", "bytes", @@ -4455,7 +4482,7 @@ dependencies = [ "signal-hook-registry", "socket2", "tokio-macros", - "winapi", + "windows-sys 0.42.0", ] [[package]] @@ -4482,9 +4509,9 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.4" +version = "0.7.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bb2e075f03b3d66d8d8785356224ba688d2906a371015e225beeb65ca92c740" +checksum = "5427d89453009325de0d8f342c9490009f76e999cb7672d77e46267448f7e6b2" dependencies = [ "bytes", "futures-core", @@ -4496,12 +4523,20 @@ dependencies = [ ] [[package]] -name = "toml" -version = "0.5.9" +name = "toml_datetime" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4553f467ac8e3d374bc9a177a26801e5d0f9b211aa1673fb137a403afd1c9cf5" + +[[package]] +name = "toml_edit" +version = "0.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d82e1a7758622a465f8cee077614c73484dac5b836c02ff6a40d5d1010324d7" +checksum = "56c59d8dd7d0dcbc6428bf7aa2f0e823e26e43b3c9aca15bbc9475d23e5fa12b" dependencies = [ - "serde", + "indexmap", + "nom8", + "toml_datetime", ] [[package]] @@ -4610,15 +4645,15 @@ dependencies = [ [[package]] name = "try-lock" -version = "0.2.3" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642" +checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed" [[package]] name = "tt-call" -version = "1.0.8" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e66dcbec4290c69dd03c57e76c2469ea5c7ce109c6dd4351c13055cf71ea055" +checksum = "f4f195fd851901624eee5a58c4bb2b4f06399148fcd0ed336e6f1cb60a9881df" [[package]] name = "twox-hash" @@ -4634,9 +4669,9 @@ dependencies = [ [[package]] name = "typenum" -version = "1.15.0" +version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987" +checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba" [[package]] name = "uint" @@ -4652,15 +4687,15 @@ dependencies = [ [[package]] name = "unicode-bidi" -version = "0.3.8" +version = "0.3.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "099b7128301d285f79ddd55b9a83d5e6b9e97c92e0ea0daebee7263e932de992" +checksum = "d54675592c1dbefd78cbd98db9bacd89886e1ca50692a0692baefffdeb92dd58" [[package]] name = "unicode-ident" -version = "1.0.5" +version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ceab39d59e4c9499d4e5a8ee0e2735b891bb7308ac83dfb4e80cad195c9f6f3" +checksum = "84a22b9f218b40614adcb3f4ff08b703773ad44fa9423e4e0d346d5db86e4ebc" [[package]] name = "unicode-normalization" @@ -4743,9 +4778,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.83" +version = "0.2.84" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eaf9f5aceeec8be17c128b2e93e031fb8a4d469bb9c4ae2d7dc1888b26887268" +checksum = "31f8dcbc21f30d9b8f2ea926ecb58f6b91192c17e9d33594b3df58b2007ca53b" dependencies = [ "cfg-if", "wasm-bindgen-macro", @@ -4753,9 +4788,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.83" +version = "0.2.84" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c8ffb332579b0557b52d268b91feab8df3615f265d5270fec2a8c95b17c1142" +checksum = "95ce90fd5bcc06af55a641a86428ee4229e44e07033963a2290a8e241607ccb9" dependencies = [ "bumpalo", "log", @@ -4768,9 +4803,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.83" +version = "0.2.84" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "052be0f94026e6cbc75cdefc9bae13fd6052cdcaf532fa6c45e7ae33a1e6c810" +checksum = "4c21f77c0bedc37fd5dc21f897894a5ca01e7bb159884559461862ae90c0b4c5" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -4778,9 +4813,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.83" +version = "0.2.84" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07bc0c051dc5f23e307b13285f9d75df86bfdf816c5721e573dec1f9b8aa193c" +checksum = "2aff81306fcac3c7515ad4e177f521b5c9a15f2b08f4e32d823066102f35a5f6" dependencies = [ "proc-macro2", "quote", @@ -4791,9 +4826,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-shared" -version = "0.2.83" +version = "0.2.84" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c38c045535d93ec4f0b4defec448e4291638ee608530863b1e2ba115d4fff7f" +checksum = "0046fef7e28c3804e5e38bfa31ea2a0f73905319b677e57ebe37e49358989b5d" [[package]] name = "wasmi" @@ -4849,7 +4884,7 @@ dependencies = [ "indexmap", "libc", "log", - "object", + "object 0.29.0", "once_cell", "paste", "psm", @@ -4879,10 +4914,10 @@ checksum = "ebb881c61f4f627b5d45c54e629724974f8a8890d455bcbe634330cc27309644" dependencies = [ "anyhow", "cranelift-entity", - "gimli", + "gimli 0.26.2", "indexmap", "log", - "object", + "object 0.29.0", "serde", "target-lexicon", "thiserror", @@ -4896,14 +4931,14 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1985c628011fe26adf5e23a5301bdc79b245e0e338f14bb58b39e4e25e4d8681" dependencies = [ - "addr2line", + "addr2line 0.17.0", "anyhow", "bincode", "cfg-if", "cpp_demangle", - "gimli", + "gimli 0.26.2", "log", - "object", + "object 0.29.0", "rustc-demangle", "rustix", "serde", @@ -4961,9 +4996,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.60" +version = "0.3.61" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcda906d8be16e728fd5adc5b729afad4e444e106ab28cd1c7256e54fa61510f" +checksum = "e33b99f4b23ba3eec1a53ac264e35a755f00e966e0065077d6027c0f575b0b97" dependencies = [ "js-sys", "wasm-bindgen", @@ -4981,9 +5016,9 @@ dependencies = [ [[package]] name = "webpki-roots" -version = "0.22.5" +version = "0.22.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "368bfe657969fb01238bb756d351dcade285e0f6fcbd36dcb23359a5169975be" +checksum = "b6c71e40d7d2c34a5106301fb632274ca37242cd0c9d3e64dbece371a40a2d87" dependencies = [ "webpki", ] @@ -5039,19 +5074,43 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" dependencies = [ "windows_aarch64_gnullvm", - "windows_aarch64_msvc 0.42.0", - "windows_i686_gnu 0.42.0", - "windows_i686_msvc 0.42.0", - "windows_x86_64_gnu 0.42.0", + "windows_aarch64_msvc 0.42.1", + "windows_i686_gnu 0.42.1", + "windows_i686_msvc 0.42.1", + "windows_x86_64_gnu 0.42.1", + "windows_x86_64_gnullvm", + "windows_x86_64_msvc 0.42.1", +] + +[[package]] +name = "windows-sys" +version = "0.45.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" +dependencies = [ + "windows-targets", +] + +[[package]] +name = "windows-targets" +version = "0.42.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e2522491fbfcd58cc84d47aeb2958948c4b8982e9a2d8a2a35bbaed431390e7" +dependencies = [ + "windows_aarch64_gnullvm", + "windows_aarch64_msvc 0.42.1", + "windows_i686_gnu 0.42.1", + "windows_i686_msvc 0.42.1", + "windows_x86_64_gnu 0.42.1", "windows_x86_64_gnullvm", - "windows_x86_64_msvc 0.42.0", + "windows_x86_64_msvc 0.42.1", ] [[package]] name = "windows_aarch64_gnullvm" -version = "0.42.0" +version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41d2aa71f6f0cbe00ae5167d90ef3cfe66527d6f613ca78ac8024c3ccab9a19e" +checksum = "8c9864e83243fdec7fc9c5444389dcbbfd258f745e7853198f365e3c4968a608" [[package]] name = "windows_aarch64_msvc" @@ -5061,9 +5120,9 @@ checksum = "9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47" [[package]] name = "windows_aarch64_msvc" -version = "0.42.0" +version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd0f252f5a35cac83d6311b2e795981f5ee6e67eb1f9a7f64eb4500fbc4dcdb4" +checksum = "4c8b1b673ffc16c47a9ff48570a9d85e25d265735c503681332589af6253c6c7" [[package]] name = "windows_i686_gnu" @@ -5073,9 +5132,9 @@ checksum = "180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6" [[package]] name = "windows_i686_gnu" -version = "0.42.0" +version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbeae19f6716841636c28d695375df17562ca208b2b7d0dc47635a50ae6c5de7" +checksum = "de3887528ad530ba7bdbb1faa8275ec7a1155a45ffa57c37993960277145d640" [[package]] name = "windows_i686_msvc" @@ -5085,9 +5144,9 @@ checksum = "e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024" [[package]] name = "windows_i686_msvc" -version = "0.42.0" +version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84c12f65daa39dd2babe6e442988fc329d6243fdce47d7d2d155b8d874862246" +checksum = "bf4d1122317eddd6ff351aa852118a2418ad4214e6613a50e0191f7004372605" [[package]] name = "windows_x86_64_gnu" @@ -5097,15 +5156,15 @@ checksum = "4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1" [[package]] name = "windows_x86_64_gnu" -version = "0.42.0" +version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf7b1b21b5362cbc318f686150e5bcea75ecedc74dd157d874d754a2ca44b0ed" +checksum = "c1040f221285e17ebccbc2591ffdc2d44ee1f9186324dd3e84e99ac68d699c45" [[package]] name = "windows_x86_64_gnullvm" -version = "0.42.0" +version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09d525d2ba30eeb3297665bd434a54297e4170c7f1a44cad4ef58095b4cd2028" +checksum = "628bfdf232daa22b0d64fdb62b09fcc36bb01f05a3939e20ab73aaf9470d0463" [[package]] name = "windows_x86_64_msvc" @@ -5115,9 +5174,9 @@ checksum = "c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680" [[package]] name = "windows_x86_64_msvc" -version = "0.42.0" +version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f40009d85759725a34da6d89a94e63d7bdc50a862acf0dbc7c8e488f1edcb6f5" +checksum = "447660ad36a13288b1db4d4248e857b510e8c3a225c822ba4fb748c0aafecffd" [[package]] name = "wyz" diff --git a/bin/cliain/Cargo.toml b/bin/cliain/Cargo.toml index c8817bcbe8..d7cd482a39 100644 --- a/bin/cliain/Cargo.toml +++ b/bin/cliain/Cargo.toml @@ -10,17 +10,17 @@ anyhow = "1.0" clap = { version = "3.0", features = ["derive"] } codec = { package = 'parity-scale-codec', version = "3.0.0", features = ['derive'] } contract-metadata = { git = "https://github.com/paritytech/cargo-contract.git", tag = "v1.4.0"} -contract-transcode = { version = "2.0.0-beta" } +contract-transcode = { version = "=2.0.0-beta" } dialoguer = "0.10.0" env_logger = "0.8" hex = "0.4.3" ink_metadata = { version = "4.0.0-beta", features = ["derive"] } log = "0.4" -pallet-staking = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +pallet-staking = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } primitives = { path = "../../primitives" } serde = { version = "1.0.137", features = ["derive"] } serde_json = "1.0.81" -sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35", features = ["full_crypto"] } +sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36", features = ["full_crypto"] } tokio = { version = "1.21.2", features = ["full"] } subxt = "0.25.0" diff --git a/bin/node/Cargo.toml b/bin/node/Cargo.toml index e32a0ae2dd..4f41e5a385 100644 --- a/bin/node/Cargo.toml +++ b/bin/node/Cargo.toml @@ -26,33 +26,34 @@ hex-literal = "0.3" libp2p = "0.49.0" thiserror = "1.0" -sp-application-crypto = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -sc-block-builder = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -sc-chain-spec = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35"} -sc-cli = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -sc-executor = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -sc-service = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -sc-telemetry = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -sc-keystore = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -sp-keystore = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -sp-inherents = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -sc-basic-authorship = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -sc-network = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -sc-transaction-pool = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -sp-transaction-pool = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -sc-transaction-pool-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -sc-consensus-aura = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -sp-consensus-aura = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -sp-consensus = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -sc-consensus = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -sc-client-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -sp-timestamp = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -pallet-staking = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -try-runtime-cli = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35", optional = true } -sc-consensus-slots = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -sp-arithmetic = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +sp-application-crypto = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +sc-block-builder = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +sc-chain-spec = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36"} +sc-cli = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +sc-executor = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +sc-service = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +sc-telemetry = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +sc-keystore = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +sp-keystore = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +sp-inherents = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +sc-basic-authorship = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +sc-network = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +sc-transaction-pool = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +sp-transaction-pool = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +sc-transaction-pool-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +sc-consensus-aura = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +sp-consensus-aura = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +sp-consensus = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +sc-consensus = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +sc-client-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +sp-timestamp = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +pallet-staking = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +try-runtime-cli = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36", optional = true } +sc-consensus-slots = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +sp-arithmetic = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +sp-io = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } aleph-runtime = { path = "../runtime" } finality-aleph = { path = "../../finality-aleph" } @@ -60,16 +61,16 @@ aleph-primitives = { package = "primitives", path = "../../primitives" } # These dependencies are used for the node's RPCs jsonrpsee = { version = "0.16.2", features = ["server"] } -sc-rpc = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -sp-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -sc-rpc-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -sp-blockchain = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -sp-block-builder = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -substrate-frame-rpc-system = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -pallet-transaction-payment-rpc = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +sc-rpc = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +sp-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +sc-rpc-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +sp-blockchain = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +sp-block-builder = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +substrate-frame-rpc-system = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +pallet-transaction-payment-rpc = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } [build-dependencies] -substrate-build-script-utils = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +substrate-build-script-utils = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } [features] default = [] diff --git a/bin/node/src/main.rs b/bin/node/src/main.rs index 03ec6b8e9b..3572ffe641 100644 --- a/bin/node/src/main.rs +++ b/bin/node/src/main.rs @@ -109,6 +109,7 @@ fn main() -> sc_cli::Result<()> { } #[cfg(feature = "try-runtime")] Some(Subcommand::TryRuntime(cmd)) => { + use sc_executor::{sp_wasm_interface::ExtendedHostFunctions, NativeExecutionDispatch}; let runner = cli.create_runner(cmd)?; runner.async_run(|config| { let registry = config.prometheus_config.as_ref().map(|cfg| &cfg.registry); @@ -116,7 +117,13 @@ fn main() -> sc_cli::Result<()> { sc_service::TaskManager::new(config.tokio_handle.clone(), registry) .map_err(|e| sc_cli::Error::Service(sc_service::Error::Prometheus(e)))?; - Ok((cmd.run::(config), task_manager)) + Ok(( + cmd.run::::ExtendHostFunctions, + >>(), + task_manager, + )) }) } #[cfg(not(feature = "try-runtime"))] diff --git a/bin/runtime/Cargo.toml b/bin/runtime/Cargo.toml index 8d1dd8e9a1..c4d070011c 100644 --- a/bin/runtime/Cargo.toml +++ b/bin/runtime/Cargo.toml @@ -15,54 +15,54 @@ codec = { package = "parity-scale-codec", version = "3.0", default-features = fa scale-info = { version = "2.0", default-features = false, features = ["derive"] } serde = { version = "1.0", optional = true, features = ["derive"] } -frame-executive = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -frame-support = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -frame-system = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -frame-system-rpc-runtime-api = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -frame-try-runtime = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35", optional = true } +frame-executive = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +frame-support = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +frame-system = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +frame-system-rpc-runtime-api = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +frame-try-runtime = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36", optional = true } -pallet-aura = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -pallet-authorship = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -pallet-balances = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -pallet-contracts = { git = "https://github.com/Cardinal-Cryptography/substrate", default-features = false, branch = "aleph-v0.9.35" } -pallet-contracts-primitives = { git = "https://github.com/Cardinal-Cryptography/substrate", default-features = false, branch = "aleph-v0.9.35" } -pallet-identity = { git = "https://github.com/Cardinal-Cryptography/substrate", default-features = false, branch = "aleph-v0.9.35" } -pallet-randomness-collective-flip = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -pallet-session = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -pallet-scheduler = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -pallet-staking = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -pallet-sudo = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -pallet-timestamp = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -pallet-transaction-payment = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -pallet-transaction-payment-rpc-runtime-api = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -pallet-treasury = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -pallet-vesting = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -pallet-multisig = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -pallet-utility = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -pallet-nomination-pools = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -pallet-nomination-pools-runtime-api = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +pallet-aura = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +pallet-authorship = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +pallet-balances = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +pallet-contracts = { git = "https://github.com/Cardinal-Cryptography/substrate", default-features = false, branch = "aleph-v0.9.36" } +pallet-contracts-primitives = { git = "https://github.com/Cardinal-Cryptography/substrate", default-features = false, branch = "aleph-v0.9.36" } +pallet-identity = { git = "https://github.com/Cardinal-Cryptography/substrate", default-features = false, branch = "aleph-v0.9.36" } +pallet-randomness-collective-flip = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +pallet-session = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +pallet-scheduler = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +pallet-staking = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +pallet-sudo = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +pallet-timestamp = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +pallet-transaction-payment = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +pallet-transaction-payment-rpc-runtime-api = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +pallet-treasury = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +pallet-vesting = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +pallet-multisig = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +pallet-utility = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +pallet-nomination-pools = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +pallet-nomination-pools-runtime-api = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -sp-api = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -sp-block-builder = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -sp-consensus-aura = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -sp-core = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -sp-inherents = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -sp-offchain = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -sp-runtime = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -sp-session = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -sp-staking = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -sp-std = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -sp-transaction-pool = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -sp-version = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +sp-api = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +sp-block-builder = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +sp-consensus-aura = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +sp-core = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +sp-inherents = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +sp-offchain = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +sp-runtime = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +sp-session = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +sp-staking = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +sp-std = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +sp-transaction-pool = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +sp-version = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } # NOTE: these two disabled features collide with std in wasm -sp-io = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +sp-io = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } primitives = { path = "../../primitives", default-features = false } pallet-aleph = { path = "../../pallets/aleph", default-features = false } pallet-elections = { path = "../../pallets/elections", default-features = false } [build-dependencies] -substrate-wasm-builder = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +substrate-wasm-builder = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } [features] default = ["std"] diff --git a/bin/runtime/src/lib.rs b/bin/runtime/src/lib.rs index 8949983059..44ec9307c4 100644 --- a/bin/runtime/src/lib.rs +++ b/bin/runtime/src/lib.rs @@ -108,7 +108,7 @@ pub const VERSION: RuntimeVersion = RuntimeVersion { spec_name: create_runtime_str!("aleph-node"), impl_name: create_runtime_str!("aleph-node"), authoring_version: 1, - spec_version: 53, + spec_version: 54, impl_version: 1, apis: RUNTIME_API_VERSIONS, transaction_version: 14, @@ -689,6 +689,7 @@ impl pallet_contracts::Config for Runtime { type MaxCodeLen = ConstU32<{ 128 * 1024 }>; type MaxStorageKeyLen = ConstU32<128>; type UnsafeUnstableInterface = ConstBool; + type MaxDebugBufferLen = ConstU32<{ 2 * 1024 * 1024 }>; } parameter_types! { @@ -998,17 +999,18 @@ impl_runtime_apis! { #[cfg(feature = "try-runtime")] impl frame_try_runtime::TryRuntime for Runtime { - fn on_runtime_upgrade() -> (Weight, Weight) { - let weight = Executive::try_runtime_upgrade().unwrap(); + fn on_runtime_upgrade(checks: bool) -> (Weight, Weight) { + let weight = Executive::try_runtime_upgrade(checks).unwrap(); (weight, BlockWeights::get().max_block) } fn execute_block( block: Block, state_root_check: bool, - select: frame_try_runtime::TryStateSelect + checks: bool, + select: frame_try_runtime::TryStateSelect, ) -> Weight { - Executive::try_execute_block(block, state_root_check, select).unwrap() + Executive::try_execute_block(block, state_root_check, checks, select).unwrap() } } } diff --git a/contracts/adder/Cargo.toml b/contracts/adder/Cargo.toml old mode 100755 new mode 100644 diff --git a/e2e-tests/Cargo.lock b/e2e-tests/Cargo.lock index 681dd972ab..e4f61b276e 100644 --- a/e2e-tests/Cargo.lock +++ b/e2e-tests/Cargo.lock @@ -27,7 +27,7 @@ version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a76fd60b23679b7d19bd066031410fb7e458ccc5e958eb5c325888ce4baedc97" dependencies = [ - "gimli 0.27.0", + "gimli 0.27.2", ] [[package]] @@ -79,8 +79,8 @@ dependencies = [ "rand 0.8.5", "rayon", "serde_json", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "synthetic-link", "tokio", ] @@ -91,7 +91,7 @@ version = "2.13.0" dependencies = [ "anyhow", "async-trait", - "contract-metadata 2.0.0-rc", + "contract-metadata 2.0.1", "contract-transcode", "frame-support", "futures", @@ -103,7 +103,7 @@ dependencies = [ "primitives", "serde", "serde_json", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "subxt", "thiserror", ] @@ -128,9 +128,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.68" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2cb2f989d18dd141ab8ae82f64d1a8cdd37e0840f73a406896cf5e99502fab61" +checksum = "224afbd727c3d6e4b90103ece64b8d1b67fbb1973b1046c2281eed3f3803f800" [[package]] name = "approx" @@ -167,24 +167,23 @@ checksum = "8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6" [[package]] name = "assert2" -version = "0.3.7" +version = "0.3.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01456b66bf7c5c8e9e86af730e50f313ba9458fcdd622b11571e3f8fd727ca5d" +checksum = "b08f101feec0a9ef4ef850105353c3726da5db058e19b8c53a6ab1fc4b7f7e33" dependencies = [ "assert2-macros", - "atty", + "is-terminal", "yansi", ] [[package]] name = "assert2-macros" -version = "0.3.7" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45c77509bbd2708f7b3f02350c5481bf167f235aeba95e86fd12a2c6dfe6f61c" +checksum = "7fabe93976c52f6ab5c8c356335953880c1030093b067500b13bd33ec0ea6377" dependencies = [ "proc-macro2", "quote", - "rustc_version", "syn", ] @@ -200,9 +199,9 @@ dependencies = [ [[package]] name = "async-trait" -version = "0.1.61" +version = "0.1.64" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "705339e0e4a9690e2908d2b3d049d85682cf19fbd5782494498fbf7003a6a282" +checksum = "1cd7fce9ba8c3c042128ce72d8b2ddbf3a05747efb67ea0313c635e10bda47a2" dependencies = [ "proc-macro2", "quote", @@ -237,7 +236,7 @@ dependencies = [ "cfg-if", "libc", "miniz_oxide", - "object 0.30.2", + "object 0.30.3", "rustc-demangle", ] @@ -366,9 +365,9 @@ dependencies = [ [[package]] name = "bumpalo" -version = "3.11.1" +version = "3.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "572f695136211188308f16ad2ca5c851a712c464060ae6974944458eb83880ba" +checksum = "0d261e256854913907f67ed06efbc3338dfe6179796deefc1ff763fc1aee5535" [[package]] name = "byte-slice-cast" @@ -390,15 +389,15 @@ checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" [[package]] name = "bytes" -version = "1.3.0" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfb24e866b15a1af2a1b663f10c6b6b8f397a84aadb828f12e5b289ec23a3a3c" +checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be" [[package]] name = "cc" -version = "1.0.78" +version = "1.0.79" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a20104e2335ce8a659d6dd92a51a767a0c062599c73b343fd152cb401e828c3d" +checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f" [[package]] name = "cfg-expr" @@ -429,9 +428,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.0.32" +version = "4.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7db700bc935f9e43e88d00b0850dae18a63773cfbec6d8e070fccf7fef89a39" +checksum = "ec0b0588d44d4d63a87dbd75c136c166bbfd9a86a31cb89e09906521c7d3f5e3" dependencies = [ "bitflags", "clap_derive", @@ -444,9 +443,9 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.0.21" +version = "4.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0177313f9f02afc995627906bbd8967e2be069f5261954222dac78290c2b9014" +checksum = "684a277d672e91966334af371f1a7b5833f9aa00b07c84e92fbce95e00208ce8" dependencies = [ "heck", "proc-macro-error", @@ -457,9 +456,9 @@ dependencies = [ [[package]] name = "clap_lex" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d4198f73e42b4936b35b5bb248d81d2b595ecb170da0bac7655c54eedfa8da8" +checksum = "783fe232adfca04f90f56201b26d79682d4cd2625e0bc7290b95123afe558ade" dependencies = [ "os_str_bytes", ] @@ -495,9 +494,9 @@ dependencies = [ [[package]] name = "contract-metadata" -version = "2.0.0-rc" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "180f2389a624fc4d0e70b207542a508d668e1261b73391bc228775e3f4c84535" +checksum = "f5997814dd5d45804757a616e938c28586875ac793ffc140e57e7ae9f421a066" dependencies = [ "anyhow", "impl-serde", @@ -702,9 +701,9 @@ dependencies = [ [[package]] name = "cxx" -version = "1.0.86" +version = "1.0.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51d1075c37807dcf850c379432f0df05ba52cc30f279c5cfc43cc221ce7f8579" +checksum = "86d3488e7665a7a483b57e25bdd90d0aeb2bc7608c8d0346acf2ad3f1caf1d62" dependencies = [ "cc", "cxxbridge-flags", @@ -714,9 +713,9 @@ dependencies = [ [[package]] name = "cxx-build" -version = "1.0.86" +version = "1.0.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5044281f61b27bc598f2f6647d480aed48d2bf52d6eb0b627d84c0361b17aa70" +checksum = "48fcaf066a053a41a81dfb14d57d99738b767febb8b735c3016e469fac5da690" dependencies = [ "cc", "codespan-reporting", @@ -729,15 +728,15 @@ dependencies = [ [[package]] name = "cxxbridge-flags" -version = "1.0.86" +version = "1.0.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61b50bc93ba22c27b0d31128d2d130a0a6b3d267ae27ef7e4fae2167dfe8781c" +checksum = "a2ef98b8b717a829ca5603af80e1f9e2e48013ab227b68ef37872ef84ee479bf" [[package]] name = "cxxbridge-macro" -version = "1.0.86" +version = "1.0.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39e61fda7e62115119469c7b3591fd913ecca96fb766cfd3f2e2502ab7bc87a5" +checksum = "086c685979a698443656e5cf7856c95c642295a38599f12fb1ff76fb28d19892" dependencies = [ "proc-macro2", "quote", @@ -746,9 +745,9 @@ dependencies = [ [[package]] name = "darling" -version = "0.14.2" +version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0dd3cd20dc6b5a876612a6e5accfe7f3dd883db6d07acfbf14c128f61550dfa" +checksum = "c0808e1bd8671fb44a113a14e13497557533369847788fa2ae912b6ebfce9fa8" dependencies = [ "darling_core", "darling_macro", @@ -756,9 +755,9 @@ dependencies = [ [[package]] name = "darling_core" -version = "0.14.2" +version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a784d2ccaf7c98501746bf0be29b2022ba41fd62a2e622af997a03e9f972859f" +checksum = "001d80444f28e193f30c2f293455da62dcf9a6b29918a4253152ae2b1de592cb" dependencies = [ "fnv", "ident_case", @@ -770,9 +769,9 @@ dependencies = [ [[package]] name = "darling_macro" -version = "0.14.2" +version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7618812407e9402654622dd402b0a89dff9ba93badd6540781526117b92aab7e" +checksum = "b36230598a2d5de7ec1c6f51f72d8a99a9208daff41de2084d06e3fd3ea56685" dependencies = [ "darling_core", "quote", @@ -922,9 +921,9 @@ dependencies = [ [[package]] name = "either" -version = "1.8.0" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90e5c1c8368803113bf0c9584fc495a58b86dc8a29edbf8fe877d21d9507e797" +checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91" [[package]] name = "elliptic-curve" @@ -947,9 +946,9 @@ dependencies = [ [[package]] name = "encoding_rs" -version = "0.8.31" +version = "0.8.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9852635589dc9f9ea1b6fe9f05b50ef208c85c834a562f0c6abb1c475736ec2b" +checksum = "071a31f4ee85403370b58aca746f01041ede6f0da2730960ad001edc2b71b394" dependencies = [ "cfg-if", ] @@ -1036,9 +1035,9 @@ checksum = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7" [[package]] name = "fastrand" -version = "1.8.0" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7a407cfaa3385c4ae6b23e84623d48c2798d06e3e6a1878f7f59f17b3f86499" +checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be" dependencies = [ "instant", ] @@ -1098,7 +1097,7 @@ dependencies = [ [[package]] name = "frame-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "frame-support", "frame-system", @@ -1109,19 +1108,19 @@ dependencies = [ "scale-info", "serde", "sp-api", - "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", ] [[package]] name = "frame-election-provider-solution-type" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -1132,17 +1131,18 @@ dependencies = [ [[package]] name = "frame-election-provider-support" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "frame-election-provider-solution-type", "frame-support", "frame-system", "parity-scale-codec", "scale-info", - "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "sp-npos-elections", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", ] [[package]] @@ -1160,7 +1160,7 @@ dependencies = [ [[package]] name = "frame-support" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "bitflags", "frame-metadata", @@ -1175,24 +1175,24 @@ dependencies = [ "serde", "smallvec", "sp-api", - "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "sp-core-hashing-proc-macro", "sp-inherents", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "sp-staking", - "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "tt-call", ] [[package]] name = "frame-support-procedural" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "Inflector", "cfg-expr", @@ -1206,7 +1206,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate", @@ -1218,7 +1218,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "proc-macro2", "quote", @@ -1228,19 +1228,19 @@ dependencies = [ [[package]] name = "frame-system" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "frame-support", "log", "parity-scale-codec", "scale-info", "serde", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "sp-version", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", ] [[package]] @@ -1251,9 +1251,9 @@ checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" [[package]] name = "futures" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38390104763dc37a5145a53c29c63c1290b5d316d6086ec32c293f6736051bb0" +checksum = "13e2792b0ff0340399d58445b88fd9770e3489eff258a4cbc1523418f12abf84" dependencies = [ "futures-channel", "futures-core", @@ -1266,9 +1266,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52ba265a92256105f45b719605a571ffe2d1f0fea3807304b522c1d778f79eed" +checksum = "2e5317663a9089767a1ec00a487df42e0ca174b61b4483213ac24448e4664df5" dependencies = [ "futures-core", "futures-sink", @@ -1276,15 +1276,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04909a7a7e4633ae6c4a9ab280aeb86da1236243a77b694a49eacd659a4bd3ac" +checksum = "ec90ff4d0fe1f57d600049061dc6bb68ed03c7d2fbd697274c41805dcb3f8608" [[package]] name = "futures-executor" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7acc85df6714c176ab5edf386123fafe217be88c0840ec11f199441134a074e2" +checksum = "e8de0a35a6ab97ec8869e32a2473f4b1324459e14c29275d14b10cb1fd19b50e" dependencies = [ "futures-core", "futures-task", @@ -1294,9 +1294,9 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00f5fb52a06bdcadeb54e8d3671f8888a39697dcb0b81b23b55174030427f4eb" +checksum = "bfb8371b6fb2aeb2d280374607aeabfc99d95c72edfe51692e42d3d7f0d08531" [[package]] name = "futures-lite" @@ -1315,9 +1315,9 @@ dependencies = [ [[package]] name = "futures-macro" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bdfb8ce053d86b91919aad980c220b1fb8401a9394410e1c289ed7e66b61835d" +checksum = "95a73af87da33b5acf53acfebdc339fe592ecf5357ac7c0a7734ab9d8c876a70" dependencies = [ "proc-macro2", "quote", @@ -1326,15 +1326,15 @@ dependencies = [ [[package]] name = "futures-sink" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39c15cf1a4aa79df40f1bb462fb39676d0ad9e366c2a33b590d7c66f4f81fcf9" +checksum = "f310820bb3e8cfd46c80db4d7fb8353e15dfff853a127158425f31e0be6c8364" [[package]] name = "futures-task" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ffb393ac5d9a6eaa9d3fdf37ae2776656b706e200c8e16b1bdb227f5198e6ea" +checksum = "dcf79a1bf610b10f42aea489289c5a2c478a786509693b80cd39c44ccd936366" [[package]] name = "futures-timer" @@ -1344,9 +1344,9 @@ checksum = "e64b03909df88034c26dc1547e8970b91f98bdb65165d6a4e9110d94263dbb2c" [[package]] name = "futures-util" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "197676987abd2f9cadff84926f410af1c183608d36641465df73ae8211dc65d6" +checksum = "9c1d6de3acfef38d2be4b1f543f553131788603495be83da675e180c8d6b7bd1" dependencies = [ "futures-channel", "futures-core", @@ -1417,9 +1417,9 @@ dependencies = [ [[package]] name = "gimli" -version = "0.27.0" +version = "0.27.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dec7af912d60cdbd3677c1af9352ebae6fb8394d165568a2234df0fa00f87793" +checksum = "ad0a93d233ebf96623465aad4046a8d3aa4da22d4f4beba5388838c8a434bbb4" [[package]] name = "group" @@ -1477,9 +1477,9 @@ dependencies = [ [[package]] name = "heck" -version = "0.4.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9" +checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" [[package]] name = "hermit-abi" @@ -1499,6 +1499,12 @@ dependencies = [ "libc", ] +[[package]] +name = "hermit-abi" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286" + [[package]] name = "hex" version = "0.4.3" @@ -1547,9 +1553,9 @@ dependencies = [ [[package]] name = "http" -version = "0.2.8" +version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75f43d41e26995c17e71ee126451dd3941010b0514a81a9d11f3b341debc2399" +checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482" dependencies = [ "bytes", "fnv", @@ -1587,9 +1593,9 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" [[package]] name = "hyper" -version = "0.14.23" +version = "0.14.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "034711faac9d2166cb1baf1a2fb0b60b1f277f8492fd72176c17f3515e1abd3c" +checksum = "5e011372fa0b68db8350aa7a248930ecc7839bf46d8485577d69f117a75f164c" dependencies = [ "bytes", "futures-channel", @@ -1726,33 +1732,33 @@ dependencies = [ [[package]] name = "ink_allocator" -version = "4.0.0-beta" +version = "4.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b36dadecdc7e33b0fe1c198b52d474ce73ccd93ffd8acd6ded02458b4a58a2d9" +checksum = "5323d4f43900266f2d5462cbe2a96d4182d634da0cfc1078d26c74d4117e0ce9" dependencies = [ "cfg-if", ] [[package]] name = "ink_engine" -version = "4.0.0-beta" +version = "4.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "319a74f3313698ae6d4ae5b43164a1e0efbfd45bd0f7ef689745f98f6e505998" +checksum = "de001b0907475ab10211093569d8b92726ef7a37d04b6e90c8a2864fbe14d050" dependencies = [ "blake2", "derive_more", "ink_primitives", "parity-scale-codec", - "secp256k1", + "secp256k1 0.26.0", "sha2 0.10.6", "sha3", ] [[package]] name = "ink_env" -version = "4.0.0-beta" +version = "4.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4543d0e0e5d1d97ce1ccb225599603ab15fb9d486f692176649b43a1311a8ad7" +checksum = "b0354567725e4f635a5c5694e4e4cac105e3e78cefd948ca5ab6cc92ea3d8231" dependencies = [ "arrayref", "blake2", @@ -1769,7 +1775,7 @@ dependencies = [ "paste", "rlibc", "scale-info", - "secp256k1", + "secp256k1 0.26.0", "sha2 0.10.6", "sha3", "static_assertions", @@ -1777,9 +1783,9 @@ dependencies = [ [[package]] name = "ink_metadata" -version = "4.0.0-beta" +version = "4.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "caa94adad4fca9e3a79a1c5b0edc1ea2109ef56a955a57df35b2ad32c461ac21" +checksum = "9dfb4d5448446656ebf83d800c06effeffc063967ef5986d7d1a277e3e507dae" dependencies = [ "derive_more", "impl-serde", @@ -1791,18 +1797,18 @@ dependencies = [ [[package]] name = "ink_prelude" -version = "4.0.0-beta" +version = "4.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5962125f78304bc2b3083391cbd579125c64ce17e61b019034094faf772c915a" +checksum = "c2626fb0c922f923965774cdd8cddeaaa204931d0ed19e0bf43702b033924173" dependencies = [ "cfg-if", ] [[package]] name = "ink_primitives" -version = "4.0.0-beta" +version = "4.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90f4f26208fe23e12d436917697b951252519484134a3561fe8b65a5abc97aa9" +checksum = "91066af898fe4c59b2ed0aca678238928b551dc75f5284bf1422e9f1bb6b2204" dependencies = [ "derive_more", "ink_prelude", @@ -1813,9 +1819,9 @@ dependencies = [ [[package]] name = "ink_storage_traits" -version = "4.0.0-beta" +version = "4.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "596247891eb221a0b7debce9f8cf123b9a14f23a4a10664e73ec16d9eb1e92e9" +checksum = "da15ceaef6bdbece3e8b6338df899ef94e3921d03387fa941af8df3b38803523" dependencies = [ "ink_metadata", "ink_prelude", @@ -1851,12 +1857,12 @@ checksum = "59ce5ef949d49ee85593fc4d3f3f95ad61657076395cbbce23e2121fc5542074" [[package]] name = "io-lifetimes" -version = "1.0.4" +version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7d6c6f8c91b4b9ed43484ad1a938e393caf35960fce7f82a040497207bd8e9e" +checksum = "1abeb7a0dd0f8181267ff8adc397075586500b81b28a73e8a0208b00fc170fb3" dependencies = [ "libc", - "windows-sys 0.42.0", + "windows-sys 0.45.0", ] [[package]] @@ -1867,14 +1873,14 @@ checksum = "30e22bd8629359895450b59ea7a776c850561b96a3b1d31321c1949d9e6c9146" [[package]] name = "is-terminal" -version = "0.4.2" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28dfb6c8100ccc63462345b67d1bbc3679177c75ee4bf59bf29c8b1d110b8189" +checksum = "22e18b0a45d56fe973d6db23972bf5bc46f988a4a2385deac9cc29572f09daef" dependencies = [ - "hermit-abi 0.2.6", - "io-lifetimes 1.0.4", - "rustix 0.36.6", - "windows-sys 0.42.0", + "hermit-abi 0.3.1", + "io-lifetimes 1.0.5", + "rustix 0.36.8", + "windows-sys 0.45.0", ] [[package]] @@ -1900,9 +1906,9 @@ checksum = "72167d68f5fce3b8655487b8038691a3c9984ee769590f93f2a631f4ad64e4f5" [[package]] name = "js-sys" -version = "0.3.60" +version = "0.3.61" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49409df3e3bf0856b916e2ceaca09ee28e6871cf7d9ce97a692cacfdb2a25a47" +checksum = "445dde2150c55e483f3d8416706b97ec8e8237c307e5b7b4b8dd15e6af2a0730" dependencies = [ "wasm-bindgen", ] @@ -2255,14 +2261,14 @@ dependencies = [ [[package]] name = "mio" -version = "0.8.5" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5d732bc30207a6423068df043e3d02e0735b155ad7ce1a6f76fe2baa5b158de" +checksum = "5b9d9a46eff5b4ff64b45a9e316a6d1e0bc719ef429cbec4dc630684212bfdf9" dependencies = [ "libc", "log", "wasi 0.11.0+wasi-snapshot-preview1", - "windows-sys 0.42.0", + "windows-sys 0.45.0", ] [[package]] @@ -2320,9 +2326,9 @@ checksum = "2bf50223579dc7cdcfb3bfcacf7069ff68243f8c363f62ffa99cf000a6b9c451" [[package]] name = "nom" -version = "7.1.2" +version = "7.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5507769c4919c998e69e49c839d9dc6e693ede4cc4290d6ad8b41d4f09c548c" +checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" dependencies = [ "memchr", "minimal-lexical", @@ -2341,6 +2347,15 @@ dependencies = [ "nom", ] +[[package]] +name = "nom8" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae01545c9c7fc4486ab7debaf2aad7003ac19431791868fb2e8066df97fad2f8" +dependencies = [ + "memchr", +] + [[package]] name = "num-bigint" version = "0.4.3" @@ -2354,9 +2369,9 @@ dependencies = [ [[package]] name = "num-complex" -version = "0.4.2" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ae39348c8bc5fbd7f40c727a9925f03517afd2ab27d46702108b6a7e5414c19" +checksum = "02e0d21255c828d6f128a1e41534206671e8c3ea0c62f32291e808dc82cff17d" dependencies = [ "num-traits", ] @@ -2427,18 +2442,18 @@ dependencies = [ [[package]] name = "object" -version = "0.30.2" +version = "0.30.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b8c786513eb403643f2a88c244c2aaa270ef2153f55094587d0c48a3cf22a83" +checksum = "ea86265d3d3dcb6a27fc51bd29a4bf387fae9d2986b823079d4986af253eb439" dependencies = [ "memchr", ] [[package]] name = "once_cell" -version = "1.17.0" +version = "1.17.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f61fba1741ea2b3d6a1e3178721804bb716a68a6aeba1149b5d52e3d464ea66" +checksum = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3" [[package]] name = "opaque-debug" @@ -2506,7 +2521,7 @@ checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee" [[package]] name = "pallet-authorship" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "frame-support", "frame-system", @@ -2514,34 +2529,14 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-authorship", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", -] - -[[package]] -name = "pallet-bags-list" -version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" -dependencies = [ - "frame-benchmarking", - "frame-election-provider-support", - "frame-support", - "frame-system", - "log", - "pallet-balances", - "parity-scale-codec", - "scale-info", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", ] [[package]] name = "pallet-balances" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "frame-benchmarking", "frame-support", @@ -2549,20 +2544,20 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", ] [[package]] name = "pallet-contracts-primitives" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "bitflags", "parity-scale-codec", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", ] [[package]] @@ -2580,17 +2575,17 @@ dependencies = [ "parity-scale-codec", "primitives", "scale-info", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "sp-staking", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", ] [[package]] name = "pallet-session" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "frame-support", "frame-system", @@ -2599,19 +2594,19 @@ dependencies = [ "pallet-timestamp", "parity-scale-codec", "scale-info", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "sp-session", "sp-staking", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", ] [[package]] name = "pallet-staking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -2619,22 +2614,21 @@ dependencies = [ "frame-system", "log", "pallet-authorship", - "pallet-bags-list", "pallet-session", "parity-scale-codec", "scale-info", "serde", - "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "sp-staking", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", ] [[package]] name = "pallet-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "frame-benchmarking", "frame-support", @@ -2643,9 +2637,9 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-inherents", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "sp-timestamp", ] @@ -2654,14 +2648,14 @@ name = "pallets-support" version = "0.1.4" dependencies = [ "frame-support", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", ] [[package]] name = "parity-scale-codec" -version = "3.2.1" +version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "366e44391a8af4cfd6002ef6ba072bae071a96aafca98d7d448a34c5dca38b6a" +checksum = "637935964ff85a605d114591d4d2c13c5d1ba2806dae97cea6bf180238a749ac" dependencies = [ "arrayvec 0.7.2", "bitvec", @@ -2674,9 +2668,9 @@ dependencies = [ [[package]] name = "parity-scale-codec-derive" -version = "3.1.3" +version = "3.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9299338969a3d2f491d65f140b00ddec470858402f888af98e8642fb5e8965cd" +checksum = "86b26a931f824dd4eca30b3e43bb4f31cd5f0d3a403c5f5ff27106b805bfde7b" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -2734,15 +2728,15 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.6" +version = "0.9.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba1ef8814b5c993410bb3adfad7a5ed269563e4a2f90c41f5d85be7fb47133bf" +checksum = "9069cbb9f99e3a5083476ccb29ceb1de18b9118cafa53e90c9551235de2b9521" dependencies = [ "cfg-if", "libc", "redox_syscall", "smallvec", - "windows-sys 0.42.0", + "windows-sys 0.45.0", ] [[package]] @@ -2850,22 +2844,21 @@ dependencies = [ "scale-info", "serde", "sp-api", - "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "sp-staking", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", ] [[package]] name = "proc-macro-crate" -version = "1.2.1" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eda0fc3b0fb7c975631757e14d9049da17374063edb6ebbcbc54d880d4fe94e9" +checksum = "66618389e4ec1c7afe67d51a9bf34ff9236480f8d51e7489b7d5ab0303c13f34" dependencies = [ "once_cell", - "thiserror", - "toml", + "toml_edit", ] [[package]] @@ -2894,9 +2887,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.49" +version = "1.0.51" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57a8eca9f9c4ffde41714334dee777596264c7825420f521abc92b5b5deb63a5" +checksum = "5d727cae5b39d21da60fa540906919ad737832fe0b1c165da3a34d6548c849d6" dependencies = [ "unicode-ident", ] @@ -3034,9 +3027,9 @@ dependencies = [ [[package]] name = "rayon-core" -version = "1.10.1" +version = "1.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cac410af5d00ab6884528b4ab69d1e8e146e8d471201800fa1b4524126de6ad3" +checksum = "356a0625f1954f730c0201cdab48611198dc6ce21f4acff55089b5a78e6e835b" dependencies = [ "crossbeam-channel", "crossbeam-deque", @@ -3110,11 +3103,11 @@ dependencies = [ [[package]] name = "reqwest" -version = "0.11.13" +version = "0.11.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68cc60575865c7831548863cc02356512e3f1dc2f3f82cb837d7fc4cc8f3c97c" +checksum = "21eed90ec8570952d53b772ecf8f206aa1ec9a3d76b2521c56c42973f2d91ee9" dependencies = [ - "base64 0.13.1", + "base64 0.21.0", "bytes", "encoding_rs", "futures-core", @@ -3195,15 +3188,6 @@ version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3e75f6a532d0fd9f7f13144f392b6ad56a32696bfcd9c78f797f16bbb6f072d6" -[[package]] -name = "rustc_version" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" -dependencies = [ - "semver", -] - [[package]] name = "rustix" version = "0.35.13" @@ -3220,16 +3204,16 @@ dependencies = [ [[package]] name = "rustix" -version = "0.36.6" +version = "0.36.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4feacf7db682c6c329c4ede12649cd36ecab0f3be5b7d74e6a20304725db4549" +checksum = "f43abb88211988493c1abb44a70efa56ff0ce98f233b7b276146f1f3f7ba9644" dependencies = [ "bitflags", "errno", - "io-lifetimes 1.0.4", + "io-lifetimes 1.0.5", "libc", "linux-raw-sys 0.1.4", - "windows-sys 0.42.0", + "windows-sys 0.45.0", ] [[package]] @@ -3408,11 +3392,20 @@ dependencies = [ [[package]] name = "secp256k1" -version = "0.24.2" +version = "0.24.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9512ffd81e3a3503ed401f79c33168b9148c75038956039166cd750eaa037c3" +checksum = "6b1629c9c557ef9b293568b338dddfc8208c98a18c59d722a9d53f859d9c9b62" dependencies = [ - "secp256k1-sys", + "secp256k1-sys 0.6.1", +] + +[[package]] +name = "secp256k1" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4124a35fe33ae14259c490fd70fa199a32b9ce9502f2ee6bc4f81ec06fa65894" +dependencies = [ + "secp256k1-sys 0.8.0", ] [[package]] @@ -3424,6 +3417,15 @@ dependencies = [ "cc", ] +[[package]] +name = "secp256k1-sys" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "642a62736682fdd8c71da0eb273e453c8ac74e33b9fb310e22ba5b03ec7651ff" +dependencies = [ + "cc", +] + [[package]] name = "secrecy" version = "0.8.0" @@ -3435,9 +3437,9 @@ dependencies = [ [[package]] name = "security-framework" -version = "2.7.0" +version = "2.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bc1bb97804af6631813c55739f771071e0f2ed33ee20b68c86ec505d906356c" +checksum = "a332be01508d814fed64bf28f798a146d73792121129962fdf335bb3c49a4254" dependencies = [ "bitflags", "core-foundation", @@ -3448,9 +3450,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.6.1" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0160a13a177a45bfb43ce71c01580998474f556ad854dcbca936dd2841a5c556" +checksum = "31c9bb296072e961fcbd8853511dd39c2d8be2deb1e17c6860b1d30732b323b4" dependencies = [ "core-foundation-sys", "libc", @@ -3487,9 +3489,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.91" +version = "1.0.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "877c235533714907a8c2464236f5c4b2a17262ef1bd71f38f35ea592c8da6883" +checksum = "cad406b69c91885b5107daf2c29572f6c8cdb3c66826821e286c533490c0bc76" dependencies = [ "itoa", "ryu", @@ -3589,9 +3591,9 @@ dependencies = [ [[package]] name = "signal-hook-registry" -version = "1.4.0" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e51e73328dc4ac0c7ccbda3a494dfa03df1de2f46018127f60c693f2648455b0" +checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1" dependencies = [ "libc", ] @@ -3620,9 +3622,9 @@ dependencies = [ [[package]] name = "slab" -version = "0.4.7" +version = "0.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4614a76b2a8be0058caa9dbbaf66d988527d86d003c11a94fbd335d7661edcef" +checksum = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d" dependencies = [ "autocfg", ] @@ -3661,17 +3663,17 @@ dependencies = [ [[package]] name = "sp-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "hash-db", "log", "parity-scale-codec", "sp-api-proc-macro", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "sp-version", "thiserror", ] @@ -3679,7 +3681,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "blake2", "proc-macro-crate", @@ -3705,14 +3707,14 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", ] [[package]] @@ -3734,28 +3736,28 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "integer-sqrt", "num-traits", "parity-scale-codec", "scale-info", "serde", - "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "static_assertions", ] [[package]] name = "sp-authorship" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "async-trait", "parity-scale-codec", "sp-inherents", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", ] [[package]] @@ -3787,7 +3789,7 @@ dependencies = [ "regex", "scale-info", "schnorrkel", - "secp256k1", + "secp256k1 0.24.3", "secrecy", "serde", "sp-core-hashing 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3807,7 +3809,7 @@ dependencies = [ [[package]] name = "sp-core" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "array-bytes", "base58", @@ -3832,15 +3834,15 @@ dependencies = [ "regex", "scale-info", "schnorrkel", - "secp256k1", + "secp256k1 0.24.3", "secrecy", "serde", - "sp-core-hashing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-core-hashing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "ss58-registry", "substrate-bip39", "thiserror", @@ -3867,25 +3869,25 @@ dependencies = [ [[package]] name = "sp-core-hashing" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "blake2", "byteorder", "digest 0.10.6", "sha2 0.10.6", "sha3", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "twox-hash", ] [[package]] name = "sp-core-hashing-proc-macro" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "proc-macro2", "quote", - "sp-core-hashing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-core-hashing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "syn", ] @@ -3903,7 +3905,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "proc-macro2", "quote", @@ -3925,25 +3927,25 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.13.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "environmental", "parity-scale-codec", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", ] [[package]] name = "sp-inherents" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "async-trait", "impl-trait-for-tuples", "parity-scale-codec", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "thiserror", ] @@ -3960,7 +3962,7 @@ dependencies = [ "log", "parity-scale-codec", "parking_lot", - "secp256k1", + "secp256k1 0.24.3", "sp-core 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "sp-externalities 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", "sp-keystore 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3977,7 +3979,7 @@ dependencies = [ [[package]] name = "sp-io" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "bytes", "ed25519-dalek", @@ -3987,16 +3989,16 @@ dependencies = [ "log", "parity-scale-codec", "parking_lot", - "secp256k1", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-keystore 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-wasm-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "secp256k1 0.24.3", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-keystore 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-wasm-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "tracing", "tracing-core", ] @@ -4021,7 +4023,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.13.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "async-trait", "futures", @@ -4029,23 +4031,23 @@ dependencies = [ "parity-scale-codec", "parking_lot", "schnorrkel", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "thiserror", ] [[package]] name = "sp-npos-elections" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", ] [[package]] @@ -4062,7 +4064,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "backtrace", "lazy_static", @@ -4096,7 +4098,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "either", "hash256-std-hasher", @@ -4107,12 +4109,12 @@ dependencies = [ "rand 0.7.3", "scale-info", "serde", - "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", ] [[package]] @@ -4137,18 +4139,18 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "bytes", "impl-trait-for-tuples", "parity-scale-codec", "primitive-types", - "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-runtime-interface-proc-macro 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-wasm-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-runtime-interface-proc-macro 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-wasm-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "static_assertions", ] @@ -4168,7 +4170,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "Inflector", "proc-macro-crate", @@ -4180,26 +4182,27 @@ dependencies = [ [[package]] name = "sp-session" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "parity-scale-codec", "scale-info", "sp-api", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "sp-staking", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", ] [[package]] name = "sp-staking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "parity-scale-codec", "scale-info", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", ] [[package]] @@ -4228,7 +4231,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.13.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "hash-db", "log", @@ -4237,11 +4240,11 @@ dependencies = [ "parking_lot", "rand 0.7.3", "smallvec", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-panic-handler 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-panic-handler 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "thiserror", "tracing", "trie-root", @@ -4256,7 +4259,7 @@ checksum = "cf3fd4c1d304be101e6ebbafd3d4be9a37b320c970ef4e8df188b16873981c93" [[package]] name = "sp-std" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" [[package]] name = "sp-storage" @@ -4275,20 +4278,20 @@ dependencies = [ [[package]] name = "sp-storage" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "impl-serde", "parity-scale-codec", "ref-cast", "serde", - "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", ] [[package]] name = "sp-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "async-trait", "futures-timer", @@ -4296,8 +4299,8 @@ dependencies = [ "parity-scale-codec", "sp-api", "sp-inherents", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "thiserror", ] @@ -4317,10 +4320,10 @@ dependencies = [ [[package]] name = "sp-tracing" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "parity-scale-codec", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "tracing", "tracing-core", "tracing-subscriber", @@ -4353,7 +4356,7 @@ dependencies = [ [[package]] name = "sp-trie" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "ahash", "hash-db", @@ -4365,8 +4368,8 @@ dependencies = [ "parity-scale-codec", "parking_lot", "scale-info", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "thiserror", "tracing", "trie-db", @@ -4376,7 +4379,7 @@ dependencies = [ [[package]] name = "sp-version" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "impl-serde", "parity-scale-codec", @@ -4384,8 +4387,8 @@ dependencies = [ "scale-info", "serde", "sp-core-hashing-proc-macro", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "sp-version-proc-macro", "thiserror", ] @@ -4393,7 +4396,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "parity-scale-codec", "proc-macro2", @@ -4417,12 +4420,12 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "impl-trait-for-tuples", "log", "parity-scale-codec", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "wasmi", "wasmtime", ] @@ -4447,17 +4450,17 @@ dependencies = [ [[package]] name = "sp-weights" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", "scale-info", "serde", "smallvec", - "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", ] [[package]] @@ -4478,9 +4481,9 @@ dependencies = [ [[package]] name = "ss58-registry" -version = "1.37.0" +version = "1.38.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d44528162f980c0e03c71e005d334332c8da0aec9f2b0b4bdc557ed4a9f24776" +checksum = "e40c020d72bc0a9c5660bb71e4a6fdef081493583062c474740a7d59f55f0e7b" dependencies = [ "Inflector", "num-format", @@ -4680,9 +4683,9 @@ dependencies = [ [[package]] name = "termcolor" -version = "1.1.3" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755" +checksum = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6" dependencies = [ "winapi-util", ] @@ -4709,10 +4712,11 @@ dependencies = [ [[package]] name = "thread_local" -version = "1.1.4" +version = "1.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5516c27b78311c50bf42c071425c560ac799b11c30b31f87e3081965fe5e0180" +checksum = "3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152" dependencies = [ + "cfg-if", "once_cell", ] @@ -4746,15 +4750,15 @@ dependencies = [ [[package]] name = "tinyvec_macros" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" +checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.24.1" +version = "1.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d9f76183f91ecfb55e1d7d5602bd1d979e38a3a522fe900241cf195624d67ae" +checksum = "c8e00990ebabbe4c14c08aca901caed183ecd5c09562a12c824bb53d3c3fd3af" dependencies = [ "autocfg", "bytes", @@ -4783,9 +4787,9 @@ dependencies = [ [[package]] name = "tokio-native-tls" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7d995660bd2b7f8c1568414c1126076c13fbb725c40112dc0120b78eb9b717b" +checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2" dependencies = [ "native-tls", "tokio", @@ -4804,9 +4808,9 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.4" +version = "0.7.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bb2e075f03b3d66d8d8785356224ba688d2906a371015e225beeb65ca92c740" +checksum = "5427d89453009325de0d8f342c9490009f76e999cb7672d77e46267448f7e6b2" dependencies = [ "bytes", "futures-core", @@ -4818,12 +4822,20 @@ dependencies = [ ] [[package]] -name = "toml" -version = "0.5.10" +name = "toml_datetime" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1333c76748e868a4d9d1017b5ab53171dfd095f70c712fdb4653a406547f598f" +checksum = "4553f467ac8e3d374bc9a177a26801e5d0f9b211aa1673fb137a403afd1c9cf5" + +[[package]] +name = "toml_edit" +version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56c59d8dd7d0dcbc6428bf7aa2f0e823e26e43b3c9aca15bbc9475d23e5fa12b" dependencies = [ - "serde", + "indexmap", + "nom8", + "toml_datetime", ] [[package]] @@ -4974,9 +4986,9 @@ dependencies = [ [[package]] name = "unicode-bidi" -version = "0.3.8" +version = "0.3.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "099b7128301d285f79ddd55b9a83d5e6b9e97c92e0ea0daebee7263e932de992" +checksum = "d54675592c1dbefd78cbd98db9bacd89886e1ca50692a0692baefffdeb92dd58" [[package]] name = "unicode-ident" @@ -5071,9 +5083,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.83" +version = "0.2.84" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eaf9f5aceeec8be17c128b2e93e031fb8a4d469bb9c4ae2d7dc1888b26887268" +checksum = "31f8dcbc21f30d9b8f2ea926ecb58f6b91192c17e9d33594b3df58b2007ca53b" dependencies = [ "cfg-if", "wasm-bindgen-macro", @@ -5081,9 +5093,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.83" +version = "0.2.84" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c8ffb332579b0557b52d268b91feab8df3615f265d5270fec2a8c95b17c1142" +checksum = "95ce90fd5bcc06af55a641a86428ee4229e44e07033963a2290a8e241607ccb9" dependencies = [ "bumpalo", "log", @@ -5096,9 +5108,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-futures" -version = "0.4.33" +version = "0.4.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23639446165ca5a5de86ae1d8896b737ae80319560fbaa4c2887b7da6e7ebd7d" +checksum = "f219e0d211ba40266969f6dbdd90636da12f75bee4fc9d6c23d1260dadb51454" dependencies = [ "cfg-if", "js-sys", @@ -5108,9 +5120,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.83" +version = "0.2.84" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "052be0f94026e6cbc75cdefc9bae13fd6052cdcaf532fa6c45e7ae33a1e6c810" +checksum = "4c21f77c0bedc37fd5dc21f897894a5ca01e7bb159884559461862ae90c0b4c5" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -5118,9 +5130,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.83" +version = "0.2.84" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07bc0c051dc5f23e307b13285f9d75df86bfdf816c5721e573dec1f9b8aa193c" +checksum = "2aff81306fcac3c7515ad4e177f521b5c9a15f2b08f4e32d823066102f35a5f6" dependencies = [ "proc-macro2", "quote", @@ -5131,9 +5143,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-shared" -version = "0.2.83" +version = "0.2.84" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c38c045535d93ec4f0b4defec448e4291638ee608530863b1e2ba115d4fff7f" +checksum = "0046fef7e28c3804e5e38bfa31ea2a0f73905319b677e57ebe37e49358989b5d" [[package]] name = "wasmi" @@ -5301,9 +5313,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.60" +version = "0.3.61" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcda906d8be16e728fd5adc5b729afad4e444e106ab28cd1c7256e54fa61510f" +checksum = "e33b99f4b23ba3eec1a53ac264e35a755f00e966e0065077d6027c0f575b0b97" dependencies = [ "js-sys", "wasm-bindgen", @@ -5387,6 +5399,30 @@ dependencies = [ "windows_x86_64_msvc 0.42.1", ] +[[package]] +name = "windows-sys" +version = "0.45.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" +dependencies = [ + "windows-targets", +] + +[[package]] +name = "windows-targets" +version = "0.42.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e2522491fbfcd58cc84d47aeb2958948c4b8982e9a2d8a2a35bbaed431390e7" +dependencies = [ + "windows_aarch64_gnullvm", + "windows_aarch64_msvc 0.42.1", + "windows_i686_gnu 0.42.1", + "windows_i686_msvc 0.42.1", + "windows_x86_64_gnu 0.42.1", + "windows_x86_64_gnullvm", + "windows_x86_64_msvc 0.42.1", +] + [[package]] name = "windows_aarch64_gnullvm" version = "0.42.1" diff --git a/e2e-tests/Cargo.toml b/e2e-tests/Cargo.toml index b88c2dd7cd..08d38dfcbd 100644 --- a/e2e-tests/Cargo.toml +++ b/e2e-tests/Cargo.toml @@ -19,12 +19,12 @@ tokio = { version = "1.21.2", features = ["full"] } futures = "0.3.25" once_cell = "1.16" -sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35", default-features = false, features = ["full_crypto"] } -sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35", default-features = false } -frame-support = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35", default-features = false } -system = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35", package = "frame-system" } -pallet-staking = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35", default-features = false } -pallet-balances = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35", default-features = false } +sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36", default-features = false, features = ["full_crypto"] } +sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36", default-features = false } +frame-support = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36", default-features = false } +system = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36", package = "frame-system" } +pallet-staking = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36", default-features = false } +pallet-balances = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36", default-features = false } aleph_client = { path = "../aleph-client" } primitives = { path = "../primitives", features = ["short_session"], default-features = false } diff --git a/finality-aleph/Cargo.toml b/finality-aleph/Cargo.toml index d0e20431fc..003fd6885f 100644 --- a/finality-aleph/Cargo.toml +++ b/finality-aleph/Cargo.toml @@ -35,29 +35,29 @@ serde = "1.0" tiny-bip39 = "1.0" tokio = { version = "1.17", features = [ "sync", "macros", "time", "rt-multi-thread" ] } -prometheus-endpoint = { package = "substrate-prometheus-endpoint", git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -sp-keystore = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -sc-network = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -sc-network-common = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -sc-telemetry = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -sc-service = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -sp-application-crypto = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -sp-state-machine = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -sp-trie = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -sc-utils = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -sp-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -sp-blockchain = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -sc-consensus = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -sp-consensus = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -sc-client-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -sp-io = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +prometheus-endpoint = { package = "substrate-prometheus-endpoint", git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +sp-keystore = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +sc-network = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +sc-network-common = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +sc-telemetry = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +sc-service = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +sp-application-crypto = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +sp-state-machine = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +sp-trie = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +sc-utils = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +sp-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +sp-blockchain = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +sc-consensus = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +sp-consensus = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +sc-client-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +sp-io = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } [dev-dependencies] -substrate-test-runtime-client = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -substrate-test-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -sc-block-builder = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +substrate-test-runtime-client = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +substrate-test-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +sc-block-builder = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } [features] only_legacy = [] diff --git a/flooder/Cargo.lock b/flooder/Cargo.lock index 25de722b33..7f7bc937ef 100644 --- a/flooder/Cargo.lock +++ b/flooder/Cargo.lock @@ -27,7 +27,7 @@ version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a76fd60b23679b7d19bd066031410fb7e458ccc5e958eb5c325888ce4baedc97" dependencies = [ - "gimli 0.27.0", + "gimli 0.27.2", ] [[package]] @@ -62,7 +62,7 @@ version = "2.13.0" dependencies = [ "anyhow", "async-trait", - "contract-metadata 2.0.0-rc", + "contract-metadata 2.0.1", "contract-transcode", "frame-support", "futures", @@ -74,7 +74,7 @@ dependencies = [ "primitives", "serde", "serde_json", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "subxt", "thiserror", ] @@ -99,9 +99,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.68" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2cb2f989d18dd141ab8ae82f64d1a8cdd37e0840f73a406896cf5e99502fab61" +checksum = "224afbd727c3d6e4b90103ece64b8d1b67fbb1973b1046c2281eed3f3803f800" [[package]] name = "array-bytes" @@ -139,9 +139,9 @@ dependencies = [ [[package]] name = "async-trait" -version = "0.1.62" +version = "0.1.64" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "689894c2db1ea643a50834b999abf1c110887402542955ff5451dab8f861f9ed" +checksum = "1cd7fce9ba8c3c042128ce72d8b2ddbf3a05747efb67ea0313c635e10bda47a2" dependencies = [ "proc-macro2", "quote", @@ -176,7 +176,7 @@ dependencies = [ "cfg-if 1.0.0", "libc", "miniz_oxide", - "object 0.30.2", + "object 0.30.3", "rustc-demangle", ] @@ -339,9 +339,9 @@ dependencies = [ [[package]] name = "bytes" -version = "1.3.0" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfb24e866b15a1af2a1b663f10c6b6b8f397a84aadb828f12e5b289ec23a3a3c" +checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be" [[package]] name = "bzip2" @@ -366,9 +366,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.78" +version = "1.0.79" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a20104e2335ce8a659d6dd92a51a767a0c062599c73b343fd152cb401e828c3d" +checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f" [[package]] name = "cfg-expr" @@ -473,9 +473,9 @@ dependencies = [ [[package]] name = "contract-metadata" -version = "2.0.0-rc" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "180f2389a624fc4d0e70b207542a508d668e1261b73391bc228775e3f4c84535" +checksum = "f5997814dd5d45804757a616e938c28586875ac793ffc140e57e7ae9f421a066" dependencies = [ "anyhow", "impl-serde", @@ -656,9 +656,9 @@ dependencies = [ [[package]] name = "cxx" -version = "1.0.87" +version = "1.0.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b61a7545f753a88bcbe0a70de1fcc0221e10bfc752f576754fa91e663db1622e" +checksum = "86d3488e7665a7a483b57e25bdd90d0aeb2bc7608c8d0346acf2ad3f1caf1d62" dependencies = [ "cc", "cxxbridge-flags", @@ -668,9 +668,9 @@ dependencies = [ [[package]] name = "cxx-build" -version = "1.0.87" +version = "1.0.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f464457d494b5ed6905c63b0c4704842aba319084a0a3561cdc1359536b53200" +checksum = "48fcaf066a053a41a81dfb14d57d99738b767febb8b735c3016e469fac5da690" dependencies = [ "cc", "codespan-reporting", @@ -683,15 +683,15 @@ dependencies = [ [[package]] name = "cxxbridge-flags" -version = "1.0.87" +version = "1.0.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43c7119ce3a3701ed81aca8410b9acf6fc399d2629d057b87e2efa4e63a3aaea" +checksum = "a2ef98b8b717a829ca5603af80e1f9e2e48013ab227b68ef37872ef84ee479bf" [[package]] name = "cxxbridge-macro" -version = "1.0.87" +version = "1.0.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65e07508b90551e610910fa648a1878991d367064997a596135b86df30daf07e" +checksum = "086c685979a698443656e5cf7856c95c642295a38599f12fb1ff76fb28d19892" dependencies = [ "proc-macro2", "quote", @@ -700,9 +700,9 @@ dependencies = [ [[package]] name = "darling" -version = "0.14.2" +version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0dd3cd20dc6b5a876612a6e5accfe7f3dd883db6d07acfbf14c128f61550dfa" +checksum = "c0808e1bd8671fb44a113a14e13497557533369847788fa2ae912b6ebfce9fa8" dependencies = [ "darling_core", "darling_macro", @@ -710,9 +710,9 @@ dependencies = [ [[package]] name = "darling_core" -version = "0.14.2" +version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a784d2ccaf7c98501746bf0be29b2022ba41fd62a2e622af997a03e9f972859f" +checksum = "001d80444f28e193f30c2f293455da62dcf9a6b29918a4253152ae2b1de592cb" dependencies = [ "fnv", "ident_case", @@ -724,9 +724,9 @@ dependencies = [ [[package]] name = "darling_macro" -version = "0.14.2" +version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7618812407e9402654622dd402b0a89dff9ba93badd6540781526117b92aab7e" +checksum = "b36230598a2d5de7ec1c6f51f72d8a99a9208daff41de2084d06e3fd3ea56685" dependencies = [ "darling_core", "quote", @@ -876,9 +876,9 @@ dependencies = [ [[package]] name = "either" -version = "1.8.0" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90e5c1c8368803113bf0c9584fc495a58b86dc8a29edbf8fe877d21d9507e797" +checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91" [[package]] name = "elliptic-curve" @@ -968,9 +968,9 @@ checksum = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7" [[package]] name = "fastrand" -version = "1.8.0" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7a407cfaa3385c4ae6b23e84623d48c2798d06e3e6a1878f7f59f17b3f86499" +checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be" dependencies = [ "instant", ] @@ -1021,8 +1021,8 @@ dependencies = [ "mio 0.6.23", "parity-scale-codec", "serde_json", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "subxt", "tokio", "ws", @@ -1074,7 +1074,7 @@ dependencies = [ [[package]] name = "frame-support" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "bitflags", "frame-metadata", @@ -1089,24 +1089,24 @@ dependencies = [ "serde", "smallvec", "sp-api", - "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "sp-core-hashing-proc-macro", "sp-inherents", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "sp-staking", - "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "tt-call", ] [[package]] name = "frame-support-procedural" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "Inflector", "cfg-expr", @@ -1120,7 +1120,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate", @@ -1132,7 +1132,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "proc-macro2", "quote", @@ -1163,9 +1163,9 @@ checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" [[package]] name = "futures" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38390104763dc37a5145a53c29c63c1290b5d316d6086ec32c293f6736051bb0" +checksum = "13e2792b0ff0340399d58445b88fd9770e3489eff258a4cbc1523418f12abf84" dependencies = [ "futures-channel", "futures-core", @@ -1178,9 +1178,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52ba265a92256105f45b719605a571ffe2d1f0fea3807304b522c1d778f79eed" +checksum = "2e5317663a9089767a1ec00a487df42e0ca174b61b4483213ac24448e4664df5" dependencies = [ "futures-core", "futures-sink", @@ -1188,15 +1188,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04909a7a7e4633ae6c4a9ab280aeb86da1236243a77b694a49eacd659a4bd3ac" +checksum = "ec90ff4d0fe1f57d600049061dc6bb68ed03c7d2fbd697274c41805dcb3f8608" [[package]] name = "futures-executor" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7acc85df6714c176ab5edf386123fafe217be88c0840ec11f199441134a074e2" +checksum = "e8de0a35a6ab97ec8869e32a2473f4b1324459e14c29275d14b10cb1fd19b50e" dependencies = [ "futures-core", "futures-task", @@ -1206,9 +1206,9 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00f5fb52a06bdcadeb54e8d3671f8888a39697dcb0b81b23b55174030427f4eb" +checksum = "bfb8371b6fb2aeb2d280374607aeabfc99d95c72edfe51692e42d3d7f0d08531" [[package]] name = "futures-lite" @@ -1227,9 +1227,9 @@ dependencies = [ [[package]] name = "futures-macro" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bdfb8ce053d86b91919aad980c220b1fb8401a9394410e1c289ed7e66b61835d" +checksum = "95a73af87da33b5acf53acfebdc339fe592ecf5357ac7c0a7734ab9d8c876a70" dependencies = [ "proc-macro2", "quote", @@ -1238,15 +1238,15 @@ dependencies = [ [[package]] name = "futures-sink" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39c15cf1a4aa79df40f1bb462fb39676d0ad9e366c2a33b590d7c66f4f81fcf9" +checksum = "f310820bb3e8cfd46c80db4d7fb8353e15dfff853a127158425f31e0be6c8364" [[package]] name = "futures-task" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ffb393ac5d9a6eaa9d3fdf37ae2776656b706e200c8e16b1bdb227f5198e6ea" +checksum = "dcf79a1bf610b10f42aea489289c5a2c478a786509693b80cd39c44ccd936366" [[package]] name = "futures-timer" @@ -1256,9 +1256,9 @@ checksum = "e64b03909df88034c26dc1547e8970b91f98bdb65165d6a4e9110d94263dbb2c" [[package]] name = "futures-util" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "197676987abd2f9cadff84926f410af1c183608d36641465df73ae8211dc65d6" +checksum = "9c1d6de3acfef38d2be4b1f543f553131788603495be83da675e180c8d6b7bd1" dependencies = [ "futures-channel", "futures-core", @@ -1329,9 +1329,9 @@ dependencies = [ [[package]] name = "gimli" -version = "0.27.0" +version = "0.27.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dec7af912d60cdbd3677c1af9352ebae6fb8394d165568a2234df0fa00f87793" +checksum = "ad0a93d233ebf96623465aad4046a8d3aa4da22d4f4beba5388838c8a434bbb4" [[package]] name = "group" @@ -1350,7 +1350,7 @@ version = "0.3.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5f9f29bc9dda355256b2916cf526ab02ce0aeaaaf2bad60d65ef3f12f11dd0f4" dependencies = [ - "bytes 1.3.0", + "bytes 1.4.0", "fnv", "futures-core", "futures-sink", @@ -1403,9 +1403,9 @@ dependencies = [ [[package]] name = "heck" -version = "0.4.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9" +checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" [[package]] name = "hermit-abi" @@ -1473,11 +1473,11 @@ dependencies = [ [[package]] name = "http" -version = "0.2.8" +version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75f43d41e26995c17e71ee126451dd3941010b0514a81a9d11f3b341debc2399" +checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482" dependencies = [ - "bytes 1.3.0", + "bytes 1.4.0", "fnv", "itoa", ] @@ -1488,7 +1488,7 @@ version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1" dependencies = [ - "bytes 1.3.0", + "bytes 1.4.0", "http", "pin-project-lite", ] @@ -1513,11 +1513,11 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" [[package]] name = "hyper" -version = "0.14.23" +version = "0.14.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "034711faac9d2166cb1baf1a2fb0b60b1f277f8492fd72176c17f3515e1abd3c" +checksum = "5e011372fa0b68db8350aa7a248930ecc7839bf46d8485577d69f117a75f164c" dependencies = [ - "bytes 1.3.0", + "bytes 1.4.0", "futures-channel", "futures-core", "futures-util", @@ -1639,33 +1639,33 @@ dependencies = [ [[package]] name = "ink_allocator" -version = "4.0.0-beta" +version = "4.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b36dadecdc7e33b0fe1c198b52d474ce73ccd93ffd8acd6ded02458b4a58a2d9" +checksum = "5323d4f43900266f2d5462cbe2a96d4182d634da0cfc1078d26c74d4117e0ce9" dependencies = [ "cfg-if 1.0.0", ] [[package]] name = "ink_engine" -version = "4.0.0-beta" +version = "4.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "319a74f3313698ae6d4ae5b43164a1e0efbfd45bd0f7ef689745f98f6e505998" +checksum = "de001b0907475ab10211093569d8b92726ef7a37d04b6e90c8a2864fbe14d050" dependencies = [ "blake2", "derive_more", "ink_primitives", "parity-scale-codec", - "secp256k1", + "secp256k1 0.26.0", "sha2 0.10.6", "sha3", ] [[package]] name = "ink_env" -version = "4.0.0-beta" +version = "4.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4543d0e0e5d1d97ce1ccb225599603ab15fb9d486f692176649b43a1311a8ad7" +checksum = "b0354567725e4f635a5c5694e4e4cac105e3e78cefd948ca5ab6cc92ea3d8231" dependencies = [ "arrayref", "blake2", @@ -1682,7 +1682,7 @@ dependencies = [ "paste", "rlibc", "scale-info", - "secp256k1", + "secp256k1 0.26.0", "sha2 0.10.6", "sha3", "static_assertions", @@ -1690,9 +1690,9 @@ dependencies = [ [[package]] name = "ink_metadata" -version = "4.0.0-beta" +version = "4.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "caa94adad4fca9e3a79a1c5b0edc1ea2109ef56a955a57df35b2ad32c461ac21" +checksum = "9dfb4d5448446656ebf83d800c06effeffc063967ef5986d7d1a277e3e507dae" dependencies = [ "derive_more", "impl-serde", @@ -1704,18 +1704,18 @@ dependencies = [ [[package]] name = "ink_prelude" -version = "4.0.0-beta" +version = "4.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5962125f78304bc2b3083391cbd579125c64ce17e61b019034094faf772c915a" +checksum = "c2626fb0c922f923965774cdd8cddeaaa204931d0ed19e0bf43702b033924173" dependencies = [ "cfg-if 1.0.0", ] [[package]] name = "ink_primitives" -version = "4.0.0-beta" +version = "4.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90f4f26208fe23e12d436917697b951252519484134a3561fe8b65a5abc97aa9" +checksum = "91066af898fe4c59b2ed0aca678238928b551dc75f5284bf1422e9f1bb6b2204" dependencies = [ "derive_more", "ink_prelude", @@ -1726,9 +1726,9 @@ dependencies = [ [[package]] name = "ink_storage_traits" -version = "4.0.0-beta" +version = "4.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "596247891eb221a0b7debce9f8cf123b9a14f23a4a10664e73ec16d9eb1e92e9" +checksum = "da15ceaef6bdbece3e8b6338df899ef94e3921d03387fa941af8df3b38803523" dependencies = [ "ink_metadata", "ink_prelude", @@ -1794,9 +1794,9 @@ checksum = "72167d68f5fce3b8655487b8038691a3c9984ee769590f93f2a631f4ad64e4f5" [[package]] name = "js-sys" -version = "0.3.60" +version = "0.3.61" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49409df3e3bf0856b916e2ceaca09ee28e6871cf7d9ce97a692cacfdb2a25a47" +checksum = "445dde2150c55e483f3d8416706b97ec8e8237c307e5b7b4b8dd15e6af2a0730" dependencies = [ "wasm-bindgen", ] @@ -2144,14 +2144,14 @@ dependencies = [ [[package]] name = "mio" -version = "0.8.5" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5d732bc30207a6423068df043e3d02e0735b155ad7ce1a6f76fe2baa5b158de" +checksum = "5b9d9a46eff5b4ff64b45a9e316a6d1e0bc719ef429cbec4dc630684212bfdf9" dependencies = [ "libc", "log", "wasi 0.11.0+wasi-snapshot-preview1", - "windows-sys 0.42.0", + "windows-sys 0.45.0", ] [[package]] @@ -2218,6 +2218,15 @@ dependencies = [ "nom", ] +[[package]] +name = "nom8" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae01545c9c7fc4486ab7debaf2aad7003ac19431791868fb2e8066df97fad2f8" +dependencies = [ + "memchr", +] + [[package]] name = "num-bigint" version = "0.4.3" @@ -2294,18 +2303,18 @@ dependencies = [ [[package]] name = "object" -version = "0.30.2" +version = "0.30.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b8c786513eb403643f2a88c244c2aaa270ef2153f55094587d0c48a3cf22a83" +checksum = "ea86265d3d3dcb6a27fc51bd29a4bf387fae9d2986b823079d4986af253eb439" dependencies = [ "memchr", ] [[package]] name = "once_cell" -version = "1.17.0" +version = "1.17.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f61fba1741ea2b3d6a1e3178721804bb716a68a6aeba1149b5d52e3d464ea66" +checksum = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3" [[package]] name = "opaque-debug" @@ -2373,25 +2382,25 @@ checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee" [[package]] name = "pallet-contracts-primitives" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "bitflags", "parity-scale-codec", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", ] [[package]] name = "parity-scale-codec" -version = "3.2.2" +version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7ab01d0f889e957861bc65888d5ccbe82c158d0270136ba46820d43837cdf72" +checksum = "637935964ff85a605d114591d4d2c13c5d1ba2806dae97cea6bf180238a749ac" dependencies = [ "arrayvec 0.7.2", "bitvec", "byte-slice-cast", - "bytes 1.3.0", + "bytes 1.4.0", "impl-trait-for-tuples", "parity-scale-codec-derive", "serde", @@ -2459,15 +2468,15 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.6" +version = "0.9.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba1ef8814b5c993410bb3adfad7a5ed269563e4a2f90c41f5d85be7fb47133bf" +checksum = "9069cbb9f99e3a5083476ccb29ceb1de18b9118cafa53e90c9551235de2b9521" dependencies = [ "cfg-if 1.0.0", "libc", "redox_syscall", "smallvec", - "windows-sys 0.42.0", + "windows-sys 0.45.0", ] [[package]] @@ -2575,22 +2584,21 @@ dependencies = [ "scale-info", "serde", "sp-api", - "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "sp-staking", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", ] [[package]] name = "proc-macro-crate" -version = "1.2.1" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eda0fc3b0fb7c975631757e14d9049da17374063edb6ebbcbc54d880d4fe94e9" +checksum = "66618389e4ec1c7afe67d51a9bf34ff9236480f8d51e7489b7d5ab0303c13f34" dependencies = [ "once_cell", - "thiserror", - "toml", + "toml_edit", ] [[package]] @@ -2619,9 +2627,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.50" +version = "1.0.51" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ef7d57beacfaf2d8aee5937dab7b7f28de3cb8b1828479bb5de2a7106f2bae2" +checksum = "5d727cae5b39d21da60fa540906919ad737832fe0b1c165da3a34d6548c849d6" dependencies = [ "unicode-ident", ] @@ -3030,7 +3038,16 @@ version = "0.24.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6b1629c9c557ef9b293568b338dddfc8208c98a18c59d722a9d53f859d9c9b62" dependencies = [ - "secp256k1-sys", + "secp256k1-sys 0.6.1", +] + +[[package]] +name = "secp256k1" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4124a35fe33ae14259c490fd70fa199a32b9ce9502f2ee6bc4f81ec06fa65894" +dependencies = [ + "secp256k1-sys 0.8.0", ] [[package]] @@ -3042,6 +3059,15 @@ dependencies = [ "cc", ] +[[package]] +name = "secp256k1-sys" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "642a62736682fdd8c71da0eb273e453c8ac74e33b9fb310e22ba5b03ec7651ff" +dependencies = [ + "cc", +] + [[package]] name = "secrecy" version = "0.8.0" @@ -3053,9 +3079,9 @@ dependencies = [ [[package]] name = "security-framework" -version = "2.8.0" +version = "2.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "645926f31b250a2dca3c232496c2d898d91036e45ca0e97e0e2390c54e11be36" +checksum = "a332be01508d814fed64bf28f798a146d73792121129962fdf335bb3c49a4254" dependencies = [ "bitflags", "core-foundation", @@ -3105,9 +3131,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.91" +version = "1.0.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "877c235533714907a8c2464236f5c4b2a17262ef1bd71f38f35ea592c8da6883" +checksum = "cad406b69c91885b5107daf2c29572f6c8cdb3c66826821e286c533490c0bc76" dependencies = [ "itoa", "ryu", @@ -3196,9 +3222,9 @@ dependencies = [ [[package]] name = "signal-hook-registry" -version = "1.4.0" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e51e73328dc4ac0c7ccbda3a494dfa03df1de2f46018127f60c693f2648455b0" +checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1" dependencies = [ "libc", ] @@ -3215,9 +3241,9 @@ dependencies = [ [[package]] name = "slab" -version = "0.4.7" +version = "0.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4614a76b2a8be0058caa9dbbaf66d988527d86d003c11a94fbd335d7661edcef" +checksum = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d" dependencies = [ "autocfg", ] @@ -3245,7 +3271,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "41d1c5305e39e09653383c2c7244f2f78b3bcae37cf50c64cb4789c9f5096ec2" dependencies = [ "base64 0.13.1", - "bytes 1.3.0", + "bytes 1.4.0", "futures", "httparse", "log", @@ -3256,17 +3282,17 @@ dependencies = [ [[package]] name = "sp-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "hash-db", "log", "parity-scale-codec", "sp-api-proc-macro", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "sp-version", "thiserror", ] @@ -3274,7 +3300,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "blake2", "proc-macro-crate", @@ -3300,14 +3326,14 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", ] [[package]] @@ -3329,15 +3355,15 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "integer-sqrt", "num-traits", "parity-scale-codec", "scale-info", "serde", - "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "static_assertions", ] @@ -3370,7 +3396,7 @@ dependencies = [ "regex", "scale-info", "schnorrkel", - "secp256k1", + "secp256k1 0.24.3", "secrecy", "serde", "sp-core-hashing 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3390,7 +3416,7 @@ dependencies = [ [[package]] name = "sp-core" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "array-bytes", "base58", @@ -3415,15 +3441,15 @@ dependencies = [ "regex", "scale-info", "schnorrkel", - "secp256k1", + "secp256k1 0.24.3", "secrecy", "serde", - "sp-core-hashing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-core-hashing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "ss58-registry", "substrate-bip39", "thiserror", @@ -3450,25 +3476,25 @@ dependencies = [ [[package]] name = "sp-core-hashing" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "blake2", "byteorder", "digest 0.10.6", "sha2 0.10.6", "sha3", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "twox-hash", ] [[package]] name = "sp-core-hashing-proc-macro" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "proc-macro2", "quote", - "sp-core-hashing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-core-hashing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "syn", ] @@ -3486,7 +3512,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "proc-macro2", "quote", @@ -3508,25 +3534,25 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.13.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "environmental", "parity-scale-codec", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", ] [[package]] name = "sp-inherents" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "async-trait", "impl-trait-for-tuples", "parity-scale-codec", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "thiserror", ] @@ -3536,14 +3562,14 @@ version = "7.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6280bd3643354f7ff0b2abd36c687745455779231a7a86d90945608f0d4924c4" dependencies = [ - "bytes 1.3.0", + "bytes 1.4.0", "futures", "hash-db", "libsecp256k1", "log", "parity-scale-codec", "parking_lot", - "secp256k1", + "secp256k1 0.24.3", "sp-core 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "sp-externalities 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", "sp-keystore 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3560,9 +3586,9 @@ dependencies = [ [[package]] name = "sp-io" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ - "bytes 1.3.0", + "bytes 1.4.0", "ed25519-dalek", "futures", "hash-db", @@ -3570,16 +3596,16 @@ dependencies = [ "log", "parity-scale-codec", "parking_lot", - "secp256k1", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-keystore 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-wasm-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "secp256k1 0.24.3", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-keystore 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-wasm-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "tracing", "tracing-core", ] @@ -3604,7 +3630,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.13.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "async-trait", "futures", @@ -3612,8 +3638,8 @@ dependencies = [ "parity-scale-codec", "parking_lot", "schnorrkel", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "thiserror", ] @@ -3631,7 +3657,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "backtrace", "lazy_static", @@ -3665,7 +3691,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "either", "hash256-std-hasher", @@ -3676,12 +3702,12 @@ dependencies = [ "rand 0.7.3", "scale-info", "serde", - "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", ] [[package]] @@ -3690,7 +3716,7 @@ version = "7.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b886a5d34400b0e0c12d389e3bb48b7a93d651cddf7e248124b81fe64c339251" dependencies = [ - "bytes 1.3.0", + "bytes 1.4.0", "impl-trait-for-tuples", "parity-scale-codec", "primitive-types", @@ -3706,18 +3732,18 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ - "bytes 1.3.0", + "bytes 1.4.0", "impl-trait-for-tuples", "parity-scale-codec", "primitive-types", - "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-runtime-interface-proc-macro 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-wasm-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-runtime-interface-proc-macro 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-wasm-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "static_assertions", ] @@ -3737,7 +3763,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "Inflector", "proc-macro-crate", @@ -3749,12 +3775,13 @@ dependencies = [ [[package]] name = "sp-staking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "parity-scale-codec", "scale-info", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", ] [[package]] @@ -3783,7 +3810,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.13.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "hash-db", "log", @@ -3792,11 +3819,11 @@ dependencies = [ "parking_lot", "rand 0.7.3", "smallvec", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-panic-handler 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-panic-handler 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "thiserror", "tracing", "trie-root", @@ -3811,7 +3838,7 @@ checksum = "cf3fd4c1d304be101e6ebbafd3d4be9a37b320c970ef4e8df188b16873981c93" [[package]] name = "sp-std" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" [[package]] name = "sp-storage" @@ -3830,14 +3857,14 @@ dependencies = [ [[package]] name = "sp-storage" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "impl-serde", "parity-scale-codec", "ref-cast", "serde", - "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", ] [[package]] @@ -3856,10 +3883,10 @@ dependencies = [ [[package]] name = "sp-tracing" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "parity-scale-codec", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "tracing", "tracing-core", "tracing-subscriber", @@ -3892,7 +3919,7 @@ dependencies = [ [[package]] name = "sp-trie" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "ahash", "hash-db", @@ -3904,8 +3931,8 @@ dependencies = [ "parity-scale-codec", "parking_lot", "scale-info", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "thiserror", "tracing", "trie-db", @@ -3915,7 +3942,7 @@ dependencies = [ [[package]] name = "sp-version" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "impl-serde", "parity-scale-codec", @@ -3923,8 +3950,8 @@ dependencies = [ "scale-info", "serde", "sp-core-hashing-proc-macro", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "sp-version-proc-macro", "thiserror", ] @@ -3932,7 +3959,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "parity-scale-codec", "proc-macro2", @@ -3956,12 +3983,12 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "impl-trait-for-tuples", "log", "parity-scale-codec", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", "wasmi", "wasmtime", ] @@ -3986,17 +4013,17 @@ dependencies = [ [[package]] name = "sp-weights" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", "scale-info", "serde", "smallvec", - "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35)", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", ] [[package]] @@ -4017,9 +4044,9 @@ dependencies = [ [[package]] name = "ss58-registry" -version = "1.37.0" +version = "1.38.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d44528162f980c0e03c71e005d334332c8da0aec9f2b0b4bdc557ed4a9f24776" +checksum = "e40c020d72bc0a9c5660bb71e4a6fdef081493583062c474740a7d59f55f0e7b" dependencies = [ "Inflector", "num-format", @@ -4212,10 +4239,11 @@ dependencies = [ [[package]] name = "thread_local" -version = "1.1.4" +version = "1.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5516c27b78311c50bf42c071425c560ac799b11c30b31f87e3081965fe5e0180" +checksum = "3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152" dependencies = [ + "cfg-if 1.0.0", "once_cell", ] @@ -4260,21 +4288,21 @@ dependencies = [ [[package]] name = "tinyvec_macros" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" +checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.24.2" +version = "1.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "597a12a59981d9e3c38d216785b0c37399f6e415e8d0712047620f189371b0bb" +checksum = "c8e00990ebabbe4c14c08aca901caed183ecd5c09562a12c824bb53d3c3fd3af" dependencies = [ "autocfg", - "bytes 1.3.0", + "bytes 1.4.0", "libc", "memchr", - "mio 0.8.5", + "mio 0.8.6", "num_cpus", "parking_lot", "pin-project-lite", @@ -4308,11 +4336,11 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.4" +version = "0.7.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bb2e075f03b3d66d8d8785356224ba688d2906a371015e225beeb65ca92c740" +checksum = "5427d89453009325de0d8f342c9490009f76e999cb7672d77e46267448f7e6b2" dependencies = [ - "bytes 1.3.0", + "bytes 1.4.0", "futures-core", "futures-io", "futures-sink", @@ -4322,12 +4350,20 @@ dependencies = [ ] [[package]] -name = "toml" -version = "0.5.11" +name = "toml_datetime" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234" +checksum = "4553f467ac8e3d374bc9a177a26801e5d0f9b211aa1673fb137a403afd1c9cf5" + +[[package]] +name = "toml_edit" +version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56c59d8dd7d0dcbc6428bf7aa2f0e823e26e43b3c9aca15bbc9475d23e5fa12b" dependencies = [ - "serde", + "indexmap", + "nom8", + "toml_datetime", ] [[package]] @@ -4478,9 +4514,9 @@ dependencies = [ [[package]] name = "unicode-bidi" -version = "0.3.9" +version = "0.3.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0046be40136ef78dc325e0edefccf84ccddacd0afcc1ca54103fa3c61bbdab1d" +checksum = "d54675592c1dbefd78cbd98db9bacd89886e1ca50692a0692baefffdeb92dd58" [[package]] name = "unicode-ident" @@ -4581,9 +4617,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.83" +version = "0.2.84" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eaf9f5aceeec8be17c128b2e93e031fb8a4d469bb9c4ae2d7dc1888b26887268" +checksum = "31f8dcbc21f30d9b8f2ea926ecb58f6b91192c17e9d33594b3df58b2007ca53b" dependencies = [ "cfg-if 1.0.0", "wasm-bindgen-macro", @@ -4591,9 +4627,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.83" +version = "0.2.84" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c8ffb332579b0557b52d268b91feab8df3615f265d5270fec2a8c95b17c1142" +checksum = "95ce90fd5bcc06af55a641a86428ee4229e44e07033963a2290a8e241607ccb9" dependencies = [ "bumpalo", "log", @@ -4606,9 +4642,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.83" +version = "0.2.84" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "052be0f94026e6cbc75cdefc9bae13fd6052cdcaf532fa6c45e7ae33a1e6c810" +checksum = "4c21f77c0bedc37fd5dc21f897894a5ca01e7bb159884559461862ae90c0b4c5" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -4616,9 +4652,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.83" +version = "0.2.84" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07bc0c051dc5f23e307b13285f9d75df86bfdf816c5721e573dec1f9b8aa193c" +checksum = "2aff81306fcac3c7515ad4e177f521b5c9a15f2b08f4e32d823066102f35a5f6" dependencies = [ "proc-macro2", "quote", @@ -4629,9 +4665,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-shared" -version = "0.2.83" +version = "0.2.84" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c38c045535d93ec4f0b4defec448e4291638ee608530863b1e2ba115d4fff7f" +checksum = "0046fef7e28c3804e5e38bfa31ea2a0f73905319b677e57ebe37e49358989b5d" [[package]] name = "wasmi" @@ -4799,9 +4835,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.60" +version = "0.3.61" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcda906d8be16e728fd5adc5b729afad4e444e106ab28cd1c7256e54fa61510f" +checksum = "e33b99f4b23ba3eec1a53ac264e35a755f00e966e0065077d6027c0f575b0b97" dependencies = [ "js-sys", "wasm-bindgen", @@ -4897,6 +4933,30 @@ dependencies = [ "windows_x86_64_msvc 0.42.1", ] +[[package]] +name = "windows-sys" +version = "0.45.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" +dependencies = [ + "windows-targets", +] + +[[package]] +name = "windows-targets" +version = "0.42.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e2522491fbfcd58cc84d47aeb2958948c4b8982e9a2d8a2a35bbaed431390e7" +dependencies = [ + "windows_aarch64_gnullvm", + "windows_aarch64_msvc 0.42.1", + "windows_i686_gnu 0.42.1", + "windows_i686_msvc 0.42.1", + "windows_x86_64_gnu 0.42.1", + "windows_x86_64_gnullvm", + "windows_x86_64_msvc 0.42.1", +] + [[package]] name = "windows_aarch64_gnullvm" version = "0.42.1" diff --git a/flooder/Cargo.toml b/flooder/Cargo.toml index b260a8b794..369c9ed8ba 100644 --- a/flooder/Cargo.toml +++ b/flooder/Cargo.toml @@ -6,8 +6,8 @@ edition = "2021" license = "Apache 2.0" [dependencies] -sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35", features = ["full_crypto"] } -sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36", features = ["full_crypto"] } +sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } # other dependencies serde_json = { version = "1.0" } diff --git a/fork-off/Cargo.lock b/fork-off/Cargo.lock index b9442114d4..2ab9d77b82 100644 --- a/fork-off/Cargo.lock +++ b/fork-off/Cargo.lock @@ -18,7 +18,16 @@ version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b9ecd88a8c8378ca913a680cd98f0f13ac67383d35993f86c90a70e3f137816b" dependencies = [ - "gimli", + "gimli 0.26.2", +] + +[[package]] +name = "addr2line" +version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a76fd60b23679b7d19bd066031410fb7e458ccc5e958eb5c325888ce4baedc97" +dependencies = [ + "gimli 0.27.2", ] [[package]] @@ -67,9 +76,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.66" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "216261ddc8289130e551ddcd5ce8a064710c0d064a4d2895c67151c92b5443f6" +checksum = "224afbd727c3d6e4b90103ece64b8d1b67fbb1973b1046c2281eed3f3803f800" [[package]] name = "approx" @@ -117,9 +126,9 @@ dependencies = [ [[package]] name = "async-trait" -version = "0.1.59" +version = "0.1.64" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31e6e93155431f3931513b243d371981bb2770112b370c82745a1d19d2f99364" +checksum = "1cd7fce9ba8c3c042128ce72d8b2ddbf3a05747efb67ea0313c635e10bda47a2" dependencies = [ "proc-macro2", "quote", @@ -132,7 +141,7 @@ version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" dependencies = [ - "hermit-abi", + "hermit-abi 0.1.19", "libc", "winapi 0.3.9", ] @@ -168,16 +177,16 @@ dependencies = [ [[package]] name = "backtrace" -version = "0.3.66" +version = "0.3.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cab84319d616cfb654d03394f38ab7e6f0919e181b1b57e1fd15e7fb4077d9a7" +checksum = "233d376d6d185f2a3093e58f283f60f880315b6c60075b01f36b3b85154564ca" dependencies = [ - "addr2line", + "addr2line 0.19.0", "cc", "cfg-if 1.0.0", "libc", "miniz_oxide", - "object", + "object 0.30.3", "rustc-demangle", ] @@ -218,6 +227,12 @@ version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" +[[package]] +name = "base64" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4a4ddaa51a5bc52a6948f74c06d20aaaddb71924eab79b8c97a8c556e942d6a" + [[package]] name = "base64ct" version = "1.5.3" @@ -253,9 +268,9 @@ dependencies = [ [[package]] name = "blake2" -version = "0.10.5" +version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b12e5fd123190ce1c2e559308a94c9bacad77907d4c6005d9e58fe1a0689e55e" +checksum = "46502ad458c9a52b69d4d4d32775c788b7a1b85e8bc9d482d92250fc0e3f8efe" dependencies = [ "digest 0.10.6", ] @@ -301,9 +316,9 @@ dependencies = [ [[package]] name = "bumpalo" -version = "3.11.1" +version = "3.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "572f695136211188308f16ad2ca5c851a712c464060ae6974944458eb83880ba" +checksum = "0d261e256854913907f67ed06efbc3338dfe6179796deefc1ff763fc1aee5535" [[package]] name = "byte-slice-cast" @@ -335,15 +350,15 @@ dependencies = [ [[package]] name = "bytes" -version = "1.3.0" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfb24e866b15a1af2a1b663f10c6b6b8f397a84aadb828f12e5b289ec23a3a3c" +checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be" [[package]] name = "cc" -version = "1.0.77" +version = "1.0.79" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9f73505338f7d905b19d18738976aae232eb46b8efc15554ffc56deb5d9ebe4" +checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f" [[package]] name = "cfg-expr" @@ -438,9 +453,9 @@ dependencies = [ [[package]] name = "concurrent-queue" -version = "2.0.0" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd7bef69dc86e3c610e4e7aed41035e2a7ed12e72dd7530f61327a6579a4390b" +checksum = "c278839b831783b70278b14df4d45e1beb1aad306c07bb796637de9a0e323e8e" dependencies = [ "crossbeam-utils 0.8.14", ] @@ -605,9 +620,9 @@ dependencies = [ [[package]] name = "cxx" -version = "1.0.82" +version = "1.0.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4a41a86530d0fe7f5d9ea779916b7cadd2d4f9add748b99c2c029cbbdfaf453" +checksum = "86d3488e7665a7a483b57e25bdd90d0aeb2bc7608c8d0346acf2ad3f1caf1d62" dependencies = [ "cc", "cxxbridge-flags", @@ -617,9 +632,9 @@ dependencies = [ [[package]] name = "cxx-build" -version = "1.0.82" +version = "1.0.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06416d667ff3e3ad2df1cd8cd8afae5da26cf9cec4d0825040f88b5ca659a2f0" +checksum = "48fcaf066a053a41a81dfb14d57d99738b767febb8b735c3016e469fac5da690" dependencies = [ "cc", "codespan-reporting", @@ -632,15 +647,15 @@ dependencies = [ [[package]] name = "cxxbridge-flags" -version = "1.0.82" +version = "1.0.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "820a9a2af1669deeef27cb271f476ffd196a2c4b6731336011e0ba63e2c7cf71" +checksum = "a2ef98b8b717a829ca5603af80e1f9e2e48013ab227b68ef37872ef84ee479bf" [[package]] name = "cxxbridge-macro" -version = "1.0.82" +version = "1.0.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a08a6e2fcc370a089ad3b4aaf54db3b1b4cee38ddabce5896b33eb693275f470" +checksum = "086c685979a698443656e5cf7856c95c642295a38599f12fb1ff76fb28d19892" dependencies = [ "proc-macro2", "quote", @@ -728,9 +743,9 @@ dependencies = [ [[package]] name = "dyn-clone" -version = "1.0.9" +version = "1.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f94fa09c2aeea5b8839e414b7b841bf429fd25b9c522116ac97ee87856d88b2" +checksum = "c9b0705efd4599c15a38151f4721f7bc388306f61084d3bfd50bd07fbca5cb60" [[package]] name = "ecdsa" @@ -781,9 +796,9 @@ dependencies = [ [[package]] name = "either" -version = "1.8.0" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90e5c1c8368803113bf0c9584fc495a58b86dc8a29edbf8fe877d21d9507e797" +checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91" [[package]] name = "elliptic-curve" @@ -806,9 +821,9 @@ dependencies = [ [[package]] name = "encoding_rs" -version = "0.8.31" +version = "0.8.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9852635589dc9f9ea1b6fe9f05b50ef208c85c834a562f0c6abb1c475736ec2b" +checksum = "071a31f4ee85403370b58aca746f01041ede6f0da2730960ad001edc2b71b394" dependencies = [ "cfg-if 1.0.0", ] @@ -873,9 +888,9 @@ checksum = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7" [[package]] name = "fastrand" -version = "1.8.0" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7a407cfaa3385c4ae6b23e84623d48c2798d06e3e6a1878f7f59f17b3f86499" +checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be" dependencies = [ "instant", ] @@ -934,7 +949,7 @@ dependencies = [ "env_logger", "frame-support", "frame-system", - "futures 0.3.25", + "futures 0.3.26", "hex", "jsonrpc-core", "jsonrpc-core-client", @@ -962,7 +977,7 @@ dependencies = [ [[package]] name = "frame-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "frame-support", "frame-system", @@ -997,7 +1012,7 @@ dependencies = [ [[package]] name = "frame-support" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "bitflags", "frame-metadata", @@ -1029,7 +1044,7 @@ dependencies = [ [[package]] name = "frame-support-procedural" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "Inflector", "cfg-expr", @@ -1043,10 +1058,10 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "frame-support-procedural-tools-derive", - "proc-macro-crate 1.2.1", + "proc-macro-crate 1.3.0", "proc-macro2", "quote", "syn", @@ -1055,7 +1070,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "proc-macro2", "quote", @@ -1065,7 +1080,7 @@ dependencies = [ [[package]] name = "frame-system" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "frame-support", "log 0.4.17", @@ -1116,9 +1131,9 @@ checksum = "3a471a38ef8ed83cd6e40aa59c1ffe17db6855c18e3604d9c4ed8c08ebc28678" [[package]] name = "futures" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38390104763dc37a5145a53c29c63c1290b5d316d6086ec32c293f6736051bb0" +checksum = "13e2792b0ff0340399d58445b88fd9770e3489eff258a4cbc1523418f12abf84" dependencies = [ "futures-channel", "futures-core", @@ -1131,9 +1146,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52ba265a92256105f45b719605a571ffe2d1f0fea3807304b522c1d778f79eed" +checksum = "2e5317663a9089767a1ec00a487df42e0ca174b61b4483213ac24448e4664df5" dependencies = [ "futures-core", "futures-sink", @@ -1141,15 +1156,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04909a7a7e4633ae6c4a9ab280aeb86da1236243a77b694a49eacd659a4bd3ac" +checksum = "ec90ff4d0fe1f57d600049061dc6bb68ed03c7d2fbd697274c41805dcb3f8608" [[package]] name = "futures-executor" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7acc85df6714c176ab5edf386123fafe217be88c0840ec11f199441134a074e2" +checksum = "e8de0a35a6ab97ec8869e32a2473f4b1324459e14c29275d14b10cb1fd19b50e" dependencies = [ "futures-core", "futures-task", @@ -1159,15 +1174,15 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00f5fb52a06bdcadeb54e8d3671f8888a39697dcb0b81b23b55174030427f4eb" +checksum = "bfb8371b6fb2aeb2d280374607aeabfc99d95c72edfe51692e42d3d7f0d08531" [[package]] name = "futures-macro" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bdfb8ce053d86b91919aad980c220b1fb8401a9394410e1c289ed7e66b61835d" +checksum = "95a73af87da33b5acf53acfebdc339fe592ecf5357ac7c0a7734ab9d8c876a70" dependencies = [ "proc-macro2", "quote", @@ -1176,21 +1191,21 @@ dependencies = [ [[package]] name = "futures-sink" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39c15cf1a4aa79df40f1bb462fb39676d0ad9e366c2a33b590d7c66f4f81fcf9" +checksum = "f310820bb3e8cfd46c80db4d7fb8353e15dfff853a127158425f31e0be6c8364" [[package]] name = "futures-task" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ffb393ac5d9a6eaa9d3fdf37ae2776656b706e200c8e16b1bdb227f5198e6ea" +checksum = "dcf79a1bf610b10f42aea489289c5a2c478a786509693b80cd39c44ccd936366" [[package]] name = "futures-util" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "197676987abd2f9cadff84926f410af1c183608d36641465df73ae8211dc65d6" +checksum = "9c1d6de3acfef38d2be4b1f543f553131788603495be83da675e180c8d6b7bd1" dependencies = [ "futures 0.1.31", "futures-channel", @@ -1258,6 +1273,12 @@ dependencies = [ "stable_deref_trait", ] +[[package]] +name = "gimli" +version = "0.27.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad0a93d233ebf96623465aad4046a8d3aa4da22d4f4beba5388838c8a434bbb4" + [[package]] name = "group" version = "0.12.1" @@ -1275,7 +1296,7 @@ version = "0.3.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5f9f29bc9dda355256b2916cf526ab02ce0aeaaaf2bad60d65ef3f12f11dd0f4" dependencies = [ - "bytes 1.3.0", + "bytes 1.4.0", "fnv", "futures-core", "futures-sink", @@ -1314,9 +1335,9 @@ dependencies = [ [[package]] name = "heck" -version = "0.4.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9" +checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" [[package]] name = "hermit-abi" @@ -1327,6 +1348,15 @@ dependencies = [ "libc", ] +[[package]] +name = "hermit-abi" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7" +dependencies = [ + "libc", +] + [[package]] name = "hex" version = "0.4.3" @@ -1375,11 +1405,11 @@ dependencies = [ [[package]] name = "http" -version = "0.2.8" +version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75f43d41e26995c17e71ee126451dd3941010b0514a81a9d11f3b341debc2399" +checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482" dependencies = [ - "bytes 1.3.0", + "bytes 1.4.0", "fnv", "itoa", ] @@ -1390,7 +1420,7 @@ version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1" dependencies = [ - "bytes 1.3.0", + "bytes 1.4.0", "http", "pin-project-lite", ] @@ -1434,11 +1464,11 @@ dependencies = [ [[package]] name = "hyper" -version = "0.14.23" +version = "0.14.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "034711faac9d2166cb1baf1a2fb0b60b1f277f8492fd72176c17f3515e1abd3c" +checksum = "5e011372fa0b68db8350aa7a248930ecc7839bf46d8485577d69f117a75f164c" dependencies = [ - "bytes 1.3.0", + "bytes 1.4.0", "futures-channel", "futures-core", "futures-util", @@ -1462,8 +1492,8 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905" dependencies = [ - "bytes 1.3.0", - "hyper 0.14.23", + "bytes 1.4.0", + "hyper 0.14.24", "native-tls", "tokio", "tokio-native-tls", @@ -1589,9 +1619,9 @@ dependencies = [ [[package]] name = "ipnet" -version = "2.5.1" +version = "2.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f88c5561171189e69df9d98bcf18fd5f9558300f7ea7b801eb8a0fd748bd8745" +checksum = "30e22bd8629359895450b59ea7a776c850561b96a3b1d31321c1949d9e6c9146" [[package]] name = "itertools" @@ -1604,15 +1634,15 @@ dependencies = [ [[package]] name = "itoa" -version = "1.0.4" +version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4217ad341ebadf8d8e724e264f13e593e0648f5b3e94b3896a5df283be015ecc" +checksum = "fad582f4b9e86b6caa621cabeb0963332d92eea04729ab12892c2533951e6440" [[package]] name = "js-sys" -version = "0.3.60" +version = "0.3.61" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49409df3e3bf0856b916e2ceaca09ee28e6871cf7d9ce97a692cacfdb2a25a47" +checksum = "445dde2150c55e483f3d8416706b97ec8e8237c307e5b7b4b8dd15e6af2a0730" dependencies = [ "wasm-bindgen", ] @@ -1624,7 +1654,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d2b99d4207e2a04fb4581746903c2bb7eb376f88de9c699d0f3e10feeac0cd3a" dependencies = [ "derive_more", - "futures 0.3.25", + "futures 0.3.26", "jsonrpc-core", "jsonrpc-pubsub", "log 0.4.17", @@ -1641,7 +1671,7 @@ version = "18.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "14f7f76aef2d054868398427f6c54943cf3d1caa9a7ec7d0c38d69df97a965eb" dependencies = [ - "futures 0.3.25", + "futures 0.3.26", "futures-executor", "futures-util", "log 0.4.17", @@ -1656,7 +1686,7 @@ version = "18.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b51da17abecbdab3e3d4f26b01c5ec075e88d3abe3ab3b05dc9aa69392764ec0" dependencies = [ - "futures 0.3.25", + "futures 0.3.26", "jsonrpc-client-transports", ] @@ -1678,7 +1708,7 @@ version = "18.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "240f87695e6c6f62fb37f05c02c04953cf68d6408b8c1c89de85c7a0125b1011" dependencies = [ - "futures 0.3.25", + "futures 0.3.26", "jsonrpc-core", "lazy_static", "log 0.4.17", @@ -1732,9 +1762,9 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" [[package]] name = "libc" -version = "0.2.137" +version = "0.2.139" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc7fcc620a3bff7cdd7a365be3376c97191aeaccc2a603e600951e452615bf89" +checksum = "201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79" [[package]] name = "libm" @@ -1792,9 +1822,9 @@ dependencies = [ [[package]] name = "link-cplusplus" -version = "1.0.7" +version = "1.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9272ab7b96c9046fbc5bc56c06c117cb639fe2d509df0c421cad82d2915cf369" +checksum = "ecd207c9c713c34f95a097a5b029ac2ce6010530c7b49d7fea24d977dede04f5" dependencies = [ "cc", ] @@ -1881,9 +1911,9 @@ dependencies = [ [[package]] name = "matches" -version = "0.1.9" +version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f" +checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5" [[package]] name = "matrixmultiply" @@ -1960,9 +1990,9 @@ checksum = "2a60c7ce501c71e03a9c9c0d35b861413ae925bd979cc7a4e30d060069aaac8d" [[package]] name = "miniz_oxide" -version = "0.5.4" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96590ba8f175222643a85693f33d26e9c8a015f599c216509b1a6894af675d34" +checksum = "b275950c28b37e794e8c55d88aeb5e139d0ce23fdbbeda68f8d7174abdf9e8fa" dependencies = [ "adler", ] @@ -1988,14 +2018,14 @@ dependencies = [ [[package]] name = "mio" -version = "0.8.5" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5d732bc30207a6423068df043e3d02e0735b155ad7ce1a6f76fe2baa5b158de" +checksum = "5b9d9a46eff5b4ff64b45a9e316a6d1e0bc719ef429cbec4dc630684212bfdf9" dependencies = [ "libc", "log 0.4.17", "wasi 0.11.0+wasi-snapshot-preview1", - "windows-sys 0.42.0", + "windows-sys 0.45.0", ] [[package]] @@ -2074,6 +2104,15 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2bf50223579dc7cdcfb3bfcacf7069ff68243f8c363f62ffa99cf000a6b9c451" +[[package]] +name = "nom8" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae01545c9c7fc4486ab7debaf2aad7003ac19431791868fb2e8066df97fad2f8" +dependencies = [ + "memchr", +] + [[package]] name = "num-bigint" version = "0.4.3" @@ -2087,18 +2126,18 @@ dependencies = [ [[package]] name = "num-complex" -version = "0.4.2" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ae39348c8bc5fbd7f40c727a9925f03517afd2ab27d46702108b6a7e5414c19" +checksum = "02e0d21255c828d6f128a1e41534206671e8c3ea0c62f32291e808dc82cff17d" dependencies = [ "num-traits", ] [[package]] name = "num-format" -version = "0.4.3" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54b862ff8df690cf089058c98b183676a7ed0f974cc08b426800093227cbff3b" +checksum = "a652d9771a63711fd3c3deb670acfbe5c30a4072e664d7a3bf5a9e1056ac72c3" dependencies = [ "arrayvec 0.7.2", "itoa", @@ -2138,11 +2177,11 @@ dependencies = [ [[package]] name = "num_cpus" -version = "1.14.0" +version = "1.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6058e64324c71e02bc2b150e4f3bc8286db6c83092132ffa3f6b1eab0f9def5" +checksum = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b" dependencies = [ - "hermit-abi", + "hermit-abi 0.2.6", "libc", ] @@ -2158,11 +2197,20 @@ dependencies = [ "memchr", ] +[[package]] +name = "object" +version = "0.30.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea86265d3d3dcb6a27fc51bd29a4bf387fae9d2986b823079d4986af253eb439" +dependencies = [ + "memchr", +] + [[package]] name = "once_cell" -version = "1.16.0" +version = "1.17.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86f0b0d4bf799edbc74508c1e8bf170ff5f41238e5f8225603ca7caaae2b7860" +checksum = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3" [[package]] name = "opaque-debug" @@ -2178,9 +2226,9 @@ checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" [[package]] name = "openssl" -version = "0.10.43" +version = "0.10.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "020433887e44c27ff16365eaa2d380547a94544ad509aff6eb5b6e3e0b27b376" +checksum = "b102428fd03bc5edf97f62620f7298614c45cedf287c271e7ed450bbaf83f2e1" dependencies = [ "bitflags", "cfg-if 1.0.0", @@ -2210,9 +2258,9 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "openssl-sys" -version = "0.9.78" +version = "0.9.80" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07d5c8cb6e57b3a3612064d7b18b117912b4ce70955c2504d4b741c9e244b132" +checksum = "23bbbf7854cd45b83958ebe919f0e8e516793727652e27fda10a8384cfc790b7" dependencies = [ "autocfg 1.1.0", "cc", @@ -2230,7 +2278,7 @@ checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee" [[package]] name = "pallet-balances" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "frame-benchmarking", "frame-support", @@ -2244,14 +2292,14 @@ dependencies = [ [[package]] name = "parity-scale-codec" -version = "3.2.1" +version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "366e44391a8af4cfd6002ef6ba072bae071a96aafca98d7d448a34c5dca38b6a" +checksum = "637935964ff85a605d114591d4d2c13c5d1ba2806dae97cea6bf180238a749ac" dependencies = [ "arrayvec 0.7.2", "bitvec", "byte-slice-cast", - "bytes 1.3.0", + "bytes 1.4.0", "impl-trait-for-tuples", "parity-scale-codec-derive", "serde", @@ -2259,11 +2307,11 @@ dependencies = [ [[package]] name = "parity-scale-codec-derive" -version = "3.1.3" +version = "3.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9299338969a3d2f491d65f140b00ddec470858402f888af98e8642fb5e8965cd" +checksum = "86b26a931f824dd4eca30b3e43bb4f31cd5f0d3a403c5f5ff27106b805bfde7b" dependencies = [ - "proc-macro-crate 1.2.1", + "proc-macro-crate 1.3.0", "proc-macro2", "quote", "syn", @@ -2282,7 +2330,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f842b1982eb6c2fe34036a4fbfb06dd185a3f5c8edfaacdf7d1ea10b07de6252" dependencies = [ "lock_api 0.3.4", - "parking_lot_core 0.6.2", + "parking_lot_core 0.6.3", "rustc_version 0.2.3", ] @@ -2294,7 +2342,7 @@ checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99" dependencies = [ "instant", "lock_api 0.4.9", - "parking_lot_core 0.8.5", + "parking_lot_core 0.8.6", ] [[package]] @@ -2304,14 +2352,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" dependencies = [ "lock_api 0.4.9", - "parking_lot_core 0.9.5", + "parking_lot_core 0.9.7", ] [[package]] name = "parking_lot_core" -version = "0.6.2" +version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b876b1b9e7ac6e1a74a6da34d25c42e17e8862aa409cbbbdcfc8d86c6f3bc62b" +checksum = "bda66b810a62be75176a80873726630147a5ca780cd33921e0b5709033e66b0a" dependencies = [ "cfg-if 0.1.10", "cloudabi", @@ -2324,9 +2372,9 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.8.5" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d76e8e1493bcac0d2766c42737f34458f1c8c50c0d23bcb24ea953affb273216" +checksum = "60a2cfe6f0ad2bfc16aefa463b497d5c7a5ecd44a23efa72aa342d90177356dc" dependencies = [ "cfg-if 1.0.0", "instant", @@ -2338,22 +2386,22 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.5" +version = "0.9.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ff9f3fef3968a3ec5945535ed654cb38ff72d7495a25619e2247fb15a2ed9ba" +checksum = "9069cbb9f99e3a5083476ccb29ceb1de18b9118cafa53e90c9551235de2b9521" dependencies = [ "cfg-if 1.0.0", "libc", "redox_syscall 0.2.16", "smallvec 1.10.0", - "windows-sys 0.42.0", + "windows-sys 0.45.0", ] [[package]] name = "paste" -version = "1.0.9" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1de2e551fb905ac83f73f7aedf2f0cb4a0da7e35efa24a202a936269f1f18e1" +checksum = "d01a5bd0424d00070b0098dd17ebca6f961a959dead1dbcbbbc1d1cd8d3deeba" [[package]] name = "pbkdf2" @@ -2443,13 +2491,12 @@ dependencies = [ [[package]] name = "proc-macro-crate" -version = "1.2.1" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eda0fc3b0fb7c975631757e14d9049da17374063edb6ebbcbc54d880d4fe94e9" +checksum = "66618389e4ec1c7afe67d51a9bf34ff9236480f8d51e7489b7d5ab0303c13f34" dependencies = [ "once_cell", - "thiserror", - "toml", + "toml_edit", ] [[package]] @@ -2478,9 +2525,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.47" +version = "1.0.51" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ea3d908b0e36316caf9e9e2c4625cdde190a7e6f440d794667ed17a1855e725" +checksum = "5d727cae5b39d21da60fa540906919ad737832fe0b1c165da3a34d6548c849d6" dependencies = [ "unicode-ident", ] @@ -2496,9 +2543,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.21" +version = "1.0.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbe448f377a7d6961e30f5955f9b8d106c3f5e449d493ee1b125c1d43c2b5179" +checksum = "8856d8364d252a14d474036ea1358d63c9e6965c8e5c1885c18f73d70bff9c7b" dependencies = [ "proc-macro2", ] @@ -2738,18 +2785,18 @@ dependencies = [ [[package]] name = "ref-cast" -version = "1.0.13" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53b15debb4f9d60d767cd8ca9ef7abb2452922f3214671ff052defc7f3502c44" +checksum = "8c78fb8c9293bcd48ef6fce7b4ca950ceaf21210de6e105a883ee280c0f7b9ed" dependencies = [ "ref-cast-impl", ] [[package]] name = "ref-cast-impl" -version = "1.0.13" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abfa8511e9e94fd3de6585a3d3cd00e01ed556dc9814829280af0e8dc72a8f36" +checksum = "9f9c0c92af03644e4806106281fe2e068ac5bc0ae74a707266d06ea27bccee5f" dependencies = [ "proc-macro2", "quote", @@ -2758,9 +2805,9 @@ dependencies = [ [[package]] name = "regex" -version = "1.7.0" +version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e076559ef8e241f2ae3479e36f97bd5741c0330689e217ad51ce2c76808b868a" +checksum = "48aaa5748ba571fb95cd2c85c09f629215d3a6ece942baa100950af03a34f733" dependencies = [ "aho-corasick", "memchr", @@ -2793,19 +2840,19 @@ dependencies = [ [[package]] name = "reqwest" -version = "0.11.13" +version = "0.11.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68cc60575865c7831548863cc02356512e3f1dc2f3f82cb837d7fc4cc8f3c97c" +checksum = "21eed90ec8570952d53b772ecf8f206aa1ec9a3d76b2521c56c42973f2d91ee9" dependencies = [ - "base64 0.13.1", - "bytes 1.3.0", + "base64 0.21.0", + "bytes 1.4.0", "encoding_rs", "futures-core", "futures-util", "h2", "http", "http-body", - "hyper 0.14.23", + "hyper 0.14.24", "hyper-tls", "ipnet", "js-sys", @@ -2872,7 +2919,7 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" dependencies = [ - "semver 1.0.14", + "semver 1.0.16", ] [[package]] @@ -2891,9 +2938,9 @@ dependencies = [ [[package]] name = "ryu" -version = "1.0.11" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4501abdff3ae82a1c1b477a17252eb69cee9e66eb915c1abaa4f44d873df9f09" +checksum = "7b4b9743ed687d4b4bcedf9ff5eaa7398495ae14e61cba0a295704edbc7decde" [[package]] name = "safemem" @@ -2903,9 +2950,9 @@ checksum = "ef703b7cb59335eae2eb93ceb664c0eb7ea6bf567079d843e09420219668e072" [[package]] name = "scale-info" -version = "2.3.0" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88d8a765117b237ef233705cc2cc4c6a27fccd46eea6ef0c8c6dae5f3ef407f8" +checksum = "001cf62ece89779fd16105b5f515ad0e5cedcd5440d3dd806bb067978e7c3608" dependencies = [ "bitvec", "cfg-if 1.0.0", @@ -2917,11 +2964,11 @@ dependencies = [ [[package]] name = "scale-info-derive" -version = "2.3.0" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdcd47b380d8c4541044e341dcd9475f55ba37ddc50c908d945fc036a8642496" +checksum = "303959cf613a6f6efd19ed4b4ad5bf79966a13352716299ad532cfb115f4205c" dependencies = [ - "proc-macro-crate 1.2.1", + "proc-macro-crate 1.3.0", "proc-macro2", "quote", "syn", @@ -2929,12 +2976,11 @@ dependencies = [ [[package]] name = "schannel" -version = "0.1.20" +version = "0.1.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88d6731146462ea25d9244b2ed5fd1d716d25c52e4d54aa4fb0f3c4e9854dbe2" +checksum = "713cfb06c7059f3588fb8044c0fad1d09e3c01d225e25b9220dbfdcf16dbb1b3" dependencies = [ - "lazy_static", - "windows-sys 0.36.1", + "windows-sys 0.42.0", ] [[package]] @@ -2963,9 +3009,9 @@ checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" [[package]] name = "scratch" -version = "1.0.2" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c8132065adcfd6e02db789d9285a0deb2f3fcb04002865ab67d5fb103533898" +checksum = "ddccb15bcce173023b3fedd9436f882a0739b8dfb45e4f6b6002bee5929f61b2" [[package]] name = "sec1" @@ -2983,9 +3029,9 @@ dependencies = [ [[package]] name = "secp256k1" -version = "0.24.1" +version = "0.24.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff55dc09d460954e9ef2fa8a7ced735a964be9981fd50e870b2b3b0705e14964" +checksum = "6b1629c9c557ef9b293568b338dddfc8208c98a18c59d722a9d53f859d9c9b62" dependencies = [ "secp256k1-sys", ] @@ -3010,9 +3056,9 @@ dependencies = [ [[package]] name = "security-framework" -version = "2.7.0" +version = "2.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bc1bb97804af6631813c55739f771071e0f2ed33ee20b68c86ec505d906356c" +checksum = "a332be01508d814fed64bf28f798a146d73792121129962fdf335bb3c49a4254" dependencies = [ "bitflags", "core-foundation", @@ -3023,9 +3069,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.6.1" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0160a13a177a45bfb43ce71c01580998474f556ad854dcbca936dd2841a5c556" +checksum = "31c9bb296072e961fcbd8853511dd39c2d8be2deb1e17c6860b1d30732b323b4" dependencies = [ "core-foundation-sys", "libc", @@ -3042,9 +3088,9 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.14" +version = "1.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e25dfac463d778e353db5be2449d1cce89bd6fd23c9f1ea21310ce6e5a1b29c4" +checksum = "58bc9567378fc7690d6b2addae4e60ac2eeea07becb2c64b9f218b53865cba2a" [[package]] name = "semver-parser" @@ -3054,18 +3100,18 @@ checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" [[package]] name = "serde" -version = "1.0.148" +version = "1.0.152" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e53f64bb4ba0191d6d0676e1b141ca55047d83b74f5607e6d8eb88126c52c2dc" +checksum = "bb7d1f0d3021d347a83e556fc4683dea2ea09d87bccdf88ff5c12545d89d5efb" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.148" +version = "1.0.152" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a55492425aa53521babf6137309e7d34c20bbfbbfcfe2c7f3a047fd1f6b92c0c" +checksum = "af487d118eecd09402d70a5d72551860e788df87b464af30e5ea6a38c75c541e" dependencies = [ "proc-macro2", "quote", @@ -3074,9 +3120,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.89" +version = "1.0.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "020ff22c755c2ed3f8cf162dbb41a7268d934702f3ed3631656ea597e08fc3db" +checksum = "cad406b69c91885b5107daf2c29572f6c8cdb3c66826821e286c533490c0bc76" dependencies = [ "itoa", "ryu", @@ -3167,9 +3213,9 @@ dependencies = [ [[package]] name = "signal-hook-registry" -version = "1.4.0" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e51e73328dc4ac0c7ccbda3a494dfa03df1de2f46018127f60c693f2648455b0" +checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1" dependencies = [ "libc", ] @@ -3198,9 +3244,9 @@ dependencies = [ [[package]] name = "slab" -version = "0.4.7" +version = "0.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4614a76b2a8be0058caa9dbbaf66d988527d86d003c11a94fbd335d7661edcef" +checksum = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d" dependencies = [ "autocfg 1.1.0", ] @@ -3233,7 +3279,7 @@ dependencies = [ [[package]] name = "sp-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "hash-db", "log 0.4.17", @@ -3251,10 +3297,10 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "blake2", - "proc-macro-crate 1.2.1", + "proc-macro-crate 1.3.0", "proc-macro2", "quote", "syn", @@ -3263,7 +3309,7 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "parity-scale-codec", "scale-info", @@ -3276,7 +3322,7 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "integer-sqrt", "num-traits", @@ -3291,7 +3337,7 @@ dependencies = [ [[package]] name = "sp-core" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "array-bytes", "base58", @@ -3300,7 +3346,7 @@ dependencies = [ "byteorder", "dyn-clonable", "ed25519-zebra", - "futures 0.3.25", + "futures 0.3.26", "hash-db", "hash256-std-hasher", "impl-serde", @@ -3336,7 +3382,7 @@ dependencies = [ [[package]] name = "sp-core-hashing" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "blake2", "byteorder", @@ -3350,7 +3396,7 @@ dependencies = [ [[package]] name = "sp-core-hashing-proc-macro" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "proc-macro2", "quote", @@ -3361,7 +3407,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "proc-macro2", "quote", @@ -3371,7 +3417,7 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.13.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "environmental", "parity-scale-codec", @@ -3382,7 +3428,7 @@ dependencies = [ [[package]] name = "sp-inherents" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "async-trait", "impl-trait-for-tuples", @@ -3396,11 +3442,11 @@ dependencies = [ [[package]] name = "sp-io" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ - "bytes 1.3.0", + "bytes 1.4.0", "ed25519-dalek", - "futures 0.3.25", + "futures 0.3.26", "hash-db", "libsecp256k1", "log 0.4.17", @@ -3423,10 +3469,10 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.13.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "async-trait", - "futures 0.3.25", + "futures 0.3.26", "merlin", "parity-scale-codec", "parking_lot 0.12.1", @@ -3439,7 +3485,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "backtrace", "lazy_static", @@ -3449,7 +3495,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "either", "hash256-std-hasher", @@ -3471,9 +3517,9 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ - "bytes 1.3.0", + "bytes 1.4.0", "impl-trait-for-tuples", "parity-scale-codec", "primitive-types", @@ -3489,10 +3535,10 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "Inflector", - "proc-macro-crate 1.2.1", + "proc-macro-crate 1.3.0", "proc-macro2", "quote", "syn", @@ -3501,10 +3547,11 @@ dependencies = [ [[package]] name = "sp-staking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "parity-scale-codec", "scale-info", + "sp-core", "sp-runtime", "sp-std", ] @@ -3512,7 +3559,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.13.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "hash-db", "log 0.4.17", @@ -3534,12 +3581,12 @@ dependencies = [ [[package]] name = "sp-std" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" [[package]] name = "sp-storage" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "impl-serde", "parity-scale-codec", @@ -3552,7 +3599,7 @@ dependencies = [ [[package]] name = "sp-tracing" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "parity-scale-codec", "sp-std", @@ -3564,7 +3611,7 @@ dependencies = [ [[package]] name = "sp-trie" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "ahash", "hash-db", @@ -3587,7 +3634,7 @@ dependencies = [ [[package]] name = "sp-version" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "impl-serde", "parity-scale-codec", @@ -3604,7 +3651,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "parity-scale-codec", "proc-macro2", @@ -3615,7 +3662,7 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "impl-trait-for-tuples", "log 0.4.17", @@ -3628,7 +3675,7 @@ dependencies = [ [[package]] name = "sp-weights" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.35#055f829759dfa300857f98715f364a11b454c1c8" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -3653,9 +3700,9 @@ dependencies = [ [[package]] name = "ss58-registry" -version = "1.35.0" +version = "1.38.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa0813c10b9dbdc842c2305f949f724c64866e4ef4d09c9151e96f6a2106773c" +checksum = "e40c020d72bc0a9c5660bb71e4a6fdef081493583062c474740a7d59f55f0e7b" dependencies = [ "Inflector", "num-format", @@ -3718,9 +3765,9 @@ checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" [[package]] name = "syn" -version = "1.0.105" +version = "1.0.107" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60b9b43d45702de4c839cb9b51d9f529c5dd26a4aff255b42b1ebc03e88ee908" +checksum = "1f4064b5b16e03ae50984a5a8ed5d4f8803e6bc1fd170a3cda91a1be4b18e3f5" dependencies = [ "proc-macro2", "quote", @@ -3767,9 +3814,9 @@ dependencies = [ [[package]] name = "termcolor" -version = "1.1.3" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755" +checksum = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6" dependencies = [ "winapi-util", ] @@ -3782,18 +3829,18 @@ checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d" [[package]] name = "thiserror" -version = "1.0.37" +version = "1.0.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10deb33631e3c9018b9baf9dcbbc4f737320d2b576bac10f6aefa048fa407e3e" +checksum = "6a9cd18aa97d5c45c6603caea1da6628790b37f7a34b6ca89522331c5180fed0" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.37" +version = "1.0.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "982d17546b47146b28f7c22e3d08465f6b8903d0ea13c1660d9d84a6e7adcdbb" +checksum = "1fb327af4685e4d03fa8cbcf1716380da910eeb2bb8be417e7f9fd3fb164f36f" dependencies = [ "proc-macro2", "quote", @@ -3802,10 +3849,11 @@ dependencies = [ [[package]] name = "thread_local" -version = "1.1.4" +version = "1.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5516c27b78311c50bf42c071425c560ac799b11c30b31f87e3081965fe5e0180" +checksum = "3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152" dependencies = [ + "cfg-if 1.0.0", "once_cell", ] @@ -3850,28 +3898,28 @@ dependencies = [ [[package]] name = "tinyvec_macros" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" +checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.22.0" +version = "1.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d76ce4a75fb488c605c54bf610f221cea8b0dafb53333c1a67e8ee199dcd2ae3" +checksum = "c8e00990ebabbe4c14c08aca901caed183ecd5c09562a12c824bb53d3c3fd3af" dependencies = [ "autocfg 1.1.0", - "bytes 1.3.0", + "bytes 1.4.0", "libc", "memchr", - "mio 0.8.5", + "mio 0.8.6", "num_cpus", "parking_lot 0.12.1", "pin-project-lite", "signal-hook-registry", "socket2", "tokio-macros", - "winapi 0.3.9", + "windows-sys 0.42.0", ] [[package]] @@ -3919,9 +3967,9 @@ dependencies = [ [[package]] name = "tokio-native-tls" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7d995660bd2b7f8c1568414c1126076c13fbb725c40112dc0120b78eb9b717b" +checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2" dependencies = [ "native-tls", "tokio", @@ -3983,11 +4031,11 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.4" +version = "0.7.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bb2e075f03b3d66d8d8785356224ba688d2906a371015e225beeb65ca92c740" +checksum = "5427d89453009325de0d8f342c9490009f76e999cb7672d77e46267448f7e6b2" dependencies = [ - "bytes 1.3.0", + "bytes 1.4.0", "futures-core", "futures-sink", "pin-project-lite", @@ -3997,13 +4045,30 @@ dependencies = [ [[package]] name = "toml" -version = "0.5.9" +version = "0.5.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d82e1a7758622a465f8cee077614c73484dac5b836c02ff6a40d5d1010324d7" +checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234" dependencies = [ "serde", ] +[[package]] +name = "toml_datetime" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4553f467ac8e3d374bc9a177a26801e5d0f9b211aa1673fb137a403afd1c9cf5" + +[[package]] +name = "toml_edit" +version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56c59d8dd7d0dcbc6428bf7aa2f0e823e26e43b3c9aca15bbc9475d23e5fa12b" +dependencies = [ + "indexmap", + "nom8", + "toml_datetime", +] + [[package]] name = "tower-service" version = "0.3.2" @@ -4116,15 +4181,15 @@ dependencies = [ [[package]] name = "try-lock" -version = "0.2.3" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642" +checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed" [[package]] name = "tt-call" -version = "1.0.8" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e66dcbec4290c69dd03c57e76c2469ea5c7ce109c6dd4351c13055cf71ea055" +checksum = "f4f195fd851901624eee5a58c4bb2b4f06399148fcd0ed336e6f1cb60a9881df" [[package]] name = "twox-hash" @@ -4146,9 +4211,9 @@ checksum = "1410f6f91f21d1612654e7cc69193b0334f909dcf2c790c4826254fbb86f8887" [[package]] name = "typenum" -version = "1.15.0" +version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987" +checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba" [[package]] name = "uint" @@ -4173,15 +4238,15 @@ dependencies = [ [[package]] name = "unicode-bidi" -version = "0.3.8" +version = "0.3.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "099b7128301d285f79ddd55b9a83d5e6b9e97c92e0ea0daebee7263e932de992" +checksum = "d54675592c1dbefd78cbd98db9bacd89886e1ca50692a0692baefffdeb92dd58" [[package]] name = "unicode-ident" -version = "1.0.5" +version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ceab39d59e4c9499d4e5a8ee0e2735b891bb7308ac83dfb4e80cad195c9f6f3" +checksum = "84a22b9f218b40614adcb3f4ff08b703773ad44fa9423e4e0d346d5db86e4ebc" [[package]] name = "unicode-normalization" @@ -4280,9 +4345,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.83" +version = "0.2.84" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eaf9f5aceeec8be17c128b2e93e031fb8a4d469bb9c4ae2d7dc1888b26887268" +checksum = "31f8dcbc21f30d9b8f2ea926ecb58f6b91192c17e9d33594b3df58b2007ca53b" dependencies = [ "cfg-if 1.0.0", "wasm-bindgen-macro", @@ -4290,9 +4355,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.83" +version = "0.2.84" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c8ffb332579b0557b52d268b91feab8df3615f265d5270fec2a8c95b17c1142" +checksum = "95ce90fd5bcc06af55a641a86428ee4229e44e07033963a2290a8e241607ccb9" dependencies = [ "bumpalo", "log 0.4.17", @@ -4305,9 +4370,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-futures" -version = "0.4.33" +version = "0.4.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23639446165ca5a5de86ae1d8896b737ae80319560fbaa4c2887b7da6e7ebd7d" +checksum = "f219e0d211ba40266969f6dbdd90636da12f75bee4fc9d6c23d1260dadb51454" dependencies = [ "cfg-if 1.0.0", "js-sys", @@ -4317,9 +4382,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.83" +version = "0.2.84" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "052be0f94026e6cbc75cdefc9bae13fd6052cdcaf532fa6c45e7ae33a1e6c810" +checksum = "4c21f77c0bedc37fd5dc21f897894a5ca01e7bb159884559461862ae90c0b4c5" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -4327,9 +4392,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.83" +version = "0.2.84" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07bc0c051dc5f23e307b13285f9d75df86bfdf816c5721e573dec1f9b8aa193c" +checksum = "2aff81306fcac3c7515ad4e177f521b5c9a15f2b08f4e32d823066102f35a5f6" dependencies = [ "proc-macro2", "quote", @@ -4340,9 +4405,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-shared" -version = "0.2.83" +version = "0.2.84" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c38c045535d93ec4f0b4defec448e4291638ee608530863b1e2ba115d4fff7f" +checksum = "0046fef7e28c3804e5e38bfa31ea2a0f73905319b677e57ebe37e49358989b5d" [[package]] name = "wasmi" @@ -4398,7 +4463,7 @@ dependencies = [ "indexmap", "libc", "log 0.4.17", - "object", + "object 0.29.0", "once_cell", "paste", "psm", @@ -4428,10 +4493,10 @@ checksum = "ebb881c61f4f627b5d45c54e629724974f8a8890d455bcbe634330cc27309644" dependencies = [ "anyhow", "cranelift-entity", - "gimli", + "gimli 0.26.2", "indexmap", "log 0.4.17", - "object", + "object 0.29.0", "serde", "target-lexicon", "thiserror", @@ -4445,14 +4510,14 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1985c628011fe26adf5e23a5301bdc79b245e0e338f14bb58b39e4e25e4d8681" dependencies = [ - "addr2line", + "addr2line 0.17.0", "anyhow", "bincode", "cfg-if 1.0.0", "cpp_demangle", - "gimli", + "gimli 0.26.2", "log 0.4.17", - "object", + "object 0.29.0", "rustc-demangle", "rustix", "serde", @@ -4510,9 +4575,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.60" +version = "0.3.61" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcda906d8be16e728fd5adc5b729afad4e444e106ab28cd1c7256e54fa61510f" +checksum = "e33b99f4b23ba3eec1a53ac264e35a755f00e966e0065077d6027c0f575b0b97" dependencies = [ "js-sys", "wasm-bindgen", @@ -4622,19 +4687,43 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" dependencies = [ "windows_aarch64_gnullvm", - "windows_aarch64_msvc 0.42.0", - "windows_i686_gnu 0.42.0", - "windows_i686_msvc 0.42.0", - "windows_x86_64_gnu 0.42.0", + "windows_aarch64_msvc 0.42.1", + "windows_i686_gnu 0.42.1", + "windows_i686_msvc 0.42.1", + "windows_x86_64_gnu 0.42.1", "windows_x86_64_gnullvm", - "windows_x86_64_msvc 0.42.0", + "windows_x86_64_msvc 0.42.1", +] + +[[package]] +name = "windows-sys" +version = "0.45.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" +dependencies = [ + "windows-targets", +] + +[[package]] +name = "windows-targets" +version = "0.42.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e2522491fbfcd58cc84d47aeb2958948c4b8982e9a2d8a2a35bbaed431390e7" +dependencies = [ + "windows_aarch64_gnullvm", + "windows_aarch64_msvc 0.42.1", + "windows_i686_gnu 0.42.1", + "windows_i686_msvc 0.42.1", + "windows_x86_64_gnu 0.42.1", + "windows_x86_64_gnullvm", + "windows_x86_64_msvc 0.42.1", ] [[package]] name = "windows_aarch64_gnullvm" -version = "0.42.0" +version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41d2aa71f6f0cbe00ae5167d90ef3cfe66527d6f613ca78ac8024c3ccab9a19e" +checksum = "8c9864e83243fdec7fc9c5444389dcbbfd258f745e7853198f365e3c4968a608" [[package]] name = "windows_aarch64_msvc" @@ -4644,9 +4733,9 @@ checksum = "9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47" [[package]] name = "windows_aarch64_msvc" -version = "0.42.0" +version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd0f252f5a35cac83d6311b2e795981f5ee6e67eb1f9a7f64eb4500fbc4dcdb4" +checksum = "4c8b1b673ffc16c47a9ff48570a9d85e25d265735c503681332589af6253c6c7" [[package]] name = "windows_i686_gnu" @@ -4656,9 +4745,9 @@ checksum = "180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6" [[package]] name = "windows_i686_gnu" -version = "0.42.0" +version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbeae19f6716841636c28d695375df17562ca208b2b7d0dc47635a50ae6c5de7" +checksum = "de3887528ad530ba7bdbb1faa8275ec7a1155a45ffa57c37993960277145d640" [[package]] name = "windows_i686_msvc" @@ -4668,9 +4757,9 @@ checksum = "e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024" [[package]] name = "windows_i686_msvc" -version = "0.42.0" +version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84c12f65daa39dd2babe6e442988fc329d6243fdce47d7d2d155b8d874862246" +checksum = "bf4d1122317eddd6ff351aa852118a2418ad4214e6613a50e0191f7004372605" [[package]] name = "windows_x86_64_gnu" @@ -4680,15 +4769,15 @@ checksum = "4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1" [[package]] name = "windows_x86_64_gnu" -version = "0.42.0" +version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf7b1b21b5362cbc318f686150e5bcea75ecedc74dd157d874d754a2ca44b0ed" +checksum = "c1040f221285e17ebccbc2591ffdc2d44ee1f9186324dd3e84e99ac68d699c45" [[package]] name = "windows_x86_64_gnullvm" -version = "0.42.0" +version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09d525d2ba30eeb3297665bd434a54297e4170c7f1a44cad4ef58095b4cd2028" +checksum = "628bfdf232daa22b0d64fdb62b09fcc36bb01f05a3939e20ab73aaf9470d0463" [[package]] name = "windows_x86_64_msvc" @@ -4698,9 +4787,9 @@ checksum = "c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680" [[package]] name = "windows_x86_64_msvc" -version = "0.42.0" +version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f40009d85759725a34da6d89a94e63d7bdc50a862acf0dbc7c8e488f1edcb6f5" +checksum = "447660ad36a13288b1db4d4248e857b510e8c3a225c822ba4fb748c0aafecffd" [[package]] name = "winreg" diff --git a/fork-off/Cargo.toml b/fork-off/Cargo.toml index e5ad4016c7..292e497ec0 100644 --- a/fork-off/Cargo.toml +++ b/fork-off/Cargo.toml @@ -19,10 +19,10 @@ serde = "1" serde_json = "1" tokio = { version = "1.0", features = ["full"] } -sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -frame-support = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -frame-system = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -pallet-balances = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +frame-support = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +frame-system = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +pallet-balances = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } jsonrpc-core = "18.0" jsonrpc-core-client = { version = "18.0", features = ["ws"] } jsonrpc-derive = "18.0" diff --git a/pallets/aleph/Cargo.toml b/pallets/aleph/Cargo.toml index b32a96c49e..388f91ba9d 100644 --- a/pallets/aleph/Cargo.toml +++ b/pallets/aleph/Cargo.toml @@ -10,20 +10,20 @@ codec = { package = "parity-scale-codec", version = "3.0", default-features = fa serde = "1.0" scale-info = { version = "2.0", default-features = false, features = ["derive"] } -frame-support = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -frame-system = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -pallet-balances = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -pallet-session = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -sp-io = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -sp-std = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +frame-support = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +frame-system = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +pallet-balances = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +pallet-session = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +sp-io = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +sp-std = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } pallets-support = { path = "../support", default-features = false } primitives = { path = "../../primitives", default-features = false } [dev-dependencies] -pallet-timestamp = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -sp-runtime = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -sp-core = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +pallet-timestamp = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +sp-runtime = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +sp-core = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } [features] default = ["std"] diff --git a/pallets/elections/Cargo.toml b/pallets/elections/Cargo.toml index e0aea1a590..3a3bbaf2d5 100644 --- a/pallets/elections/Cargo.toml +++ b/pallets/elections/Cargo.toml @@ -8,18 +8,18 @@ license = "Apache 2.0" codec = { package = "parity-scale-codec", version = "3.0", default-features = false, features = ["derive"] } scale-info = { version = "2.0", default-features = false, features = ["derive"] } -frame-support = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -frame-system = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -frame-election-provider-support = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -pallet-authorship = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -pallet-balances = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -pallet-session = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -pallet-staking = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -sp-core = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -sp-io = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -sp-staking = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -sp-std = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -sp-runtime = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +frame-support = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +frame-system = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +frame-election-provider-support = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +pallet-authorship = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +pallet-balances = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +pallet-session = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +pallet-staking = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +sp-core = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +sp-io = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +sp-staking = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +sp-std = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +sp-runtime = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } pallets-support = { path = "../support", default-features = false } primitives = { path = "../../primitives", default-features = false } diff --git a/pallets/support/Cargo.toml b/pallets/support/Cargo.toml index 6037bafd84..b2fe3bdac4 100644 --- a/pallets/support/Cargo.toml +++ b/pallets/support/Cargo.toml @@ -4,8 +4,8 @@ version = "0.1.4" edition = "2021" [dependencies] -frame-support = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -sp-std = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +frame-support = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +sp-std = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } [features] default = ["std"] diff --git a/primitives/Cargo.toml b/primitives/Cargo.toml index 912c072c5c..03186f9692 100644 --- a/primitives/Cargo.toml +++ b/primitives/Cargo.toml @@ -10,12 +10,12 @@ codec = { package = "parity-scale-codec", version = "3.0", default-features = fa serde = { version = "1.0", features = ["derive"] } scale-info = { version = "2.0", default-features = false, features = ["derive"] } -sp-api = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -sp-application-crypto = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -sp-core = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -sp-runtime = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -sp-std = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } -sp-staking = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.35" } +sp-api = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +sp-application-crypto = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +sp-core = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +sp-runtime = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +sp-std = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +sp-staking = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } [features] default = ["std"] diff --git a/scripts/synthetic-network/synthetic-link/Cargo.lock b/scripts/synthetic-network/synthetic-link/Cargo.lock index c583cf2385..944da90955 100644 --- a/scripts/synthetic-network/synthetic-link/Cargo.lock +++ b/scripts/synthetic-network/synthetic-link/Cargo.lock @@ -13,9 +13,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.66" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "216261ddc8289130e551ddcd5ce8a064710c0d064a4d2895c67151c92b5443f6" +checksum = "224afbd727c3d6e4b90103ece64b8d1b67fbb1973b1046c2281eed3f3803f800" [[package]] name = "autocfg" @@ -25,9 +25,9 @@ checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" [[package]] name = "base64" -version = "0.13.1" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" +checksum = "a4a4ddaa51a5bc52a6948f74c06d20aaaddb71924eab79b8c97a8c556e942d6a" [[package]] name = "bitflags" @@ -37,21 +37,21 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bumpalo" -version = "3.11.1" +version = "3.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "572f695136211188308f16ad2ca5c851a712c464060ae6974944458eb83880ba" +checksum = "0d261e256854913907f67ed06efbc3338dfe6179796deefc1ff763fc1aee5535" [[package]] name = "bytes" -version = "1.3.0" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfb24e866b15a1af2a1b663f10c6b6b8f397a84aadb828f12e5b289ec23a3a3c" +checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be" [[package]] name = "cc" -version = "1.0.77" +version = "1.0.79" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9f73505338f7d905b19d18738976aae232eb46b8efc15554ffc56deb5d9ebe4" +checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f" [[package]] name = "cfg-if" @@ -61,9 +61,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "clap" -version = "4.0.29" +version = "4.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d63b9e9c07271b9957ad22c173bae2a4d9a81127680962039296abcd2f8251d" +checksum = "ec0b0588d44d4d63a87dbd75c136c166bbfd9a86a31cb89e09906521c7d3f5e3" dependencies = [ "bitflags", "clap_derive", @@ -76,9 +76,9 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.0.21" +version = "4.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0177313f9f02afc995627906bbd8967e2be069f5261954222dac78290c2b9014" +checksum = "684a277d672e91966334af371f1a7b5833f9aa00b07c84e92fbce95e00208ce8" dependencies = [ "heck", "proc-macro-error", @@ -89,9 +89,9 @@ dependencies = [ [[package]] name = "clap_lex" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d4198f73e42b4936b35b5bb248d81d2b595ecb170da0bac7655c54eedfa8da8" +checksum = "783fe232adfca04f90f56201b26d79682d4cd2625e0bc7290b95123afe558ade" dependencies = [ "os_str_bytes", ] @@ -114,9 +114,9 @@ checksum = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc" [[package]] name = "encoding_rs" -version = "0.8.31" +version = "0.8.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9852635589dc9f9ea1b6fe9f05b50ef208c85c834a562f0c6abb1c475736ec2b" +checksum = "071a31f4ee85403370b58aca746f01041ede6f0da2730960ad001edc2b71b394" dependencies = [ "cfg-if", ] @@ -157,9 +157,9 @@ dependencies = [ [[package]] name = "fastrand" -version = "1.8.0" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7a407cfaa3385c4ae6b23e84623d48c2798d06e3e6a1878f7f59f17b3f86499" +checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be" dependencies = [ "instant", ] @@ -196,36 +196,36 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52ba265a92256105f45b719605a571ffe2d1f0fea3807304b522c1d778f79eed" +checksum = "2e5317663a9089767a1ec00a487df42e0ca174b61b4483213ac24448e4664df5" dependencies = [ "futures-core", ] [[package]] name = "futures-core" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04909a7a7e4633ae6c4a9ab280aeb86da1236243a77b694a49eacd659a4bd3ac" +checksum = "ec90ff4d0fe1f57d600049061dc6bb68ed03c7d2fbd697274c41805dcb3f8608" [[package]] name = "futures-sink" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39c15cf1a4aa79df40f1bb462fb39676d0ad9e366c2a33b590d7c66f4f81fcf9" +checksum = "f310820bb3e8cfd46c80db4d7fb8353e15dfff853a127158425f31e0be6c8364" [[package]] name = "futures-task" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ffb393ac5d9a6eaa9d3fdf37ae2776656b706e200c8e16b1bdb227f5198e6ea" +checksum = "dcf79a1bf610b10f42aea489289c5a2c478a786509693b80cd39c44ccd936366" [[package]] name = "futures-util" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "197676987abd2f9cadff84926f410af1c183608d36641465df73ae8211dc65d6" +checksum = "9c1d6de3acfef38d2be4b1f543f553131788603495be83da675e180c8d6b7bd1" dependencies = [ "futures-core", "futures-task", @@ -260,33 +260,30 @@ checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" [[package]] name = "heck" -version = "0.4.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9" +checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" [[package]] name = "hermit-abi" -version = "0.1.19" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" +checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7" dependencies = [ "libc", ] [[package]] name = "hermit-abi" -version = "0.2.6" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7" -dependencies = [ - "libc", -] +checksum = "fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286" [[package]] name = "http" -version = "0.2.8" +version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75f43d41e26995c17e71ee126451dd3941010b0514a81a9d11f3b341debc2399" +checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482" dependencies = [ "bytes", "fnv", @@ -324,9 +321,9 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" [[package]] name = "hyper" -version = "0.14.23" +version = "0.14.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "034711faac9d2166cb1baf1a2fb0b60b1f277f8492fd72176c17f3515e1abd3c" +checksum = "5e011372fa0b68db8350aa7a248930ecc7839bf46d8485577d69f117a75f164c" dependencies = [ "bytes", "futures-channel", @@ -390,43 +387,43 @@ dependencies = [ [[package]] name = "io-lifetimes" -version = "1.0.3" +version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46112a93252b123d31a119a8d1a1ac19deac4fac6e0e8b0df58f0d4e5870e63c" +checksum = "1abeb7a0dd0f8181267ff8adc397075586500b81b28a73e8a0208b00fc170fb3" dependencies = [ "libc", - "windows-sys 0.42.0", + "windows-sys 0.45.0", ] [[package]] name = "ipnet" -version = "2.6.0" +version = "2.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec947b7a4ce12e3b87e353abae7ce124d025b6c7d6c5aea5cc0bcf92e9510ded" +checksum = "30e22bd8629359895450b59ea7a776c850561b96a3b1d31321c1949d9e6c9146" [[package]] name = "is-terminal" -version = "0.4.1" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "927609f78c2913a6f6ac3c27a4fe87f43e2a35367c0c4b0f8265e8f49a104330" +checksum = "22e18b0a45d56fe973d6db23972bf5bc46f988a4a2385deac9cc29572f09daef" dependencies = [ - "hermit-abi 0.2.6", + "hermit-abi 0.3.1", "io-lifetimes", "rustix", - "windows-sys 0.42.0", + "windows-sys 0.45.0", ] [[package]] name = "itoa" -version = "1.0.4" +version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4217ad341ebadf8d8e724e264f13e593e0648f5b3e94b3896a5df283be015ecc" +checksum = "fad582f4b9e86b6caa621cabeb0963332d92eea04729ab12892c2533951e6440" [[package]] name = "js-sys" -version = "0.3.60" +version = "0.3.61" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49409df3e3bf0856b916e2ceaca09ee28e6871cf7d9ce97a692cacfdb2a25a47" +checksum = "445dde2150c55e483f3d8416706b97ec8e8237c307e5b7b4b8dd15e6af2a0730" dependencies = [ "wasm-bindgen", ] @@ -439,15 +436,15 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" [[package]] name = "libc" -version = "0.2.138" +version = "0.2.139" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db6d7e329c562c5dfab7a46a2afabc8b987ab9a4834c9d1ca04dc54c1546cef8" +checksum = "201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79" [[package]] name = "linux-raw-sys" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f9f08d8963a6c613f4b1a78f4f4a4dbfadf8e6545b2d72861731e4858b8b47f" +checksum = "f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4" [[package]] name = "lock_api" @@ -482,14 +479,14 @@ checksum = "2a60c7ce501c71e03a9c9c0d35b861413ae925bd979cc7a4e30d060069aaac8d" [[package]] name = "mio" -version = "0.8.5" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5d732bc30207a6423068df043e3d02e0735b155ad7ce1a6f76fe2baa5b158de" +checksum = "5b9d9a46eff5b4ff64b45a9e316a6d1e0bc719ef429cbec4dc630684212bfdf9" dependencies = [ "libc", "log", "wasi", - "windows-sys 0.42.0", + "windows-sys 0.45.0", ] [[package]] @@ -512,25 +509,25 @@ dependencies = [ [[package]] name = "num_cpus" -version = "1.14.0" +version = "1.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6058e64324c71e02bc2b150e4f3bc8286db6c83092132ffa3f6b1eab0f9def5" +checksum = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b" dependencies = [ - "hermit-abi 0.1.19", + "hermit-abi 0.2.6", "libc", ] [[package]] name = "once_cell" -version = "1.16.0" +version = "1.17.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86f0b0d4bf799edbc74508c1e8bf170ff5f41238e5f8225603ca7caaae2b7860" +checksum = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3" [[package]] name = "openssl" -version = "0.10.44" +version = "0.10.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29d971fd5722fec23977260f6e81aa67d2f22cadbdc2aa049f1022d9a3be1566" +checksum = "b102428fd03bc5edf97f62620f7298614c45cedf287c271e7ed450bbaf83f2e1" dependencies = [ "bitflags", "cfg-if", @@ -560,9 +557,9 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "openssl-sys" -version = "0.9.79" +version = "0.9.80" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5454462c0eced1e97f2ec09036abc8da362e66802f66fd20f86854d9d8cbcbc4" +checksum = "23bbbf7854cd45b83958ebe919f0e8e516793727652e27fda10a8384cfc790b7" dependencies = [ "autocfg", "cc", @@ -589,15 +586,15 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.5" +version = "0.9.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ff9f3fef3968a3ec5945535ed654cb38ff72d7495a25619e2247fb15a2ed9ba" +checksum = "9069cbb9f99e3a5083476ccb29ceb1de18b9118cafa53e90c9551235de2b9521" dependencies = [ "cfg-if", "libc", "redox_syscall", "smallvec", - "windows-sys 0.42.0", + "windows-sys 0.45.0", ] [[package]] @@ -650,18 +647,18 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.47" +version = "1.0.51" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ea3d908b0e36316caf9e9e2c4625cdde190a7e6f440d794667ed17a1855e725" +checksum = "5d727cae5b39d21da60fa540906919ad737832fe0b1c165da3a34d6548c849d6" dependencies = [ "unicode-ident", ] [[package]] name = "quote" -version = "1.0.21" +version = "1.0.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbe448f377a7d6961e30f5955f9b8d106c3f5e449d493ee1b125c1d43c2b5179" +checksum = "8856d8364d252a14d474036ea1358d63c9e6965c8e5c1885c18f73d70bff9c7b" dependencies = [ "proc-macro2", ] @@ -677,9 +674,9 @@ dependencies = [ [[package]] name = "regex" -version = "1.7.0" +version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e076559ef8e241f2ae3479e36f97bd5741c0330689e217ad51ce2c76808b868a" +checksum = "48aaa5748ba571fb95cd2c85c09f629215d3a6ece942baa100950af03a34f733" dependencies = [ "aho-corasick", "memchr", @@ -703,9 +700,9 @@ dependencies = [ [[package]] name = "reqwest" -version = "0.11.13" +version = "0.11.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68cc60575865c7831548863cc02356512e3f1dc2f3f82cb837d7fc4cc8f3c97c" +checksum = "21eed90ec8570952d53b772ecf8f206aa1ec9a3d76b2521c56c42973f2d91ee9" dependencies = [ "base64", "bytes", @@ -740,32 +737,31 @@ dependencies = [ [[package]] name = "rustix" -version = "0.36.5" +version = "0.36.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3807b5d10909833d3e9acd1eb5fb988f79376ff10fce42937de71a449c4c588" +checksum = "f43abb88211988493c1abb44a70efa56ff0ce98f233b7b276146f1f3f7ba9644" dependencies = [ "bitflags", "errno", "io-lifetimes", "libc", "linux-raw-sys", - "windows-sys 0.42.0", + "windows-sys 0.45.0", ] [[package]] name = "ryu" -version = "1.0.11" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4501abdff3ae82a1c1b477a17252eb69cee9e66eb915c1abaa4f44d873df9f09" +checksum = "7b4b9743ed687d4b4bcedf9ff5eaa7398495ae14e61cba0a295704edbc7decde" [[package]] name = "schannel" -version = "0.1.20" +version = "0.1.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88d6731146462ea25d9244b2ed5fd1d716d25c52e4d54aa4fb0f3c4e9854dbe2" +checksum = "713cfb06c7059f3588fb8044c0fad1d09e3c01d225e25b9220dbfdcf16dbb1b3" dependencies = [ - "lazy_static", - "windows-sys 0.36.1", + "windows-sys 0.42.0", ] [[package]] @@ -776,9 +772,9 @@ checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" [[package]] name = "security-framework" -version = "2.7.0" +version = "2.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bc1bb97804af6631813c55739f771071e0f2ed33ee20b68c86ec505d906356c" +checksum = "a332be01508d814fed64bf28f798a146d73792121129962fdf335bb3c49a4254" dependencies = [ "bitflags", "core-foundation", @@ -789,9 +785,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.6.1" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0160a13a177a45bfb43ce71c01580998474f556ad854dcbca936dd2841a5c556" +checksum = "31c9bb296072e961fcbd8853511dd39c2d8be2deb1e17c6860b1d30732b323b4" dependencies = [ "core-foundation-sys", "libc", @@ -799,18 +795,18 @@ dependencies = [ [[package]] name = "serde" -version = "1.0.149" +version = "1.0.152" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "256b9932320c590e707b94576e3cc1f7c9024d0ee6612dfbcf1cb106cbe8e055" +checksum = "bb7d1f0d3021d347a83e556fc4683dea2ea09d87bccdf88ff5c12545d89d5efb" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.149" +version = "1.0.152" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4eae9b04cbffdfd550eb462ed33bc6a1b68c935127d008b27444d08380f94e4" +checksum = "af487d118eecd09402d70a5d72551860e788df87b464af30e5ea6a38c75c541e" dependencies = [ "proc-macro2", "quote", @@ -819,9 +815,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.89" +version = "1.0.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "020ff22c755c2ed3f8cf162dbb41a7268d934702f3ed3631656ea597e08fc3db" +checksum = "cad406b69c91885b5107daf2c29572f6c8cdb3c66826821e286c533490c0bc76" dependencies = [ "itoa", "ryu", @@ -830,9 +826,9 @@ dependencies = [ [[package]] name = "serde_repr" -version = "0.1.9" +version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fe39d9fbb0ebf5eb2c7cb7e2a47e4f462fad1379f1166b8ae49ad9eae89a7ca" +checksum = "9a5ec9fa74a20ebbe5d9ac23dac1fc96ba0ecfe9f50f2843b52e537b10fbcb4e" dependencies = [ "proc-macro2", "quote", @@ -853,18 +849,18 @@ dependencies = [ [[package]] name = "signal-hook-registry" -version = "1.4.0" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e51e73328dc4ac0c7ccbda3a494dfa03df1de2f46018127f60c693f2648455b0" +checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1" dependencies = [ "libc", ] [[package]] name = "slab" -version = "0.4.7" +version = "0.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4614a76b2a8be0058caa9dbbaf66d988527d86d003c11a94fbd335d7661edcef" +checksum = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d" dependencies = [ "autocfg", ] @@ -893,9 +889,9 @@ checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" [[package]] name = "syn" -version = "1.0.105" +version = "1.0.107" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60b9b43d45702de4c839cb9b51d9f529c5dd26a4aff255b42b1ebc03e88ee908" +checksum = "1f4064b5b16e03ae50984a5a8ed5d4f8803e6bc1fd170a3cda91a1be4b18e3f5" dependencies = [ "proc-macro2", "quote", @@ -933,9 +929,9 @@ dependencies = [ [[package]] name = "termcolor" -version = "1.1.3" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755" +checksum = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6" dependencies = [ "winapi-util", ] @@ -951,15 +947,15 @@ dependencies = [ [[package]] name = "tinyvec_macros" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" +checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.23.0" +version = "1.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eab6d665857cc6ca78d6e80303a02cea7a7851e85dfbd77cbdc09bd129f1ef46" +checksum = "c8e00990ebabbe4c14c08aca901caed183ecd5c09562a12c824bb53d3c3fd3af" dependencies = [ "autocfg", "bytes", @@ -988,9 +984,9 @@ dependencies = [ [[package]] name = "tokio-native-tls" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7d995660bd2b7f8c1568414c1126076c13fbb725c40112dc0120b78eb9b717b" +checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2" dependencies = [ "native-tls", "tokio", @@ -998,9 +994,9 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.4" +version = "0.7.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bb2e075f03b3d66d8d8785356224ba688d2906a371015e225beeb65ca92c740" +checksum = "5427d89453009325de0d8f342c9490009f76e999cb7672d77e46267448f7e6b2" dependencies = [ "bytes", "futures-core", @@ -1038,21 +1034,21 @@ dependencies = [ [[package]] name = "try-lock" -version = "0.2.3" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642" +checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed" [[package]] name = "unicode-bidi" -version = "0.3.8" +version = "0.3.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "099b7128301d285f79ddd55b9a83d5e6b9e97c92e0ea0daebee7263e932de992" +checksum = "d54675592c1dbefd78cbd98db9bacd89886e1ca50692a0692baefffdeb92dd58" [[package]] name = "unicode-ident" -version = "1.0.5" +version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ceab39d59e4c9499d4e5a8ee0e2735b891bb7308ac83dfb4e80cad195c9f6f3" +checksum = "84a22b9f218b40614adcb3f4ff08b703773ad44fa9423e4e0d346d5db86e4ebc" [[package]] name = "unicode-normalization" @@ -1104,9 +1100,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.83" +version = "0.2.84" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eaf9f5aceeec8be17c128b2e93e031fb8a4d469bb9c4ae2d7dc1888b26887268" +checksum = "31f8dcbc21f30d9b8f2ea926ecb58f6b91192c17e9d33594b3df58b2007ca53b" dependencies = [ "cfg-if", "wasm-bindgen-macro", @@ -1114,9 +1110,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.83" +version = "0.2.84" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c8ffb332579b0557b52d268b91feab8df3615f265d5270fec2a8c95b17c1142" +checksum = "95ce90fd5bcc06af55a641a86428ee4229e44e07033963a2290a8e241607ccb9" dependencies = [ "bumpalo", "log", @@ -1129,9 +1125,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-futures" -version = "0.4.33" +version = "0.4.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23639446165ca5a5de86ae1d8896b737ae80319560fbaa4c2887b7da6e7ebd7d" +checksum = "f219e0d211ba40266969f6dbdd90636da12f75bee4fc9d6c23d1260dadb51454" dependencies = [ "cfg-if", "js-sys", @@ -1141,9 +1137,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.83" +version = "0.2.84" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "052be0f94026e6cbc75cdefc9bae13fd6052cdcaf532fa6c45e7ae33a1e6c810" +checksum = "4c21f77c0bedc37fd5dc21f897894a5ca01e7bb159884559461862ae90c0b4c5" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -1151,9 +1147,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.83" +version = "0.2.84" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07bc0c051dc5f23e307b13285f9d75df86bfdf816c5721e573dec1f9b8aa193c" +checksum = "2aff81306fcac3c7515ad4e177f521b5c9a15f2b08f4e32d823066102f35a5f6" dependencies = [ "proc-macro2", "quote", @@ -1164,15 +1160,15 @@ dependencies = [ [[package]] name = "wasm-bindgen-shared" -version = "0.2.83" +version = "0.2.84" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c38c045535d93ec4f0b4defec448e4291638ee608530863b1e2ba115d4fff7f" +checksum = "0046fef7e28c3804e5e38bfa31ea2a0f73905319b677e57ebe37e49358989b5d" [[package]] name = "web-sys" -version = "0.3.60" +version = "0.3.61" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcda906d8be16e728fd5adc5b729afad4e444e106ab28cd1c7256e54fa61510f" +checksum = "e33b99f4b23ba3eec1a53ac264e35a755f00e966e0065077d6027c0f575b0b97" dependencies = [ "js-sys", "wasm-bindgen", @@ -1209,19 +1205,6 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" -[[package]] -name = "windows-sys" -version = "0.36.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea04155a16a59f9eab786fe12a4a450e75cdb175f9e0d80da1e17db09f55b8d2" -dependencies = [ - "windows_aarch64_msvc 0.36.1", - "windows_i686_gnu 0.36.1", - "windows_i686_msvc 0.36.1", - "windows_x86_64_gnu 0.36.1", - "windows_x86_64_msvc 0.36.1", -] - [[package]] name = "windows-sys" version = "0.42.0" @@ -1229,85 +1212,79 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" dependencies = [ "windows_aarch64_gnullvm", - "windows_aarch64_msvc 0.42.0", - "windows_i686_gnu 0.42.0", - "windows_i686_msvc 0.42.0", - "windows_x86_64_gnu 0.42.0", + "windows_aarch64_msvc", + "windows_i686_gnu", + "windows_i686_msvc", + "windows_x86_64_gnu", "windows_x86_64_gnullvm", - "windows_x86_64_msvc 0.42.0", + "windows_x86_64_msvc", ] [[package]] -name = "windows_aarch64_gnullvm" -version = "0.42.0" +name = "windows-sys" +version = "0.45.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41d2aa71f6f0cbe00ae5167d90ef3cfe66527d6f613ca78ac8024c3ccab9a19e" +checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" +dependencies = [ + "windows-targets", +] [[package]] -name = "windows_aarch64_msvc" -version = "0.36.1" +name = "windows-targets" +version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47" +checksum = "8e2522491fbfcd58cc84d47aeb2958948c4b8982e9a2d8a2a35bbaed431390e7" +dependencies = [ + "windows_aarch64_gnullvm", + "windows_aarch64_msvc", + "windows_i686_gnu", + "windows_i686_msvc", + "windows_x86_64_gnu", + "windows_x86_64_gnullvm", + "windows_x86_64_msvc", +] [[package]] -name = "windows_aarch64_msvc" -version = "0.42.0" +name = "windows_aarch64_gnullvm" +version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd0f252f5a35cac83d6311b2e795981f5ee6e67eb1f9a7f64eb4500fbc4dcdb4" +checksum = "8c9864e83243fdec7fc9c5444389dcbbfd258f745e7853198f365e3c4968a608" [[package]] -name = "windows_i686_gnu" -version = "0.36.1" +name = "windows_aarch64_msvc" +version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6" +checksum = "4c8b1b673ffc16c47a9ff48570a9d85e25d265735c503681332589af6253c6c7" [[package]] name = "windows_i686_gnu" -version = "0.42.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbeae19f6716841636c28d695375df17562ca208b2b7d0dc47635a50ae6c5de7" - -[[package]] -name = "windows_i686_msvc" -version = "0.36.1" +version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024" +checksum = "de3887528ad530ba7bdbb1faa8275ec7a1155a45ffa57c37993960277145d640" [[package]] name = "windows_i686_msvc" -version = "0.42.0" +version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84c12f65daa39dd2babe6e442988fc329d6243fdce47d7d2d155b8d874862246" +checksum = "bf4d1122317eddd6ff351aa852118a2418ad4214e6613a50e0191f7004372605" [[package]] name = "windows_x86_64_gnu" -version = "0.36.1" +version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.42.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf7b1b21b5362cbc318f686150e5bcea75ecedc74dd157d874d754a2ca44b0ed" +checksum = "c1040f221285e17ebccbc2591ffdc2d44ee1f9186324dd3e84e99ac68d699c45" [[package]] name = "windows_x86_64_gnullvm" -version = "0.42.0" +version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09d525d2ba30eeb3297665bd434a54297e4170c7f1a44cad4ef58095b4cd2028" +checksum = "628bfdf232daa22b0d64fdb62b09fcc36bb01f05a3939e20ab73aaf9470d0463" [[package]] name = "windows_x86_64_msvc" -version = "0.36.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.42.0" +version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f40009d85759725a34da6d89a94e63d7bdc50a862acf0dbc7c8e488f1edcb6f5" +checksum = "447660ad36a13288b1db4d4248e857b510e8c3a225c822ba4fb748c0aafecffd" [[package]] name = "winreg" From e6657e321d612c8da47ae0474f1ca30f5a831e05 Mon Sep 17 00:00:00 2001 From: Marcin Date: Thu, 23 Feb 2023 10:02:36 +0100 Subject: [PATCH 170/212] Use docker cargo contract image in adder e2e test --- .github/workflows/e2e-tests-main-devnet.yml | 3 --- contracts/adder/deploy.sh | 13 ++++++++++--- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/.github/workflows/e2e-tests-main-devnet.yml b/.github/workflows/e2e-tests-main-devnet.yml index ba7c703837..9f5ef97967 100644 --- a/.github/workflows/e2e-tests-main-devnet.yml +++ b/.github/workflows/e2e-tests-main-devnet.yml @@ -534,9 +534,6 @@ jobs: - name: Checkout source code uses: actions/checkout@v2 - - name: Install cargo-contract - run: cargo install cargo-contract --version 2.0.0-beta.1 - - name: Install rust-src working-directory: ./contracts run: rustup component add rust-src diff --git a/contracts/adder/deploy.sh b/contracts/adder/deploy.sh index 5acd85cbe3..c75612367c 100755 --- a/contracts/adder/deploy.sh +++ b/contracts/adder/deploy.sh @@ -3,13 +3,20 @@ NODE_URL="${NODE_URL:-ws://localhost:9944}" AUTHORITY="${AUTHORITY:-//Alice}" -cargo contract build --release --quiet 1>&2 -cargo contract upload --url "$NODE_URL" --suri "$AUTHORITY" --quiet 1>&2 +function ink-build() { + docker run \ + --network host \ + -v ${PWD}:/code \ + --platform linux/amd64 \ + --rm -it public.ecr.aws/p6e8q1z1/ink-dev:latest "$@" +} + +ink-build cargo contract build --release --quiet 1>&2 export ADDER ADDER=$( - cargo contract instantiate --url "$NODE_URL" --suri "$AUTHORITY" --skip-confirm --output-json \ + ink-build cargo contract instantiate --url "$NODE_URL" --suri "$AUTHORITY" --skip-confirm --output-json \ | jq -r ".contract" ) echo "$ADDER" From 3c0e76af8977a350b5bf3224b251eb9f570b472e Mon Sep 17 00:00:00 2001 From: Michal Swietek <4404982+mike1729@users.noreply.github.com> Date: Thu, 23 Feb 2023 10:28:03 +0100 Subject: [PATCH 171/212] Check contstraints for memory parameters (#940) * Check contstraints for memory parameters * Add comments * Move smallvec to dev-dependencies * fmt --------- Co-authored-by: Michal Swietek --- Cargo.lock | 1 + bin/node/src/main.rs | 5 +---- bin/runtime/Cargo.toml | 3 +++ bin/runtime/src/lib.rs | 30 +++++++++++++++++++++++++++++- primitives/src/lib.rs | 3 +++ 5 files changed, 37 insertions(+), 5 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 560a4edfb2..f81e6f5f8a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -326,6 +326,7 @@ dependencies = [ "primitives", "scale-info", "serde", + "smallvec", "sp-api", "sp-block-builder", "sp-consensus-aura", diff --git a/bin/node/src/main.rs b/bin/node/src/main.rs index 3572ffe641..77ac1e6edf 100644 --- a/bin/node/src/main.rs +++ b/bin/node/src/main.rs @@ -1,6 +1,7 @@ #[cfg(feature = "try-runtime")] use aleph_node::ExecutorDispatch; use aleph_node::{new_authority, new_full, new_partial, Cli, Subcommand}; +use aleph_primitives::HEAP_PAGES; #[cfg(feature = "try-runtime")] use aleph_runtime::Block; use log::warn; @@ -16,8 +17,6 @@ fn default_blocks_pruning() -> DatabasePruningMode { DatabasePruningMode::ArchiveCanonical } -const HEAP_PAGES: u64 = 4096; - fn pruning_changed(params: &PruningParams) -> bool { let state_pruning_changed = params.state_pruning != default_state_pruning(); @@ -26,8 +25,6 @@ fn pruning_changed(params: &PruningParams) -> bool { state_pruning_changed || blocks_pruning_changed } -// The default number of heap pages in substrate is 2048. Every heap page is 64KB, -// so value of 4096 gives 256MB memory for entire runtime. fn enforce_heap_pages(config: &mut Configuration) { config.default_heap_pages = Some(HEAP_PAGES); } diff --git a/bin/runtime/Cargo.toml b/bin/runtime/Cargo.toml index c4d070011c..acfc86bc12 100644 --- a/bin/runtime/Cargo.toml +++ b/bin/runtime/Cargo.toml @@ -64,6 +64,9 @@ pallet-elections = { path = "../../pallets/elections", default-features = false [build-dependencies] substrate-wasm-builder = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +[dev-dependencies] +smallvec = { version = "1", default-features = false} + [features] default = ["std"] std = [ diff --git a/bin/runtime/src/lib.rs b/bin/runtime/src/lib.rs index 44ec9307c4..54c5ebf2c5 100644 --- a/bin/runtime/src/lib.rs +++ b/bin/runtime/src/lib.rs @@ -1017,10 +1017,38 @@ impl_runtime_apis! { #[cfg(test)] mod tests { - use crate::VERSION; + use frame_support::traits::Get; + use primitives::HEAP_PAGES; + use smallvec::Array; + + use super::*; #[test] fn state_version_must_be_zero() { assert_eq!(0, VERSION.state_version); } + + #[test] + fn check_contracts_memory_parameters() { + // Memory limit of one instance of a runtime + const MAX_RUNTIME_MEM: u32 = HEAP_PAGES as u32 * 64 * 1024; + // Max stack size defined by wasmi - 1MB + const MAX_STACK_SIZE: u32 = 1024 * 1024; + // Max heap size is 16 mempages of 64KB each - 1MB + let max_heap_size = ::Schedule::get() + .limits + .max_memory_size(); + // Max call depth is CallStack::size() + 1 + let max_call_depth = ::CallStack::size() as u32 + 1; + // Max code len + let max_code_len: u32 = ::MaxCodeLen::get(); + + // The factor comes from allocator, contracts representation, and wasmi + let lhs = max_call_depth * (72 * max_code_len + max_heap_size + MAX_STACK_SIZE); + // We allocate only 75% of all runtime memory to contracts execution. Important: it's not + // enforeced in wasmtime + let rhs = MAX_RUNTIME_MEM * 3 / 4; + + assert!(lhs < rhs); + } } diff --git a/primitives/src/lib.rs b/primitives/src/lib.rs index 554677fffb..48a94559f8 100644 --- a/primitives/src/lib.rs +++ b/primitives/src/lib.rs @@ -38,6 +38,9 @@ pub type BlockNumber = u32; pub type SessionCount = u32; pub type BlockCount = u32; +// Default number of heap pages that gives limit of 256MB for a runtime instance since each page is 64KB +pub const HEAP_PAGES: u64 = 4096; + pub const MILLISECS_PER_BLOCK: u64 = 1000; // We agreed to 5MB as the block size limit. pub const MAX_BLOCK_SIZE: u32 = 5 * 1024 * 1024; From dbbd56879ce2745c520d7923b5ae98822f77ec93 Mon Sep 17 00:00:00 2001 From: Marcin Date: Thu, 23 Feb 2023 10:47:43 +0100 Subject: [PATCH 172/212] Pinned version of ink-dev. Fixed bug so non-interactive mode is used --- contracts/adder/deploy.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contracts/adder/deploy.sh b/contracts/adder/deploy.sh index c75612367c..37f8d10747 100755 --- a/contracts/adder/deploy.sh +++ b/contracts/adder/deploy.sh @@ -8,7 +8,7 @@ function ink-build() { --network host \ -v ${PWD}:/code \ --platform linux/amd64 \ - --rm -it public.ecr.aws/p6e8q1z1/ink-dev:latest "$@" + --rm public.ecr.aws/p6e8q1z1/ink-dev:0.1.0 "$@" } ink-build cargo contract build --release --quiet 1>&2 From cb6fab0afef2976f120896aa04c2e97562b9e691 Mon Sep 17 00:00:00 2001 From: Marcin Date: Thu, 23 Feb 2023 14:34:07 +0100 Subject: [PATCH 173/212] Trying to fix added e2e --- .github/scripts/run_e2e_test.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/scripts/run_e2e_test.sh b/.github/scripts/run_e2e_test.sh index 9a6d5d7d24..1e23eb5c76 100755 --- a/.github/scripts/run_e2e_test.sh +++ b/.github/scripts/run_e2e_test.sh @@ -113,7 +113,7 @@ fi if [[ -n "${ADDER:-}" ]]; then ARGS+=(-e "ADDER=${ADDER}") - ARGS+=(-e "ADDER_METADATA=/contracts/adder/target/ink/adder.json") + ARGS+=(-e "ADDER_METADATA=/contracts/adder/target/ink/metadata.json") fi if [[ -n "${OUT_LATENCY:-}" ]]; then From a49d0cda3092ce9ffcd4eb3dfe0785a7de9af95e Mon Sep 17 00:00:00 2001 From: Marcin Date: Thu, 23 Feb 2023 15:03:00 +0100 Subject: [PATCH 174/212] Run adder e2e test to speed up build --- .github/workflows/e2e-tests-main-devnet.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/e2e-tests-main-devnet.yml b/.github/workflows/e2e-tests-main-devnet.yml index 9f5ef97967..eb707de900 100644 --- a/.github/workflows/e2e-tests-main-devnet.yml +++ b/.github/workflows/e2e-tests-main-devnet.yml @@ -529,7 +529,7 @@ jobs: run-e2e-adder-contract-test: needs: [build-test-docker, build-test-client] name: Run e2e adder contract test - runs-on: ubuntu-20.04 + runs-on: self-hosted steps: - name: Checkout source code uses: actions/checkout@v2 From e78c27d402c44ac6f16930226510f7a1eb86cf88 Mon Sep 17 00:00:00 2001 From: Marcin Date: Thu, 23 Feb 2023 15:22:49 +0100 Subject: [PATCH 175/212] Run adder e2e test to speed up build - attempt 2 --- .github/workflows/e2e-tests-main-devnet.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/e2e-tests-main-devnet.yml b/.github/workflows/e2e-tests-main-devnet.yml index eb707de900..26bd0513e2 100644 --- a/.github/workflows/e2e-tests-main-devnet.yml +++ b/.github/workflows/e2e-tests-main-devnet.yml @@ -533,6 +533,9 @@ jobs: steps: - name: Checkout source code uses: actions/checkout@v2 + + - name: Install Rust toolchain + uses: actions-rs/toolchain@v1 - name: Install rust-src working-directory: ./contracts From 72f8c14d4afab4d45ac4f34e2a9d1dafb98de91d Mon Sep 17 00:00:00 2001 From: Mikolaj Gasior Date: Thu, 23 Feb 2023 16:58:11 +0100 Subject: [PATCH 176/212] Add cargo-cache with storing .cargo in S3 bucket for testing --- .github/workflows/build-node-and-runtime.yml | 64 +++++++++++++++++--- 1 file changed, 55 insertions(+), 9 deletions(-) diff --git a/.github/workflows/build-node-and-runtime.yml b/.github/workflows/build-node-and-runtime.yml index e8e537b099..bf54f22925 100644 --- a/.github/workflows/build-node-and-runtime.yml +++ b/.github/workflows/build-node-and-runtime.yml @@ -37,6 +37,38 @@ jobs: - name: Install WASM target run: rustup target add wasm32-unknown-unknown + - name: S3 CI | Configure AWS credentials + if: env.SECRETS_AWS_MAINNET_ACCESS_KEY_ID != '' && env.SECRETS_AWS_MAINNET_SECRET_ACCESS_KEY != '' + uses: aws-actions/configure-aws-credentials@v1 + env: + AWS_REGION: us-east-1 + with: + aws-access-key-id: ${{ secrets.AWS_MAINNET_ACCESS_KEY_ID }} + aws-secret-access-key: ${{ secrets.AWS_MAINNET_SECRET_ACCESS_KEY }} + aws-region: ${{ env.AWS_REGION }} + + + # Testing cargo-cache here + - name: Download cache ~/.cargo from CI S3 bucket + env: + S3BUCKET_PATH: cargo-cache/${{ runner.os }}-cargo-aleph-node-v1-${{ hashFiles('**/Cargo.lock') }} + DOT_CACHE_FILENAME: dot-cargo.tar.gz + run: | + aws s3api head-object --bucket ${{ secrets.CI_MAINNET_S3BUCKET_NAME }} --key ${{ S3BUCKET_PATH }}/${{ DOT_CACHE_FILENAME }} + if [[ $? == 0 ]]; then + aws s3 cp s3://${{ secrets.CI_MAINNET_S3BUCKET_NAME }}/${{ S3BUCKET_PATH }}/${{ DOT_CACHE_FILENAME }} . + mkdir -p ~/.cargo + tar -zxf ${{ DOT_CACHE_FILENAME }} -C ~/.cargo + fi + + - name: Install cargo-cache + uses: actions-rs/cargo@v1 + with: + command: install + args: cargo-cache + # End of Testing cargo-cache here + + - name: Build binary and runtime run: cargo build --profile production -p aleph-node @@ -56,15 +88,6 @@ jobs: if-no-files-found: error retention-days: 7 - - name: S3 CI | Configure AWS credentials - if: env.SECRETS_AWS_MAINNET_ACCESS_KEY_ID != '' && env.SECRETS_AWS_MAINNET_SECRET_ACCESS_KEY != '' - uses: aws-actions/configure-aws-credentials@v1 - env: - AWS_REGION: us-east-1 - with: - aws-access-key-id: ${{ secrets.AWS_MAINNET_ACCESS_KEY_ID }} - aws-secret-access-key: ${{ secrets.AWS_MAINNET_SECRET_ACCESS_KEY }} - aws-region: ${{ env.AWS_REGION }} - name: S3 CI | Copy release binary to S3 bucket if: env.SECRETS_AWS_MAINNET_ACCESS_KEY_ID != '' && env.SECRETS_AWS_MAINNET_SECRET_ACCESS_KEY != '' @@ -132,3 +155,26 @@ jobs: run: | tar -cvzf ${{ env.S3BUCKET_FILE }} -C ${{ env.BINARY_DIR }} ${{ env.BINARY_FILE }} aws s3 cp ${{ env.S3BUCKET_FILE }} ${{ env.S3BUCKET_URL }}/${{ env.S3BUCKET_FILE }} + + + # Testing cargo-cache here + - name: Upload cache ~/.cargo from CI S3 bucket + env: + S3BUCKET_PATH: cargo-cache/${{ runner.os }}-cargo-aleph-node-v1-${{ hashFiles('**/Cargo.lock') }} + DOT_CACHE_FILENAME: dot-cargo.tar.gz + run: | + tar -czf ${{ DOT_CACHE_FILENAME }} -C ~/.cargo . + aws s3 cp ${{ DOT_CACHE_FILENAME }} s3://${{ secrets.CI_MAINNET_S3BUCKET_NAME }}/${{ S3BUCKET_PATH }}/${{ DOT_CACHE_FILENAME }} + + - name: Prune unused packages from cargo cache + uses: actions-rs/cargo@v1 + with: + command: cache + args: clean-unref + + - name: Prune sources from cargo cache + uses: actions-rs/cargo@v1 + with: + command: cache + args: --autoclean + # End of Testing cargo-cache here From b7915f2bb6972cc6feb6caabdbedd3001d8c2939 Mon Sep 17 00:00:00 2001 From: Mikolaj Gasior Date: Thu, 23 Feb 2023 17:00:11 +0100 Subject: [PATCH 177/212] Fix missing 'env.' in call to env vars --- .github/workflows/build-node-and-runtime.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build-node-and-runtime.yml b/.github/workflows/build-node-and-runtime.yml index bf54f22925..8a842b9900 100644 --- a/.github/workflows/build-node-and-runtime.yml +++ b/.github/workflows/build-node-and-runtime.yml @@ -54,11 +54,11 @@ jobs: S3BUCKET_PATH: cargo-cache/${{ runner.os }}-cargo-aleph-node-v1-${{ hashFiles('**/Cargo.lock') }} DOT_CACHE_FILENAME: dot-cargo.tar.gz run: | - aws s3api head-object --bucket ${{ secrets.CI_MAINNET_S3BUCKET_NAME }} --key ${{ S3BUCKET_PATH }}/${{ DOT_CACHE_FILENAME }} + aws s3api head-object --bucket ${{ secrets.CI_MAINNET_S3BUCKET_NAME }} --key ${{ env.S3BUCKET_PATH }}/${{ env.DOT_CACHE_FILENAME }} if [[ $? == 0 ]]; then - aws s3 cp s3://${{ secrets.CI_MAINNET_S3BUCKET_NAME }}/${{ S3BUCKET_PATH }}/${{ DOT_CACHE_FILENAME }} . + aws s3 cp s3://${{ secrets.CI_MAINNET_S3BUCKET_NAME }}/${{ env.S3BUCKET_PATH }}/${{ env.DOT_CACHE_FILENAME }} . mkdir -p ~/.cargo - tar -zxf ${{ DOT_CACHE_FILENAME }} -C ~/.cargo + tar -zxf ${{ env.DOT_CACHE_FILENAME }} -C ~/.cargo fi - name: Install cargo-cache @@ -163,8 +163,8 @@ jobs: S3BUCKET_PATH: cargo-cache/${{ runner.os }}-cargo-aleph-node-v1-${{ hashFiles('**/Cargo.lock') }} DOT_CACHE_FILENAME: dot-cargo.tar.gz run: | - tar -czf ${{ DOT_CACHE_FILENAME }} -C ~/.cargo . - aws s3 cp ${{ DOT_CACHE_FILENAME }} s3://${{ secrets.CI_MAINNET_S3BUCKET_NAME }}/${{ S3BUCKET_PATH }}/${{ DOT_CACHE_FILENAME }} + tar -czf ${{ env.DOT_CACHE_FILENAME }} -C ~/.cargo . + aws s3 cp ${{ env.DOT_CACHE_FILENAME }} s3://${{ secrets.CI_MAINNET_S3BUCKET_NAME }}/${{ env.S3BUCKET_PATH }}/${{ env.DOT_CACHE_FILENAME }} - name: Prune unused packages from cargo cache uses: actions-rs/cargo@v1 From 53164030aca7cf00845f34765aa8e03803fa23fb Mon Sep 17 00:00:00 2001 From: Mikolaj Gasior Date: Thu, 23 Feb 2023 17:06:01 +0100 Subject: [PATCH 178/212] Add 'true' to ignore exit code != 0 --- .github/workflows/build-node-and-runtime.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build-node-and-runtime.yml b/.github/workflows/build-node-and-runtime.yml index 8a842b9900..299cdb2ba3 100644 --- a/.github/workflows/build-node-and-runtime.yml +++ b/.github/workflows/build-node-and-runtime.yml @@ -60,6 +60,7 @@ jobs: mkdir -p ~/.cargo tar -zxf ${{ env.DOT_CACHE_FILENAME }} -C ~/.cargo fi + true - name: Install cargo-cache uses: actions-rs/cargo@v1 From 19710e7ad5479aca77da1c2f9e3cd60cb9f19338 Mon Sep 17 00:00:00 2001 From: Mikolaj Gasior Date: Thu, 23 Feb 2023 17:09:51 +0100 Subject: [PATCH 179/212] Add set +e to ignore exit code --- .github/workflows/build-node-and-runtime.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build-node-and-runtime.yml b/.github/workflows/build-node-and-runtime.yml index 299cdb2ba3..3c601297a0 100644 --- a/.github/workflows/build-node-and-runtime.yml +++ b/.github/workflows/build-node-and-runtime.yml @@ -54,13 +54,14 @@ jobs: S3BUCKET_PATH: cargo-cache/${{ runner.os }}-cargo-aleph-node-v1-${{ hashFiles('**/Cargo.lock') }} DOT_CACHE_FILENAME: dot-cargo.tar.gz run: | + set +e aws s3api head-object --bucket ${{ secrets.CI_MAINNET_S3BUCKET_NAME }} --key ${{ env.S3BUCKET_PATH }}/${{ env.DOT_CACHE_FILENAME }} if [[ $? == 0 ]]; then + set -e aws s3 cp s3://${{ secrets.CI_MAINNET_S3BUCKET_NAME }}/${{ env.S3BUCKET_PATH }}/${{ env.DOT_CACHE_FILENAME }} . mkdir -p ~/.cargo tar -zxf ${{ env.DOT_CACHE_FILENAME }} -C ~/.cargo fi - true - name: Install cargo-cache uses: actions-rs/cargo@v1 From cb2f4c3633fd7437d1634a455f46a779b7bf5d78 Mon Sep 17 00:00:00 2001 From: Mikolaj Gasior Date: Thu, 23 Feb 2023 17:36:02 +0100 Subject: [PATCH 180/212] Add caching 'target' dir and rename things a bit --- .github/workflows/build-node-and-runtime.yml | 34 ++++++++++++++++---- 1 file changed, 28 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build-node-and-runtime.yml b/.github/workflows/build-node-and-runtime.yml index 3c601297a0..899a77e19e 100644 --- a/.github/workflows/build-node-and-runtime.yml +++ b/.github/workflows/build-node-and-runtime.yml @@ -49,10 +49,10 @@ jobs: # Testing cargo-cache here - - name: Download cache ~/.cargo from CI S3 bucket + - name: Download '~/.cargo' from CI S3 bucket env: - S3BUCKET_PATH: cargo-cache/${{ runner.os }}-cargo-aleph-node-v1-${{ hashFiles('**/Cargo.lock') }} - DOT_CACHE_FILENAME: dot-cargo.tar.gz + S3BUCKET_PATH: rust-cache-dotcargo/${{ runner.os }}-cargo-aleph-node-v1-${{ hashFiles('**/Cargo.lock') }} + DOT_CACHE_FILENAME: rust-cache-dotcargo.tar.gz run: | set +e aws s3api head-object --bucket ${{ secrets.CI_MAINNET_S3BUCKET_NAME }} --key ${{ env.S3BUCKET_PATH }}/${{ env.DOT_CACHE_FILENAME }} @@ -63,6 +63,20 @@ jobs: tar -zxf ${{ env.DOT_CACHE_FILENAME }} -C ~/.cargo fi + - name: Download 'target' from CI S3 bucket + env: + S3BUCKET_PATH: rust-cache-target/${{ runner.os }}-cargo-aleph-node-v1-${{ hashFiles('**/Cargo.lock') }} + DOT_CACHE_FILENAME: rust-cache-target.tar.gz + run: | + set +e + aws s3api head-object --bucket ${{ secrets.CI_MAINNET_S3BUCKET_NAME }} --key ${{ env.S3BUCKET_PATH }}/${{ env.DOT_CACHE_FILENAME }} + if [[ $? == 0 ]]; then + set -e + aws s3 cp s3://${{ secrets.CI_MAINNET_S3BUCKET_NAME }}/${{ env.S3BUCKET_PATH }}/${{ env.DOT_CACHE_FILENAME }} . + mkdir -p ./target + tar -zxf ${{ env.DOT_CACHE_FILENAME }} -C ./target + fi + - name: Install cargo-cache uses: actions-rs/cargo@v1 with: @@ -160,14 +174,22 @@ jobs: # Testing cargo-cache here - - name: Upload cache ~/.cargo from CI S3 bucket + - name: Upload '~/.cargo' to CI S3 bucket env: - S3BUCKET_PATH: cargo-cache/${{ runner.os }}-cargo-aleph-node-v1-${{ hashFiles('**/Cargo.lock') }} - DOT_CACHE_FILENAME: dot-cargo.tar.gz + S3BUCKET_PATH: rust-cache-dotcargo/${{ runner.os }}-cargo-aleph-node-v1-${{ hashFiles('**/Cargo.lock') }} + DOT_CACHE_FILENAME: rust-cache-dotcargo.tar.gz run: | tar -czf ${{ env.DOT_CACHE_FILENAME }} -C ~/.cargo . aws s3 cp ${{ env.DOT_CACHE_FILENAME }} s3://${{ secrets.CI_MAINNET_S3BUCKET_NAME }}/${{ env.S3BUCKET_PATH }}/${{ env.DOT_CACHE_FILENAME }} + - name: Upload 'target' to CI S3 bucket + env: + S3BUCKET_PATH: rust-cache-target/${{ runner.os }}-cargo-aleph-node-v1-${{ hashFiles('**/Cargo.lock') }} + DOT_CACHE_FILENAME: rust-cache-target.tar.gz + run: | + tar -czf ${{ env.DOT_CACHE_FILENAME }} -C ./target . + aws s3 cp ${{ env.DOT_CACHE_FILENAME }} s3://${{ secrets.CI_MAINNET_S3BUCKET_NAME }}/${{ env.S3BUCKET_PATH }}/${{ env.DOT_CACHE_FILENAME }} + - name: Prune unused packages from cargo cache uses: actions-rs/cargo@v1 with: From 15efae7a8508a27f37fabab1c25e06e88f7c0578 Mon Sep 17 00:00:00 2001 From: Mikolaj Gasior Date: Thu, 23 Feb 2023 17:49:25 +0100 Subject: [PATCH 181/212] Change uploading cache to devnet CI S3 bucket --- .github/workflows/build-node-and-runtime.yml | 51 +++++++++++++++----- 1 file changed, 40 insertions(+), 11 deletions(-) diff --git a/.github/workflows/build-node-and-runtime.yml b/.github/workflows/build-node-and-runtime.yml index 899a77e19e..fa529cb7ee 100644 --- a/.github/workflows/build-node-and-runtime.yml +++ b/.github/workflows/build-node-and-runtime.yml @@ -21,6 +21,8 @@ jobs: RUSTC_WRAPPER: sccache SECRETS_AWS_MAINNET_ACCESS_KEY_ID: ${{ secrets.AWS_MAINNET_ACCESS_KEY_ID }} SECRETS_AWS_MAINNET_SECRET_ACCESS_KEY: ${{ secrets.AWS_MAINNET_SECRET_ACCESS_KEY }} + SECRETS_AWS_DEVNET_ACCESS_KEY_ID: ${{ secrets.AWS_DEVNET_ACCESS_KEY_ID }} + SECRETS_AWS_DEVNET_SECRET_ACCESS_KEY: ${{ secrets.AWS_DEVNET_SECRET_ACCESS_KEY }} steps: - name: Checkout source code uses: actions/checkout@v2 @@ -37,47 +39,50 @@ jobs: - name: Install WASM target run: rustup target add wasm32-unknown-unknown + + # Testing cargo-cache here - name: S3 CI | Configure AWS credentials - if: env.SECRETS_AWS_MAINNET_ACCESS_KEY_ID != '' && env.SECRETS_AWS_MAINNET_SECRET_ACCESS_KEY != '' + if: env.SECRETS_AWS_DEVNET_ACCESS_KEY_ID != '' && env.SECRETS_AWS_DEVNET_SECRET_ACCESS_KEY != '' uses: aws-actions/configure-aws-credentials@v1 env: AWS_REGION: us-east-1 with: - aws-access-key-id: ${{ secrets.AWS_MAINNET_ACCESS_KEY_ID }} - aws-secret-access-key: ${{ secrets.AWS_MAINNET_SECRET_ACCESS_KEY }} + aws-access-key-id: ${{ secrets.SECRETS_AWS_DEVNET_ACCESS_KEY_ID }} + aws-secret-access-key: ${{ secrets.SECRETS_AWS_DEVNET_SECRET_ACCESS_KEY }} aws-region: ${{ env.AWS_REGION }} - - # Testing cargo-cache here - name: Download '~/.cargo' from CI S3 bucket + if: env.SECRETS_AWS_DEVNET_ACCESS_KEY_ID != '' && env.SECRETS_AWS_DEVNET_SECRET_ACCESS_KEY != '' env: S3BUCKET_PATH: rust-cache-dotcargo/${{ runner.os }}-cargo-aleph-node-v1-${{ hashFiles('**/Cargo.lock') }} DOT_CACHE_FILENAME: rust-cache-dotcargo.tar.gz run: | set +e - aws s3api head-object --bucket ${{ secrets.CI_MAINNET_S3BUCKET_NAME }} --key ${{ env.S3BUCKET_PATH }}/${{ env.DOT_CACHE_FILENAME }} + aws s3api head-object --bucket ${{ secrets.CI_S3BUCKET_NAME }} --key ${{ env.S3BUCKET_PATH }}/${{ env.DOT_CACHE_FILENAME }} if [[ $? == 0 ]]; then set -e - aws s3 cp s3://${{ secrets.CI_MAINNET_S3BUCKET_NAME }}/${{ env.S3BUCKET_PATH }}/${{ env.DOT_CACHE_FILENAME }} . + aws s3 cp s3://${{ secrets.CI_S3BUCKET_NAME }}/${{ env.S3BUCKET_PATH }}/${{ env.DOT_CACHE_FILENAME }} . mkdir -p ~/.cargo tar -zxf ${{ env.DOT_CACHE_FILENAME }} -C ~/.cargo fi - name: Download 'target' from CI S3 bucket + if: env.SECRETS_AWS_DEVNET_ACCESS_KEY_ID != '' && env.SECRETS_AWS_DEVNET_SECRET_ACCESS_KEY != '' env: S3BUCKET_PATH: rust-cache-target/${{ runner.os }}-cargo-aleph-node-v1-${{ hashFiles('**/Cargo.lock') }} DOT_CACHE_FILENAME: rust-cache-target.tar.gz run: | set +e - aws s3api head-object --bucket ${{ secrets.CI_MAINNET_S3BUCKET_NAME }} --key ${{ env.S3BUCKET_PATH }}/${{ env.DOT_CACHE_FILENAME }} + aws s3api head-object --bucket ${{ secrets.CI_S3BUCKET_NAME }} --key ${{ env.S3BUCKET_PATH }}/${{ env.DOT_CACHE_FILENAME }} if [[ $? == 0 ]]; then set -e - aws s3 cp s3://${{ secrets.CI_MAINNET_S3BUCKET_NAME }}/${{ env.S3BUCKET_PATH }}/${{ env.DOT_CACHE_FILENAME }} . + aws s3 cp s3://${{ secrets.CI_S3BUCKET_NAME }}/${{ env.S3BUCKET_PATH }}/${{ env.DOT_CACHE_FILENAME }} . mkdir -p ./target tar -zxf ${{ env.DOT_CACHE_FILENAME }} -C ./target fi - name: Install cargo-cache + if: env.SECRETS_AWS_DEVNET_ACCESS_KEY_ID != '' && env.SECRETS_AWS_DEVNET_SECRET_ACCESS_KEY != '' uses: actions-rs/cargo@v1 with: command: install @@ -105,6 +110,16 @@ jobs: retention-days: 7 + - name: S3 CI | Configure AWS credentials + if: env.SECRETS_AWS_MAINNET_ACCESS_KEY_ID != '' && env.SECRETS_AWS_MAINNET_SECRET_ACCESS_KEY != '' + uses: aws-actions/configure-aws-credentials@v1 + env: + AWS_REGION: us-east-1 + with: + aws-access-key-id: ${{ secrets.AWS_MAINNET_ACCESS_KEY_ID }} + aws-secret-access-key: ${{ secrets.AWS_MAINNET_SECRET_ACCESS_KEY }} + aws-region: ${{ env.AWS_REGION }} + - name: S3 CI | Copy release binary to S3 bucket if: env.SECRETS_AWS_MAINNET_ACCESS_KEY_ID != '' && env.SECRETS_AWS_MAINNET_SECRET_ACCESS_KEY != '' shell: bash @@ -174,29 +189,43 @@ jobs: # Testing cargo-cache here + - name: S3 CI | Configure AWS credentials + if: env.SECRETS_AWS_DEVNET_ACCESS_KEY_ID != '' && env.SECRETS_AWS_DEVNET_SECRET_ACCESS_KEY != '' + uses: aws-actions/configure-aws-credentials@v1 + env: + AWS_REGION: us-east-1 + with: + aws-access-key-id: ${{ secrets.SECRETS_AWS_DEVNET_ACCESS_KEY_ID }} + aws-secret-access-key: ${{ secrets.SECRETS_AWS_DEVNET_SECRET_ACCESS_KEY }} + aws-region: ${{ env.AWS_REGION }} + - name: Upload '~/.cargo' to CI S3 bucket + if: env.SECRETS_AWS_DEVNET_ACCESS_KEY_ID != '' && env.SECRETS_AWS_DEVNET_SECRET_ACCESS_KEY != '' env: S3BUCKET_PATH: rust-cache-dotcargo/${{ runner.os }}-cargo-aleph-node-v1-${{ hashFiles('**/Cargo.lock') }} DOT_CACHE_FILENAME: rust-cache-dotcargo.tar.gz run: | tar -czf ${{ env.DOT_CACHE_FILENAME }} -C ~/.cargo . - aws s3 cp ${{ env.DOT_CACHE_FILENAME }} s3://${{ secrets.CI_MAINNET_S3BUCKET_NAME }}/${{ env.S3BUCKET_PATH }}/${{ env.DOT_CACHE_FILENAME }} + aws s3 cp ${{ env.DOT_CACHE_FILENAME }} s3://${{ secrets.CI_S3BUCKET_NAME }}/${{ env.S3BUCKET_PATH }}/${{ env.DOT_CACHE_FILENAME }} - name: Upload 'target' to CI S3 bucket + if: env.SECRETS_AWS_DEVNET_ACCESS_KEY_ID != '' && env.SECRETS_AWS_DEVNET_SECRET_ACCESS_KEY != '' env: S3BUCKET_PATH: rust-cache-target/${{ runner.os }}-cargo-aleph-node-v1-${{ hashFiles('**/Cargo.lock') }} DOT_CACHE_FILENAME: rust-cache-target.tar.gz run: | tar -czf ${{ env.DOT_CACHE_FILENAME }} -C ./target . - aws s3 cp ${{ env.DOT_CACHE_FILENAME }} s3://${{ secrets.CI_MAINNET_S3BUCKET_NAME }}/${{ env.S3BUCKET_PATH }}/${{ env.DOT_CACHE_FILENAME }} + aws s3 cp ${{ env.DOT_CACHE_FILENAME }} s3://${{ secrets.CI_S3BUCKET_NAME }}/${{ env.S3BUCKET_PATH }}/${{ env.DOT_CACHE_FILENAME }} - name: Prune unused packages from cargo cache + if: env.SECRETS_AWS_DEVNET_ACCESS_KEY_ID != '' && env.SECRETS_AWS_DEVNET_SECRET_ACCESS_KEY != '' uses: actions-rs/cargo@v1 with: command: cache args: clean-unref - name: Prune sources from cargo cache + if: env.SECRETS_AWS_DEVNET_ACCESS_KEY_ID != '' && env.SECRETS_AWS_DEVNET_SECRET_ACCESS_KEY != '' uses: actions-rs/cargo@v1 with: command: cache From 356888abc39944bbc3126bd0f3eb4b5eb241514f Mon Sep 17 00:00:00 2001 From: Mikolaj Gasior Date: Thu, 23 Feb 2023 18:00:13 +0100 Subject: [PATCH 182/212] Tweak step names --- .github/workflows/build-node-and-runtime.yml | 22 ++++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/.github/workflows/build-node-and-runtime.yml b/.github/workflows/build-node-and-runtime.yml index fa529cb7ee..fa4f20c6af 100644 --- a/.github/workflows/build-node-and-runtime.yml +++ b/.github/workflows/build-node-and-runtime.yml @@ -41,7 +41,7 @@ jobs: # Testing cargo-cache here - - name: S3 CI | Configure AWS credentials + - name: S3 CI DEVNET | Configure AWS credentials if: env.SECRETS_AWS_DEVNET_ACCESS_KEY_ID != '' && env.SECRETS_AWS_DEVNET_SECRET_ACCESS_KEY != '' uses: aws-actions/configure-aws-credentials@v1 env: @@ -51,7 +51,7 @@ jobs: aws-secret-access-key: ${{ secrets.SECRETS_AWS_DEVNET_SECRET_ACCESS_KEY }} aws-region: ${{ env.AWS_REGION }} - - name: Download '~/.cargo' from CI S3 bucket + - name: S3 CI DEVNET | Download '~/.cargo' from CI S3 bucket if: env.SECRETS_AWS_DEVNET_ACCESS_KEY_ID != '' && env.SECRETS_AWS_DEVNET_SECRET_ACCESS_KEY != '' env: S3BUCKET_PATH: rust-cache-dotcargo/${{ runner.os }}-cargo-aleph-node-v1-${{ hashFiles('**/Cargo.lock') }} @@ -66,7 +66,7 @@ jobs: tar -zxf ${{ env.DOT_CACHE_FILENAME }} -C ~/.cargo fi - - name: Download 'target' from CI S3 bucket + - name: S3 CI DEVNET | Download 'target' from CI S3 bucket if: env.SECRETS_AWS_DEVNET_ACCESS_KEY_ID != '' && env.SECRETS_AWS_DEVNET_SECRET_ACCESS_KEY != '' env: S3BUCKET_PATH: rust-cache-target/${{ runner.os }}-cargo-aleph-node-v1-${{ hashFiles('**/Cargo.lock') }} @@ -110,7 +110,7 @@ jobs: retention-days: 7 - - name: S3 CI | Configure AWS credentials + - name: S3 CI MAINNET | Configure AWS credentials if: env.SECRETS_AWS_MAINNET_ACCESS_KEY_ID != '' && env.SECRETS_AWS_MAINNET_SECRET_ACCESS_KEY != '' uses: aws-actions/configure-aws-credentials@v1 env: @@ -120,7 +120,7 @@ jobs: aws-secret-access-key: ${{ secrets.AWS_MAINNET_SECRET_ACCESS_KEY }} aws-region: ${{ env.AWS_REGION }} - - name: S3 CI | Copy release binary to S3 bucket + - name: S3 CI MAINNET | Copy release binary to S3 bucket if: env.SECRETS_AWS_MAINNET_ACCESS_KEY_ID != '' && env.SECRETS_AWS_MAINNET_SECRET_ACCESS_KEY != '' shell: bash env: @@ -132,7 +132,7 @@ jobs: tar -cvzf ${{ env.S3BUCKET_FILE }} -C ${{ env.BINARY_DIR }} ${{ env.BINARY_FILE }} aws s3 cp ${{ env.S3BUCKET_FILE }} ${{ env.S3BUCKET_URL }}/${{ env.S3BUCKET_FILE }} - - name: S3 CI | Copy release runtime to S3 bucket + - name: S3 CI MAINNET | Copy release runtime to S3 bucket if: env.SECRETS_AWS_MAINNET_ACCESS_KEY_ID != '' && env.SECRETS_AWS_MAINNET_SECRET_ACCESS_KEY != '' shell: bash env: @@ -163,7 +163,7 @@ jobs: if-no-files-found: error retention-days: 7 - - name: S3 CI | Copy test binary to S3 bucket + - name: S3 CI MAINNET | Copy test binary to S3 bucket if: env.SECRETS_AWS_MAINNET_ACCESS_KEY_ID != '' && env.SECRETS_AWS_MAINNET_SECRET_ACCESS_KEY != '' shell: bash env: @@ -175,7 +175,7 @@ jobs: tar -cvzf ${{ env.S3BUCKET_FILE }} -C ${{ env.BINARY_DIR }} ${{ env.BINARY_FILE }} aws s3 cp ${{ env.S3BUCKET_FILE }} ${{ env.S3BUCKET_URL }}/${{ env.S3BUCKET_FILE }} - - name: S3 CI | Copy test runtime to S3 bucket + - name: S3 CI MAINNET | Copy test runtime to S3 bucket if: env.SECRETS_AWS_MAINNET_ACCESS_KEY_ID != '' && env.SECRETS_AWS_MAINNET_SECRET_ACCESS_KEY != '' shell: bash env: @@ -189,7 +189,7 @@ jobs: # Testing cargo-cache here - - name: S3 CI | Configure AWS credentials + - name: S3 CI DEVNET | Configure AWS credentials if: env.SECRETS_AWS_DEVNET_ACCESS_KEY_ID != '' && env.SECRETS_AWS_DEVNET_SECRET_ACCESS_KEY != '' uses: aws-actions/configure-aws-credentials@v1 env: @@ -199,7 +199,7 @@ jobs: aws-secret-access-key: ${{ secrets.SECRETS_AWS_DEVNET_SECRET_ACCESS_KEY }} aws-region: ${{ env.AWS_REGION }} - - name: Upload '~/.cargo' to CI S3 bucket + - name: S3 CI DEVNET | Upload '~/.cargo' to CI S3 bucket if: env.SECRETS_AWS_DEVNET_ACCESS_KEY_ID != '' && env.SECRETS_AWS_DEVNET_SECRET_ACCESS_KEY != '' env: S3BUCKET_PATH: rust-cache-dotcargo/${{ runner.os }}-cargo-aleph-node-v1-${{ hashFiles('**/Cargo.lock') }} @@ -208,7 +208,7 @@ jobs: tar -czf ${{ env.DOT_CACHE_FILENAME }} -C ~/.cargo . aws s3 cp ${{ env.DOT_CACHE_FILENAME }} s3://${{ secrets.CI_S3BUCKET_NAME }}/${{ env.S3BUCKET_PATH }}/${{ env.DOT_CACHE_FILENAME }} - - name: Upload 'target' to CI S3 bucket + - name: S3 CI DEVNET | Upload 'target' to CI S3 bucket if: env.SECRETS_AWS_DEVNET_ACCESS_KEY_ID != '' && env.SECRETS_AWS_DEVNET_SECRET_ACCESS_KEY != '' env: S3BUCKET_PATH: rust-cache-target/${{ runner.os }}-cargo-aleph-node-v1-${{ hashFiles('**/Cargo.lock') }} From 1a5b8e7ef492b35b5c849336eaa25326638abbe1 Mon Sep 17 00:00:00 2001 From: Mikolaj Gasior Date: Thu, 23 Feb 2023 18:35:17 +0100 Subject: [PATCH 183/212] Comment out blocks uploading builds to S3 bucket --- .github/workflows/build-node-and-runtime.yml | 157 +++++++++---------- 1 file changed, 76 insertions(+), 81 deletions(-) diff --git a/.github/workflows/build-node-and-runtime.yml b/.github/workflows/build-node-and-runtime.yml index fa4f20c6af..15b93b13c7 100644 --- a/.github/workflows/build-node-and-runtime.yml +++ b/.github/workflows/build-node-and-runtime.yml @@ -40,7 +40,6 @@ jobs: run: rustup target add wasm32-unknown-unknown - # Testing cargo-cache here - name: S3 CI DEVNET | Configure AWS credentials if: env.SECRETS_AWS_DEVNET_ACCESS_KEY_ID != '' && env.SECRETS_AWS_DEVNET_SECRET_ACCESS_KEY != '' uses: aws-actions/configure-aws-credentials@v1 @@ -51,34 +50,36 @@ jobs: aws-secret-access-key: ${{ secrets.SECRETS_AWS_DEVNET_SECRET_ACCESS_KEY }} aws-region: ${{ env.AWS_REGION }} + + # Testing cargo-cache here - name: S3 CI DEVNET | Download '~/.cargo' from CI S3 bucket if: env.SECRETS_AWS_DEVNET_ACCESS_KEY_ID != '' && env.SECRETS_AWS_DEVNET_SECRET_ACCESS_KEY != '' env: S3BUCKET_PATH: rust-cache-dotcargo/${{ runner.os }}-cargo-aleph-node-v1-${{ hashFiles('**/Cargo.lock') }} - DOT_CACHE_FILENAME: rust-cache-dotcargo.tar.gz + CACHE_FILENAME: rust-cache-dotcargo.tar.gz run: | set +e - aws s3api head-object --bucket ${{ secrets.CI_S3BUCKET_NAME }} --key ${{ env.S3BUCKET_PATH }}/${{ env.DOT_CACHE_FILENAME }} + aws s3api head-object --bucket ${{ secrets.CI_S3BUCKET_NAME }} --key ${{ env.S3BUCKET_PATH }}/${{ env.CACHE_FILENAME }} if [[ $? == 0 ]]; then set -e - aws s3 cp s3://${{ secrets.CI_S3BUCKET_NAME }}/${{ env.S3BUCKET_PATH }}/${{ env.DOT_CACHE_FILENAME }} . + aws s3 cp s3://${{ secrets.CI_S3BUCKET_NAME }}/${{ env.S3BUCKET_PATH }}/${{ env.CACHE_FILENAME }} . mkdir -p ~/.cargo - tar -zxf ${{ env.DOT_CACHE_FILENAME }} -C ~/.cargo + tar -zxf ${{ env.CACHE_FILENAME }} -C ~/.cargo fi - name: S3 CI DEVNET | Download 'target' from CI S3 bucket if: env.SECRETS_AWS_DEVNET_ACCESS_KEY_ID != '' && env.SECRETS_AWS_DEVNET_SECRET_ACCESS_KEY != '' env: S3BUCKET_PATH: rust-cache-target/${{ runner.os }}-cargo-aleph-node-v1-${{ hashFiles('**/Cargo.lock') }} - DOT_CACHE_FILENAME: rust-cache-target.tar.gz + CACHE_FILENAME: rust-cache-target.tar.gz run: | set +e - aws s3api head-object --bucket ${{ secrets.CI_S3BUCKET_NAME }} --key ${{ env.S3BUCKET_PATH }}/${{ env.DOT_CACHE_FILENAME }} + aws s3api head-object --bucket ${{ secrets.CI_S3BUCKET_NAME }} --key ${{ env.S3BUCKET_PATH }}/${{ env.CACHE_FILENAME }} if [[ $? == 0 ]]; then set -e - aws s3 cp s3://${{ secrets.CI_S3BUCKET_NAME }}/${{ env.S3BUCKET_PATH }}/${{ env.DOT_CACHE_FILENAME }} . + aws s3 cp s3://${{ secrets.CI_S3BUCKET_NAME }}/${{ env.S3BUCKET_PATH }}/${{ env.CACHE_FILENAME }} . mkdir -p ./target - tar -zxf ${{ env.DOT_CACHE_FILENAME }} -C ./target + tar -zxf ${{ env.CACHE_FILENAME }} -C ./target fi - name: Install cargo-cache @@ -110,39 +111,43 @@ jobs: retention-days: 7 - - name: S3 CI MAINNET | Configure AWS credentials - if: env.SECRETS_AWS_MAINNET_ACCESS_KEY_ID != '' && env.SECRETS_AWS_MAINNET_SECRET_ACCESS_KEY != '' - uses: aws-actions/configure-aws-credentials@v1 - env: - AWS_REGION: us-east-1 - with: - aws-access-key-id: ${{ secrets.AWS_MAINNET_ACCESS_KEY_ID }} - aws-secret-access-key: ${{ secrets.AWS_MAINNET_SECRET_ACCESS_KEY }} - aws-region: ${{ env.AWS_REGION }} - - - name: S3 CI MAINNET | Copy release binary to S3 bucket - if: env.SECRETS_AWS_MAINNET_ACCESS_KEY_ID != '' && env.SECRETS_AWS_MAINNET_SECRET_ACCESS_KEY != '' - shell: bash - env: - BINARY_DIR: target/production - BINARY_FILE: aleph-node - S3BUCKET_URL: s3://${{ secrets.CI_MAINNET_S3BUCKET_NAME }}/builds/aleph-node/commits/${{ steps.get_branch.outputs.sha_short }}/aleph-node - S3BUCKET_FILE: aleph-node-${{ steps.get_branch.outputs.sha_short }}.tar.gz - run: | - tar -cvzf ${{ env.S3BUCKET_FILE }} -C ${{ env.BINARY_DIR }} ${{ env.BINARY_FILE }} - aws s3 cp ${{ env.S3BUCKET_FILE }} ${{ env.S3BUCKET_URL }}/${{ env.S3BUCKET_FILE }} - - - name: S3 CI MAINNET | Copy release runtime to S3 bucket - if: env.SECRETS_AWS_MAINNET_ACCESS_KEY_ID != '' && env.SECRETS_AWS_MAINNET_SECRET_ACCESS_KEY != '' - shell: bash - env: - BINARY_DIR: target/production/wbuild/aleph-runtime - BINARY_FILE: aleph_runtime.compact.wasm - S3BUCKET_URL: s3://${{ secrets.CI_MAINNET_S3BUCKET_NAME }}/builds/aleph-node/commits/${{ steps.get_branch.outputs.sha_short }}/aleph-runtime - S3BUCKET_FILE: aleph-runtime-${{ steps.get_branch.outputs.sha_short }}.tar.gz - run: | - tar -cvzf ${{ env.S3BUCKET_FILE }} -C ${{ env.BINARY_DIR }} ${{ env.BINARY_FILE }} - aws s3 cp ${{ env.S3BUCKET_FILE }} ${{ env.S3BUCKET_URL }}/${{ env.S3BUCKET_FILE }} + #- name: S3 CI MAINNET | Configure AWS credentials + # if: env.SECRETS_AWS_MAINNET_ACCESS_KEY_ID != '' && env.SECRETS_AWS_MAINNET_SECRET_ACCESS_KEY != '' + # uses: aws-actions/configure-aws-credentials@v1 + # env: + # AWS_ACCESS_KEY_ID: "" + # AWS_SECRET_ACCESS_KEY: "" + # AWS_SESSION_TOKEN: "" + # AWS_DEFAULT_REGION: "" + # AWS_REGION: us-east-1 + # with: + # aws-access-key-id: ${{ secrets.AWS_MAINNET_ACCESS_KEY_ID }} + # aws-secret-access-key: ${{ secrets.AWS_MAINNET_SECRET_ACCESS_KEY }} + # aws-region: ${{ env.AWS_REGION }} + + #- name: S3 CI MAINNET | Copy release binary to S3 bucket + # if: env.SECRETS_AWS_MAINNET_ACCESS_KEY_ID != '' && env.SECRETS_AWS_MAINNET_SECRET_ACCESS_KEY != '' + # shell: bash + # env: + # BINARY_DIR: target/production + # BINARY_FILE: aleph-node + # S3BUCKET_URL: s3://${{ secrets.CI_MAINNET_S3BUCKET_NAME }}/builds/aleph-node/commits/${{ steps.get_branch.outputs.sha_short }}/aleph-node + # S3BUCKET_FILE: aleph-node-${{ steps.get_branch.outputs.sha_short }}.tar.gz + # run: | + # tar -cvzf ${{ env.S3BUCKET_FILE }} -C ${{ env.BINARY_DIR }} ${{ env.BINARY_FILE }} + # aws s3 cp ${{ env.S3BUCKET_FILE }} ${{ env.S3BUCKET_URL }}/${{ env.S3BUCKET_FILE }} + + #- name: S3 CI MAINNET | Copy release runtime to S3 bucket + # if: env.SECRETS_AWS_MAINNET_ACCESS_KEY_ID != '' && env.SECRETS_AWS_MAINNET_SECRET_ACCESS_KEY != '' + # shell: bash + # env: + # BINARY_DIR: target/production/wbuild/aleph-runtime + # BINARY_FILE: aleph_runtime.compact.wasm + # S3BUCKET_URL: s3://${{ secrets.CI_MAINNET_S3BUCKET_NAME }}/builds/aleph-node/commits/${{ steps.get_branch.outputs.sha_short }}/aleph-runtime + # S3BUCKET_FILE: aleph-runtime-${{ steps.get_branch.outputs.sha_short }}.tar.gz + # run: | + # tar -cvzf ${{ env.S3BUCKET_FILE }} -C ${{ env.BINARY_DIR }} ${{ env.BINARY_FILE }} + # aws s3 cp ${{ env.S3BUCKET_FILE }} ${{ env.S3BUCKET_URL }}/${{ env.S3BUCKET_FILE }} - name: Build test binary run: cargo build --release -p aleph-node --features "short_session enable_treasury_proposals only_legacy" @@ -163,59 +168,49 @@ jobs: if-no-files-found: error retention-days: 7 - - name: S3 CI MAINNET | Copy test binary to S3 bucket - if: env.SECRETS_AWS_MAINNET_ACCESS_KEY_ID != '' && env.SECRETS_AWS_MAINNET_SECRET_ACCESS_KEY != '' - shell: bash - env: - BINARY_DIR: target/release - BINARY_FILE: aleph-node - S3BUCKET_URL: s3://${{ secrets.CI_MAINNET_S3BUCKET_NAME }}/builds/aleph-node/commits/${{ steps.get_branch.outputs.sha_short }}/aleph-test-node - S3BUCKET_FILE: aleph-test-node-${{ steps.get_branch.outputs.sha_short }}.tar.gz - run: | - tar -cvzf ${{ env.S3BUCKET_FILE }} -C ${{ env.BINARY_DIR }} ${{ env.BINARY_FILE }} - aws s3 cp ${{ env.S3BUCKET_FILE }} ${{ env.S3BUCKET_URL }}/${{ env.S3BUCKET_FILE }} - - - name: S3 CI MAINNET | Copy test runtime to S3 bucket - if: env.SECRETS_AWS_MAINNET_ACCESS_KEY_ID != '' && env.SECRETS_AWS_MAINNET_SECRET_ACCESS_KEY != '' - shell: bash - env: - BINARY_DIR: target/release/wbuild/aleph-runtime - BINARY_FILE: aleph_runtime.compact.wasm - S3BUCKET_URL: s3://${{ secrets.CI_MAINNET_S3BUCKET_NAME }}/builds/aleph-node/commits/${{ steps.get_branch.outputs.sha_short }}/aleph-test-runtime - S3BUCKET_FILE: aleph-test-runtime-${{ steps.get_branch.outputs.sha_short }}.tar.gz - run: | - tar -cvzf ${{ env.S3BUCKET_FILE }} -C ${{ env.BINARY_DIR }} ${{ env.BINARY_FILE }} - aws s3 cp ${{ env.S3BUCKET_FILE }} ${{ env.S3BUCKET_URL }}/${{ env.S3BUCKET_FILE }} + #- name: S3 CI MAINNET | Copy test binary to S3 bucket + # if: env.SECRETS_AWS_MAINNET_ACCESS_KEY_ID != '' && env.SECRETS_AWS_MAINNET_SECRET_ACCESS_KEY != '' + # shell: bash + # env: + # BINARY_DIR: target/release + # BINARY_FILE: aleph-node + # S3BUCKET_URL: s3://${{ secrets.CI_MAINNET_S3BUCKET_NAME }}/builds/aleph-node/commits/${{ steps.get_branch.outputs.sha_short }}/aleph-test-node + # S3BUCKET_FILE: aleph-test-node-${{ steps.get_branch.outputs.sha_short }}.tar.gz + # run: | + # tar -cvzf ${{ env.S3BUCKET_FILE }} -C ${{ env.BINARY_DIR }} ${{ env.BINARY_FILE }} + # aws s3 cp ${{ env.S3BUCKET_FILE }} ${{ env.S3BUCKET_URL }}/${{ env.S3BUCKET_FILE }} + + #- name: S3 CI MAINNET | Copy test runtime to S3 bucket + # if: env.SECRETS_AWS_MAINNET_ACCESS_KEY_ID != '' && env.SECRETS_AWS_MAINNET_SECRET_ACCESS_KEY != '' + # shell: bash + # env: + # BINARY_DIR: target/release/wbuild/aleph-runtime + # BINARY_FILE: aleph_runtime.compact.wasm + # S3BUCKET_URL: s3://${{ secrets.CI_MAINNET_S3BUCKET_NAME }}/builds/aleph-node/commits/${{ steps.get_branch.outputs.sha_short }}/aleph-test-runtime + # S3BUCKET_FILE: aleph-test-runtime-${{ steps.get_branch.outputs.sha_short }}.tar.gz + # run: | + # tar -cvzf ${{ env.S3BUCKET_FILE }} -C ${{ env.BINARY_DIR }} ${{ env.BINARY_FILE }} + # aws s3 cp ${{ env.S3BUCKET_FILE }} ${{ env.S3BUCKET_URL }}/${{ env.S3BUCKET_FILE }} # Testing cargo-cache here - - name: S3 CI DEVNET | Configure AWS credentials - if: env.SECRETS_AWS_DEVNET_ACCESS_KEY_ID != '' && env.SECRETS_AWS_DEVNET_SECRET_ACCESS_KEY != '' - uses: aws-actions/configure-aws-credentials@v1 - env: - AWS_REGION: us-east-1 - with: - aws-access-key-id: ${{ secrets.SECRETS_AWS_DEVNET_ACCESS_KEY_ID }} - aws-secret-access-key: ${{ secrets.SECRETS_AWS_DEVNET_SECRET_ACCESS_KEY }} - aws-region: ${{ env.AWS_REGION }} - - name: S3 CI DEVNET | Upload '~/.cargo' to CI S3 bucket if: env.SECRETS_AWS_DEVNET_ACCESS_KEY_ID != '' && env.SECRETS_AWS_DEVNET_SECRET_ACCESS_KEY != '' env: S3BUCKET_PATH: rust-cache-dotcargo/${{ runner.os }}-cargo-aleph-node-v1-${{ hashFiles('**/Cargo.lock') }} - DOT_CACHE_FILENAME: rust-cache-dotcargo.tar.gz + CACHE_FILENAME: rust-cache-dotcargo.tar.gz run: | - tar -czf ${{ env.DOT_CACHE_FILENAME }} -C ~/.cargo . - aws s3 cp ${{ env.DOT_CACHE_FILENAME }} s3://${{ secrets.CI_S3BUCKET_NAME }}/${{ env.S3BUCKET_PATH }}/${{ env.DOT_CACHE_FILENAME }} + tar -czf ${{ env.CACHE_FILENAME }} -C ~/.cargo . + aws s3 cp ${{ env.CACHE_FILENAME }} s3://${{ secrets.CI_S3BUCKET_NAME }}/${{ env.S3BUCKET_PATH }}/${{ env.CACHE_FILENAME }} - name: S3 CI DEVNET | Upload 'target' to CI S3 bucket if: env.SECRETS_AWS_DEVNET_ACCESS_KEY_ID != '' && env.SECRETS_AWS_DEVNET_SECRET_ACCESS_KEY != '' env: S3BUCKET_PATH: rust-cache-target/${{ runner.os }}-cargo-aleph-node-v1-${{ hashFiles('**/Cargo.lock') }} - DOT_CACHE_FILENAME: rust-cache-target.tar.gz + CACHE_FILENAME: rust-cache-target.tar.gz run: | - tar -czf ${{ env.DOT_CACHE_FILENAME }} -C ./target . - aws s3 cp ${{ env.DOT_CACHE_FILENAME }} s3://${{ secrets.CI_S3BUCKET_NAME }}/${{ env.S3BUCKET_PATH }}/${{ env.DOT_CACHE_FILENAME }} + tar -czf ${{ env.CACHE_FILENAME }} -C ./target . + aws s3 cp ${{ env.CACHE_FILENAME }} s3://${{ secrets.CI_S3BUCKET_NAME }}/${{ env.S3BUCKET_PATH }}/${{ env.CACHE_FILENAME }} - name: Prune unused packages from cargo cache if: env.SECRETS_AWS_DEVNET_ACCESS_KEY_ID != '' && env.SECRETS_AWS_DEVNET_SECRET_ACCESS_KEY != '' From e532017e91fc36ad6a828add989042beaf584325 Mon Sep 17 00:00:00 2001 From: Mikolaj Gasior Date: Thu, 23 Feb 2023 20:06:57 +0100 Subject: [PATCH 184/212] Do not gzip files --- .github/workflows/build-node-and-runtime.yml | 37 ++++++++------------ 1 file changed, 15 insertions(+), 22 deletions(-) diff --git a/.github/workflows/build-node-and-runtime.yml b/.github/workflows/build-node-and-runtime.yml index 15b93b13c7..f12a97ba7e 100644 --- a/.github/workflows/build-node-and-runtime.yml +++ b/.github/workflows/build-node-and-runtime.yml @@ -56,31 +56,24 @@ jobs: if: env.SECRETS_AWS_DEVNET_ACCESS_KEY_ID != '' && env.SECRETS_AWS_DEVNET_SECRET_ACCESS_KEY != '' env: S3BUCKET_PATH: rust-cache-dotcargo/${{ runner.os }}-cargo-aleph-node-v1-${{ hashFiles('**/Cargo.lock') }} - CACHE_FILENAME: rust-cache-dotcargo.tar.gz + CACHE_FILENAME: rust-cache-dotcargo.tar + continue-on-error: true run: | - set +e - aws s3api head-object --bucket ${{ secrets.CI_S3BUCKET_NAME }} --key ${{ env.S3BUCKET_PATH }}/${{ env.CACHE_FILENAME }} - if [[ $? == 0 ]]; then - set -e - aws s3 cp s3://${{ secrets.CI_S3BUCKET_NAME }}/${{ env.S3BUCKET_PATH }}/${{ env.CACHE_FILENAME }} . - mkdir -p ~/.cargo - tar -zxf ${{ env.CACHE_FILENAME }} -C ~/.cargo - fi + aws s3 cp s3://${{ secrets.CI_S3BUCKET_NAME }}/${{ env.S3BUCKET_PATH }}/${{ env.CACHE_FILENAME }} . + mkdir -p ~/.cargo + tar -xf ${{ env.CACHE_FILENAME }} -C ~/.cargo - name: S3 CI DEVNET | Download 'target' from CI S3 bucket if: env.SECRETS_AWS_DEVNET_ACCESS_KEY_ID != '' && env.SECRETS_AWS_DEVNET_SECRET_ACCESS_KEY != '' env: S3BUCKET_PATH: rust-cache-target/${{ runner.os }}-cargo-aleph-node-v1-${{ hashFiles('**/Cargo.lock') }} - CACHE_FILENAME: rust-cache-target.tar.gz + CACHE_FILENAME: rust-cache-target.tar + continue-on-error: true run: | - set +e - aws s3api head-object --bucket ${{ secrets.CI_S3BUCKET_NAME }} --key ${{ env.S3BUCKET_PATH }}/${{ env.CACHE_FILENAME }} - if [[ $? == 0 ]]; then - set -e - aws s3 cp s3://${{ secrets.CI_S3BUCKET_NAME }}/${{ env.S3BUCKET_PATH }}/${{ env.CACHE_FILENAME }} . - mkdir -p ./target - tar -zxf ${{ env.CACHE_FILENAME }} -C ./target - fi + aws s3 cp s3://${{ secrets.CI_S3BUCKET_NAME }}/${{ env.S3BUCKET_PATH }}/${{ env.CACHE_FILENAME }} . + mkdir -p ./target + tar -xf ${{ env.CACHE_FILENAME }} -C ./target + - name: Install cargo-cache if: env.SECRETS_AWS_DEVNET_ACCESS_KEY_ID != '' && env.SECRETS_AWS_DEVNET_SECRET_ACCESS_KEY != '' @@ -198,18 +191,18 @@ jobs: if: env.SECRETS_AWS_DEVNET_ACCESS_KEY_ID != '' && env.SECRETS_AWS_DEVNET_SECRET_ACCESS_KEY != '' env: S3BUCKET_PATH: rust-cache-dotcargo/${{ runner.os }}-cargo-aleph-node-v1-${{ hashFiles('**/Cargo.lock') }} - CACHE_FILENAME: rust-cache-dotcargo.tar.gz + CACHE_FILENAME: rust-cache-dotcargo.tar run: | - tar -czf ${{ env.CACHE_FILENAME }} -C ~/.cargo . + tar -cf ${{ env.CACHE_FILENAME }} -C ~/.cargo . aws s3 cp ${{ env.CACHE_FILENAME }} s3://${{ secrets.CI_S3BUCKET_NAME }}/${{ env.S3BUCKET_PATH }}/${{ env.CACHE_FILENAME }} - name: S3 CI DEVNET | Upload 'target' to CI S3 bucket if: env.SECRETS_AWS_DEVNET_ACCESS_KEY_ID != '' && env.SECRETS_AWS_DEVNET_SECRET_ACCESS_KEY != '' env: S3BUCKET_PATH: rust-cache-target/${{ runner.os }}-cargo-aleph-node-v1-${{ hashFiles('**/Cargo.lock') }} - CACHE_FILENAME: rust-cache-target.tar.gz + CACHE_FILENAME: rust-cache-target.tar run: | - tar -czf ${{ env.CACHE_FILENAME }} -C ./target . + tar -cf ${{ env.CACHE_FILENAME }} -C ./target . aws s3 cp ${{ env.CACHE_FILENAME }} s3://${{ secrets.CI_S3BUCKET_NAME }}/${{ env.S3BUCKET_PATH }}/${{ env.CACHE_FILENAME }} - name: Prune unused packages from cargo cache From 55597d21ffec512eb126a37329e3e42e040bc474 Mon Sep 17 00:00:00 2001 From: Mikolaj Gasior Date: Thu, 23 Feb 2023 20:34:58 +0100 Subject: [PATCH 185/212] Extract cache key to a separate env var --- .github/workflows/build-node-and-runtime.yml | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build-node-and-runtime.yml b/.github/workflows/build-node-and-runtime.yml index f12a97ba7e..edb4556c9f 100644 --- a/.github/workflows/build-node-and-runtime.yml +++ b/.github/workflows/build-node-and-runtime.yml @@ -52,10 +52,15 @@ jobs: # Testing cargo-cache here + - name: Set cache key environment variable + if: env.SECRETS_AWS_DEVNET_ACCESS_KEY_ID != '' && env.SECRETS_AWS_DEVNET_SECRET_ACCESS_KEY != '' + run: | + echo "CACHE_KEY=${{ runner.os }}-cargo-aleph-node-v1-${{ hashFiles('**/Cargo.lock') }}" >> $GITHUB_ENV + - name: S3 CI DEVNET | Download '~/.cargo' from CI S3 bucket if: env.SECRETS_AWS_DEVNET_ACCESS_KEY_ID != '' && env.SECRETS_AWS_DEVNET_SECRET_ACCESS_KEY != '' env: - S3BUCKET_PATH: rust-cache-dotcargo/${{ runner.os }}-cargo-aleph-node-v1-${{ hashFiles('**/Cargo.lock') }} + S3BUCKET_PATH: rust-cache-dotcargo/${{ env.CACHE_KEY }} CACHE_FILENAME: rust-cache-dotcargo.tar continue-on-error: true run: | @@ -66,7 +71,7 @@ jobs: - name: S3 CI DEVNET | Download 'target' from CI S3 bucket if: env.SECRETS_AWS_DEVNET_ACCESS_KEY_ID != '' && env.SECRETS_AWS_DEVNET_SECRET_ACCESS_KEY != '' env: - S3BUCKET_PATH: rust-cache-target/${{ runner.os }}-cargo-aleph-node-v1-${{ hashFiles('**/Cargo.lock') }} + S3BUCKET_PATH: rust-cache-target/${{ env.CACHE_KEY }} CACHE_FILENAME: rust-cache-target.tar continue-on-error: true run: | @@ -190,7 +195,7 @@ jobs: - name: S3 CI DEVNET | Upload '~/.cargo' to CI S3 bucket if: env.SECRETS_AWS_DEVNET_ACCESS_KEY_ID != '' && env.SECRETS_AWS_DEVNET_SECRET_ACCESS_KEY != '' env: - S3BUCKET_PATH: rust-cache-dotcargo/${{ runner.os }}-cargo-aleph-node-v1-${{ hashFiles('**/Cargo.lock') }} + S3BUCKET_PATH: rust-cache-dotcargo/${{ env.CACHE_KEY }} CACHE_FILENAME: rust-cache-dotcargo.tar run: | tar -cf ${{ env.CACHE_FILENAME }} -C ~/.cargo . @@ -199,7 +204,7 @@ jobs: - name: S3 CI DEVNET | Upload 'target' to CI S3 bucket if: env.SECRETS_AWS_DEVNET_ACCESS_KEY_ID != '' && env.SECRETS_AWS_DEVNET_SECRET_ACCESS_KEY != '' env: - S3BUCKET_PATH: rust-cache-target/${{ runner.os }}-cargo-aleph-node-v1-${{ hashFiles('**/Cargo.lock') }} + S3BUCKET_PATH: rust-cache-target/${{ env.CACHE_KEY }} CACHE_FILENAME: rust-cache-target.tar run: | tar -cf ${{ env.CACHE_FILENAME }} -C ./target . From f2e4f18b3b7d995326d83302299b0f64a855f966 Mon Sep 17 00:00:00 2001 From: kostekIV <27210860+kostekIV@users.noreply.github.com> Date: Fri, 24 Feb 2023 08:15:33 +0100 Subject: [PATCH 186/212] A0-1906: bump substrate to 0.9.37 (#941) * change fork version to 0.9.34 * pallet contracts UnsafeUnstableInterface set to false * subxt code gen * temporarily remove fee calculation test * fix build * change fork version to aleph-0.9.34 * bump spec version to 52 * move comment up * change fork version to wip-0.9.35 * fix pruning arguments * fix weight changes * update jsonspree * fix compiler error * rm wip * lock * spec * aleph * lint * lint * cleanup * update * bump spec * set contracts-transcode version * locks * fix try-runtime * bump substrate * adjust runtime * fix node * update aleph-client * update adder toolchain * fix tests * dont panic * revert toolchain * nightly * skip adder * ... --------- Co-authored-by: maciejnems --- .github/workflows/check-excluded-packages.yml | 5 + Cargo.lock | 1724 +++++++++++++---- aleph-client/Cargo.lock | 271 +-- aleph-client/Cargo.toml | 6 +- aleph-client/src/aleph_zero.rs | 452 +++-- benches/payout-stakers/Cargo.lock | 279 +-- benches/payout-stakers/Cargo.toml | 4 +- bin/cliain/Cargo.lock | 380 ++-- bin/cliain/Cargo.toml | 4 +- bin/node/Cargo.toml | 72 +- bin/node/src/main.rs | 4 +- bin/node/src/service.rs | 16 +- bin/runtime/Cargo.toml | 78 +- bin/runtime/src/lib.rs | 11 +- contracts/rust-toolchain | 2 +- e2e-tests/Cargo.lock | 398 ++-- e2e-tests/Cargo.toml | 12 +- finality-aleph/Cargo.toml | 42 +- finality-aleph/src/data_io/chain_info.rs | 28 +- finality-aleph/src/data_io/data_provider.rs | 8 +- finality-aleph/src/network/gossip/service.rs | 12 +- finality-aleph/src/session_map.rs | 12 +- .../src/sync/substrate/chain_status.rs | 8 +- .../src/testing/client_chain_builder.rs | 4 +- flooder/Cargo.lock | 275 +-- flooder/Cargo.toml | 4 +- fork-off/Cargo.lock | 121 +- fork-off/Cargo.toml | 8 +- pallets/aleph/Cargo.toml | 18 +- pallets/elections/Cargo.toml | 24 +- pallets/support/Cargo.toml | 4 +- primitives/Cargo.toml | 12 +- 32 files changed, 2744 insertions(+), 1554 deletions(-) diff --git a/.github/workflows/check-excluded-packages.yml b/.github/workflows/check-excluded-packages.yml index 9eeb954a4e..3f5d408466 100644 --- a/.github/workflows/check-excluded-packages.yml +++ b/.github/workflows/check-excluded-packages.yml @@ -68,6 +68,11 @@ jobs: packages="${{ steps.format_output.outputs.packages }}" for p in ${packages[@]} do + # skip checking the adder for now + if [ $p = "contracts/adder" ] + then + continue + fi echo "Checking package $p..." pushd "$p" rustup component add clippy rustfmt diff --git a/Cargo.lock b/Cargo.lock index f81e6f5f8a..ddecda1ae8 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -36,6 +36,15 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" +[[package]] +name = "aead" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7fc95d1bdb8e6666b2b217308eeeb09f2d6728d104be3e31916cc74d15420331" +dependencies = [ + "generic-array 0.14.6", +] + [[package]] name = "aead" version = "0.4.3" @@ -43,6 +52,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0b613b8e1e3cf911a086f53f03bf286f52fd7a7258e4fa606f0ef220d39d8877" dependencies = [ "generic-array 0.14.6", + "rand_core 0.6.4", +] + +[[package]] +name = "aes" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "884391ef1066acaa41e766ba8f596341b96e93ce34f9a43e7d24bf0a0eaf0561" +dependencies = [ + "aes-soft", + "aesni", + "cipher 0.2.5", ] [[package]] @@ -52,25 +73,59 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9e8b47f52ea9bae42228d07ec09eb676433d7c4ed1ebdf0f1d1c29ed446f1ab8" dependencies = [ "cfg-if", - "cipher", + "cipher 0.3.0", "cpufeatures", "opaque-debug 0.3.0", ] +[[package]] +name = "aes-gcm" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5278b5fabbb9bd46e24aa69b2fdea62c99088e0a950a9be40e3e0101298f88da" +dependencies = [ + "aead 0.3.2", + "aes 0.6.0", + "cipher 0.2.5", + "ctr 0.6.0", + "ghash 0.3.1", + "subtle", +] + [[package]] name = "aes-gcm" version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "df5f85a83a7d8b0442b6aa7b504b8212c1733da07b98aae43d4bc21b2cb3cdf6" dependencies = [ - "aead", - "aes", - "cipher", - "ctr", - "ghash", + "aead 0.4.3", + "aes 0.7.5", + "cipher 0.3.0", + "ctr 0.8.0", + "ghash 0.4.4", "subtle", ] +[[package]] +name = "aes-soft" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be14c7498ea50828a38d0e24a765ed2effe92a705885b57d029cd67d45744072" +dependencies = [ + "cipher 0.2.5", + "opaque-debug 0.3.0", +] + +[[package]] +name = "aesni" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea2e11f5e94c2f7d386164cc2aa1f97823fed6f259e486940a71c174dd01b0ce" +dependencies = [ + "cipher 0.2.5", + "opaque-debug 0.3.0", +] + [[package]] name = "aggregator" version = "0.2.1" @@ -246,7 +301,7 @@ dependencies = [ "hex", "hex-literal", "jsonrpsee", - "libp2p", + "libp2p 0.49.0", "log", "pallet-staking", "pallet-transaction-payment-rpc", @@ -376,6 +431,12 @@ dependencies = [ "num-traits", ] +[[package]] +name = "arc-swap" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bddcadddf5e9015d310179a59bb28c4d4b9920ad0f11e8e14dbadf654890c9a6" + [[package]] name = "array-bytes" version = "4.2.0" @@ -401,51 +462,78 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6" [[package]] -name = "asn1_der" -version = "0.7.5" +name = "asn1-rs" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e22d1f4b888c298a027c99dc9048015fac177587de20fc30232a057dfbe24a21" +checksum = "30ff05a702273012438132f449575dbc804e27b2f3cbe3069aa237d26c98fa33" +dependencies = [ + "asn1-rs-derive 0.1.0", + "asn1-rs-impl", + "displaydoc", + "nom", + "num-traits", + "rusticata-macros", + "thiserror", + "time 0.3.19", +] [[package]] -name = "async-channel" -version = "1.8.0" +name = "asn1-rs" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf46fee83e5ccffc220104713af3292ff9bc7c64c7de289f66dae8e38d826833" +checksum = "cf6690c370453db30743b373a60ba498fc0d6d83b11f4abfd87a84a075db5dd4" dependencies = [ - "concurrent-queue", - "event-listener", - "futures-core", + "asn1-rs-derive 0.4.0", + "asn1-rs-impl", + "displaydoc", + "nom", + "num-traits", + "rusticata-macros", + "thiserror", + "time 0.3.19", ] [[package]] -name = "async-executor" -version = "1.5.0" +name = "asn1-rs-derive" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17adb73da160dfb475c183343c8cccd80721ea5a605d3eb57125f0a7b7a92d0b" +checksum = "db8b7511298d5b7784b40b092d9e9dcd3a627a5707e4b5e507931ab0d44eeebf" dependencies = [ - "async-lock", - "async-task", - "concurrent-queue", - "fastrand", - "futures-lite", - "slab", + "proc-macro2", + "quote", + "syn", + "synstructure", ] [[package]] -name = "async-global-executor" -version = "2.3.1" +name = "asn1-rs-derive" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1b6f5d7df27bd294849f8eec66ecfc63d11814df7a4f5d74168a2394467b776" +checksum = "726535892e8eae7e70657b4c8ea93d26b8553afb1ce617caee529ef96d7dee6c" dependencies = [ - "async-channel", - "async-executor", - "async-io", - "async-lock", - "blocking", - "futures-lite", - "once_cell", + "proc-macro2", + "quote", + "syn", + "synstructure", +] + +[[package]] +name = "asn1-rs-impl" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2777730b2039ac0f95f093556e61b6d26cebed5393ca6f152717777cec3a42ed" +dependencies = [ + "proc-macro2", + "quote", + "syn", ] +[[package]] +name = "asn1_der" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e22d1f4b888c298a027c99dc9048015fac177587de20fc30232a057dfbe24a21" + [[package]] name = "async-io" version = "1.12.0" @@ -476,12 +564,6 @@ dependencies = [ "futures-lite", ] -[[package]] -name = "async-task" -version = "4.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a40729d2133846d9ed0ea60a8b9541bccddab49cd30f0715a1da672fe9a2524" - [[package]] name = "async-trait" version = "0.1.64" @@ -592,7 +674,7 @@ dependencies = [ [[package]] name = "beefy-merkle-tree" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "sp-api", "sp-beefy", @@ -702,7 +784,7 @@ version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c0940dc441f31689269e10ac70eb1002a3a1d3ad1390e030043662eb7fe4688b" dependencies = [ - "block-padding", + "block-padding 0.1.5", "byte-tools", "byteorder", "generic-array 0.12.4", @@ -726,6 +808,16 @@ dependencies = [ "generic-array 0.14.6", ] +[[package]] +name = "block-modes" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57a0e8073e8baa88212fb5823574c02ebccb395136ba9a164ab89379ec6072f0" +dependencies = [ + "block-padding 0.2.1", + "cipher 0.2.5", +] + [[package]] name = "block-padding" version = "0.1.5" @@ -736,18 +828,10 @@ dependencies = [ ] [[package]] -name = "blocking" -version = "1.3.0" +name = "block-padding" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c67b173a56acffd6d2326fb7ab938ba0b00a71480e14902b2591c87bc5741e8" -dependencies = [ - "async-channel", - "async-lock", - "async-task", - "atomic-waker", - "fastrand", - "futures-lite", -] +checksum = "8d696c370c750c948ada61c69a0ee2cbbb9c50b1019ddb86d9317157a99c2cae" [[package]] name = "bs58" @@ -855,6 +939,17 @@ dependencies = [ "jobserver", ] +[[package]] +name = "ccm" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5aca1a8fbc20b50ac9673ff014abfb2b5f4085ee1a850d408f14a159c5853ac7" +dependencies = [ + "aead 0.3.2", + "cipher 0.2.5", + "subtle", +] + [[package]] name = "cexpr" version = "0.6.0" @@ -892,7 +987,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5c80e5460aa66fe3b91d40bcbdab953a597b60053e34d684ac6903f863b680a6" dependencies = [ "cfg-if", - "cipher", + "cipher 0.3.0", "cpufeatures", "zeroize", ] @@ -903,9 +998,9 @@ version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a18446b09be63d457bbec447509e85f662f32952b035ce892290396bc0b0cff5" dependencies = [ - "aead", + "aead 0.4.3", "chacha20", - "cipher", + "cipher 0.3.0", "poly1305", "zeroize", ] @@ -920,7 +1015,7 @@ dependencies = [ "js-sys", "num-integer", "num-traits", - "time", + "time 0.1.45", "wasm-bindgen", "winapi", ] @@ -938,6 +1033,15 @@ dependencies = [ "unsigned-varint", ] +[[package]] +name = "cipher" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12f8e7987cbd042a63249497f41aed09f8e65add917ea6566effbc56578d6801" +dependencies = [ + "generic-array 0.14.6", +] + [[package]] name = "cipher" version = "0.3.0" @@ -1084,6 +1188,12 @@ dependencies = [ "libc", ] +[[package]] +name = "cpuid-bool" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dcb25d077389e53838a8158c8e99174c5a9d902dee4904320db714f3c653ffba" + [[package]] name = "cranelift-bforest" version = "0.88.2" @@ -1182,6 +1292,21 @@ dependencies = [ "wasmtime-types", ] +[[package]] +name = "crc" +version = "3.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86ec7a15cbe22e59248fc7eadb1907dab5ba09372595da4d73dd805ed4417dfe" +dependencies = [ + "crc-catalog", +] + +[[package]] +name = "crc-catalog" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9cace84e55f07e7301bae1c519df89cdad8cc3cd868413d3fdbdeca9ff3db484" + [[package]] name = "crc32fast" version = "1.3.2" @@ -1272,6 +1397,16 @@ dependencies = [ "subtle", ] +[[package]] +name = "crypto-mac" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bff07008ec701e8028e2ceb8f83f0e4274ee62bd2dbdc4fefff2e9a91824081a" +dependencies = [ + "generic-array 0.14.6", + "subtle", +] + [[package]] name = "crypto-mac" version = "0.11.1" @@ -1282,13 +1417,22 @@ dependencies = [ "subtle", ] +[[package]] +name = "ctr" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fb4a30d54f7443bf3d6191dcd486aca19e67cb3c49fa7a06a319966346707e7f" +dependencies = [ + "cipher 0.2.5", +] + [[package]] name = "ctr" version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "049bb91fb4aaf0e3c7efa6cd5ef877dbbbd15b39dad06d9948de4ec8a75761ea" dependencies = [ - "cipher", + "cipher 0.3.0", ] [[package]] @@ -1375,6 +1519,41 @@ dependencies = [ "syn", ] +[[package]] +name = "darling" +version = "0.14.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0808e1bd8671fb44a113a14e13497557533369847788fa2ae912b6ebfce9fa8" +dependencies = [ + "darling_core", + "darling_macro", +] + +[[package]] +name = "darling_core" +version = "0.14.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "001d80444f28e193f30c2f293455da62dcf9a6b29918a4253152ae2b1de592cb" +dependencies = [ + "fnv", + "ident_case", + "proc-macro2", + "quote", + "strsim", + "syn", +] + +[[package]] +name = "darling_macro" +version = "0.14.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b36230598a2d5de7ec1c6f51f72d8a99a9208daff41de2084d06e3fd3ea56685" +dependencies = [ + "darling_core", + "quote", + "syn", +] + [[package]] name = "data-encoding" version = "2.3.3" @@ -1408,9 +1587,38 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f1a467a65c5e759bce6e65eaf91cc29f466cdc57cb65777bd646872a8a1fd4de" dependencies = [ "const-oid", + "pem-rfc7468", "zeroize", ] +[[package]] +name = "der-parser" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe398ac75057914d7d07307bf67dc7f3f574a26783b4fc7805a20ffa9f506e82" +dependencies = [ + "asn1-rs 0.3.1", + "displaydoc", + "nom", + "num-bigint", + "num-traits", + "rusticata-macros", +] + +[[package]] +name = "der-parser" +version = "8.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42d4bc9b0db0a0df9ae64634ac5bdefb7afcb534e182275ca0beadbe486701c1" +dependencies = [ + "asn1-rs 0.5.1", + "displaydoc", + "nom", + "num-bigint", + "num-traits", + "rusticata-macros", +] + [[package]] name = "derivative" version = "2.2.0" @@ -1422,6 +1630,37 @@ dependencies = [ "syn", ] +[[package]] +name = "derive_builder" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d07adf7be193b71cc36b193d0f5fe60b918a3a9db4dad0449f57bcfd519704a3" +dependencies = [ + "derive_builder_macro", +] + +[[package]] +name = "derive_builder_core" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f91d4cfa921f1c05904dc3c57b4a32c38aed3340cce209f3a6fd1478babafc4" +dependencies = [ + "darling", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "derive_builder_macro" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f0314b72bed045f3a68671b3c86328386762c93f82d98c65c3cb5e5f573dd68" +dependencies = [ + "derive_builder_core", + "syn", +] + [[package]] name = "derive_more" version = "0.99.17" @@ -1512,13 +1751,14 @@ dependencies = [ ] [[package]] -name = "dns-parser" -version = "0.8.0" +name = "displaydoc" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4d33be9473d06f75f58220f71f7a9317aca647dc061dbd3c361b0bef505fbea" +checksum = "3bf95dc3f046b9da4f2d51833c0d3547d8564ef6910f5c1ed130306a75b92886" dependencies = [ - "byteorder", - "quick-error", + "proc-macro2", + "quote", + "syn", ] [[package]] @@ -1634,6 +1874,9 @@ dependencies = [ "ff", "generic-array 0.14.6", "group", + "hkdf", + "pem-rfc7468", + "pkcs8", "rand_core 0.6.4", "sec1", "subtle", @@ -1855,7 +2098,7 @@ dependencies = [ "substrate-prometheus-endpoint", "substrate-test-runtime", "substrate-test-runtime-client", - "tiny-bip39 1.0.0", + "tiny-bip39", "tokio", ] @@ -1922,7 +2165,7 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "fork-tree" version = "3.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "parity-scale-codec", ] @@ -1945,7 +2188,7 @@ checksum = "6c2141d6d6c8512188a7891b4b01590a45f6dac67afb4f255c4124dbb86d4eaa" [[package]] name = "frame-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "frame-support", "frame-system", @@ -1968,7 +2211,7 @@ dependencies = [ [[package]] name = "frame-election-provider-solution-type" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -1979,7 +2222,7 @@ dependencies = [ [[package]] name = "frame-election-provider-support" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "frame-election-provider-solution-type", "frame-support", @@ -1996,7 +2239,7 @@ dependencies = [ [[package]] name = "frame-executive" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "frame-support", "frame-system", @@ -2025,18 +2268,15 @@ dependencies = [ [[package]] name = "frame-remote-externalities" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ - "env_logger 0.9.3", "futures", "log", "parity-scale-codec", "serde", - "serde_json", "sp-core", "sp-io", "sp-runtime", - "sp-version", "substrate-rpc-client", "tokio", ] @@ -2044,7 +2284,7 @@ dependencies = [ [[package]] name = "frame-support" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "bitflags", "frame-metadata", @@ -2076,7 +2316,7 @@ dependencies = [ [[package]] name = "frame-support-procedural" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "Inflector", "cfg-expr", @@ -2090,7 +2330,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate", @@ -2102,7 +2342,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "proc-macro2", "quote", @@ -2112,7 +2352,7 @@ dependencies = [ [[package]] name = "frame-system" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "frame-support", "log", @@ -2130,7 +2370,7 @@ dependencies = [ [[package]] name = "frame-system-rpc-runtime-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "parity-scale-codec", "sp-api", @@ -2139,7 +2379,7 @@ dependencies = [ [[package]] name = "frame-try-runtime" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "frame-support", "parity-scale-codec", @@ -2246,8 +2486,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d2411eed028cdf8c8034eaf21f9915f956b6c3abec4d4c7949ee67f0721127bd" dependencies = [ "futures-io", - "rustls", - "webpki", + "rustls 0.20.8", + "webpki 0.22.0", ] [[package]] @@ -2321,10 +2561,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" dependencies = [ "cfg-if", - "js-sys", "libc", "wasi 0.9.0+wasi-snapshot-preview1", - "wasm-bindgen", ] [[package]] @@ -2338,6 +2576,16 @@ dependencies = [ "wasi 0.11.0+wasi-snapshot-preview1", ] +[[package]] +name = "ghash" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97304e4cd182c3846f7575ced3890c53012ce534ad9114046b0a9e00bb30a375" +dependencies = [ + "opaque-debug 0.3.0", + "polyval 0.4.5", +] + [[package]] name = "ghash" version = "0.4.4" @@ -2345,7 +2593,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1583cc1656d7839fd3732b80cf4f38850336cdb9b8ded1cd399ca62958de3c99" dependencies = [ "opaque-debug 0.3.0", - "polyval", + "polyval 0.5.3", ] [[package]] @@ -2480,6 +2728,15 @@ version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7ebdb29d2ea9ed0083cd8cece49bbd968021bd99b0849edb4a9a7ee0fdf6a4e0" +[[package]] +name = "hkdf" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "791a029f6b9fc27657f6f188ec6e5e43f6911f6f878e0dc5501396e09809d437" +dependencies = [ + "hmac 0.12.1", +] + [[package]] name = "hmac" version = "0.8.1" @@ -2490,6 +2747,16 @@ dependencies = [ "digest 0.9.0", ] +[[package]] +name = "hmac" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1441c6b1e930e2817404b5046f1f989899143a12bf92de603b69f4e0aee1e15" +dependencies = [ + "crypto-mac 0.10.1", + "digest 0.9.0", +] + [[package]] name = "hmac" version = "0.11.0" @@ -2610,7 +2877,7 @@ dependencies = [ "http", "hyper", "log", - "rustls", + "rustls 0.20.8", "rustls-native-certs", "tokio", "tokio-rustls", @@ -2641,8 +2908,14 @@ dependencies = [ ] [[package]] -name = "idna" -version = "0.2.3" +name = "ident_case" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" + +[[package]] +name = "idna" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "418a0a6fab821475f634efe3ccc45c013f742efe03d853e8d3355d5cb850ecf8" dependencies = [ @@ -2673,9 +2946,9 @@ dependencies = [ [[package]] name = "if-watch" -version = "2.0.0" +version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "065c008e570a43c00de6aed9714035e5ea6a498c255323db9091722af6ee67dd" +checksum = "ba7abdbb86e485125dad06c2691e1e393bf3b08c7b743b43aa162a00fd39062e" dependencies = [ "async-io", "core-foundation", @@ -2686,6 +2959,7 @@ dependencies = [ "log", "rtnetlink", "system-configuration", + "tokio", "windows", ] @@ -2753,6 +3027,25 @@ dependencies = [ "num-traits", ] +[[package]] +name = "interceptor" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e8a11ae2da61704edada656798b61c94b35ecac2c58eb955156987d5e6be90b" +dependencies = [ + "async-trait", + "bytes", + "log", + "rand 0.8.5", + "rtcp", + "rtp", + "thiserror", + "tokio", + "waitgroup", + "webrtc-srtp", + "webrtc-util", +] + [[package]] name = "io-lifetimes" version = "0.7.5" @@ -3068,7 +3361,27 @@ dependencies = [ "getrandom 0.2.8", "instant", "lazy_static", - "libp2p-core", + "libp2p-core 0.37.0", + "libp2p-swarm 0.40.1", + "libp2p-swarm-derive 0.30.1", + "multiaddr 0.14.0", + "parking_lot 0.12.1", + "pin-project", + "smallvec", +] + +[[package]] +name = "libp2p" +version = "0.50.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e0a0d2f693675f49ded13c5d510c48b78069e23cbd9108d7ccd59f6dc568819" +dependencies = [ + "bytes", + "futures", + "futures-timer", + "getrandom 0.2.8", + "instant", + "libp2p-core 0.38.0", "libp2p-dns", "libp2p-identify", "libp2p-kad", @@ -3077,14 +3390,15 @@ dependencies = [ "libp2p-mplex", "libp2p-noise", "libp2p-ping", + "libp2p-quic", "libp2p-request-response", - "libp2p-swarm", - "libp2p-swarm-derive", + "libp2p-swarm 0.41.1", "libp2p-tcp", "libp2p-wasm-ext", + "libp2p-webrtc", "libp2p-websocket", "libp2p-yamux", - "multiaddr", + "multiaddr 0.16.0", "parking_lot 0.12.1", "pin-project", "smallvec", @@ -3106,15 +3420,49 @@ dependencies = [ "instant", "lazy_static", "log", - "multiaddr", + "multiaddr 0.14.0", + "multihash", + "multistream-select", + "parking_lot 0.12.1", + "pin-project", + "prost", + "prost-build", + "rand 0.8.5", + "rw-stream-sink", + "sha2 0.10.6", + "smallvec", + "thiserror", + "unsigned-varint", + "void", + "zeroize", +] + +[[package]] +name = "libp2p-core" +version = "0.38.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6a8fcd392ff67af6cc3f03b1426c41f7f26b6b9aff2dc632c1c56dd649e571f" +dependencies = [ + "asn1_der", + "bs58", + "ed25519-dalek", + "either", + "fnv", + "futures", + "futures-timer", + "instant", + "log", + "multiaddr 0.16.0", "multihash", "multistream-select", + "once_cell", "parking_lot 0.12.1", "pin-project", "prost", "prost-build", "rand 0.8.5", "rw-stream-sink", + "sec1", "sha2 0.10.6", "smallvec", "thiserror", @@ -3125,12 +3473,12 @@ dependencies = [ [[package]] name = "libp2p-dns" -version = "0.37.0" +version = "0.38.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2322c9fb40d99101def6a01612ee30500c89abbbecb6297b3cd252903a4c1720" +checksum = "8e42a271c1b49f789b92f7fc87749fa79ce5c7bdc88cbdfacb818a4bca47fec5" dependencies = [ "futures", - "libp2p-core", + "libp2p-core 0.38.0", "log", "parking_lot 0.12.1", "smallvec", @@ -3139,15 +3487,15 @@ dependencies = [ [[package]] name = "libp2p-identify" -version = "0.40.0" +version = "0.41.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcf9a121f699e8719bda2e6e9e9b6ddafc6cff4602471d6481c1067930ccb29b" +checksum = "c052d0026f4817b44869bfb6810f4e1112f43aec8553f2cb38881c524b563abf" dependencies = [ "asynchronous-codec", "futures", "futures-timer", - "libp2p-core", - "libp2p-swarm", + "libp2p-core 0.38.0", + "libp2p-swarm 0.41.1", "log", "lru 0.8.1", "prost", @@ -3160,9 +3508,9 @@ dependencies = [ [[package]] name = "libp2p-kad" -version = "0.41.0" +version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6721c200e2021f6c3fab8b6cf0272ead8912d871610ee194ebd628cecf428f22" +checksum = "2766dcd2be8c87d5e1f35487deb22d765f49c6ae1251b3633efe3b25698bd3d2" dependencies = [ "arrayvec 0.7.2", "asynchronous-codec", @@ -3172,8 +3520,8 @@ dependencies = [ "futures", "futures-timer", "instant", - "libp2p-core", - "libp2p-swarm", + "libp2p-core 0.38.0", + "libp2p-swarm 0.41.1", "log", "prost", "prost-build", @@ -3188,48 +3536,48 @@ dependencies = [ [[package]] name = "libp2p-mdns" -version = "0.41.0" +version = "0.42.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "761704e727f7d68d58d7bc2231eafae5fc1b9814de24290f126df09d4bd37a15" +checksum = "04f378264aade9872d6ccd315c0accc18be3a35d15fc1b9c36e5b6f983b62b5b" dependencies = [ "data-encoding", - "dns-parser", "futures", "if-watch", - "libp2p-core", - "libp2p-swarm", + "libp2p-core 0.38.0", + "libp2p-swarm 0.41.1", "log", "rand 0.8.5", "smallvec", "socket2", "tokio", + "trust-dns-proto", "void", ] [[package]] name = "libp2p-metrics" -version = "0.10.0" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ee31b08e78b7b8bfd1c4204a9dd8a87b4fcdf6dafc57eb51701c1c264a81cb9" +checksum = "5ad8a64f29da86005c86a4d2728b8a0719e9b192f4092b609fd8790acb9dec55" dependencies = [ - "libp2p-core", + "libp2p-core 0.38.0", "libp2p-identify", "libp2p-kad", "libp2p-ping", - "libp2p-swarm", + "libp2p-swarm 0.41.1", "prometheus-client", ] [[package]] name = "libp2p-mplex" -version = "0.37.0" +version = "0.38.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "692664acfd98652de739a8acbb0a0d670f1d67190a49be6b4395e22c37337d89" +checksum = "03805b44107aa013e7cbbfa5627b31c36cbedfdfb00603c0311998882bc4bace" dependencies = [ "asynchronous-codec", "bytes", "futures", - "libp2p-core", + "libp2p-core 0.38.0", "log", "nohash-hasher", "parking_lot 0.12.1", @@ -3240,54 +3588,76 @@ dependencies = [ [[package]] name = "libp2p-noise" -version = "0.40.0" +version = "0.41.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "048155686bd81fe6cb5efdef0c6290f25ad32a0a42e8f4f72625cf6a505a206f" +checksum = "a978cb57efe82e892ec6f348a536bfbd9fee677adbe5689d7a93ad3a9bffbf2e" dependencies = [ "bytes", "curve25519-dalek 3.2.0", "futures", - "lazy_static", - "libp2p-core", + "libp2p-core 0.38.0", "log", + "once_cell", "prost", "prost-build", "rand 0.8.5", "sha2 0.10.6", "snow", "static_assertions", - "x25519-dalek", + "thiserror", + "x25519-dalek 1.1.1", "zeroize", ] [[package]] name = "libp2p-ping" -version = "0.40.1" +version = "0.41.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7228b9318d34689521349a86eb39a3c3a802c9efc99a0568062ffb80913e3f91" +checksum = "929fcace45a112536e22b3dcfd4db538723ef9c3cb79f672b98be2cc8e25f37f" dependencies = [ "futures", "futures-timer", "instant", - "libp2p-core", - "libp2p-swarm", + "libp2p-core 0.38.0", + "libp2p-swarm 0.41.1", "log", "rand 0.8.5", "void", ] +[[package]] +name = "libp2p-quic" +version = "0.7.0-alpha" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "01e7c867e95c8130667b24409d236d37598270e6da69b3baf54213ba31ffca59" +dependencies = [ + "bytes", + "futures", + "futures-timer", + "if-watch", + "libp2p-core 0.38.0", + "libp2p-tls", + "log", + "parking_lot 0.12.1", + "quinn-proto", + "rand 0.8.5", + "rustls 0.20.8", + "thiserror", + "tokio", +] + [[package]] name = "libp2p-request-response" -version = "0.22.1" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8827af16a017b65311a410bb626205a9ad92ec0473967618425039fa5231adc1" +checksum = "3236168796727bfcf4927f766393415361e2c644b08bedb6a6b13d957c9a4884" dependencies = [ "async-trait", "bytes", "futures", "instant", - "libp2p-core", - "libp2p-swarm", + "libp2p-core 0.38.0", + "libp2p-swarm 0.41.1", "log", "rand 0.8.5", "smallvec", @@ -3305,12 +3675,34 @@ dependencies = [ "futures", "futures-timer", "instant", - "libp2p-core", + "libp2p-core 0.37.0", + "log", + "pin-project", + "rand 0.8.5", + "smallvec", + "thiserror", + "void", +] + +[[package]] +name = "libp2p-swarm" +version = "0.41.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2a35472fe3276b3855c00f1c032ea8413615e030256429ad5349cdf67c6e1a0" +dependencies = [ + "either", + "fnv", + "futures", + "futures-timer", + "instant", + "libp2p-core 0.38.0", + "libp2p-swarm-derive 0.31.0", "log", "pin-project", "rand 0.8.5", "smallvec", "thiserror", + "tokio", "void", ] @@ -3325,46 +3717,106 @@ dependencies = [ "syn", ] +[[package]] +name = "libp2p-swarm-derive" +version = "0.31.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d527d5827582abd44a6d80c07ff8b50b4ee238a8979e05998474179e79dc400" +dependencies = [ + "heck", + "quote", + "syn", +] + [[package]] name = "libp2p-tcp" -version = "0.37.0" +version = "0.38.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9839d96761491c6d3e238e70554b856956fca0ab60feb9de2cd08eed4473fa92" +checksum = "b4b257baf6df8f2df39678b86c578961d48cc8b68642a12f0f763f56c8e5858d" dependencies = [ "futures", "futures-timer", "if-watch", "libc", - "libp2p-core", + "libp2p-core 0.38.0", "log", "socket2", "tokio", ] +[[package]] +name = "libp2p-tls" +version = "0.1.0-alpha" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7905ce0d040576634e8a3229a7587cc8beab83f79db6023800f1792895defa8" +dependencies = [ + "futures", + "futures-rustls", + "libp2p-core 0.38.0", + "rcgen 0.10.0", + "ring", + "rustls 0.20.8", + "thiserror", + "webpki 0.22.0", + "x509-parser 0.14.0", + "yasna", +] + [[package]] name = "libp2p-wasm-ext" -version = "0.37.0" +version = "0.38.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a17b5b8e7a73e379e47b1b77f8a82c4721e97eca01abcd18e9cd91a23ca6ce97" +checksum = "1bb1a35299860e0d4b3c02a3e74e3b293ad35ae0cee8a056363b0c862d082069" dependencies = [ "futures", "js-sys", - "libp2p-core", + "libp2p-core 0.38.0", "parity-send-wrapper", "wasm-bindgen", "wasm-bindgen-futures", ] +[[package]] +name = "libp2p-webrtc" +version = "0.4.0-alpha" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cdb6cd86dd68cba72308ea05de1cebf3ba0ae6e187c40548167955d4e3970f6a" +dependencies = [ + "async-trait", + "asynchronous-codec", + "bytes", + "futures", + "futures-timer", + "hex", + "if-watch", + "libp2p-core 0.38.0", + "libp2p-noise", + "log", + "multihash", + "prost", + "prost-build", + "prost-codec", + "rand 0.8.5", + "rcgen 0.9.3", + "serde", + "stun", + "thiserror", + "tinytemplate", + "tokio", + "tokio-util", + "webrtc", +] + [[package]] name = "libp2p-websocket" -version = "0.39.0" +version = "0.40.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3758ae6f89b2531a24b6d9f5776bda6a626b60a57600d7185d43dfa75ca5ecc4" +checksum = "1d705506030d5c0aaf2882437c70dab437605f21c5f9811978f694e6917a3b54" dependencies = [ "either", "futures", "futures-rustls", - "libp2p-core", + "libp2p-core 0.38.0", "log", "parking_lot 0.12.1", "quicksink", @@ -3376,12 +3828,12 @@ dependencies = [ [[package]] name = "libp2p-yamux" -version = "0.41.1" +version = "0.42.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d6874d66543c4f7e26e3b8ca9a6bead351563a13ab4fafd43c7927f7c0d6c12" +checksum = "4f63594a0aa818642d9d4915c791945053877253f08a3626f13416b5cd928a29" dependencies = [ "futures", - "libp2p-core", + "libp2p-core 0.38.0", "log", "parking_lot 0.12.1", "thiserror", @@ -3613,6 +4065,15 @@ dependencies = [ "rawpointer", ] +[[package]] +name = "md-5" +version = "0.10.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6365506850d44bff6e2fbcb5176cf63650e48bd45ef2fe2665ae1570e0f4b9ca" +dependencies = [ + "digest 0.10.6", +] + [[package]] name = "memchr" version = "2.5.0" @@ -3755,6 +4216,24 @@ dependencies = [ "url", ] +[[package]] +name = "multiaddr" +version = "0.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4aebdb21e90f81d13ed01dc84123320838e53963c2ca94b60b305d3fa64f31e" +dependencies = [ + "arrayref", + "byteorder", + "data-encoding", + "multibase", + "multihash", + "percent-encoding", + "serde", + "static_assertions", + "unsigned-varint", + "url", +] + [[package]] name = "multibase" version = "0.9.1" @@ -3914,11 +4393,11 @@ version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "260e21fbb6f3d253a14df90eb0000a6066780a15dd901a7519ce02d77a94985b" dependencies = [ - "async-io", "bytes", "futures", "libc", "log", + "tokio", ] [[package]] @@ -3930,6 +4409,7 @@ dependencies = [ "bitflags", "cfg-if", "libc", + "memoffset 0.6.5", ] [[package]] @@ -4047,6 +4527,24 @@ dependencies = [ "memchr", ] +[[package]] +name = "oid-registry" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38e20717fa0541f39bd146692035c37bedfa532b3e5071b35761082407546b2a" +dependencies = [ + "asn1-rs 0.3.1", +] + +[[package]] +name = "oid-registry" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9bedf36ffb6ba96c2eb7144ef6270557b52e54b20c0a8e1eb2ff99a6c6959bff" +dependencies = [ + "asn1-rs 0.5.1", +] + [[package]] name = "once_cell" version = "1.17.1" @@ -4077,6 +4575,28 @@ version = "6.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee" +[[package]] +name = "p256" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51f44edd08f51e2ade572f141051021c5af22677e42b7dd28a88155151c33594" +dependencies = [ + "ecdsa", + "elliptic-curve", + "sha2 0.10.6", +] + +[[package]] +name = "p384" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dfc8c5bf642dde52bb9e87c0ecd8ca5a76faac2eeed98dedb7c717997e1080aa" +dependencies = [ + "ecdsa", + "elliptic-curve", + "sha2 0.10.6", +] + [[package]] name = "packed_simd_2" version = "0.3.8" @@ -4110,7 +4630,7 @@ dependencies = [ [[package]] name = "pallet-aura" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "frame-support", "frame-system", @@ -4126,7 +4646,7 @@ dependencies = [ [[package]] name = "pallet-authorship" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "frame-support", "frame-system", @@ -4141,7 +4661,7 @@ dependencies = [ [[package]] name = "pallet-babe" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "frame-benchmarking", "frame-support", @@ -4165,7 +4685,7 @@ dependencies = [ [[package]] name = "pallet-balances" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "frame-benchmarking", "frame-support", @@ -4180,7 +4700,7 @@ dependencies = [ [[package]] name = "pallet-contracts" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "bitflags", "frame-benchmarking", @@ -4208,7 +4728,7 @@ dependencies = [ [[package]] name = "pallet-contracts-primitives" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "bitflags", "parity-scale-codec", @@ -4220,7 +4740,7 @@ dependencies = [ [[package]] name = "pallet-contracts-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "proc-macro2", "quote", @@ -4252,7 +4772,7 @@ dependencies = [ [[package]] name = "pallet-identity" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "enumflags2", "frame-benchmarking", @@ -4268,7 +4788,7 @@ dependencies = [ [[package]] name = "pallet-multisig" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "frame-benchmarking", "frame-support", @@ -4284,7 +4804,7 @@ dependencies = [ [[package]] name = "pallet-nomination-pools" version = "1.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "frame-support", "frame-system", @@ -4301,7 +4821,7 @@ dependencies = [ [[package]] name = "pallet-nomination-pools-runtime-api" version = "1.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "parity-scale-codec", "sp-api", @@ -4311,7 +4831,7 @@ dependencies = [ [[package]] name = "pallet-randomness-collective-flip" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "frame-support", "frame-system", @@ -4325,7 +4845,7 @@ dependencies = [ [[package]] name = "pallet-scheduler" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "frame-support", "frame-system", @@ -4341,7 +4861,7 @@ dependencies = [ [[package]] name = "pallet-session" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "frame-support", "frame-system", @@ -4362,7 +4882,7 @@ dependencies = [ [[package]] name = "pallet-staking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -4384,7 +4904,7 @@ dependencies = [ [[package]] name = "pallet-sudo" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "frame-support", "frame-system", @@ -4398,7 +4918,7 @@ dependencies = [ [[package]] name = "pallet-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "frame-benchmarking", "frame-support", @@ -4416,7 +4936,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "frame-support", "frame-system", @@ -4432,7 +4952,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "jsonrpsee", "pallet-transaction-payment-rpc-runtime-api", @@ -4448,7 +4968,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc-runtime-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "pallet-transaction-payment", "parity-scale-codec", @@ -4460,7 +4980,7 @@ dependencies = [ [[package]] name = "pallet-treasury" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "frame-benchmarking", "frame-support", @@ -4477,7 +4997,7 @@ dependencies = [ [[package]] name = "pallet-utility" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "frame-benchmarking", "frame-support", @@ -4493,7 +5013,7 @@ dependencies = [ [[package]] name = "pallet-vesting" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "frame-benchmarking", "frame-support", @@ -4631,15 +5151,6 @@ version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d01a5bd0424d00070b0098dd17ebca6f961a959dead1dbcbbbc1d1cd8d3deeba" -[[package]] -name = "pbkdf2" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "216eaa586a190f0a738f2f918511eecfa90f13295abec0e457cdebcceda80cbd" -dependencies = [ - "crypto-mac 0.8.0", -] - [[package]] name = "pbkdf2" version = "0.8.0" @@ -4664,6 +5175,24 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099" +[[package]] +name = "pem" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8835c273a76a90455d7344889b0964598e3316e2a79ede8e36f16bdcf2228b8" +dependencies = [ + "base64 0.13.1", +] + +[[package]] +name = "pem-rfc7468" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24d159833a9105500e0398934e205e0773f0b27529557134ecfc51c27646adac" +dependencies = [ + "base64ct", +] + [[package]] name = "percent-encoding" version = "2.2.0" @@ -4771,6 +5300,17 @@ dependencies = [ "universal-hash", ] +[[package]] +name = "polyval" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eebcc4aa140b9abd2bc40d9c3f7ccec842679cd79045ac3a7ac698c1a064b7cd" +dependencies = [ + "cpuid-bool", + "opaque-debug 0.3.0", + "universal-hash", +] + [[package]] name = "polyval" version = "0.5.3" @@ -4971,9 +5511,9 @@ dependencies = [ [[package]] name = "prost-codec" -version = "0.2.0" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "011ae9ff8359df7915f97302d591cdd9e0e27fbd5a4ddc5bd13b71079bb20987" +checksum = "0dc34979ff898b6e141106178981ce2596c387ea6e62533facfc61a37fc879c0" dependencies = [ "asynchronous-codec", "bytes", @@ -5032,12 +5572,30 @@ dependencies = [ ] [[package]] -name = "quote" -version = "1.0.23" +name = "quinn-proto" +version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8856d8364d252a14d474036ea1358d63c9e6965c8e5c1885c18f73d70bff9c7b" +checksum = "72ef4ced82a24bb281af338b9e8f94429b6eca01b4e66d899f40031f074e74c9" dependencies = [ - "proc-macro2", + "bytes", + "rand 0.8.5", + "ring", + "rustc-hash", + "rustls 0.20.8", + "slab", + "thiserror", + "tinyvec", + "tracing", + "webpki 0.22.0", +] + +[[package]] +name = "quote" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8856d8364d252a14d474036ea1358d63c9e6965c8e5c1885c18f73d70bff9c7b" +dependencies = [ + "proc-macro2", ] [[package]] @@ -5057,7 +5615,6 @@ dependencies = [ "rand_chacha 0.2.2", "rand_core 0.5.1", "rand_hc", - "rand_pcg", ] [[package]] @@ -5130,11 +5687,11 @@ dependencies = [ [[package]] name = "rand_pcg" -version = "0.2.1" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16abd0c1b639e9eb4d7c50c0b8100b0d0f849be2349829c740fe8e6eb4816429" +checksum = "59cad018caf63deb318e5a4586d99a24424a364f40f1e5778c29aca23f4fc73e" dependencies = [ - "rand_core 0.5.1", + "rand_core 0.6.4", ] [[package]] @@ -5165,6 +5722,31 @@ dependencies = [ "num_cpus", ] +[[package]] +name = "rcgen" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6413f3de1edee53342e6138e75b56d32e7bc6e332b3bd62d497b1929d4cfbcdd" +dependencies = [ + "pem", + "ring", + "time 0.3.19", + "x509-parser 0.13.2", + "yasna", +] + +[[package]] +name = "rcgen" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffbe84efe2f38dea12e9bfc1f65377fdf03e53a18cb3b995faedf7934c7e785b" +dependencies = [ + "pem", + "ring", + "time 0.3.19", + "yasna", +] + [[package]] name = "redox_syscall" version = "0.2.16" @@ -5309,19 +5891,30 @@ dependencies = [ "winapi", ] +[[package]] +name = "rtcp" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1919efd6d4a6a85d13388f9487549bb8e359f17198cc03ffd72f79b553873691" +dependencies = [ + "bytes", + "thiserror", + "webrtc-util", +] + [[package]] name = "rtnetlink" version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "322c53fd76a18698f1c27381d58091de3a043d356aa5bd0d510608b565f469a0" dependencies = [ - "async-global-executor", "futures", "log", "netlink-packet-route", "netlink-proto", "nix", "thiserror", + "tokio", ] [[package]] @@ -5334,6 +5927,20 @@ dependencies = [ "winapi", ] +[[package]] +name = "rtp" +version = "0.6.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2a095411ff00eed7b12e4c6a118ba984d113e1079582570d56a5ee723f11f80" +dependencies = [ + "async-trait", + "bytes", + "rand 0.8.5", + "serde", + "thiserror", + "webrtc-util", +] + [[package]] name = "rustc-demangle" version = "0.1.21" @@ -5370,6 +5977,15 @@ dependencies = [ "semver 1.0.16", ] +[[package]] +name = "rusticata-macros" +version = "4.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "faf0c4a6ece9950b9abdb62b1cfcf2a68b3b67a10ba445b3bb85be2a293d0632" +dependencies = [ + "nom", +] + [[package]] name = "rustix" version = "0.35.13" @@ -5398,6 +6014,19 @@ dependencies = [ "windows-sys 0.45.0", ] +[[package]] +name = "rustls" +version = "0.19.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "35edb675feee39aec9c99fa5ff985081995a06d594114ae14cbe797ad7b7a6d7" +dependencies = [ + "base64 0.13.1", + "log", + "ring", + "sct 0.6.1", + "webpki 0.21.4", +] + [[package]] name = "rustls" version = "0.20.8" @@ -5406,8 +6035,8 @@ checksum = "fff78fc74d175294f4e83b28343315ffcfb114b156f0185e9741cb5570f50e2f" dependencies = [ "log", "ring", - "sct", - "webpki", + "sct 0.7.0", + "webpki 0.22.0", ] [[package]] @@ -5475,7 +6104,7 @@ dependencies = [ [[package]] name = "sc-allocator" version = "4.1.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "log", "sp-core", @@ -5486,7 +6115,7 @@ dependencies = [ [[package]] name = "sc-basic-authorship" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "futures", "futures-timer", @@ -5509,7 +6138,7 @@ dependencies = [ [[package]] name = "sc-block-builder" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "parity-scale-codec", "sc-client-api", @@ -5525,11 +6154,9 @@ dependencies = [ [[package]] name = "sc-chain-spec" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ - "impl-trait-for-tuples", "memmap2", - "parity-scale-codec", "sc-chain-spec-derive", "sc-network-common", "sc-telemetry", @@ -5542,7 +6169,7 @@ dependencies = [ [[package]] name = "sc-chain-spec-derive" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -5553,18 +6180,18 @@ dependencies = [ [[package]] name = "sc-cli" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "array-bytes", "chrono", "clap", "fdlimit", "futures", - "libp2p", + "libp2p 0.50.0", "log", "names", "parity-scale-codec", - "rand 0.7.3", + "rand 0.8.5", "regex", "rpassword", "sc-client-api", @@ -5586,18 +6213,17 @@ dependencies = [ "sp-runtime", "sp-version", "thiserror", - "tiny-bip39 0.8.2", + "tiny-bip39", "tokio", ] [[package]] name = "sc-client-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "fnv", "futures", - "hash-db", "log", "parity-scale-codec", "parking_lot 0.12.1", @@ -5614,14 +6240,13 @@ dependencies = [ "sp-runtime", "sp-state-machine", "sp-storage", - "sp-trie", "substrate-prometheus-endpoint", ] [[package]] name = "sc-client-db" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "hash-db", "kvdb", @@ -5646,12 +6271,12 @@ dependencies = [ [[package]] name = "sc-consensus" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "async-trait", "futures", "futures-timer", - "libp2p", + "libp2p 0.50.0", "log", "mockall", "parking_lot 0.12.1", @@ -5671,7 +6296,7 @@ dependencies = [ [[package]] name = "sc-consensus-aura" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "async-trait", "futures", @@ -5700,7 +6325,7 @@ dependencies = [ [[package]] name = "sc-consensus-slots" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "async-trait", "futures", @@ -5718,13 +6343,12 @@ dependencies = [ "sp-inherents", "sp-runtime", "sp-state-machine", - "thiserror", ] [[package]] name = "sc-executor" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "lru 0.8.1", "parity-scale-codec", @@ -5748,7 +6372,7 @@ dependencies = [ [[package]] name = "sc-executor-common" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "sc-allocator", "sp-maybe-compressed-blob", @@ -5761,7 +6385,7 @@ dependencies = [ [[package]] name = "sc-executor-wasmi" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "log", "sc-allocator", @@ -5774,7 +6398,7 @@ dependencies = [ [[package]] name = "sc-executor-wasmtime" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "cfg-if", "libc", @@ -5791,7 +6415,7 @@ dependencies = [ [[package]] name = "sc-informant" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "ansi_term", "futures", @@ -5799,7 +6423,6 @@ dependencies = [ "log", "sc-client-api", "sc-network-common", - "sc-transaction-pool-api", "sp-blockchain", "sp-runtime", ] @@ -5807,7 +6430,7 @@ dependencies = [ [[package]] name = "sc-keystore" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "array-bytes", "async-trait", @@ -5822,30 +6445,25 @@ dependencies = [ [[package]] name = "sc-network" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "array-bytes", "async-trait", "asynchronous-codec", - "bitflags", + "backtrace", "bytes", - "cid", "either", "fnv", - "fork-tree", "futures", "futures-timer", "ip_network", - "libp2p", - "linked-hash-map", - "linked_hash_set", + "libp2p 0.50.0", "log", "lru 0.8.1", "parity-scale-codec", "parking_lot 0.12.1", "pin-project", - "prost", - "rand 0.7.3", + "rand 0.8.5", "sc-block-builder", "sc-client-api", "sc-consensus", @@ -5869,11 +6487,11 @@ dependencies = [ [[package]] name = "sc-network-bitswap" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "cid", "futures", - "libp2p", + "libp2p 0.50.0", "log", "prost", "prost-build", @@ -5883,20 +6501,19 @@ dependencies = [ "sp-runtime", "thiserror", "unsigned-varint", - "void", ] [[package]] name = "sc-network-common" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "async-trait", "bitflags", "bytes", "futures", "futures-timer", - "libp2p", + "libp2p 0.50.0", "linked_hash_set", "parity-scale-codec", "prost-build", @@ -5915,11 +6532,11 @@ dependencies = [ [[package]] name = "sc-network-light" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "array-bytes", "futures", - "libp2p", + "libp2p 0.50.0", "log", "parity-scale-codec", "prost", @@ -5936,13 +6553,13 @@ dependencies = [ [[package]] name = "sc-network-sync" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "array-bytes", "async-trait", "fork-tree", "futures", - "libp2p", + "libp2p 0.50.0", "log", "lru 0.8.1", "mockall", @@ -5968,17 +6585,17 @@ dependencies = [ [[package]] name = "sc-network-transactions" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "array-bytes", "futures", - "hex", - "libp2p", + "libp2p 0.50.0", "log", "parity-scale-codec", "pin-project", "sc-network-common", "sc-peerset", + "sc-utils", "sp-consensus", "sp-runtime", "substrate-prometheus-endpoint", @@ -5987,7 +6604,7 @@ dependencies = [ [[package]] name = "sc-offchain" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "array-bytes", "bytes", @@ -5996,12 +6613,12 @@ dependencies = [ "futures-timer", "hyper", "hyper-rustls", - "libp2p", + "libp2p 0.50.0", "num_cpus", "once_cell", "parity-scale-codec", "parking_lot 0.12.1", - "rand 0.7.3", + "rand 0.8.5", "sc-client-api", "sc-network-common", "sc-peerset", @@ -6017,10 +6634,10 @@ dependencies = [ [[package]] name = "sc-peerset" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "futures", - "libp2p", + "libp2p 0.50.0", "log", "sc-utils", "serde_json", @@ -6030,7 +6647,7 @@ dependencies = [ [[package]] name = "sc-proposer-metrics" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "log", "substrate-prometheus-endpoint", @@ -6039,10 +6656,9 @@ dependencies = [ [[package]] name = "sc-rpc" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "futures", - "hash-db", "jsonrpsee", "log", "parity-scale-codec", @@ -6069,13 +6685,10 @@ dependencies = [ [[package]] name = "sc-rpc-api" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ - "futures", "jsonrpsee", - "log", "parity-scale-codec", - "parking_lot 0.12.1", "sc-chain-spec", "sc-transaction-pool-api", "scale-info", @@ -6084,7 +6697,6 @@ dependencies = [ "sp-core", "sp-rpc", "sp-runtime", - "sp-tracing", "sp-version", "thiserror", ] @@ -6092,9 +6704,8 @@ dependencies = [ [[package]] name = "sc-rpc-server" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ - "futures", "http", "jsonrpsee", "log", @@ -6108,39 +6719,45 @@ dependencies = [ [[package]] name = "sc-rpc-spec-v2" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ + "array-bytes", "futures", + "futures-util", "hex", "jsonrpsee", + "log", "parity-scale-codec", + "parking_lot 0.12.1", "sc-chain-spec", + "sc-client-api", "sc-transaction-pool-api", "serde", "sp-api", "sp-blockchain", "sp-core", "sp-runtime", + "sp-version", "thiserror", + "tokio-stream", ] [[package]] name = "sc-service" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "async-trait", "directories", "exit-future", "futures", "futures-timer", - "hash-db", "jsonrpsee", "log", "parity-scale-codec", "parking_lot 0.12.1", "pin-project", - "rand 0.7.3", + "rand 0.8.5", "sc-block-builder", "sc-chain-spec", "sc-client-api", @@ -6168,19 +6785,15 @@ dependencies = [ "serde", "serde_json", "sp-api", - "sp-application-crypto", - "sp-block-builder", "sp-blockchain", "sp-consensus", "sp-core", "sp-externalities", - "sp-inherents", "sp-keystore", "sp-runtime", "sp-session", "sp-state-machine", "sp-storage", - "sp-tracing", "sp-transaction-pool", "sp-transaction-storage-proof", "sp-trie", @@ -6197,24 +6810,23 @@ dependencies = [ [[package]] name = "sc-state-db" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "log", "parity-scale-codec", "parking_lot 0.12.1", - "sc-client-api", "sp-core", ] [[package]] name = "sc-sysinfo" version = "6.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "futures", "libc", "log", - "rand 0.7.3", + "rand 0.8.5", "rand_pcg", "regex", "sc-telemetry", @@ -6228,15 +6840,16 @@ dependencies = [ [[package]] name = "sc-telemetry" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "chrono", "futures", - "libp2p", + "libp2p 0.50.0", "log", "parking_lot 0.12.1", "pin-project", - "rand 0.7.3", + "rand 0.8.5", + "sc-utils", "serde", "serde_json", "thiserror", @@ -6246,7 +6859,7 @@ dependencies = [ [[package]] name = "sc-tracing" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "ansi_term", "atty", @@ -6277,7 +6890,7 @@ dependencies = [ [[package]] name = "sc-tracing-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -6288,7 +6901,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "async-trait", "futures", @@ -6314,7 +6927,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "async-trait", "futures", @@ -6328,8 +6941,9 @@ dependencies = [ [[package]] name = "sc-utils" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ + "backtrace", "futures", "futures-timer", "lazy_static", @@ -6403,6 +7017,16 @@ version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ddccb15bcce173023b3fedd9436f882a0739b8dfb45e4f6b6002bee5929f61b2" +[[package]] +name = "sct" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b362b83898e0e69f38515b82ee15aa80636befe47c3b6d3d89a911e78fc228ce" +dependencies = [ + "ring", + "untrusted", +] + [[package]] name = "sct" version = "0.7.0" @@ -6413,6 +7037,18 @@ dependencies = [ "untrusted", ] +[[package]] +name = "sdp" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4d22a5ef407871893fd72b4562ee15e4742269b173959db4b8df6f538c414e13" +dependencies = [ + "rand 0.8.5", + "substring", + "thiserror", + "url", +] + [[package]] name = "sec1" version = "0.3.0" @@ -6679,7 +7315,7 @@ version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "12ba5f4d4ff12bdb6a169ed51b7c48c0e0ac4b0b4b31012b2571e97d78d3201d" dependencies = [ - "aes-gcm", + "aes-gcm 0.9.4", "blake2", "chacha20poly1305", "curve25519-dalek 4.0.0-rc.0", @@ -6720,7 +7356,7 @@ dependencies = [ [[package]] name = "sp-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "hash-db", "log", @@ -6738,7 +7374,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "blake2", "proc-macro-crate", @@ -6750,7 +7386,7 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "parity-scale-codec", "scale-info", @@ -6763,14 +7399,13 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "integer-sqrt", "num-traits", "parity-scale-codec", "scale-info", "serde", - "sp-debug-derive", "sp-std", "static_assertions", ] @@ -6778,7 +7413,7 @@ dependencies = [ [[package]] name = "sp-authorship" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "async-trait", "parity-scale-codec", @@ -6790,7 +7425,7 @@ dependencies = [ [[package]] name = "sp-beefy" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "parity-scale-codec", "scale-info", @@ -6807,7 +7442,7 @@ dependencies = [ [[package]] name = "sp-block-builder" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "parity-scale-codec", "sp-api", @@ -6819,7 +7454,7 @@ dependencies = [ [[package]] name = "sp-blockchain" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "futures", "log", @@ -6837,11 +7472,10 @@ dependencies = [ [[package]] name = "sp-consensus" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "async-trait", "futures", - "futures-timer", "log", "parity-scale-codec", "sp-core", @@ -6856,7 +7490,7 @@ dependencies = [ [[package]] name = "sp-consensus-aura" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "async-trait", "parity-scale-codec", @@ -6874,7 +7508,7 @@ dependencies = [ [[package]] name = "sp-consensus-babe" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "async-trait", "merlin", @@ -6897,13 +7531,11 @@ dependencies = [ [[package]] name = "sp-consensus-slots" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-arithmetic", - "sp-runtime", "sp-std", "sp-timestamp", ] @@ -6911,7 +7543,7 @@ dependencies = [ [[package]] name = "sp-consensus-vrf" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "parity-scale-codec", "scale-info", @@ -6924,13 +7556,12 @@ dependencies = [ [[package]] name = "sp-core" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "array-bytes", "base58", "bitflags", "blake2", - "byteorder", "dyn-clonable", "ed25519-zebra", "futures", @@ -6941,11 +7572,10 @@ dependencies = [ "libsecp256k1", "log", "merlin", - "num-traits", "parity-scale-codec", "parking_lot 0.12.1", "primitive-types", - "rand 0.7.3", + "rand 0.8.5", "regex", "scale-info", "schnorrkel", @@ -6961,15 +7591,14 @@ dependencies = [ "ss58-registry", "substrate-bip39", "thiserror", - "tiny-bip39 0.8.2", - "wasmi 0.13.2", + "tiny-bip39", "zeroize", ] [[package]] name = "sp-core-hashing" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "blake2", "byteorder", @@ -6983,7 +7612,7 @@ dependencies = [ [[package]] name = "sp-core-hashing-proc-macro" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "proc-macro2", "quote", @@ -6994,7 +7623,7 @@ dependencies = [ [[package]] name = "sp-database" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "kvdb", "parking_lot 0.12.1", @@ -7003,7 +7632,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "proc-macro2", "quote", @@ -7013,7 +7642,7 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.13.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "environmental", "parity-scale-codec", @@ -7024,7 +7653,7 @@ dependencies = [ [[package]] name = "sp-finality-grandpa" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "finality-grandpa", "log", @@ -7042,7 +7671,7 @@ dependencies = [ [[package]] name = "sp-inherents" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "async-trait", "impl-trait-for-tuples", @@ -7056,16 +7685,15 @@ dependencies = [ [[package]] name = "sp-io" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "bytes", + "ed25519", "ed25519-dalek", "futures", - "hash-db", "libsecp256k1", "log", "parity-scale-codec", - "parking_lot 0.12.1", "secp256k1", "sp-core", "sp-externalities", @@ -7075,7 +7703,6 @@ dependencies = [ "sp-std", "sp-tracing", "sp-trie", - "sp-wasm-interface", "tracing", "tracing-core", ] @@ -7083,7 +7710,7 @@ dependencies = [ [[package]] name = "sp-keyring" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "lazy_static", "sp-core", @@ -7094,7 +7721,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.13.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "async-trait", "futures", @@ -7111,7 +7738,7 @@ dependencies = [ [[package]] name = "sp-maybe-compressed-blob" version = "4.1.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "thiserror", "zstd", @@ -7120,7 +7747,7 @@ dependencies = [ [[package]] name = "sp-mmr-primitives" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "ckb-merkle-mountain-range", "log", @@ -7138,7 +7765,7 @@ dependencies = [ [[package]] name = "sp-npos-elections" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "parity-scale-codec", "scale-info", @@ -7152,7 +7779,7 @@ dependencies = [ [[package]] name = "sp-offchain" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "sp-api", "sp-core", @@ -7162,7 +7789,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "backtrace", "lazy_static", @@ -7172,7 +7799,7 @@ dependencies = [ [[package]] name = "sp-rpc" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "rustc-hash", "serde", @@ -7182,7 +7809,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "either", "hash256-std-hasher", @@ -7190,7 +7817,7 @@ dependencies = [ "log", "parity-scale-codec", "paste", - "rand 0.7.3", + "rand 0.8.5", "scale-info", "serde", "sp-application-crypto", @@ -7204,7 +7831,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "bytes", "impl-trait-for-tuples", @@ -7222,7 +7849,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "Inflector", "proc-macro-crate", @@ -7234,7 +7861,7 @@ dependencies = [ [[package]] name = "sp-session" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "parity-scale-codec", "scale-info", @@ -7248,7 +7875,7 @@ dependencies = [ [[package]] name = "sp-staking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "parity-scale-codec", "scale-info", @@ -7260,14 +7887,13 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.13.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "hash-db", "log", - "num-traits", "parity-scale-codec", "parking_lot 0.12.1", - "rand 0.7.3", + "rand 0.8.5", "smallvec", "sp-core", "sp-externalities", @@ -7276,18 +7902,17 @@ dependencies = [ "sp-trie", "thiserror", "tracing", - "trie-root", ] [[package]] name = "sp-std" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" [[package]] name = "sp-storage" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "impl-serde", "parity-scale-codec", @@ -7300,13 +7925,12 @@ dependencies = [ [[package]] name = "sp-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "async-trait", "futures-timer", "log", "parity-scale-codec", - "sp-api", "sp-inherents", "sp-runtime", "sp-std", @@ -7316,7 +7940,7 @@ dependencies = [ [[package]] name = "sp-tracing" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "parity-scale-codec", "sp-std", @@ -7328,7 +7952,7 @@ dependencies = [ [[package]] name = "sp-transaction-pool" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "sp-api", "sp-runtime", @@ -7337,7 +7961,7 @@ dependencies = [ [[package]] name = "sp-transaction-storage-proof" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "async-trait", "log", @@ -7353,7 +7977,7 @@ dependencies = [ [[package]] name = "sp-trie" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "ahash", "hash-db", @@ -7376,7 +8000,7 @@ dependencies = [ [[package]] name = "sp-version" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "impl-serde", "parity-scale-codec", @@ -7393,7 +8017,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "parity-scale-codec", "proc-macro2", @@ -7404,7 +8028,7 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "impl-trait-for-tuples", "log", @@ -7417,9 +8041,8 @@ dependencies = [ [[package]] name = "sp-weights" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ - "impl-trait-for-tuples", "parity-scale-codec", "scale-info", "serde", @@ -7548,6 +8171,25 @@ dependencies = [ "syn", ] +[[package]] +name = "stun" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7e94b1ec00bad60e6410e058b52f1c66de3dc5fe4d62d09b3e52bb7d3b73e25" +dependencies = [ + "base64 0.13.1", + "crc", + "lazy_static", + "md-5", + "rand 0.8.5", + "ring", + "subtle", + "thiserror", + "tokio", + "url", + "webrtc-util", +] + [[package]] name = "substrate-bip39" version = "0.4.4" @@ -7564,7 +8206,7 @@ dependencies = [ [[package]] name = "substrate-build-script-utils" version = "3.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "platforms 2.0.0", ] @@ -7572,17 +8214,15 @@ dependencies = [ [[package]] name = "substrate-frame-rpc-system" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "frame-system-rpc-runtime-api", "futures", "jsonrpsee", "log", "parity-scale-codec", - "sc-client-api", "sc-rpc-api", "sc-transaction-pool-api", - "serde_json", "sp-api", "sp-block-builder", "sp-blockchain", @@ -7593,9 +8233,8 @@ dependencies = [ [[package]] name = "substrate-prometheus-endpoint" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ - "futures-util", "hyper", "log", "prometheus", @@ -7606,7 +8245,7 @@ dependencies = [ [[package]] name = "substrate-rpc-client" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "async-trait", "jsonrpsee", @@ -7619,7 +8258,7 @@ dependencies = [ [[package]] name = "substrate-test-client" version = "2.0.1" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "array-bytes", "async-trait", @@ -7645,7 +8284,7 @@ dependencies = [ [[package]] name = "substrate-test-runtime" version = "2.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "beefy-merkle-tree", "cfg-if", @@ -7688,7 +8327,7 @@ dependencies = [ [[package]] name = "substrate-test-runtime-client" version = "2.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "futures", "parity-scale-codec", @@ -7707,7 +8346,7 @@ dependencies = [ [[package]] name = "substrate-wasm-builder" version = "5.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "ansi_term", "build-helper", @@ -7721,6 +8360,15 @@ dependencies = [ "wasm-opt", ] +[[package]] +name = "substring" +version = "1.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42ee6433ecef213b2e72f587ef64a2f5943e7cd16fbd82dbe8bc07486c534c86" +dependencies = [ + "autocfg", +] + [[package]] name = "subtle" version = "2.4.1" @@ -7873,22 +8521,30 @@ dependencies = [ ] [[package]] -name = "tiny-bip39" -version = "0.8.2" +name = "time" +version = "0.3.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffc59cb9dfc85bb312c3a78fd6aa8a8582e310b0fa885d5bb877f6dcc601839d" +checksum = "53250a3b3fed8ff8fd988587d8925d26a83ac3845d9e03b220b37f34c2b8d6c2" dependencies = [ - "anyhow", - "hmac 0.8.1", - "once_cell", - "pbkdf2 0.4.0", - "rand 0.7.3", - "rustc-hash", - "sha2 0.9.9", - "thiserror", - "unicode-normalization", - "wasm-bindgen", - "zeroize", + "itoa", + "serde", + "time-core", + "time-macros", +] + +[[package]] +name = "time-core" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e153e1f1acaef8acc537e68b44906d2db6436e2b35ac2c6b42640fff91f00fd" + +[[package]] +name = "time-macros" +version = "0.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a460aeb8de6dcb0f381e1ee05f1cd56fcf5a5f6eb8187ff3d8f0b11078d38b7c" +dependencies = [ + "time-core", ] [[package]] @@ -7910,6 +8566,16 @@ dependencies = [ "zeroize", ] +[[package]] +name = "tinytemplate" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc" +dependencies = [ + "serde", + "serde_json", +] + [[package]] name = "tinyvec" version = "1.6.0" @@ -7962,9 +8628,9 @@ version = "0.23.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c43ee83903113e03984cb9e5cebe6c04a5116269e900e3ddba8f068a62adda59" dependencies = [ - "rustls", + "rustls 0.20.8", "tokio", - "webpki", + "webpki 0.22.0", ] [[package]] @@ -7976,6 +8642,7 @@ dependencies = [ "futures-core", "pin-project-lite 0.2.9", "tokio", + "tokio-util", ] [[package]] @@ -8171,6 +8838,7 @@ dependencies = [ "lazy_static", "rand 0.8.5", "smallvec", + "socket2", "thiserror", "tinyvec", "tokio", @@ -8207,7 +8875,7 @@ checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed" [[package]] name = "try-runtime-cli" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "clap", "frame-remote-externalities", @@ -8215,11 +8883,11 @@ dependencies = [ "hex", "log", "parity-scale-codec", - "sc-chain-spec", "sc-cli", "sc-executor", "sc-service", "serde", + "serde_json", "sp-api", "sp-core", "sp-debug-derive", @@ -8241,6 +8909,25 @@ version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f4f195fd851901624eee5a58c4bb2b4f06399148fcd0ed336e6f1cb60a9881df" +[[package]] +name = "turn" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4712ee30d123ec7ae26d1e1b218395a16c87cdbaf4b3925d170d684af62ea5e8" +dependencies = [ + "async-trait", + "base64 0.13.1", + "futures", + "log", + "md-5", + "rand 0.8.5", + "ring", + "stun", + "thiserror", + "tokio", + "webrtc-util", +] + [[package]] name = "twox-hash" version = "1.6.3" @@ -8343,6 +9030,15 @@ dependencies = [ "percent-encoding", ] +[[package]] +name = "uuid" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1674845326ee10d37ca60470760d4288a6f80f304007d92e5c53bab78c9cfd79" +dependencies = [ + "getrandom 0.2.8", +] + [[package]] name = "valuable" version = "0.1.0" @@ -8367,6 +9063,15 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d" +[[package]] +name = "waitgroup" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1f50000a783467e6c0200f9d10642f4bc424e39efc1b770203e88b488f79292" +dependencies = [ + "atomic-waker", +] + [[package]] name = "waker-fn" version = "1.1.0" @@ -8812,6 +9517,16 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "webpki" +version = "0.21.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8e38c0608262c46d4a56202ebabdeb094cef7e560ca7a226c6bf055188aa4ea" +dependencies = [ + "ring", + "untrusted", +] + [[package]] name = "webpki" version = "0.22.0" @@ -8828,7 +9543,219 @@ version = "0.22.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b6c71e40d7d2c34a5106301fb632274ca37242cd0c9d3e64dbece371a40a2d87" dependencies = [ - "webpki", + "webpki 0.22.0", +] + +[[package]] +name = "webrtc" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d3bc9049bdb2cea52f5fd4f6f728184225bdb867ed0dc2410eab6df5bdd67bb" +dependencies = [ + "arc-swap", + "async-trait", + "bytes", + "hex", + "interceptor", + "lazy_static", + "log", + "rand 0.8.5", + "rcgen 0.9.3", + "regex", + "ring", + "rtcp", + "rtp", + "rustls 0.19.1", + "sdp", + "serde", + "serde_json", + "sha2 0.10.6", + "stun", + "thiserror", + "time 0.3.19", + "tokio", + "turn", + "url", + "waitgroup", + "webrtc-data", + "webrtc-dtls", + "webrtc-ice", + "webrtc-mdns", + "webrtc-media", + "webrtc-sctp", + "webrtc-srtp", + "webrtc-util", +] + +[[package]] +name = "webrtc-data" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ef36a4d12baa6e842582fe9ec16a57184ba35e1a09308307b67d43ec8883100" +dependencies = [ + "bytes", + "derive_builder", + "log", + "thiserror", + "tokio", + "webrtc-sctp", + "webrtc-util", +] + +[[package]] +name = "webrtc-dtls" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7021987ae0a2ed6c8cd33f68e98e49bb6e74ffe9543310267b48a1bbe3900e5f" +dependencies = [ + "aes 0.6.0", + "aes-gcm 0.8.0", + "async-trait", + "bincode", + "block-modes", + "byteorder", + "ccm", + "curve25519-dalek 3.2.0", + "der-parser 8.1.0", + "elliptic-curve", + "hkdf", + "hmac 0.10.1", + "log", + "oid-registry 0.6.1", + "p256", + "p384", + "rand 0.8.5", + "rand_core 0.6.4", + "rcgen 0.9.3", + "ring", + "rustls 0.19.1", + "sec1", + "serde", + "sha-1", + "sha2 0.9.9", + "signature", + "subtle", + "thiserror", + "tokio", + "webpki 0.21.4", + "webrtc-util", + "x25519-dalek 2.0.0-pre.1", + "x509-parser 0.13.2", +] + +[[package]] +name = "webrtc-ice" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "465a03cc11e9a7d7b4f9f99870558fe37a102b65b93f8045392fef7c67b39e80" +dependencies = [ + "arc-swap", + "async-trait", + "crc", + "log", + "rand 0.8.5", + "serde", + "serde_json", + "stun", + "thiserror", + "tokio", + "turn", + "url", + "uuid", + "waitgroup", + "webrtc-mdns", + "webrtc-util", +] + +[[package]] +name = "webrtc-mdns" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f08dfd7a6e3987e255c4dbe710dde5d94d0f0574f8a21afa95d171376c143106" +dependencies = [ + "log", + "socket2", + "thiserror", + "tokio", + "webrtc-util", +] + +[[package]] +name = "webrtc-media" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee2a3c157a040324e5049bcbd644ffc9079e6738fa2cfab2bcff64e5cc4c00d7" +dependencies = [ + "byteorder", + "bytes", + "derive_builder", + "displaydoc", + "rand 0.8.5", + "rtp", + "thiserror", + "webrtc-util", +] + +[[package]] +name = "webrtc-sctp" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d47adcd9427eb3ede33d5a7f3424038f63c965491beafcc20bc650a2f6679c0" +dependencies = [ + "arc-swap", + "async-trait", + "bytes", + "crc", + "log", + "rand 0.8.5", + "thiserror", + "tokio", + "webrtc-util", +] + +[[package]] +name = "webrtc-srtp" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6183edc4c1c6c0175f8812eefdce84dfa0aea9c3ece71c2bf6ddd3c964de3da5" +dependencies = [ + "aead 0.4.3", + "aes 0.7.5", + "aes-gcm 0.9.4", + "async-trait", + "byteorder", + "bytes", + "ctr 0.8.0", + "hmac 0.11.0", + "log", + "rtcp", + "rtp", + "sha-1", + "subtle", + "thiserror", + "tokio", + "webrtc-util", +] + +[[package]] +name = "webrtc-util" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93f1db1727772c05cf7a2cfece52c3aca8045ca1e176cd517d323489aa3c6d87" +dependencies = [ + "async-trait", + "bitflags", + "bytes", + "cc", + "ipnet", + "lazy_static", + "libc", + "log", + "nix", + "rand 0.8.5", + "thiserror", + "tokio", + "winapi", ] [[package]] @@ -9084,6 +10011,54 @@ dependencies = [ "zeroize", ] +[[package]] +name = "x25519-dalek" +version = "2.0.0-pre.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5da623d8af10a62342bcbbb230e33e58a63255a58012f8653c578e54bab48df" +dependencies = [ + "curve25519-dalek 3.2.0", + "rand_core 0.6.4", + "zeroize", +] + +[[package]] +name = "x509-parser" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9fb9bace5b5589ffead1afb76e43e34cff39cd0f3ce7e170ae0c29e53b88eb1c" +dependencies = [ + "asn1-rs 0.3.1", + "base64 0.13.1", + "data-encoding", + "der-parser 7.0.0", + "lazy_static", + "nom", + "oid-registry 0.4.0", + "ring", + "rusticata-macros", + "thiserror", + "time 0.3.19", +] + +[[package]] +name = "x509-parser" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e0ecbeb7b67ce215e40e3cc7f2ff902f94a223acf44995934763467e7b1febc8" +dependencies = [ + "asn1-rs 0.5.1", + "base64 0.13.1", + "data-encoding", + "der-parser 8.1.0", + "lazy_static", + "nom", + "oid-registry 0.6.1", + "rusticata-macros", + "thiserror", + "time 0.3.19", +] + [[package]] name = "yamux" version = "0.10.2" @@ -9098,6 +10073,15 @@ dependencies = [ "static_assertions", ] +[[package]] +name = "yasna" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aed2e7a52e3744ab4d0c05c20aa065258e84c49fd4226f5191b2ed29712710b4" +dependencies = [ + "time 0.3.19", +] + [[package]] name = "zeroize" version = "1.5.7" diff --git a/aleph-client/Cargo.lock b/aleph-client/Cargo.lock index 7aea646f5c..0e5955769d 100644 --- a/aleph-client/Cargo.lock +++ b/aleph-client/Cargo.lock @@ -74,7 +74,7 @@ dependencies = [ "primitives", "serde", "serde_json", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "subxt", "thiserror", "tokio", @@ -909,7 +909,7 @@ dependencies = [ [[package]] name = "frame-support" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "bitflags", "frame-metadata", @@ -924,24 +924,24 @@ dependencies = [ "serde", "smallvec", "sp-api", - "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "sp-core-hashing-proc-macro", "sp-inherents", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "sp-staking", - "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "tt-call", ] [[package]] name = "frame-support-procedural" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "Inflector", "cfg-expr", @@ -955,7 +955,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate", @@ -967,7 +967,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "proc-macro2", "quote", @@ -2048,13 +2048,13 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "pallet-contracts-primitives" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "bitflags", "parity-scale-codec", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", ] [[package]] @@ -2169,6 +2169,15 @@ dependencies = [ "crypto-mac 0.11.1", ] +[[package]] +name = "pbkdf2" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "83a0692ec44e4cf1ef28ca317f14f8f07da2d95ec3fa01f86e4467b725e60917" +dependencies = [ + "digest 0.10.6", +] + [[package]] name = "percent-encoding" version = "2.2.0" @@ -2244,11 +2253,11 @@ dependencies = [ "scale-info", "serde", "sp-api", - "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "sp-staking", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", ] [[package]] @@ -2921,17 +2930,17 @@ dependencies = [ [[package]] name = "sp-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "hash-db", "log", "parity-scale-codec", "sp-api-proc-macro", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "sp-version", "thiserror", ] @@ -2939,7 +2948,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "blake2", "proc-macro-crate", @@ -2965,14 +2974,14 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", ] [[package]] @@ -2994,15 +3003,14 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "integer-sqrt", "num-traits", "parity-scale-codec", "scale-info", "serde", - "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "static_assertions", ] @@ -3047,7 +3055,7 @@ dependencies = [ "ss58-registry", "substrate-bip39", "thiserror", - "tiny-bip39", + "tiny-bip39 0.8.2", "wasmi", "zeroize", ] @@ -3055,13 +3063,12 @@ dependencies = [ [[package]] name = "sp-core" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "array-bytes", "base58", "bitflags", "blake2", - "byteorder", "dyn-clonable", "ed25519-zebra", "futures", @@ -3072,28 +3079,26 @@ dependencies = [ "libsecp256k1", "log", "merlin", - "num-traits", "parity-scale-codec", "parking_lot", "primitive-types", - "rand 0.7.3", + "rand 0.8.5", "regex", "scale-info", "schnorrkel", "secp256k1 0.24.3", "secrecy", "serde", - "sp-core-hashing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-core-hashing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "ss58-registry", "substrate-bip39", "thiserror", - "tiny-bip39", - "wasmi", + "tiny-bip39 1.0.0", "zeroize", ] @@ -3115,25 +3120,25 @@ dependencies = [ [[package]] name = "sp-core-hashing" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "blake2", "byteorder", "digest 0.10.6", "sha2 0.10.6", "sha3", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "twox-hash", ] [[package]] name = "sp-core-hashing-proc-macro" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "proc-macro2", "quote", - "sp-core-hashing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-core-hashing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "syn", ] @@ -3151,7 +3156,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "proc-macro2", "quote", @@ -3173,25 +3178,25 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.13.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "environmental", "parity-scale-codec", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", ] [[package]] name = "sp-inherents" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "async-trait", "impl-trait-for-tuples", "parity-scale-codec", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "thiserror", ] @@ -3225,26 +3230,24 @@ dependencies = [ [[package]] name = "sp-io" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "bytes", + "ed25519", "ed25519-dalek", "futures", - "hash-db", "libsecp256k1", "log", "parity-scale-codec", - "parking_lot", "secp256k1 0.24.3", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-keystore 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-wasm-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-keystore 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "tracing", "tracing-core", ] @@ -3269,7 +3272,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.13.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "async-trait", "futures", @@ -3277,8 +3280,8 @@ dependencies = [ "parity-scale-codec", "parking_lot", "schnorrkel", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "thiserror", ] @@ -3296,7 +3299,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "backtrace", "lazy_static", @@ -3330,7 +3333,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "either", "hash256-std-hasher", @@ -3338,15 +3341,15 @@ dependencies = [ "log", "parity-scale-codec", "paste", - "rand 0.7.3", + "rand 0.8.5", "scale-info", "serde", - "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", ] [[package]] @@ -3371,18 +3374,18 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "bytes", "impl-trait-for-tuples", "parity-scale-codec", "primitive-types", - "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-runtime-interface-proc-macro 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-wasm-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-runtime-interface-proc-macro 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-wasm-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "static_assertions", ] @@ -3402,7 +3405,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "Inflector", "proc-macro-crate", @@ -3414,13 +3417,13 @@ dependencies = [ [[package]] name = "sp-staking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "parity-scale-codec", "scale-info", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", ] [[package]] @@ -3449,23 +3452,21 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.13.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "hash-db", "log", - "num-traits", "parity-scale-codec", "parking_lot", - "rand 0.7.3", + "rand 0.8.5", "smallvec", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-panic-handler 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-panic-handler 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "thiserror", "tracing", - "trie-root", ] [[package]] @@ -3477,7 +3478,7 @@ checksum = "cf3fd4c1d304be101e6ebbafd3d4be9a37b320c970ef4e8df188b16873981c93" [[package]] name = "sp-std" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" [[package]] name = "sp-storage" @@ -3496,14 +3497,14 @@ dependencies = [ [[package]] name = "sp-storage" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "impl-serde", "parity-scale-codec", "ref-cast", "serde", - "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", ] [[package]] @@ -3522,10 +3523,10 @@ dependencies = [ [[package]] name = "sp-tracing" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "parity-scale-codec", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "tracing", "tracing-core", "tracing-subscriber", @@ -3558,7 +3559,7 @@ dependencies = [ [[package]] name = "sp-trie" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "ahash", "hash-db", @@ -3570,8 +3571,8 @@ dependencies = [ "parity-scale-codec", "parking_lot", "scale-info", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "thiserror", "tracing", "trie-db", @@ -3581,7 +3582,7 @@ dependencies = [ [[package]] name = "sp-version" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "impl-serde", "parity-scale-codec", @@ -3589,8 +3590,8 @@ dependencies = [ "scale-info", "serde", "sp-core-hashing-proc-macro", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "sp-version-proc-macro", "thiserror", ] @@ -3598,7 +3599,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "parity-scale-codec", "proc-macro2", @@ -3622,12 +3623,12 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "impl-trait-for-tuples", "log", "parity-scale-codec", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "wasmi", "wasmtime", ] @@ -3652,17 +3653,16 @@ dependencies = [ [[package]] name = "sp-weights" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ - "impl-trait-for-tuples", "parity-scale-codec", "scale-info", "serde", "smallvec", - "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", ] [[package]] @@ -3899,6 +3899,25 @@ dependencies = [ "zeroize", ] +[[package]] +name = "tiny-bip39" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62cc94d358b5a1e84a5cb9109f559aa3c4d634d2b1b4de3d0fa4adc7c78e2861" +dependencies = [ + "anyhow", + "hmac 0.12.1", + "once_cell", + "pbkdf2 0.11.0", + "rand 0.8.5", + "rustc-hash", + "sha2 0.10.6", + "thiserror", + "unicode-normalization", + "wasm-bindgen", + "zeroize", +] + [[package]] name = "tinyvec" version = "1.6.0" diff --git a/aleph-client/Cargo.toml b/aleph-client/Cargo.toml index 53b02b3085..ce7990ae91 100644 --- a/aleph-client/Cargo.toml +++ b/aleph-client/Cargo.toml @@ -20,9 +20,9 @@ subxt = "0.25.0" futures = "0.3.25" serde = { version = "1.0", features = ["derive"] } -frame-support = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -pallet-contracts-primitives = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +frame-support = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +pallet-contracts-primitives = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } primitives = { path = "../primitives" } [dev-dependencies] diff --git a/aleph-client/src/aleph_zero.rs b/aleph-client/src/aleph_zero.rs index 682deb8446..9649fdece5 100644 --- a/aleph-client/src/aleph_zero.rs +++ b/aleph-client/src/aleph_zero.rs @@ -735,10 +735,10 @@ pub mod api { "Events", vec![], [ - 216u8, 9u8, 134u8, 163u8, 54u8, 128u8, 220u8, 43u8, 43u8, 179u8, 114u8, - 84u8, 50u8, 83u8, 254u8, 52u8, 221u8, 241u8, 121u8, 101u8, 173u8, - 106u8, 44u8, 250u8, 183u8, 171u8, 221u8, 98u8, 96u8, 151u8, 31u8, - 195u8, + 100u8, 112u8, 231u8, 192u8, 184u8, 16u8, 59u8, 201u8, 45u8, 235u8, + 104u8, 44u8, 105u8, 65u8, 84u8, 78u8, 86u8, 161u8, 206u8, 209u8, 53u8, + 182u8, 73u8, 138u8, 118u8, 194u8, 88u8, 181u8, 76u8, 179u8, 207u8, + 180u8, ], ) } @@ -1183,9 +1183,9 @@ pub mod api { call: ::std::boxed::Box::new(call), }, [ - 92u8, 125u8, 1u8, 227u8, 15u8, 14u8, 163u8, 233u8, 121u8, 5u8, 80u8, - 172u8, 25u8, 62u8, 179u8, 250u8, 154u8, 221u8, 186u8, 7u8, 182u8, 60u8, - 110u8, 253u8, 117u8, 173u8, 7u8, 246u8, 230u8, 15u8, 25u8, 62u8, + 163u8, 73u8, 3u8, 157u8, 229u8, 239u8, 229u8, 245u8, 42u8, 233u8, 35u8, + 255u8, 125u8, 76u8, 97u8, 109u8, 13u8, 92u8, 70u8, 113u8, 28u8, 53u8, + 201u8, 76u8, 57u8, 76u8, 164u8, 2u8, 53u8, 46u8, 237u8, 242u8, ], ) } @@ -1229,10 +1229,10 @@ pub mod api { call: ::std::boxed::Box::new(call), }, [ - 192u8, 213u8, 182u8, 108u8, 161u8, 193u8, 232u8, 177u8, 178u8, 98u8, - 188u8, 130u8, 137u8, 228u8, 18u8, 154u8, 118u8, 212u8, 42u8, 70u8, - 245u8, 72u8, 54u8, 177u8, 161u8, 236u8, 11u8, 8u8, 129u8, 61u8, 8u8, - 252u8, + 84u8, 195u8, 200u8, 70u8, 66u8, 90u8, 128u8, 97u8, 43u8, 2u8, 252u8, + 53u8, 36u8, 196u8, 105u8, 165u8, 216u8, 220u8, 76u8, 163u8, 39u8, + 149u8, 178u8, 91u8, 166u8, 142u8, 155u8, 14u8, 31u8, 110u8, 167u8, + 158u8, ], ) } @@ -1277,9 +1277,9 @@ pub mod api { call: ::std::boxed::Box::new(call), }, [ - 84u8, 194u8, 155u8, 233u8, 100u8, 242u8, 158u8, 213u8, 203u8, 205u8, - 7u8, 88u8, 157u8, 248u8, 35u8, 110u8, 131u8, 45u8, 179u8, 121u8, 105u8, - 89u8, 157u8, 48u8, 119u8, 100u8, 101u8, 13u8, 85u8, 26u8, 11u8, 131u8, + 241u8, 215u8, 75u8, 40u8, 248u8, 168u8, 114u8, 76u8, 252u8, 51u8, 30u8, + 4u8, 5u8, 175u8, 87u8, 3u8, 109u8, 85u8, 176u8, 27u8, 23u8, 122u8, + 157u8, 18u8, 231u8, 3u8, 178u8, 224u8, 15u8, 240u8, 178u8, 239u8, ], ) } @@ -1310,10 +1310,10 @@ pub mod api { call: ::std::boxed::Box::new(call), }, [ - 2u8, 173u8, 159u8, 127u8, 215u8, 234u8, 101u8, 247u8, 196u8, 86u8, - 141u8, 160u8, 137u8, 183u8, 147u8, 152u8, 148u8, 59u8, 113u8, 198u8, - 167u8, 13u8, 46u8, 45u8, 37u8, 245u8, 173u8, 70u8, 96u8, 106u8, 127u8, - 106u8, + 42u8, 35u8, 170u8, 76u8, 223u8, 0u8, 152u8, 106u8, 208u8, 142u8, 156u8, + 112u8, 85u8, 40u8, 205u8, 241u8, 240u8, 86u8, 146u8, 11u8, 114u8, + 227u8, 138u8, 39u8, 57u8, 197u8, 240u8, 44u8, 251u8, 156u8, 130u8, + 171u8, ], ) } @@ -3200,6 +3200,17 @@ pub mod api { pub struct ForceApplyMinCommission { pub validator_stash: ::subxt::ext::sp_core::crypto::AccountId32, } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub struct SetMinCommission { + pub new: runtime_types::sp_arithmetic::per_things::Perbill, + } pub struct TransactionApi; impl TransactionApi { #[doc = "Take the origin account as a stash and lock up `value` of its balance. `controller` will"] @@ -3286,8 +3297,8 @@ pub mod api { #[doc = "the funds out of management ready for transfer."] #[doc = ""] #[doc = "No more than a limited number of unlocking chunks (see `MaxUnlockingChunks`)"] - #[doc = "can co-exists at the same time. In that case, [`Call::withdraw_unbonded`] need"] - #[doc = "to be called first to remove some of the chunks (if possible)."] + #[doc = "can co-exists at the same time. If there are no unlocking chunks slots available"] + #[doc = "[`Call::withdraw_unbonded`] is called to remove some of the chunks (if possible)."] #[doc = ""] #[doc = "If a user encounters the `InsufficientBond` error when calling this extrinsic,"] #[doc = "they should call `chill` first in order to free up their bonded funds."] @@ -3678,7 +3689,7 @@ pub mod api { } #[doc = "Cancel enactment of a deferred slash."] #[doc = ""] - #[doc = "Can be called by the `T::SlashCancelOrigin`."] + #[doc = "Can be called by the `T::AdminOrigin`."] #[doc = ""] #[doc = "Parameters: era and indices of the slashes for that era to kill."] pub fn cancel_deferred_slash( @@ -3942,6 +3953,26 @@ pub mod api { ], ) } + #[doc = "Sets the minimum amount of commission that each validators must maintain."] + #[doc = ""] + #[doc = "This call has lower privilege requirements than `set_staking_config` and can be called"] + #[doc = "by the `T::AdminOrigin`. Root can always call this."] + pub fn set_min_commission( + &self, + new: runtime_types::sp_arithmetic::per_things::Perbill, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Staking", + "set_min_commission", + SetMinCommission { new }, + [ + 62u8, 139u8, 175u8, 245u8, 212u8, 113u8, 117u8, 130u8, 191u8, 173u8, + 78u8, 97u8, 19u8, 104u8, 185u8, 207u8, 201u8, 14u8, 200u8, 208u8, + 184u8, 195u8, 242u8, 175u8, 158u8, 156u8, 51u8, 58u8, 118u8, 154u8, + 68u8, 221u8, + ], + ) + } } } #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] @@ -3992,7 +4023,7 @@ pub mod api { Eq, PartialEq, )] - #[doc = "One staker (and potentially its nominators) has been slashed by the given amount."] + #[doc = "A staker (validator or nominator) has been slashed by the given amount."] pub struct Slashed { pub staker: ::subxt::ext::sp_core::crypto::AccountId32, pub amount: ::core::primitive::u128, @@ -4001,6 +4032,25 @@ pub mod api { const PALLET: &'static str = "Staking"; const EVENT: &'static str = "Slashed"; } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "A slash for the given validator, for the given percentage of their stake, at the given"] + #[doc = "era as been reported."] + pub struct SlashReported { + pub validator: ::subxt::ext::sp_core::crypto::AccountId32, + pub fraction: runtime_types::sp_arithmetic::per_things::Perbill, + pub slash_era: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for SlashReported { + const PALLET: &'static str = "Staking"; + const EVENT: &'static str = "SlashReported"; + } #[derive( :: subxt :: ext :: codec :: CompactAs, :: subxt :: ext :: codec :: Decode, @@ -4169,6 +4219,22 @@ pub mod api { const PALLET: &'static str = "Staking"; const EVENT: &'static str = "ValidatorPrefsSet"; } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "A new force era mode was set."] + pub struct ForceEra { + pub mode: runtime_types::pallet_staking::Forcing, + } + impl ::subxt::events::StaticEvent for ForceEra { + const PALLET: &'static str = "Staking"; + const EVENT: &'static str = "ForceEra"; + } } pub mod storage { use super::runtime_types; @@ -4239,6 +4305,8 @@ pub mod api { ) } #[doc = " Map from all locked \"stash\" accounts to the controller account."] + #[doc = ""] + #[doc = " TWOX-NOTE: SAFE since `AccountId` is a secure hash."] pub fn bonded( &self, _0: impl ::std::borrow::Borrow<::subxt::ext::sp_core::crypto::AccountId32>, @@ -4263,6 +4331,8 @@ pub mod api { ) } #[doc = " Map from all locked \"stash\" accounts to the controller account."] + #[doc = ""] + #[doc = " TWOX-NOTE: SAFE since `AccountId` is a secure hash."] pub fn bonded_root( &self, ) -> ::subxt::storage::address::StaticStorageAddress< @@ -4322,6 +4392,26 @@ pub mod api { ], ) } + #[doc = " The minimum active nominator stake of the last successful election."] + pub fn minimum_active_stake( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Staking", + "MinimumActiveStake", + vec![], + [ + 172u8, 190u8, 228u8, 47u8, 47u8, 192u8, 182u8, 59u8, 9u8, 18u8, 103u8, + 46u8, 175u8, 54u8, 17u8, 79u8, 89u8, 107u8, 255u8, 200u8, 182u8, 107u8, + 89u8, 157u8, 55u8, 16u8, 77u8, 46u8, 154u8, 169u8, 103u8, 151u8, + ], + ) + } #[doc = " The minimum amount of commission that validators can set."] #[doc = ""] #[doc = " If set to `0`, no limit exists."] @@ -4397,6 +4487,8 @@ pub mod api { ) } #[doc = " Where the reward payment should be made. Keyed by stash."] + #[doc = ""] + #[doc = " TWOX-NOTE: SAFE since `AccountId` is a secure hash."] pub fn payee( &self, _0: impl ::std::borrow::Borrow<::subxt::ext::sp_core::crypto::AccountId32>, @@ -4426,6 +4518,8 @@ pub mod api { ) } #[doc = " Where the reward payment should be made. Keyed by stash."] + #[doc = ""] + #[doc = " TWOX-NOTE: SAFE since `AccountId` is a secure hash."] pub fn payee_root( &self, ) -> ::subxt::storage::address::StaticStorageAddress< @@ -4451,6 +4545,8 @@ pub mod api { ) } #[doc = " The map from (wannabe) validator stash key to the preferences of that validator."] + #[doc = ""] + #[doc = " TWOX-NOTE: SAFE since `AccountId` is a secure hash."] pub fn validators( &self, _0: impl ::std::borrow::Borrow<::subxt::ext::sp_core::crypto::AccountId32>, @@ -4478,6 +4574,8 @@ pub mod api { ) } #[doc = " The map from (wannabe) validator stash key to the preferences of that validator."] + #[doc = ""] + #[doc = " TWOX-NOTE: SAFE since `AccountId` is a secure hash."] pub fn validators_root( &self, ) -> ::subxt::storage::address::StaticStorageAddress< @@ -4558,6 +4656,8 @@ pub mod api { #[doc = ""] #[doc = " Lastly, if any of the nominators become non-decodable, they can be chilled immediately via"] #[doc = " [`Call::chill_other`] dispatchable by anyone."] + #[doc = ""] + #[doc = " TWOX-NOTE: SAFE since `AccountId` is a secure hash."] pub fn nominators( &self, _0: impl ::std::borrow::Borrow<::subxt::ext::sp_core::crypto::AccountId32>, @@ -4598,6 +4698,8 @@ pub mod api { #[doc = ""] #[doc = " Lastly, if any of the nominators become non-decodable, they can be chilled immediately via"] #[doc = " [`Call::chill_other`] dispatchable by anyone."] + #[doc = ""] + #[doc = " TWOX-NOTE: SAFE since `AccountId` is a secure hash."] pub fn nominators_root( &self, ) -> ::subxt::storage::address::StaticStorageAddress< @@ -5547,29 +5649,6 @@ pub mod api { ], ) } - #[doc = " True if network has been upgraded to this version."] - #[doc = " Storage version of the pallet."] - #[doc = ""] - #[doc = " This is set to v7.0.0 for new networks."] - pub fn storage_version( - &self, - ) -> ::subxt::storage::address::StaticStorageAddress< - ::subxt::metadata::DecodeStaticType, - ::subxt::storage::address::Yes, - ::subxt::storage::address::Yes, - (), - > { - ::subxt::storage::address::StaticStorageAddress::new( - "Staking", - "StorageVersion", - vec![], - [ - 70u8, 24u8, 179u8, 189u8, 168u8, 164u8, 175u8, 150u8, 215u8, 43u8, - 18u8, 110u8, 180u8, 137u8, 237u8, 187u8, 185u8, 50u8, 31u8, 57u8, 16u8, - 110u8, 6u8, 170u8, 19u8, 7u8, 160u8, 134u8, 232u8, 227u8, 151u8, 116u8, - ], - ) - } #[doc = " The threshold for when users can start calling `chill_other` for other validators /"] #[doc = " nominators. The threshold is compared to the actual number of validators / nominators"] #[doc = " (`CountFor*`) in the system compared to the configured max (`Max*Count`)."] @@ -6326,10 +6405,10 @@ pub mod api { "NextAuthorities", vec![], [ - 217u8, 12u8, 37u8, 222u8, 249u8, 100u8, 15u8, 59u8, 130u8, 255u8, 34u8, - 57u8, 211u8, 50u8, 162u8, 96u8, 130u8, 157u8, 168u8, 15u8, 137u8, - 228u8, 136u8, 35u8, 18u8, 234u8, 43u8, 190u8, 78u8, 112u8, 186u8, - 203u8, + 120u8, 66u8, 194u8, 154u8, 194u8, 127u8, 75u8, 106u8, 59u8, 172u8, + 86u8, 242u8, 209u8, 110u8, 207u8, 132u8, 69u8, 73u8, 186u8, 235u8, + 95u8, 97u8, 117u8, 132u8, 76u8, 96u8, 86u8, 87u8, 74u8, 232u8, 91u8, + 120u8, ], ) } @@ -7412,6 +7491,23 @@ pub mod api { const PALLET: &'static str = "Treasury"; const EVENT: &'static str = "SpendApproved"; } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + #[doc = "The inactive funds of the pallet have been updated."] + pub struct UpdatedInactive { + pub reactivated: ::core::primitive::u128, + pub deactivated: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for UpdatedInactive { + const PALLET: &'static str = "Treasury"; + const EVENT: &'static str = "UpdatedInactive"; + } } pub mod storage { use super::runtime_types; @@ -7493,7 +7589,7 @@ pub mod api { ) } #[doc = " The amount which has been reported as inactive to Currency."] - pub fn inactive( + pub fn deactivated( &self, ) -> ::subxt::storage::address::StaticStorageAddress< ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, @@ -7503,12 +7599,12 @@ pub mod api { > { ::subxt::storage::address::StaticStorageAddress::new( "Treasury", - "Inactive", + "Deactivated", vec![], [ - 240u8, 100u8, 242u8, 40u8, 169u8, 252u8, 255u8, 248u8, 66u8, 157u8, - 165u8, 206u8, 229u8, 145u8, 80u8, 73u8, 237u8, 44u8, 72u8, 76u8, 101u8, - 215u8, 87u8, 33u8, 252u8, 224u8, 54u8, 138u8, 79u8, 99u8, 225u8, 34u8, + 159u8, 57u8, 5u8, 85u8, 136u8, 128u8, 70u8, 43u8, 67u8, 76u8, 123u8, + 206u8, 48u8, 253u8, 51u8, 40u8, 14u8, 35u8, 162u8, 173u8, 127u8, 79u8, + 38u8, 235u8, 9u8, 141u8, 201u8, 37u8, 211u8, 176u8, 119u8, 106u8, ], ) } @@ -8211,9 +8307,9 @@ pub mod api { "batch", Batch { calls }, [ - 4u8, 79u8, 14u8, 89u8, 76u8, 13u8, 179u8, 170u8, 208u8, 214u8, 44u8, - 217u8, 82u8, 8u8, 48u8, 198u8, 107u8, 107u8, 58u8, 177u8, 224u8, 192u8, - 37u8, 183u8, 144u8, 157u8, 150u8, 218u8, 150u8, 215u8, 23u8, 21u8, + 253u8, 30u8, 32u8, 31u8, 20u8, 172u8, 133u8, 153u8, 122u8, 253u8, 33u8, + 58u8, 22u8, 223u8, 93u8, 96u8, 179u8, 187u8, 213u8, 219u8, 89u8, 176u8, + 23u8, 128u8, 70u8, 236u8, 175u8, 3u8, 77u8, 235u8, 220u8, 193u8, ], ) } @@ -8243,9 +8339,9 @@ pub mod api { call: ::std::boxed::Box::new(call), }, [ - 7u8, 47u8, 218u8, 3u8, 40u8, 163u8, 23u8, 24u8, 4u8, 156u8, 217u8, - 61u8, 124u8, 186u8, 56u8, 1u8, 128u8, 28u8, 220u8, 39u8, 201u8, 122u8, - 78u8, 247u8, 135u8, 191u8, 25u8, 173u8, 191u8, 187u8, 28u8, 66u8, + 245u8, 248u8, 227u8, 228u8, 1u8, 178u8, 195u8, 152u8, 185u8, 209u8, + 117u8, 173u8, 163u8, 17u8, 158u8, 78u8, 81u8, 25u8, 83u8, 49u8, 83u8, + 166u8, 21u8, 254u8, 35u8, 86u8, 143u8, 154u8, 56u8, 151u8, 27u8, 233u8, ], ) } @@ -8272,10 +8368,10 @@ pub mod api { "batch_all", BatchAll { calls }, [ - 50u8, 252u8, 99u8, 89u8, 154u8, 233u8, 232u8, 100u8, 115u8, 42u8, - 165u8, 26u8, 84u8, 211u8, 84u8, 189u8, 23u8, 63u8, 251u8, 87u8, 188u8, - 156u8, 174u8, 148u8, 22u8, 217u8, 238u8, 193u8, 120u8, 13u8, 12u8, - 139u8, + 225u8, 123u8, 156u8, 170u8, 226u8, 179u8, 43u8, 231u8, 221u8, 106u8, + 232u8, 59u8, 142u8, 147u8, 245u8, 91u8, 24u8, 200u8, 20u8, 82u8, 226u8, + 213u8, 217u8, 162u8, 254u8, 213u8, 56u8, 5u8, 246u8, 181u8, 188u8, + 168u8, ], ) } @@ -8302,9 +8398,9 @@ pub mod api { call: ::std::boxed::Box::new(call), }, [ - 6u8, 14u8, 186u8, 198u8, 179u8, 173u8, 43u8, 37u8, 192u8, 199u8, 201u8, - 38u8, 182u8, 124u8, 116u8, 16u8, 59u8, 96u8, 18u8, 64u8, 188u8, 205u8, - 126u8, 253u8, 144u8, 82u8, 131u8, 229u8, 215u8, 49u8, 120u8, 166u8, + 159u8, 76u8, 58u8, 40u8, 136u8, 99u8, 98u8, 253u8, 150u8, 94u8, 116u8, + 200u8, 101u8, 114u8, 143u8, 183u8, 58u8, 66u8, 4u8, 17u8, 245u8, 195u8, + 43u8, 209u8, 169u8, 37u8, 55u8, 71u8, 146u8, 119u8, 149u8, 115u8, ], ) } @@ -8331,9 +8427,10 @@ pub mod api { "force_batch", ForceBatch { calls }, [ - 194u8, 191u8, 203u8, 57u8, 25u8, 76u8, 67u8, 192u8, 237u8, 58u8, 255u8, - 253u8, 157u8, 172u8, 201u8, 163u8, 248u8, 68u8, 76u8, 152u8, 104u8, - 74u8, 93u8, 26u8, 72u8, 135u8, 185u8, 109u8, 166u8, 138u8, 103u8, 38u8, + 159u8, 217u8, 163u8, 140u8, 146u8, 206u8, 206u8, 198u8, 142u8, 164u8, + 187u8, 93u8, 130u8, 243u8, 153u8, 50u8, 118u8, 157u8, 145u8, 3u8, 67u8, + 120u8, 51u8, 157u8, 134u8, 136u8, 159u8, 29u8, 227u8, 240u8, 151u8, + 155u8, ], ) } @@ -8356,9 +8453,9 @@ pub mod api { weight, }, [ - 223u8, 35u8, 6u8, 230u8, 108u8, 3u8, 69u8, 75u8, 64u8, 207u8, 82u8, - 78u8, 73u8, 120u8, 215u8, 161u8, 58u8, 242u8, 237u8, 123u8, 33u8, - 112u8, 0u8, 219u8, 104u8, 134u8, 73u8, 20u8, 64u8, 158u8, 73u8, 236u8, + 75u8, 40u8, 26u8, 228u8, 66u8, 36u8, 170u8, 110u8, 225u8, 120u8, 157u8, + 81u8, 64u8, 160u8, 182u8, 120u8, 255u8, 8u8, 40u8, 217u8, 144u8, 165u8, + 62u8, 166u8, 68u8, 174u8, 11u8, 108u8, 23u8, 95u8, 209u8, 248u8, ], ) } @@ -8582,10 +8679,9 @@ pub mod api { call: ::std::boxed::Box::new(call), }, [ - 74u8, 40u8, 223u8, 109u8, 231u8, 102u8, 200u8, 9u8, 197u8, 219u8, - 140u8, 137u8, 229u8, 43u8, 163u8, 217u8, 46u8, 90u8, 181u8, 235u8, - 142u8, 218u8, 162u8, 137u8, 26u8, 102u8, 248u8, 114u8, 140u8, 20u8, - 186u8, 212u8, + 25u8, 13u8, 214u8, 120u8, 72u8, 127u8, 224u8, 255u8, 198u8, 111u8, + 95u8, 106u8, 148u8, 10u8, 8u8, 74u8, 106u8, 5u8, 78u8, 66u8, 232u8, + 26u8, 158u8, 87u8, 190u8, 229u8, 169u8, 97u8, 11u8, 118u8, 117u8, 86u8, ], ) } @@ -8655,9 +8751,10 @@ pub mod api { max_weight, }, [ - 117u8, 8u8, 22u8, 74u8, 40u8, 91u8, 241u8, 193u8, 81u8, 172u8, 187u8, - 127u8, 95u8, 132u8, 65u8, 20u8, 183u8, 248u8, 17u8, 66u8, 228u8, 219u8, - 244u8, 181u8, 141u8, 92u8, 137u8, 124u8, 94u8, 58u8, 76u8, 109u8, + 29u8, 185u8, 118u8, 85u8, 35u8, 204u8, 254u8, 30u8, 169u8, 158u8, + 140u8, 49u8, 222u8, 30u8, 230u8, 50u8, 235u8, 19u8, 58u8, 192u8, 167u8, + 139u8, 61u8, 254u8, 123u8, 76u8, 12u8, 114u8, 167u8, 55u8, 198u8, + 200u8, ], ) } @@ -9069,9 +9166,9 @@ pub mod api { call: ::std::boxed::Box::new(call), }, [ - 142u8, 65u8, 169u8, 88u8, 195u8, 0u8, 195u8, 187u8, 24u8, 100u8, 175u8, - 34u8, 121u8, 202u8, 49u8, 0u8, 132u8, 155u8, 208u8, 40u8, 177u8, 125u8, - 100u8, 143u8, 110u8, 49u8, 20u8, 194u8, 255u8, 3u8, 196u8, 4u8, + 68u8, 94u8, 245u8, 14u8, 65u8, 18u8, 181u8, 119u8, 41u8, 253u8, 14u8, + 26u8, 104u8, 130u8, 47u8, 86u8, 174u8, 125u8, 24u8, 31u8, 134u8, 221u8, + 142u8, 116u8, 62u8, 184u8, 66u8, 234u8, 78u8, 126u8, 233u8, 98u8, ], ) } @@ -9098,10 +9195,10 @@ pub mod api { weight, }, [ - 49u8, 4u8, 201u8, 123u8, 217u8, 74u8, 119u8, 132u8, 164u8, 102u8, 15u8, - 144u8, 128u8, 119u8, 167u8, 125u8, 218u8, 113u8, 70u8, 220u8, 137u8, - 201u8, 174u8, 190u8, 45u8, 218u8, 145u8, 131u8, 44u8, 109u8, 215u8, - 216u8, + 216u8, 132u8, 15u8, 247u8, 186u8, 238u8, 243u8, 162u8, 253u8, 231u8, + 39u8, 133u8, 246u8, 126u8, 140u8, 182u8, 18u8, 255u8, 141u8, 101u8, + 148u8, 25u8, 49u8, 7u8, 226u8, 50u8, 130u8, 216u8, 92u8, 165u8, 32u8, + 40u8, ], ) } @@ -9160,9 +9257,9 @@ pub mod api { call: ::std::boxed::Box::new(call), }, [ - 10u8, 158u8, 160u8, 60u8, 57u8, 102u8, 9u8, 180u8, 124u8, 113u8, 4u8, - 94u8, 164u8, 212u8, 38u8, 165u8, 25u8, 70u8, 50u8, 52u8, 135u8, 150u8, - 18u8, 56u8, 143u8, 99u8, 90u8, 42u8, 37u8, 79u8, 167u8, 166u8, + 59u8, 58u8, 109u8, 112u8, 202u8, 173u8, 224u8, 161u8, 95u8, 93u8, + 188u8, 120u8, 195u8, 60u8, 216u8, 97u8, 59u8, 23u8, 70u8, 110u8, 185u8, + 29u8, 198u8, 234u8, 134u8, 222u8, 99u8, 4u8, 62u8, 6u8, 156u8, 112u8, ], ) } @@ -10191,10 +10288,9 @@ pub mod api { "Contracts", "Schedule", [ - 216u8, 143u8, 244u8, 2u8, 98u8, 169u8, 138u8, 243u8, 202u8, 101u8, - 180u8, 250u8, 10u8, 166u8, 10u8, 41u8, 46u8, 154u8, 236u8, 105u8, 55u8, - 175u8, 64u8, 31u8, 188u8, 56u8, 255u8, 25u8, 170u8, 198u8, 178u8, - 133u8, + 203u8, 98u8, 182u8, 130u8, 165u8, 6u8, 149u8, 28u8, 44u8, 67u8, 79u8, + 25u8, 47u8, 191u8, 183u8, 41u8, 65u8, 129u8, 135u8, 29u8, 178u8, 224u8, + 196u8, 247u8, 58u8, 215u8, 101u8, 35u8, 77u8, 233u8, 60u8, 155u8, ], ) } @@ -10353,6 +10449,23 @@ pub mod api { ], ) } + #[doc = " The maximum length of the debug buffer in bytes."] + pub fn max_debug_buffer_len( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "Contracts", + "MaxDebugBufferLen", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } } } } @@ -10672,9 +10785,12 @@ pub mod api { #[doc = "# Note"] #[doc = ""] #[doc = "If there are too many unlocking chunks to unbond with the pool account,"] - #[doc = "[`Call::pool_withdraw_unbonded`] can be called to try and minimize unlocking chunks. If"] - #[doc = "there are too many unlocking chunks, the result of this call will likely be the"] - #[doc = "`NoMoreChunks` error from the staking system."] + #[doc = "[`Call::pool_withdraw_unbonded`] can be called to try and minimize unlocking chunks."] + #[doc = "The [`StakingInterface::unbond`] will implicitly call [`Call::pool_withdraw_unbonded`]"] + #[doc = "to try to free chunks if necessary (ie. if unbound was called and no unlocking chunks"] + #[doc = "are available). However, it may not be possible to release the current unlocking chunks,"] + #[doc = "in which case, the result of this call will likely be the `NoMoreChunks` error from the"] + #[doc = "staking system."] pub fn unbond( &self, member_account: ::subxt::ext::sp_runtime::MultiAddress< @@ -11369,6 +11485,8 @@ pub mod api { ) } #[doc = " Active members."] + #[doc = ""] + #[doc = " TWOX-NOTE: SAFE since `AccountId` is a secure hash."] pub fn pool_members( &self, _0: impl ::std::borrow::Borrow<::subxt::ext::sp_core::crypto::AccountId32>, @@ -11396,6 +11514,8 @@ pub mod api { ) } #[doc = " Active members."] + #[doc = ""] + #[doc = " TWOX-NOTE: SAFE since `AccountId` is a secure hash."] pub fn pool_members_root( &self, ) -> ::subxt::storage::address::StaticStorageAddress< @@ -14562,6 +14682,7 @@ pub mod api { pub call_per_cloned_byte: ::core::primitive::u64, pub instantiate: ::core::primitive::u64, pub instantiate_transfer_surcharge: ::core::primitive::u64, + pub instantiate_per_input_byte: ::core::primitive::u64, pub instantiate_per_salt_byte: ::core::primitive::u64, pub hash_sha2_256: ::core::primitive::u64, pub hash_sha2_256_per_byte: ::core::primitive::u64, @@ -14651,7 +14772,6 @@ pub mod api { )] pub struct Limits { pub event_topics: ::core::primitive::u32, - pub stack_height: ::core::option::Option<::core::primitive::u32>, pub globals: ::core::primitive::u32, pub locals: ::core::primitive::u32, pub parameters: ::core::primitive::u32, @@ -15941,9 +16061,12 @@ pub mod api { #[doc = "# Note"] #[doc = ""] #[doc = "If there are too many unlocking chunks to unbond with the pool account,"] - #[doc = "[`Call::pool_withdraw_unbonded`] can be called to try and minimize unlocking chunks. If"] - #[doc = "there are too many unlocking chunks, the result of this call will likely be the"] - #[doc = "`NoMoreChunks` error from the staking system."] + #[doc = "[`Call::pool_withdraw_unbonded`] can be called to try and minimize unlocking chunks."] + #[doc = "The [`StakingInterface::unbond`] will implicitly call [`Call::pool_withdraw_unbonded`]"] + #[doc = "to try to free chunks if necessary (ie. if unbound was called and no unlocking chunks"] + #[doc = "are available). However, it may not be possible to release the current unlocking chunks,"] + #[doc = "in which case, the result of this call will likely be the `NoMoreChunks` error from the"] + #[doc = "staking system."] unbond { member_account: ::subxt::ext::sp_runtime::MultiAddress< ::subxt::ext::sp_core::crypto::AccountId32, @@ -16839,8 +16962,8 @@ pub mod api { #[doc = "the funds out of management ready for transfer."] #[doc = ""] #[doc = "No more than a limited number of unlocking chunks (see `MaxUnlockingChunks`)"] - #[doc = "can co-exists at the same time. In that case, [`Call::withdraw_unbonded`] need"] - #[doc = "to be called first to remove some of the chunks (if possible)."] + #[doc = "can co-exists at the same time. If there are no unlocking chunks slots available"] + #[doc = "[`Call::withdraw_unbonded`] is called to remove some of the chunks (if possible)."] #[doc = ""] #[doc = "If a user encounters the `InsufficientBond` error when calling this extrinsic,"] #[doc = "they should call `chill` first in order to free up their bonded funds."] @@ -17061,7 +17184,7 @@ pub mod api { #[codec(index = 17)] #[doc = "Cancel enactment of a deferred slash."] #[doc = ""] - #[doc = "Can be called by the `T::SlashCancelOrigin`."] + #[doc = "Can be called by the `T::AdminOrigin`."] #[doc = ""] #[doc = "Parameters: era and indices of the slashes for that era to kill."] cancel_deferred_slash { @@ -17225,6 +17348,14 @@ pub mod api { force_apply_min_commission { validator_stash: ::subxt::ext::sp_core::crypto::AccountId32, }, + #[codec(index = 25)] + #[doc = "Sets the minimum amount of commission that each validators must maintain."] + #[doc = ""] + #[doc = "This call has lower privilege requirements than `set_staking_config` and can be called"] + #[doc = "by the `T::AdminOrigin`. Root can always call this."] + set_min_commission { + new: runtime_types::sp_arithmetic::per_things::Perbill, + }, } #[derive( :: subxt :: ext :: codec :: Decode, @@ -17357,21 +17488,29 @@ pub mod api { amount: ::core::primitive::u128, }, #[codec(index = 2)] - #[doc = "One staker (and potentially its nominators) has been slashed by the given amount."] + #[doc = "A staker (validator or nominator) has been slashed by the given amount."] Slashed { staker: ::subxt::ext::sp_core::crypto::AccountId32, amount: ::core::primitive::u128, }, #[codec(index = 3)] + #[doc = "A slash for the given validator, for the given percentage of their stake, at the given"] + #[doc = "era as been reported."] + SlashReported { + validator: ::subxt::ext::sp_core::crypto::AccountId32, + fraction: runtime_types::sp_arithmetic::per_things::Perbill, + slash_era: ::core::primitive::u32, + }, + #[codec(index = 4)] #[doc = "An old slashing report from a prior era was discarded because it could"] #[doc = "not be processed."] OldSlashingReportDiscarded { session_index: ::core::primitive::u32, }, - #[codec(index = 4)] + #[codec(index = 5)] #[doc = "A new set of stakers was elected."] StakersElected, - #[codec(index = 5)] + #[codec(index = 6)] #[doc = "An account has bonded this amount. \\[stash, amount\\]"] #[doc = ""] #[doc = "NOTE: This event is only emitted when funds are bonded via a dispatchable. Notably,"] @@ -17380,45 +17519,50 @@ pub mod api { stash: ::subxt::ext::sp_core::crypto::AccountId32, amount: ::core::primitive::u128, }, - #[codec(index = 6)] + #[codec(index = 7)] #[doc = "An account has unbonded this amount."] Unbonded { stash: ::subxt::ext::sp_core::crypto::AccountId32, amount: ::core::primitive::u128, }, - #[codec(index = 7)] + #[codec(index = 8)] #[doc = "An account has called `withdraw_unbonded` and removed unbonding chunks worth `Balance`"] #[doc = "from the unlocking queue."] Withdrawn { stash: ::subxt::ext::sp_core::crypto::AccountId32, amount: ::core::primitive::u128, }, - #[codec(index = 8)] + #[codec(index = 9)] #[doc = "A nominator has been kicked from a validator."] Kicked { nominator: ::subxt::ext::sp_core::crypto::AccountId32, stash: ::subxt::ext::sp_core::crypto::AccountId32, }, - #[codec(index = 9)] + #[codec(index = 10)] #[doc = "The election failed. No new era is planned."] StakingElectionFailed, - #[codec(index = 10)] + #[codec(index = 11)] #[doc = "An account has stopped participating as either a validator or nominator."] Chilled { stash: ::subxt::ext::sp_core::crypto::AccountId32, }, - #[codec(index = 11)] + #[codec(index = 12)] #[doc = "The stakers' rewards are getting paid."] PayoutStarted { era_index: ::core::primitive::u32, validator_stash: ::subxt::ext::sp_core::crypto::AccountId32, }, - #[codec(index = 12)] + #[codec(index = 13)] #[doc = "A validator has set their preferences."] ValidatorPrefsSet { stash: ::subxt::ext::sp_core::crypto::AccountId32, prefs: runtime_types::pallet_staking::ValidatorPrefs, }, + #[codec(index = 14)] + #[doc = "A new force era mode was set."] + ForceEra { + mode: runtime_types::pallet_staking::Forcing, + }, } } } @@ -17545,40 +17689,6 @@ pub mod api { Eq, PartialEq, )] - pub enum Releases { - #[codec(index = 0)] - V1_0_0Ancient, - #[codec(index = 1)] - V2_0_0, - #[codec(index = 2)] - V3_0_0, - #[codec(index = 3)] - V4_0_0, - #[codec(index = 4)] - V5_0_0, - #[codec(index = 5)] - V6_0_0, - #[codec(index = 6)] - V7_0_0, - #[codec(index = 7)] - V8_0_0, - #[codec(index = 8)] - V9_0_0, - #[codec(index = 9)] - V10_0_0, - #[codec(index = 10)] - V11_0_0, - #[codec(index = 11)] - V12_0_0, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - Clone, - Debug, - Eq, - PartialEq, - )] pub enum RewardDestination<_0> { #[codec(index = 0)] Staked, @@ -18045,6 +18155,12 @@ pub mod api { amount: ::core::primitive::u128, beneficiary: ::subxt::ext::sp_core::crypto::AccountId32, }, + #[codec(index = 8)] + #[doc = "The inactive funds of the pallet have been updated."] + UpdatedInactive { + reactivated: ::core::primitive::u128, + deactivated: ::core::primitive::u128, + }, } } #[derive( @@ -18622,6 +18738,22 @@ pub mod api { )] pub struct Permill(pub ::core::primitive::u32); } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Clone, + Debug, + Eq, + PartialEq, + )] + pub enum ArithmeticError { + #[codec(index = 0)] + Underflow, + #[codec(index = 1)] + Overflow, + #[codec(index = 2)] + DivisionByZero, + } } pub mod sp_consensus_aura { use super::runtime_types; @@ -19433,22 +19565,6 @@ pub mod api { Eq, PartialEq, )] - pub enum ArithmeticError { - #[codec(index = 0)] - Underflow, - #[codec(index = 1)] - Overflow, - #[codec(index = 2)] - DivisionByZero, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - Clone, - Debug, - Eq, - PartialEq, - )] pub enum DispatchError { #[codec(index = 0)] Other, @@ -19467,7 +19583,7 @@ pub mod api { #[codec(index = 7)] Token(runtime_types::sp_runtime::TokenError), #[codec(index = 8)] - Arithmetic(runtime_types::sp_runtime::ArithmeticError), + Arithmetic(runtime_types::sp_arithmetic::ArithmeticError), #[codec(index = 9)] Transactional(runtime_types::sp_runtime::TransactionalError), #[codec(index = 10)] @@ -19795,9 +19911,9 @@ pub mod api { let runtime_metadata_hash = client.metadata().metadata_hash(&PALLETS); if runtime_metadata_hash != [ - 91u8, 91u8, 248u8, 67u8, 48u8, 120u8, 50u8, 73u8, 56u8, 93u8, 91u8, 213u8, 55u8, - 126u8, 47u8, 180u8, 229u8, 179u8, 13u8, 47u8, 136u8, 60u8, 59u8, 198u8, 195u8, - 211u8, 133u8, 123u8, 48u8, 192u8, 137u8, 236u8, + 152u8, 75u8, 71u8, 172u8, 167u8, 231u8, 115u8, 198u8, 49u8, 81u8, 255u8, 71u8, + 255u8, 99u8, 32u8, 216u8, 101u8, 85u8, 22u8, 250u8, 69u8, 50u8, 197u8, 148u8, + 199u8, 153u8, 247u8, 146u8, 228u8, 136u8, 182u8, 127u8, ] { Err(::subxt::error::MetadataError::IncompatibleMetadata) diff --git a/benches/payout-stakers/Cargo.lock b/benches/payout-stakers/Cargo.lock index 4ff5cbf795..50da4193cd 100644 --- a/benches/payout-stakers/Cargo.lock +++ b/benches/payout-stakers/Cargo.lock @@ -74,7 +74,7 @@ dependencies = [ "primitives", "serde", "serde_json", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "subxt", "thiserror", ] @@ -971,7 +971,7 @@ dependencies = [ [[package]] name = "frame-support" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "bitflags", "frame-metadata", @@ -986,24 +986,24 @@ dependencies = [ "serde", "smallvec", "sp-api", - "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "sp-core-hashing-proc-macro", "sp-inherents", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "sp-staking", - "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "tt-call", ] [[package]] name = "frame-support-procedural" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "Inflector", "cfg-expr", @@ -1017,7 +1017,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate", @@ -1029,7 +1029,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "proc-macro2", "quote", @@ -2131,13 +2131,13 @@ checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee" [[package]] name = "pallet-contracts-primitives" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "bitflags", "parity-scale-codec", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", ] [[package]] @@ -2248,7 +2248,7 @@ dependencies = [ "parity-scale-codec", "primitives", "rand 0.8.5", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "sp-keyring", "subxt", "tokio", @@ -2272,6 +2272,15 @@ dependencies = [ "crypto-mac 0.11.1", ] +[[package]] +name = "pbkdf2" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "83a0692ec44e4cf1ef28ca317f14f8f07da2d95ec3fa01f86e4467b725e60917" +dependencies = [ + "digest 0.10.6", +] + [[package]] name = "percent-encoding" version = "2.2.0" @@ -2347,11 +2356,11 @@ dependencies = [ "scale-info", "serde", "sp-api", - "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "sp-staking", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", ] [[package]] @@ -3033,17 +3042,17 @@ dependencies = [ [[package]] name = "sp-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "hash-db", "log", "parity-scale-codec", "sp-api-proc-macro", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "sp-version", "thiserror", ] @@ -3051,7 +3060,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "blake2", "proc-macro-crate", @@ -3077,14 +3086,14 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", ] [[package]] @@ -3106,15 +3115,14 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "integer-sqrt", "num-traits", "parity-scale-codec", "scale-info", "serde", - "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "static_assertions", ] @@ -3159,7 +3167,7 @@ dependencies = [ "ss58-registry", "substrate-bip39", "thiserror", - "tiny-bip39", + "tiny-bip39 0.8.2", "wasmi", "zeroize", ] @@ -3167,13 +3175,12 @@ dependencies = [ [[package]] name = "sp-core" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "array-bytes", "base58", "bitflags", "blake2", - "byteorder", "dyn-clonable", "ed25519-zebra", "futures", @@ -3184,28 +3191,26 @@ dependencies = [ "libsecp256k1", "log", "merlin", - "num-traits", "parity-scale-codec", "parking_lot", "primitive-types", - "rand 0.7.3", + "rand 0.8.5", "regex", "scale-info", "schnorrkel", "secp256k1 0.24.3", "secrecy", "serde", - "sp-core-hashing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-core-hashing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "ss58-registry", "substrate-bip39", "thiserror", - "tiny-bip39", - "wasmi", + "tiny-bip39 1.0.0", "zeroize", ] @@ -3227,25 +3232,25 @@ dependencies = [ [[package]] name = "sp-core-hashing" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "blake2", "byteorder", "digest 0.10.6", "sha2 0.10.6", "sha3", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "twox-hash", ] [[package]] name = "sp-core-hashing-proc-macro" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "proc-macro2", "quote", - "sp-core-hashing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-core-hashing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "syn", ] @@ -3263,7 +3268,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "proc-macro2", "quote", @@ -3285,25 +3290,25 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.13.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "environmental", "parity-scale-codec", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", ] [[package]] name = "sp-inherents" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "async-trait", "impl-trait-for-tuples", "parity-scale-codec", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "thiserror", ] @@ -3337,26 +3342,24 @@ dependencies = [ [[package]] name = "sp-io" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "bytes", + "ed25519", "ed25519-dalek", "futures", - "hash-db", "libsecp256k1", "log", "parity-scale-codec", - "parking_lot", "secp256k1 0.24.3", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-keystore 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-wasm-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-keystore 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "tracing", "tracing-core", ] @@ -3364,11 +3367,11 @@ dependencies = [ [[package]] name = "sp-keyring" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "lazy_static", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "strum", ] @@ -3392,7 +3395,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.13.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "async-trait", "futures", @@ -3400,8 +3403,8 @@ dependencies = [ "parity-scale-codec", "parking_lot", "schnorrkel", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "thiserror", ] @@ -3419,7 +3422,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "backtrace", "lazy_static", @@ -3453,7 +3456,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "either", "hash256-std-hasher", @@ -3461,15 +3464,15 @@ dependencies = [ "log", "parity-scale-codec", "paste", - "rand 0.7.3", + "rand 0.8.5", "scale-info", "serde", - "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", ] [[package]] @@ -3494,18 +3497,18 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "bytes", "impl-trait-for-tuples", "parity-scale-codec", "primitive-types", - "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-runtime-interface-proc-macro 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-wasm-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-runtime-interface-proc-macro 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-wasm-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "static_assertions", ] @@ -3525,7 +3528,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "Inflector", "proc-macro-crate", @@ -3537,13 +3540,13 @@ dependencies = [ [[package]] name = "sp-staking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "parity-scale-codec", "scale-info", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", ] [[package]] @@ -3572,23 +3575,21 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.13.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "hash-db", "log", - "num-traits", "parity-scale-codec", "parking_lot", - "rand 0.7.3", + "rand 0.8.5", "smallvec", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-panic-handler 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-panic-handler 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "thiserror", "tracing", - "trie-root", ] [[package]] @@ -3600,7 +3601,7 @@ checksum = "cf3fd4c1d304be101e6ebbafd3d4be9a37b320c970ef4e8df188b16873981c93" [[package]] name = "sp-std" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" [[package]] name = "sp-storage" @@ -3619,14 +3620,14 @@ dependencies = [ [[package]] name = "sp-storage" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "impl-serde", "parity-scale-codec", "ref-cast", "serde", - "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", ] [[package]] @@ -3645,10 +3646,10 @@ dependencies = [ [[package]] name = "sp-tracing" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "parity-scale-codec", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "tracing", "tracing-core", "tracing-subscriber", @@ -3681,7 +3682,7 @@ dependencies = [ [[package]] name = "sp-trie" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "ahash", "hash-db", @@ -3693,8 +3694,8 @@ dependencies = [ "parity-scale-codec", "parking_lot", "scale-info", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "thiserror", "tracing", "trie-db", @@ -3704,7 +3705,7 @@ dependencies = [ [[package]] name = "sp-version" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "impl-serde", "parity-scale-codec", @@ -3712,8 +3713,8 @@ dependencies = [ "scale-info", "serde", "sp-core-hashing-proc-macro", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "sp-version-proc-macro", "thiserror", ] @@ -3721,7 +3722,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "parity-scale-codec", "proc-macro2", @@ -3745,12 +3746,12 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "impl-trait-for-tuples", "log", "parity-scale-codec", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "wasmi", "wasmtime", ] @@ -3775,17 +3776,16 @@ dependencies = [ [[package]] name = "sp-weights" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ - "impl-trait-for-tuples", "parity-scale-codec", "scale-info", "serde", "smallvec", - "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", ] [[package]] @@ -4050,6 +4050,25 @@ dependencies = [ "zeroize", ] +[[package]] +name = "tiny-bip39" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62cc94d358b5a1e84a5cb9109f559aa3c4d634d2b1b4de3d0fa4adc7c78e2861" +dependencies = [ + "anyhow", + "hmac 0.12.1", + "once_cell", + "pbkdf2 0.11.0", + "rand 0.8.5", + "rustc-hash", + "sha2 0.10.6", + "thiserror", + "unicode-normalization", + "wasm-bindgen", + "zeroize", +] + [[package]] name = "tinyvec" version = "1.6.0" diff --git a/benches/payout-stakers/Cargo.toml b/benches/payout-stakers/Cargo.toml index 99575293db..d809f41421 100644 --- a/benches/payout-stakers/Cargo.toml +++ b/benches/payout-stakers/Cargo.toml @@ -14,8 +14,8 @@ log = "0.4" futures = "0.3.25" rand = "0.8.5" -sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36", features = ["full_crypto"] } -sp-keyring = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37", features = ["full_crypto"] } +sp-keyring = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } subxt = "0.25.0" tokio = { version = "1.21.2", features = ["full"] } diff --git a/bin/cliain/Cargo.lock b/bin/cliain/Cargo.lock index 41d619fa81..81f224109a 100644 --- a/bin/cliain/Cargo.lock +++ b/bin/cliain/Cargo.lock @@ -74,7 +74,7 @@ dependencies = [ "primitives", "serde", "serde_json", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "subxt", "thiserror", ] @@ -433,7 +433,7 @@ dependencies = [ "primitives", "serde", "serde_json", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "subxt", "tokio", ] @@ -1074,7 +1074,7 @@ dependencies = [ [[package]] name = "frame-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "frame-support", "frame-system", @@ -1085,19 +1085,19 @@ dependencies = [ "scale-info", "serde", "sp-api", - "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", ] [[package]] name = "frame-election-provider-solution-type" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -1108,18 +1108,18 @@ dependencies = [ [[package]] name = "frame-election-provider-support" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "frame-election-provider-solution-type", "frame-support", "frame-system", "parity-scale-codec", "scale-info", - "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "sp-npos-elections", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", ] [[package]] @@ -1137,7 +1137,7 @@ dependencies = [ [[package]] name = "frame-support" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "bitflags", "frame-metadata", @@ -1152,24 +1152,24 @@ dependencies = [ "serde", "smallvec", "sp-api", - "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "sp-core-hashing-proc-macro", "sp-inherents", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "sp-staking", - "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "tt-call", ] [[package]] name = "frame-support-procedural" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "Inflector", "cfg-expr", @@ -1183,7 +1183,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate", @@ -1195,7 +1195,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "proc-macro2", "quote", @@ -1205,19 +1205,19 @@ dependencies = [ [[package]] name = "frame-system" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "frame-support", "log", "parity-scale-codec", "scale-info", "serde", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "sp-version", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", ] [[package]] @@ -2382,7 +2382,7 @@ checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee" [[package]] name = "pallet-authorship" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "frame-support", "frame-system", @@ -2390,26 +2390,26 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-authorship", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", ] [[package]] name = "pallet-contracts-primitives" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "bitflags", "parity-scale-codec", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", ] [[package]] name = "pallet-session" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "frame-support", "frame-system", @@ -2418,19 +2418,19 @@ dependencies = [ "pallet-timestamp", "parity-scale-codec", "scale-info", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "sp-session", "sp-staking", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", ] [[package]] name = "pallet-staking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -2442,17 +2442,17 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "sp-staking", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", ] [[package]] name = "pallet-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "frame-benchmarking", "frame-support", @@ -2461,9 +2461,9 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-inherents", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "sp-timestamp", ] @@ -2579,6 +2579,15 @@ dependencies = [ "crypto-mac 0.11.1", ] +[[package]] +name = "pbkdf2" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "83a0692ec44e4cf1ef28ca317f14f8f07da2d95ec3fa01f86e4467b725e60917" +dependencies = [ + "digest 0.10.6", +] + [[package]] name = "percent-encoding" version = "2.2.0" @@ -2654,11 +2663,11 @@ dependencies = [ "scale-info", "serde", "sp-api", - "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "sp-staking", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", ] [[package]] @@ -3383,17 +3392,17 @@ dependencies = [ [[package]] name = "sp-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "hash-db", "log", "parity-scale-codec", "sp-api-proc-macro", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "sp-version", "thiserror", ] @@ -3401,7 +3410,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "blake2", "proc-macro-crate", @@ -3427,14 +3436,14 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", ] [[package]] @@ -3456,28 +3465,27 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "integer-sqrt", "num-traits", "parity-scale-codec", "scale-info", "serde", - "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "static_assertions", ] [[package]] name = "sp-authorship" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "async-trait", "parity-scale-codec", "sp-inherents", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", ] [[package]] @@ -3521,7 +3529,7 @@ dependencies = [ "ss58-registry", "substrate-bip39", "thiserror", - "tiny-bip39", + "tiny-bip39 0.8.2", "wasmi", "zeroize", ] @@ -3529,13 +3537,12 @@ dependencies = [ [[package]] name = "sp-core" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "array-bytes", "base58", "bitflags", "blake2", - "byteorder", "dyn-clonable", "ed25519-zebra", "futures", @@ -3546,28 +3553,26 @@ dependencies = [ "libsecp256k1", "log", "merlin", - "num-traits", "parity-scale-codec", "parking_lot", "primitive-types", - "rand 0.7.3", + "rand 0.8.5", "regex", "scale-info", "schnorrkel", "secp256k1 0.24.3", "secrecy", "serde", - "sp-core-hashing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-core-hashing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "ss58-registry", "substrate-bip39", "thiserror", - "tiny-bip39", - "wasmi", + "tiny-bip39 1.0.0", "zeroize", ] @@ -3589,25 +3594,25 @@ dependencies = [ [[package]] name = "sp-core-hashing" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "blake2", "byteorder", "digest 0.10.6", "sha2 0.10.6", "sha3", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "twox-hash", ] [[package]] name = "sp-core-hashing-proc-macro" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "proc-macro2", "quote", - "sp-core-hashing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-core-hashing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "syn", ] @@ -3625,7 +3630,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "proc-macro2", "quote", @@ -3647,25 +3652,25 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.13.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "environmental", "parity-scale-codec", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", ] [[package]] name = "sp-inherents" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "async-trait", "impl-trait-for-tuples", "parity-scale-codec", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "thiserror", ] @@ -3699,26 +3704,24 @@ dependencies = [ [[package]] name = "sp-io" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "bytes", + "ed25519", "ed25519-dalek", "futures", - "hash-db", "libsecp256k1", "log", "parity-scale-codec", - "parking_lot", "secp256k1 0.24.3", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-keystore 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-wasm-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-keystore 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "tracing", "tracing-core", ] @@ -3743,7 +3746,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.13.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "async-trait", "futures", @@ -3751,23 +3754,23 @@ dependencies = [ "parity-scale-codec", "parking_lot", "schnorrkel", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "thiserror", ] [[package]] name = "sp-npos-elections" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", ] [[package]] @@ -3784,7 +3787,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "backtrace", "lazy_static", @@ -3818,7 +3821,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "either", "hash256-std-hasher", @@ -3826,15 +3829,15 @@ dependencies = [ "log", "parity-scale-codec", "paste", - "rand 0.7.3", + "rand 0.8.5", "scale-info", "serde", - "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", ] [[package]] @@ -3859,18 +3862,18 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "bytes", "impl-trait-for-tuples", "parity-scale-codec", "primitive-types", - "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-runtime-interface-proc-macro 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-wasm-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-runtime-interface-proc-macro 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-wasm-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "static_assertions", ] @@ -3890,7 +3893,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "Inflector", "proc-macro-crate", @@ -3902,27 +3905,27 @@ dependencies = [ [[package]] name = "sp-session" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "parity-scale-codec", "scale-info", "sp-api", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "sp-staking", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", ] [[package]] name = "sp-staking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "parity-scale-codec", "scale-info", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", ] [[package]] @@ -3951,23 +3954,21 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.13.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "hash-db", "log", - "num-traits", "parity-scale-codec", "parking_lot", - "rand 0.7.3", + "rand 0.8.5", "smallvec", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-panic-handler 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-panic-handler 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "thiserror", "tracing", - "trie-root", ] [[package]] @@ -3979,7 +3980,7 @@ checksum = "cf3fd4c1d304be101e6ebbafd3d4be9a37b320c970ef4e8df188b16873981c93" [[package]] name = "sp-std" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" [[package]] name = "sp-storage" @@ -3998,29 +3999,28 @@ dependencies = [ [[package]] name = "sp-storage" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "impl-serde 0.4.0", "parity-scale-codec", "ref-cast", "serde", - "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", ] [[package]] name = "sp-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "async-trait", "futures-timer", "log", "parity-scale-codec", - "sp-api", "sp-inherents", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "thiserror", ] @@ -4040,10 +4040,10 @@ dependencies = [ [[package]] name = "sp-tracing" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "parity-scale-codec", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "tracing", "tracing-core", "tracing-subscriber", @@ -4076,7 +4076,7 @@ dependencies = [ [[package]] name = "sp-trie" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "ahash", "hash-db", @@ -4088,8 +4088,8 @@ dependencies = [ "parity-scale-codec", "parking_lot", "scale-info", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "thiserror", "tracing", "trie-db", @@ -4099,7 +4099,7 @@ dependencies = [ [[package]] name = "sp-version" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "impl-serde 0.4.0", "parity-scale-codec", @@ -4107,8 +4107,8 @@ dependencies = [ "scale-info", "serde", "sp-core-hashing-proc-macro", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "sp-version-proc-macro", "thiserror", ] @@ -4116,7 +4116,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "parity-scale-codec", "proc-macro2", @@ -4140,12 +4140,12 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "impl-trait-for-tuples", "log", "parity-scale-codec", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "wasmi", "wasmtime", ] @@ -4170,17 +4170,16 @@ dependencies = [ [[package]] name = "sp-weights" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ - "impl-trait-for-tuples", "parity-scale-codec", "scale-info", "serde", "smallvec", - "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", ] [[package]] @@ -4450,6 +4449,25 @@ dependencies = [ "zeroize", ] +[[package]] +name = "tiny-bip39" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62cc94d358b5a1e84a5cb9109f559aa3c4d634d2b1b4de3d0fa4adc7c78e2861" +dependencies = [ + "anyhow", + "hmac 0.12.1", + "once_cell", + "pbkdf2 0.11.0", + "rand 0.8.5", + "rustc-hash", + "sha2 0.10.6", + "thiserror", + "unicode-normalization", + "wasm-bindgen", + "zeroize", +] + [[package]] name = "tinyvec" version = "1.6.0" diff --git a/bin/cliain/Cargo.toml b/bin/cliain/Cargo.toml index d7cd482a39..f58e94ade1 100644 --- a/bin/cliain/Cargo.toml +++ b/bin/cliain/Cargo.toml @@ -16,11 +16,11 @@ env_logger = "0.8" hex = "0.4.3" ink_metadata = { version = "4.0.0-beta", features = ["derive"] } log = "0.4" -pallet-staking = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +pallet-staking = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } primitives = { path = "../../primitives" } serde = { version = "1.0.137", features = ["derive"] } serde_json = "1.0.81" -sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36", features = ["full_crypto"] } +sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37", features = ["full_crypto"] } tokio = { version = "1.21.2", features = ["full"] } subxt = "0.25.0" diff --git a/bin/node/Cargo.toml b/bin/node/Cargo.toml index 4f41e5a385..42247d70bc 100644 --- a/bin/node/Cargo.toml +++ b/bin/node/Cargo.toml @@ -26,34 +26,34 @@ hex-literal = "0.3" libp2p = "0.49.0" thiserror = "1.0" -sp-application-crypto = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -sc-block-builder = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -sc-chain-spec = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36"} -sc-cli = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -sc-executor = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -sc-service = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -sc-telemetry = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -sc-keystore = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -sp-keystore = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -sp-inherents = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -sc-basic-authorship = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -sc-network = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -sc-transaction-pool = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -sp-transaction-pool = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -sc-transaction-pool-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -sc-consensus-aura = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -sp-consensus-aura = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -sp-consensus = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -sc-consensus = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -sc-client-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -sp-timestamp = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -pallet-staking = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -try-runtime-cli = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36", optional = true } -sc-consensus-slots = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -sp-arithmetic = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -sp-io = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +sp-application-crypto = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +sc-block-builder = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +sc-chain-spec = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37"} +sc-cli = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +sc-executor = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +sc-service = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +sc-telemetry = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +sc-keystore = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +sp-keystore = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +sp-inherents = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +sc-basic-authorship = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +sc-network = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +sc-transaction-pool = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +sp-transaction-pool = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +sc-transaction-pool-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +sc-consensus-aura = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +sp-consensus-aura = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +sp-consensus = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +sc-consensus = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +sc-client-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +sp-timestamp = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +pallet-staking = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +try-runtime-cli = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37", optional = true } +sc-consensus-slots = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +sp-arithmetic = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +sp-io = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } aleph-runtime = { path = "../runtime" } finality-aleph = { path = "../../finality-aleph" } @@ -61,16 +61,16 @@ aleph-primitives = { package = "primitives", path = "../../primitives" } # These dependencies are used for the node's RPCs jsonrpsee = { version = "0.16.2", features = ["server"] } -sc-rpc = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -sp-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -sc-rpc-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -sp-blockchain = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -sp-block-builder = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -substrate-frame-rpc-system = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -pallet-transaction-payment-rpc = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +sc-rpc = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +sp-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +sc-rpc-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +sp-blockchain = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +sp-block-builder = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +substrate-frame-rpc-system = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +pallet-transaction-payment-rpc = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } [build-dependencies] -substrate-build-script-utils = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +substrate-build-script-utils = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } [features] default = [] diff --git a/bin/node/src/main.rs b/bin/node/src/main.rs index 77ac1e6edf..a6d00656f1 100644 --- a/bin/node/src/main.rs +++ b/bin/node/src/main.rs @@ -9,8 +9,8 @@ use sc_cli::{clap::Parser, CliConfiguration, DatabasePruningMode, PruningParams, use sc_network::config::Role; use sc_service::{Configuration, PartialComponents}; -fn default_state_pruning() -> DatabasePruningMode { - DatabasePruningMode::Archive +fn default_state_pruning() -> Option { + Some(DatabasePruningMode::Archive) } fn default_blocks_pruning() -> DatabasePruningMode { diff --git a/bin/node/src/service.rs b/bin/node/src/service.rs index 04f484fcfd..e31cef1f2c 100644 --- a/bin/node/src/service.rs +++ b/bin/node/src/service.rs @@ -516,8 +516,20 @@ impl finality_aleph::BlockchainBackend for BlockchainBackendImpl { } fn header( &self, - block_id: sp_api::BlockId, + block_id: BlockId, ) -> sp_blockchain::Result::Header>> { - self.backend.blockchain().header(block_id) + let hash = match block_id { + BlockId::Hash(h) => h, + BlockId::Number(n) => { + let maybe_hash = self.backend.blockchain().hash(n)?; + + if let Some(h) = maybe_hash { + h + } else { + return Ok(None); + } + } + }; + self.backend.blockchain().header(hash) } } diff --git a/bin/runtime/Cargo.toml b/bin/runtime/Cargo.toml index acfc86bc12..cc26dfdbe1 100644 --- a/bin/runtime/Cargo.toml +++ b/bin/runtime/Cargo.toml @@ -15,54 +15,54 @@ codec = { package = "parity-scale-codec", version = "3.0", default-features = fa scale-info = { version = "2.0", default-features = false, features = ["derive"] } serde = { version = "1.0", optional = true, features = ["derive"] } -frame-executive = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -frame-support = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -frame-system = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -frame-system-rpc-runtime-api = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -frame-try-runtime = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36", optional = true } +frame-executive = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +frame-support = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +frame-system = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +frame-system-rpc-runtime-api = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +frame-try-runtime = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37", optional = true } -pallet-aura = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -pallet-authorship = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -pallet-balances = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -pallet-contracts = { git = "https://github.com/Cardinal-Cryptography/substrate", default-features = false, branch = "aleph-v0.9.36" } -pallet-contracts-primitives = { git = "https://github.com/Cardinal-Cryptography/substrate", default-features = false, branch = "aleph-v0.9.36" } -pallet-identity = { git = "https://github.com/Cardinal-Cryptography/substrate", default-features = false, branch = "aleph-v0.9.36" } -pallet-randomness-collective-flip = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -pallet-session = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -pallet-scheduler = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -pallet-staking = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -pallet-sudo = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -pallet-timestamp = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -pallet-transaction-payment = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -pallet-transaction-payment-rpc-runtime-api = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -pallet-treasury = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -pallet-vesting = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -pallet-multisig = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -pallet-utility = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -pallet-nomination-pools = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -pallet-nomination-pools-runtime-api = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +pallet-aura = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +pallet-authorship = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +pallet-balances = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +pallet-contracts = { git = "https://github.com/Cardinal-Cryptography/substrate", default-features = false, branch = "aleph-v0.9.37" } +pallet-contracts-primitives = { git = "https://github.com/Cardinal-Cryptography/substrate", default-features = false, branch = "aleph-v0.9.37" } +pallet-identity = { git = "https://github.com/Cardinal-Cryptography/substrate", default-features = false, branch = "aleph-v0.9.37" } +pallet-randomness-collective-flip = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +pallet-session = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +pallet-scheduler = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +pallet-staking = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +pallet-sudo = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +pallet-timestamp = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +pallet-transaction-payment = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +pallet-transaction-payment-rpc-runtime-api = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +pallet-treasury = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +pallet-vesting = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +pallet-multisig = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +pallet-utility = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +pallet-nomination-pools = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +pallet-nomination-pools-runtime-api = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -sp-api = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -sp-block-builder = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -sp-consensus-aura = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -sp-core = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -sp-inherents = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -sp-offchain = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -sp-runtime = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -sp-session = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -sp-staking = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -sp-std = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -sp-transaction-pool = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -sp-version = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +sp-api = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +sp-block-builder = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +sp-consensus-aura = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +sp-core = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +sp-inherents = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +sp-offchain = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +sp-runtime = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +sp-session = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +sp-staking = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +sp-std = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +sp-transaction-pool = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +sp-version = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } # NOTE: these two disabled features collide with std in wasm -sp-io = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +sp-io = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } primitives = { path = "../../primitives", default-features = false } pallet-aleph = { path = "../../pallets/aleph", default-features = false } pallet-elections = { path = "../../pallets/elections", default-features = false } [build-dependencies] -substrate-wasm-builder = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +substrate-wasm-builder = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } [dev-dependencies] smallvec = { version = "1", default-features = false} diff --git a/bin/runtime/src/lib.rs b/bin/runtime/src/lib.rs index 54c5ebf2c5..45a468c0d1 100644 --- a/bin/runtime/src/lib.rs +++ b/bin/runtime/src/lib.rs @@ -29,6 +29,8 @@ use frame_support::{ PalletId, }; use frame_system::{EnsureRoot, EnsureSignedBy}; +#[cfg(feature = "try-runtime")] +use frame_try_runtime::UpgradeCheckSelect; pub use pallet_balances::Call as BalancesCall; pub use pallet_timestamp::Call as TimestampCall; use pallet_transaction_payment::{CurrencyAdapter, Multiplier, TargetedFeeAdjustment}; @@ -108,7 +110,7 @@ pub const VERSION: RuntimeVersion = RuntimeVersion { spec_name: create_runtime_str!("aleph-node"), impl_name: create_runtime_str!("aleph-node"), authoring_version: 1, - spec_version: 54, + spec_version: 55, impl_version: 1, apis: RUNTIME_API_VERSIONS, transaction_version: 14, @@ -498,7 +500,8 @@ impl pallet_staking::WeightInfo for PayoutStakersDecreasedWeightInfo { force_apply_min_commission(), SubstrateStakingWeights, Weight - ) + ), + (set_min_commission(), SubstrateStakingWeights, Weight) ); } @@ -524,7 +527,6 @@ impl pallet_staking::Config for Runtime { type SessionsPerEra = SessionsPerEra; type BondingDuration = BondingDuration; type SlashDeferDuration = SlashDeferDuration; - type SlashCancelOrigin = EnsureRoot; type SessionInterface = Self; type EraPayout = UniformEraPayout; type NextNewSession = Session; @@ -538,6 +540,7 @@ impl pallet_staking::Config for Runtime { type OnStakerSlash = NominationPools; type HistoryDepth = HistoryDepth; type TargetList = pallet_staking::UseValidatorsMap; + type AdminOrigin = EnsureRoot; } parameter_types! { @@ -999,7 +1002,7 @@ impl_runtime_apis! { #[cfg(feature = "try-runtime")] impl frame_try_runtime::TryRuntime for Runtime { - fn on_runtime_upgrade(checks: bool) -> (Weight, Weight) { + fn on_runtime_upgrade(checks: UpgradeCheckSelect) -> (Weight, Weight) { let weight = Executive::try_runtime_upgrade(checks).unwrap(); (weight, BlockWeights::get().max_block) } diff --git a/contracts/rust-toolchain b/contracts/rust-toolchain index 902c74186f..6680fdbf12 100644 --- a/contracts/rust-toolchain +++ b/contracts/rust-toolchain @@ -1 +1 @@ -1.65.0 +1.65.0 \ No newline at end of file diff --git a/e2e-tests/Cargo.lock b/e2e-tests/Cargo.lock index e4f61b276e..72d4f37e35 100644 --- a/e2e-tests/Cargo.lock +++ b/e2e-tests/Cargo.lock @@ -79,8 +79,8 @@ dependencies = [ "rand 0.8.5", "rayon", "serde_json", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "synthetic-link", "tokio", ] @@ -103,7 +103,7 @@ dependencies = [ "primitives", "serde", "serde_json", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "subxt", "thiserror", ] @@ -1097,7 +1097,7 @@ dependencies = [ [[package]] name = "frame-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "frame-support", "frame-system", @@ -1108,19 +1108,19 @@ dependencies = [ "scale-info", "serde", "sp-api", - "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", ] [[package]] name = "frame-election-provider-solution-type" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -1131,18 +1131,18 @@ dependencies = [ [[package]] name = "frame-election-provider-support" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "frame-election-provider-solution-type", "frame-support", "frame-system", "parity-scale-codec", "scale-info", - "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "sp-npos-elections", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", ] [[package]] @@ -1160,7 +1160,7 @@ dependencies = [ [[package]] name = "frame-support" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "bitflags", "frame-metadata", @@ -1175,24 +1175,24 @@ dependencies = [ "serde", "smallvec", "sp-api", - "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "sp-core-hashing-proc-macro", "sp-inherents", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "sp-staking", - "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "tt-call", ] [[package]] name = "frame-support-procedural" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "Inflector", "cfg-expr", @@ -1206,7 +1206,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate", @@ -1218,7 +1218,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "proc-macro2", "quote", @@ -1228,19 +1228,19 @@ dependencies = [ [[package]] name = "frame-system" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "frame-support", "log", "parity-scale-codec", "scale-info", "serde", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "sp-version", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", ] [[package]] @@ -2521,7 +2521,7 @@ checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee" [[package]] name = "pallet-authorship" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "frame-support", "frame-system", @@ -2529,14 +2529,14 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-authorship", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", ] [[package]] name = "pallet-balances" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "frame-benchmarking", "frame-support", @@ -2544,20 +2544,20 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", ] [[package]] name = "pallet-contracts-primitives" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "bitflags", "parity-scale-codec", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", ] [[package]] @@ -2575,17 +2575,17 @@ dependencies = [ "parity-scale-codec", "primitives", "scale-info", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "sp-staking", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", ] [[package]] name = "pallet-session" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "frame-support", "frame-system", @@ -2594,19 +2594,19 @@ dependencies = [ "pallet-timestamp", "parity-scale-codec", "scale-info", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "sp-session", "sp-staking", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", ] [[package]] name = "pallet-staking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -2618,17 +2618,17 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "sp-staking", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", ] [[package]] name = "pallet-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "frame-benchmarking", "frame-support", @@ -2637,9 +2637,9 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-inherents", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "sp-timestamp", ] @@ -2648,7 +2648,7 @@ name = "pallets-support" version = "0.1.4" dependencies = [ "frame-support", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", ] [[package]] @@ -2763,6 +2763,15 @@ dependencies = [ "crypto-mac 0.11.1", ] +[[package]] +name = "pbkdf2" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "83a0692ec44e4cf1ef28ca317f14f8f07da2d95ec3fa01f86e4467b725e60917" +dependencies = [ + "digest 0.10.6", +] + [[package]] name = "percent-encoding" version = "2.2.0" @@ -2844,11 +2853,11 @@ dependencies = [ "scale-info", "serde", "sp-api", - "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "sp-staking", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", ] [[package]] @@ -3663,17 +3672,17 @@ dependencies = [ [[package]] name = "sp-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "hash-db", "log", "parity-scale-codec", "sp-api-proc-macro", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "sp-version", "thiserror", ] @@ -3681,7 +3690,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "blake2", "proc-macro-crate", @@ -3707,14 +3716,14 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", ] [[package]] @@ -3736,28 +3745,27 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "integer-sqrt", "num-traits", "parity-scale-codec", "scale-info", "serde", - "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "static_assertions", ] [[package]] name = "sp-authorship" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "async-trait", "parity-scale-codec", "sp-inherents", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", ] [[package]] @@ -3801,7 +3809,7 @@ dependencies = [ "ss58-registry", "substrate-bip39", "thiserror", - "tiny-bip39", + "tiny-bip39 0.8.2", "wasmi", "zeroize", ] @@ -3809,13 +3817,12 @@ dependencies = [ [[package]] name = "sp-core" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "array-bytes", "base58", "bitflags", "blake2", - "byteorder", "dyn-clonable", "ed25519-zebra", "futures", @@ -3826,28 +3833,26 @@ dependencies = [ "libsecp256k1", "log", "merlin", - "num-traits", "parity-scale-codec", "parking_lot", "primitive-types", - "rand 0.7.3", + "rand 0.8.5", "regex", "scale-info", "schnorrkel", "secp256k1 0.24.3", "secrecy", "serde", - "sp-core-hashing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-core-hashing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "ss58-registry", "substrate-bip39", "thiserror", - "tiny-bip39", - "wasmi", + "tiny-bip39 1.0.0", "zeroize", ] @@ -3869,25 +3874,25 @@ dependencies = [ [[package]] name = "sp-core-hashing" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "blake2", "byteorder", "digest 0.10.6", "sha2 0.10.6", "sha3", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "twox-hash", ] [[package]] name = "sp-core-hashing-proc-macro" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "proc-macro2", "quote", - "sp-core-hashing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-core-hashing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "syn", ] @@ -3905,7 +3910,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "proc-macro2", "quote", @@ -3927,25 +3932,25 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.13.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "environmental", "parity-scale-codec", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", ] [[package]] name = "sp-inherents" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "async-trait", "impl-trait-for-tuples", "parity-scale-codec", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "thiserror", ] @@ -3979,26 +3984,24 @@ dependencies = [ [[package]] name = "sp-io" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "bytes", + "ed25519", "ed25519-dalek", "futures", - "hash-db", "libsecp256k1", "log", "parity-scale-codec", - "parking_lot", "secp256k1 0.24.3", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-keystore 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-wasm-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-keystore 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "tracing", "tracing-core", ] @@ -4023,7 +4026,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.13.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "async-trait", "futures", @@ -4031,23 +4034,23 @@ dependencies = [ "parity-scale-codec", "parking_lot", "schnorrkel", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "thiserror", ] [[package]] name = "sp-npos-elections" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", ] [[package]] @@ -4064,7 +4067,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "backtrace", "lazy_static", @@ -4098,7 +4101,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "either", "hash256-std-hasher", @@ -4106,15 +4109,15 @@ dependencies = [ "log", "parity-scale-codec", "paste", - "rand 0.7.3", + "rand 0.8.5", "scale-info", "serde", - "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", ] [[package]] @@ -4139,18 +4142,18 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "bytes", "impl-trait-for-tuples", "parity-scale-codec", "primitive-types", - "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-runtime-interface-proc-macro 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-wasm-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-runtime-interface-proc-macro 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-wasm-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "static_assertions", ] @@ -4170,7 +4173,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "Inflector", "proc-macro-crate", @@ -4182,27 +4185,27 @@ dependencies = [ [[package]] name = "sp-session" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "parity-scale-codec", "scale-info", "sp-api", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "sp-staking", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", ] [[package]] name = "sp-staking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "parity-scale-codec", "scale-info", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", ] [[package]] @@ -4231,23 +4234,21 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.13.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "hash-db", "log", - "num-traits", "parity-scale-codec", "parking_lot", - "rand 0.7.3", + "rand 0.8.5", "smallvec", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-panic-handler 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-panic-handler 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "thiserror", "tracing", - "trie-root", ] [[package]] @@ -4259,7 +4260,7 @@ checksum = "cf3fd4c1d304be101e6ebbafd3d4be9a37b320c970ef4e8df188b16873981c93" [[package]] name = "sp-std" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" [[package]] name = "sp-storage" @@ -4278,29 +4279,28 @@ dependencies = [ [[package]] name = "sp-storage" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "impl-serde", "parity-scale-codec", "ref-cast", "serde", - "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", ] [[package]] name = "sp-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "async-trait", "futures-timer", "log", "parity-scale-codec", - "sp-api", "sp-inherents", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "thiserror", ] @@ -4320,10 +4320,10 @@ dependencies = [ [[package]] name = "sp-tracing" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "parity-scale-codec", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "tracing", "tracing-core", "tracing-subscriber", @@ -4356,7 +4356,7 @@ dependencies = [ [[package]] name = "sp-trie" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "ahash", "hash-db", @@ -4368,8 +4368,8 @@ dependencies = [ "parity-scale-codec", "parking_lot", "scale-info", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "thiserror", "tracing", "trie-db", @@ -4379,7 +4379,7 @@ dependencies = [ [[package]] name = "sp-version" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "impl-serde", "parity-scale-codec", @@ -4387,8 +4387,8 @@ dependencies = [ "scale-info", "serde", "sp-core-hashing-proc-macro", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "sp-version-proc-macro", "thiserror", ] @@ -4396,7 +4396,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "parity-scale-codec", "proc-macro2", @@ -4420,12 +4420,12 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "impl-trait-for-tuples", "log", "parity-scale-codec", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "wasmi", "wasmtime", ] @@ -4450,17 +4450,16 @@ dependencies = [ [[package]] name = "sp-weights" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ - "impl-trait-for-tuples", "parity-scale-codec", "scale-info", "serde", "smallvec", - "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", ] [[package]] @@ -4739,6 +4738,25 @@ dependencies = [ "zeroize", ] +[[package]] +name = "tiny-bip39" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62cc94d358b5a1e84a5cb9109f559aa3c4d634d2b1b4de3d0fa4adc7c78e2861" +dependencies = [ + "anyhow", + "hmac 0.12.1", + "once_cell", + "pbkdf2 0.11.0", + "rand 0.8.5", + "rustc-hash", + "sha2 0.10.6", + "thiserror", + "unicode-normalization", + "wasm-bindgen", + "zeroize", +] + [[package]] name = "tinyvec" version = "1.6.0" diff --git a/e2e-tests/Cargo.toml b/e2e-tests/Cargo.toml index 08d38dfcbd..f648375199 100644 --- a/e2e-tests/Cargo.toml +++ b/e2e-tests/Cargo.toml @@ -19,12 +19,12 @@ tokio = { version = "1.21.2", features = ["full"] } futures = "0.3.25" once_cell = "1.16" -sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36", default-features = false, features = ["full_crypto"] } -sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36", default-features = false } -frame-support = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36", default-features = false } -system = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36", package = "frame-system" } -pallet-staking = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36", default-features = false } -pallet-balances = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36", default-features = false } +sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37", default-features = false, features = ["full_crypto"] } +sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37", default-features = false } +frame-support = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37", default-features = false } +system = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37", package = "frame-system" } +pallet-staking = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37", default-features = false } +pallet-balances = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37", default-features = false } aleph_client = { path = "../aleph-client" } primitives = { path = "../primitives", features = ["short_session"], default-features = false } diff --git a/finality-aleph/Cargo.toml b/finality-aleph/Cargo.toml index 003fd6885f..c0fa50871a 100644 --- a/finality-aleph/Cargo.toml +++ b/finality-aleph/Cargo.toml @@ -35,29 +35,29 @@ serde = "1.0" tiny-bip39 = "1.0" tokio = { version = "1.17", features = [ "sync", "macros", "time", "rt-multi-thread" ] } -prometheus-endpoint = { package = "substrate-prometheus-endpoint", git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -sp-keystore = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -sc-network = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -sc-network-common = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -sc-telemetry = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -sc-service = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -sp-application-crypto = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -sp-state-machine = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -sp-trie = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -sc-utils = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -sp-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -sp-blockchain = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -sc-consensus = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -sp-consensus = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -sc-client-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -sp-io = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +prometheus-endpoint = { package = "substrate-prometheus-endpoint", git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +sp-keystore = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +sc-network = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +sc-network-common = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +sc-telemetry = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +sc-service = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +sp-application-crypto = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +sp-state-machine = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +sp-trie = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +sc-utils = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +sp-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +sp-blockchain = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +sc-consensus = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +sp-consensus = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +sc-client-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +sp-io = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } [dev-dependencies] -substrate-test-runtime-client = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -substrate-test-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -sc-block-builder = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +substrate-test-runtime-client = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +substrate-test-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +sc-block-builder = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } [features] only_legacy = [] diff --git a/finality-aleph/src/data_io/chain_info.rs b/finality-aleph/src/data_io/chain_info.rs index 2acfe63cfc..9bf7a87e90 100644 --- a/finality-aleph/src/data_io/chain_info.rs +++ b/finality-aleph/src/data_io/chain_info.rs @@ -1,11 +1,9 @@ use std::sync::Arc; +use log::error; use lru::LruCache; use sc_client_api::HeaderBackend; -use sp_runtime::{ - generic::BlockId, - traits::{Block as BlockT, Header as HeaderT, NumberFor, One}, -}; +use sp_runtime::traits::{Block as BlockT, Header as HeaderT, NumberFor, One}; use crate::{data_io::ChainInfoCacheConfig, BlockHashNum}; @@ -25,9 +23,7 @@ where C: HeaderBackend, { fn is_block_imported(&mut self, block: &BlockHashNum) -> bool { - let maybe_header = self - .header(BlockId::Hash(block.hash)) - .expect("client must answer a query"); + let maybe_header = self.header(block.hash).expect("client must answer a query"); if let Some(header) = maybe_header { // If the block number is incorrect, we treat as not imported. return *header.number() == block.num; @@ -40,10 +36,15 @@ where return Err(()); } - if let Some(header) = self - .header(BlockId::Number(num)) - .expect("client must respond") - { + let block_hash = match self.hash(num).ok().flatten() { + None => { + error!(target: "chain-info", "Could not get hash for block #{:?}", num); + return Err(()); + } + Some(h) => h, + }; + + if let Some(header) = self.header(block_hash).expect("client must respond") { Ok((header.hash(), num).into()) } else { Err(()) @@ -51,10 +52,7 @@ where } fn get_parent_hash(&mut self, block: &BlockHashNum) -> Result { - if let Some(header) = self - .header(BlockId::Hash(block.hash)) - .expect("client must respond") - { + if let Some(header) = self.header(block.hash).expect("client must respond") { Ok(*header.parent_hash()) } else { Err(()) diff --git a/finality-aleph/src/data_io/data_provider.rs b/finality-aleph/src/data_io/data_provider.rs index 2d7dcdbea0..e77d9f6891 100644 --- a/finality-aleph/src/data_io/data_provider.rs +++ b/finality-aleph/src/data_io/data_provider.rs @@ -6,7 +6,6 @@ use parking_lot::Mutex; use sc_client_api::HeaderBackend; use sp_consensus::SelectChain; use sp_runtime::{ - generic::BlockId, traits::{Block as BlockT, Header as HeaderT, NumberFor, One, Zero}, SaturatedConversion, }; @@ -32,7 +31,7 @@ where let mut curr_header = header; while curr_header.number() > &num { curr_header = client - .header(BlockId::Hash(*curr_header.parent_hash())) + .header(*curr_header.parent_hash()) .expect("client must respond") .expect("parent hash is known by the client"); } @@ -47,10 +46,7 @@ where if block.num.is_zero() { return None; } - if let Some(header) = client - .header(BlockId::Hash(block.hash)) - .expect("client must respond") - { + if let Some(header) = client.header(block.hash).expect("client must respond") { Some((*header.parent_hash(), block.num - >::one()).into()) } else { warn!(target: "aleph-data-store", "Trying to fetch the parent of an unknown block {:?}.", block); diff --git a/finality-aleph/src/network/gossip/service.rs b/finality-aleph/src/network/gossip/service.rs index 3b4b1d42a8..5f9640802d 100644 --- a/finality-aleph/src/network/gossip/service.rs +++ b/finality-aleph/src/network/gossip/service.rs @@ -12,6 +12,8 @@ use sc_service::SpawnTaskHandle; use sc_utils::mpsc::{tracing_unbounded, TracingUnboundedReceiver, TracingUnboundedSender}; use tokio::time; +const QUEUE_SIZE_WARNING: i64 = 1_000; + use crate::{ network::{ gossip::{Event, EventStream, Network, NetworkSender, Protocol, RawNetwork}, @@ -272,13 +274,19 @@ impl Service { trace!(target: "aleph-network", "StreamOpened event for peer {:?} and the protocol {:?}.", peer, protocol); let rx = match &protocol { Protocol::Authentication => { - let (tx, rx) = tracing_unbounded("mpsc_notification_stream_authentication"); + let (tx, rx) = tracing_unbounded( + "mpsc_notification_stream_authentication", + QUEUE_SIZE_WARNING, + ); self.authentication_connected_peers.insert(peer.clone()); self.authentication_peer_senders.insert(peer.clone(), tx); rx } Protocol::BlockSync => { - let (tx, rx) = tracing_unbounded("mpsc_notification_stream_block_sync"); + let (tx, rx) = tracing_unbounded( + "mpsc_notification_stream_block_sync", + QUEUE_SIZE_WARNING, + ); self.block_sync_connected_peers.insert(peer.clone()); self.block_sync_peer_senders.insert(peer.clone(), tx); rx diff --git a/finality-aleph/src/session_map.rs b/finality-aleph/src/session_map.rs index c6a8afc8ae..6569dbe0d6 100644 --- a/finality-aleph/src/session_map.rs +++ b/finality-aleph/src/session_map.rs @@ -466,7 +466,7 @@ mod tests { #[tokio::test(flavor = "multi_thread")] async fn genesis_catch_up() { - let (_sender, receiver) = tracing_unbounded("test"); + let (_sender, receiver) = tracing_unbounded("test", 1_000); let mut mock_provider = MockProvider::new(); let mock_notificator = MockNotificator::new(receiver); @@ -493,7 +493,7 @@ mod tests { #[tokio::test(flavor = "multi_thread")] async fn updates_session_map_on_notifications() { let mut client = Arc::new(TestClientBuilder::new().build()); - let (sender, receiver) = tracing_unbounded("test"); + let (sender, receiver) = tracing_unbounded("test", 1_000); let mut mock_provider = MockProvider::new(); let mock_notificator = MockNotificator::new(receiver); @@ -533,7 +533,7 @@ mod tests { #[tokio::test(flavor = "multi_thread")] async fn catch_up() { - let (_sender, receiver) = tracing_unbounded("test"); + let (_sender, receiver) = tracing_unbounded("test", 1_000); let mut mock_provider = MockProvider::new(); let mut mock_notificator = MockNotificator::new(receiver); @@ -571,7 +571,7 @@ mod tests { #[tokio::test(flavor = "multi_thread")] async fn catch_up_old_sessions() { - let (_sender, receiver) = tracing_unbounded("test"); + let (_sender, receiver) = tracing_unbounded("test", 1_000); let mut mock_provider = MockProvider::new(); let mut mock_notificator = MockNotificator::new(receiver); @@ -609,7 +609,7 @@ mod tests { #[tokio::test(flavor = "multi_thread")] async fn deals_with_database_pruned_authorities() { - let (_sender, receiver) = tracing_unbounded("test"); + let (_sender, receiver) = tracing_unbounded("test", 1_000); let mut mock_provider = MockProvider::new(); let mut mock_notificator = MockNotificator::new(receiver); @@ -646,7 +646,7 @@ mod tests { #[tokio::test(flavor = "multi_thread")] async fn prunes_old_sessions() { let mut client = Arc::new(TestClientBuilder::new().build()); - let (sender, receiver) = tracing_unbounded("test"); + let (sender, receiver) = tracing_unbounded("test", 1_000); let mut mock_provider = MockProvider::new(); let mock_notificator = MockNotificator::new(receiver); diff --git a/finality-aleph/src/sync/substrate/chain_status.rs b/finality-aleph/src/sync/substrate/chain_status.rs index 57dc5deaab..b669837076 100644 --- a/finality-aleph/src/sync/substrate/chain_status.rs +++ b/finality-aleph/src/sync/substrate/chain_status.rs @@ -6,10 +6,7 @@ use std::{ use aleph_primitives::{BlockNumber, ALEPH_ENGINE_ID}; use log::warn; use sp_blockchain::{Backend, Error as ClientError}; -use sp_runtime::{ - generic::BlockId as SubstrateBlockId, - traits::{Block as BlockT, Header as SubstrateHeader}, -}; +use sp_runtime::traits::{Block as BlockT, Header as SubstrateHeader}; use crate::{ justification::backwards_compatible_decode, @@ -81,8 +78,7 @@ where } fn header(&self, hash: B::Hash) -> Result, ClientError> { - let id = SubstrateBlockId::::Hash(hash); - self.client.header(id) + self.client.header(hash) } fn justification(&self, hash: B::Hash) -> Result, ClientError> { diff --git a/finality-aleph/src/testing/client_chain_builder.rs b/finality-aleph/src/testing/client_chain_builder.rs index 9444fe3b9e..36a36a4517 100644 --- a/finality-aleph/src/testing/client_chain_builder.rs +++ b/finality-aleph/src/testing/client_chain_builder.rs @@ -26,7 +26,7 @@ pub struct ClientChainBuilder { fn assert_no_blocks_except_genesis(client: &TestClient) { assert!( - client.header(&BlockId::Number(1)).unwrap().is_none(), + client.hash(1).unwrap().is_none(), "Client is aware of some blocks beyond genesis" ); } @@ -117,7 +117,7 @@ impl ClientChainBuilder { pub fn get_header_at(&self, num: u64) -> Header { self.client_builder - .header(&BlockId::Number(num)) + .header(self.client_builder.hash(num).unwrap().unwrap()) .unwrap() .unwrap() } diff --git a/flooder/Cargo.lock b/flooder/Cargo.lock index 7f7bc937ef..979759bc9e 100644 --- a/flooder/Cargo.lock +++ b/flooder/Cargo.lock @@ -74,7 +74,7 @@ dependencies = [ "primitives", "serde", "serde_json", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "subxt", "thiserror", ] @@ -1021,8 +1021,8 @@ dependencies = [ "mio 0.6.23", "parity-scale-codec", "serde_json", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "subxt", "tokio", "ws", @@ -1074,7 +1074,7 @@ dependencies = [ [[package]] name = "frame-support" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "bitflags", "frame-metadata", @@ -1089,24 +1089,24 @@ dependencies = [ "serde", "smallvec", "sp-api", - "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "sp-core-hashing-proc-macro", "sp-inherents", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "sp-staking", - "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "tt-call", ] [[package]] name = "frame-support-procedural" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "Inflector", "cfg-expr", @@ -1120,7 +1120,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate", @@ -1132,7 +1132,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "proc-macro2", "quote", @@ -2382,13 +2382,13 @@ checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee" [[package]] name = "pallet-contracts-primitives" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "bitflags", "parity-scale-codec", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", ] [[package]] @@ -2503,6 +2503,15 @@ dependencies = [ "crypto-mac 0.11.1", ] +[[package]] +name = "pbkdf2" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "83a0692ec44e4cf1ef28ca317f14f8f07da2d95ec3fa01f86e4467b725e60917" +dependencies = [ + "digest 0.10.6", +] + [[package]] name = "percent-encoding" version = "2.2.0" @@ -2584,11 +2593,11 @@ dependencies = [ "scale-info", "serde", "sp-api", - "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "sp-staking", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", ] [[package]] @@ -3282,17 +3291,17 @@ dependencies = [ [[package]] name = "sp-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "hash-db", "log", "parity-scale-codec", "sp-api-proc-macro", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "sp-version", "thiserror", ] @@ -3300,7 +3309,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "blake2", "proc-macro-crate", @@ -3326,14 +3335,14 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", ] [[package]] @@ -3355,15 +3364,14 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "integer-sqrt", "num-traits", "parity-scale-codec", "scale-info", "serde", - "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "static_assertions", ] @@ -3408,7 +3416,7 @@ dependencies = [ "ss58-registry", "substrate-bip39", "thiserror", - "tiny-bip39", + "tiny-bip39 0.8.2", "wasmi", "zeroize", ] @@ -3416,13 +3424,12 @@ dependencies = [ [[package]] name = "sp-core" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "array-bytes", "base58", "bitflags", "blake2", - "byteorder", "dyn-clonable", "ed25519-zebra", "futures", @@ -3433,28 +3440,26 @@ dependencies = [ "libsecp256k1", "log", "merlin", - "num-traits", "parity-scale-codec", "parking_lot", "primitive-types", - "rand 0.7.3", + "rand 0.8.5", "regex", "scale-info", "schnorrkel", "secp256k1 0.24.3", "secrecy", "serde", - "sp-core-hashing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-core-hashing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "ss58-registry", "substrate-bip39", "thiserror", - "tiny-bip39", - "wasmi", + "tiny-bip39 1.0.0", "zeroize", ] @@ -3476,25 +3481,25 @@ dependencies = [ [[package]] name = "sp-core-hashing" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "blake2", "byteorder", "digest 0.10.6", "sha2 0.10.6", "sha3", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "twox-hash", ] [[package]] name = "sp-core-hashing-proc-macro" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "proc-macro2", "quote", - "sp-core-hashing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-core-hashing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "syn", ] @@ -3512,7 +3517,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "proc-macro2", "quote", @@ -3534,25 +3539,25 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.13.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "environmental", "parity-scale-codec", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", ] [[package]] name = "sp-inherents" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "async-trait", "impl-trait-for-tuples", "parity-scale-codec", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "thiserror", ] @@ -3586,26 +3591,24 @@ dependencies = [ [[package]] name = "sp-io" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "bytes 1.4.0", + "ed25519", "ed25519-dalek", "futures", - "hash-db", "libsecp256k1", "log", "parity-scale-codec", - "parking_lot", "secp256k1 0.24.3", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-keystore 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-wasm-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-keystore 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "tracing", "tracing-core", ] @@ -3630,7 +3633,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.13.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "async-trait", "futures", @@ -3638,8 +3641,8 @@ dependencies = [ "parity-scale-codec", "parking_lot", "schnorrkel", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "thiserror", ] @@ -3657,7 +3660,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "backtrace", "lazy_static", @@ -3691,7 +3694,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "either", "hash256-std-hasher", @@ -3699,15 +3702,15 @@ dependencies = [ "log", "parity-scale-codec", "paste", - "rand 0.7.3", + "rand 0.8.5", "scale-info", "serde", - "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", ] [[package]] @@ -3732,18 +3735,18 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "bytes 1.4.0", "impl-trait-for-tuples", "parity-scale-codec", "primitive-types", - "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-runtime-interface-proc-macro 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-wasm-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-runtime-interface-proc-macro 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-wasm-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "static_assertions", ] @@ -3763,7 +3766,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "Inflector", "proc-macro-crate", @@ -3775,13 +3778,13 @@ dependencies = [ [[package]] name = "sp-staking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "parity-scale-codec", "scale-info", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", ] [[package]] @@ -3810,23 +3813,21 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.13.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "hash-db", "log", - "num-traits", "parity-scale-codec", "parking_lot", - "rand 0.7.3", + "rand 0.8.5", "smallvec", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-panic-handler 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-panic-handler 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "thiserror", "tracing", - "trie-root", ] [[package]] @@ -3838,7 +3839,7 @@ checksum = "cf3fd4c1d304be101e6ebbafd3d4be9a37b320c970ef4e8df188b16873981c93" [[package]] name = "sp-std" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" [[package]] name = "sp-storage" @@ -3857,14 +3858,14 @@ dependencies = [ [[package]] name = "sp-storage" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "impl-serde", "parity-scale-codec", "ref-cast", "serde", - "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", ] [[package]] @@ -3883,10 +3884,10 @@ dependencies = [ [[package]] name = "sp-tracing" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "parity-scale-codec", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "tracing", "tracing-core", "tracing-subscriber", @@ -3919,7 +3920,7 @@ dependencies = [ [[package]] name = "sp-trie" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "ahash", "hash-db", @@ -3931,8 +3932,8 @@ dependencies = [ "parity-scale-codec", "parking_lot", "scale-info", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "thiserror", "tracing", "trie-db", @@ -3942,7 +3943,7 @@ dependencies = [ [[package]] name = "sp-version" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "impl-serde", "parity-scale-codec", @@ -3950,8 +3951,8 @@ dependencies = [ "scale-info", "serde", "sp-core-hashing-proc-macro", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "sp-version-proc-macro", "thiserror", ] @@ -3959,7 +3960,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "parity-scale-codec", "proc-macro2", @@ -3983,12 +3984,12 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "impl-trait-for-tuples", "log", "parity-scale-codec", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", "wasmi", "wasmtime", ] @@ -4013,17 +4014,16 @@ dependencies = [ [[package]] name = "sp-weights" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ - "impl-trait-for-tuples", "parity-scale-codec", "scale-info", "serde", "smallvec", - "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36)", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", ] [[package]] @@ -4277,6 +4277,25 @@ dependencies = [ "zeroize", ] +[[package]] +name = "tiny-bip39" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62cc94d358b5a1e84a5cb9109f559aa3c4d634d2b1b4de3d0fa4adc7c78e2861" +dependencies = [ + "anyhow", + "hmac 0.12.1", + "once_cell", + "pbkdf2 0.11.0", + "rand 0.8.5", + "rustc-hash", + "sha2 0.10.6", + "thiserror", + "unicode-normalization", + "wasm-bindgen", + "zeroize", +] + [[package]] name = "tinyvec" version = "1.6.0" diff --git a/flooder/Cargo.toml b/flooder/Cargo.toml index 369c9ed8ba..27c79a824d 100644 --- a/flooder/Cargo.toml +++ b/flooder/Cargo.toml @@ -6,8 +6,8 @@ edition = "2021" license = "Apache 2.0" [dependencies] -sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36", features = ["full_crypto"] } -sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37", features = ["full_crypto"] } +sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } # other dependencies serde_json = { version = "1.0" } diff --git a/fork-off/Cargo.lock b/fork-off/Cargo.lock index 2ab9d77b82..bd8d377f12 100644 --- a/fork-off/Cargo.lock +++ b/fork-off/Cargo.lock @@ -977,7 +977,7 @@ dependencies = [ [[package]] name = "frame-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "frame-support", "frame-system", @@ -1012,7 +1012,7 @@ dependencies = [ [[package]] name = "frame-support" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "bitflags", "frame-metadata", @@ -1044,7 +1044,7 @@ dependencies = [ [[package]] name = "frame-support-procedural" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "Inflector", "cfg-expr", @@ -1058,7 +1058,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate 1.3.0", @@ -1070,7 +1070,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "proc-macro2", "quote", @@ -1080,7 +1080,7 @@ dependencies = [ [[package]] name = "frame-system" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "frame-support", "log 0.4.17", @@ -1246,10 +1246,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" dependencies = [ "cfg-if 1.0.0", - "js-sys", "libc", "wasi 0.9.0+wasi-snapshot-preview1", - "wasm-bindgen", ] [[package]] @@ -2278,7 +2276,7 @@ checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee" [[package]] name = "pallet-balances" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "frame-benchmarking", "frame-support", @@ -2405,20 +2403,20 @@ checksum = "d01a5bd0424d00070b0098dd17ebca6f961a959dead1dbcbbbc1d1cd8d3deeba" [[package]] name = "pbkdf2" -version = "0.4.0" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "216eaa586a190f0a738f2f918511eecfa90f13295abec0e457cdebcceda80cbd" +checksum = "d95f5254224e617595d2cc3cc73ff0a5eaf2637519e25f03388154e9378b6ffa" dependencies = [ - "crypto-mac 0.8.0", + "crypto-mac 0.11.1", ] [[package]] name = "pbkdf2" -version = "0.8.0" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d95f5254224e617595d2cc3cc73ff0a5eaf2637519e25f03388154e9378b6ffa" +checksum = "83a0692ec44e4cf1ef28ca317f14f8f07da2d95ec3fa01f86e4467b725e60917" dependencies = [ - "crypto-mac 0.11.1", + "digest 0.10.6", ] [[package]] @@ -2570,7 +2568,7 @@ dependencies = [ "rand_isaac", "rand_jitter", "rand_os", - "rand_pcg 0.1.2", + "rand_pcg", "rand_xorshift", "winapi 0.3.9", ] @@ -2586,7 +2584,6 @@ dependencies = [ "rand_chacha 0.2.2", "rand_core 0.5.1", "rand_hc 0.2.0", - "rand_pcg 0.2.1", ] [[package]] @@ -2735,15 +2732,6 @@ dependencies = [ "rand_core 0.4.2", ] -[[package]] -name = "rand_pcg" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16abd0c1b639e9eb4d7c50c0b8100b0d0f849be2349829c740fe8e6eb4816429" -dependencies = [ - "rand_core 0.5.1", -] - [[package]] name = "rand_xorshift" version = "0.1.1" @@ -3279,7 +3267,7 @@ dependencies = [ [[package]] name = "sp-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "hash-db", "log 0.4.17", @@ -3297,7 +3285,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "blake2", "proc-macro-crate 1.3.0", @@ -3309,7 +3297,7 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "parity-scale-codec", "scale-info", @@ -3322,14 +3310,13 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "integer-sqrt", "num-traits", "parity-scale-codec", "scale-info", "serde", - "sp-debug-derive", "sp-std", "static_assertions", ] @@ -3337,13 +3324,12 @@ dependencies = [ [[package]] name = "sp-core" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "array-bytes", "base58", "bitflags", "blake2", - "byteorder", "dyn-clonable", "ed25519-zebra", "futures 0.3.26", @@ -3354,11 +3340,10 @@ dependencies = [ "libsecp256k1", "log 0.4.17", "merlin", - "num-traits", "parity-scale-codec", "parking_lot 0.12.1", "primitive-types", - "rand 0.7.3", + "rand 0.8.5", "regex", "scale-info", "schnorrkel", @@ -3375,14 +3360,13 @@ dependencies = [ "substrate-bip39", "thiserror", "tiny-bip39", - "wasmi", "zeroize", ] [[package]] name = "sp-core-hashing" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "blake2", "byteorder", @@ -3396,7 +3380,7 @@ dependencies = [ [[package]] name = "sp-core-hashing-proc-macro" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "proc-macro2", "quote", @@ -3407,7 +3391,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "proc-macro2", "quote", @@ -3417,7 +3401,7 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.13.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "environmental", "parity-scale-codec", @@ -3428,7 +3412,7 @@ dependencies = [ [[package]] name = "sp-inherents" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "async-trait", "impl-trait-for-tuples", @@ -3442,16 +3426,15 @@ dependencies = [ [[package]] name = "sp-io" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "bytes 1.4.0", + "ed25519", "ed25519-dalek", "futures 0.3.26", - "hash-db", "libsecp256k1", "log 0.4.17", "parity-scale-codec", - "parking_lot 0.12.1", "secp256k1", "sp-core", "sp-externalities", @@ -3461,7 +3444,6 @@ dependencies = [ "sp-std", "sp-tracing", "sp-trie", - "sp-wasm-interface", "tracing", "tracing-core", ] @@ -3469,7 +3451,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.13.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "async-trait", "futures 0.3.26", @@ -3485,7 +3467,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "backtrace", "lazy_static", @@ -3495,7 +3477,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "either", "hash256-std-hasher", @@ -3503,7 +3485,7 @@ dependencies = [ "log 0.4.17", "parity-scale-codec", "paste", - "rand 0.7.3", + "rand 0.8.5", "scale-info", "serde", "sp-application-crypto", @@ -3517,7 +3499,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "bytes 1.4.0", "impl-trait-for-tuples", @@ -3535,7 +3517,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "Inflector", "proc-macro-crate 1.3.0", @@ -3547,7 +3529,7 @@ dependencies = [ [[package]] name = "sp-staking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "parity-scale-codec", "scale-info", @@ -3559,14 +3541,13 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.13.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "hash-db", "log 0.4.17", - "num-traits", "parity-scale-codec", "parking_lot 0.12.1", - "rand 0.7.3", + "rand 0.8.5", "smallvec 1.10.0", "sp-core", "sp-externalities", @@ -3575,18 +3556,17 @@ dependencies = [ "sp-trie", "thiserror", "tracing", - "trie-root", ] [[package]] name = "sp-std" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" [[package]] name = "sp-storage" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "impl-serde", "parity-scale-codec", @@ -3599,7 +3579,7 @@ dependencies = [ [[package]] name = "sp-tracing" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "parity-scale-codec", "sp-std", @@ -3611,7 +3591,7 @@ dependencies = [ [[package]] name = "sp-trie" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "ahash", "hash-db", @@ -3634,7 +3614,7 @@ dependencies = [ [[package]] name = "sp-version" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "impl-serde", "parity-scale-codec", @@ -3651,7 +3631,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "parity-scale-codec", "proc-macro2", @@ -3662,7 +3642,7 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ "impl-trait-for-tuples", "log 0.4.17", @@ -3675,9 +3655,8 @@ dependencies = [ [[package]] name = "sp-weights" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.36#cc0a830d71091352cbe500f32df44a0d2b65c651" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" dependencies = [ - "impl-trait-for-tuples", "parity-scale-codec", "scale-info", "serde", @@ -3870,17 +3849,17 @@ dependencies = [ [[package]] name = "tiny-bip39" -version = "0.8.2" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffc59cb9dfc85bb312c3a78fd6aa8a8582e310b0fa885d5bb877f6dcc601839d" +checksum = "62cc94d358b5a1e84a5cb9109f559aa3c4d634d2b1b4de3d0fa4adc7c78e2861" dependencies = [ "anyhow", - "hmac 0.8.1", + "hmac 0.12.1", "once_cell", - "pbkdf2 0.4.0", - "rand 0.7.3", + "pbkdf2 0.11.0", + "rand 0.8.5", "rustc-hash", - "sha2 0.9.9", + "sha2 0.10.6", "thiserror", "unicode-normalization", "wasm-bindgen", diff --git a/fork-off/Cargo.toml b/fork-off/Cargo.toml index 292e497ec0..80c1709713 100644 --- a/fork-off/Cargo.toml +++ b/fork-off/Cargo.toml @@ -19,10 +19,10 @@ serde = "1" serde_json = "1" tokio = { version = "1.0", features = ["full"] } -sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -frame-support = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -frame-system = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -pallet-balances = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +frame-support = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +frame-system = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +pallet-balances = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } jsonrpc-core = "18.0" jsonrpc-core-client = { version = "18.0", features = ["ws"] } jsonrpc-derive = "18.0" diff --git a/pallets/aleph/Cargo.toml b/pallets/aleph/Cargo.toml index 388f91ba9d..6bb95daf03 100644 --- a/pallets/aleph/Cargo.toml +++ b/pallets/aleph/Cargo.toml @@ -10,20 +10,20 @@ codec = { package = "parity-scale-codec", version = "3.0", default-features = fa serde = "1.0" scale-info = { version = "2.0", default-features = false, features = ["derive"] } -frame-support = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -frame-system = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -pallet-balances = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -pallet-session = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -sp-io = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -sp-std = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +frame-support = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +frame-system = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +pallet-balances = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +pallet-session = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +sp-io = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +sp-std = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } pallets-support = { path = "../support", default-features = false } primitives = { path = "../../primitives", default-features = false } [dev-dependencies] -pallet-timestamp = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -sp-runtime = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -sp-core = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +pallet-timestamp = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +sp-runtime = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +sp-core = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } [features] default = ["std"] diff --git a/pallets/elections/Cargo.toml b/pallets/elections/Cargo.toml index 3a3bbaf2d5..ad64c50d36 100644 --- a/pallets/elections/Cargo.toml +++ b/pallets/elections/Cargo.toml @@ -8,18 +8,18 @@ license = "Apache 2.0" codec = { package = "parity-scale-codec", version = "3.0", default-features = false, features = ["derive"] } scale-info = { version = "2.0", default-features = false, features = ["derive"] } -frame-support = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -frame-system = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -frame-election-provider-support = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -pallet-authorship = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -pallet-balances = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -pallet-session = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -pallet-staking = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -sp-core = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -sp-io = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -sp-staking = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -sp-std = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -sp-runtime = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +frame-support = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +frame-system = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +frame-election-provider-support = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +pallet-authorship = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +pallet-balances = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +pallet-session = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +pallet-staking = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +sp-core = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +sp-io = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +sp-staking = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +sp-std = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +sp-runtime = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } pallets-support = { path = "../support", default-features = false } primitives = { path = "../../primitives", default-features = false } diff --git a/pallets/support/Cargo.toml b/pallets/support/Cargo.toml index b2fe3bdac4..b855cb5386 100644 --- a/pallets/support/Cargo.toml +++ b/pallets/support/Cargo.toml @@ -4,8 +4,8 @@ version = "0.1.4" edition = "2021" [dependencies] -frame-support = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -sp-std = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +frame-support = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +sp-std = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } [features] default = ["std"] diff --git a/primitives/Cargo.toml b/primitives/Cargo.toml index 03186f9692..c4f76d2359 100644 --- a/primitives/Cargo.toml +++ b/primitives/Cargo.toml @@ -10,12 +10,12 @@ codec = { package = "parity-scale-codec", version = "3.0", default-features = fa serde = { version = "1.0", features = ["derive"] } scale-info = { version = "2.0", default-features = false, features = ["derive"] } -sp-api = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -sp-application-crypto = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -sp-core = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -sp-runtime = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -sp-std = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } -sp-staking = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.36" } +sp-api = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +sp-application-crypto = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +sp-core = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +sp-runtime = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +sp-std = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +sp-staking = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } [features] default = ["std"] From 91958a9757d145e8ac4b027e13fb12afbc9ebcfc Mon Sep 17 00:00:00 2001 From: Mikolaj Gasior Date: Fri, 24 Feb 2023 09:38:05 +0100 Subject: [PATCH 187/212] Remove cache steps --- .github/workflows/build-node-and-runtime.yml | 195 ++++++------------- 1 file changed, 56 insertions(+), 139 deletions(-) diff --git a/.github/workflows/build-node-and-runtime.yml b/.github/workflows/build-node-and-runtime.yml index edb4556c9f..52de31dd48 100644 --- a/.github/workflows/build-node-and-runtime.yml +++ b/.github/workflows/build-node-and-runtime.yml @@ -40,55 +40,6 @@ jobs: run: rustup target add wasm32-unknown-unknown - - name: S3 CI DEVNET | Configure AWS credentials - if: env.SECRETS_AWS_DEVNET_ACCESS_KEY_ID != '' && env.SECRETS_AWS_DEVNET_SECRET_ACCESS_KEY != '' - uses: aws-actions/configure-aws-credentials@v1 - env: - AWS_REGION: us-east-1 - with: - aws-access-key-id: ${{ secrets.SECRETS_AWS_DEVNET_ACCESS_KEY_ID }} - aws-secret-access-key: ${{ secrets.SECRETS_AWS_DEVNET_SECRET_ACCESS_KEY }} - aws-region: ${{ env.AWS_REGION }} - - - # Testing cargo-cache here - - name: Set cache key environment variable - if: env.SECRETS_AWS_DEVNET_ACCESS_KEY_ID != '' && env.SECRETS_AWS_DEVNET_SECRET_ACCESS_KEY != '' - run: | - echo "CACHE_KEY=${{ runner.os }}-cargo-aleph-node-v1-${{ hashFiles('**/Cargo.lock') }}" >> $GITHUB_ENV - - - name: S3 CI DEVNET | Download '~/.cargo' from CI S3 bucket - if: env.SECRETS_AWS_DEVNET_ACCESS_KEY_ID != '' && env.SECRETS_AWS_DEVNET_SECRET_ACCESS_KEY != '' - env: - S3BUCKET_PATH: rust-cache-dotcargo/${{ env.CACHE_KEY }} - CACHE_FILENAME: rust-cache-dotcargo.tar - continue-on-error: true - run: | - aws s3 cp s3://${{ secrets.CI_S3BUCKET_NAME }}/${{ env.S3BUCKET_PATH }}/${{ env.CACHE_FILENAME }} . - mkdir -p ~/.cargo - tar -xf ${{ env.CACHE_FILENAME }} -C ~/.cargo - - - name: S3 CI DEVNET | Download 'target' from CI S3 bucket - if: env.SECRETS_AWS_DEVNET_ACCESS_KEY_ID != '' && env.SECRETS_AWS_DEVNET_SECRET_ACCESS_KEY != '' - env: - S3BUCKET_PATH: rust-cache-target/${{ env.CACHE_KEY }} - CACHE_FILENAME: rust-cache-target.tar - continue-on-error: true - run: | - aws s3 cp s3://${{ secrets.CI_S3BUCKET_NAME }}/${{ env.S3BUCKET_PATH }}/${{ env.CACHE_FILENAME }} . - mkdir -p ./target - tar -xf ${{ env.CACHE_FILENAME }} -C ./target - - - - name: Install cargo-cache - if: env.SECRETS_AWS_DEVNET_ACCESS_KEY_ID != '' && env.SECRETS_AWS_DEVNET_SECRET_ACCESS_KEY != '' - uses: actions-rs/cargo@v1 - with: - command: install - args: cargo-cache - # End of Testing cargo-cache here - - - name: Build binary and runtime run: cargo build --profile production -p aleph-node @@ -109,43 +60,44 @@ jobs: retention-days: 7 - #- name: S3 CI MAINNET | Configure AWS credentials - # if: env.SECRETS_AWS_MAINNET_ACCESS_KEY_ID != '' && env.SECRETS_AWS_MAINNET_SECRET_ACCESS_KEY != '' - # uses: aws-actions/configure-aws-credentials@v1 - # env: - # AWS_ACCESS_KEY_ID: "" - # AWS_SECRET_ACCESS_KEY: "" - # AWS_SESSION_TOKEN: "" - # AWS_DEFAULT_REGION: "" - # AWS_REGION: us-east-1 - # with: - # aws-access-key-id: ${{ secrets.AWS_MAINNET_ACCESS_KEY_ID }} - # aws-secret-access-key: ${{ secrets.AWS_MAINNET_SECRET_ACCESS_KEY }} - # aws-region: ${{ env.AWS_REGION }} - - #- name: S3 CI MAINNET | Copy release binary to S3 bucket - # if: env.SECRETS_AWS_MAINNET_ACCESS_KEY_ID != '' && env.SECRETS_AWS_MAINNET_SECRET_ACCESS_KEY != '' - # shell: bash - # env: - # BINARY_DIR: target/production - # BINARY_FILE: aleph-node - # S3BUCKET_URL: s3://${{ secrets.CI_MAINNET_S3BUCKET_NAME }}/builds/aleph-node/commits/${{ steps.get_branch.outputs.sha_short }}/aleph-node - # S3BUCKET_FILE: aleph-node-${{ steps.get_branch.outputs.sha_short }}.tar.gz - # run: | - # tar -cvzf ${{ env.S3BUCKET_FILE }} -C ${{ env.BINARY_DIR }} ${{ env.BINARY_FILE }} - # aws s3 cp ${{ env.S3BUCKET_FILE }} ${{ env.S3BUCKET_URL }}/${{ env.S3BUCKET_FILE }} - - #- name: S3 CI MAINNET | Copy release runtime to S3 bucket - # if: env.SECRETS_AWS_MAINNET_ACCESS_KEY_ID != '' && env.SECRETS_AWS_MAINNET_SECRET_ACCESS_KEY != '' - # shell: bash - # env: - # BINARY_DIR: target/production/wbuild/aleph-runtime - # BINARY_FILE: aleph_runtime.compact.wasm - # S3BUCKET_URL: s3://${{ secrets.CI_MAINNET_S3BUCKET_NAME }}/builds/aleph-node/commits/${{ steps.get_branch.outputs.sha_short }}/aleph-runtime - # S3BUCKET_FILE: aleph-runtime-${{ steps.get_branch.outputs.sha_short }}.tar.gz - # run: | - # tar -cvzf ${{ env.S3BUCKET_FILE }} -C ${{ env.BINARY_DIR }} ${{ env.BINARY_FILE }} - # aws s3 cp ${{ env.S3BUCKET_FILE }} ${{ env.S3BUCKET_URL }}/${{ env.S3BUCKET_FILE }} + - name: S3 CI MAINNET | Configure AWS credentials + if: env.SECRETS_AWS_MAINNET_ACCESS_KEY_ID != '' && env.SECRETS_AWS_MAINNET_SECRET_ACCESS_KEY != '' + uses: aws-actions/configure-aws-credentials@v1 + env: + AWS_ACCESS_KEY_ID: "" + AWS_SECRET_ACCESS_KEY: "" + AWS_SESSION_TOKEN: "" + AWS_DEFAULT_REGION: "" + AWS_REGION: us-east-1 + with: + aws-access-key-id: ${{ secrets.AWS_MAINNET_ACCESS_KEY_ID }} + aws-secret-access-key: ${{ secrets.AWS_MAINNET_SECRET_ACCESS_KEY }} + aws-region: ${{ env.AWS_REGION }} + + - name: S3 CI MAINNET | Copy release binary to S3 bucket + if: env.SECRETS_AWS_MAINNET_ACCESS_KEY_ID != '' && env.SECRETS_AWS_MAINNET_SECRET_ACCESS_KEY != '' + shell: bash + env: + BINARY_DIR: target/production + BINARY_FILE: aleph-node + S3BUCKET_URL: s3://${{ secrets.CI_MAINNET_S3BUCKET_NAME }}/builds/aleph-node/commits/${{ steps.get_branch.outputs.sha_short }}/aleph-node + S3BUCKET_FILE: aleph-node-${{ steps.get_branch.outputs.sha_short }}.tar.gz + run: | + tar -cvzf ${{ env.S3BUCKET_FILE }} -C ${{ env.BINARY_DIR }} ${{ env.BINARY_FILE }} + aws s3 cp ${{ env.S3BUCKET_FILE }} ${{ env.S3BUCKET_URL }}/${{ env.S3BUCKET_FILE }} + + - name: S3 CI MAINNET | Copy release runtime to S3 bucket + if: env.SECRETS_AWS_MAINNET_ACCESS_KEY_ID != '' && env.SECRETS_AWS_MAINNET_SECRET_ACCESS_KEY != '' + shell: bash + env: + BINARY_DIR: target/production/wbuild/aleph-runtime + BINARY_FILE: aleph_runtime.compact.wasm + S3BUCKET_URL: s3://${{ secrets.CI_MAINNET_S3BUCKET_NAME }}/builds/aleph-node/commits/${{ steps.get_branch.outputs.sha_short }}/aleph-runtime + S3BUCKET_FILE: aleph-runtime-${{ steps.get_branch.outputs.sha_short }}.tar.gz + run: | + tar -cvzf ${{ env.S3BUCKET_FILE }} -C ${{ env.BINARY_DIR }} ${{ env.BINARY_FILE }} + aws s3 cp ${{ env.S3BUCKET_FILE }} ${{ env.S3BUCKET_URL }}/${{ env.S3BUCKET_FILE }} + - name: Build test binary run: cargo build --release -p aleph-node --features "short_session enable_treasury_proposals only_legacy" @@ -166,61 +118,26 @@ jobs: if-no-files-found: error retention-days: 7 - #- name: S3 CI MAINNET | Copy test binary to S3 bucket - # if: env.SECRETS_AWS_MAINNET_ACCESS_KEY_ID != '' && env.SECRETS_AWS_MAINNET_SECRET_ACCESS_KEY != '' - # shell: bash - # env: - # BINARY_DIR: target/release - # BINARY_FILE: aleph-node - # S3BUCKET_URL: s3://${{ secrets.CI_MAINNET_S3BUCKET_NAME }}/builds/aleph-node/commits/${{ steps.get_branch.outputs.sha_short }}/aleph-test-node - # S3BUCKET_FILE: aleph-test-node-${{ steps.get_branch.outputs.sha_short }}.tar.gz - # run: | - # tar -cvzf ${{ env.S3BUCKET_FILE }} -C ${{ env.BINARY_DIR }} ${{ env.BINARY_FILE }} - # aws s3 cp ${{ env.S3BUCKET_FILE }} ${{ env.S3BUCKET_URL }}/${{ env.S3BUCKET_FILE }} - - #- name: S3 CI MAINNET | Copy test runtime to S3 bucket - # if: env.SECRETS_AWS_MAINNET_ACCESS_KEY_ID != '' && env.SECRETS_AWS_MAINNET_SECRET_ACCESS_KEY != '' - # shell: bash - # env: - # BINARY_DIR: target/release/wbuild/aleph-runtime - # BINARY_FILE: aleph_runtime.compact.wasm - # S3BUCKET_URL: s3://${{ secrets.CI_MAINNET_S3BUCKET_NAME }}/builds/aleph-node/commits/${{ steps.get_branch.outputs.sha_short }}/aleph-test-runtime - # S3BUCKET_FILE: aleph-test-runtime-${{ steps.get_branch.outputs.sha_short }}.tar.gz - # run: | - # tar -cvzf ${{ env.S3BUCKET_FILE }} -C ${{ env.BINARY_DIR }} ${{ env.BINARY_FILE }} - # aws s3 cp ${{ env.S3BUCKET_FILE }} ${{ env.S3BUCKET_URL }}/${{ env.S3BUCKET_FILE }} - - - # Testing cargo-cache here - - name: S3 CI DEVNET | Upload '~/.cargo' to CI S3 bucket - if: env.SECRETS_AWS_DEVNET_ACCESS_KEY_ID != '' && env.SECRETS_AWS_DEVNET_SECRET_ACCESS_KEY != '' + - name: S3 CI MAINNET | Copy test binary to S3 bucket + if: env.SECRETS_AWS_MAINNET_ACCESS_KEY_ID != '' && env.SECRETS_AWS_MAINNET_SECRET_ACCESS_KEY != '' + shell: bash env: - S3BUCKET_PATH: rust-cache-dotcargo/${{ env.CACHE_KEY }} - CACHE_FILENAME: rust-cache-dotcargo.tar + BINARY_DIR: target/release + BINARY_FILE: aleph-node + S3BUCKET_URL: s3://${{ secrets.CI_MAINNET_S3BUCKET_NAME }}/builds/aleph-node/commits/${{ steps.get_branch.outputs.sha_short }}/aleph-test-node + S3BUCKET_FILE: aleph-test-node-${{ steps.get_branch.outputs.sha_short }}.tar.gz run: | - tar -cf ${{ env.CACHE_FILENAME }} -C ~/.cargo . - aws s3 cp ${{ env.CACHE_FILENAME }} s3://${{ secrets.CI_S3BUCKET_NAME }}/${{ env.S3BUCKET_PATH }}/${{ env.CACHE_FILENAME }} + tar -cvzf ${{ env.S3BUCKET_FILE }} -C ${{ env.BINARY_DIR }} ${{ env.BINARY_FILE }} + aws s3 cp ${{ env.S3BUCKET_FILE }} ${{ env.S3BUCKET_URL }}/${{ env.S3BUCKET_FILE }} - - name: S3 CI DEVNET | Upload 'target' to CI S3 bucket - if: env.SECRETS_AWS_DEVNET_ACCESS_KEY_ID != '' && env.SECRETS_AWS_DEVNET_SECRET_ACCESS_KEY != '' + - name: S3 CI MAINNET | Copy test runtime to S3 bucket + if: env.SECRETS_AWS_MAINNET_ACCESS_KEY_ID != '' && env.SECRETS_AWS_MAINNET_SECRET_ACCESS_KEY != '' + shell: bash env: - S3BUCKET_PATH: rust-cache-target/${{ env.CACHE_KEY }} - CACHE_FILENAME: rust-cache-target.tar + BINARY_DIR: target/release/wbuild/aleph-runtime + BINARY_FILE: aleph_runtime.compact.wasm + S3BUCKET_URL: s3://${{ secrets.CI_MAINNET_S3BUCKET_NAME }}/builds/aleph-node/commits/${{ steps.get_branch.outputs.sha_short }}/aleph-test-runtime + S3BUCKET_FILE: aleph-test-runtime-${{ steps.get_branch.outputs.sha_short }}.tar.gz run: | - tar -cf ${{ env.CACHE_FILENAME }} -C ./target . - aws s3 cp ${{ env.CACHE_FILENAME }} s3://${{ secrets.CI_S3BUCKET_NAME }}/${{ env.S3BUCKET_PATH }}/${{ env.CACHE_FILENAME }} - - - name: Prune unused packages from cargo cache - if: env.SECRETS_AWS_DEVNET_ACCESS_KEY_ID != '' && env.SECRETS_AWS_DEVNET_SECRET_ACCESS_KEY != '' - uses: actions-rs/cargo@v1 - with: - command: cache - args: clean-unref - - - name: Prune sources from cargo cache - if: env.SECRETS_AWS_DEVNET_ACCESS_KEY_ID != '' && env.SECRETS_AWS_DEVNET_SECRET_ACCESS_KEY != '' - uses: actions-rs/cargo@v1 - with: - command: cache - args: --autoclean - # End of Testing cargo-cache here + tar -cvzf ${{ env.S3BUCKET_FILE }} -C ${{ env.BINARY_DIR }} ${{ env.BINARY_FILE }} + aws s3 cp ${{ env.S3BUCKET_FILE }} ${{ env.S3BUCKET_URL }}/${{ env.S3BUCKET_FILE }} From 9e24f95db3545a6832e5e9dee14f25434d7f10b5 Mon Sep 17 00:00:00 2001 From: Mikolaj Gasior Date: Fri, 24 Feb 2023 11:25:26 +0100 Subject: [PATCH 188/212] Comment out using sccache --- .github/workflows/build-node-and-runtime.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-node-and-runtime.yml b/.github/workflows/build-node-and-runtime.yml index 52de31dd48..83c0a5ea22 100644 --- a/.github/workflows/build-node-and-runtime.yml +++ b/.github/workflows/build-node-and-runtime.yml @@ -18,7 +18,7 @@ jobs: runs-on: self-hosted env: RUST_BACKTRACE: full - RUSTC_WRAPPER: sccache + #RUSTC_WRAPPER: sccache SECRETS_AWS_MAINNET_ACCESS_KEY_ID: ${{ secrets.AWS_MAINNET_ACCESS_KEY_ID }} SECRETS_AWS_MAINNET_SECRET_ACCESS_KEY: ${{ secrets.AWS_MAINNET_SECRET_ACCESS_KEY }} SECRETS_AWS_DEVNET_ACCESS_KEY_ID: ${{ secrets.AWS_DEVNET_ACCESS_KEY_ID }} From 6721bb6492623b38689a0b51716616e637851765 Mon Sep 17 00:00:00 2001 From: Mikolaj Gasior Date: Fri, 24 Feb 2023 11:47:27 +0100 Subject: [PATCH 189/212] Restore sccache in build-node-and-runtime.yml --- .github/workflows/build-node-and-runtime.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-node-and-runtime.yml b/.github/workflows/build-node-and-runtime.yml index 83c0a5ea22..52de31dd48 100644 --- a/.github/workflows/build-node-and-runtime.yml +++ b/.github/workflows/build-node-and-runtime.yml @@ -18,7 +18,7 @@ jobs: runs-on: self-hosted env: RUST_BACKTRACE: full - #RUSTC_WRAPPER: sccache + RUSTC_WRAPPER: sccache SECRETS_AWS_MAINNET_ACCESS_KEY_ID: ${{ secrets.AWS_MAINNET_ACCESS_KEY_ID }} SECRETS_AWS_MAINNET_SECRET_ACCESS_KEY: ${{ secrets.AWS_MAINNET_SECRET_ACCESS_KEY }} SECRETS_AWS_DEVNET_ACCESS_KEY_ID: ${{ secrets.AWS_DEVNET_ACCESS_KEY_ID }} From d9a254dc69d55f90cdc842a34ea17ac18697c0f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Obrok?= Date: Fri, 24 Feb 2023 14:14:23 +0100 Subject: [PATCH 190/212] Trigger CI From e361df4341ddf5cbb7e9d1ab253fa9c1f1a3af5a Mon Sep 17 00:00:00 2001 From: kostekIV <27210860+kostekIV@users.noreply.github.com> Date: Fri, 24 Feb 2023 17:29:21 +0100 Subject: [PATCH 191/212] update to v0.9.38 (#944) * update to 0.9.38 * bump spec & lint * update metadata * set forck branch --- Cargo.lock | 427 ++++---- aleph-client/Cargo.lock | 706 ++++++++++--- aleph-client/Cargo.toml | 6 +- aleph-client/src/aleph_zero.rs | 497 +++------- benches/payout-stakers/Cargo.lock | 307 +++--- benches/payout-stakers/Cargo.toml | 4 +- bin/cliain/Cargo.lock | 936 ++++++++++++++---- bin/cliain/Cargo.toml | 4 +- bin/node/Cargo.toml | 72 +- bin/runtime/Cargo.toml | 78 +- bin/runtime/src/lib.rs | 10 +- e2e-tests/Cargo.lock | 853 ++++++++++++---- e2e-tests/Cargo.toml | 12 +- finality-aleph/Cargo.toml | 42 +- finality-aleph/src/session_map.rs | 13 +- flooder/Cargo.lock | 611 +++++++++--- flooder/Cargo.toml | 4 +- fork-off/Cargo.lock | 144 ++- fork-off/Cargo.toml | 8 +- pallets/aleph/Cargo.toml | 18 +- pallets/elections/Cargo.toml | 24 +- pallets/elections/src/impls.rs | 2 - pallets/support/Cargo.toml | 4 +- primitives/Cargo.toml | 12 +- .../synthetic-link/Cargo.lock | 12 +- 25 files changed, 3209 insertions(+), 1597 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index ddecda1ae8..6ac781747f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -164,6 +164,18 @@ dependencies = [ "version_check", ] +[[package]] +name = "ahash" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c99f64d1e06488f620f932677e24bc6e2897582980441ae90a671415bd7ec2f" +dependencies = [ + "cfg-if", + "getrandom 0.2.8", + "once_cell", + "version_check", +] + [[package]] name = "aho-corasick" version = "0.7.20" @@ -674,7 +686,7 @@ dependencies = [ [[package]] name = "beefy-merkle-tree" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "sp-api", "sp-beefy", @@ -1101,9 +1113,9 @@ dependencies = [ [[package]] name = "clap_lex" -version = "0.3.1" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "783fe232adfca04f90f56201b26d79682d4cd2625e0bc7290b95123afe558ade" +checksum = "350b9cf31731f9957399229e9b2adc51eeabdfbe9d71d9a0552275fd12710d09" dependencies = [ "os_str_bytes", ] @@ -1630,6 +1642,17 @@ dependencies = [ "syn", ] +[[package]] +name = "derive-syn-parse" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e79116f119dd1dba1abf1f3405f03b9b0e79a27a3883864bfebded8a3dc768cd" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "derive_builder" version = "0.11.2" @@ -1848,7 +1871,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7c24f403d068ad0b359e577a77f92392118be3f3c927538f2bb544a5ecd828c6" dependencies = [ "curve25519-dalek 3.2.0", - "hashbrown", + "hashbrown 0.12.3", "hex", "rand_core 0.6.4", "sha2 0.9.9", @@ -2165,7 +2188,7 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "fork-tree" version = "3.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "parity-scale-codec", ] @@ -2188,9 +2211,10 @@ checksum = "6c2141d6d6c8512188a7891b4b01590a45f6dac67afb4f255c4124dbb86d4eaa" [[package]] name = "frame-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "frame-support", + "frame-support-procedural", "frame-system", "linregress", "log", @@ -2206,12 +2230,13 @@ dependencies = [ "sp-runtime-interface", "sp-std", "sp-storage", + "static_assertions", ] [[package]] name = "frame-election-provider-solution-type" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -2222,7 +2247,7 @@ dependencies = [ [[package]] name = "frame-election-provider-support" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "frame-election-provider-solution-type", "frame-support", @@ -2239,7 +2264,7 @@ dependencies = [ [[package]] name = "frame-executive" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "frame-support", "frame-system", @@ -2268,7 +2293,7 @@ dependencies = [ [[package]] name = "frame-remote-externalities" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "futures", "log", @@ -2284,7 +2309,7 @@ dependencies = [ [[package]] name = "frame-support" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "bitflags", "frame-metadata", @@ -2316,10 +2341,11 @@ dependencies = [ [[package]] name = "frame-support-procedural" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "Inflector", "cfg-expr", + "derive-syn-parse", "frame-support-procedural-tools", "itertools", "proc-macro2", @@ -2330,7 +2356,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate", @@ -2342,7 +2368,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "proc-macro2", "quote", @@ -2352,7 +2378,7 @@ dependencies = [ [[package]] name = "frame-system" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "frame-support", "log", @@ -2370,7 +2396,7 @@ dependencies = [ [[package]] name = "frame-system-rpc-runtime-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "parity-scale-codec", "sp-api", @@ -2379,7 +2405,7 @@ dependencies = [ [[package]] name = "frame-try-runtime" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "frame-support", "parity-scale-codec", @@ -2683,9 +2709,15 @@ version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" dependencies = [ - "ahash", + "ahash 0.7.6", ] +[[package]] +name = "hashbrown" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e" + [[package]] name = "heck" version = "0.4.1" @@ -2999,7 +3031,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399" dependencies = [ "autocfg", - "hashbrown", + "hashbrown 0.12.3", "serde", ] @@ -3088,9 +3120,9 @@ checksum = "30e22bd8629359895450b59ea7a776c850561b96a3b1d31321c1949d9e6c9146" [[package]] name = "is-terminal" -version = "0.4.3" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22e18b0a45d56fe973d6db23972bf5bc46f988a4a2385deac9cc29572f09daef" +checksum = "21b6b32576413a8e69b90e952e4a026476040d81017b80445deda5f2d3921857" dependencies = [ "hermit-abi 0.3.1", "io-lifetimes 1.0.5", @@ -3985,7 +4017,7 @@ version = "0.7.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e999beba7b6e8345721bd280141ed958096a2e4abdf74f67ff4ce49b4b54e47a" dependencies = [ - "hashbrown", + "hashbrown 0.12.3", ] [[package]] @@ -3994,7 +4026,7 @@ version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b6e8aaa3f231bb4bd57b84b2d5dc3ae7f350265df8aa96492e0bc394a1571909" dependencies = [ - "hashbrown", + "hashbrown 0.12.3", ] [[package]] @@ -4091,9 +4123,9 @@ dependencies = [ [[package]] name = "memmap2" -version = "0.5.9" +version = "0.5.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2af2c65375e552a67fe3829ca63e8a7c27a378a62824594f43b2851d682b5ec2" +checksum = "83faa42c0a078c393f6b29d5db232d8be22776a891f8f56e5284faee4a20b327" dependencies = [ "libc", ] @@ -4123,7 +4155,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5e0c7cba9ce19ac7ffd2053ac9f49843bbd3f4318feedfd74e85c19d5fb0ba66" dependencies = [ "hash-db", - "hashbrown", + "hashbrown 0.12.3", ] [[package]] @@ -4412,6 +4444,20 @@ dependencies = [ "memoffset 0.6.5", ] +[[package]] +name = "nix" +version = "0.26.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfdda3d196821d6af13126e40375cdf7da646a96114af134d5f417a9a1dc8e1a" +dependencies = [ + "bitflags", + "cfg-if", + "libc", + "memoffset 0.7.1", + "pin-utils", + "static_assertions", +] + [[package]] name = "nohash-hasher" version = "0.2.0" @@ -4513,7 +4559,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "21158b2c33aa6d4561f1c0a6ea283ca92bc54802a93b263e910746d679a7eb53" dependencies = [ "crc32fast", - "hashbrown", + "hashbrown 0.12.3", "indexmap", "memchr", ] @@ -4630,7 +4676,7 @@ dependencies = [ [[package]] name = "pallet-aura" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "frame-support", "frame-system", @@ -4646,14 +4692,13 @@ dependencies = [ [[package]] name = "pallet-authorship" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "frame-support", "frame-system", "impl-trait-for-tuples", "parity-scale-codec", "scale-info", - "sp-authorship", "sp-runtime", "sp-std", ] @@ -4661,7 +4706,7 @@ dependencies = [ [[package]] name = "pallet-babe" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "frame-benchmarking", "frame-support", @@ -4685,7 +4730,7 @@ dependencies = [ [[package]] name = "pallet-balances" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "frame-benchmarking", "frame-support", @@ -4700,7 +4745,7 @@ dependencies = [ [[package]] name = "pallet-contracts" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "bitflags", "frame-benchmarking", @@ -4728,7 +4773,7 @@ dependencies = [ [[package]] name = "pallet-contracts-primitives" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "bitflags", "parity-scale-codec", @@ -4740,7 +4785,7 @@ dependencies = [ [[package]] name = "pallet-contracts-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "proc-macro2", "quote", @@ -4772,7 +4817,7 @@ dependencies = [ [[package]] name = "pallet-identity" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "enumflags2", "frame-benchmarking", @@ -4788,7 +4833,7 @@ dependencies = [ [[package]] name = "pallet-multisig" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "frame-benchmarking", "frame-support", @@ -4804,7 +4849,7 @@ dependencies = [ [[package]] name = "pallet-nomination-pools" version = "1.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "frame-support", "frame-system", @@ -4821,7 +4866,7 @@ dependencies = [ [[package]] name = "pallet-nomination-pools-runtime-api" version = "1.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "parity-scale-codec", "sp-api", @@ -4831,7 +4876,7 @@ dependencies = [ [[package]] name = "pallet-randomness-collective-flip" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "frame-support", "frame-system", @@ -4845,7 +4890,7 @@ dependencies = [ [[package]] name = "pallet-scheduler" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "frame-support", "frame-system", @@ -4861,7 +4906,7 @@ dependencies = [ [[package]] name = "pallet-session" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "frame-support", "frame-system", @@ -4882,7 +4927,7 @@ dependencies = [ [[package]] name = "pallet-staking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -4904,7 +4949,7 @@ dependencies = [ [[package]] name = "pallet-sudo" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "frame-support", "frame-system", @@ -4918,7 +4963,7 @@ dependencies = [ [[package]] name = "pallet-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "frame-benchmarking", "frame-support", @@ -4936,7 +4981,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "frame-support", "frame-system", @@ -4952,7 +4997,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "jsonrpsee", "pallet-transaction-payment-rpc-runtime-api", @@ -4968,7 +5013,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc-runtime-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "pallet-transaction-payment", "parity-scale-codec", @@ -4980,7 +5025,7 @@ dependencies = [ [[package]] name = "pallet-treasury" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "frame-benchmarking", "frame-support", @@ -4997,7 +5042,7 @@ dependencies = [ [[package]] name = "pallet-utility" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "frame-benchmarking", "frame-support", @@ -5013,7 +5058,7 @@ dependencies = [ [[package]] name = "pallet-vesting" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "frame-benchmarking", "frame-support", @@ -5479,9 +5524,9 @@ dependencies = [ [[package]] name = "prost" -version = "0.11.6" +version = "0.11.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21dc42e00223fc37204bd4aa177e69420c604ca4a183209a8f9de30c6d934698" +checksum = "3933d3ac2717077b3d5f42b40f59edfb1fb6a8c14e1c7de0f38075c4bac8e314" dependencies = [ "bytes", "prost-derive", @@ -5489,9 +5534,9 @@ dependencies = [ [[package]] name = "prost-build" -version = "0.11.6" +version = "0.11.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3f8ad728fb08fe212df3c05169e940fbb6d9d16a877ddde14644a983ba2012e" +checksum = "a24be1d23b4552a012093e1b93697b73d644ae9590e3253d878d0e77d411b614" dependencies = [ "bytes", "heck", @@ -5524,9 +5569,9 @@ dependencies = [ [[package]] name = "prost-derive" -version = "0.11.6" +version = "0.11.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8bda8c0881ea9f722eb9629376db3d0b903b462477c1aafcb0566610ac28ac5d" +checksum = "8e9935362e8369bc3acd874caeeae814295c504c2bdbcde5c024089cf8b4dc12" dependencies = [ "anyhow", "itertools", @@ -5537,11 +5582,10 @@ dependencies = [ [[package]] name = "prost-types" -version = "0.11.6" +version = "0.11.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5e0526209433e96d83d750dd81a99118edbc55739e7e61a46764fd2ad537788" +checksum = "7de56acd5cc9642cac2a9518d4c8c53818905398fe42d33235859e0d542a7695" dependencies = [ - "bytes", "prost", ] @@ -5912,7 +5956,7 @@ dependencies = [ "log", "netlink-packet-route", "netlink-proto", - "nix", + "nix 0.24.3", "thiserror", "tokio", ] @@ -6104,7 +6148,7 @@ dependencies = [ [[package]] name = "sc-allocator" version = "4.1.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "log", "sp-core", @@ -6115,7 +6159,7 @@ dependencies = [ [[package]] name = "sc-basic-authorship" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "futures", "futures-timer", @@ -6138,7 +6182,7 @@ dependencies = [ [[package]] name = "sc-block-builder" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "parity-scale-codec", "sc-client-api", @@ -6154,7 +6198,7 @@ dependencies = [ [[package]] name = "sc-chain-spec" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "memmap2", "sc-chain-spec-derive", @@ -6169,7 +6213,7 @@ dependencies = [ [[package]] name = "sc-chain-spec-derive" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -6180,7 +6224,7 @@ dependencies = [ [[package]] name = "sc-cli" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "array-bytes", "chrono", @@ -6220,7 +6264,7 @@ dependencies = [ [[package]] name = "sc-client-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "fnv", "futures", @@ -6246,7 +6290,7 @@ dependencies = [ [[package]] name = "sc-client-db" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "hash-db", "kvdb", @@ -6259,6 +6303,7 @@ dependencies = [ "parking_lot 0.12.1", "sc-client-api", "sc-state-db", + "schnellru", "sp-arithmetic", "sp-blockchain", "sp-core", @@ -6271,7 +6316,7 @@ dependencies = [ [[package]] name = "sc-consensus" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "async-trait", "futures", @@ -6296,7 +6341,7 @@ dependencies = [ [[package]] name = "sc-consensus-aura" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "async-trait", "futures", @@ -6325,7 +6370,7 @@ dependencies = [ [[package]] name = "sc-consensus-slots" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "async-trait", "futures", @@ -6348,7 +6393,7 @@ dependencies = [ [[package]] name = "sc-executor" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "lru 0.8.1", "parity-scale-codec", @@ -6372,7 +6417,7 @@ dependencies = [ [[package]] name = "sc-executor-common" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "sc-allocator", "sp-maybe-compressed-blob", @@ -6385,7 +6430,7 @@ dependencies = [ [[package]] name = "sc-executor-wasmi" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "log", "sc-allocator", @@ -6398,7 +6443,7 @@ dependencies = [ [[package]] name = "sc-executor-wasmtime" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "cfg-if", "libc", @@ -6415,7 +6460,7 @@ dependencies = [ [[package]] name = "sc-informant" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "ansi_term", "futures", @@ -6430,7 +6475,7 @@ dependencies = [ [[package]] name = "sc-keystore" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "array-bytes", "async-trait", @@ -6445,7 +6490,7 @@ dependencies = [ [[package]] name = "sc-network" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "array-bytes", "async-trait", @@ -6487,7 +6532,7 @@ dependencies = [ [[package]] name = "sc-network-bitswap" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "cid", "futures", @@ -6506,7 +6551,7 @@ dependencies = [ [[package]] name = "sc-network-common" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "async-trait", "bitflags", @@ -6532,7 +6577,7 @@ dependencies = [ [[package]] name = "sc-network-light" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "array-bytes", "futures", @@ -6553,7 +6598,7 @@ dependencies = [ [[package]] name = "sc-network-sync" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "array-bytes", "async-trait", @@ -6585,7 +6630,7 @@ dependencies = [ [[package]] name = "sc-network-transactions" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "array-bytes", "futures", @@ -6604,7 +6649,7 @@ dependencies = [ [[package]] name = "sc-offchain" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "array-bytes", "bytes", @@ -6634,7 +6679,7 @@ dependencies = [ [[package]] name = "sc-peerset" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "futures", "libp2p 0.50.0", @@ -6647,7 +6692,7 @@ dependencies = [ [[package]] name = "sc-proposer-metrics" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "log", "substrate-prometheus-endpoint", @@ -6656,7 +6701,7 @@ dependencies = [ [[package]] name = "sc-rpc" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "futures", "jsonrpsee", @@ -6680,12 +6725,13 @@ dependencies = [ "sp-runtime", "sp-session", "sp-version", + "tokio", ] [[package]] name = "sc-rpc-api" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "jsonrpsee", "parity-scale-codec", @@ -6704,7 +6750,7 @@ dependencies = [ [[package]] name = "sc-rpc-server" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "http", "jsonrpsee", @@ -6719,7 +6765,7 @@ dependencies = [ [[package]] name = "sc-rpc-spec-v2" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "array-bytes", "futures", @@ -6745,7 +6791,7 @@ dependencies = [ [[package]] name = "sc-service" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "async-trait", "directories", @@ -6776,6 +6822,7 @@ dependencies = [ "sc-rpc", "sc-rpc-server", "sc-rpc-spec-v2", + "sc-storage-monitor", "sc-sysinfo", "sc-telemetry", "sc-tracing", @@ -6810,7 +6857,7 @@ dependencies = [ [[package]] name = "sc-state-db" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "log", "parity-scale-codec", @@ -6818,10 +6865,26 @@ dependencies = [ "sp-core", ] +[[package]] +name = "sc-storage-monitor" +version = "0.1.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +dependencies = [ + "clap", + "futures", + "log", + "nix 0.26.2", + "sc-client-db", + "sc-utils", + "sp-core", + "thiserror", + "tokio", +] + [[package]] name = "sc-sysinfo" version = "6.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "futures", "libc", @@ -6840,7 +6903,7 @@ dependencies = [ [[package]] name = "sc-telemetry" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "chrono", "futures", @@ -6859,7 +6922,7 @@ dependencies = [ [[package]] name = "sc-tracing" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "ansi_term", "atty", @@ -6890,7 +6953,7 @@ dependencies = [ [[package]] name = "sc-tracing-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -6901,13 +6964,14 @@ dependencies = [ [[package]] name = "sc-transaction-pool" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "async-trait", "futures", "futures-timer", "linked-hash-map", "log", + "num-traits", "parity-scale-codec", "parking_lot 0.12.1", "sc-client-api", @@ -6927,7 +6991,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "async-trait", "futures", @@ -6941,7 +7005,7 @@ dependencies = [ [[package]] name = "sc-utils" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "backtrace", "futures", @@ -6987,6 +7051,17 @@ dependencies = [ "windows-sys 0.42.0", ] +[[package]] +name = "schnellru" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "772575a524feeb803e5b0fcbc6dd9f367e579488197c94c6e4023aad2305774d" +dependencies = [ + "ahash 0.8.3", + "cfg-if", + "hashbrown 0.13.2", +] + [[package]] name = "schnorrkel" version = "0.9.1" @@ -7356,7 +7431,7 @@ dependencies = [ [[package]] name = "sp-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "hash-db", "log", @@ -7374,7 +7449,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "blake2", "proc-macro-crate", @@ -7386,7 +7461,7 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "parity-scale-codec", "scale-info", @@ -7399,7 +7474,7 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "integer-sqrt", "num-traits", @@ -7410,22 +7485,10 @@ dependencies = [ "static_assertions", ] -[[package]] -name = "sp-authorship" -version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" -dependencies = [ - "async-trait", - "parity-scale-codec", - "sp-inherents", - "sp-runtime", - "sp-std", -] - [[package]] name = "sp-beefy" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "parity-scale-codec", "scale-info", @@ -7442,7 +7505,7 @@ dependencies = [ [[package]] name = "sp-block-builder" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "parity-scale-codec", "sp-api", @@ -7454,7 +7517,7 @@ dependencies = [ [[package]] name = "sp-blockchain" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "futures", "log", @@ -7472,7 +7535,7 @@ dependencies = [ [[package]] name = "sp-consensus" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "async-trait", "futures", @@ -7490,7 +7553,7 @@ dependencies = [ [[package]] name = "sp-consensus-aura" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "async-trait", "parity-scale-codec", @@ -7508,7 +7571,7 @@ dependencies = [ [[package]] name = "sp-consensus-babe" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "async-trait", "merlin", @@ -7531,7 +7594,7 @@ dependencies = [ [[package]] name = "sp-consensus-slots" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "parity-scale-codec", "scale-info", @@ -7543,7 +7606,7 @@ dependencies = [ [[package]] name = "sp-consensus-vrf" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "parity-scale-codec", "scale-info", @@ -7556,7 +7619,7 @@ dependencies = [ [[package]] name = "sp-core" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "array-bytes", "base58", @@ -7598,7 +7661,7 @@ dependencies = [ [[package]] name = "sp-core-hashing" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "blake2", "byteorder", @@ -7612,7 +7675,7 @@ dependencies = [ [[package]] name = "sp-core-hashing-proc-macro" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "proc-macro2", "quote", @@ -7623,7 +7686,7 @@ dependencies = [ [[package]] name = "sp-database" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "kvdb", "parking_lot 0.12.1", @@ -7632,7 +7695,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "proc-macro2", "quote", @@ -7642,7 +7705,7 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.13.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "environmental", "parity-scale-codec", @@ -7653,7 +7716,7 @@ dependencies = [ [[package]] name = "sp-finality-grandpa" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "finality-grandpa", "log", @@ -7671,7 +7734,7 @@ dependencies = [ [[package]] name = "sp-inherents" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "async-trait", "impl-trait-for-tuples", @@ -7685,7 +7748,7 @@ dependencies = [ [[package]] name = "sp-io" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "bytes", "ed25519", @@ -7710,7 +7773,7 @@ dependencies = [ [[package]] name = "sp-keyring" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "lazy_static", "sp-core", @@ -7721,7 +7784,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.13.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "async-trait", "futures", @@ -7738,7 +7801,7 @@ dependencies = [ [[package]] name = "sp-maybe-compressed-blob" version = "4.1.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "thiserror", "zstd", @@ -7747,7 +7810,7 @@ dependencies = [ [[package]] name = "sp-mmr-primitives" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "ckb-merkle-mountain-range", "log", @@ -7765,7 +7828,7 @@ dependencies = [ [[package]] name = "sp-npos-elections" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "parity-scale-codec", "scale-info", @@ -7779,7 +7842,7 @@ dependencies = [ [[package]] name = "sp-offchain" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "sp-api", "sp-core", @@ -7789,7 +7852,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "backtrace", "lazy_static", @@ -7799,7 +7862,7 @@ dependencies = [ [[package]] name = "sp-rpc" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "rustc-hash", "serde", @@ -7809,7 +7872,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "either", "hash256-std-hasher", @@ -7831,7 +7894,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "bytes", "impl-trait-for-tuples", @@ -7849,7 +7912,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "Inflector", "proc-macro-crate", @@ -7861,7 +7924,7 @@ dependencies = [ [[package]] name = "sp-session" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "parity-scale-codec", "scale-info", @@ -7875,7 +7938,7 @@ dependencies = [ [[package]] name = "sp-staking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "parity-scale-codec", "scale-info", @@ -7887,7 +7950,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.13.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "hash-db", "log", @@ -7907,12 +7970,12 @@ dependencies = [ [[package]] name = "sp-std" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" [[package]] name = "sp-storage" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "impl-serde", "parity-scale-codec", @@ -7925,7 +7988,7 @@ dependencies = [ [[package]] name = "sp-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "async-trait", "futures-timer", @@ -7940,7 +8003,7 @@ dependencies = [ [[package]] name = "sp-tracing" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "parity-scale-codec", "sp-std", @@ -7952,7 +8015,7 @@ dependencies = [ [[package]] name = "sp-transaction-pool" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "sp-api", "sp-runtime", @@ -7961,7 +8024,7 @@ dependencies = [ [[package]] name = "sp-transaction-storage-proof" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "async-trait", "log", @@ -7977,18 +8040,18 @@ dependencies = [ [[package]] name = "sp-trie" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ - "ahash", + "ahash 0.8.3", "hash-db", - "hashbrown", + "hashbrown 0.12.3", "lazy_static", - "lru 0.8.1", "memory-db", "nohash-hasher", "parity-scale-codec", "parking_lot 0.12.1", "scale-info", + "schnellru", "sp-core", "sp-std", "thiserror", @@ -8000,7 +8063,7 @@ dependencies = [ [[package]] name = "sp-version" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "impl-serde", "parity-scale-codec", @@ -8017,7 +8080,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "parity-scale-codec", "proc-macro2", @@ -8028,7 +8091,7 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "impl-trait-for-tuples", "log", @@ -8041,7 +8104,7 @@ dependencies = [ [[package]] name = "sp-weights" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "parity-scale-codec", "scale-info", @@ -8077,9 +8140,9 @@ dependencies = [ [[package]] name = "ss58-registry" -version = "1.38.0" +version = "1.39.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e40c020d72bc0a9c5660bb71e4a6fdef081493583062c474740a7d59f55f0e7b" +checksum = "ecf0bd63593ef78eca595a7fc25e9a443ca46fe69fd472f8f09f5245cdcd769d" dependencies = [ "Inflector", "num-format", @@ -8206,7 +8269,7 @@ dependencies = [ [[package]] name = "substrate-build-script-utils" version = "3.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "platforms 2.0.0", ] @@ -8214,7 +8277,7 @@ dependencies = [ [[package]] name = "substrate-frame-rpc-system" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "frame-system-rpc-runtime-api", "futures", @@ -8233,7 +8296,7 @@ dependencies = [ [[package]] name = "substrate-prometheus-endpoint" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "hyper", "log", @@ -8245,7 +8308,7 @@ dependencies = [ [[package]] name = "substrate-rpc-client" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "async-trait", "jsonrpsee", @@ -8258,7 +8321,7 @@ dependencies = [ [[package]] name = "substrate-test-client" version = "2.0.1" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "array-bytes", "async-trait", @@ -8284,7 +8347,7 @@ dependencies = [ [[package]] name = "substrate-test-runtime" version = "2.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "beefy-merkle-tree", "cfg-if", @@ -8327,7 +8390,7 @@ dependencies = [ [[package]] name = "substrate-test-runtime-client" version = "2.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "futures", "parity-scale-codec", @@ -8346,7 +8409,7 @@ dependencies = [ [[package]] name = "substrate-wasm-builder" version = "5.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "ansi_term", "build-helper", @@ -8377,9 +8440,9 @@ checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" [[package]] name = "syn" -version = "1.0.107" +version = "1.0.109" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f4064b5b16e03ae50984a5a8ed5d4f8803e6bc1fd170a3cda91a1be4b18e3f5" +checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" dependencies = [ "proc-macro2", "quote", @@ -8805,7 +8868,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "004e1e8f92535694b4cb1444dc5a8073ecf0815e3357f729638b9f8fc4062908" dependencies = [ "hash-db", - "hashbrown", + "hashbrown 0.12.3", "log", "rustc-hex", "smallvec", @@ -8875,7 +8938,7 @@ checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed" [[package]] name = "try-runtime-cli" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "clap", "frame-remote-externalities", @@ -9203,9 +9266,9 @@ dependencies = [ [[package]] name = "wasm-opt" -version = "0.110.2" +version = "0.111.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b68e8037b4daf711393f4be2056246d12d975651b14d581520ad5d1f19219cec" +checksum = "84a303793cbc01fb96551badfc7367db6007396bba6bac97936b3c8b6f7fdb41" dependencies = [ "anyhow", "libc", @@ -9219,9 +9282,9 @@ dependencies = [ [[package]] name = "wasm-opt-cxx-sys" -version = "0.110.2" +version = "0.111.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91adbad477e97bba3fbd21dd7bfb594e7ad5ceb9169ab1c93ab9cb0ada636b6f" +checksum = "d9c9deb56f8a9f2ec177b3bd642a8205621835944ed5da55f2388ef216aca5a4" dependencies = [ "anyhow", "cxx", @@ -9231,9 +9294,9 @@ dependencies = [ [[package]] name = "wasm-opt-sys" -version = "0.110.2" +version = "0.111.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec4fa5a322a4e6ac22fd141f498d56afbdbf9df5debeac32380d2dcaa3e06941" +checksum = "4432e28b542738a9776cedf92e8a99d8991c7b4667ee2c7ccddfb479dd2856a7" dependencies = [ "anyhow", "cc", @@ -9751,7 +9814,7 @@ dependencies = [ "lazy_static", "libc", "log", - "nix", + "nix 0.24.3", "rand 0.8.5", "thiserror", "tokio", diff --git a/aleph-client/Cargo.lock b/aleph-client/Cargo.lock index 0e5955769d..bec58962ad 100644 --- a/aleph-client/Cargo.lock +++ b/aleph-client/Cargo.lock @@ -47,6 +47,18 @@ dependencies = [ "version_check", ] +[[package]] +name = "ahash" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c99f64d1e06488f620f932677e24bc6e2897582980441ae90a671415bd7ec2f" +dependencies = [ + "cfg-if", + "getrandom 0.2.8", + "once_cell", + "version_check", +] + [[package]] name = "aho-corasick" version = "0.7.20" @@ -74,7 +86,7 @@ dependencies = [ "primitives", "serde", "serde_json", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", "subxt", "thiserror", "tokio", @@ -649,6 +661,17 @@ dependencies = [ "syn", ] +[[package]] +name = "derive-syn-parse" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e79116f119dd1dba1abf1f3405f03b9b0e79a27a3883864bfebded8a3dc768cd" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "derive_more" version = "0.99.17" @@ -762,7 +785,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7c24f403d068ad0b359e577a77f92392118be3f3c927538f2bb544a5ecd828c6" dependencies = [ "curve25519-dalek 3.2.0", - "hashbrown", + "hashbrown 0.12.3", "hex", "rand_core 0.6.4", "sha2 0.9.9", @@ -909,7 +932,7 @@ dependencies = [ [[package]] name = "frame-support" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "bitflags", "frame-metadata", @@ -923,28 +946,29 @@ dependencies = [ "scale-info", "serde", "smallvec", - "sp-api", - "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-core-hashing-proc-macro", + "sp-api 4.0.0-dev (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-core-hashing-proc-macro 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", "sp-inherents", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-staking", - "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-staking 4.0.0-dev (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", "tt-call", ] [[package]] name = "frame-support-procedural" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "Inflector", "cfg-expr", + "derive-syn-parse", "frame-support-procedural-tools", "itertools", "proc-macro2", @@ -955,7 +979,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate", @@ -967,7 +991,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "proc-macro2", "quote", @@ -1203,9 +1227,15 @@ version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" dependencies = [ - "ahash", + "ahash 0.7.6", ] +[[package]] +name = "hashbrown" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e" + [[package]] name = "heck" version = "0.4.1" @@ -1423,7 +1453,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399" dependencies = [ "autocfg", - "hashbrown", + "hashbrown 0.12.3", "serde", ] @@ -1798,7 +1828,7 @@ version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b6e8aaa3f231bb4bd57b84b2d5dc3ae7f350265df8aa96492e0bc394a1571909" dependencies = [ - "hashbrown", + "hashbrown 0.12.3", ] [[package]] @@ -1841,7 +1871,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "34ac11bb793c28fa095b7554466f53b3a60a2cd002afdac01bcf135cbd73a269" dependencies = [ "hash-db", - "hashbrown", + "hashbrown 0.12.3", "parity-util-mem", ] @@ -1852,7 +1882,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5e0c7cba9ce19ac7ffd2053ac9f49843bbd3f4318feedfd74e85c19d5fb0ba66" dependencies = [ "hash-db", - "hashbrown", + "hashbrown 0.12.3", ] [[package]] @@ -2007,7 +2037,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "21158b2c33aa6d4561f1c0a6ea283ca92bc54802a93b263e910746d679a7eb53" dependencies = [ "crc32fast", - "hashbrown", + "hashbrown 0.12.3", "indexmap", "memchr", ] @@ -2048,13 +2078,13 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "pallet-contracts-primitives" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "bitflags", "parity-scale-codec", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", ] [[package]] @@ -2091,7 +2121,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0d32c34f4f5ca7f9196001c0aba5a1f9a5a12382c8944b8b0f90233282d1e8f8" dependencies = [ "cfg-if", - "hashbrown", + "hashbrown 0.12.3", "impl-trait-for-tuples", "parity-util-mem-derive", "parking_lot", @@ -2252,12 +2282,12 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-api", - "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-staking", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-api 4.0.0-dev (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-staking 4.0.0-dev (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", ] [[package]] @@ -2647,6 +2677,17 @@ dependencies = [ "windows-sys 0.42.0", ] +[[package]] +name = "schnellru" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "772575a524feeb803e5b0fcbc6dd9f367e579488197c94c6e4023aad2305774d" +dependencies = [ + "ahash 0.8.3", + "cfg-if", + "hashbrown 0.13.2", +] + [[package]] name = "schnorrkel" version = "0.9.1" @@ -2930,25 +2971,55 @@ dependencies = [ [[package]] name = "sp-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +dependencies = [ + "hash-db", + "log", + "parity-scale-codec", + "sp-api-proc-macro 4.0.0-dev (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-version 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "thiserror", +] + +[[package]] +name = "sp-api" +version = "4.0.0-dev" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" dependencies = [ "hash-db", "log", "parity-scale-codec", - "sp-api-proc-macro", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-version", + "sp-api-proc-macro 4.0.0-dev (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-version 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", "thiserror", ] [[package]] name = "sp-api-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +dependencies = [ + "blake2", + "proc-macro-crate", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "sp-api-proc-macro" +version = "4.0.0-dev" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" dependencies = [ "blake2", "proc-macro-crate", @@ -2974,14 +3045,27 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", +] + +[[package]] +name = "sp-application-crypto" +version = "7.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" +dependencies = [ + "parity-scale-codec", + "scale-info", + "serde", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", ] [[package]] @@ -3003,14 +3087,28 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "integer-sqrt", "num-traits", "parity-scale-codec", "scale-info", "serde", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "static_assertions", +] + +[[package]] +name = "sp-arithmetic" +version = "6.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" +dependencies = [ + "integer-sqrt", + "num-traits", + "parity-scale-codec", + "scale-info", + "serde", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", "static_assertions", ] @@ -3063,7 +3161,7 @@ dependencies = [ [[package]] name = "sp-core" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "array-bytes", "base58", @@ -3089,12 +3187,54 @@ dependencies = [ "secp256k1 0.24.3", "secrecy", "serde", - "sp-core-hashing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-core-hashing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "ss58-registry", + "substrate-bip39", + "thiserror", + "tiny-bip39 1.0.0", + "zeroize", +] + +[[package]] +name = "sp-core" +version = "7.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" +dependencies = [ + "array-bytes", + "base58", + "bitflags", + "blake2", + "dyn-clonable", + "ed25519-zebra", + "futures", + "hash-db", + "hash256-std-hasher", + "impl-serde", + "lazy_static", + "libsecp256k1", + "log", + "merlin", + "parity-scale-codec", + "parking_lot", + "primitive-types", + "rand 0.8.5", + "regex", + "scale-info", + "schnorrkel", + "secp256k1 0.24.3", + "secrecy", + "serde", + "sp-core-hashing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", "ss58-registry", "substrate-bip39", "thiserror", @@ -3120,25 +3260,50 @@ dependencies = [ [[package]] name = "sp-core-hashing" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +dependencies = [ + "blake2", + "byteorder", + "digest 0.10.6", + "sha2 0.10.6", + "sha3", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "twox-hash", +] + +[[package]] +name = "sp-core-hashing" +version = "5.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" dependencies = [ "blake2", "byteorder", "digest 0.10.6", "sha2 0.10.6", "sha3", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", "twox-hash", ] [[package]] name = "sp-core-hashing-proc-macro" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +dependencies = [ + "proc-macro2", + "quote", + "sp-core-hashing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "syn", +] + +[[package]] +name = "sp-core-hashing-proc-macro" +version = "5.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" dependencies = [ "proc-macro2", "quote", - "sp-core-hashing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-core-hashing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", "syn", ] @@ -3156,7 +3321,17 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "sp-debug-derive" +version = "5.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" dependencies = [ "proc-macro2", "quote", @@ -3178,25 +3353,36 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.13.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "environmental", "parity-scale-codec", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", +] + +[[package]] +name = "sp-externalities" +version = "0.13.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" +dependencies = [ + "environmental", + "parity-scale-codec", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", ] [[package]] name = "sp-inherents" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "async-trait", "impl-trait-for-tuples", "parity-scale-codec", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", "thiserror", ] @@ -3230,7 +3416,32 @@ dependencies = [ [[package]] name = "sp-io" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +dependencies = [ + "bytes", + "ed25519", + "ed25519-dalek", + "futures", + "libsecp256k1", + "log", + "parity-scale-codec", + "secp256k1 0.24.3", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-keystore 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "tracing", + "tracing-core", +] + +[[package]] +name = "sp-io" +version = "7.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" dependencies = [ "bytes", "ed25519", @@ -3240,14 +3451,14 @@ dependencies = [ "log", "parity-scale-codec", "secp256k1 0.24.3", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-keystore 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-keystore 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", "tracing", "tracing-core", ] @@ -3272,7 +3483,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.13.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "async-trait", "futures", @@ -3280,8 +3491,24 @@ dependencies = [ "parity-scale-codec", "parking_lot", "schnorrkel", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "thiserror", +] + +[[package]] +name = "sp-keystore" +version = "0.13.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" +dependencies = [ + "async-trait", + "futures", + "merlin", + "parity-scale-codec", + "parking_lot", + "schnorrkel", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", "thiserror", ] @@ -3299,7 +3526,17 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +dependencies = [ + "backtrace", + "lazy_static", + "regex", +] + +[[package]] +name = "sp-panic-handler" +version = "5.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" dependencies = [ "backtrace", "lazy_static", @@ -3333,7 +3570,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "either", "hash256-std-hasher", @@ -3344,12 +3581,34 @@ dependencies = [ "rand 0.8.5", "scale-info", "serde", - "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", +] + +[[package]] +name = "sp-runtime" +version = "7.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" +dependencies = [ + "either", + "hash256-std-hasher", + "impl-trait-for-tuples", + "log", + "parity-scale-codec", + "paste", + "rand 0.8.5", + "scale-info", + "serde", + "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", ] [[package]] @@ -3374,18 +3633,36 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +dependencies = [ + "bytes", + "impl-trait-for-tuples", + "parity-scale-codec", + "primitive-types", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-runtime-interface-proc-macro 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-wasm-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "static_assertions", +] + +[[package]] +name = "sp-runtime-interface" +version = "7.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" dependencies = [ "bytes", "impl-trait-for-tuples", "parity-scale-codec", "primitive-types", - "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-runtime-interface-proc-macro 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-wasm-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-runtime-interface-proc-macro 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-wasm-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", "static_assertions", ] @@ -3405,7 +3682,19 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +dependencies = [ + "Inflector", + "proc-macro-crate", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "sp-runtime-interface-proc-macro" +version = "6.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" dependencies = [ "Inflector", "proc-macro-crate", @@ -3417,13 +3706,25 @@ dependencies = [ [[package]] name = "sp-staking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "parity-scale-codec", "scale-info", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", +] + +[[package]] +name = "sp-staking" +version = "4.0.0-dev" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" +dependencies = [ + "parity-scale-codec", + "scale-info", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", ] [[package]] @@ -3452,7 +3753,27 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.13.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +dependencies = [ + "hash-db", + "log", + "parity-scale-codec", + "parking_lot", + "rand 0.8.5", + "smallvec", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-panic-handler 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "thiserror", + "tracing", +] + +[[package]] +name = "sp-state-machine" +version = "0.13.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" dependencies = [ "hash-db", "log", @@ -3460,11 +3781,11 @@ dependencies = [ "parking_lot", "rand 0.8.5", "smallvec", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-panic-handler 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-panic-handler 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", "thiserror", "tracing", ] @@ -3478,7 +3799,12 @@ checksum = "cf3fd4c1d304be101e6ebbafd3d4be9a37b320c970ef4e8df188b16873981c93" [[package]] name = "sp-std" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" + +[[package]] +name = "sp-std" +version = "5.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" [[package]] name = "sp-storage" @@ -3497,14 +3823,27 @@ dependencies = [ [[package]] name = "sp-storage" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +dependencies = [ + "impl-serde", + "parity-scale-codec", + "ref-cast", + "serde", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", +] + +[[package]] +name = "sp-storage" +version = "7.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" dependencies = [ "impl-serde", "parity-scale-codec", "ref-cast", "serde", - "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", ] [[package]] @@ -3523,10 +3862,22 @@ dependencies = [ [[package]] name = "sp-tracing" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +dependencies = [ + "parity-scale-codec", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "tracing", + "tracing-core", + "tracing-subscriber", +] + +[[package]] +name = "sp-tracing" +version = "6.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" dependencies = [ "parity-scale-codec", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", "tracing", "tracing-core", "tracing-subscriber", @@ -3538,9 +3889,9 @@ version = "7.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2f4f48c887e90050537e399d2d8b6ee82787ebec0fe46e4880b42cab0c2d5ba6" dependencies = [ - "ahash", + "ahash 0.7.6", "hash-db", - "hashbrown", + "hashbrown 0.12.3", "lazy_static", "lru", "memory-db 0.30.0", @@ -3559,20 +3910,43 @@ dependencies = [ [[package]] name = "sp-trie" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ - "ahash", + "ahash 0.8.3", "hash-db", - "hashbrown", + "hashbrown 0.12.3", + "lazy_static", + "memory-db 0.31.0", + "nohash-hasher", + "parity-scale-codec", + "parking_lot", + "scale-info", + "schnellru", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "thiserror", + "tracing", + "trie-db", + "trie-root", +] + +[[package]] +name = "sp-trie" +version = "7.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" +dependencies = [ + "ahash 0.8.3", + "hash-db", + "hashbrown 0.12.3", "lazy_static", - "lru", "memory-db 0.31.0", "nohash-hasher", "parity-scale-codec", "parking_lot", "scale-info", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "schnellru", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", "thiserror", "tracing", "trie-db", @@ -3582,24 +3956,52 @@ dependencies = [ [[package]] name = "sp-version" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +dependencies = [ + "impl-serde", + "parity-scale-codec", + "parity-wasm", + "scale-info", + "serde", + "sp-core-hashing-proc-macro 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-version-proc-macro 4.0.0-dev (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "thiserror", +] + +[[package]] +name = "sp-version" +version = "5.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" dependencies = [ "impl-serde", "parity-scale-codec", "parity-wasm", "scale-info", "serde", - "sp-core-hashing-proc-macro", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-version-proc-macro", + "sp-core-hashing-proc-macro 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-version-proc-macro 4.0.0-dev (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", "thiserror", ] [[package]] name = "sp-version-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +dependencies = [ + "parity-scale-codec", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "sp-version-proc-macro" +version = "4.0.0-dev" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" dependencies = [ "parity-scale-codec", "proc-macro2", @@ -3623,12 +4025,25 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "impl-trait-for-tuples", "log", "parity-scale-codec", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "wasmi", + "wasmtime", +] + +[[package]] +name = "sp-wasm-interface" +version = "7.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" +dependencies = [ + "impl-trait-for-tuples", + "log", + "parity-scale-codec", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", "wasmi", "wasmtime", ] @@ -3653,16 +4068,31 @@ dependencies = [ [[package]] name = "sp-weights" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +dependencies = [ + "parity-scale-codec", + "scale-info", + "serde", + "smallvec", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", +] + +[[package]] +name = "sp-weights" +version = "4.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" dependencies = [ "parity-scale-codec", "scale-info", "serde", "smallvec", - "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", ] [[package]] @@ -3683,9 +4113,9 @@ dependencies = [ [[package]] name = "ss58-registry" -version = "1.38.0" +version = "1.39.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e40c020d72bc0a9c5660bb71e4a6fdef081493583062c474740a7d59f55f0e7b" +checksum = "ecf0bd63593ef78eca595a7fc25e9a443ca46fe69fd472f8f09f5245cdcd769d" dependencies = [ "Inflector", "num-format", @@ -3808,9 +4238,9 @@ dependencies = [ [[package]] name = "syn" -version = "1.0.107" +version = "1.0.109" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f4064b5b16e03ae50984a5a8ed5d4f8803e6bc1fd170a3cda91a1be4b18e3f5" +checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" dependencies = [ "proc-macro2", "quote", @@ -4094,7 +4524,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "004e1e8f92535694b4cb1444dc5a8073ecf0815e3357f729638b9f8fc4062908" dependencies = [ "hash-db", - "hashbrown", + "hashbrown 0.12.3", "log", "rustc-hex", "smallvec", diff --git a/aleph-client/Cargo.toml b/aleph-client/Cargo.toml index ce7990ae91..2f796f3e2f 100644 --- a/aleph-client/Cargo.toml +++ b/aleph-client/Cargo.toml @@ -20,9 +20,9 @@ subxt = "0.25.0" futures = "0.3.25" serde = { version = "1.0", features = ["derive"] } -frame-support = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -pallet-contracts-primitives = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +frame-support = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +pallet-contracts-primitives = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } primitives = { path = "../primitives" } [dev-dependencies] diff --git a/aleph-client/src/aleph_zero.rs b/aleph-client/src/aleph_zero.rs index 9649fdece5..367c98531b 100644 --- a/aleph-client/src/aleph_zero.rs +++ b/aleph-client/src/aleph_zero.rs @@ -1183,9 +1183,10 @@ pub mod api { call: ::std::boxed::Box::new(call), }, [ - 163u8, 73u8, 3u8, 157u8, 229u8, 239u8, 229u8, 245u8, 42u8, 233u8, 35u8, - 255u8, 125u8, 76u8, 97u8, 109u8, 13u8, 92u8, 70u8, 113u8, 28u8, 53u8, - 201u8, 76u8, 57u8, 76u8, 164u8, 2u8, 53u8, 46u8, 237u8, 242u8, + 241u8, 199u8, 15u8, 208u8, 101u8, 207u8, 116u8, 231u8, 145u8, 101u8, + 182u8, 193u8, 52u8, 246u8, 230u8, 10u8, 238u8, 234u8, 131u8, 246u8, + 126u8, 123u8, 214u8, 187u8, 113u8, 138u8, 176u8, 161u8, 56u8, 208u8, + 119u8, 119u8, ], ) } @@ -1229,10 +1230,9 @@ pub mod api { call: ::std::boxed::Box::new(call), }, [ - 84u8, 195u8, 200u8, 70u8, 66u8, 90u8, 128u8, 97u8, 43u8, 2u8, 252u8, - 53u8, 36u8, 196u8, 105u8, 165u8, 216u8, 220u8, 76u8, 163u8, 39u8, - 149u8, 178u8, 91u8, 166u8, 142u8, 155u8, 14u8, 31u8, 110u8, 167u8, - 158u8, + 175u8, 81u8, 2u8, 204u8, 241u8, 89u8, 189u8, 119u8, 222u8, 128u8, + 246u8, 58u8, 92u8, 75u8, 87u8, 15u8, 102u8, 143u8, 109u8, 32u8, 4u8, + 22u8, 209u8, 144u8, 58u8, 173u8, 6u8, 45u8, 93u8, 242u8, 18u8, 170u8, ], ) } @@ -1277,9 +1277,10 @@ pub mod api { call: ::std::boxed::Box::new(call), }, [ - 241u8, 215u8, 75u8, 40u8, 248u8, 168u8, 114u8, 76u8, 252u8, 51u8, 30u8, - 4u8, 5u8, 175u8, 87u8, 3u8, 109u8, 85u8, 176u8, 27u8, 23u8, 122u8, - 157u8, 18u8, 231u8, 3u8, 178u8, 224u8, 15u8, 240u8, 178u8, 239u8, + 82u8, 60u8, 236u8, 221u8, 124u8, 178u8, 23u8, 207u8, 179u8, 59u8, + 206u8, 11u8, 132u8, 15u8, 153u8, 104u8, 203u8, 134u8, 201u8, 255u8, + 210u8, 193u8, 51u8, 196u8, 104u8, 134u8, 219u8, 117u8, 75u8, 120u8, + 23u8, 244u8, ], ) } @@ -1310,10 +1311,10 @@ pub mod api { call: ::std::boxed::Box::new(call), }, [ - 42u8, 35u8, 170u8, 76u8, 223u8, 0u8, 152u8, 106u8, 208u8, 142u8, 156u8, - 112u8, 85u8, 40u8, 205u8, 241u8, 240u8, 86u8, 146u8, 11u8, 114u8, - 227u8, 138u8, 39u8, 57u8, 197u8, 240u8, 44u8, 251u8, 156u8, 130u8, - 171u8, + 145u8, 124u8, 34u8, 62u8, 145u8, 204u8, 132u8, 210u8, 101u8, 75u8, + 171u8, 66u8, 165u8, 150u8, 233u8, 214u8, 1u8, 84u8, 85u8, 140u8, 47u8, + 97u8, 45u8, 118u8, 235u8, 240u8, 38u8, 145u8, 132u8, 183u8, 123u8, + 157u8, ], ) } @@ -2731,85 +2732,10 @@ pub mod api { } pub mod authorship { use super::{root_mod, runtime_types}; - #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] - pub mod calls { - use super::{root_mod, runtime_types}; - type DispatchError = runtime_types::sp_runtime::DispatchError; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - Clone, - Debug, - Eq, - PartialEq, - )] - pub struct SetUncles { - pub new_uncles: ::std::vec::Vec< - runtime_types::sp_runtime::generic::header::Header< - ::core::primitive::u32, - runtime_types::sp_runtime::traits::BlakeTwo256, - >, - >, - } - pub struct TransactionApi; - impl TransactionApi { - #[doc = "Provide a set of uncles."] - pub fn set_uncles( - &self, - new_uncles: ::std::vec::Vec< - runtime_types::sp_runtime::generic::header::Header< - ::core::primitive::u32, - runtime_types::sp_runtime::traits::BlakeTwo256, - >, - >, - ) -> ::subxt::tx::StaticTxPayload { - ::subxt::tx::StaticTxPayload::new( - "Authorship", - "set_uncles", - SetUncles { new_uncles }, - [ - 181u8, 70u8, 222u8, 83u8, 154u8, 215u8, 200u8, 64u8, 154u8, 228u8, - 115u8, 247u8, 117u8, 89u8, 229u8, 102u8, 128u8, 189u8, 90u8, 60u8, - 223u8, 19u8, 111u8, 172u8, 5u8, 223u8, 132u8, 37u8, 235u8, 119u8, 42u8, - 64u8, - ], - ) - } - } - } pub mod storage { use super::runtime_types; pub struct StorageApi; impl StorageApi { - #[doc = " Uncles"] - pub fn uncles( - &self, - ) -> ::subxt::storage::address::StaticStorageAddress< - ::subxt::metadata::DecodeStaticType< - runtime_types::sp_core::bounded::bounded_vec::BoundedVec< - runtime_types::pallet_authorship::UncleEntryItem< - ::core::primitive::u32, - ::subxt::ext::sp_core::H256, - ::subxt::ext::sp_core::crypto::AccountId32, - >, - >, - >, - ::subxt::storage::address::Yes, - ::subxt::storage::address::Yes, - (), - > { - ::subxt::storage::address::StaticStorageAddress::new( - "Authorship", - "Uncles", - vec![], - [ - 193u8, 226u8, 196u8, 151u8, 233u8, 82u8, 60u8, 164u8, 27u8, 156u8, - 231u8, 51u8, 79u8, 134u8, 170u8, 166u8, 71u8, 120u8, 250u8, 255u8, - 52u8, 168u8, 74u8, 199u8, 122u8, 253u8, 248u8, 178u8, 39u8, 233u8, - 132u8, 67u8, - ], - ) - } #[doc = " Author of current block."] pub fn author( &self, @@ -2831,51 +2757,6 @@ pub mod api { ], ) } - #[doc = " Whether uncles were already set in this block."] - pub fn did_set_uncles( - &self, - ) -> ::subxt::storage::address::StaticStorageAddress< - ::subxt::metadata::DecodeStaticType<::core::primitive::bool>, - ::subxt::storage::address::Yes, - ::subxt::storage::address::Yes, - (), - > { - ::subxt::storage::address::StaticStorageAddress::new( - "Authorship", - "DidSetUncles", - vec![], - [ - 64u8, 3u8, 208u8, 187u8, 50u8, 45u8, 37u8, 88u8, 163u8, 226u8, 37u8, - 126u8, 232u8, 107u8, 156u8, 187u8, 29u8, 15u8, 53u8, 46u8, 28u8, 73u8, - 83u8, 123u8, 14u8, 244u8, 243u8, 43u8, 245u8, 143u8, 15u8, 115u8, - ], - ) - } - } - } - pub mod constants { - use super::runtime_types; - pub struct ConstantsApi; - impl ConstantsApi { - #[doc = " The number of blocks back we should accept uncles."] - #[doc = " This means that we will deal with uncle-parents that are"] - #[doc = " `UncleGenerations + 1` before `now`."] - pub fn uncle_generations( - &self, - ) -> ::subxt::constants::StaticConstantAddress< - ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, - > { - ::subxt::constants::StaticConstantAddress::new( - "Authorship", - "UncleGenerations", - [ - 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, - 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, - 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, - 145u8, - ], - ) - } } } } @@ -8307,9 +8188,9 @@ pub mod api { "batch", Batch { calls }, [ - 253u8, 30u8, 32u8, 31u8, 20u8, 172u8, 133u8, 153u8, 122u8, 253u8, 33u8, - 58u8, 22u8, 223u8, 93u8, 96u8, 179u8, 187u8, 213u8, 219u8, 89u8, 176u8, - 23u8, 128u8, 70u8, 236u8, 175u8, 3u8, 77u8, 235u8, 220u8, 193u8, + 108u8, 189u8, 67u8, 60u8, 83u8, 95u8, 185u8, 30u8, 130u8, 154u8, 187u8, + 99u8, 143u8, 45u8, 132u8, 116u8, 211u8, 119u8, 58u8, 200u8, 4u8, 23u8, + 20u8, 193u8, 255u8, 12u8, 3u8, 158u8, 2u8, 45u8, 136u8, 36u8, ], ) } @@ -8339,9 +8220,10 @@ pub mod api { call: ::std::boxed::Box::new(call), }, [ - 245u8, 248u8, 227u8, 228u8, 1u8, 178u8, 195u8, 152u8, 185u8, 209u8, - 117u8, 173u8, 163u8, 17u8, 158u8, 78u8, 81u8, 25u8, 83u8, 49u8, 83u8, - 166u8, 21u8, 254u8, 35u8, 86u8, 143u8, 154u8, 56u8, 151u8, 27u8, 233u8, + 254u8, 23u8, 88u8, 162u8, 231u8, 17u8, 237u8, 30u8, 157u8, 211u8, + 148u8, 103u8, 39u8, 87u8, 225u8, 93u8, 120u8, 34u8, 118u8, 248u8, + 128u8, 188u8, 223u8, 110u8, 184u8, 178u8, 138u8, 81u8, 133u8, 75u8, + 7u8, 167u8, ], ) } @@ -8368,10 +8250,9 @@ pub mod api { "batch_all", BatchAll { calls }, [ - 225u8, 123u8, 156u8, 170u8, 226u8, 179u8, 43u8, 231u8, 221u8, 106u8, - 232u8, 59u8, 142u8, 147u8, 245u8, 91u8, 24u8, 200u8, 20u8, 82u8, 226u8, - 213u8, 217u8, 162u8, 254u8, 213u8, 56u8, 5u8, 246u8, 181u8, 188u8, - 168u8, + 138u8, 66u8, 189u8, 225u8, 195u8, 103u8, 222u8, 116u8, 132u8, 62u8, + 15u8, 128u8, 68u8, 12u8, 89u8, 62u8, 57u8, 34u8, 168u8, 22u8, 3u8, 1u8, + 209u8, 68u8, 53u8, 167u8, 184u8, 104u8, 233u8, 233u8, 235u8, 57u8, ], ) } @@ -8398,9 +8279,10 @@ pub mod api { call: ::std::boxed::Box::new(call), }, [ - 159u8, 76u8, 58u8, 40u8, 136u8, 99u8, 98u8, 253u8, 150u8, 94u8, 116u8, - 200u8, 101u8, 114u8, 143u8, 183u8, 58u8, 66u8, 4u8, 17u8, 245u8, 195u8, - 43u8, 209u8, 169u8, 37u8, 55u8, 71u8, 146u8, 119u8, 149u8, 115u8, + 109u8, 167u8, 115u8, 62u8, 36u8, 236u8, 215u8, 173u8, 158u8, 114u8, + 152u8, 35u8, 233u8, 229u8, 91u8, 220u8, 120u8, 133u8, 134u8, 14u8, + 129u8, 195u8, 194u8, 188u8, 238u8, 182u8, 45u8, 124u8, 22u8, 2u8, 36u8, + 247u8, ], ) } @@ -8427,10 +8309,9 @@ pub mod api { "force_batch", ForceBatch { calls }, [ - 159u8, 217u8, 163u8, 140u8, 146u8, 206u8, 206u8, 198u8, 142u8, 164u8, - 187u8, 93u8, 130u8, 243u8, 153u8, 50u8, 118u8, 157u8, 145u8, 3u8, 67u8, - 120u8, 51u8, 157u8, 134u8, 136u8, 159u8, 29u8, 227u8, 240u8, 151u8, - 155u8, + 93u8, 121u8, 5u8, 140u8, 218u8, 192u8, 35u8, 201u8, 135u8, 37u8, 53u8, + 43u8, 241u8, 135u8, 231u8, 121u8, 143u8, 93u8, 15u8, 181u8, 170u8, + 19u8, 47u8, 17u8, 64u8, 207u8, 153u8, 211u8, 220u8, 55u8, 70u8, 2u8, ], ) } @@ -8453,9 +8334,9 @@ pub mod api { weight, }, [ - 75u8, 40u8, 26u8, 228u8, 66u8, 36u8, 170u8, 110u8, 225u8, 120u8, 157u8, - 81u8, 64u8, 160u8, 182u8, 120u8, 255u8, 8u8, 40u8, 217u8, 144u8, 165u8, - 62u8, 166u8, 68u8, 174u8, 11u8, 108u8, 23u8, 95u8, 209u8, 248u8, + 62u8, 12u8, 150u8, 112u8, 62u8, 64u8, 240u8, 151u8, 177u8, 30u8, 175u8, + 55u8, 59u8, 2u8, 193u8, 42u8, 161u8, 7u8, 164u8, 83u8, 92u8, 233u8, + 223u8, 225u8, 54u8, 84u8, 159u8, 156u8, 13u8, 251u8, 196u8, 232u8, ], ) } @@ -8679,9 +8560,9 @@ pub mod api { call: ::std::boxed::Box::new(call), }, [ - 25u8, 13u8, 214u8, 120u8, 72u8, 127u8, 224u8, 255u8, 198u8, 111u8, - 95u8, 106u8, 148u8, 10u8, 8u8, 74u8, 106u8, 5u8, 78u8, 66u8, 232u8, - 26u8, 158u8, 87u8, 190u8, 229u8, 169u8, 97u8, 11u8, 118u8, 117u8, 86u8, + 44u8, 232u8, 219u8, 245u8, 174u8, 148u8, 89u8, 42u8, 231u8, 7u8, 47u8, + 131u8, 203u8, 79u8, 194u8, 27u8, 241u8, 122u8, 110u8, 84u8, 70u8, 63u8, + 153u8, 24u8, 250u8, 71u8, 141u8, 132u8, 249u8, 93u8, 68u8, 174u8, ], ) } @@ -8751,10 +8632,9 @@ pub mod api { max_weight, }, [ - 29u8, 185u8, 118u8, 85u8, 35u8, 204u8, 254u8, 30u8, 169u8, 158u8, - 140u8, 49u8, 222u8, 30u8, 230u8, 50u8, 235u8, 19u8, 58u8, 192u8, 167u8, - 139u8, 61u8, 254u8, 123u8, 76u8, 12u8, 114u8, 167u8, 55u8, 198u8, - 200u8, + 181u8, 14u8, 83u8, 157u8, 20u8, 12u8, 156u8, 53u8, 15u8, 77u8, 62u8, + 232u8, 226u8, 154u8, 187u8, 9u8, 68u8, 200u8, 197u8, 176u8, 227u8, + 12u8, 32u8, 180u8, 153u8, 31u8, 236u8, 169u8, 156u8, 131u8, 65u8, 69u8, ], ) } @@ -9166,9 +9046,10 @@ pub mod api { call: ::std::boxed::Box::new(call), }, [ - 68u8, 94u8, 245u8, 14u8, 65u8, 18u8, 181u8, 119u8, 41u8, 253u8, 14u8, - 26u8, 104u8, 130u8, 47u8, 86u8, 174u8, 125u8, 24u8, 31u8, 134u8, 221u8, - 142u8, 116u8, 62u8, 184u8, 66u8, 234u8, 78u8, 126u8, 233u8, 98u8, + 239u8, 228u8, 136u8, 20u8, 82u8, 135u8, 234u8, 100u8, 176u8, 109u8, + 25u8, 209u8, 86u8, 79u8, 108u8, 187u8, 90u8, 171u8, 158u8, 161u8, + 143u8, 104u8, 2u8, 219u8, 249u8, 132u8, 147u8, 114u8, 218u8, 229u8, + 155u8, 179u8, ], ) } @@ -9195,10 +9076,10 @@ pub mod api { weight, }, [ - 216u8, 132u8, 15u8, 247u8, 186u8, 238u8, 243u8, 162u8, 253u8, 231u8, - 39u8, 133u8, 246u8, 126u8, 140u8, 182u8, 18u8, 255u8, 141u8, 101u8, - 148u8, 25u8, 49u8, 7u8, 226u8, 50u8, 130u8, 216u8, 92u8, 165u8, 32u8, - 40u8, + 204u8, 109u8, 231u8, 144u8, 219u8, 116u8, 191u8, 123u8, 199u8, 219u8, + 220u8, 47u8, 76u8, 102u8, 122u8, 142u8, 68u8, 156u8, 222u8, 200u8, + 193u8, 220u8, 205u8, 85u8, 179u8, 22u8, 1u8, 76u8, 46u8, 246u8, 13u8, + 243u8, ], ) } @@ -9257,9 +9138,9 @@ pub mod api { call: ::std::boxed::Box::new(call), }, [ - 59u8, 58u8, 109u8, 112u8, 202u8, 173u8, 224u8, 161u8, 95u8, 93u8, - 188u8, 120u8, 195u8, 60u8, 216u8, 97u8, 59u8, 23u8, 70u8, 110u8, 185u8, - 29u8, 198u8, 234u8, 134u8, 222u8, 99u8, 4u8, 62u8, 6u8, 156u8, 112u8, + 79u8, 135u8, 29u8, 144u8, 82u8, 118u8, 47u8, 40u8, 226u8, 63u8, 151u8, + 248u8, 68u8, 62u8, 138u8, 238u8, 6u8, 176u8, 175u8, 12u8, 244u8, 100u8, + 176u8, 119u8, 48u8, 45u8, 158u8, 208u8, 78u8, 62u8, 204u8, 130u8, ], ) } @@ -10288,9 +10169,10 @@ pub mod api { "Contracts", "Schedule", [ - 203u8, 98u8, 182u8, 130u8, 165u8, 6u8, 149u8, 28u8, 44u8, 67u8, 79u8, - 25u8, 47u8, 191u8, 183u8, 41u8, 65u8, 129u8, 135u8, 29u8, 178u8, 224u8, - 196u8, 247u8, 58u8, 215u8, 101u8, 35u8, 77u8, 233u8, 60u8, 155u8, + 102u8, 52u8, 108u8, 178u8, 197u8, 144u8, 39u8, 115u8, 254u8, 23u8, + 38u8, 120u8, 11u8, 166u8, 178u8, 210u8, 91u8, 139u8, 214u8, 231u8, + 110u8, 188u8, 37u8, 149u8, 195u8, 73u8, 166u8, 90u8, 55u8, 73u8, 88u8, + 111u8, ], ) } @@ -10392,6 +10274,10 @@ pub mod api { #[doc = " The maximum length of a contract code in bytes. This limit applies to the instrumented"] #[doc = " version of the code. Therefore `instantiate_with_code` can fail even when supplying"] #[doc = " a wasm binary below this maximum size."] + #[doc = ""] + #[doc = " The value should be chosen carefully taking into the account the overall memory limit"] + #[doc = " your runtime has, as well as the [maximum allowed callstack"] + #[doc = " depth](#associatedtype.CallStack). Look into the `integrity_test()` for some insights."] pub fn max_code_len( &self, ) -> ::subxt::constants::StaticConstantAddress< @@ -13239,8 +13125,6 @@ pub mod api { Timestamp(runtime_types::pallet_timestamp::pallet::Call), #[codec(index = 5)] Balances(runtime_types::pallet_balances::pallet::Call), - #[codec(index = 7)] - Authorship(runtime_types::pallet_authorship::pallet::Call), #[codec(index = 8)] Staking(runtime_types::pallet_staking::pallet::pallet::Call), #[codec(index = 10)] @@ -13850,79 +13734,6 @@ pub mod api { } } } - pub mod pallet_authorship { - use super::runtime_types; - pub mod pallet { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - Clone, - Debug, - Eq, - PartialEq, - )] - #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] - pub enum Call { - #[codec(index = 0)] - #[doc = "Provide a set of uncles."] - set_uncles { - new_uncles: ::std::vec::Vec< - runtime_types::sp_runtime::generic::header::Header< - ::core::primitive::u32, - runtime_types::sp_runtime::traits::BlakeTwo256, - >, - >, - }, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - Clone, - Debug, - Eq, - PartialEq, - )] - #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] - pub enum Error { - #[codec(index = 0)] - #[doc = "The uncle parent not in the chain."] - InvalidUncleParent, - #[codec(index = 1)] - #[doc = "Uncles already set in the block."] - UnclesAlreadySet, - #[codec(index = 2)] - #[doc = "Too many uncles."] - TooManyUncles, - #[codec(index = 3)] - #[doc = "The uncle is genesis."] - GenesisUncle, - #[codec(index = 4)] - #[doc = "The uncle is too high in chain."] - TooHighUncle, - #[codec(index = 5)] - #[doc = "The uncle is already included."] - UncleAlreadyIncluded, - #[codec(index = 6)] - #[doc = "The uncle isn't recent enough to be included."] - OldUncle, - } - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - Clone, - Debug, - Eq, - PartialEq, - )] - pub enum UncleEntryItem<_0, _1, _2> { - #[codec(index = 0)] - InclusionHeight(_0), - #[codec(index = 1)] - Uncle(_1, ::core::option::Option<_2>), - } - } pub mod pallet_balances { use super::runtime_types; pub mod pallet { @@ -14495,50 +14306,47 @@ pub mod api { #[doc = "The amount of topics passed to `seal_deposit_events` exceeds the limit."] TooManyTopics, #[codec(index = 17)] - #[doc = "The topics passed to `seal_deposit_events` contains at least one duplicate."] - DuplicateTopics, - #[codec(index = 18)] #[doc = "The chain does not provide a chain extension. Calling the chain extension results"] #[doc = "in this error. Note that this usually shouldn't happen as deploying such contracts"] #[doc = "is rejected."] NoChainExtension, - #[codec(index = 19)] + #[codec(index = 18)] #[doc = "Removal of a contract failed because the deletion queue is full."] #[doc = ""] #[doc = "This can happen when calling `seal_terminate`."] #[doc = "The queue is filled by deleting contracts and emptied by a fixed amount each block."] #[doc = "Trying again during another block is the only way to resolve this issue."] DeletionQueueFull, - #[codec(index = 20)] + #[codec(index = 19)] #[doc = "A contract with the same AccountId already exists."] DuplicateContract, - #[codec(index = 21)] + #[codec(index = 20)] #[doc = "A contract self destructed in its constructor."] #[doc = ""] #[doc = "This can be triggered by a call to `seal_terminate`."] TerminatedInConstructor, - #[codec(index = 22)] + #[codec(index = 21)] #[doc = "The debug message specified to `seal_debug_message` does contain invalid UTF-8."] DebugMessageInvalidUTF8, - #[codec(index = 23)] + #[codec(index = 22)] #[doc = "A call tried to invoke a contract that is flagged as non-reentrant."] ReentranceDenied, - #[codec(index = 24)] + #[codec(index = 23)] #[doc = "Origin doesn't have enough balance to pay the required storage deposits."] StorageDepositNotEnoughFunds, - #[codec(index = 25)] + #[codec(index = 24)] #[doc = "More storage was created than allowed by the storage deposit limit."] StorageDepositLimitExhausted, - #[codec(index = 26)] + #[codec(index = 25)] #[doc = "Code removal was denied because the code is still in use by at least one contract."] CodeInUse, - #[codec(index = 27)] + #[codec(index = 26)] #[doc = "The contract ran to completion but decided to revert its storage changes."] #[doc = "Please note that this error is only returned from extrinsics. When called directly"] #[doc = "or via RPC an `Ok` will be returned. In this case the caller needs to inspect the flags"] #[doc = "to determine whether a reversion has taken place."] ContractReverted, - #[codec(index = 28)] + #[codec(index = 27)] #[doc = "The contract's code was found to be invalid during validation or instrumentation."] #[doc = ""] #[doc = "The most likely cause of this is that an API was used which is not supported by the"] @@ -14548,7 +14356,7 @@ pub mod api { #[doc = "A more detailed error can be found on the node console if debug messages are enabled"] #[doc = "by supplying `-lruntime::contracts=debug`."] CodeRejected, - #[codec(index = 29)] + #[codec(index = 28)] #[doc = "An indetermistic code was used in a context where this is not permitted."] Indeterministic, } @@ -14639,64 +14447,65 @@ pub mod api { PartialEq, )] pub struct HostFnWeights { - pub caller: ::core::primitive::u64, - pub is_contract: ::core::primitive::u64, - pub code_hash: ::core::primitive::u64, - pub own_code_hash: ::core::primitive::u64, - pub caller_is_origin: ::core::primitive::u64, - pub address: ::core::primitive::u64, - pub gas_left: ::core::primitive::u64, - pub balance: ::core::primitive::u64, - pub value_transferred: ::core::primitive::u64, - pub minimum_balance: ::core::primitive::u64, - pub block_number: ::core::primitive::u64, - pub now: ::core::primitive::u64, - pub weight_to_fee: ::core::primitive::u64, - pub gas: ::core::primitive::u64, - pub input: ::core::primitive::u64, - pub input_per_byte: ::core::primitive::u64, - pub r#return: ::core::primitive::u64, - pub return_per_byte: ::core::primitive::u64, - pub terminate: ::core::primitive::u64, - pub random: ::core::primitive::u64, - pub deposit_event: ::core::primitive::u64, - pub deposit_event_per_topic: ::core::primitive::u64, - pub deposit_event_per_byte: ::core::primitive::u64, - pub debug_message: ::core::primitive::u64, - pub set_storage: ::core::primitive::u64, - pub set_storage_per_new_byte: ::core::primitive::u64, - pub set_storage_per_old_byte: ::core::primitive::u64, - pub set_code_hash: ::core::primitive::u64, - pub clear_storage: ::core::primitive::u64, - pub clear_storage_per_byte: ::core::primitive::u64, - pub contains_storage: ::core::primitive::u64, - pub contains_storage_per_byte: ::core::primitive::u64, - pub get_storage: ::core::primitive::u64, - pub get_storage_per_byte: ::core::primitive::u64, - pub take_storage: ::core::primitive::u64, - pub take_storage_per_byte: ::core::primitive::u64, - pub transfer: ::core::primitive::u64, - pub call: ::core::primitive::u64, - pub delegate_call: ::core::primitive::u64, - pub call_transfer_surcharge: ::core::primitive::u64, - pub call_per_cloned_byte: ::core::primitive::u64, - pub instantiate: ::core::primitive::u64, - pub instantiate_transfer_surcharge: ::core::primitive::u64, - pub instantiate_per_input_byte: ::core::primitive::u64, - pub instantiate_per_salt_byte: ::core::primitive::u64, - pub hash_sha2_256: ::core::primitive::u64, - pub hash_sha2_256_per_byte: ::core::primitive::u64, - pub hash_keccak_256: ::core::primitive::u64, - pub hash_keccak_256_per_byte: ::core::primitive::u64, - pub hash_blake2_256: ::core::primitive::u64, - pub hash_blake2_256_per_byte: ::core::primitive::u64, - pub hash_blake2_128: ::core::primitive::u64, - pub hash_blake2_128_per_byte: ::core::primitive::u64, - pub ecdsa_recover: ::core::primitive::u64, - pub ecdsa_to_eth_address: ::core::primitive::u64, - pub reentrance_count: ::core::primitive::u64, - pub account_reentrance_count: ::core::primitive::u64, - pub instantiation_nonce: ::core::primitive::u64, + pub caller: runtime_types::sp_weights::weight_v2::Weight, + pub is_contract: runtime_types::sp_weights::weight_v2::Weight, + pub code_hash: runtime_types::sp_weights::weight_v2::Weight, + pub own_code_hash: runtime_types::sp_weights::weight_v2::Weight, + pub caller_is_origin: runtime_types::sp_weights::weight_v2::Weight, + pub address: runtime_types::sp_weights::weight_v2::Weight, + pub gas_left: runtime_types::sp_weights::weight_v2::Weight, + pub balance: runtime_types::sp_weights::weight_v2::Weight, + pub value_transferred: runtime_types::sp_weights::weight_v2::Weight, + pub minimum_balance: runtime_types::sp_weights::weight_v2::Weight, + pub block_number: runtime_types::sp_weights::weight_v2::Weight, + pub now: runtime_types::sp_weights::weight_v2::Weight, + pub weight_to_fee: runtime_types::sp_weights::weight_v2::Weight, + pub gas: runtime_types::sp_weights::weight_v2::Weight, + pub input: runtime_types::sp_weights::weight_v2::Weight, + pub input_per_byte: runtime_types::sp_weights::weight_v2::Weight, + pub r#return: runtime_types::sp_weights::weight_v2::Weight, + pub return_per_byte: runtime_types::sp_weights::weight_v2::Weight, + pub terminate: runtime_types::sp_weights::weight_v2::Weight, + pub random: runtime_types::sp_weights::weight_v2::Weight, + pub deposit_event: runtime_types::sp_weights::weight_v2::Weight, + pub deposit_event_per_topic: runtime_types::sp_weights::weight_v2::Weight, + pub deposit_event_per_byte: runtime_types::sp_weights::weight_v2::Weight, + pub debug_message: runtime_types::sp_weights::weight_v2::Weight, + pub set_storage: runtime_types::sp_weights::weight_v2::Weight, + pub set_storage_per_new_byte: runtime_types::sp_weights::weight_v2::Weight, + pub set_storage_per_old_byte: runtime_types::sp_weights::weight_v2::Weight, + pub set_code_hash: runtime_types::sp_weights::weight_v2::Weight, + pub clear_storage: runtime_types::sp_weights::weight_v2::Weight, + pub clear_storage_per_byte: runtime_types::sp_weights::weight_v2::Weight, + pub contains_storage: runtime_types::sp_weights::weight_v2::Weight, + pub contains_storage_per_byte: runtime_types::sp_weights::weight_v2::Weight, + pub get_storage: runtime_types::sp_weights::weight_v2::Weight, + pub get_storage_per_byte: runtime_types::sp_weights::weight_v2::Weight, + pub take_storage: runtime_types::sp_weights::weight_v2::Weight, + pub take_storage_per_byte: runtime_types::sp_weights::weight_v2::Weight, + pub transfer: runtime_types::sp_weights::weight_v2::Weight, + pub call: runtime_types::sp_weights::weight_v2::Weight, + pub delegate_call: runtime_types::sp_weights::weight_v2::Weight, + pub call_transfer_surcharge: runtime_types::sp_weights::weight_v2::Weight, + pub call_per_cloned_byte: runtime_types::sp_weights::weight_v2::Weight, + pub instantiate: runtime_types::sp_weights::weight_v2::Weight, + pub instantiate_transfer_surcharge: + runtime_types::sp_weights::weight_v2::Weight, + pub instantiate_per_input_byte: runtime_types::sp_weights::weight_v2::Weight, + pub instantiate_per_salt_byte: runtime_types::sp_weights::weight_v2::Weight, + pub hash_sha2_256: runtime_types::sp_weights::weight_v2::Weight, + pub hash_sha2_256_per_byte: runtime_types::sp_weights::weight_v2::Weight, + pub hash_keccak_256: runtime_types::sp_weights::weight_v2::Weight, + pub hash_keccak_256_per_byte: runtime_types::sp_weights::weight_v2::Weight, + pub hash_blake2_256: runtime_types::sp_weights::weight_v2::Weight, + pub hash_blake2_256_per_byte: runtime_types::sp_weights::weight_v2::Weight, + pub hash_blake2_128: runtime_types::sp_weights::weight_v2::Weight, + pub hash_blake2_128_per_byte: runtime_types::sp_weights::weight_v2::Weight, + pub ecdsa_recover: runtime_types::sp_weights::weight_v2::Weight, + pub ecdsa_to_eth_address: runtime_types::sp_weights::weight_v2::Weight, + pub reentrance_count: runtime_types::sp_weights::weight_v2::Weight, + pub account_reentrance_count: runtime_types::sp_weights::weight_v2::Weight, + pub instantiation_nonce: runtime_types::sp_weights::weight_v2::Weight, } #[derive( :: subxt :: ext :: codec :: Decode, @@ -14779,7 +14588,6 @@ pub mod api { pub table_size: ::core::primitive::u32, pub br_table_size: ::core::primitive::u32, pub subject_len: ::core::primitive::u32, - pub call_depth: ::core::primitive::u32, pub payload_len: ::core::primitive::u32, } #[derive( @@ -19485,27 +19293,6 @@ pub mod api { Mortal255(::core::primitive::u8), } } - pub mod header { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - Clone, - Debug, - Eq, - PartialEq, - )] - pub struct Header<_0, _1> { - pub parent_hash: ::subxt::ext::sp_core::H256, - #[codec(compact)] - pub number: _0, - pub state_root: ::subxt::ext::sp_core::H256, - pub extrinsics_root: ::subxt::ext::sp_core::H256, - pub digest: runtime_types::sp_runtime::generic::digest::Digest, - #[codec(skip)] - pub __subxt_unused_type_params: ::core::marker::PhantomData<_1>, - } - } pub mod unchecked_extrinsic { use super::runtime_types; #[derive( @@ -19545,18 +19332,6 @@ pub mod api { Address20([::core::primitive::u8; 20usize]), } } - pub mod traits { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - Clone, - Debug, - Eq, - PartialEq, - )] - pub struct BlakeTwo256; - } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -19754,9 +19529,6 @@ pub mod api { pub fn transaction_payment(&self) -> transaction_payment::constants::ConstantsApi { transaction_payment::constants::ConstantsApi } - pub fn authorship(&self) -> authorship::constants::ConstantsApi { - authorship::constants::ConstantsApi - } pub fn staking(&self) -> staking::constants::ConstantsApi { staking::constants::ConstantsApi } @@ -19864,9 +19636,6 @@ pub mod api { pub fn balances(&self) -> balances::calls::TransactionApi { balances::calls::TransactionApi } - pub fn authorship(&self) -> authorship::calls::TransactionApi { - authorship::calls::TransactionApi - } pub fn staking(&self) -> staking::calls::TransactionApi { staking::calls::TransactionApi } @@ -19911,9 +19680,9 @@ pub mod api { let runtime_metadata_hash = client.metadata().metadata_hash(&PALLETS); if runtime_metadata_hash != [ - 152u8, 75u8, 71u8, 172u8, 167u8, 231u8, 115u8, 198u8, 49u8, 81u8, 255u8, 71u8, - 255u8, 99u8, 32u8, 216u8, 101u8, 85u8, 22u8, 250u8, 69u8, 50u8, 197u8, 148u8, - 199u8, 153u8, 247u8, 146u8, 228u8, 136u8, 182u8, 127u8, + 191u8, 48u8, 69u8, 156u8, 0u8, 234u8, 203u8, 221u8, 166u8, 21u8, 15u8, 202u8, + 223u8, 93u8, 68u8, 245u8, 104u8, 158u8, 76u8, 167u8, 70u8, 9u8, 196u8, 75u8, 158u8, + 131u8, 248u8, 255u8, 120u8, 66u8, 210u8, 100u8, ] { Err(::subxt::error::MetadataError::IncompatibleMetadata) diff --git a/benches/payout-stakers/Cargo.lock b/benches/payout-stakers/Cargo.lock index 50da4193cd..485f2a3ed1 100644 --- a/benches/payout-stakers/Cargo.lock +++ b/benches/payout-stakers/Cargo.lock @@ -47,6 +47,18 @@ dependencies = [ "version_check", ] +[[package]] +name = "ahash" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c99f64d1e06488f620f932677e24bc6e2897582980441ae90a671415bd7ec2f" +dependencies = [ + "cfg-if", + "getrandom 0.2.8", + "once_cell", + "version_check", +] + [[package]] name = "aho-corasick" version = "0.7.20" @@ -74,7 +86,7 @@ dependencies = [ "primitives", "serde", "serde_json", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", "subxt", "thiserror", ] @@ -698,6 +710,17 @@ dependencies = [ "syn", ] +[[package]] +name = "derive-syn-parse" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e79116f119dd1dba1abf1f3405f03b9b0e79a27a3883864bfebded8a3dc768cd" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "derive_more" version = "0.99.17" @@ -811,7 +834,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7c24f403d068ad0b359e577a77f92392118be3f3c927538f2bb544a5ecd828c6" dependencies = [ "curve25519-dalek 3.2.0", - "hashbrown", + "hashbrown 0.12.3", "hex", "rand_core 0.6.4", "sha2 0.9.9", @@ -971,7 +994,7 @@ dependencies = [ [[package]] name = "frame-support" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "bitflags", "frame-metadata", @@ -986,27 +1009,28 @@ dependencies = [ "serde", "smallvec", "sp-api", - "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", "sp-core-hashing-proc-macro", "sp-inherents", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", "sp-staking", - "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", "tt-call", ] [[package]] name = "frame-support-procedural" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "Inflector", "cfg-expr", + "derive-syn-parse", "frame-support-procedural-tools", "itertools", "proc-macro2", @@ -1017,7 +1041,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate", @@ -1029,7 +1053,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "proc-macro2", "quote", @@ -1265,9 +1289,15 @@ version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" dependencies = [ - "ahash", + "ahash 0.7.6", ] +[[package]] +name = "hashbrown" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e" + [[package]] name = "heck" version = "0.4.1" @@ -1500,7 +1530,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399" dependencies = [ "autocfg", - "hashbrown", + "hashbrown 0.12.3", "serde", ] @@ -1875,7 +1905,7 @@ version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b6e8aaa3f231bb4bd57b84b2d5dc3ae7f350265df8aa96492e0bc394a1571909" dependencies = [ - "hashbrown", + "hashbrown 0.12.3", ] [[package]] @@ -1918,7 +1948,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "34ac11bb793c28fa095b7554466f53b3a60a2cd002afdac01bcf135cbd73a269" dependencies = [ "hash-db", - "hashbrown", + "hashbrown 0.12.3", "parity-util-mem", ] @@ -1929,7 +1959,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5e0c7cba9ce19ac7ffd2053ac9f49843bbd3f4318feedfd74e85c19d5fb0ba66" dependencies = [ "hash-db", - "hashbrown", + "hashbrown 0.12.3", ] [[package]] @@ -2084,7 +2114,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "21158b2c33aa6d4561f1c0a6ea283ca92bc54802a93b263e910746d679a7eb53" dependencies = [ "crc32fast", - "hashbrown", + "hashbrown 0.12.3", "indexmap", "memchr", ] @@ -2131,13 +2161,13 @@ checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee" [[package]] name = "pallet-contracts-primitives" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "bitflags", "parity-scale-codec", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", ] [[package]] @@ -2174,7 +2204,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0d32c34f4f5ca7f9196001c0aba5a1f9a5a12382c8944b8b0f90233282d1e8f8" dependencies = [ "cfg-if", - "hashbrown", + "hashbrown 0.12.3", "impl-trait-for-tuples", "parity-util-mem-derive", "parking_lot", @@ -2248,7 +2278,7 @@ dependencies = [ "parity-scale-codec", "primitives", "rand 0.8.5", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", "sp-keyring", "subxt", "tokio", @@ -2356,11 +2386,11 @@ dependencies = [ "scale-info", "serde", "sp-api", - "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", "sp-staking", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", ] [[package]] @@ -2750,6 +2780,17 @@ dependencies = [ "windows-sys 0.42.0", ] +[[package]] +name = "schnellru" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "772575a524feeb803e5b0fcbc6dd9f367e579488197c94c6e4023aad2305774d" +dependencies = [ + "ahash 0.8.3", + "cfg-if", + "hashbrown 0.13.2", +] + [[package]] name = "schnorrkel" version = "0.9.1" @@ -3042,17 +3083,17 @@ dependencies = [ [[package]] name = "sp-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "hash-db", "log", "parity-scale-codec", "sp-api-proc-macro", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", "sp-version", "thiserror", ] @@ -3060,7 +3101,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "blake2", "proc-macro-crate", @@ -3086,14 +3127,14 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", ] [[package]] @@ -3115,14 +3156,14 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "integer-sqrt", "num-traits", "parity-scale-codec", "scale-info", "serde", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", "static_assertions", ] @@ -3175,7 +3216,7 @@ dependencies = [ [[package]] name = "sp-core" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "array-bytes", "base58", @@ -3201,12 +3242,12 @@ dependencies = [ "secp256k1 0.24.3", "secrecy", "serde", - "sp-core-hashing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-core-hashing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", "ss58-registry", "substrate-bip39", "thiserror", @@ -3232,25 +3273,25 @@ dependencies = [ [[package]] name = "sp-core-hashing" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "blake2", "byteorder", "digest 0.10.6", "sha2 0.10.6", "sha3", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", "twox-hash", ] [[package]] name = "sp-core-hashing-proc-macro" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "proc-macro2", "quote", - "sp-core-hashing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-core-hashing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", "syn", ] @@ -3268,7 +3309,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "proc-macro2", "quote", @@ -3290,25 +3331,25 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.13.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "environmental", "parity-scale-codec", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", ] [[package]] name = "sp-inherents" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "async-trait", "impl-trait-for-tuples", "parity-scale-codec", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", "thiserror", ] @@ -3342,7 +3383,7 @@ dependencies = [ [[package]] name = "sp-io" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "bytes", "ed25519", @@ -3352,14 +3393,14 @@ dependencies = [ "log", "parity-scale-codec", "secp256k1 0.24.3", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-keystore 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-keystore 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", "tracing", "tracing-core", ] @@ -3367,11 +3408,11 @@ dependencies = [ [[package]] name = "sp-keyring" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "lazy_static", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", "strum", ] @@ -3395,7 +3436,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.13.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "async-trait", "futures", @@ -3403,8 +3444,8 @@ dependencies = [ "parity-scale-codec", "parking_lot", "schnorrkel", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", "thiserror", ] @@ -3422,7 +3463,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "backtrace", "lazy_static", @@ -3456,7 +3497,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "either", "hash256-std-hasher", @@ -3467,12 +3508,12 @@ dependencies = [ "rand 0.8.5", "scale-info", "serde", - "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", ] [[package]] @@ -3497,18 +3538,18 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "bytes", "impl-trait-for-tuples", "parity-scale-codec", "primitive-types", - "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-runtime-interface-proc-macro 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-wasm-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-runtime-interface-proc-macro 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-wasm-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", "static_assertions", ] @@ -3528,7 +3569,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "Inflector", "proc-macro-crate", @@ -3540,13 +3581,13 @@ dependencies = [ [[package]] name = "sp-staking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "parity-scale-codec", "scale-info", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", ] [[package]] @@ -3575,7 +3616,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.13.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "hash-db", "log", @@ -3583,11 +3624,11 @@ dependencies = [ "parking_lot", "rand 0.8.5", "smallvec", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-panic-handler 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-panic-handler 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", "thiserror", "tracing", ] @@ -3601,7 +3642,7 @@ checksum = "cf3fd4c1d304be101e6ebbafd3d4be9a37b320c970ef4e8df188b16873981c93" [[package]] name = "sp-std" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" [[package]] name = "sp-storage" @@ -3620,14 +3661,14 @@ dependencies = [ [[package]] name = "sp-storage" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "impl-serde", "parity-scale-codec", "ref-cast", "serde", - "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", ] [[package]] @@ -3646,10 +3687,10 @@ dependencies = [ [[package]] name = "sp-tracing" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "parity-scale-codec", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", "tracing", "tracing-core", "tracing-subscriber", @@ -3661,9 +3702,9 @@ version = "7.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2f4f48c887e90050537e399d2d8b6ee82787ebec0fe46e4880b42cab0c2d5ba6" dependencies = [ - "ahash", + "ahash 0.7.6", "hash-db", - "hashbrown", + "hashbrown 0.12.3", "lazy_static", "lru", "memory-db 0.30.0", @@ -3682,20 +3723,20 @@ dependencies = [ [[package]] name = "sp-trie" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ - "ahash", + "ahash 0.8.3", "hash-db", - "hashbrown", + "hashbrown 0.12.3", "lazy_static", - "lru", "memory-db 0.31.0", "nohash-hasher", "parity-scale-codec", "parking_lot", "scale-info", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "schnellru", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", "thiserror", "tracing", "trie-db", @@ -3705,7 +3746,7 @@ dependencies = [ [[package]] name = "sp-version" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "impl-serde", "parity-scale-codec", @@ -3713,8 +3754,8 @@ dependencies = [ "scale-info", "serde", "sp-core-hashing-proc-macro", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", "sp-version-proc-macro", "thiserror", ] @@ -3722,7 +3763,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "parity-scale-codec", "proc-macro2", @@ -3746,12 +3787,12 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "impl-trait-for-tuples", "log", "parity-scale-codec", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", "wasmi", "wasmtime", ] @@ -3776,16 +3817,16 @@ dependencies = [ [[package]] name = "sp-weights" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "parity-scale-codec", "scale-info", "serde", "smallvec", - "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", ] [[package]] @@ -3806,9 +3847,9 @@ dependencies = [ [[package]] name = "ss58-registry" -version = "1.38.0" +version = "1.39.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e40c020d72bc0a9c5660bb71e4a6fdef081493583062c474740a7d59f55f0e7b" +checksum = "ecf0bd63593ef78eca595a7fc25e9a443ca46fe69fd472f8f09f5245cdcd769d" dependencies = [ "Inflector", "num-format", @@ -3953,9 +3994,9 @@ dependencies = [ [[package]] name = "syn" -version = "1.0.107" +version = "1.0.109" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f4064b5b16e03ae50984a5a8ed5d4f8803e6bc1fd170a3cda91a1be4b18e3f5" +checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" dependencies = [ "proc-macro2", "quote", @@ -4247,7 +4288,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "004e1e8f92535694b4cb1444dc5a8073ecf0815e3357f729638b9f8fc4062908" dependencies = [ "hash-db", - "hashbrown", + "hashbrown 0.12.3", "log", "rustc-hex", "smallvec", diff --git a/benches/payout-stakers/Cargo.toml b/benches/payout-stakers/Cargo.toml index d809f41421..15c7d2665c 100644 --- a/benches/payout-stakers/Cargo.toml +++ b/benches/payout-stakers/Cargo.toml @@ -14,8 +14,8 @@ log = "0.4" futures = "0.3.25" rand = "0.8.5" -sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37", features = ["full_crypto"] } -sp-keyring = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38", features = ["full_crypto"] } +sp-keyring = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } subxt = "0.25.0" tokio = { version = "1.21.2", features = ["full"] } diff --git a/bin/cliain/Cargo.lock b/bin/cliain/Cargo.lock index 81f224109a..cdc07271be 100644 --- a/bin/cliain/Cargo.lock +++ b/bin/cliain/Cargo.lock @@ -47,6 +47,18 @@ dependencies = [ "version_check", ] +[[package]] +name = "ahash" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c99f64d1e06488f620f932677e24bc6e2897582980441ae90a671415bd7ec2f" +dependencies = [ + "cfg-if", + "getrandom 0.2.8", + "once_cell", + "version_check", +] + [[package]] name = "aho-corasick" version = "0.7.20" @@ -64,7 +76,7 @@ dependencies = [ "async-trait", "contract-metadata 2.0.1", "contract-transcode 2.0.0-beta.1", - "frame-support", + "frame-support 4.0.0-dev (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", "futures", "hex", "ink_metadata", @@ -74,7 +86,7 @@ dependencies = [ "primitives", "serde", "serde_json", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", "subxt", "thiserror", ] @@ -433,7 +445,7 @@ dependencies = [ "primitives", "serde", "serde_json", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", "subxt", "tokio", ] @@ -782,6 +794,17 @@ dependencies = [ "syn", ] +[[package]] +name = "derive-syn-parse" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e79116f119dd1dba1abf1f3405f03b9b0e79a27a3883864bfebded8a3dc768cd" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "derive_more" version = "0.99.17" @@ -907,7 +930,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7c24f403d068ad0b359e577a77f92392118be3f3c927538f2bb544a5ecd828c6" dependencies = [ "curve25519-dalek 3.2.0", - "hashbrown", + "hashbrown 0.12.3", "hex", "rand_core 0.6.4", "sha2 0.9.9", @@ -1074,9 +1097,10 @@ dependencies = [ [[package]] name = "frame-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ - "frame-support", + "frame-support 4.0.0-dev (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "frame-support-procedural 4.0.0-dev (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", "frame-system", "linregress", "log", @@ -1084,20 +1108,21 @@ dependencies = [ "paste", "scale-info", "serde", - "sp-api", - "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-api 4.0.0-dev (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "static_assertions", ] [[package]] name = "frame-election-provider-solution-type" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -1108,18 +1133,18 @@ dependencies = [ [[package]] name = "frame-election-provider-support" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "frame-election-provider-solution-type", - "frame-support", + "frame-support 4.0.0-dev (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", "frame-system", "parity-scale-codec", "scale-info", - "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", "sp-npos-elections", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", ] [[package]] @@ -1137,11 +1162,11 @@ dependencies = [ [[package]] name = "frame-support" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "bitflags", "frame-metadata", - "frame-support-procedural", + "frame-support-procedural 4.0.0-dev (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", "impl-trait-for-tuples", "k256", "log", @@ -1151,41 +1176,101 @@ dependencies = [ "scale-info", "serde", "smallvec", - "sp-api", - "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-core-hashing-proc-macro", - "sp-inherents", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-staking", - "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-api 4.0.0-dev (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-core-hashing-proc-macro 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-inherents 4.0.0-dev (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-staking 4.0.0-dev (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "tt-call", +] + +[[package]] +name = "frame-support" +version = "4.0.0-dev" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" +dependencies = [ + "bitflags", + "frame-metadata", + "frame-support-procedural 4.0.0-dev (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "impl-trait-for-tuples", + "k256", + "log", + "once_cell", + "parity-scale-codec", + "paste", + "scale-info", + "serde", + "smallvec", + "sp-api 4.0.0-dev (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-core-hashing-proc-macro 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-inherents 4.0.0-dev (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-staking 4.0.0-dev (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", "tt-call", ] [[package]] name = "frame-support-procedural" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "Inflector", "cfg-expr", - "frame-support-procedural-tools", + "derive-syn-parse", + "frame-support-procedural-tools 4.0.0-dev (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", "itertools", "proc-macro2", "quote", "syn", ] +[[package]] +name = "frame-support-procedural" +version = "4.0.0-dev" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" +dependencies = [ + "Inflector", + "cfg-expr", + "derive-syn-parse", + "frame-support-procedural-tools 4.0.0-dev (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "itertools", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "frame-support-procedural-tools" +version = "4.0.0-dev" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +dependencies = [ + "frame-support-procedural-tools-derive 3.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "proc-macro-crate", + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "frame-support-procedural-tools" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" dependencies = [ - "frame-support-procedural-tools-derive", + "frame-support-procedural-tools-derive 3.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", "proc-macro-crate", "proc-macro2", "quote", @@ -1195,7 +1280,17 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "frame-support-procedural-tools-derive" +version = "3.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" dependencies = [ "proc-macro2", "quote", @@ -1205,19 +1300,19 @@ dependencies = [ [[package]] name = "frame-system" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ - "frame-support", + "frame-support 4.0.0-dev (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", "log", "parity-scale-codec", "scale-info", "serde", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-version", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-version 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", ] [[package]] @@ -1449,9 +1544,15 @@ version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" dependencies = [ - "ahash", + "ahash 0.7.6", ] +[[package]] +name = "hashbrown" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e" + [[package]] name = "heck" version = "0.4.1" @@ -1693,7 +1794,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399" dependencies = [ "autocfg", - "hashbrown", + "hashbrown 0.12.3", "serde", ] @@ -2078,7 +2179,7 @@ version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b6e8aaa3f231bb4bd57b84b2d5dc3ae7f350265df8aa96492e0bc394a1571909" dependencies = [ - "hashbrown", + "hashbrown 0.12.3", ] [[package]] @@ -2130,7 +2231,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "34ac11bb793c28fa095b7554466f53b3a60a2cd002afdac01bcf135cbd73a269" dependencies = [ "hash-db", - "hashbrown", + "hashbrown 0.12.3", "parity-util-mem", ] @@ -2141,7 +2242,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5e0c7cba9ce19ac7ffd2053ac9f49843bbd3f4318feedfd74e85c19d5fb0ba66" dependencies = [ "hash-db", - "hashbrown", + "hashbrown 0.12.3", ] [[package]] @@ -2335,7 +2436,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "21158b2c33aa6d4561f1c0a6ea283ca92bc54802a93b263e910746d679a7eb53" dependencies = [ "crc32fast", - "hashbrown", + "hashbrown 0.12.3", "indexmap", "memchr", ] @@ -2382,59 +2483,58 @@ checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee" [[package]] name = "pallet-authorship" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ - "frame-support", + "frame-support 4.0.0-dev (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", "frame-system", "impl-trait-for-tuples", "parity-scale-codec", "scale-info", - "sp-authorship", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", ] [[package]] name = "pallet-contracts-primitives" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" dependencies = [ "bitflags", "parity-scale-codec", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", ] [[package]] name = "pallet-session" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ - "frame-support", + "frame-support 4.0.0-dev (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", "frame-system", "impl-trait-for-tuples", "log", "pallet-timestamp", "parity-scale-codec", "scale-info", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", "sp-session", - "sp-staking", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-staking 4.0.0-dev (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", ] [[package]] name = "pallet-staking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "frame-benchmarking", "frame-election-provider-support", - "frame-support", + "frame-support 4.0.0-dev (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", "frame-system", "log", "pallet-authorship", @@ -2442,28 +2542,28 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-staking", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-staking 4.0.0-dev (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", ] [[package]] name = "pallet-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "frame-benchmarking", - "frame-support", + "frame-support 4.0.0-dev (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", "frame-system", "log", "parity-scale-codec", "scale-info", - "sp-inherents", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-inherents 4.0.0-dev (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", "sp-timestamp", ] @@ -2501,7 +2601,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0d32c34f4f5ca7f9196001c0aba5a1f9a5a12382c8944b8b0f90233282d1e8f8" dependencies = [ "cfg-if", - "hashbrown", + "hashbrown 0.12.3", "impl-trait-for-tuples", "parity-util-mem-derive", "parking_lot", @@ -2662,12 +2762,12 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-api", - "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-staking", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-api 4.0.0-dev (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-staking 4.0.0-dev (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", ] [[package]] @@ -3082,6 +3182,17 @@ dependencies = [ "windows-sys 0.42.0", ] +[[package]] +name = "schnellru" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "772575a524feeb803e5b0fcbc6dd9f367e579488197c94c6e4023aad2305774d" +dependencies = [ + "ahash 0.8.3", + "cfg-if", + "hashbrown 0.13.2", +] + [[package]] name = "schnorrkel" version = "0.9.1" @@ -3392,25 +3503,55 @@ dependencies = [ [[package]] name = "sp-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +dependencies = [ + "hash-db", + "log", + "parity-scale-codec", + "sp-api-proc-macro 4.0.0-dev (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-version 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "thiserror", +] + +[[package]] +name = "sp-api" +version = "4.0.0-dev" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" dependencies = [ "hash-db", "log", "parity-scale-codec", - "sp-api-proc-macro", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-version", + "sp-api-proc-macro 4.0.0-dev (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-version 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", "thiserror", ] [[package]] name = "sp-api-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +dependencies = [ + "blake2", + "proc-macro-crate", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "sp-api-proc-macro" +version = "4.0.0-dev" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" dependencies = [ "blake2", "proc-macro-crate", @@ -3436,14 +3577,27 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +dependencies = [ + "parity-scale-codec", + "scale-info", + "serde", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", +] + +[[package]] +name = "sp-application-crypto" +version = "7.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", ] [[package]] @@ -3465,27 +3619,29 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "integer-sqrt", "num-traits", "parity-scale-codec", "scale-info", "serde", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", "static_assertions", ] [[package]] -name = "sp-authorship" -version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +name = "sp-arithmetic" +version = "6.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" dependencies = [ - "async-trait", + "integer-sqrt", + "num-traits", "parity-scale-codec", - "sp-inherents", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "scale-info", + "serde", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "static_assertions", ] [[package]] @@ -3537,7 +3693,49 @@ dependencies = [ [[package]] name = "sp-core" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +dependencies = [ + "array-bytes", + "base58", + "bitflags", + "blake2", + "dyn-clonable", + "ed25519-zebra", + "futures", + "hash-db", + "hash256-std-hasher", + "impl-serde 0.4.0", + "lazy_static", + "libsecp256k1", + "log", + "merlin", + "parity-scale-codec", + "parking_lot", + "primitive-types", + "rand 0.8.5", + "regex", + "scale-info", + "schnorrkel", + "secp256k1 0.24.3", + "secrecy", + "serde", + "sp-core-hashing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "ss58-registry", + "substrate-bip39", + "thiserror", + "tiny-bip39 1.0.0", + "zeroize", +] + +[[package]] +name = "sp-core" +version = "7.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" dependencies = [ "array-bytes", "base58", @@ -3563,12 +3761,12 @@ dependencies = [ "secp256k1 0.24.3", "secrecy", "serde", - "sp-core-hashing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-core-hashing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", "ss58-registry", "substrate-bip39", "thiserror", @@ -3594,25 +3792,50 @@ dependencies = [ [[package]] name = "sp-core-hashing" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +dependencies = [ + "blake2", + "byteorder", + "digest 0.10.6", + "sha2 0.10.6", + "sha3", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "twox-hash", +] + +[[package]] +name = "sp-core-hashing" +version = "5.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" dependencies = [ "blake2", "byteorder", "digest 0.10.6", "sha2 0.10.6", "sha3", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", "twox-hash", ] [[package]] name = "sp-core-hashing-proc-macro" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +dependencies = [ + "proc-macro2", + "quote", + "sp-core-hashing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "syn", +] + +[[package]] +name = "sp-core-hashing-proc-macro" +version = "5.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" dependencies = [ "proc-macro2", "quote", - "sp-core-hashing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-core-hashing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", "syn", ] @@ -3630,7 +3853,17 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "sp-debug-derive" +version = "5.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" dependencies = [ "proc-macro2", "quote", @@ -3652,25 +3885,50 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.13.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +dependencies = [ + "environmental", + "parity-scale-codec", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", +] + +[[package]] +name = "sp-externalities" +version = "0.13.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" dependencies = [ "environmental", "parity-scale-codec", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", ] [[package]] name = "sp-inherents" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "async-trait", "impl-trait-for-tuples", "parity-scale-codec", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "thiserror", +] + +[[package]] +name = "sp-inherents" +version = "4.0.0-dev" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" +dependencies = [ + "async-trait", + "impl-trait-for-tuples", + "parity-scale-codec", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", "thiserror", ] @@ -3704,7 +3962,7 @@ dependencies = [ [[package]] name = "sp-io" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "bytes", "ed25519", @@ -3714,14 +3972,39 @@ dependencies = [ "log", "parity-scale-codec", "secp256k1 0.24.3", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-keystore 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-keystore 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "tracing", + "tracing-core", +] + +[[package]] +name = "sp-io" +version = "7.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" +dependencies = [ + "bytes", + "ed25519", + "ed25519-dalek", + "futures", + "libsecp256k1", + "log", + "parity-scale-codec", + "secp256k1 0.24.3", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-keystore 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", "tracing", "tracing-core", ] @@ -3746,7 +4029,23 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.13.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +dependencies = [ + "async-trait", + "futures", + "merlin", + "parity-scale-codec", + "parking_lot", + "schnorrkel", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "thiserror", +] + +[[package]] +name = "sp-keystore" +version = "0.13.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" dependencies = [ "async-trait", "futures", @@ -3754,23 +4053,23 @@ dependencies = [ "parity-scale-codec", "parking_lot", "schnorrkel", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", "thiserror", ] [[package]] name = "sp-npos-elections" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", ] [[package]] @@ -3787,7 +4086,17 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +dependencies = [ + "backtrace", + "lazy_static", + "regex", +] + +[[package]] +name = "sp-panic-handler" +version = "5.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" dependencies = [ "backtrace", "lazy_static", @@ -3821,7 +4130,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "either", "hash256-std-hasher", @@ -3832,12 +4141,34 @@ dependencies = [ "rand 0.8.5", "scale-info", "serde", - "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", +] + +[[package]] +name = "sp-runtime" +version = "7.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" +dependencies = [ + "either", + "hash256-std-hasher", + "impl-trait-for-tuples", + "log", + "parity-scale-codec", + "paste", + "rand 0.8.5", + "scale-info", + "serde", + "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", ] [[package]] @@ -3862,18 +4193,36 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +dependencies = [ + "bytes", + "impl-trait-for-tuples", + "parity-scale-codec", + "primitive-types", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-runtime-interface-proc-macro 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-wasm-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "static_assertions", +] + +[[package]] +name = "sp-runtime-interface" +version = "7.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" dependencies = [ "bytes", "impl-trait-for-tuples", "parity-scale-codec", "primitive-types", - "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-runtime-interface-proc-macro 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-wasm-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-runtime-interface-proc-macro 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-wasm-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", "static_assertions", ] @@ -3893,7 +4242,19 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +dependencies = [ + "Inflector", + "proc-macro-crate", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "sp-runtime-interface-proc-macro" +version = "6.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" dependencies = [ "Inflector", "proc-macro-crate", @@ -3905,27 +4266,39 @@ dependencies = [ [[package]] name = "sp-session" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +dependencies = [ + "parity-scale-codec", + "scale-info", + "sp-api 4.0.0-dev (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-staking 4.0.0-dev (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", +] + +[[package]] +name = "sp-staking" +version = "4.0.0-dev" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "parity-scale-codec", "scale-info", - "sp-api", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-staking", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", ] [[package]] name = "sp-staking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" dependencies = [ "parity-scale-codec", "scale-info", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", ] [[package]] @@ -3954,7 +4327,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.13.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "hash-db", "log", @@ -3962,11 +4335,31 @@ dependencies = [ "parking_lot", "rand 0.8.5", "smallvec", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-panic-handler 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-panic-handler 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "thiserror", + "tracing", +] + +[[package]] +name = "sp-state-machine" +version = "0.13.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" +dependencies = [ + "hash-db", + "log", + "parity-scale-codec", + "parking_lot", + "rand 0.8.5", + "smallvec", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-panic-handler 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", "thiserror", "tracing", ] @@ -3980,7 +4373,12 @@ checksum = "cf3fd4c1d304be101e6ebbafd3d4be9a37b320c970ef4e8df188b16873981c93" [[package]] name = "sp-std" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" + +[[package]] +name = "sp-std" +version = "5.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" [[package]] name = "sp-storage" @@ -3999,28 +4397,41 @@ dependencies = [ [[package]] name = "sp-storage" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +dependencies = [ + "impl-serde 0.4.0", + "parity-scale-codec", + "ref-cast", + "serde", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", +] + +[[package]] +name = "sp-storage" +version = "7.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" dependencies = [ "impl-serde 0.4.0", "parity-scale-codec", "ref-cast", "serde", - "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", ] [[package]] name = "sp-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "async-trait", "futures-timer", "log", "parity-scale-codec", - "sp-inherents", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-inherents 4.0.0-dev (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", "thiserror", ] @@ -4040,10 +4451,22 @@ dependencies = [ [[package]] name = "sp-tracing" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +dependencies = [ + "parity-scale-codec", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "tracing", + "tracing-core", + "tracing-subscriber", +] + +[[package]] +name = "sp-tracing" +version = "6.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" dependencies = [ "parity-scale-codec", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", "tracing", "tracing-core", "tracing-subscriber", @@ -4055,9 +4478,9 @@ version = "7.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2f4f48c887e90050537e399d2d8b6ee82787ebec0fe46e4880b42cab0c2d5ba6" dependencies = [ - "ahash", + "ahash 0.7.6", "hash-db", - "hashbrown", + "hashbrown 0.12.3", "lazy_static", "lru", "memory-db 0.30.0", @@ -4076,20 +4499,43 @@ dependencies = [ [[package]] name = "sp-trie" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ - "ahash", + "ahash 0.8.3", "hash-db", - "hashbrown", + "hashbrown 0.12.3", + "lazy_static", + "memory-db 0.31.0", + "nohash-hasher", + "parity-scale-codec", + "parking_lot", + "scale-info", + "schnellru", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "thiserror", + "tracing", + "trie-db", + "trie-root", +] + +[[package]] +name = "sp-trie" +version = "7.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" +dependencies = [ + "ahash 0.8.3", + "hash-db", + "hashbrown 0.12.3", "lazy_static", - "lru", "memory-db 0.31.0", "nohash-hasher", "parity-scale-codec", "parking_lot", "scale-info", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "schnellru", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", "thiserror", "tracing", "trie-db", @@ -4099,24 +4545,52 @@ dependencies = [ [[package]] name = "sp-version" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +dependencies = [ + "impl-serde 0.4.0", + "parity-scale-codec", + "parity-wasm", + "scale-info", + "serde", + "sp-core-hashing-proc-macro 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-version-proc-macro 4.0.0-dev (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "thiserror", +] + +[[package]] +name = "sp-version" +version = "5.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" dependencies = [ "impl-serde 0.4.0", "parity-scale-codec", "parity-wasm", "scale-info", "serde", - "sp-core-hashing-proc-macro", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-version-proc-macro", + "sp-core-hashing-proc-macro 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-version-proc-macro 4.0.0-dev (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", "thiserror", ] [[package]] name = "sp-version-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +dependencies = [ + "parity-scale-codec", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "sp-version-proc-macro" +version = "4.0.0-dev" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" dependencies = [ "parity-scale-codec", "proc-macro2", @@ -4140,12 +4614,25 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +dependencies = [ + "impl-trait-for-tuples", + "log", + "parity-scale-codec", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "wasmi", + "wasmtime", +] + +[[package]] +name = "sp-wasm-interface" +version = "7.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" dependencies = [ "impl-trait-for-tuples", "log", "parity-scale-codec", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", "wasmi", "wasmtime", ] @@ -4170,16 +4657,31 @@ dependencies = [ [[package]] name = "sp-weights" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +dependencies = [ + "parity-scale-codec", + "scale-info", + "serde", + "smallvec", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", +] + +[[package]] +name = "sp-weights" +version = "4.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" dependencies = [ "parity-scale-codec", "scale-info", "serde", "smallvec", - "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", ] [[package]] @@ -4200,9 +4702,9 @@ dependencies = [ [[package]] name = "ss58-registry" -version = "1.38.0" +version = "1.39.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e40c020d72bc0a9c5660bb71e4a6fdef081493583062c474740a7d59f55f0e7b" +checksum = "ecf0bd63593ef78eca595a7fc25e9a443ca46fe69fd472f8f09f5245cdcd769d" dependencies = [ "Inflector", "num-format", @@ -4338,9 +4840,9 @@ dependencies = [ [[package]] name = "syn" -version = "1.0.107" +version = "1.0.109" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f4064b5b16e03ae50984a5a8ed5d4f8803e6bc1fd170a3cda91a1be4b18e3f5" +checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" dependencies = [ "proc-macro2", "quote", @@ -4646,7 +5148,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "004e1e8f92535694b4cb1444dc5a8073ecf0815e3357f729638b9f8fc4062908" dependencies = [ "hash-db", - "hashbrown", + "hashbrown 0.12.3", "log", "rustc-hex", "smallvec", diff --git a/bin/cliain/Cargo.toml b/bin/cliain/Cargo.toml index f58e94ade1..802a1191d7 100644 --- a/bin/cliain/Cargo.toml +++ b/bin/cliain/Cargo.toml @@ -16,11 +16,11 @@ env_logger = "0.8" hex = "0.4.3" ink_metadata = { version = "4.0.0-beta", features = ["derive"] } log = "0.4" -pallet-staking = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +pallet-staking = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } primitives = { path = "../../primitives" } serde = { version = "1.0.137", features = ["derive"] } serde_json = "1.0.81" -sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37", features = ["full_crypto"] } +sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38", features = ["full_crypto"] } tokio = { version = "1.21.2", features = ["full"] } subxt = "0.25.0" diff --git a/bin/node/Cargo.toml b/bin/node/Cargo.toml index 42247d70bc..debd6bfd77 100644 --- a/bin/node/Cargo.toml +++ b/bin/node/Cargo.toml @@ -26,34 +26,34 @@ hex-literal = "0.3" libp2p = "0.49.0" thiserror = "1.0" -sp-application-crypto = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -sc-block-builder = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -sc-chain-spec = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37"} -sc-cli = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -sc-executor = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -sc-service = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -sc-telemetry = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -sc-keystore = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -sp-keystore = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -sp-inherents = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -sc-basic-authorship = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -sc-network = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -sc-transaction-pool = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -sp-transaction-pool = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -sc-transaction-pool-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -sc-consensus-aura = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -sp-consensus-aura = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -sp-consensus = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -sc-consensus = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -sc-client-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -sp-timestamp = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -pallet-staking = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -try-runtime-cli = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37", optional = true } -sc-consensus-slots = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -sp-arithmetic = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -sp-io = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +sp-application-crypto = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +sc-block-builder = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +sc-chain-spec = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38"} +sc-cli = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +sc-executor = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +sc-service = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +sc-telemetry = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +sc-keystore = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +sp-keystore = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +sp-inherents = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +sc-basic-authorship = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +sc-network = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +sc-transaction-pool = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +sp-transaction-pool = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +sc-transaction-pool-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +sc-consensus-aura = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +sp-consensus-aura = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +sp-consensus = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +sc-consensus = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +sc-client-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +sp-timestamp = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +pallet-staking = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +try-runtime-cli = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38", optional = true } +sc-consensus-slots = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +sp-arithmetic = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +sp-io = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } aleph-runtime = { path = "../runtime" } finality-aleph = { path = "../../finality-aleph" } @@ -61,16 +61,16 @@ aleph-primitives = { package = "primitives", path = "../../primitives" } # These dependencies are used for the node's RPCs jsonrpsee = { version = "0.16.2", features = ["server"] } -sc-rpc = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -sp-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -sc-rpc-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -sp-blockchain = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -sp-block-builder = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -substrate-frame-rpc-system = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -pallet-transaction-payment-rpc = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +sc-rpc = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +sp-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +sc-rpc-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +sp-blockchain = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +sp-block-builder = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +substrate-frame-rpc-system = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +pallet-transaction-payment-rpc = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } [build-dependencies] -substrate-build-script-utils = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +substrate-build-script-utils = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } [features] default = [] diff --git a/bin/runtime/Cargo.toml b/bin/runtime/Cargo.toml index cc26dfdbe1..534b538757 100644 --- a/bin/runtime/Cargo.toml +++ b/bin/runtime/Cargo.toml @@ -15,54 +15,54 @@ codec = { package = "parity-scale-codec", version = "3.0", default-features = fa scale-info = { version = "2.0", default-features = false, features = ["derive"] } serde = { version = "1.0", optional = true, features = ["derive"] } -frame-executive = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -frame-support = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -frame-system = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -frame-system-rpc-runtime-api = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -frame-try-runtime = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37", optional = true } +frame-executive = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +frame-support = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +frame-system = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +frame-system-rpc-runtime-api = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +frame-try-runtime = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38", optional = true } -pallet-aura = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -pallet-authorship = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -pallet-balances = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -pallet-contracts = { git = "https://github.com/Cardinal-Cryptography/substrate", default-features = false, branch = "aleph-v0.9.37" } -pallet-contracts-primitives = { git = "https://github.com/Cardinal-Cryptography/substrate", default-features = false, branch = "aleph-v0.9.37" } -pallet-identity = { git = "https://github.com/Cardinal-Cryptography/substrate", default-features = false, branch = "aleph-v0.9.37" } -pallet-randomness-collective-flip = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -pallet-session = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -pallet-scheduler = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -pallet-staking = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -pallet-sudo = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -pallet-timestamp = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -pallet-transaction-payment = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -pallet-transaction-payment-rpc-runtime-api = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -pallet-treasury = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -pallet-vesting = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -pallet-multisig = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -pallet-utility = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -pallet-nomination-pools = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -pallet-nomination-pools-runtime-api = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +pallet-aura = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +pallet-authorship = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +pallet-balances = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +pallet-contracts = { git = "https://github.com/Cardinal-Cryptography/substrate", default-features = false, branch = "aleph-v0.9.38" } +pallet-contracts-primitives = { git = "https://github.com/Cardinal-Cryptography/substrate", default-features = false, branch = "aleph-v0.9.38" } +pallet-identity = { git = "https://github.com/Cardinal-Cryptography/substrate", default-features = false, branch = "aleph-v0.9.38" } +pallet-randomness-collective-flip = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +pallet-session = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +pallet-scheduler = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +pallet-staking = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +pallet-sudo = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +pallet-timestamp = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +pallet-transaction-payment = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +pallet-transaction-payment-rpc-runtime-api = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +pallet-treasury = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +pallet-vesting = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +pallet-multisig = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +pallet-utility = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +pallet-nomination-pools = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +pallet-nomination-pools-runtime-api = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } -sp-api = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -sp-block-builder = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -sp-consensus-aura = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -sp-core = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -sp-inherents = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -sp-offchain = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -sp-runtime = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -sp-session = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -sp-staking = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -sp-std = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -sp-transaction-pool = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -sp-version = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +sp-api = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +sp-block-builder = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +sp-consensus-aura = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +sp-core = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +sp-inherents = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +sp-offchain = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +sp-runtime = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +sp-session = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +sp-staking = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +sp-std = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +sp-transaction-pool = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +sp-version = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } # NOTE: these two disabled features collide with std in wasm -sp-io = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +sp-io = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } primitives = { path = "../../primitives", default-features = false } pallet-aleph = { path = "../../pallets/aleph", default-features = false } pallet-elections = { path = "../../pallets/elections", default-features = false } [build-dependencies] -substrate-wasm-builder = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +substrate-wasm-builder = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } [dev-dependencies] smallvec = { version = "1", default-features = false} diff --git a/bin/runtime/src/lib.rs b/bin/runtime/src/lib.rs index 45a468c0d1..2908a67eb3 100644 --- a/bin/runtime/src/lib.rs +++ b/bin/runtime/src/lib.rs @@ -110,7 +110,7 @@ pub const VERSION: RuntimeVersion = RuntimeVersion { spec_name: create_runtime_str!("aleph-node"), impl_name: create_runtime_str!("aleph-node"), authoring_version: 1, - spec_version: 55, + spec_version: 56, impl_version: 1, apis: RUNTIME_API_VERSIONS, transaction_version: 14, @@ -223,8 +223,6 @@ parameter_types! { impl pallet_authorship::Config for Runtime { type FindAuthor = pallet_session::FindAccountFromAuthorIndex; - type UncleGenerations = UncleGenerations; - type FilterUncle = (); type EventHandler = (Elections,); } @@ -885,6 +883,12 @@ impl_runtime_apis! { ) -> pallet_transaction_payment::FeeDetails { TransactionPayment::query_fee_details(uxt, len) } + fn query_weight_to_fee(weight: Weight) -> Balance { + TransactionPayment::weight_to_fee(weight) + } + fn query_length_to_fee(length: u32) -> Balance { + TransactionPayment::length_to_fee(length) + } } impl primitives::AlephSessionApi for Runtime { diff --git a/e2e-tests/Cargo.lock b/e2e-tests/Cargo.lock index 72d4f37e35..b898b1f71a 100644 --- a/e2e-tests/Cargo.lock +++ b/e2e-tests/Cargo.lock @@ -47,6 +47,18 @@ dependencies = [ "version_check", ] +[[package]] +name = "ahash" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c99f64d1e06488f620f932677e24bc6e2897582980441ae90a671415bd7ec2f" +dependencies = [ + "cfg-if", + "getrandom 0.2.8", + "once_cell", + "version_check", +] + [[package]] name = "aho-corasick" version = "0.7.20" @@ -79,8 +91,8 @@ dependencies = [ "rand 0.8.5", "rayon", "serde_json", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", "synthetic-link", "tokio", ] @@ -103,7 +115,7 @@ dependencies = [ "primitives", "serde", "serde_json", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", "subxt", "thiserror", ] @@ -456,9 +468,9 @@ dependencies = [ [[package]] name = "clap_lex" -version = "0.3.1" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "783fe232adfca04f90f56201b26d79682d4cd2625e0bc7290b95123afe558ade" +checksum = "350b9cf31731f9957399229e9b2adc51eeabdfbe9d71d9a0552275fd12710d09" dependencies = [ "os_str_bytes", ] @@ -799,6 +811,17 @@ dependencies = [ "syn", ] +[[package]] +name = "derive-syn-parse" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e79116f119dd1dba1abf1f3405f03b9b0e79a27a3883864bfebded8a3dc768cd" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "derive_more" version = "0.99.17" @@ -912,7 +935,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7c24f403d068ad0b359e577a77f92392118be3f3c927538f2bb544a5ecd828c6" dependencies = [ "curve25519-dalek 3.2.0", - "hashbrown", + "hashbrown 0.12.3", "hex", "rand_core 0.6.4", "sha2 0.9.9", @@ -1097,9 +1120,10 @@ dependencies = [ [[package]] name = "frame-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "frame-support", + "frame-support-procedural", "frame-system", "linregress", "log", @@ -1107,20 +1131,21 @@ dependencies = [ "paste", "scale-info", "serde", - "sp-api", - "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-api 4.0.0-dev (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "static_assertions", ] [[package]] name = "frame-election-provider-solution-type" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -1131,18 +1156,18 @@ dependencies = [ [[package]] name = "frame-election-provider-support" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "frame-election-provider-solution-type", "frame-support", "frame-system", "parity-scale-codec", "scale-info", - "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", "sp-npos-elections", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", ] [[package]] @@ -1160,7 +1185,7 @@ dependencies = [ [[package]] name = "frame-support" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "bitflags", "frame-metadata", @@ -1174,28 +1199,29 @@ dependencies = [ "scale-info", "serde", "smallvec", - "sp-api", - "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-core-hashing-proc-macro", + "sp-api 4.0.0-dev (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-core-hashing-proc-macro 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", "sp-inherents", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-staking", - "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-staking 4.0.0-dev (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", "tt-call", ] [[package]] name = "frame-support-procedural" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "Inflector", "cfg-expr", + "derive-syn-parse", "frame-support-procedural-tools", "itertools", "proc-macro2", @@ -1206,7 +1232,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate", @@ -1218,7 +1244,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "proc-macro2", "quote", @@ -1228,19 +1254,19 @@ dependencies = [ [[package]] name = "frame-system" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "frame-support", "log", "parity-scale-codec", "scale-info", "serde", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-version", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-version 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", ] [[package]] @@ -1472,9 +1498,15 @@ version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" dependencies = [ - "ahash", + "ahash 0.7.6", ] +[[package]] +name = "hashbrown" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e" + [[package]] name = "heck" version = "0.4.1" @@ -1726,7 +1758,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399" dependencies = [ "autocfg", - "hashbrown", + "hashbrown 0.12.3", "serde", ] @@ -1873,9 +1905,9 @@ checksum = "30e22bd8629359895450b59ea7a776c850561b96a3b1d31321c1949d9e6c9146" [[package]] name = "is-terminal" -version = "0.4.3" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22e18b0a45d56fe973d6db23972bf5bc46f988a4a2385deac9cc29572f09daef" +checksum = "21b6b32576413a8e69b90e952e4a026476040d81017b80445deda5f2d3921857" dependencies = [ "hermit-abi 0.3.1", "io-lifetimes 1.0.5", @@ -2145,7 +2177,7 @@ version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b6e8aaa3f231bb4bd57b84b2d5dc3ae7f350265df8aa96492e0bc394a1571909" dependencies = [ - "hashbrown", + "hashbrown 0.12.3", ] [[package]] @@ -2206,7 +2238,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "34ac11bb793c28fa095b7554466f53b3a60a2cd002afdac01bcf135cbd73a269" dependencies = [ "hash-db", - "hashbrown", + "hashbrown 0.12.3", "parity-util-mem", ] @@ -2217,7 +2249,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5e0c7cba9ce19ac7ffd2053ac9f49843bbd3f4318feedfd74e85c19d5fb0ba66" dependencies = [ "hash-db", - "hashbrown", + "hashbrown 0.12.3", ] [[package]] @@ -2435,7 +2467,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "21158b2c33aa6d4561f1c0a6ea283ca92bc54802a93b263e910746d679a7eb53" dependencies = [ "crc32fast", - "hashbrown", + "hashbrown 0.12.3", "indexmap", "memchr", ] @@ -2521,22 +2553,21 @@ checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee" [[package]] name = "pallet-authorship" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "frame-support", "frame-system", "impl-trait-for-tuples", "parity-scale-codec", "scale-info", - "sp-authorship", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", ] [[package]] name = "pallet-balances" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "frame-benchmarking", "frame-support", @@ -2544,20 +2575,20 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", ] [[package]] name = "pallet-contracts-primitives" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "bitflags", "parity-scale-codec", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", ] [[package]] @@ -2575,17 +2606,17 @@ dependencies = [ "parity-scale-codec", "primitives", "scale-info", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-staking", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-staking 4.0.0-dev (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", ] [[package]] name = "pallet-session" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "frame-support", "frame-system", @@ -2594,19 +2625,19 @@ dependencies = [ "pallet-timestamp", "parity-scale-codec", "scale-info", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", "sp-session", - "sp-staking", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-staking 4.0.0-dev (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", ] [[package]] name = "pallet-staking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -2618,17 +2649,17 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-staking", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-staking 4.0.0-dev (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", ] [[package]] name = "pallet-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "frame-benchmarking", "frame-support", @@ -2637,9 +2668,9 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-inherents", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", "sp-timestamp", ] @@ -2648,7 +2679,7 @@ name = "pallets-support" version = "0.1.4" dependencies = [ "frame-support", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", ] [[package]] @@ -2685,7 +2716,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0d32c34f4f5ca7f9196001c0aba5a1f9a5a12382c8944b8b0f90233282d1e8f8" dependencies = [ "cfg-if", - "hashbrown", + "hashbrown 0.12.3", "impl-trait-for-tuples", "parity-util-mem-derive", "parking_lot", @@ -2852,12 +2883,12 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-api", - "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-staking", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-api 4.0.0-dev (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-staking 4.0.0-dev (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", ] [[package]] @@ -3345,6 +3376,17 @@ dependencies = [ "windows-sys 0.42.0", ] +[[package]] +name = "schnellru" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "772575a524feeb803e5b0fcbc6dd9f367e579488197c94c6e4023aad2305774d" +dependencies = [ + "ahash 0.8.3", + "cfg-if", + "hashbrown 0.13.2", +] + [[package]] name = "schnorrkel" version = "0.9.1" @@ -3672,25 +3714,55 @@ dependencies = [ [[package]] name = "sp-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +dependencies = [ + "hash-db", + "log", + "parity-scale-codec", + "sp-api-proc-macro 4.0.0-dev (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-version 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "thiserror", +] + +[[package]] +name = "sp-api" +version = "4.0.0-dev" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" dependencies = [ "hash-db", "log", "parity-scale-codec", - "sp-api-proc-macro", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-version", + "sp-api-proc-macro 4.0.0-dev (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-version 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", "thiserror", ] [[package]] name = "sp-api-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +dependencies = [ + "blake2", + "proc-macro-crate", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "sp-api-proc-macro" +version = "4.0.0-dev" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" dependencies = [ "blake2", "proc-macro-crate", @@ -3716,14 +3788,27 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +dependencies = [ + "parity-scale-codec", + "scale-info", + "serde", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", +] + +[[package]] +name = "sp-application-crypto" +version = "7.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", ] [[package]] @@ -3745,27 +3830,29 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "integer-sqrt", "num-traits", "parity-scale-codec", "scale-info", "serde", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", "static_assertions", ] [[package]] -name = "sp-authorship" -version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +name = "sp-arithmetic" +version = "6.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" dependencies = [ - "async-trait", + "integer-sqrt", + "num-traits", "parity-scale-codec", - "sp-inherents", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "scale-info", + "serde", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "static_assertions", ] [[package]] @@ -3817,7 +3904,7 @@ dependencies = [ [[package]] name = "sp-core" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "array-bytes", "base58", @@ -3843,12 +3930,54 @@ dependencies = [ "secp256k1 0.24.3", "secrecy", "serde", - "sp-core-hashing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-core-hashing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "ss58-registry", + "substrate-bip39", + "thiserror", + "tiny-bip39 1.0.0", + "zeroize", +] + +[[package]] +name = "sp-core" +version = "7.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" +dependencies = [ + "array-bytes", + "base58", + "bitflags", + "blake2", + "dyn-clonable", + "ed25519-zebra", + "futures", + "hash-db", + "hash256-std-hasher", + "impl-serde", + "lazy_static", + "libsecp256k1", + "log", + "merlin", + "parity-scale-codec", + "parking_lot", + "primitive-types", + "rand 0.8.5", + "regex", + "scale-info", + "schnorrkel", + "secp256k1 0.24.3", + "secrecy", + "serde", + "sp-core-hashing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", "ss58-registry", "substrate-bip39", "thiserror", @@ -3874,25 +4003,50 @@ dependencies = [ [[package]] name = "sp-core-hashing" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "blake2", "byteorder", "digest 0.10.6", "sha2 0.10.6", "sha3", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "twox-hash", +] + +[[package]] +name = "sp-core-hashing" +version = "5.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" +dependencies = [ + "blake2", + "byteorder", + "digest 0.10.6", + "sha2 0.10.6", + "sha3", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", "twox-hash", ] [[package]] name = "sp-core-hashing-proc-macro" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "proc-macro2", "quote", - "sp-core-hashing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-core-hashing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "syn", +] + +[[package]] +name = "sp-core-hashing-proc-macro" +version = "5.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" +dependencies = [ + "proc-macro2", + "quote", + "sp-core-hashing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", "syn", ] @@ -3910,7 +4064,17 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "sp-debug-derive" +version = "5.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" dependencies = [ "proc-macro2", "quote", @@ -3932,25 +4096,36 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.13.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "environmental", "parity-scale-codec", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", +] + +[[package]] +name = "sp-externalities" +version = "0.13.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" +dependencies = [ + "environmental", + "parity-scale-codec", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", ] [[package]] name = "sp-inherents" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "async-trait", "impl-trait-for-tuples", "parity-scale-codec", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", "thiserror", ] @@ -3984,7 +4159,32 @@ dependencies = [ [[package]] name = "sp-io" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +dependencies = [ + "bytes", + "ed25519", + "ed25519-dalek", + "futures", + "libsecp256k1", + "log", + "parity-scale-codec", + "secp256k1 0.24.3", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-keystore 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "tracing", + "tracing-core", +] + +[[package]] +name = "sp-io" +version = "7.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" dependencies = [ "bytes", "ed25519", @@ -3994,14 +4194,14 @@ dependencies = [ "log", "parity-scale-codec", "secp256k1 0.24.3", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-keystore 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-keystore 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", "tracing", "tracing-core", ] @@ -4026,7 +4226,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.13.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "async-trait", "futures", @@ -4034,23 +4234,39 @@ dependencies = [ "parity-scale-codec", "parking_lot", "schnorrkel", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "thiserror", +] + +[[package]] +name = "sp-keystore" +version = "0.13.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" +dependencies = [ + "async-trait", + "futures", + "merlin", + "parity-scale-codec", + "parking_lot", + "schnorrkel", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", "thiserror", ] [[package]] name = "sp-npos-elections" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", ] [[package]] @@ -4067,7 +4283,17 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +dependencies = [ + "backtrace", + "lazy_static", + "regex", +] + +[[package]] +name = "sp-panic-handler" +version = "5.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" dependencies = [ "backtrace", "lazy_static", @@ -4101,7 +4327,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "either", "hash256-std-hasher", @@ -4112,12 +4338,34 @@ dependencies = [ "rand 0.8.5", "scale-info", "serde", - "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", +] + +[[package]] +name = "sp-runtime" +version = "7.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" +dependencies = [ + "either", + "hash256-std-hasher", + "impl-trait-for-tuples", + "log", + "parity-scale-codec", + "paste", + "rand 0.8.5", + "scale-info", + "serde", + "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", ] [[package]] @@ -4142,18 +4390,36 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "bytes", "impl-trait-for-tuples", "parity-scale-codec", "primitive-types", - "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-runtime-interface-proc-macro 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-wasm-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-runtime-interface-proc-macro 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-wasm-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "static_assertions", +] + +[[package]] +name = "sp-runtime-interface" +version = "7.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" +dependencies = [ + "bytes", + "impl-trait-for-tuples", + "parity-scale-codec", + "primitive-types", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-runtime-interface-proc-macro 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-wasm-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", "static_assertions", ] @@ -4173,7 +4439,19 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +dependencies = [ + "Inflector", + "proc-macro-crate", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "sp-runtime-interface-proc-macro" +version = "6.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" dependencies = [ "Inflector", "proc-macro-crate", @@ -4185,27 +4463,39 @@ dependencies = [ [[package]] name = "sp-session" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "parity-scale-codec", "scale-info", - "sp-api", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-staking", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-api 4.0.0-dev (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-staking 4.0.0-dev (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", ] [[package]] name = "sp-staking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "parity-scale-codec", "scale-info", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", +] + +[[package]] +name = "sp-staking" +version = "4.0.0-dev" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" +dependencies = [ + "parity-scale-codec", + "scale-info", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", ] [[package]] @@ -4234,7 +4524,27 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.13.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +dependencies = [ + "hash-db", + "log", + "parity-scale-codec", + "parking_lot", + "rand 0.8.5", + "smallvec", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-panic-handler 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "thiserror", + "tracing", +] + +[[package]] +name = "sp-state-machine" +version = "0.13.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" dependencies = [ "hash-db", "log", @@ -4242,11 +4552,11 @@ dependencies = [ "parking_lot", "rand 0.8.5", "smallvec", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-panic-handler 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-panic-handler 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", "thiserror", "tracing", ] @@ -4260,7 +4570,12 @@ checksum = "cf3fd4c1d304be101e6ebbafd3d4be9a37b320c970ef4e8df188b16873981c93" [[package]] name = "sp-std" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" + +[[package]] +name = "sp-std" +version = "5.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" [[package]] name = "sp-storage" @@ -4279,28 +4594,41 @@ dependencies = [ [[package]] name = "sp-storage" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "impl-serde", "parity-scale-codec", "ref-cast", "serde", - "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", +] + +[[package]] +name = "sp-storage" +version = "7.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" +dependencies = [ + "impl-serde", + "parity-scale-codec", + "ref-cast", + "serde", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", ] [[package]] name = "sp-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "async-trait", "futures-timer", "log", "parity-scale-codec", "sp-inherents", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", "thiserror", ] @@ -4320,10 +4648,22 @@ dependencies = [ [[package]] name = "sp-tracing" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +dependencies = [ + "parity-scale-codec", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "tracing", + "tracing-core", + "tracing-subscriber", +] + +[[package]] +name = "sp-tracing" +version = "6.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" dependencies = [ "parity-scale-codec", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", "tracing", "tracing-core", "tracing-subscriber", @@ -4335,9 +4675,9 @@ version = "7.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2f4f48c887e90050537e399d2d8b6ee82787ebec0fe46e4880b42cab0c2d5ba6" dependencies = [ - "ahash", + "ahash 0.7.6", "hash-db", - "hashbrown", + "hashbrown 0.12.3", "lazy_static", "lru", "memory-db 0.30.0", @@ -4356,20 +4696,43 @@ dependencies = [ [[package]] name = "sp-trie" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ - "ahash", + "ahash 0.8.3", "hash-db", - "hashbrown", + "hashbrown 0.12.3", "lazy_static", - "lru", "memory-db 0.31.0", "nohash-hasher", "parity-scale-codec", "parking_lot", "scale-info", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "schnellru", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "thiserror", + "tracing", + "trie-db", + "trie-root", +] + +[[package]] +name = "sp-trie" +version = "7.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" +dependencies = [ + "ahash 0.8.3", + "hash-db", + "hashbrown 0.12.3", + "lazy_static", + "memory-db 0.31.0", + "nohash-hasher", + "parity-scale-codec", + "parking_lot", + "scale-info", + "schnellru", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", "thiserror", "tracing", "trie-db", @@ -4379,24 +4742,52 @@ dependencies = [ [[package]] name = "sp-version" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "impl-serde", "parity-scale-codec", "parity-wasm", "scale-info", "serde", - "sp-core-hashing-proc-macro", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-version-proc-macro", + "sp-core-hashing-proc-macro 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-version-proc-macro 4.0.0-dev (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "thiserror", +] + +[[package]] +name = "sp-version" +version = "5.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" +dependencies = [ + "impl-serde", + "parity-scale-codec", + "parity-wasm", + "scale-info", + "serde", + "sp-core-hashing-proc-macro 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-version-proc-macro 4.0.0-dev (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", "thiserror", ] [[package]] name = "sp-version-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +dependencies = [ + "parity-scale-codec", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "sp-version-proc-macro" +version = "4.0.0-dev" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" dependencies = [ "parity-scale-codec", "proc-macro2", @@ -4420,12 +4811,25 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "impl-trait-for-tuples", "log", "parity-scale-codec", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "wasmi", + "wasmtime", +] + +[[package]] +name = "sp-wasm-interface" +version = "7.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" +dependencies = [ + "impl-trait-for-tuples", + "log", + "parity-scale-codec", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", "wasmi", "wasmtime", ] @@ -4450,16 +4854,31 @@ dependencies = [ [[package]] name = "sp-weights" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +dependencies = [ + "parity-scale-codec", + "scale-info", + "serde", + "smallvec", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", +] + +[[package]] +name = "sp-weights" +version = "4.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" dependencies = [ "parity-scale-codec", "scale-info", "serde", "smallvec", - "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", ] [[package]] @@ -4480,9 +4899,9 @@ dependencies = [ [[package]] name = "ss58-registry" -version = "1.38.0" +version = "1.39.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e40c020d72bc0a9c5660bb71e4a6fdef081493583062c474740a7d59f55f0e7b" +checksum = "ecf0bd63593ef78eca595a7fc25e9a443ca46fe69fd472f8f09f5245cdcd769d" dependencies = [ "Inflector", "num-format", @@ -4618,9 +5037,9 @@ dependencies = [ [[package]] name = "syn" -version = "1.0.107" +version = "1.0.109" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f4064b5b16e03ae50984a5a8ed5d4f8803e6bc1fd170a3cda91a1be4b18e3f5" +checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" dependencies = [ "proc-macro2", "quote", @@ -4945,7 +5364,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "004e1e8f92535694b4cb1444dc5a8073ecf0815e3357f729638b9f8fc4062908" dependencies = [ "hash-db", - "hashbrown", + "hashbrown 0.12.3", "log", "rustc-hex", "smallvec", diff --git a/e2e-tests/Cargo.toml b/e2e-tests/Cargo.toml index f648375199..a390cdfcb0 100644 --- a/e2e-tests/Cargo.toml +++ b/e2e-tests/Cargo.toml @@ -19,12 +19,12 @@ tokio = { version = "1.21.2", features = ["full"] } futures = "0.3.25" once_cell = "1.16" -sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37", default-features = false, features = ["full_crypto"] } -sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37", default-features = false } -frame-support = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37", default-features = false } -system = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37", package = "frame-system" } -pallet-staking = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37", default-features = false } -pallet-balances = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37", default-features = false } +sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38", default-features = false, features = ["full_crypto"] } +sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38", default-features = false } +frame-support = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38", default-features = false } +system = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38", package = "frame-system" } +pallet-staking = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38", default-features = false } +pallet-balances = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38", default-features = false } aleph_client = { path = "../aleph-client" } primitives = { path = "../primitives", features = ["short_session"], default-features = false } diff --git a/finality-aleph/Cargo.toml b/finality-aleph/Cargo.toml index c0fa50871a..4917cb3e14 100644 --- a/finality-aleph/Cargo.toml +++ b/finality-aleph/Cargo.toml @@ -35,29 +35,29 @@ serde = "1.0" tiny-bip39 = "1.0" tokio = { version = "1.17", features = [ "sync", "macros", "time", "rt-multi-thread" ] } -prometheus-endpoint = { package = "substrate-prometheus-endpoint", git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -sp-keystore = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -sc-network = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -sc-network-common = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -sc-telemetry = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -sc-service = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -sp-application-crypto = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -sp-state-machine = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -sp-trie = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -sc-utils = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -sp-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -sp-blockchain = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -sc-consensus = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -sp-consensus = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -sc-client-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -sp-io = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +prometheus-endpoint = { package = "substrate-prometheus-endpoint", git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +sp-keystore = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +sc-network = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +sc-network-common = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +sc-telemetry = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +sc-service = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +sp-application-crypto = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +sp-state-machine = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +sp-trie = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +sc-utils = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +sp-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +sp-blockchain = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +sc-consensus = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +sp-consensus = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +sc-client-api = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +sp-io = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } [dev-dependencies] -substrate-test-runtime-client = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -substrate-test-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -sc-block-builder = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +substrate-test-runtime-client = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +substrate-test-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +sc-block-builder = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } [features] only_legacy = [] diff --git a/finality-aleph/src/session_map.rs b/finality-aleph/src/session_map.rs index 6569dbe0d6..fc88f2a997 100644 --- a/finality-aleph/src/session_map.rs +++ b/finality-aleph/src/session_map.rs @@ -366,6 +366,7 @@ mod tests { use futures_timer::Delay; use sc_block_builder::BlockBuilderProvider; + use sc_client_api::FinalizeSummary; use sc_utils::mpsc::tracing_unbounded; use sp_consensus::BlockOrigin; use substrate_test_runtime_client::{ @@ -456,12 +457,14 @@ mod tests { } fn to_notification(block: TBlock) -> FinalityNotification { - FinalityNotification { - hash: block.header.hash(), + let (sender, _) = tracing_unbounded("test", 1); + let summary = FinalizeSummary { header: block.header, - tree_route: Arc::new([]), - stale_heads: Arc::new([]), - } + finalized: vec![], + stale_heads: vec![], + }; + + FinalityNotification::from_summary(summary, sender) } #[tokio::test(flavor = "multi_thread")] diff --git a/flooder/Cargo.lock b/flooder/Cargo.lock index 979759bc9e..00ac34699b 100644 --- a/flooder/Cargo.lock +++ b/flooder/Cargo.lock @@ -47,6 +47,18 @@ dependencies = [ "version_check", ] +[[package]] +name = "ahash" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c99f64d1e06488f620f932677e24bc6e2897582980441ae90a671415bd7ec2f" +dependencies = [ + "cfg-if 1.0.0", + "getrandom 0.2.8", + "once_cell", + "version_check", +] + [[package]] name = "aho-corasick" version = "0.7.20" @@ -74,7 +86,7 @@ dependencies = [ "primitives", "serde", "serde_json", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", "subxt", "thiserror", ] @@ -754,6 +766,17 @@ dependencies = [ "syn", ] +[[package]] +name = "derive-syn-parse" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e79116f119dd1dba1abf1f3405f03b9b0e79a27a3883864bfebded8a3dc768cd" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "derive_more" version = "0.99.17" @@ -867,7 +890,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7c24f403d068ad0b359e577a77f92392118be3f3c927538f2bb544a5ecd828c6" dependencies = [ "curve25519-dalek 3.2.0", - "hashbrown", + "hashbrown 0.12.3", "hex", "rand_core 0.6.4", "sha2 0.9.9", @@ -1021,8 +1044,8 @@ dependencies = [ "mio 0.6.23", "parity-scale-codec", "serde_json", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", "subxt", "tokio", "ws", @@ -1074,7 +1097,7 @@ dependencies = [ [[package]] name = "frame-support" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" dependencies = [ "bitflags", "frame-metadata", @@ -1089,27 +1112,28 @@ dependencies = [ "serde", "smallvec", "sp-api", - "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", "sp-core-hashing-proc-macro", "sp-inherents", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", "sp-staking", - "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", "tt-call", ] [[package]] name = "frame-support-procedural" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" dependencies = [ "Inflector", "cfg-expr", + "derive-syn-parse", "frame-support-procedural-tools", "itertools", "proc-macro2", @@ -1120,7 +1144,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate", @@ -1132,7 +1156,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" dependencies = [ "proc-macro2", "quote", @@ -1384,9 +1408,15 @@ version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" dependencies = [ - "ahash", + "ahash 0.7.6", ] +[[package]] +name = "hashbrown" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e" + [[package]] name = "hdrhistogram" version = "7.5.2" @@ -1633,7 +1663,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399" dependencies = [ "autocfg", - "hashbrown", + "hashbrown 0.12.3", "serde", ] @@ -2033,7 +2063,7 @@ version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b6e8aaa3f231bb4bd57b84b2d5dc3ae7f350265df8aa96492e0bc394a1571909" dependencies = [ - "hashbrown", + "hashbrown 0.12.3", ] [[package]] @@ -2076,7 +2106,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "34ac11bb793c28fa095b7554466f53b3a60a2cd002afdac01bcf135cbd73a269" dependencies = [ "hash-db", - "hashbrown", + "hashbrown 0.12.3", "parity-util-mem", ] @@ -2087,7 +2117,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5e0c7cba9ce19ac7ffd2053ac9f49843bbd3f4318feedfd74e85c19d5fb0ba66" dependencies = [ "hash-db", - "hashbrown", + "hashbrown 0.12.3", ] [[package]] @@ -2296,7 +2326,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "21158b2c33aa6d4561f1c0a6ea283ca92bc54802a93b263e910746d679a7eb53" dependencies = [ "crc32fast", - "hashbrown", + "hashbrown 0.12.3", "indexmap", "memchr", ] @@ -2382,13 +2412,13 @@ checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee" [[package]] name = "pallet-contracts-primitives" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" dependencies = [ "bitflags", "parity-scale-codec", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", ] [[package]] @@ -2425,7 +2455,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0d32c34f4f5ca7f9196001c0aba5a1f9a5a12382c8944b8b0f90233282d1e8f8" dependencies = [ "cfg-if 1.0.0", - "hashbrown", + "hashbrown 0.12.3", "impl-trait-for-tuples", "parity-util-mem-derive", "parking_lot", @@ -2593,11 +2623,11 @@ dependencies = [ "scale-info", "serde", "sp-api", - "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", "sp-staking", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", ] [[package]] @@ -2987,6 +3017,17 @@ dependencies = [ "windows-sys 0.42.0", ] +[[package]] +name = "schnellru" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "772575a524feeb803e5b0fcbc6dd9f367e579488197c94c6e4023aad2305774d" +dependencies = [ + "ahash 0.8.3", + "cfg-if 1.0.0", + "hashbrown 0.13.2", +] + [[package]] name = "schnorrkel" version = "0.9.1" @@ -3291,17 +3332,17 @@ dependencies = [ [[package]] name = "sp-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" dependencies = [ "hash-db", "log", "parity-scale-codec", "sp-api-proc-macro", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", "sp-version", "thiserror", ] @@ -3309,7 +3350,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" dependencies = [ "blake2", "proc-macro-crate", @@ -3335,14 +3376,27 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +dependencies = [ + "parity-scale-codec", + "scale-info", + "serde", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", +] + +[[package]] +name = "sp-application-crypto" +version = "7.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", ] [[package]] @@ -3364,14 +3418,28 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +dependencies = [ + "integer-sqrt", + "num-traits", + "parity-scale-codec", + "scale-info", + "serde", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "static_assertions", +] + +[[package]] +name = "sp-arithmetic" +version = "6.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" dependencies = [ "integer-sqrt", "num-traits", "parity-scale-codec", "scale-info", "serde", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", "static_assertions", ] @@ -3424,7 +3492,7 @@ dependencies = [ [[package]] name = "sp-core" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "array-bytes", "base58", @@ -3450,12 +3518,54 @@ dependencies = [ "secp256k1 0.24.3", "secrecy", "serde", - "sp-core-hashing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-core-hashing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "ss58-registry", + "substrate-bip39", + "thiserror", + "tiny-bip39 1.0.0", + "zeroize", +] + +[[package]] +name = "sp-core" +version = "7.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" +dependencies = [ + "array-bytes", + "base58", + "bitflags", + "blake2", + "dyn-clonable", + "ed25519-zebra", + "futures", + "hash-db", + "hash256-std-hasher", + "impl-serde", + "lazy_static", + "libsecp256k1", + "log", + "merlin", + "parity-scale-codec", + "parking_lot", + "primitive-types", + "rand 0.8.5", + "regex", + "scale-info", + "schnorrkel", + "secp256k1 0.24.3", + "secrecy", + "serde", + "sp-core-hashing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", "ss58-registry", "substrate-bip39", "thiserror", @@ -3481,25 +3591,39 @@ dependencies = [ [[package]] name = "sp-core-hashing" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "blake2", "byteorder", "digest 0.10.6", "sha2 0.10.6", "sha3", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "twox-hash", +] + +[[package]] +name = "sp-core-hashing" +version = "5.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" +dependencies = [ + "blake2", + "byteorder", + "digest 0.10.6", + "sha2 0.10.6", + "sha3", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", "twox-hash", ] [[package]] name = "sp-core-hashing-proc-macro" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" dependencies = [ "proc-macro2", "quote", - "sp-core-hashing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-core-hashing 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", "syn", ] @@ -3517,7 +3641,17 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "sp-debug-derive" +version = "5.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" dependencies = [ "proc-macro2", "quote", @@ -3539,25 +3673,36 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.13.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "environmental", "parity-scale-codec", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", +] + +[[package]] +name = "sp-externalities" +version = "0.13.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" +dependencies = [ + "environmental", + "parity-scale-codec", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", ] [[package]] name = "sp-inherents" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" dependencies = [ "async-trait", "impl-trait-for-tuples", "parity-scale-codec", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", "thiserror", ] @@ -3591,7 +3736,7 @@ dependencies = [ [[package]] name = "sp-io" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "bytes 1.4.0", "ed25519", @@ -3601,14 +3746,39 @@ dependencies = [ "log", "parity-scale-codec", "secp256k1 0.24.3", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-keystore 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-keystore 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "tracing", + "tracing-core", +] + +[[package]] +name = "sp-io" +version = "7.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" +dependencies = [ + "bytes 1.4.0", + "ed25519", + "ed25519-dalek", + "futures", + "libsecp256k1", + "log", + "parity-scale-codec", + "secp256k1 0.24.3", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-keystore 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-runtime-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-state-machine 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", "tracing", "tracing-core", ] @@ -3633,7 +3803,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.13.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "async-trait", "futures", @@ -3641,8 +3811,24 @@ dependencies = [ "parity-scale-codec", "parking_lot", "schnorrkel", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "thiserror", +] + +[[package]] +name = "sp-keystore" +version = "0.13.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" +dependencies = [ + "async-trait", + "futures", + "merlin", + "parity-scale-codec", + "parking_lot", + "schnorrkel", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", "thiserror", ] @@ -3660,7 +3846,17 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +dependencies = [ + "backtrace", + "lazy_static", + "regex", +] + +[[package]] +name = "sp-panic-handler" +version = "5.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" dependencies = [ "backtrace", "lazy_static", @@ -3694,7 +3890,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "either", "hash256-std-hasher", @@ -3705,12 +3901,34 @@ dependencies = [ "rand 0.8.5", "scale-info", "serde", - "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", +] + +[[package]] +name = "sp-runtime" +version = "7.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" +dependencies = [ + "either", + "hash256-std-hasher", + "impl-trait-for-tuples", + "log", + "parity-scale-codec", + "paste", + "rand 0.8.5", + "scale-info", + "serde", + "sp-application-crypto 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-io 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-weights 4.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", ] [[package]] @@ -3735,18 +3953,36 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "bytes 1.4.0", "impl-trait-for-tuples", "parity-scale-codec", "primitive-types", - "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-runtime-interface-proc-macro 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-wasm-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-runtime-interface-proc-macro 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-wasm-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "static_assertions", +] + +[[package]] +name = "sp-runtime-interface" +version = "7.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" +dependencies = [ + "bytes 1.4.0", + "impl-trait-for-tuples", + "parity-scale-codec", + "primitive-types", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-runtime-interface-proc-macro 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-storage 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-tracing 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-wasm-interface 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", "static_assertions", ] @@ -3766,7 +4002,19 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +dependencies = [ + "Inflector", + "proc-macro-crate", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "sp-runtime-interface-proc-macro" +version = "6.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" dependencies = [ "Inflector", "proc-macro-crate", @@ -3778,13 +4026,13 @@ dependencies = [ [[package]] name = "sp-staking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" dependencies = [ "parity-scale-codec", "scale-info", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", ] [[package]] @@ -3813,7 +4061,27 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.13.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +dependencies = [ + "hash-db", + "log", + "parity-scale-codec", + "parking_lot", + "rand 0.8.5", + "smallvec", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-panic-handler 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "thiserror", + "tracing", +] + +[[package]] +name = "sp-state-machine" +version = "0.13.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" dependencies = [ "hash-db", "log", @@ -3821,11 +4089,11 @@ dependencies = [ "parking_lot", "rand 0.8.5", "smallvec", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-panic-handler 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-externalities 0.13.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-panic-handler 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-trie 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", "thiserror", "tracing", ] @@ -3839,7 +4107,12 @@ checksum = "cf3fd4c1d304be101e6ebbafd3d4be9a37b320c970ef4e8df188b16873981c93" [[package]] name = "sp-std" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" + +[[package]] +name = "sp-std" +version = "5.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" [[package]] name = "sp-storage" @@ -3858,14 +4131,27 @@ dependencies = [ [[package]] name = "sp-storage" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +dependencies = [ + "impl-serde", + "parity-scale-codec", + "ref-cast", + "serde", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", +] + +[[package]] +name = "sp-storage" +version = "7.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" dependencies = [ "impl-serde", "parity-scale-codec", "ref-cast", "serde", - "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", ] [[package]] @@ -3884,10 +4170,22 @@ dependencies = [ [[package]] name = "sp-tracing" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "parity-scale-codec", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "tracing", + "tracing-core", + "tracing-subscriber", +] + +[[package]] +name = "sp-tracing" +version = "6.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" +dependencies = [ + "parity-scale-codec", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", "tracing", "tracing-core", "tracing-subscriber", @@ -3899,9 +4197,9 @@ version = "7.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2f4f48c887e90050537e399d2d8b6ee82787ebec0fe46e4880b42cab0c2d5ba6" dependencies = [ - "ahash", + "ahash 0.7.6", "hash-db", - "hashbrown", + "hashbrown 0.12.3", "lazy_static", "lru", "memory-db 0.30.0", @@ -3920,20 +4218,43 @@ dependencies = [ [[package]] name = "sp-trie" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ - "ahash", + "ahash 0.8.3", "hash-db", - "hashbrown", + "hashbrown 0.12.3", "lazy_static", - "lru", "memory-db 0.31.0", "nohash-hasher", "parity-scale-codec", "parking_lot", "scale-info", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "schnellru", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "thiserror", + "tracing", + "trie-db", + "trie-root", +] + +[[package]] +name = "sp-trie" +version = "7.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" +dependencies = [ + "ahash 0.8.3", + "hash-db", + "hashbrown 0.12.3", + "lazy_static", + "memory-db 0.31.0", + "nohash-hasher", + "parity-scale-codec", + "parking_lot", + "scale-info", + "schnellru", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", "thiserror", "tracing", "trie-db", @@ -3943,7 +4264,7 @@ dependencies = [ [[package]] name = "sp-version" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" dependencies = [ "impl-serde", "parity-scale-codec", @@ -3951,8 +4272,8 @@ dependencies = [ "scale-info", "serde", "sp-core-hashing-proc-macro", - "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-runtime 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", "sp-version-proc-macro", "thiserror", ] @@ -3960,7 +4281,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" dependencies = [ "parity-scale-codec", "proc-macro2", @@ -3984,12 +4305,25 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "impl-trait-for-tuples", "log", "parity-scale-codec", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "wasmi", + "wasmtime", +] + +[[package]] +name = "sp-wasm-interface" +version = "7.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" +dependencies = [ + "impl-trait-for-tuples", + "log", + "parity-scale-codec", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", "wasmi", "wasmtime", ] @@ -4014,16 +4348,31 @@ dependencies = [ [[package]] name = "sp-weights" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +dependencies = [ + "parity-scale-codec", + "scale-info", + "serde", + "smallvec", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38)", +] + +[[package]] +name = "sp-weights" +version = "4.0.0" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38#140608987761992352ba19e9e0883f5cb8bd6d2a" dependencies = [ "parity-scale-codec", "scale-info", "serde", "smallvec", - "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", - "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37)", + "sp-arithmetic 6.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-core 7.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-debug-derive 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", + "sp-std 5.0.0 (git+https://github.com/Cardinal-Cryptography/substrate.git?branch=wip-v0.9.38)", ] [[package]] @@ -4044,9 +4393,9 @@ dependencies = [ [[package]] name = "ss58-registry" -version = "1.38.0" +version = "1.39.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e40c020d72bc0a9c5660bb71e4a6fdef081493583062c474740a7d59f55f0e7b" +checksum = "ecf0bd63593ef78eca595a7fc25e9a443ca46fe69fd472f8f09f5245cdcd769d" dependencies = [ "Inflector", "num-format", @@ -4169,9 +4518,9 @@ dependencies = [ [[package]] name = "syn" -version = "1.0.107" +version = "1.0.109" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f4064b5b16e03ae50984a5a8ed5d4f8803e6bc1fd170a3cda91a1be4b18e3f5" +checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" dependencies = [ "proc-macro2", "quote", @@ -4474,7 +4823,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "004e1e8f92535694b4cb1444dc5a8073ecf0815e3357f729638b9f8fc4062908" dependencies = [ "hash-db", - "hashbrown", + "hashbrown 0.12.3", "log", "rustc-hex", "smallvec", diff --git a/flooder/Cargo.toml b/flooder/Cargo.toml index 27c79a824d..a172d2509c 100644 --- a/flooder/Cargo.toml +++ b/flooder/Cargo.toml @@ -6,8 +6,8 @@ edition = "2021" license = "Apache 2.0" [dependencies] -sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37", features = ["full_crypto"] } -sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38", features = ["full_crypto"] } +sp-runtime = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } # other dependencies serde_json = { version = "1.0" } diff --git a/fork-off/Cargo.lock b/fork-off/Cargo.lock index bd8d377f12..3d642c5593 100644 --- a/fork-off/Cargo.lock +++ b/fork-off/Cargo.lock @@ -47,6 +47,18 @@ dependencies = [ "version_check 0.9.4", ] +[[package]] +name = "ahash" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c99f64d1e06488f620f932677e24bc6e2897582980441ae90a671415bd7ec2f" +dependencies = [ + "cfg-if 1.0.0", + "getrandom 0.2.8", + "once_cell", + "version_check 0.9.4", +] + [[package]] name = "aho-corasick" version = "0.7.20" @@ -672,6 +684,17 @@ dependencies = [ "zeroize", ] +[[package]] +name = "derive-syn-parse" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e79116f119dd1dba1abf1f3405f03b9b0e79a27a3883864bfebded8a3dc768cd" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "derive_more" version = "0.99.17" @@ -787,7 +810,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7c24f403d068ad0b359e577a77f92392118be3f3c927538f2bb544a5ecd828c6" dependencies = [ "curve25519-dalek 3.2.0", - "hashbrown", + "hashbrown 0.12.3", "hex", "rand_core 0.6.4", "sha2 0.9.9", @@ -977,9 +1000,10 @@ dependencies = [ [[package]] name = "frame-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "frame-support", + "frame-support-procedural", "frame-system", "linregress", "log 0.4.17", @@ -995,6 +1019,7 @@ dependencies = [ "sp-runtime-interface", "sp-std", "sp-storage", + "static_assertions", ] [[package]] @@ -1012,7 +1037,7 @@ dependencies = [ [[package]] name = "frame-support" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "bitflags", "frame-metadata", @@ -1044,10 +1069,11 @@ dependencies = [ [[package]] name = "frame-support-procedural" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "Inflector", "cfg-expr", + "derive-syn-parse", "frame-support-procedural-tools", "itertools", "proc-macro2", @@ -1058,7 +1084,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate 1.3.0", @@ -1070,7 +1096,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "proc-macro2", "quote", @@ -1080,7 +1106,7 @@ dependencies = [ [[package]] name = "frame-system" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "frame-support", "log 0.4.17", @@ -1328,9 +1354,15 @@ version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" dependencies = [ - "ahash", + "ahash 0.7.6", ] +[[package]] +name = "hashbrown" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e" + [[package]] name = "heck" version = "0.4.1" @@ -1578,7 +1610,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399" dependencies = [ "autocfg 1.1.0", - "hashbrown", + "hashbrown 0.12.3", "serde", ] @@ -1880,15 +1912,6 @@ dependencies = [ "cfg-if 1.0.0", ] -[[package]] -name = "lru" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6e8aaa3f231bb4bd57b84b2d5dc3ae7f350265df8aa96492e0bc394a1571909" -dependencies = [ - "hashbrown", -] - [[package]] name = "mach" version = "0.3.2" @@ -1950,7 +1973,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5e0c7cba9ce19ac7ffd2053ac9f49843bbd3f4318feedfd74e85c19d5fb0ba66" dependencies = [ "hash-db", - "hashbrown", + "hashbrown 0.12.3", ] [[package]] @@ -2190,7 +2213,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "21158b2c33aa6d4561f1c0a6ea283ca92bc54802a93b263e910746d679a7eb53" dependencies = [ "crc32fast", - "hashbrown", + "hashbrown 0.12.3", "indexmap", "memchr", ] @@ -2276,7 +2299,7 @@ checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee" [[package]] name = "pallet-balances" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "frame-benchmarking", "frame-support", @@ -2971,6 +2994,17 @@ dependencies = [ "windows-sys 0.42.0", ] +[[package]] +name = "schnellru" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "772575a524feeb803e5b0fcbc6dd9f367e579488197c94c6e4023aad2305774d" +dependencies = [ + "ahash 0.8.3", + "cfg-if 1.0.0", + "hashbrown 0.13.2", +] + [[package]] name = "schnorrkel" version = "0.9.1" @@ -3267,7 +3301,7 @@ dependencies = [ [[package]] name = "sp-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "hash-db", "log 0.4.17", @@ -3285,7 +3319,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "blake2", "proc-macro-crate 1.3.0", @@ -3297,7 +3331,7 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "parity-scale-codec", "scale-info", @@ -3310,7 +3344,7 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "integer-sqrt", "num-traits", @@ -3324,7 +3358,7 @@ dependencies = [ [[package]] name = "sp-core" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "array-bytes", "base58", @@ -3366,7 +3400,7 @@ dependencies = [ [[package]] name = "sp-core-hashing" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "blake2", "byteorder", @@ -3380,7 +3414,7 @@ dependencies = [ [[package]] name = "sp-core-hashing-proc-macro" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "proc-macro2", "quote", @@ -3391,7 +3425,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "proc-macro2", "quote", @@ -3401,7 +3435,7 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.13.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "environmental", "parity-scale-codec", @@ -3412,7 +3446,7 @@ dependencies = [ [[package]] name = "sp-inherents" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "async-trait", "impl-trait-for-tuples", @@ -3426,7 +3460,7 @@ dependencies = [ [[package]] name = "sp-io" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "bytes 1.4.0", "ed25519", @@ -3451,7 +3485,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.13.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "async-trait", "futures 0.3.26", @@ -3467,7 +3501,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "backtrace", "lazy_static", @@ -3477,7 +3511,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "either", "hash256-std-hasher", @@ -3499,7 +3533,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "bytes 1.4.0", "impl-trait-for-tuples", @@ -3517,7 +3551,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "Inflector", "proc-macro-crate 1.3.0", @@ -3529,7 +3563,7 @@ dependencies = [ [[package]] name = "sp-staking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "parity-scale-codec", "scale-info", @@ -3541,7 +3575,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.13.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "hash-db", "log 0.4.17", @@ -3561,12 +3595,12 @@ dependencies = [ [[package]] name = "sp-std" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" [[package]] name = "sp-storage" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "impl-serde", "parity-scale-codec", @@ -3579,7 +3613,7 @@ dependencies = [ [[package]] name = "sp-tracing" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "parity-scale-codec", "sp-std", @@ -3591,18 +3625,18 @@ dependencies = [ [[package]] name = "sp-trie" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ - "ahash", + "ahash 0.8.3", "hash-db", - "hashbrown", + "hashbrown 0.12.3", "lazy_static", - "lru", "memory-db", "nohash-hasher", "parity-scale-codec", "parking_lot 0.12.1", "scale-info", + "schnellru", "sp-core", "sp-std", "thiserror", @@ -3614,7 +3648,7 @@ dependencies = [ [[package]] name = "sp-version" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "impl-serde", "parity-scale-codec", @@ -3631,7 +3665,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "parity-scale-codec", "proc-macro2", @@ -3642,7 +3676,7 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "impl-trait-for-tuples", "log 0.4.17", @@ -3655,7 +3689,7 @@ dependencies = [ [[package]] name = "sp-weights" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.37#e6386919c752d40950d275a463577bf967bd7878" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" dependencies = [ "parity-scale-codec", "scale-info", @@ -3679,9 +3713,9 @@ dependencies = [ [[package]] name = "ss58-registry" -version = "1.38.0" +version = "1.39.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e40c020d72bc0a9c5660bb71e4a6fdef081493583062c474740a7d59f55f0e7b" +checksum = "ecf0bd63593ef78eca595a7fc25e9a443ca46fe69fd472f8f09f5245cdcd769d" dependencies = [ "Inflector", "num-format", @@ -3744,9 +3778,9 @@ checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" [[package]] name = "syn" -version = "1.0.107" +version = "1.0.109" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f4064b5b16e03ae50984a5a8ed5d4f8803e6bc1fd170a3cda91a1be4b18e3f5" +checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" dependencies = [ "proc-macro2", "quote", @@ -4143,7 +4177,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "004e1e8f92535694b4cb1444dc5a8073ecf0815e3357f729638b9f8fc4062908" dependencies = [ "hash-db", - "hashbrown", + "hashbrown 0.12.3", "log 0.4.17", "rustc-hex", "smallvec 1.10.0", diff --git a/fork-off/Cargo.toml b/fork-off/Cargo.toml index 80c1709713..8f46436f7c 100644 --- a/fork-off/Cargo.toml +++ b/fork-off/Cargo.toml @@ -19,10 +19,10 @@ serde = "1" serde_json = "1" tokio = { version = "1.0", features = ["full"] } -sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -frame-support = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -frame-system = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -pallet-balances = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +sp-core = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +frame-support = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +frame-system = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +pallet-balances = { git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } jsonrpc-core = "18.0" jsonrpc-core-client = { version = "18.0", features = ["ws"] } jsonrpc-derive = "18.0" diff --git a/pallets/aleph/Cargo.toml b/pallets/aleph/Cargo.toml index 6bb95daf03..cc7c882f17 100644 --- a/pallets/aleph/Cargo.toml +++ b/pallets/aleph/Cargo.toml @@ -10,20 +10,20 @@ codec = { package = "parity-scale-codec", version = "3.0", default-features = fa serde = "1.0" scale-info = { version = "2.0", default-features = false, features = ["derive"] } -frame-support = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -frame-system = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -pallet-balances = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -pallet-session = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -sp-io = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -sp-std = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +frame-support = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +frame-system = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +pallet-balances = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +pallet-session = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +sp-io = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +sp-std = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } pallets-support = { path = "../support", default-features = false } primitives = { path = "../../primitives", default-features = false } [dev-dependencies] -pallet-timestamp = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -sp-runtime = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -sp-core = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +pallet-timestamp = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +sp-runtime = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +sp-core = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } [features] default = ["std"] diff --git a/pallets/elections/Cargo.toml b/pallets/elections/Cargo.toml index ad64c50d36..b621d10113 100644 --- a/pallets/elections/Cargo.toml +++ b/pallets/elections/Cargo.toml @@ -8,18 +8,18 @@ license = "Apache 2.0" codec = { package = "parity-scale-codec", version = "3.0", default-features = false, features = ["derive"] } scale-info = { version = "2.0", default-features = false, features = ["derive"] } -frame-support = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -frame-system = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -frame-election-provider-support = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -pallet-authorship = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -pallet-balances = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -pallet-session = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -pallet-staking = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -sp-core = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -sp-io = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -sp-staking = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -sp-std = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -sp-runtime = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +frame-support = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +frame-system = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +frame-election-provider-support = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +pallet-authorship = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +pallet-balances = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +pallet-session = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +pallet-staking = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +sp-core = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +sp-io = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +sp-staking = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +sp-std = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +sp-runtime = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } pallets-support = { path = "../support", default-features = false } primitives = { path = "../../primitives", default-features = false } diff --git a/pallets/elections/src/impls.rs b/pallets/elections/src/impls.rs index 9a2c7aa7c1..c593b3c41f 100644 --- a/pallets/elections/src/impls.rs +++ b/pallets/elections/src/impls.rs @@ -390,8 +390,6 @@ where *count += 1; }); } - - fn note_uncle(_author: T::AccountId, _age: T::BlockNumber) {} } impl pallet_session::SessionManager for Pallet diff --git a/pallets/support/Cargo.toml b/pallets/support/Cargo.toml index b855cb5386..64f0ac9ce4 100644 --- a/pallets/support/Cargo.toml +++ b/pallets/support/Cargo.toml @@ -4,8 +4,8 @@ version = "0.1.4" edition = "2021" [dependencies] -frame-support = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -sp-std = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +frame-support = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +sp-std = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } [features] default = ["std"] diff --git a/primitives/Cargo.toml b/primitives/Cargo.toml index c4f76d2359..a0cc3cd31a 100644 --- a/primitives/Cargo.toml +++ b/primitives/Cargo.toml @@ -10,12 +10,12 @@ codec = { package = "parity-scale-codec", version = "3.0", default-features = fa serde = { version = "1.0", features = ["derive"] } scale-info = { version = "2.0", default-features = false, features = ["derive"] } -sp-api = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -sp-application-crypto = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -sp-core = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -sp-runtime = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -sp-std = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } -sp-staking = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.37" } +sp-api = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +sp-application-crypto = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +sp-core = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +sp-runtime = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +sp-std = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } +sp-staking = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.38" } [features] default = ["std"] diff --git a/scripts/synthetic-network/synthetic-link/Cargo.lock b/scripts/synthetic-network/synthetic-link/Cargo.lock index 944da90955..c7b2372015 100644 --- a/scripts/synthetic-network/synthetic-link/Cargo.lock +++ b/scripts/synthetic-network/synthetic-link/Cargo.lock @@ -89,9 +89,9 @@ dependencies = [ [[package]] name = "clap_lex" -version = "0.3.1" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "783fe232adfca04f90f56201b26d79682d4cd2625e0bc7290b95123afe558ade" +checksum = "350b9cf31731f9957399229e9b2adc51eeabdfbe9d71d9a0552275fd12710d09" dependencies = [ "os_str_bytes", ] @@ -403,9 +403,9 @@ checksum = "30e22bd8629359895450b59ea7a776c850561b96a3b1d31321c1949d9e6c9146" [[package]] name = "is-terminal" -version = "0.4.3" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22e18b0a45d56fe973d6db23972bf5bc46f988a4a2385deac9cc29572f09daef" +checksum = "21b6b32576413a8e69b90e952e4a026476040d81017b80445deda5f2d3921857" dependencies = [ "hermit-abi 0.3.1", "io-lifetimes", @@ -889,9 +889,9 @@ checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" [[package]] name = "syn" -version = "1.0.107" +version = "1.0.109" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f4064b5b16e03ae50984a5a8ed5d4f8803e6bc1fd170a3cda91a1be4b18e3f5" +checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" dependencies = [ "proc-macro2", "quote", From 333020b8d34dd3d2bae36e6c8242063c307a1d34 Mon Sep 17 00:00:00 2001 From: Marcin Date: Mon, 27 Feb 2023 09:55:16 +0100 Subject: [PATCH 192/212] Attempt to show output from a failed test --- .github/scripts/test_catch_up.sh | 1 + .github/scripts/test_multiple_restarts.sh | 1 + 2 files changed, 2 insertions(+) diff --git a/.github/scripts/test_catch_up.sh b/.github/scripts/test_catch_up.sh index 02c939c1f3..5bf57537b1 100755 --- a/.github/scripts/test_catch_up.sh +++ b/.github/scripts/test_catch_up.sh @@ -15,4 +15,5 @@ chmod +x "$ALEPH_NODE_BINARY" pip install -r requirements.txt echo 'Running test' +export PYTHONUNBUFFERED=y exec ./test_catch_up.py diff --git a/.github/scripts/test_multiple_restarts.sh b/.github/scripts/test_multiple_restarts.sh index 2fac49d3e3..f7fbdf02bc 100755 --- a/.github/scripts/test_multiple_restarts.sh +++ b/.github/scripts/test_multiple_restarts.sh @@ -19,4 +19,5 @@ chmod +x "$ALEPH_NODE_BINARY" pip install -r requirements.txt echo 'Running test' +export PYTHONUNBUFFERED=y exec ./test_multiple_restarts.py From c2753e6aee5840dc7aa2dd83c5e84b0c7b7ffdeb Mon Sep 17 00:00:00 2001 From: Marcin Date: Mon, 27 Feb 2023 10:03:26 +0100 Subject: [PATCH 193/212] In test catch_up, remvoe one non-validator from the test to decrease test CPU load --- local-tests/test_catch_up.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/local-tests/test_catch_up.py b/local-tests/test_catch_up.py index cb871338ba..0e3e08dda1 100755 --- a/local-tests/test_catch_up.py +++ b/local-tests/test_catch_up.py @@ -20,7 +20,7 @@ def printt(s): print(ctime() + ' | ' + s) # Path to the aleph-node binary (important use short-session feature): binary = abspath(os.getenv('ALEPH_NODE_BINARY', join(workdir, 'aleph-node'))) -phrases = [f'//{i}' for i in range(6)] +phrases = [f'//{i}' for i in range(5)] keys = generate_keys(binary, phrases) all_accounts = list(keys.values()) chain = Chain(workdir) @@ -54,7 +54,7 @@ def printt(s): print(ctime() + ' | ' + s) sleep(60) -chain.start('aleph', nodes=[4, 5]) +chain.start('aleph', nodes=[4]) printt('Waiting for finalization') chain.wait_for_finalization(0) From 68bbe38f66c00437a1216b68faa6cf223bb1c62a Mon Sep 17 00:00:00 2001 From: kostekIV <27210860+kostekIV@users.noreply.github.com> Date: Mon, 27 Feb 2023 10:10:49 +0100 Subject: [PATCH 194/212] update lock (#947) --- Cargo.lock | 636 ++++++++++++++++++++++++++++++++--------------------- 1 file changed, 384 insertions(+), 252 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 6ac781747f..16918de76a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -55,6 +55,16 @@ dependencies = [ "rand_core 0.6.4", ] +[[package]] +name = "aead" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c192eb8f11fc081b0fe4259ba5af04217d4e0faddd02417310a927911abd7c8" +dependencies = [ + "crypto-common", + "generic-array 0.14.6", +] + [[package]] name = "aes" version = "0.6.0" @@ -79,17 +89,14 @@ dependencies = [ ] [[package]] -name = "aes-gcm" -version = "0.8.0" +name = "aes" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5278b5fabbb9bd46e24aa69b2fdea62c99088e0a950a9be40e3e0101298f88da" +checksum = "433cfd6710c9986c576a25ca913c39d66a6474107b406f34f91d4a8923395241" dependencies = [ - "aead 0.3.2", - "aes 0.6.0", - "cipher 0.2.5", - "ctr 0.6.0", - "ghash 0.3.1", - "subtle", + "cfg-if", + "cipher 0.4.3", + "cpufeatures", ] [[package]] @@ -106,6 +113,20 @@ dependencies = [ "subtle", ] +[[package]] +name = "aes-gcm" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "82e1366e0c69c9f927b1fa5ce2c7bf9eafc8f9268c0b9800729e8b267612447c" +dependencies = [ + "aead 0.5.1", + "aes 0.8.2", + "cipher 0.4.3", + "ctr 0.9.2", + "ghash 0.5.0", + "subtle", +] + [[package]] name = "aes-soft" version = "0.6.4" @@ -486,7 +507,7 @@ dependencies = [ "num-traits", "rusticata-macros", "thiserror", - "time 0.3.19", + "time 0.3.20", ] [[package]] @@ -502,7 +523,7 @@ dependencies = [ "num-traits", "rusticata-macros", "thiserror", - "time 0.3.19", + "time 0.3.20", ] [[package]] @@ -670,9 +691,9 @@ checksum = "a4a4ddaa51a5bc52a6948f74c06d20aaaddb71924eab79b8c97a8c556e942d6a" [[package]] name = "base64ct" -version = "1.5.3" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b645a089122eccb6111b4f81cbc1a49f5900ac4666bb93ac027feaecf15607bf" +checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" [[package]] name = "beef" @@ -686,7 +707,7 @@ dependencies = [ [[package]] name = "beefy-merkle-tree" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "sp-api", "sp-beefy", @@ -1040,7 +1061,7 @@ checksum = "f6ed9c8b2d17acb8110c46f1da5bf4a696d745e1474a16db0cd2b49cd0249bf2" dependencies = [ "core2", "multibase", - "multihash", + "multihash 0.16.3", "serde", "unsigned-varint", ] @@ -1063,6 +1084,16 @@ dependencies = [ "generic-array 0.14.6", ] +[[package]] +name = "cipher" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1873270f8f7942c191139cb8a40fd228da6c3fd2fc376d7e92d47aa14aeb59e" +dependencies = [ + "crypto-common", + "inout", +] + [[package]] name = "ckb-merkle-mountain-range" version = "0.5.2" @@ -1141,9 +1172,9 @@ dependencies = [ [[package]] name = "const-oid" -version = "0.9.1" +version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cec318a675afcb6a1ea1d4340e2d377e56e47c266f28043ceccbf4412ddfdd3b" +checksum = "520fbf3c07483f94e3e3ca9d0cfd913d7718ef2483d2cfd91c0d9e91474ab913" [[package]] name = "constant_time_eq" @@ -1200,12 +1231,6 @@ dependencies = [ "libc", ] -[[package]] -name = "cpuid-bool" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcb25d077389e53838a8158c8e99174c5a9d902dee4904320db714f3c653ffba" - [[package]] name = "cranelift-bforest" version = "0.88.2" @@ -1396,6 +1421,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" dependencies = [ "generic-array 0.14.6", + "rand_core 0.6.4", "typenum", ] @@ -1409,16 +1435,6 @@ dependencies = [ "subtle", ] -[[package]] -name = "crypto-mac" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bff07008ec701e8028e2ceb8f83f0e4274ee62bd2dbdc4fefff2e9a91824081a" -dependencies = [ - "generic-array 0.14.6", - "subtle", -] - [[package]] name = "crypto-mac" version = "0.11.1" @@ -1431,20 +1447,20 @@ dependencies = [ [[package]] name = "ctr" -version = "0.6.0" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb4a30d54f7443bf3d6191dcd486aca19e67cb3c49fa7a06a319966346707e7f" +checksum = "049bb91fb4aaf0e3c7efa6cd5ef877dbbbd15b39dad06d9948de4ec8a75761ea" dependencies = [ - "cipher 0.2.5", + "cipher 0.3.0", ] [[package]] name = "ctr" -version = "0.8.0" +version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "049bb91fb4aaf0e3c7efa6cd5ef877dbbbd15b39dad06d9948de4ec8a75761ea" +checksum = "0369ee1ad671834580515889b80f2ea915f23b8be8d0daa4bbaf2ac5c7590835" dependencies = [ - "cipher 0.3.0", + "cipher 0.4.3", ] [[package]] @@ -2188,7 +2204,7 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "fork-tree" version = "3.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "parity-scale-codec", ] @@ -2211,7 +2227,7 @@ checksum = "6c2141d6d6c8512188a7891b4b01590a45f6dac67afb4f255c4124dbb86d4eaa" [[package]] name = "frame-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "frame-support", "frame-support-procedural", @@ -2236,7 +2252,7 @@ dependencies = [ [[package]] name = "frame-election-provider-solution-type" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -2247,7 +2263,7 @@ dependencies = [ [[package]] name = "frame-election-provider-support" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "frame-election-provider-solution-type", "frame-support", @@ -2264,7 +2280,7 @@ dependencies = [ [[package]] name = "frame-executive" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "frame-support", "frame-system", @@ -2293,7 +2309,7 @@ dependencies = [ [[package]] name = "frame-remote-externalities" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "futures", "log", @@ -2309,7 +2325,7 @@ dependencies = [ [[package]] name = "frame-support" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "bitflags", "frame-metadata", @@ -2341,7 +2357,7 @@ dependencies = [ [[package]] name = "frame-support-procedural" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "Inflector", "cfg-expr", @@ -2356,7 +2372,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate", @@ -2368,7 +2384,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "proc-macro2", "quote", @@ -2378,7 +2394,7 @@ dependencies = [ [[package]] name = "frame-system" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "frame-support", "log", @@ -2396,7 +2412,7 @@ dependencies = [ [[package]] name = "frame-system-rpc-runtime-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "parity-scale-codec", "sp-api", @@ -2405,7 +2421,7 @@ dependencies = [ [[package]] name = "frame-try-runtime" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "frame-support", "parity-scale-codec", @@ -2604,22 +2620,22 @@ dependencies = [ [[package]] name = "ghash" -version = "0.3.1" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97304e4cd182c3846f7575ced3890c53012ce534ad9114046b0a9e00bb30a375" +checksum = "1583cc1656d7839fd3732b80cf4f38850336cdb9b8ded1cd399ca62958de3c99" dependencies = [ "opaque-debug 0.3.0", - "polyval 0.4.5", + "polyval 0.5.3", ] [[package]] name = "ghash" -version = "0.4.4" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1583cc1656d7839fd3732b80cf4f38850336cdb9b8ded1cd399ca62958de3c99" +checksum = "d930750de5717d2dd0b8c0d42c076c0e884c81a73e6cab859bbd2339c71e3e40" dependencies = [ "opaque-debug 0.3.0", - "polyval 0.5.3", + "polyval 0.6.0", ] [[package]] @@ -2779,16 +2795,6 @@ dependencies = [ "digest 0.9.0", ] -[[package]] -name = "hmac" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1441c6b1e930e2817404b5046f1f989899143a12bf92de603b69f4e0aee1e15" -dependencies = [ - "crypto-mac 0.10.1", - "digest 0.9.0", -] - [[package]] name = "hmac" version = "0.11.0" @@ -3041,6 +3047,15 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8e04e2fd2b8188ea827b32ef11de88377086d690286ab35747ef7f9bf3ccb590" +[[package]] +name = "inout" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5" +dependencies = [ + "generic-array 0.14.6", +] + [[package]] name = "instant" version = "0.1.12" @@ -3420,7 +3435,7 @@ dependencies = [ "libp2p-mdns", "libp2p-metrics", "libp2p-mplex", - "libp2p-noise", + "libp2p-noise 0.41.0", "libp2p-ping", "libp2p-quic", "libp2p-request-response", @@ -3453,7 +3468,7 @@ dependencies = [ "lazy_static", "log", "multiaddr 0.14.0", - "multihash", + "multihash 0.16.3", "multistream-select", "parking_lot 0.12.1", "pin-project", @@ -3485,7 +3500,41 @@ dependencies = [ "instant", "log", "multiaddr 0.16.0", - "multihash", + "multihash 0.16.3", + "multistream-select", + "once_cell", + "parking_lot 0.12.1", + "pin-project", + "prost", + "prost-build", + "rand 0.8.5", + "rw-stream-sink", + "sec1", + "sha2 0.10.6", + "smallvec", + "thiserror", + "unsigned-varint", + "void", + "zeroize", +] + +[[package]] +name = "libp2p-core" +version = "0.39.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "881d9a54e97d97cdaa4125d48269d97ca8c40e5fefec6b85b30440dc60cc551f" +dependencies = [ + "asn1_der", + "bs58", + "ed25519-dalek", + "either", + "fnv", + "futures", + "futures-timer", + "instant", + "log", + "multiaddr 0.17.0", + "multihash 0.17.0", "multistream-select", "once_cell", "parking_lot 0.12.1", @@ -3641,6 +3690,29 @@ dependencies = [ "zeroize", ] +[[package]] +name = "libp2p-noise" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1216f9ec823ac7a2289b954674c54cbce81c9e45920b4fcf173018ede4295246" +dependencies = [ + "bytes", + "curve25519-dalek 3.2.0", + "futures", + "libp2p-core 0.39.0", + "log", + "once_cell", + "prost", + "prost-build", + "rand 0.8.5", + "sha2 0.10.6", + "snow", + "static_assertions", + "thiserror", + "x25519-dalek 1.1.1", + "zeroize", +] + [[package]] name = "libp2p-ping" version = "0.41.0" @@ -3659,15 +3731,15 @@ dependencies = [ [[package]] name = "libp2p-quic" -version = "0.7.0-alpha" +version = "0.7.0-alpha.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01e7c867e95c8130667b24409d236d37598270e6da69b3baf54213ba31ffca59" +checksum = "5971f629ff7519f4d4889a7c981f0dc09c6ad493423cd8a13ee442de241bc8c8" dependencies = [ "bytes", "futures", "futures-timer", "if-watch", - "libp2p-core 0.38.0", + "libp2p-core 0.39.0", "libp2p-tls", "log", "parking_lot 0.12.1", @@ -3778,13 +3850,13 @@ dependencies = [ [[package]] name = "libp2p-tls" -version = "0.1.0-alpha" +version = "0.1.0-alpha.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7905ce0d040576634e8a3229a7587cc8beab83f79db6023800f1792895defa8" +checksum = "e9baf6f6292149e124ee737d9a79dbee783f29473fc368c7faad9d157841078a" dependencies = [ "futures", "futures-rustls", - "libp2p-core 0.38.0", + "libp2p-core 0.39.0", "rcgen 0.10.0", "ring", "rustls 0.20.8", @@ -3810,9 +3882,9 @@ dependencies = [ [[package]] name = "libp2p-webrtc" -version = "0.4.0-alpha" +version = "0.4.0-alpha.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdb6cd86dd68cba72308ea05de1cebf3ba0ae6e187c40548167955d4e3970f6a" +checksum = "db4401ec550d36f413310ba5d4bf564bb21f89fb1601cadb32b2300f8bc1eb5b" dependencies = [ "async-trait", "asynchronous-codec", @@ -3821,10 +3893,10 @@ dependencies = [ "futures-timer", "hex", "if-watch", - "libp2p-core 0.38.0", - "libp2p-noise", + "libp2p-core 0.39.0", + "libp2p-noise 0.42.0", "log", - "multihash", + "multihash 0.17.0", "prost", "prost-build", "prost-codec", @@ -4240,7 +4312,7 @@ dependencies = [ "bs58", "byteorder", "data-encoding", - "multihash", + "multihash 0.16.3", "percent-encoding", "serde", "static_assertions", @@ -4258,7 +4330,25 @@ dependencies = [ "byteorder", "data-encoding", "multibase", - "multihash", + "multihash 0.16.3", + "percent-encoding", + "serde", + "static_assertions", + "unsigned-varint", + "url", +] + +[[package]] +name = "multiaddr" +version = "0.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b53e0cc5907a5c216ba6584bf74be8ab47d6d6289f72793b2dddbf15dc3bf8c" +dependencies = [ + "arrayref", + "byteorder", + "data-encoding", + "multibase", + "multihash 0.17.0", "percent-encoding", "serde", "static_assertions", @@ -4294,6 +4384,19 @@ dependencies = [ "unsigned-varint", ] +[[package]] +name = "multihash" +version = "0.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "835d6ff01d610179fbce3de1694d007e500bf33a7f29689838941d6bf783ae40" +dependencies = [ + "core2", + "digest 0.10.6", + "multihash-derive", + "sha2 0.10.6", + "unsigned-varint", +] + [[package]] name = "multihash-derive" version = "0.8.1" @@ -4676,7 +4779,7 @@ dependencies = [ [[package]] name = "pallet-aura" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "frame-support", "frame-system", @@ -4692,7 +4795,7 @@ dependencies = [ [[package]] name = "pallet-authorship" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "frame-support", "frame-system", @@ -4706,7 +4809,7 @@ dependencies = [ [[package]] name = "pallet-babe" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "frame-benchmarking", "frame-support", @@ -4730,7 +4833,7 @@ dependencies = [ [[package]] name = "pallet-balances" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "frame-benchmarking", "frame-support", @@ -4745,7 +4848,7 @@ dependencies = [ [[package]] name = "pallet-contracts" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "bitflags", "frame-benchmarking", @@ -4773,7 +4876,7 @@ dependencies = [ [[package]] name = "pallet-contracts-primitives" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "bitflags", "parity-scale-codec", @@ -4785,7 +4888,7 @@ dependencies = [ [[package]] name = "pallet-contracts-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "proc-macro2", "quote", @@ -4817,7 +4920,7 @@ dependencies = [ [[package]] name = "pallet-identity" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "enumflags2", "frame-benchmarking", @@ -4833,7 +4936,7 @@ dependencies = [ [[package]] name = "pallet-multisig" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "frame-benchmarking", "frame-support", @@ -4849,7 +4952,7 @@ dependencies = [ [[package]] name = "pallet-nomination-pools" version = "1.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "frame-support", "frame-system", @@ -4866,7 +4969,7 @@ dependencies = [ [[package]] name = "pallet-nomination-pools-runtime-api" version = "1.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "parity-scale-codec", "sp-api", @@ -4876,7 +4979,7 @@ dependencies = [ [[package]] name = "pallet-randomness-collective-flip" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "frame-support", "frame-system", @@ -4890,7 +4993,7 @@ dependencies = [ [[package]] name = "pallet-scheduler" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "frame-support", "frame-system", @@ -4906,7 +5009,7 @@ dependencies = [ [[package]] name = "pallet-session" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "frame-support", "frame-system", @@ -4927,7 +5030,7 @@ dependencies = [ [[package]] name = "pallet-staking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -4949,7 +5052,7 @@ dependencies = [ [[package]] name = "pallet-sudo" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "frame-support", "frame-system", @@ -4963,7 +5066,7 @@ dependencies = [ [[package]] name = "pallet-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "frame-benchmarking", "frame-support", @@ -4981,7 +5084,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "frame-support", "frame-system", @@ -4997,7 +5100,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "jsonrpsee", "pallet-transaction-payment-rpc-runtime-api", @@ -5013,7 +5116,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc-runtime-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "pallet-transaction-payment", "parity-scale-codec", @@ -5025,7 +5128,7 @@ dependencies = [ [[package]] name = "pallet-treasury" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "frame-benchmarking", "frame-support", @@ -5042,7 +5145,7 @@ dependencies = [ [[package]] name = "pallet-utility" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "frame-benchmarking", "frame-support", @@ -5058,7 +5161,7 @@ dependencies = [ [[package]] name = "pallet-vesting" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "frame-benchmarking", "frame-support", @@ -5342,30 +5445,31 @@ checksum = "048aeb476be11a4b6ca432ca569e375810de9294ae78f4774e78ea98a9246ede" dependencies = [ "cpufeatures", "opaque-debug 0.3.0", - "universal-hash", + "universal-hash 0.4.1", ] [[package]] name = "polyval" -version = "0.4.5" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eebcc4aa140b9abd2bc40d9c3f7ccec842679cd79045ac3a7ac698c1a064b7cd" +checksum = "8419d2b623c7c0896ff2d5d96e2cb4ede590fed28fcc34934f4c33c036e620a1" dependencies = [ - "cpuid-bool", + "cfg-if", + "cpufeatures", "opaque-debug 0.3.0", - "universal-hash", + "universal-hash 0.4.1", ] [[package]] name = "polyval" -version = "0.5.3" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8419d2b623c7c0896ff2d5d96e2cb4ede590fed28fcc34934f4c33c036e620a1" +checksum = "7ef234e08c11dfcb2e56f79fd70f6f2eb7f025c0ce2333e82f4f0518ecad30c6" dependencies = [ "cfg-if", "cpufeatures", "opaque-debug 0.3.0", - "universal-hash", + "universal-hash 0.5.0", ] [[package]] @@ -5524,9 +5628,9 @@ dependencies = [ [[package]] name = "prost" -version = "0.11.7" +version = "0.11.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3933d3ac2717077b3d5f42b40f59edfb1fb6a8c14e1c7de0f38075c4bac8e314" +checksum = "e48e50df39172a3e7eb17e14642445da64996989bc212b583015435d39a58537" dependencies = [ "bytes", "prost-derive", @@ -5534,9 +5638,9 @@ dependencies = [ [[package]] name = "prost-build" -version = "0.11.7" +version = "0.11.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a24be1d23b4552a012093e1b93697b73d644ae9590e3253d878d0e77d411b614" +checksum = "2c828f93f5ca4826f97fedcbd3f9a536c16b12cff3dbbb4a007f932bbad95b12" dependencies = [ "bytes", "heck", @@ -5569,9 +5673,9 @@ dependencies = [ [[package]] name = "prost-derive" -version = "0.11.7" +version = "0.11.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e9935362e8369bc3acd874caeeae814295c504c2bdbcde5c024089cf8b4dc12" +checksum = "4ea9b0f8cbe5e15a8a042d030bd96668db28ecb567ec37d691971ff5731d2b1b" dependencies = [ "anyhow", "itertools", @@ -5582,9 +5686,9 @@ dependencies = [ [[package]] name = "prost-types" -version = "0.11.7" +version = "0.11.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7de56acd5cc9642cac2a9518d4c8c53818905398fe42d33235859e0d542a7695" +checksum = "379119666929a1afd7a043aa6cf96fa67a6dce9af60c88095a4686dbce4c9c88" dependencies = [ "prost", ] @@ -5774,7 +5878,7 @@ checksum = "6413f3de1edee53342e6138e75b56d32e7bc6e332b3bd62d497b1929d4cfbcdd" dependencies = [ "pem", "ring", - "time 0.3.19", + "time 0.3.20", "x509-parser 0.13.2", "yasna", ] @@ -5787,7 +5891,7 @@ checksum = "ffbe84efe2f38dea12e9bfc1f65377fdf03e53a18cb3b995faedf7934c7e785b" dependencies = [ "pem", "ring", - "time 0.3.19", + "time 0.3.20", "yasna", ] @@ -5869,15 +5973,6 @@ version = "0.6.28" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848" -[[package]] -name = "remove_dir_all" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7" -dependencies = [ - "winapi", -] - [[package]] name = "resolv-conf" version = "0.7.0" @@ -6148,7 +6243,7 @@ dependencies = [ [[package]] name = "sc-allocator" version = "4.1.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "log", "sp-core", @@ -6159,7 +6254,7 @@ dependencies = [ [[package]] name = "sc-basic-authorship" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "futures", "futures-timer", @@ -6182,7 +6277,7 @@ dependencies = [ [[package]] name = "sc-block-builder" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "parity-scale-codec", "sc-client-api", @@ -6198,7 +6293,7 @@ dependencies = [ [[package]] name = "sc-chain-spec" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "memmap2", "sc-chain-spec-derive", @@ -6213,7 +6308,7 @@ dependencies = [ [[package]] name = "sc-chain-spec-derive" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -6224,7 +6319,7 @@ dependencies = [ [[package]] name = "sc-cli" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "array-bytes", "chrono", @@ -6264,7 +6359,7 @@ dependencies = [ [[package]] name = "sc-client-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "fnv", "futures", @@ -6290,7 +6385,7 @@ dependencies = [ [[package]] name = "sc-client-db" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "hash-db", "kvdb", @@ -6316,7 +6411,7 @@ dependencies = [ [[package]] name = "sc-consensus" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "async-trait", "futures", @@ -6341,7 +6436,7 @@ dependencies = [ [[package]] name = "sc-consensus-aura" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "async-trait", "futures", @@ -6370,7 +6465,7 @@ dependencies = [ [[package]] name = "sc-consensus-slots" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "async-trait", "futures", @@ -6393,7 +6488,7 @@ dependencies = [ [[package]] name = "sc-executor" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "lru 0.8.1", "parity-scale-codec", @@ -6417,7 +6512,7 @@ dependencies = [ [[package]] name = "sc-executor-common" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "sc-allocator", "sp-maybe-compressed-blob", @@ -6430,7 +6525,7 @@ dependencies = [ [[package]] name = "sc-executor-wasmi" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "log", "sc-allocator", @@ -6443,7 +6538,7 @@ dependencies = [ [[package]] name = "sc-executor-wasmtime" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "cfg-if", "libc", @@ -6460,7 +6555,7 @@ dependencies = [ [[package]] name = "sc-informant" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "ansi_term", "futures", @@ -6475,7 +6570,7 @@ dependencies = [ [[package]] name = "sc-keystore" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "array-bytes", "async-trait", @@ -6490,7 +6585,7 @@ dependencies = [ [[package]] name = "sc-network" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "array-bytes", "async-trait", @@ -6532,7 +6627,7 @@ dependencies = [ [[package]] name = "sc-network-bitswap" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "cid", "futures", @@ -6551,7 +6646,7 @@ dependencies = [ [[package]] name = "sc-network-common" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "async-trait", "bitflags", @@ -6577,7 +6672,7 @@ dependencies = [ [[package]] name = "sc-network-light" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "array-bytes", "futures", @@ -6598,7 +6693,7 @@ dependencies = [ [[package]] name = "sc-network-sync" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "array-bytes", "async-trait", @@ -6630,7 +6725,7 @@ dependencies = [ [[package]] name = "sc-network-transactions" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "array-bytes", "futures", @@ -6649,7 +6744,7 @@ dependencies = [ [[package]] name = "sc-offchain" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "array-bytes", "bytes", @@ -6679,7 +6774,7 @@ dependencies = [ [[package]] name = "sc-peerset" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "futures", "libp2p 0.50.0", @@ -6692,7 +6787,7 @@ dependencies = [ [[package]] name = "sc-proposer-metrics" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "log", "substrate-prometheus-endpoint", @@ -6701,7 +6796,7 @@ dependencies = [ [[package]] name = "sc-rpc" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "futures", "jsonrpsee", @@ -6731,7 +6826,7 @@ dependencies = [ [[package]] name = "sc-rpc-api" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "jsonrpsee", "parity-scale-codec", @@ -6750,7 +6845,7 @@ dependencies = [ [[package]] name = "sc-rpc-server" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "http", "jsonrpsee", @@ -6765,7 +6860,7 @@ dependencies = [ [[package]] name = "sc-rpc-spec-v2" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "array-bytes", "futures", @@ -6791,7 +6886,7 @@ dependencies = [ [[package]] name = "sc-service" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "async-trait", "directories", @@ -6857,7 +6952,7 @@ dependencies = [ [[package]] name = "sc-state-db" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "log", "parity-scale-codec", @@ -6868,7 +6963,7 @@ dependencies = [ [[package]] name = "sc-storage-monitor" version = "0.1.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "clap", "futures", @@ -6884,7 +6979,7 @@ dependencies = [ [[package]] name = "sc-sysinfo" version = "6.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "futures", "libc", @@ -6903,7 +6998,7 @@ dependencies = [ [[package]] name = "sc-telemetry" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "chrono", "futures", @@ -6922,7 +7017,7 @@ dependencies = [ [[package]] name = "sc-tracing" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "ansi_term", "atty", @@ -6953,7 +7048,7 @@ dependencies = [ [[package]] name = "sc-tracing-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -6964,7 +7059,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "async-trait", "futures", @@ -6991,7 +7086,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "async-trait", "futures", @@ -7005,7 +7100,7 @@ dependencies = [ [[package]] name = "sc-utils" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "backtrace", "futures", @@ -7265,6 +7360,17 @@ dependencies = [ "opaque-debug 0.3.0", ] +[[package]] +name = "sha1" +version = "0.10.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f04293dc80c3993519f2d7f6f511707ee7094fe0c6d3406feb330cdb3540eba3" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest 0.10.6", +] + [[package]] name = "sha2" version = "0.8.2" @@ -7431,7 +7537,7 @@ dependencies = [ [[package]] name = "sp-api" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "hash-db", "log", @@ -7449,7 +7555,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "blake2", "proc-macro-crate", @@ -7461,7 +7567,7 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "parity-scale-codec", "scale-info", @@ -7474,7 +7580,7 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "integer-sqrt", "num-traits", @@ -7488,7 +7594,7 @@ dependencies = [ [[package]] name = "sp-beefy" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "parity-scale-codec", "scale-info", @@ -7505,7 +7611,7 @@ dependencies = [ [[package]] name = "sp-block-builder" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "parity-scale-codec", "sp-api", @@ -7517,7 +7623,7 @@ dependencies = [ [[package]] name = "sp-blockchain" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "futures", "log", @@ -7535,7 +7641,7 @@ dependencies = [ [[package]] name = "sp-consensus" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "async-trait", "futures", @@ -7553,7 +7659,7 @@ dependencies = [ [[package]] name = "sp-consensus-aura" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "async-trait", "parity-scale-codec", @@ -7571,7 +7677,7 @@ dependencies = [ [[package]] name = "sp-consensus-babe" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "async-trait", "merlin", @@ -7594,7 +7700,7 @@ dependencies = [ [[package]] name = "sp-consensus-slots" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "parity-scale-codec", "scale-info", @@ -7606,7 +7712,7 @@ dependencies = [ [[package]] name = "sp-consensus-vrf" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "parity-scale-codec", "scale-info", @@ -7619,7 +7725,7 @@ dependencies = [ [[package]] name = "sp-core" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "array-bytes", "base58", @@ -7661,7 +7767,7 @@ dependencies = [ [[package]] name = "sp-core-hashing" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "blake2", "byteorder", @@ -7675,7 +7781,7 @@ dependencies = [ [[package]] name = "sp-core-hashing-proc-macro" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "proc-macro2", "quote", @@ -7686,7 +7792,7 @@ dependencies = [ [[package]] name = "sp-database" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "kvdb", "parking_lot 0.12.1", @@ -7695,7 +7801,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "proc-macro2", "quote", @@ -7705,7 +7811,7 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.13.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "environmental", "parity-scale-codec", @@ -7716,7 +7822,7 @@ dependencies = [ [[package]] name = "sp-finality-grandpa" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "finality-grandpa", "log", @@ -7734,7 +7840,7 @@ dependencies = [ [[package]] name = "sp-inherents" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "async-trait", "impl-trait-for-tuples", @@ -7748,7 +7854,7 @@ dependencies = [ [[package]] name = "sp-io" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "bytes", "ed25519", @@ -7773,7 +7879,7 @@ dependencies = [ [[package]] name = "sp-keyring" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "lazy_static", "sp-core", @@ -7784,7 +7890,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.13.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "async-trait", "futures", @@ -7801,7 +7907,7 @@ dependencies = [ [[package]] name = "sp-maybe-compressed-blob" version = "4.1.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "thiserror", "zstd", @@ -7810,7 +7916,7 @@ dependencies = [ [[package]] name = "sp-mmr-primitives" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "ckb-merkle-mountain-range", "log", @@ -7828,7 +7934,7 @@ dependencies = [ [[package]] name = "sp-npos-elections" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "parity-scale-codec", "scale-info", @@ -7842,7 +7948,7 @@ dependencies = [ [[package]] name = "sp-offchain" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "sp-api", "sp-core", @@ -7852,7 +7958,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "backtrace", "lazy_static", @@ -7862,7 +7968,7 @@ dependencies = [ [[package]] name = "sp-rpc" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "rustc-hash", "serde", @@ -7872,7 +7978,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "either", "hash256-std-hasher", @@ -7894,7 +8000,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "bytes", "impl-trait-for-tuples", @@ -7912,7 +8018,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "Inflector", "proc-macro-crate", @@ -7924,7 +8030,7 @@ dependencies = [ [[package]] name = "sp-session" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "parity-scale-codec", "scale-info", @@ -7938,7 +8044,7 @@ dependencies = [ [[package]] name = "sp-staking" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "parity-scale-codec", "scale-info", @@ -7950,7 +8056,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.13.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "hash-db", "log", @@ -7970,12 +8076,12 @@ dependencies = [ [[package]] name = "sp-std" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" [[package]] name = "sp-storage" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "impl-serde", "parity-scale-codec", @@ -7988,7 +8094,7 @@ dependencies = [ [[package]] name = "sp-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "async-trait", "futures-timer", @@ -8003,7 +8109,7 @@ dependencies = [ [[package]] name = "sp-tracing" version = "6.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "parity-scale-codec", "sp-std", @@ -8015,7 +8121,7 @@ dependencies = [ [[package]] name = "sp-transaction-pool" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "sp-api", "sp-runtime", @@ -8024,7 +8130,7 @@ dependencies = [ [[package]] name = "sp-transaction-storage-proof" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "async-trait", "log", @@ -8040,7 +8146,7 @@ dependencies = [ [[package]] name = "sp-trie" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "ahash 0.8.3", "hash-db", @@ -8063,7 +8169,7 @@ dependencies = [ [[package]] name = "sp-version" version = "5.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "impl-serde", "parity-scale-codec", @@ -8080,7 +8186,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "parity-scale-codec", "proc-macro2", @@ -8091,7 +8197,7 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "7.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "impl-trait-for-tuples", "log", @@ -8104,7 +8210,7 @@ dependencies = [ [[package]] name = "sp-weights" version = "4.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "parity-scale-codec", "scale-info", @@ -8269,7 +8375,7 @@ dependencies = [ [[package]] name = "substrate-build-script-utils" version = "3.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "platforms 2.0.0", ] @@ -8277,7 +8383,7 @@ dependencies = [ [[package]] name = "substrate-frame-rpc-system" version = "4.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "frame-system-rpc-runtime-api", "futures", @@ -8296,7 +8402,7 @@ dependencies = [ [[package]] name = "substrate-prometheus-endpoint" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "hyper", "log", @@ -8308,7 +8414,7 @@ dependencies = [ [[package]] name = "substrate-rpc-client" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "async-trait", "jsonrpsee", @@ -8321,7 +8427,7 @@ dependencies = [ [[package]] name = "substrate-test-client" version = "2.0.1" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "array-bytes", "async-trait", @@ -8347,7 +8453,7 @@ dependencies = [ [[package]] name = "substrate-test-runtime" version = "2.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "beefy-merkle-tree", "cfg-if", @@ -8390,7 +8496,7 @@ dependencies = [ [[package]] name = "substrate-test-runtime-client" version = "2.0.0" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "futures", "parity-scale-codec", @@ -8409,7 +8515,7 @@ dependencies = [ [[package]] name = "substrate-wasm-builder" version = "5.0.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "ansi_term", "build-helper", @@ -8496,16 +8602,15 @@ checksum = "8ae9980cab1db3fceee2f6c6f643d5d8de2997c58ee8d25fb0cc8a9e9e7348e5" [[package]] name = "tempfile" -version = "3.3.0" +version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cdb1ef4eaeeaddc8fbd371e5017057064af0911902ef36b39801f67cc6d79e4" +checksum = "af18f7ae1acd354b992402e9ec5864359d693cd8a79dcbef59f76891701c1e95" dependencies = [ "cfg-if", "fastrand", - "libc", "redox_syscall", - "remove_dir_all", - "winapi", + "rustix 0.36.8", + "windows-sys 0.42.0", ] [[package]] @@ -8585,9 +8690,9 @@ dependencies = [ [[package]] name = "time" -version = "0.3.19" +version = "0.3.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53250a3b3fed8ff8fd988587d8925d26a83ac3845d9e03b220b37f34c2b8d6c2" +checksum = "cd0cbfecb4d19b5ea75bb31ad904eb5b9fa13f21079c3b92017ebdf4999a5890" dependencies = [ "itoa", "serde", @@ -8603,9 +8708,9 @@ checksum = "2e153e1f1acaef8acc537e68b44906d2db6436e2b35ac2c6b42640fff91f00fd" [[package]] name = "time-macros" -version = "0.2.7" +version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a460aeb8de6dcb0f381e1ee05f1cd56fcf5a5f6eb8187ff3d8f0b11078d38b7c" +checksum = "fd80a657e71da814b8e5d60d3374fc6d35045062245d80224748ae522dd76f36" dependencies = [ "time-core", ] @@ -8938,7 +9043,7 @@ checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed" [[package]] name = "try-runtime-cli" version = "0.10.0-dev" -source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#85ce0f97d013118e17921af98cbc34ed00ec80e3" +source = "git+https://github.com/Cardinal-Cryptography/substrate.git?branch=aleph-v0.9.38#de36ffe0e37185243e3c2980f72f16f53a62e6ae" dependencies = [ "clap", "frame-remote-externalities", @@ -9064,6 +9169,16 @@ dependencies = [ "subtle", ] +[[package]] +name = "universal-hash" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d3160b73c9a19f7e2939a2fdad446c57c1bbbbf4d919d3213ff1267a580d8b5" +dependencies = [ + "crypto-common", + "subtle", +] + [[package]] name = "unsigned-varint" version = "0.7.1" @@ -9635,7 +9750,7 @@ dependencies = [ "sha2 0.10.6", "stun", "thiserror", - "time 0.3.19", + "time 0.3.20", "tokio", "turn", "url", @@ -9645,34 +9760,34 @@ dependencies = [ "webrtc-ice", "webrtc-mdns", "webrtc-media", - "webrtc-sctp", + "webrtc-sctp 0.7.0", "webrtc-srtp", "webrtc-util", ] [[package]] name = "webrtc-data" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ef36a4d12baa6e842582fe9ec16a57184ba35e1a09308307b67d43ec8883100" +checksum = "192aa07c846531ce89caa28ca2a6105735e026614c9fd1db838350d10e0fb9f5" dependencies = [ "bytes", "derive_builder", "log", "thiserror", "tokio", - "webrtc-sctp", + "webrtc-sctp 0.8.0", "webrtc-util", ] [[package]] name = "webrtc-dtls" -version = "0.7.0" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7021987ae0a2ed6c8cd33f68e98e49bb6e74ffe9543310267b48a1bbe3900e5f" +checksum = "942be5bd85f072c3128396f6e5a9bfb93ca8c1939ded735d177b7bcba9a13d05" dependencies = [ "aes 0.6.0", - "aes-gcm 0.8.0", + "aes-gcm 0.10.1", "async-trait", "bincode", "block-modes", @@ -9682,7 +9797,7 @@ dependencies = [ "der-parser 8.1.0", "elliptic-curve", "hkdf", - "hmac 0.10.1", + "hmac 0.12.1", "log", "oid-registry 0.6.1", "p256", @@ -9694,8 +9809,8 @@ dependencies = [ "rustls 0.19.1", "sec1", "serde", - "sha-1", - "sha2 0.9.9", + "sha1", + "sha2 0.10.6", "signature", "subtle", "thiserror", @@ -9776,6 +9891,23 @@ dependencies = [ "webrtc-util", ] +[[package]] +name = "webrtc-sctp" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7df742d91cfbd982f6ab2bfd45a7c3ddfce5b2f55913b2f63877404d1b3259db" +dependencies = [ + "arc-swap", + "async-trait", + "bytes", + "crc", + "log", + "rand 0.8.5", + "thiserror", + "tokio", + "webrtc-util", +] + [[package]] name = "webrtc-srtp" version = "0.9.1" @@ -10101,7 +10233,7 @@ dependencies = [ "ring", "rusticata-macros", "thiserror", - "time 0.3.19", + "time 0.3.20", ] [[package]] @@ -10119,7 +10251,7 @@ dependencies = [ "oid-registry 0.6.1", "rusticata-macros", "thiserror", - "time 0.3.19", + "time 0.3.20", ] [[package]] @@ -10142,7 +10274,7 @@ version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "aed2e7a52e3744ab4d0c05c20aa065258e84c49fd4226f5191b2ed29712710b4" dependencies = [ - "time 0.3.19", + "time 0.3.20", ] [[package]] From 33f6c86919e8f81ed8527a54460816580b05222c Mon Sep 17 00:00:00 2001 From: Damian Straszak Date: Mon, 27 Feb 2023 11:19:53 +0100 Subject: [PATCH 195/212] Make contract storage cheaper. (#945) Co-authored-by: Marcin --- bin/runtime/src/lib.rs | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/bin/runtime/src/lib.rs b/bin/runtime/src/lib.rs index 2908a67eb3..9d39a5b047 100644 --- a/bin/runtime/src/lib.rs +++ b/bin/runtime/src/lib.rs @@ -140,8 +140,11 @@ pub const NORMAL_DISPATCH_RATIO: Perbill = Perbill::from_percent(75); pub const MAX_BLOCK_WEIGHT: Weight = Weight::from_ref_time(WEIGHT_REF_TIME_PER_MILLIS.saturating_mul(400)); -// The storage deposit is roughly 1 TOKEN per 1kB -pub const DEPOSIT_PER_BYTE: Balance = MILLI_AZERO; +// The storage deposit is roughly 1 TOKEN per 1kB -- this is the legacy value, used for pallet Identity and Multisig. +pub const LEGACY_DEPOSIT_PER_BYTE: Balance = MILLI_AZERO; + +// The storage per one byte of contract storage: 4*10^{-5} AZERO per byte. +pub const CONTRACT_DEPOSIT_PER_BYTE: Balance = 4 * (TOKEN / 100_000); parameter_types! { pub const Version: RuntimeVersion = VERSION; @@ -580,9 +583,9 @@ impl pallet_vesting::Config for Runtime { parameter_types! { // One storage item; key size is 32+32; value is size 4+4+16+32 bytes = 56 bytes. - pub const DepositBase: Balance = 120 * DEPOSIT_PER_BYTE; + pub const DepositBase: Balance = 120 * LEGACY_DEPOSIT_PER_BYTE; // Additional storage item size of 32 bytes. - pub const DepositFactor: Balance = 32 * DEPOSIT_PER_BYTE; + pub const DepositFactor: Balance = 32 * LEGACY_DEPOSIT_PER_BYTE; pub const MaxSignatories: u16 = 100; } @@ -659,9 +662,9 @@ const CONTRACTS_DEBUG_OUTPUT: bool = true; parameter_types! { // Refundable deposit per storage item - pub const DepositPerItem: Balance = 32 * DEPOSIT_PER_BYTE; + pub const DepositPerItem: Balance = 32 * CONTRACT_DEPOSIT_PER_BYTE; // Refundable deposit per byte of storage - pub const DepositPerByte: Balance = DEPOSIT_PER_BYTE; + pub const DepositPerByte: Balance = CONTRACT_DEPOSIT_PER_BYTE; // How much weight of each block can be spent on the lazy deletion queue of terminated contracts pub DeletionWeightLimit: Weight = Perbill::from_percent(10) * BlockWeights::get().max_block; // 40ms // Maximum size of the lazy deletion queue of terminated contracts. @@ -696,9 +699,9 @@ impl pallet_contracts::Config for Runtime { parameter_types! { // bytes count taken from: // https://github.com/paritytech/polkadot/blob/016dc7297101710db0483ab6ef199e244dff711d/runtime/kusama/src/lib.rs#L995 - pub const BasicDeposit: Balance = 258 * DEPOSIT_PER_BYTE; - pub const FieldDeposit: Balance = 66 * DEPOSIT_PER_BYTE; - pub const SubAccountDeposit: Balance = 53 * DEPOSIT_PER_BYTE; + pub const BasicDeposit: Balance = 258 * LEGACY_DEPOSIT_PER_BYTE; + pub const FieldDeposit: Balance = 66 * LEGACY_DEPOSIT_PER_BYTE; + pub const SubAccountDeposit: Balance = 53 * LEGACY_DEPOSIT_PER_BYTE; pub const MaxSubAccounts: u32 = 100; pub const MaxAdditionalFields: u32 = 100; pub const MaxRegistrars: u32 = 20; From 223202b08733f5f4fba8aa3b0d583f64c4e56e45 Mon Sep 17 00:00:00 2001 From: Marcin Date: Mon, 27 Feb 2023 12:16:57 +0100 Subject: [PATCH 196/212] Switch test_catch_up to self_hosted. Changed timeout for waiting for authorities to 300s --- .github/workflows/e2e-tests-main-devnet.yml | 4 ++-- local-tests/test_catch_up.py | 2 +- local-tests/test_multiple_restarts.py | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/e2e-tests-main-devnet.yml b/.github/workflows/e2e-tests-main-devnet.yml index 26bd0513e2..7ff32aab33 100644 --- a/.github/workflows/e2e-tests-main-devnet.yml +++ b/.github/workflows/e2e-tests-main-devnet.yml @@ -533,7 +533,7 @@ jobs: steps: - name: Checkout source code uses: actions/checkout@v2 - + - name: Install Rust toolchain uses: actions-rs/toolchain@v1 @@ -739,7 +739,7 @@ jobs: test-catch-up: name: Test catching up - runs-on: ubuntu-20.04 + runs-on: self-hosted needs: build-new-node strategy: matrix: diff --git a/local-tests/test_catch_up.py b/local-tests/test_catch_up.py index 0e3e08dda1..e0bc54dd7f 100755 --- a/local-tests/test_catch_up.py +++ b/local-tests/test_catch_up.py @@ -59,7 +59,7 @@ def printt(s): print(ctime() + ' | ' + s) printt('Waiting for finalization') chain.wait_for_finalization(0) printt('Waiting for authorities') -chain.wait_for_authorities() +chain.wait_for_authorities(timeout=300) if state_pruning is not None and state_pruning.isnumeric(): bound = min(256, int(state_pruning)) printt(f'Pruning turned on. Waiting for {bound} blocks to finalize') diff --git a/local-tests/test_multiple_restarts.py b/local-tests/test_multiple_restarts.py index 18995274cc..e0e6296ff3 100755 --- a/local-tests/test_multiple_restarts.py +++ b/local-tests/test_multiple_restarts.py @@ -53,7 +53,7 @@ def printt(s): print(ctime() + ' | ' + s) printt('Waiting for finalization') chain.wait_for_finalization(0) printt('Waiting for authorities') -chain.wait_for_authorities() +chain.wait_for_authorities(timeout=300) if state_pruning is not None and state_pruning.isnumeric(): bound = min(256, int(state_pruning)) printt(f'Pruning turned on. Waiting for {bound} blocks to finalize') From 9b879f753bb2849b95d3e31a9f2bf6893ac37967 Mon Sep 17 00:00:00 2001 From: Mikolaj Gasior Date: Mon, 27 Feb 2023 14:04:31 +0100 Subject: [PATCH 197/212] Set CARGO_HOME to /Users/nicholas/Repositories/github.com/cc/aleph-node --- .github/workflows/build-and-push-cliain.yaml | 5 +++ .github/workflows/build-docs.yaml | 5 +++ .github/workflows/build-node-and-runtime.yml | 5 +++ ...build-send-postsync-hook-runtime-image.yml | 5 +++ .github/workflows/check-excluded-packages.yml | 5 +++ .github/workflows/e2e-tests-main-devnet.yml | 35 +++++++++++++++++++ .github/workflows/unit_tests.yml | 5 +++ 7 files changed, 65 insertions(+) diff --git a/.github/workflows/build-and-push-cliain.yaml b/.github/workflows/build-and-push-cliain.yaml index 5e05a604b3..536e1c8387 100644 --- a/.github/workflows/build-and-push-cliain.yaml +++ b/.github/workflows/build-and-push-cliain.yaml @@ -11,6 +11,11 @@ jobs: name: Build binary runs-on: self-hosted steps: + - name: Set CARGO_HOME to current directory + runs: + echo "Current working directory is '$(pwd)'" + echo "CARGO_HOME=$(pwd)" >> $GITHUB_ENV + - name: GIT | Checkout source code uses: actions/checkout@v2 diff --git a/.github/workflows/build-docs.yaml b/.github/workflows/build-docs.yaml index 9cc71e70fc..89a0ea9523 100644 --- a/.github/workflows/build-docs.yaml +++ b/.github/workflows/build-docs.yaml @@ -9,6 +9,11 @@ jobs: name: Build docs runs-on: self-hosted steps: + - name: Set CARGO_HOME to current directory + runs: + echo "Current working directory is '$(pwd)'" + echo "CARGO_HOME=$(pwd)" >> $GITHUB_ENV + - name: GIT | Checkout source code uses: actions/checkout@v2 diff --git a/.github/workflows/build-node-and-runtime.yml b/.github/workflows/build-node-and-runtime.yml index 52de31dd48..e84091869f 100644 --- a/.github/workflows/build-node-and-runtime.yml +++ b/.github/workflows/build-node-and-runtime.yml @@ -24,6 +24,11 @@ jobs: SECRETS_AWS_DEVNET_ACCESS_KEY_ID: ${{ secrets.AWS_DEVNET_ACCESS_KEY_ID }} SECRETS_AWS_DEVNET_SECRET_ACCESS_KEY: ${{ secrets.AWS_DEVNET_SECRET_ACCESS_KEY }} steps: + - name: Set CARGO_HOME to current directory + runs: + echo "Current working directory is '$(pwd)'" + echo "CARGO_HOME=$(pwd)" >> $GITHUB_ENV + - name: Checkout source code uses: actions/checkout@v2 with: diff --git a/.github/workflows/build-send-postsync-hook-runtime-image.yml b/.github/workflows/build-send-postsync-hook-runtime-image.yml index e2253bb80d..115bc38a07 100644 --- a/.github/workflows/build-send-postsync-hook-runtime-image.yml +++ b/.github/workflows/build-send-postsync-hook-runtime-image.yml @@ -20,6 +20,11 @@ jobs: env: CARGO_INCREMENTAL: 0 steps: + - name: Set CARGO_HOME to current directory + runs: + echo "Current working directory is '$(pwd)'" + echo "CARGO_HOME=$(pwd)" >> $GITHUB_ENV + - name: Checkout source code uses: actions/checkout@v2 diff --git a/.github/workflows/check-excluded-packages.yml b/.github/workflows/check-excluded-packages.yml index b1e2cdf69f..f83b1f6b2c 100644 --- a/.github/workflows/check-excluded-packages.yml +++ b/.github/workflows/check-excluded-packages.yml @@ -22,6 +22,11 @@ jobs: CARGO_INCREMENTAL: 0 RUSTC_WRAPPER: sccache steps: + - name: Set CARGO_HOME to current directory + runs: + echo "Current working directory is '$(pwd)'" + echo "CARGO_HOME=$(pwd)" >> $GITHUB_ENV + - name: Checkout source code uses: actions/checkout@v2 diff --git a/.github/workflows/e2e-tests-main-devnet.yml b/.github/workflows/e2e-tests-main-devnet.yml index 7ff32aab33..06d00625c1 100644 --- a/.github/workflows/e2e-tests-main-devnet.yml +++ b/.github/workflows/e2e-tests-main-devnet.yml @@ -30,6 +30,11 @@ jobs: name: Build docker image with the test node artifact runs-on: self-hosted steps: + - name: Set CARGO_HOME to current directory + runs: + echo "Current working directory is '$(pwd)'" + echo "CARGO_HOME=$(pwd)" >> $GITHUB_ENV + - name: Checkout Source code uses: actions/checkout@v2 @@ -61,6 +66,11 @@ jobs: env: RUSTC_WRAPPER: sccache steps: + - name: Set CARGO_HOME to current directory + runs: + echo "Current working directory is '$(pwd)'" + echo "CARGO_HOME=$(pwd)" >> $GITHUB_ENV + - name: GIT | Checkout source code uses: actions/checkout@v2 @@ -94,6 +104,11 @@ jobs: RUST_BACKTRACE: full RUSTC_WRAPPER: sccache steps: + - name: Set CARGO_HOME to current directory + runs: + echo "Current working directory is '$(pwd)'" + echo "CARGO_HOME=$(pwd)" >> $GITHUB_ENV + - name: Checkout Source code uses: actions/checkout@v2 @@ -128,6 +143,11 @@ jobs: RUST_BACKTRACE: full RUSTC_WRAPPER: sccache steps: + - name: Set CARGO_HOME to current directory + runs: + echo "Current working directory is '$(pwd)'" + echo "CARGO_HOME=$(pwd)" >> $GITHUB_ENV + - name: Checkout Source code uses: actions/checkout@v2 @@ -745,6 +765,11 @@ jobs: matrix: pruning: ['', '--state-pruning 90'] steps: + - name: Set CARGO_HOME to current directory + runs: + echo "Current working directory is '$(pwd)'" + echo "CARGO_HOME=$(pwd)" >> $GITHUB_ENV + - name: Checkout source code uses: actions/checkout@v2 @@ -824,6 +849,11 @@ jobs: env: RUSTC_WRAPPER: sccache steps: + - name: Set CARGO_HOME to current directory + runs: + echo "Current working directory is '$(pwd)'" + echo "CARGO_HOME=$(pwd)" >> $GITHUB_ENV + - name: Checkout source code uses: actions/checkout@v3 @@ -860,6 +890,11 @@ jobs: runs-on: self-hosted needs: [ build-new-runtime-and-try_runtime ] steps: + - name: Set CARGO_HOME to current directory + runs: + echo "Current working directory is '$(pwd)'" + echo "CARGO_HOME=$(pwd)" >> $GITHUB_ENV + - name: Checkout source code uses: actions/checkout@v3 diff --git a/.github/workflows/unit_tests.yml b/.github/workflows/unit_tests.yml index d84ae3b03d..b0b1587fcc 100644 --- a/.github/workflows/unit_tests.yml +++ b/.github/workflows/unit_tests.yml @@ -22,6 +22,11 @@ jobs: CARGO_INCREMENTAL: 0 RUSTC_WRAPPER: sccache steps: + - name: Set CARGO_HOME to current directory + runs: + echo "Current working directory is '$(pwd)'" + echo "CARGO_HOME=$(pwd)" >> $GITHUB_ENV + - name: Checkout Source code uses: actions/checkout@v2 From 353a48c8a63ecc057a31736c15ff3265ed998af0 Mon Sep 17 00:00:00 2001 From: Mikolaj Gasior Date: Mon, 27 Feb 2023 14:05:57 +0100 Subject: [PATCH 198/212] Fix typo --- .github/workflows/build-and-push-cliain.yaml | 2 +- .github/workflows/build-docs.yaml | 2 +- .github/workflows/build-node-and-runtime.yml | 2 +- .../build-send-postsync-hook-runtime-image.yml | 2 +- .github/workflows/check-excluded-packages.yml | 2 +- .github/workflows/e2e-tests-main-devnet.yml | 14 +++++++------- .github/workflows/unit_tests.yml | 2 +- 7 files changed, 13 insertions(+), 13 deletions(-) diff --git a/.github/workflows/build-and-push-cliain.yaml b/.github/workflows/build-and-push-cliain.yaml index 536e1c8387..34902c3ad0 100644 --- a/.github/workflows/build-and-push-cliain.yaml +++ b/.github/workflows/build-and-push-cliain.yaml @@ -12,7 +12,7 @@ jobs: runs-on: self-hosted steps: - name: Set CARGO_HOME to current directory - runs: + run: echo "Current working directory is '$(pwd)'" echo "CARGO_HOME=$(pwd)" >> $GITHUB_ENV diff --git a/.github/workflows/build-docs.yaml b/.github/workflows/build-docs.yaml index 89a0ea9523..fb9e9d91e1 100644 --- a/.github/workflows/build-docs.yaml +++ b/.github/workflows/build-docs.yaml @@ -10,7 +10,7 @@ jobs: runs-on: self-hosted steps: - name: Set CARGO_HOME to current directory - runs: + run: echo "Current working directory is '$(pwd)'" echo "CARGO_HOME=$(pwd)" >> $GITHUB_ENV diff --git a/.github/workflows/build-node-and-runtime.yml b/.github/workflows/build-node-and-runtime.yml index e84091869f..cdc0e28153 100644 --- a/.github/workflows/build-node-and-runtime.yml +++ b/.github/workflows/build-node-and-runtime.yml @@ -25,7 +25,7 @@ jobs: SECRETS_AWS_DEVNET_SECRET_ACCESS_KEY: ${{ secrets.AWS_DEVNET_SECRET_ACCESS_KEY }} steps: - name: Set CARGO_HOME to current directory - runs: + run: echo "Current working directory is '$(pwd)'" echo "CARGO_HOME=$(pwd)" >> $GITHUB_ENV diff --git a/.github/workflows/build-send-postsync-hook-runtime-image.yml b/.github/workflows/build-send-postsync-hook-runtime-image.yml index 115bc38a07..fb0db4bd43 100644 --- a/.github/workflows/build-send-postsync-hook-runtime-image.yml +++ b/.github/workflows/build-send-postsync-hook-runtime-image.yml @@ -21,7 +21,7 @@ jobs: CARGO_INCREMENTAL: 0 steps: - name: Set CARGO_HOME to current directory - runs: + run: echo "Current working directory is '$(pwd)'" echo "CARGO_HOME=$(pwd)" >> $GITHUB_ENV diff --git a/.github/workflows/check-excluded-packages.yml b/.github/workflows/check-excluded-packages.yml index f83b1f6b2c..48be3669ca 100644 --- a/.github/workflows/check-excluded-packages.yml +++ b/.github/workflows/check-excluded-packages.yml @@ -23,7 +23,7 @@ jobs: RUSTC_WRAPPER: sccache steps: - name: Set CARGO_HOME to current directory - runs: + run: echo "Current working directory is '$(pwd)'" echo "CARGO_HOME=$(pwd)" >> $GITHUB_ENV diff --git a/.github/workflows/e2e-tests-main-devnet.yml b/.github/workflows/e2e-tests-main-devnet.yml index 06d00625c1..0ec1c2baa2 100644 --- a/.github/workflows/e2e-tests-main-devnet.yml +++ b/.github/workflows/e2e-tests-main-devnet.yml @@ -31,7 +31,7 @@ jobs: runs-on: self-hosted steps: - name: Set CARGO_HOME to current directory - runs: + run: echo "Current working directory is '$(pwd)'" echo "CARGO_HOME=$(pwd)" >> $GITHUB_ENV @@ -67,7 +67,7 @@ jobs: RUSTC_WRAPPER: sccache steps: - name: Set CARGO_HOME to current directory - runs: + run: echo "Current working directory is '$(pwd)'" echo "CARGO_HOME=$(pwd)" >> $GITHUB_ENV @@ -105,7 +105,7 @@ jobs: RUSTC_WRAPPER: sccache steps: - name: Set CARGO_HOME to current directory - runs: + run: echo "Current working directory is '$(pwd)'" echo "CARGO_HOME=$(pwd)" >> $GITHUB_ENV @@ -144,7 +144,7 @@ jobs: RUSTC_WRAPPER: sccache steps: - name: Set CARGO_HOME to current directory - runs: + run: echo "Current working directory is '$(pwd)'" echo "CARGO_HOME=$(pwd)" >> $GITHUB_ENV @@ -766,7 +766,7 @@ jobs: pruning: ['', '--state-pruning 90'] steps: - name: Set CARGO_HOME to current directory - runs: + run: echo "Current working directory is '$(pwd)'" echo "CARGO_HOME=$(pwd)" >> $GITHUB_ENV @@ -850,7 +850,7 @@ jobs: RUSTC_WRAPPER: sccache steps: - name: Set CARGO_HOME to current directory - runs: + run: echo "Current working directory is '$(pwd)'" echo "CARGO_HOME=$(pwd)" >> $GITHUB_ENV @@ -891,7 +891,7 @@ jobs: needs: [ build-new-runtime-and-try_runtime ] steps: - name: Set CARGO_HOME to current directory - runs: + run: echo "Current working directory is '$(pwd)'" echo "CARGO_HOME=$(pwd)" >> $GITHUB_ENV diff --git a/.github/workflows/unit_tests.yml b/.github/workflows/unit_tests.yml index b0b1587fcc..2cdba3b3c8 100644 --- a/.github/workflows/unit_tests.yml +++ b/.github/workflows/unit_tests.yml @@ -23,7 +23,7 @@ jobs: RUSTC_WRAPPER: sccache steps: - name: Set CARGO_HOME to current directory - runs: + run: echo "Current working directory is '$(pwd)'" echo "CARGO_HOME=$(pwd)" >> $GITHUB_ENV From 827ce17ab3482204505ac7750bf68e80ef2b5f26 Mon Sep 17 00:00:00 2001 From: Marcin Date: Mon, 27 Feb 2023 14:13:05 +0100 Subject: [PATCH 199/212] Increased timeout for waiting for authorities in cathc_up tests --- local-tests/test_catch_up.py | 2 +- local-tests/test_multiple_restarts.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/local-tests/test_catch_up.py b/local-tests/test_catch_up.py index e0bc54dd7f..68fb381a25 100755 --- a/local-tests/test_catch_up.py +++ b/local-tests/test_catch_up.py @@ -59,7 +59,7 @@ def printt(s): print(ctime() + ' | ' + s) printt('Waiting for finalization') chain.wait_for_finalization(0) printt('Waiting for authorities') -chain.wait_for_authorities(timeout=300) +chain.wait_for_authorities(timeout=480) if state_pruning is not None and state_pruning.isnumeric(): bound = min(256, int(state_pruning)) printt(f'Pruning turned on. Waiting for {bound} blocks to finalize') diff --git a/local-tests/test_multiple_restarts.py b/local-tests/test_multiple_restarts.py index e0e6296ff3..47725d7afa 100755 --- a/local-tests/test_multiple_restarts.py +++ b/local-tests/test_multiple_restarts.py @@ -53,7 +53,7 @@ def printt(s): print(ctime() + ' | ' + s) printt('Waiting for finalization') chain.wait_for_finalization(0) printt('Waiting for authorities') -chain.wait_for_authorities(timeout=300) +chain.wait_for_authorities(timeout=480) if state_pruning is not None and state_pruning.isnumeric(): bound = min(256, int(state_pruning)) printt(f'Pruning turned on. Waiting for {bound} blocks to finalize') From 8ccd660d689712a324b15f7850168cb2ebbc5588 Mon Sep 17 00:00:00 2001 From: Mikolaj Gasior Date: Mon, 27 Feb 2023 14:13:09 +0100 Subject: [PATCH 200/212] Fix typos --- .github/workflows/build-and-push-cliain.yaml | 4 +-- .github/workflows/build-docs.yaml | 4 +-- .github/workflows/build-node-and-runtime.yml | 4 +-- ...build-send-postsync-hook-runtime-image.yml | 4 +-- .github/workflows/check-excluded-packages.yml | 4 +-- .github/workflows/e2e-tests-main-devnet.yml | 28 +++++++++---------- .github/workflows/unit_tests.yml | 4 +-- 7 files changed, 26 insertions(+), 26 deletions(-) diff --git a/.github/workflows/build-and-push-cliain.yaml b/.github/workflows/build-and-push-cliain.yaml index 34902c3ad0..12ed1e7871 100644 --- a/.github/workflows/build-and-push-cliain.yaml +++ b/.github/workflows/build-and-push-cliain.yaml @@ -12,8 +12,8 @@ jobs: runs-on: self-hosted steps: - name: Set CARGO_HOME to current directory - run: - echo "Current working directory is '$(pwd)'" + run: | + echo "Current working directory is $(pwd)" echo "CARGO_HOME=$(pwd)" >> $GITHUB_ENV - name: GIT | Checkout source code diff --git a/.github/workflows/build-docs.yaml b/.github/workflows/build-docs.yaml index fb9e9d91e1..eec23f200c 100644 --- a/.github/workflows/build-docs.yaml +++ b/.github/workflows/build-docs.yaml @@ -10,8 +10,8 @@ jobs: runs-on: self-hosted steps: - name: Set CARGO_HOME to current directory - run: - echo "Current working directory is '$(pwd)'" + run: | + echo "Current working directory is $(pwd)" echo "CARGO_HOME=$(pwd)" >> $GITHUB_ENV - name: GIT | Checkout source code diff --git a/.github/workflows/build-node-and-runtime.yml b/.github/workflows/build-node-and-runtime.yml index cdc0e28153..6be605e54e 100644 --- a/.github/workflows/build-node-and-runtime.yml +++ b/.github/workflows/build-node-and-runtime.yml @@ -25,8 +25,8 @@ jobs: SECRETS_AWS_DEVNET_SECRET_ACCESS_KEY: ${{ secrets.AWS_DEVNET_SECRET_ACCESS_KEY }} steps: - name: Set CARGO_HOME to current directory - run: - echo "Current working directory is '$(pwd)'" + run: | + echo "Current working directory is $(pwd)" echo "CARGO_HOME=$(pwd)" >> $GITHUB_ENV - name: Checkout source code diff --git a/.github/workflows/build-send-postsync-hook-runtime-image.yml b/.github/workflows/build-send-postsync-hook-runtime-image.yml index fb0db4bd43..832dfcad68 100644 --- a/.github/workflows/build-send-postsync-hook-runtime-image.yml +++ b/.github/workflows/build-send-postsync-hook-runtime-image.yml @@ -21,8 +21,8 @@ jobs: CARGO_INCREMENTAL: 0 steps: - name: Set CARGO_HOME to current directory - run: - echo "Current working directory is '$(pwd)'" + run: | + echo "Current working directory is $(pwd)" echo "CARGO_HOME=$(pwd)" >> $GITHUB_ENV - name: Checkout source code diff --git a/.github/workflows/check-excluded-packages.yml b/.github/workflows/check-excluded-packages.yml index 48be3669ca..a4deafc889 100644 --- a/.github/workflows/check-excluded-packages.yml +++ b/.github/workflows/check-excluded-packages.yml @@ -23,8 +23,8 @@ jobs: RUSTC_WRAPPER: sccache steps: - name: Set CARGO_HOME to current directory - run: - echo "Current working directory is '$(pwd)'" + run: | + echo "Current working directory is $(pwd)" echo "CARGO_HOME=$(pwd)" >> $GITHUB_ENV - name: Checkout source code diff --git a/.github/workflows/e2e-tests-main-devnet.yml b/.github/workflows/e2e-tests-main-devnet.yml index 0ec1c2baa2..df233a16fe 100644 --- a/.github/workflows/e2e-tests-main-devnet.yml +++ b/.github/workflows/e2e-tests-main-devnet.yml @@ -31,8 +31,8 @@ jobs: runs-on: self-hosted steps: - name: Set CARGO_HOME to current directory - run: - echo "Current working directory is '$(pwd)'" + run: | + echo "Current working directory is $(pwd)" echo "CARGO_HOME=$(pwd)" >> $GITHUB_ENV - name: Checkout Source code @@ -67,8 +67,8 @@ jobs: RUSTC_WRAPPER: sccache steps: - name: Set CARGO_HOME to current directory - run: - echo "Current working directory is '$(pwd)'" + run: | + echo "Current working directory is $(pwd)" echo "CARGO_HOME=$(pwd)" >> $GITHUB_ENV - name: GIT | Checkout source code @@ -105,8 +105,8 @@ jobs: RUSTC_WRAPPER: sccache steps: - name: Set CARGO_HOME to current directory - run: - echo "Current working directory is '$(pwd)'" + run: | + echo "Current working directory is $(pwd)" echo "CARGO_HOME=$(pwd)" >> $GITHUB_ENV - name: Checkout Source code @@ -144,8 +144,8 @@ jobs: RUSTC_WRAPPER: sccache steps: - name: Set CARGO_HOME to current directory - run: - echo "Current working directory is '$(pwd)'" + run: | + echo "Current working directory is $(pwd)" echo "CARGO_HOME=$(pwd)" >> $GITHUB_ENV - name: Checkout Source code @@ -766,8 +766,8 @@ jobs: pruning: ['', '--state-pruning 90'] steps: - name: Set CARGO_HOME to current directory - run: - echo "Current working directory is '$(pwd)'" + run: | + echo "Current working directory is $(pwd)" echo "CARGO_HOME=$(pwd)" >> $GITHUB_ENV - name: Checkout source code @@ -850,8 +850,8 @@ jobs: RUSTC_WRAPPER: sccache steps: - name: Set CARGO_HOME to current directory - run: - echo "Current working directory is '$(pwd)'" + run: | + echo "Current working directory is $(pwd)" echo "CARGO_HOME=$(pwd)" >> $GITHUB_ENV - name: Checkout source code @@ -891,8 +891,8 @@ jobs: needs: [ build-new-runtime-and-try_runtime ] steps: - name: Set CARGO_HOME to current directory - run: - echo "Current working directory is '$(pwd)'" + run: | + echo "Current working directory is $(pwd)" echo "CARGO_HOME=$(pwd)" >> $GITHUB_ENV - name: Checkout source code diff --git a/.github/workflows/unit_tests.yml b/.github/workflows/unit_tests.yml index 2cdba3b3c8..4220a21a13 100644 --- a/.github/workflows/unit_tests.yml +++ b/.github/workflows/unit_tests.yml @@ -23,8 +23,8 @@ jobs: RUSTC_WRAPPER: sccache steps: - name: Set CARGO_HOME to current directory - run: - echo "Current working directory is '$(pwd)'" + run: | + echo "Current working directory is $(pwd)" echo "CARGO_HOME=$(pwd)" >> $GITHUB_ENV - name: Checkout Source code From 2371f7b067cc3c1858300c4ad62180bdbb09b411 Mon Sep 17 00:00:00 2001 From: Mikolaj Gasior Date: Mon, 27 Feb 2023 14:27:03 +0100 Subject: [PATCH 201/212] Add step that cleans the workspace --- .github/workflows/build-and-push-cliain.yaml | 4 ++- .github/workflows/build-docs.yaml | 4 ++- .github/workflows/build-node-and-runtime.yml | 4 ++- ...build-send-postsync-hook-runtime-image.yml | 4 ++- .github/workflows/check-excluded-packages.yml | 4 ++- .github/workflows/e2e-tests-main-devnet.yml | 28 ++++++++++++++----- .github/workflows/unit_tests.yml | 4 ++- 7 files changed, 39 insertions(+), 13 deletions(-) diff --git a/.github/workflows/build-and-push-cliain.yaml b/.github/workflows/build-and-push-cliain.yaml index 12ed1e7871..e24fc73701 100644 --- a/.github/workflows/build-and-push-cliain.yaml +++ b/.github/workflows/build-and-push-cliain.yaml @@ -11,8 +11,10 @@ jobs: name: Build binary runs-on: self-hosted steps: - - name: Set CARGO_HOME to current directory + - name: Cleanup workspace and set CARGO_HOME to current directory run: | + rm -rf * + rm -rf .cargo echo "Current working directory is $(pwd)" echo "CARGO_HOME=$(pwd)" >> $GITHUB_ENV diff --git a/.github/workflows/build-docs.yaml b/.github/workflows/build-docs.yaml index eec23f200c..6f14000dfe 100644 --- a/.github/workflows/build-docs.yaml +++ b/.github/workflows/build-docs.yaml @@ -9,8 +9,10 @@ jobs: name: Build docs runs-on: self-hosted steps: - - name: Set CARGO_HOME to current directory + - name: Cleanup workspace and set CARGO_HOME to current directory run: | + rm -rf * + rm -rf .cargo echo "Current working directory is $(pwd)" echo "CARGO_HOME=$(pwd)" >> $GITHUB_ENV diff --git a/.github/workflows/build-node-and-runtime.yml b/.github/workflows/build-node-and-runtime.yml index 6be605e54e..f2606e9e55 100644 --- a/.github/workflows/build-node-and-runtime.yml +++ b/.github/workflows/build-node-and-runtime.yml @@ -24,8 +24,10 @@ jobs: SECRETS_AWS_DEVNET_ACCESS_KEY_ID: ${{ secrets.AWS_DEVNET_ACCESS_KEY_ID }} SECRETS_AWS_DEVNET_SECRET_ACCESS_KEY: ${{ secrets.AWS_DEVNET_SECRET_ACCESS_KEY }} steps: - - name: Set CARGO_HOME to current directory + - name: Cleanup workspace and set CARGO_HOME to current directory run: | + rm -rf * + rm -rf .cargo echo "Current working directory is $(pwd)" echo "CARGO_HOME=$(pwd)" >> $GITHUB_ENV diff --git a/.github/workflows/build-send-postsync-hook-runtime-image.yml b/.github/workflows/build-send-postsync-hook-runtime-image.yml index 832dfcad68..402074fbfd 100644 --- a/.github/workflows/build-send-postsync-hook-runtime-image.yml +++ b/.github/workflows/build-send-postsync-hook-runtime-image.yml @@ -20,8 +20,10 @@ jobs: env: CARGO_INCREMENTAL: 0 steps: - - name: Set CARGO_HOME to current directory + - name: Cleanup workspace and set CARGO_HOME to current directory run: | + rm -rf * + rm -rf .cargo echo "Current working directory is $(pwd)" echo "CARGO_HOME=$(pwd)" >> $GITHUB_ENV diff --git a/.github/workflows/check-excluded-packages.yml b/.github/workflows/check-excluded-packages.yml index a4deafc889..05e475e656 100644 --- a/.github/workflows/check-excluded-packages.yml +++ b/.github/workflows/check-excluded-packages.yml @@ -22,8 +22,10 @@ jobs: CARGO_INCREMENTAL: 0 RUSTC_WRAPPER: sccache steps: - - name: Set CARGO_HOME to current directory + - name: Cleanup workspace and set CARGO_HOME to current directory run: | + rm -rf * + rm -rf .cargo echo "Current working directory is $(pwd)" echo "CARGO_HOME=$(pwd)" >> $GITHUB_ENV diff --git a/.github/workflows/e2e-tests-main-devnet.yml b/.github/workflows/e2e-tests-main-devnet.yml index df233a16fe..f8123e75ee 100644 --- a/.github/workflows/e2e-tests-main-devnet.yml +++ b/.github/workflows/e2e-tests-main-devnet.yml @@ -30,8 +30,10 @@ jobs: name: Build docker image with the test node artifact runs-on: self-hosted steps: - - name: Set CARGO_HOME to current directory + - name: Cleanup workspace and set CARGO_HOME to current directory run: | + rm -rf * + rm -rf .cargo echo "Current working directory is $(pwd)" echo "CARGO_HOME=$(pwd)" >> $GITHUB_ENV @@ -66,8 +68,10 @@ jobs: env: RUSTC_WRAPPER: sccache steps: - - name: Set CARGO_HOME to current directory + - name: Cleanup workspace and set CARGO_HOME to current directory run: | + rm -rf * + rm -rf .cargo echo "Current working directory is $(pwd)" echo "CARGO_HOME=$(pwd)" >> $GITHUB_ENV @@ -104,8 +108,10 @@ jobs: RUST_BACKTRACE: full RUSTC_WRAPPER: sccache steps: - - name: Set CARGO_HOME to current directory + - name: Cleanup workspace and set CARGO_HOME to current directory run: | + rm -rf * + rm -rf .cargo echo "Current working directory is $(pwd)" echo "CARGO_HOME=$(pwd)" >> $GITHUB_ENV @@ -143,8 +149,10 @@ jobs: RUST_BACKTRACE: full RUSTC_WRAPPER: sccache steps: - - name: Set CARGO_HOME to current directory + - name: Cleanup workspace and set CARGO_HOME to current directory run: | + rm -rf * + rm -rf .cargo echo "Current working directory is $(pwd)" echo "CARGO_HOME=$(pwd)" >> $GITHUB_ENV @@ -765,8 +773,10 @@ jobs: matrix: pruning: ['', '--state-pruning 90'] steps: - - name: Set CARGO_HOME to current directory + - name: Cleanup workspace and set CARGO_HOME to current directory run: | + rm -rf * + rm -rf .cargo echo "Current working directory is $(pwd)" echo "CARGO_HOME=$(pwd)" >> $GITHUB_ENV @@ -849,8 +859,10 @@ jobs: env: RUSTC_WRAPPER: sccache steps: - - name: Set CARGO_HOME to current directory + - name: Cleanup workspace and set CARGO_HOME to current directory run: | + rm -rf * + rm -rf .cargo echo "Current working directory is $(pwd)" echo "CARGO_HOME=$(pwd)" >> $GITHUB_ENV @@ -890,8 +902,10 @@ jobs: runs-on: self-hosted needs: [ build-new-runtime-and-try_runtime ] steps: - - name: Set CARGO_HOME to current directory + - name: Cleanup workspace and set CARGO_HOME to current directory run: | + rm -rf * + rm -rf .cargo echo "Current working directory is $(pwd)" echo "CARGO_HOME=$(pwd)" >> $GITHUB_ENV diff --git a/.github/workflows/unit_tests.yml b/.github/workflows/unit_tests.yml index 4220a21a13..bd59facb04 100644 --- a/.github/workflows/unit_tests.yml +++ b/.github/workflows/unit_tests.yml @@ -22,8 +22,10 @@ jobs: CARGO_INCREMENTAL: 0 RUSTC_WRAPPER: sccache steps: - - name: Set CARGO_HOME to current directory + - name: Cleanup workspace and set CARGO_HOME to current directory run: | + rm -rf * + rm -rf .cargo echo "Current working directory is $(pwd)" echo "CARGO_HOME=$(pwd)" >> $GITHUB_ENV From f671698de1f7b73b9a8d3bbcc801cee8c6881d50 Mon Sep 17 00:00:00 2001 From: Mikolaj Gasior Date: Mon, 27 Feb 2023 14:38:44 +0100 Subject: [PATCH 202/212] Change cleanup workspace step to just 'rm' commands --- .github/workflows/build-and-push-cliain.yaml | 7 ++- .github/workflows/build-docs.yaml | 7 ++- .github/workflows/build-node-and-runtime.yml | 7 ++- ...build-send-postsync-hook-runtime-image.yml | 7 ++- .github/workflows/check-excluded-packages.yml | 7 ++- .github/workflows/e2e-tests-main-devnet.yml | 49 ++++++++----------- .github/workflows/unit_tests.yml | 7 ++- 7 files changed, 39 insertions(+), 52 deletions(-) diff --git a/.github/workflows/build-and-push-cliain.yaml b/.github/workflows/build-and-push-cliain.yaml index e24fc73701..cafbed4bb1 100644 --- a/.github/workflows/build-and-push-cliain.yaml +++ b/.github/workflows/build-and-push-cliain.yaml @@ -11,12 +11,11 @@ jobs: name: Build binary runs-on: self-hosted steps: - - name: Cleanup workspace and set CARGO_HOME to current directory + - name: Cleanup workspace run: | rm -rf * - rm -rf .cargo - echo "Current working directory is $(pwd)" - echo "CARGO_HOME=$(pwd)" >> $GITHUB_ENV + rm -rf ~/.cargo + rm -rf ~/.rustup - name: GIT | Checkout source code uses: actions/checkout@v2 diff --git a/.github/workflows/build-docs.yaml b/.github/workflows/build-docs.yaml index 6f14000dfe..24ffd64aa7 100644 --- a/.github/workflows/build-docs.yaml +++ b/.github/workflows/build-docs.yaml @@ -9,12 +9,11 @@ jobs: name: Build docs runs-on: self-hosted steps: - - name: Cleanup workspace and set CARGO_HOME to current directory + - name: Cleanup workspace run: | rm -rf * - rm -rf .cargo - echo "Current working directory is $(pwd)" - echo "CARGO_HOME=$(pwd)" >> $GITHUB_ENV + rm -rf ~/.cargo + rm -rf ~/.rustup - name: GIT | Checkout source code uses: actions/checkout@v2 diff --git a/.github/workflows/build-node-and-runtime.yml b/.github/workflows/build-node-and-runtime.yml index f2606e9e55..eb054a3a4b 100644 --- a/.github/workflows/build-node-and-runtime.yml +++ b/.github/workflows/build-node-and-runtime.yml @@ -24,12 +24,11 @@ jobs: SECRETS_AWS_DEVNET_ACCESS_KEY_ID: ${{ secrets.AWS_DEVNET_ACCESS_KEY_ID }} SECRETS_AWS_DEVNET_SECRET_ACCESS_KEY: ${{ secrets.AWS_DEVNET_SECRET_ACCESS_KEY }} steps: - - name: Cleanup workspace and set CARGO_HOME to current directory + - name: Cleanup workspace run: | rm -rf * - rm -rf .cargo - echo "Current working directory is $(pwd)" - echo "CARGO_HOME=$(pwd)" >> $GITHUB_ENV + rm -rf ~/.cargo + rm -rf ~/.rustup - name: Checkout source code uses: actions/checkout@v2 diff --git a/.github/workflows/build-send-postsync-hook-runtime-image.yml b/.github/workflows/build-send-postsync-hook-runtime-image.yml index 402074fbfd..127e6c99cf 100644 --- a/.github/workflows/build-send-postsync-hook-runtime-image.yml +++ b/.github/workflows/build-send-postsync-hook-runtime-image.yml @@ -20,12 +20,11 @@ jobs: env: CARGO_INCREMENTAL: 0 steps: - - name: Cleanup workspace and set CARGO_HOME to current directory + - name: Cleanup workspace run: | rm -rf * - rm -rf .cargo - echo "Current working directory is $(pwd)" - echo "CARGO_HOME=$(pwd)" >> $GITHUB_ENV + rm -rf ~/.cargo + rm -rf ~/.rustup - name: Checkout source code uses: actions/checkout@v2 diff --git a/.github/workflows/check-excluded-packages.yml b/.github/workflows/check-excluded-packages.yml index 05e475e656..140488b0c0 100644 --- a/.github/workflows/check-excluded-packages.yml +++ b/.github/workflows/check-excluded-packages.yml @@ -22,12 +22,11 @@ jobs: CARGO_INCREMENTAL: 0 RUSTC_WRAPPER: sccache steps: - - name: Cleanup workspace and set CARGO_HOME to current directory + - name: Cleanup workspace run: | rm -rf * - rm -rf .cargo - echo "Current working directory is $(pwd)" - echo "CARGO_HOME=$(pwd)" >> $GITHUB_ENV + rm -rf ~/.cargo + rm -rf ~/.rustup - name: Checkout source code uses: actions/checkout@v2 diff --git a/.github/workflows/e2e-tests-main-devnet.yml b/.github/workflows/e2e-tests-main-devnet.yml index f8123e75ee..d6bc63bc37 100644 --- a/.github/workflows/e2e-tests-main-devnet.yml +++ b/.github/workflows/e2e-tests-main-devnet.yml @@ -30,12 +30,11 @@ jobs: name: Build docker image with the test node artifact runs-on: self-hosted steps: - - name: Cleanup workspace and set CARGO_HOME to current directory + - name: Cleanup workspace run: | rm -rf * - rm -rf .cargo - echo "Current working directory is $(pwd)" - echo "CARGO_HOME=$(pwd)" >> $GITHUB_ENV + rm -rf ~/.cargo + rm -rf ~/.rustup - name: Checkout Source code uses: actions/checkout@v2 @@ -68,12 +67,11 @@ jobs: env: RUSTC_WRAPPER: sccache steps: - - name: Cleanup workspace and set CARGO_HOME to current directory + - name: Cleanup workspace run: | rm -rf * - rm -rf .cargo - echo "Current working directory is $(pwd)" - echo "CARGO_HOME=$(pwd)" >> $GITHUB_ENV + rm -rf ~/.cargo + rm -rf ~/.rustup - name: GIT | Checkout source code uses: actions/checkout@v2 @@ -108,12 +106,11 @@ jobs: RUST_BACKTRACE: full RUSTC_WRAPPER: sccache steps: - - name: Cleanup workspace and set CARGO_HOME to current directory + - name: Cleanup workspace run: | rm -rf * - rm -rf .cargo - echo "Current working directory is $(pwd)" - echo "CARGO_HOME=$(pwd)" >> $GITHUB_ENV + rm -rf ~/.cargo + rm -rf ~/.rustup - name: Checkout Source code uses: actions/checkout@v2 @@ -149,12 +146,11 @@ jobs: RUST_BACKTRACE: full RUSTC_WRAPPER: sccache steps: - - name: Cleanup workspace and set CARGO_HOME to current directory + - name: Cleanup workspace run: | rm -rf * - rm -rf .cargo - echo "Current working directory is $(pwd)" - echo "CARGO_HOME=$(pwd)" >> $GITHUB_ENV + rm -rf ~/.cargo + rm -rf ~/.rustup - name: Checkout Source code uses: actions/checkout@v2 @@ -773,12 +769,11 @@ jobs: matrix: pruning: ['', '--state-pruning 90'] steps: - - name: Cleanup workspace and set CARGO_HOME to current directory + - name: Cleanup workspace run: | rm -rf * - rm -rf .cargo - echo "Current working directory is $(pwd)" - echo "CARGO_HOME=$(pwd)" >> $GITHUB_ENV + rm -rf ~/.cargo + rm -rf ~/.rustup - name: Checkout source code uses: actions/checkout@v2 @@ -859,12 +854,11 @@ jobs: env: RUSTC_WRAPPER: sccache steps: - - name: Cleanup workspace and set CARGO_HOME to current directory + - name: Cleanup workspace run: | rm -rf * - rm -rf .cargo - echo "Current working directory is $(pwd)" - echo "CARGO_HOME=$(pwd)" >> $GITHUB_ENV + rm -rf ~/.cargo + rm -rf ~/.rustup - name: Checkout source code uses: actions/checkout@v3 @@ -902,12 +896,11 @@ jobs: runs-on: self-hosted needs: [ build-new-runtime-and-try_runtime ] steps: - - name: Cleanup workspace and set CARGO_HOME to current directory + - name: Cleanup workspace run: | rm -rf * - rm -rf .cargo - echo "Current working directory is $(pwd)" - echo "CARGO_HOME=$(pwd)" >> $GITHUB_ENV + rm -rf ~/.cargo + rm -rf ~/.rustup - name: Checkout source code uses: actions/checkout@v3 diff --git a/.github/workflows/unit_tests.yml b/.github/workflows/unit_tests.yml index bd59facb04..87fb304063 100644 --- a/.github/workflows/unit_tests.yml +++ b/.github/workflows/unit_tests.yml @@ -22,12 +22,11 @@ jobs: CARGO_INCREMENTAL: 0 RUSTC_WRAPPER: sccache steps: - - name: Cleanup workspace and set CARGO_HOME to current directory + - name: Cleanup workspace run: | rm -rf * - rm -rf .cargo - echo "Current working directory is $(pwd)" - echo "CARGO_HOME=$(pwd)" >> $GITHUB_ENV + rm -rf ~/.cargo + rm -rf ~/.rustup - name: Checkout Source code uses: actions/checkout@v2 From f376ffc58ab38fc32bd1c9e4106cd5c72c60f3ae Mon Sep 17 00:00:00 2001 From: Mikolaj Gasior Date: Mon, 27 Feb 2023 14:53:34 +0100 Subject: [PATCH 203/212] Extract workspace cleanup to a separate action --- .github/actions/cleanup-workspace/action.yml | 14 +++++ .github/workflows/build-and-push-cliain.yaml | 8 +-- .github/workflows/build-docs.yaml | 9 ++- .github/workflows/build-node-and-runtime.yml | 8 +-- ...build-send-postsync-hook-runtime-image.yml | 8 +-- .github/workflows/check-excluded-packages.yml | 8 +-- .github/workflows/e2e-tests-main-devnet.yml | 56 +++++++++---------- .github/workflows/unit_tests.yml | 8 +-- 8 files changed, 66 insertions(+), 53 deletions(-) create mode 100644 .github/actions/cleanup-workspace/action.yml diff --git a/.github/actions/cleanup-workspace/action.yml b/.github/actions/cleanup-workspace/action.yml new file mode 100644 index 0000000000..45f042703d --- /dev/null +++ b/.github/actions/cleanup-workspace/action.yml @@ -0,0 +1,14 @@ +name: Clean runner workspace +description: Removes all the files from the runner working directory + +runs: + using: composite + steps: + - name: Remove files and directories from working directory + shell: bash + run: | + rm -rf * + rm -rf ~/.cargo + rm -rf ~/.cache + echo "Running 'ls -al' on $(pwd)" + ls -al diff --git a/.github/workflows/build-and-push-cliain.yaml b/.github/workflows/build-and-push-cliain.yaml index cafbed4bb1..403e8c94e8 100644 --- a/.github/workflows/build-and-push-cliain.yaml +++ b/.github/workflows/build-and-push-cliain.yaml @@ -12,10 +12,7 @@ jobs: runs-on: self-hosted steps: - name: Cleanup workspace - run: | - rm -rf * - rm -rf ~/.cargo - rm -rf ~/.rustup + uses: ./.github/actions/cleanup-workspace - name: GIT | Checkout source code uses: actions/checkout@v2 @@ -61,3 +58,6 @@ jobs: file: ./bin/cliain/Dockerfile push: true tags: ${{ env.RELEASE_IMAGE }} + + - name: Cleanup workspace + uses: ./.github/actions/cleanup-workspace diff --git a/.github/workflows/build-docs.yaml b/.github/workflows/build-docs.yaml index 24ffd64aa7..519ba2fa2d 100644 --- a/.github/workflows/build-docs.yaml +++ b/.github/workflows/build-docs.yaml @@ -10,10 +10,7 @@ jobs: runs-on: self-hosted steps: - name: Cleanup workspace - run: | - rm -rf * - rm -rf ~/.cargo - rm -rf ~/.rustup + uses: ./.github/actions/cleanup-workspace - name: GIT | Checkout source code uses: actions/checkout@v2 @@ -24,4 +21,6 @@ jobs: - name: rustdoc | Build aleph-client docs run: | cd aleph-client && cargo doc --no-deps - + + - name: Cleanup workspace + uses: ./.github/actions/cleanup-workspace diff --git a/.github/workflows/build-node-and-runtime.yml b/.github/workflows/build-node-and-runtime.yml index eb054a3a4b..c7092cdbc1 100644 --- a/.github/workflows/build-node-and-runtime.yml +++ b/.github/workflows/build-node-and-runtime.yml @@ -25,10 +25,7 @@ jobs: SECRETS_AWS_DEVNET_SECRET_ACCESS_KEY: ${{ secrets.AWS_DEVNET_SECRET_ACCESS_KEY }} steps: - name: Cleanup workspace - run: | - rm -rf * - rm -rf ~/.cargo - rm -rf ~/.rustup + uses: ./.github/actions/cleanup-workspace - name: Checkout source code uses: actions/checkout@v2 @@ -147,3 +144,6 @@ jobs: run: | tar -cvzf ${{ env.S3BUCKET_FILE }} -C ${{ env.BINARY_DIR }} ${{ env.BINARY_FILE }} aws s3 cp ${{ env.S3BUCKET_FILE }} ${{ env.S3BUCKET_URL }}/${{ env.S3BUCKET_FILE }} + + - name: Cleanup workspace + uses: ./.github/actions/cleanup-workspace diff --git a/.github/workflows/build-send-postsync-hook-runtime-image.yml b/.github/workflows/build-send-postsync-hook-runtime-image.yml index 127e6c99cf..635e8cb8a5 100644 --- a/.github/workflows/build-send-postsync-hook-runtime-image.yml +++ b/.github/workflows/build-send-postsync-hook-runtime-image.yml @@ -21,10 +21,7 @@ jobs: CARGO_INCREMENTAL: 0 steps: - name: Cleanup workspace - run: | - rm -rf * - rm -rf ~/.cargo - rm -rf ~/.rustup + uses: ./.github/actions/cleanup-workspace - name: Checkout source code uses: actions/checkout@v2 @@ -116,3 +113,6 @@ jobs: branch: main env: GITHUB_TOKEN: ${{ secrets.CI_GH_TOKEN }} + + - name: Cleanup workspace + uses: ./.github/actions/cleanup-workspace diff --git a/.github/workflows/check-excluded-packages.yml b/.github/workflows/check-excluded-packages.yml index 140488b0c0..5ffc5c1edd 100644 --- a/.github/workflows/check-excluded-packages.yml +++ b/.github/workflows/check-excluded-packages.yml @@ -23,10 +23,7 @@ jobs: RUSTC_WRAPPER: sccache steps: - name: Cleanup workspace - run: | - rm -rf * - rm -rf ~/.cargo - rm -rf ~/.rustup + uses: ./.github/actions/cleanup-workspace - name: Checkout source code uses: actions/checkout@v2 @@ -74,3 +71,6 @@ jobs: cargo clippy --all-features -- --no-deps -D warnings popd done + + - name: Cleanup workspace + uses: ./.github/actions/cleanup-workspace diff --git a/.github/workflows/e2e-tests-main-devnet.yml b/.github/workflows/e2e-tests-main-devnet.yml index d6bc63bc37..4d6be6b89e 100644 --- a/.github/workflows/e2e-tests-main-devnet.yml +++ b/.github/workflows/e2e-tests-main-devnet.yml @@ -31,10 +31,7 @@ jobs: runs-on: self-hosted steps: - name: Cleanup workspace - run: | - rm -rf * - rm -rf ~/.cargo - rm -rf ~/.rustup + uses: ./.github/actions/cleanup-workspace - name: Checkout Source code uses: actions/checkout@v2 @@ -59,6 +56,9 @@ jobs: path: aleph-node.tar if-no-files-found: error retention-days: 7 + + - name: Cleanup workspace + uses: ./.github/actions/cleanup-workspace build-cliain-image: @@ -68,10 +68,7 @@ jobs: RUSTC_WRAPPER: sccache steps: - name: Cleanup workspace - run: | - rm -rf * - rm -rf ~/.cargo - rm -rf ~/.rustup + uses: ./.github/actions/cleanup-workspace - name: GIT | Checkout source code uses: actions/checkout@v2 @@ -97,6 +94,9 @@ jobs: if-no-files-found: error retention-days: 7 + - name: Cleanup workspace + uses: ./.github/actions/cleanup-workspace + check-determinism: needs: [build-new-node] @@ -107,10 +107,7 @@ jobs: RUSTC_WRAPPER: sccache steps: - name: Cleanup workspace - run: | - rm -rf * - rm -rf ~/.cargo - rm -rf ~/.rustup + uses: ./.github/actions/cleanup-workspace - name: Checkout Source code uses: actions/checkout@v2 @@ -138,6 +135,9 @@ jobs: cargo build --profile production -p aleph-runtime sha256sum -c checksum.sha256 + - name: Cleanup workspace + uses: ./.github/actions/cleanup-workspace + build-test-client: name: Build e2e test client suite @@ -147,10 +147,7 @@ jobs: RUSTC_WRAPPER: sccache steps: - name: Cleanup workspace - run: | - rm -rf * - rm -rf ~/.cargo - rm -rf ~/.rustup + uses: ./.github/actions/cleanup-workspace - name: Checkout Source code uses: actions/checkout@v2 @@ -173,6 +170,9 @@ jobs: path: e2e-tests/aleph-e2e-client.tar if-no-files-found: error retention-days: 7 + + - name: Cleanup workspace + uses: ./.github/actions/cleanup-workspace run-aleph-client-subxt-codegen-check: needs: [build-test-docker] @@ -770,10 +770,7 @@ jobs: pruning: ['', '--state-pruning 90'] steps: - name: Cleanup workspace - run: | - rm -rf * - rm -rf ~/.cargo - rm -rf ~/.rustup + uses: ./.github/actions/cleanup-workspace - name: Checkout source code uses: actions/checkout@v2 @@ -795,6 +792,9 @@ jobs: ALEPH_NODE_BINARY: aleph-test-node/aleph-node run: ./.github/scripts/test_catch_up.sh ${{ matrix.pruning }} + - name: Cleanup workspace + uses: ./.github/actions/cleanup-workspace + test-multiple-restarts: name: Test multiple restarts runs-on: ubuntu-20.04 @@ -855,10 +855,7 @@ jobs: RUSTC_WRAPPER: sccache steps: - name: Cleanup workspace - run: | - rm -rf * - rm -rf ~/.cargo - rm -rf ~/.rustup + uses: ./.github/actions/cleanup-workspace - name: Checkout source code uses: actions/checkout@v3 @@ -890,6 +887,9 @@ jobs: path: target/release/wbuild/aleph-runtime/aleph_runtime.compact.wasm if-no-files-found: error retention-days: 7 + + - name: Cleanup workspace + uses: ./.github/actions/cleanup-workspace test-runtime-update: name: Test runtime update with try-runtime tool @@ -897,10 +897,7 @@ jobs: needs: [ build-new-runtime-and-try_runtime ] steps: - name: Cleanup workspace - run: | - rm -rf * - rm -rf ~/.cargo - rm -rf ~/.rustup + uses: ./.github/actions/cleanup-workspace - name: Checkout source code uses: actions/checkout@v3 @@ -929,6 +926,9 @@ jobs: ../bin/node/src/resources/testnet_chainspec.json \ ${{ env.NEW_RUNTIME }} \ ${{ env.TRY_RUNTIME }} + + - name: Cleanup workspace + uses: ./.github/actions/cleanup-workspace slack: name: Slack notification diff --git a/.github/workflows/unit_tests.yml b/.github/workflows/unit_tests.yml index 87fb304063..eb6bb732d5 100644 --- a/.github/workflows/unit_tests.yml +++ b/.github/workflows/unit_tests.yml @@ -23,10 +23,7 @@ jobs: RUSTC_WRAPPER: sccache steps: - name: Cleanup workspace - run: | - rm -rf * - rm -rf ~/.cargo - rm -rf ~/.rustup + uses: ./.github/actions/cleanup-workspace - name: Checkout Source code uses: actions/checkout@v2 @@ -61,3 +58,6 @@ jobs: with: command: test args: --lib --features "try-runtime" + + - name: Cleanup workspace + uses: ./.github/actions/cleanup-workspace From 25f9788141b33c442efb3a2744fcdf61e06973fe Mon Sep 17 00:00:00 2001 From: Mikolaj Gasior Date: Mon, 27 Feb 2023 15:14:16 +0100 Subject: [PATCH 204/212] Remove cleanup steps --- .github/workflows/build-and-push-cliain.yaml | 6 --- .github/workflows/build-docs.yaml | 6 --- .github/workflows/build-node-and-runtime.yml | 6 --- ...build-send-postsync-hook-runtime-image.yml | 6 --- .github/workflows/check-excluded-packages.yml | 6 --- .github/workflows/e2e-tests-main-devnet.yml | 45 ------------------- .github/workflows/unit_tests.yml | 6 --- 7 files changed, 81 deletions(-) diff --git a/.github/workflows/build-and-push-cliain.yaml b/.github/workflows/build-and-push-cliain.yaml index 403e8c94e8..5e05a604b3 100644 --- a/.github/workflows/build-and-push-cliain.yaml +++ b/.github/workflows/build-and-push-cliain.yaml @@ -11,9 +11,6 @@ jobs: name: Build binary runs-on: self-hosted steps: - - name: Cleanup workspace - uses: ./.github/actions/cleanup-workspace - - name: GIT | Checkout source code uses: actions/checkout@v2 @@ -58,6 +55,3 @@ jobs: file: ./bin/cliain/Dockerfile push: true tags: ${{ env.RELEASE_IMAGE }} - - - name: Cleanup workspace - uses: ./.github/actions/cleanup-workspace diff --git a/.github/workflows/build-docs.yaml b/.github/workflows/build-docs.yaml index 519ba2fa2d..af24cdbdef 100644 --- a/.github/workflows/build-docs.yaml +++ b/.github/workflows/build-docs.yaml @@ -9,9 +9,6 @@ jobs: name: Build docs runs-on: self-hosted steps: - - name: Cleanup workspace - uses: ./.github/actions/cleanup-workspace - - name: GIT | Checkout source code uses: actions/checkout@v2 @@ -21,6 +18,3 @@ jobs: - name: rustdoc | Build aleph-client docs run: | cd aleph-client && cargo doc --no-deps - - - name: Cleanup workspace - uses: ./.github/actions/cleanup-workspace diff --git a/.github/workflows/build-node-and-runtime.yml b/.github/workflows/build-node-and-runtime.yml index c7092cdbc1..52de31dd48 100644 --- a/.github/workflows/build-node-and-runtime.yml +++ b/.github/workflows/build-node-and-runtime.yml @@ -24,9 +24,6 @@ jobs: SECRETS_AWS_DEVNET_ACCESS_KEY_ID: ${{ secrets.AWS_DEVNET_ACCESS_KEY_ID }} SECRETS_AWS_DEVNET_SECRET_ACCESS_KEY: ${{ secrets.AWS_DEVNET_SECRET_ACCESS_KEY }} steps: - - name: Cleanup workspace - uses: ./.github/actions/cleanup-workspace - - name: Checkout source code uses: actions/checkout@v2 with: @@ -144,6 +141,3 @@ jobs: run: | tar -cvzf ${{ env.S3BUCKET_FILE }} -C ${{ env.BINARY_DIR }} ${{ env.BINARY_FILE }} aws s3 cp ${{ env.S3BUCKET_FILE }} ${{ env.S3BUCKET_URL }}/${{ env.S3BUCKET_FILE }} - - - name: Cleanup workspace - uses: ./.github/actions/cleanup-workspace diff --git a/.github/workflows/build-send-postsync-hook-runtime-image.yml b/.github/workflows/build-send-postsync-hook-runtime-image.yml index 635e8cb8a5..e2253bb80d 100644 --- a/.github/workflows/build-send-postsync-hook-runtime-image.yml +++ b/.github/workflows/build-send-postsync-hook-runtime-image.yml @@ -20,9 +20,6 @@ jobs: env: CARGO_INCREMENTAL: 0 steps: - - name: Cleanup workspace - uses: ./.github/actions/cleanup-workspace - - name: Checkout source code uses: actions/checkout@v2 @@ -113,6 +110,3 @@ jobs: branch: main env: GITHUB_TOKEN: ${{ secrets.CI_GH_TOKEN }} - - - name: Cleanup workspace - uses: ./.github/actions/cleanup-workspace diff --git a/.github/workflows/check-excluded-packages.yml b/.github/workflows/check-excluded-packages.yml index 5ffc5c1edd..b1e2cdf69f 100644 --- a/.github/workflows/check-excluded-packages.yml +++ b/.github/workflows/check-excluded-packages.yml @@ -22,9 +22,6 @@ jobs: CARGO_INCREMENTAL: 0 RUSTC_WRAPPER: sccache steps: - - name: Cleanup workspace - uses: ./.github/actions/cleanup-workspace - - name: Checkout source code uses: actions/checkout@v2 @@ -71,6 +68,3 @@ jobs: cargo clippy --all-features -- --no-deps -D warnings popd done - - - name: Cleanup workspace - uses: ./.github/actions/cleanup-workspace diff --git a/.github/workflows/e2e-tests-main-devnet.yml b/.github/workflows/e2e-tests-main-devnet.yml index 4d6be6b89e..9016e09b7c 100644 --- a/.github/workflows/e2e-tests-main-devnet.yml +++ b/.github/workflows/e2e-tests-main-devnet.yml @@ -30,9 +30,6 @@ jobs: name: Build docker image with the test node artifact runs-on: self-hosted steps: - - name: Cleanup workspace - uses: ./.github/actions/cleanup-workspace - - name: Checkout Source code uses: actions/checkout@v2 @@ -56,10 +53,6 @@ jobs: path: aleph-node.tar if-no-files-found: error retention-days: 7 - - - name: Cleanup workspace - uses: ./.github/actions/cleanup-workspace - build-cliain-image: name: Build docker image for cliain @@ -67,9 +60,6 @@ jobs: env: RUSTC_WRAPPER: sccache steps: - - name: Cleanup workspace - uses: ./.github/actions/cleanup-workspace - - name: GIT | Checkout source code uses: actions/checkout@v2 @@ -94,10 +84,6 @@ jobs: if-no-files-found: error retention-days: 7 - - name: Cleanup workspace - uses: ./.github/actions/cleanup-workspace - - check-determinism: needs: [build-new-node] name: Verify runtime build determinism @@ -106,9 +92,6 @@ jobs: RUST_BACKTRACE: full RUSTC_WRAPPER: sccache steps: - - name: Cleanup workspace - uses: ./.github/actions/cleanup-workspace - - name: Checkout Source code uses: actions/checkout@v2 @@ -135,10 +118,6 @@ jobs: cargo build --profile production -p aleph-runtime sha256sum -c checksum.sha256 - - name: Cleanup workspace - uses: ./.github/actions/cleanup-workspace - - build-test-client: name: Build e2e test client suite runs-on: self-hosted @@ -146,9 +125,6 @@ jobs: RUST_BACKTRACE: full RUSTC_WRAPPER: sccache steps: - - name: Cleanup workspace - uses: ./.github/actions/cleanup-workspace - - name: Checkout Source code uses: actions/checkout@v2 @@ -170,9 +146,6 @@ jobs: path: e2e-tests/aleph-e2e-client.tar if-no-files-found: error retention-days: 7 - - - name: Cleanup workspace - uses: ./.github/actions/cleanup-workspace run-aleph-client-subxt-codegen-check: needs: [build-test-docker] @@ -769,9 +742,6 @@ jobs: matrix: pruning: ['', '--state-pruning 90'] steps: - - name: Cleanup workspace - uses: ./.github/actions/cleanup-workspace - - name: Checkout source code uses: actions/checkout@v2 @@ -792,9 +762,6 @@ jobs: ALEPH_NODE_BINARY: aleph-test-node/aleph-node run: ./.github/scripts/test_catch_up.sh ${{ matrix.pruning }} - - name: Cleanup workspace - uses: ./.github/actions/cleanup-workspace - test-multiple-restarts: name: Test multiple restarts runs-on: ubuntu-20.04 @@ -854,9 +821,6 @@ jobs: env: RUSTC_WRAPPER: sccache steps: - - name: Cleanup workspace - uses: ./.github/actions/cleanup-workspace - - name: Checkout source code uses: actions/checkout@v3 @@ -887,18 +851,12 @@ jobs: path: target/release/wbuild/aleph-runtime/aleph_runtime.compact.wasm if-no-files-found: error retention-days: 7 - - - name: Cleanup workspace - uses: ./.github/actions/cleanup-workspace test-runtime-update: name: Test runtime update with try-runtime tool runs-on: self-hosted needs: [ build-new-runtime-and-try_runtime ] steps: - - name: Cleanup workspace - uses: ./.github/actions/cleanup-workspace - - name: Checkout source code uses: actions/checkout@v3 @@ -926,9 +884,6 @@ jobs: ../bin/node/src/resources/testnet_chainspec.json \ ${{ env.NEW_RUNTIME }} \ ${{ env.TRY_RUNTIME }} - - - name: Cleanup workspace - uses: ./.github/actions/cleanup-workspace slack: name: Slack notification diff --git a/.github/workflows/unit_tests.yml b/.github/workflows/unit_tests.yml index eb6bb732d5..d84ae3b03d 100644 --- a/.github/workflows/unit_tests.yml +++ b/.github/workflows/unit_tests.yml @@ -22,9 +22,6 @@ jobs: CARGO_INCREMENTAL: 0 RUSTC_WRAPPER: sccache steps: - - name: Cleanup workspace - uses: ./.github/actions/cleanup-workspace - - name: Checkout Source code uses: actions/checkout@v2 @@ -58,6 +55,3 @@ jobs: with: command: test args: --lib --features "try-runtime" - - - name: Cleanup workspace - uses: ./.github/actions/cleanup-workspace From a611dc149340d4a791f960acb3f389eaeddb3eff Mon Sep 17 00:00:00 2001 From: bartoszjedrzejewski <72252135+bartoszjedrzejewski@users.noreply.github.com> Date: Mon, 27 Feb 2023 16:03:46 +0100 Subject: [PATCH 205/212] Increase free storage for unit tests (#952) --- .github/workflows/unit_tests.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/unit_tests.yml b/.github/workflows/unit_tests.yml index 7d50986f7c..d0ab513b5b 100644 --- a/.github/workflows/unit_tests.yml +++ b/.github/workflows/unit_tests.yml @@ -24,9 +24,11 @@ jobs: - name: Maximize build space uses: easimon/maximize-build-space@v6 with: - root-reserve-mb: 2048 + root-reserve-mb: 10240 swap-size-mb: 1024 remove-dotnet: 'true' + remove-android: 'true' + remove-haskell: 'true' - name: Checkout Source code uses: actions/checkout@v2 From 5a812b6f9309775545a83a44f4cd302f49177ea5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Piotr=20Miko=C5=82ajczyk?= Date: Mon, 27 Feb 2023 17:28:53 +0100 Subject: [PATCH 206/212] Update logo link (#951) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index bfa1accb6d..5d33833b44 100644 --- a/README.md +++ b/README.md @@ -37,7 +37,7 @@ The code in this repository is licensed as follows: - all rest of the crates are licensed under the terms of Apache License 2.0. [aleph-homepage]: https://alephzero.org -[aleph-logo]: https://alephzero.org/wp-content/uploads/A0_logotype_dark-1.jpg +[aleph-logo]: https://assets.alephzero.org/branding/logo/digital/A0-horizontal-light-background.jpg [aleph-bft-link]: https://github.com/Cardinal-Cryptography/AlephBFT [aleph-bft-paper]: https://arxiv.org/abs/1908.05156 [aleph-polkadot-link]: https://github.com/Cardinal-Cryptography/apps From 7de6e775a40bdb3d290467a889ea2ca1fb2c2e9d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maciej=20Nem=C5=9B?= Date: Tue, 28 Feb 2023 08:29:02 +0100 Subject: [PATCH 207/212] add posibility for experimental pruning in docker_entrypoint.sh (#949) Co-authored-by: Marcin --- bin/node/src/main.rs | 3 ++- docker/docker_entrypoint.sh | 1 - scripts/run_nodes.sh | 1 - 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/bin/node/src/main.rs b/bin/node/src/main.rs index a6d00656f1..6dedebc943 100644 --- a/bin/node/src/main.rs +++ b/bin/node/src/main.rs @@ -18,7 +18,8 @@ fn default_blocks_pruning() -> DatabasePruningMode { } fn pruning_changed(params: &PruningParams) -> bool { - let state_pruning_changed = params.state_pruning != default_state_pruning(); + let state_pruning_changed = + params.state_pruning.is_some() && (params.state_pruning != default_state_pruning()); let blocks_pruning_changed = params.blocks_pruning != default_blocks_pruning(); diff --git a/docker/docker_entrypoint.sh b/docker/docker_entrypoint.sh index 43575e026e..7982c6ac4a 100644 --- a/docker/docker_entrypoint.sh +++ b/docker/docker_entrypoint.sh @@ -42,7 +42,6 @@ fi ARGS=( --validator - --state-pruning archive --execution Native --name "${NAME}" --base-path "${BASE_PATH}" diff --git a/scripts/run_nodes.sh b/scripts/run_nodes.sh index 3367deefb7..b7961d0c51 100755 --- a/scripts/run_nodes.sh +++ b/scripts/run_nodes.sh @@ -83,7 +83,6 @@ run_node() { ./target/release/aleph-node purge-chain --base-path $BASE_PATH/$account_id --chain $BASE_PATH/chainspec.json -y ./target/release/aleph-node \ $validator \ - --state-pruning=archive \ --chain $BASE_PATH/chainspec.json \ --base-path $BASE_PATH/$account_id \ --name $auth \ From 819b06b4100f6825581caf53732ebf2e90fb5fb8 Mon Sep 17 00:00:00 2001 From: Marcin Date: Tue, 28 Feb 2023 09:23:15 +0100 Subject: [PATCH 208/212] Set timeout for waiting for authorities in catch_up tests and multiple restarts to 60s --- .github/workflows/e2e-tests-main-devnet.yml | 2 +- local-tests/test_catch_up.py | 2 +- local-tests/test_multiple_restarts.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/e2e-tests-main-devnet.yml b/.github/workflows/e2e-tests-main-devnet.yml index 9016e09b7c..15aeab33a0 100644 --- a/.github/workflows/e2e-tests-main-devnet.yml +++ b/.github/workflows/e2e-tests-main-devnet.yml @@ -736,7 +736,7 @@ jobs: test-catch-up: name: Test catching up - runs-on: self-hosted + runs-on: ubuntu-20.04 needs: build-new-node strategy: matrix: diff --git a/local-tests/test_catch_up.py b/local-tests/test_catch_up.py index 68fb381a25..e971902ed6 100755 --- a/local-tests/test_catch_up.py +++ b/local-tests/test_catch_up.py @@ -59,7 +59,7 @@ def printt(s): print(ctime() + ' | ' + s) printt('Waiting for finalization') chain.wait_for_finalization(0) printt('Waiting for authorities') -chain.wait_for_authorities(timeout=480) +chain.wait_for_authorities(timeout=60) if state_pruning is not None and state_pruning.isnumeric(): bound = min(256, int(state_pruning)) printt(f'Pruning turned on. Waiting for {bound} blocks to finalize') diff --git a/local-tests/test_multiple_restarts.py b/local-tests/test_multiple_restarts.py index 47725d7afa..9bfa377928 100755 --- a/local-tests/test_multiple_restarts.py +++ b/local-tests/test_multiple_restarts.py @@ -53,7 +53,7 @@ def printt(s): print(ctime() + ' | ' + s) printt('Waiting for finalization') chain.wait_for_finalization(0) printt('Waiting for authorities') -chain.wait_for_authorities(timeout=480) +chain.wait_for_authorities(timeout=60) if state_pruning is not None and state_pruning.isnumeric(): bound = min(256, int(state_pruning)) printt(f'Pruning turned on. Waiting for {bound} blocks to finalize') From 4bf9eb8fc43c34721a444333e6b511e947054856 Mon Sep 17 00:00:00 2001 From: Marcin Date: Tue, 28 Feb 2023 10:59:32 +0100 Subject: [PATCH 209/212] Increase multiple_restart waiting for authorities timeout to 120s --- local-tests/test_multiple_restarts.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/local-tests/test_multiple_restarts.py b/local-tests/test_multiple_restarts.py index 9bfa377928..e47091d743 100755 --- a/local-tests/test_multiple_restarts.py +++ b/local-tests/test_multiple_restarts.py @@ -53,7 +53,7 @@ def printt(s): print(ctime() + ' | ' + s) printt('Waiting for finalization') chain.wait_for_finalization(0) printt('Waiting for authorities') -chain.wait_for_authorities(timeout=60) +chain.wait_for_authorities(timeout=120) if state_pruning is not None and state_pruning.isnumeric(): bound = min(256, int(state_pruning)) printt(f'Pruning turned on. Waiting for {bound} blocks to finalize') From 2911e223882aa805c08b2d7f9722c0543095b94b Mon Sep 17 00:00:00 2001 From: Filip Bielejec Date: Thu, 2 Mar 2023 13:42:12 +0100 Subject: [PATCH 210/212] clippy + local pipeline (#959) * clippy + local pipeline * update local image --- .github/scripts/run_smartnet.sh | 2 +- contracts/simple_dex/lib.rs | 2 +- docker/smartnet-compose.yml | 2 +- scripts/run_checks_on_excluded_packages.sh | 8 ++++++++ 4 files changed, 11 insertions(+), 3 deletions(-) diff --git a/.github/scripts/run_smartnet.sh b/.github/scripts/run_smartnet.sh index 1a65cb68c0..d838711704 100755 --- a/.github/scripts/run_smartnet.sh +++ b/.github/scripts/run_smartnet.sh @@ -2,7 +2,7 @@ set -e -export NODE_IMAGE=public.ecr.aws/p6e8q1z1/feature-env-aleph-node:fe-benjamin_c643069 +export NODE_IMAGE=public.ecr.aws/p6e8q1z1/aleph-node:latest # key derived from "//0" export NODE_ID=5D34dL5prEUaGNQtPPZ3yN5Y6BnkfXunKXXz6fo7ZJbLwRRH diff --git a/contracts/simple_dex/lib.rs b/contracts/simple_dex/lib.rs index 3976e5a5a9..f774b7bbd9 100644 --- a/contracts/simple_dex/lib.rs +++ b/contracts/simple_dex/lib.rs @@ -429,7 +429,7 @@ mod simple_dex { balance_token_out .checked_sub(op4) // If the division is not even, leave the 1 unit of dust in the exchange instead of paying it out. - .and_then(|result| result.checked_sub(if op3 % op2 > 0 { 1 } else { 0 })) + .and_then(|result| result.checked_sub((op3 % op2 > 0).into())) .ok_or(DexError::Arithmethic) } diff --git a/docker/smartnet-compose.yml b/docker/smartnet-compose.yml index bee3b91850..0dc1148ccc 100644 --- a/docker/smartnet-compose.yml +++ b/docker/smartnet-compose.yml @@ -16,7 +16,7 @@ services: - PURGE_BEFORE_START=true - RPC_PORT=9933 - RUST_LOG=info - - UNIT_CREATION_DELAY=50 + - UNIT_CREATION_DELAY=300 - WS_PORT=9943 - BOOT_NODES=/ip4/127.0.0.1/tcp/30333/p2p/$BOOTNODE_PEER_ID - PUBLIC_ADDR=/ip4/127.0.0.1/tcp/30333 diff --git a/scripts/run_checks_on_excluded_packages.sh b/scripts/run_checks_on_excluded_packages.sh index 6b8414b30c..1524b2c81e 100755 --- a/scripts/run_checks_on_excluded_packages.sh +++ b/scripts/run_checks_on_excluded_packages.sh @@ -10,6 +10,14 @@ packages=( "fork-off" "benches/payout-stakers" "bin/cliain" + "contracts/access_control" + "contracts/button" + "contracts/game_token" + "contracts/marketplace" + "contracts/simple_dex" + "contracts/ticket_token" + "contracts/wrapped_azero" + "contracts/adder, " ) for p in ${packages[@]} From 58eb4130b1482d0aef210cc6d77620a58f2cf0eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Obrok?= Date: Thu, 2 Mar 2023 17:55:54 +0100 Subject: [PATCH 211/212] Fix docker usage in contract deploy --- .github/scripts/run_e2e_test.sh | 14 ++++----- .github/workflows/e2e-tests-main-devnet.yml | 11 ------- contracts/adder/deploy.sh | 27 ++++++++++++----- contracts/scripts/deploy.sh | 33 ++++++++++++++++----- docker/common.yml | 2 +- 5 files changed, 54 insertions(+), 33 deletions(-) diff --git a/.github/scripts/run_e2e_test.sh b/.github/scripts/run_e2e_test.sh index 53914732f7..05538b5e68 100755 --- a/.github/scripts/run_e2e_test.sh +++ b/.github/scripts/run_e2e_test.sh @@ -113,7 +113,7 @@ fi if [[ -n "${ADDER:-}" ]]; then ARGS+=(-e "ADDER=${ADDER}") - ARGS+=(-e "ADDER_METADATA=/contracts/adder/target/ink/metadata.json") + ARGS+=(-e "ADDER_METADATA=/contracts/adder/target/ink/adder.json") fi if [[ -n "${BUTTON_GAME_METADATA:-}" ]]; then @@ -123,12 +123,12 @@ if [[ -n "${BUTTON_GAME_METADATA:-}" ]]; then ARGS+=(-e "SIMPLE_DEX=${SIMPLE_DEX}") ARGS+=(-e "WRAPPED_AZERO=${WRAPPED_AZERO}") ARGS+=(-e "RUST_LOG=${RUST_LOG}") - ARGS+=(-e "BUTTON_GAME_METADATA=/contracts/button/target/ink/metadata.json") - ARGS+=(-e "TICKET_TOKEN_METADATA=/contracts/ticket_token/target/ink/metadata.json") - ARGS+=(-e "REWARD_TOKEN_METADATA=/contracts/game_token/target/ink/metadata.json") - ARGS+=(-e "MARKETPLACE_METADATA=/contracts/marketplace/target/ink/metadata.json") - ARGS+=(-e "SIMPLE_DEX_METADATA=/contracts/simple_dex/target/ink/metadata.json") - ARGS+=(-e "WRAPPED_AZERO_METADATA=/contracts/wrapped_azero/target/ink/metadata.json") + ARGS+=(-e "BUTTON_GAME_METADATA=/contracts/button/target/ink/button.json") + ARGS+=(-e "TICKET_TOKEN_METADATA=/contracts/ticket_token/target/ink/ticket_token.json") + ARGS+=(-e "REWARD_TOKEN_METADATA=/contracts/game_token/target/ink/game_token.json") + ARGS+=(-e "MARKETPLACE_METADATA=/contracts/marketplace/target/ink/marketplace.json") + ARGS+=(-e "SIMPLE_DEX_METADATA=/contracts/simple_dex/target/ink/simple_dex.json") + ARGS+=(-e "WRAPPED_AZERO_METADATA=/contracts/wrapped_azero/target/ink/wrapped_azero.json") fi if [[ -n "${OUT_LATENCY:-}" ]]; then diff --git a/.github/workflows/e2e-tests-main-devnet.yml b/.github/workflows/e2e-tests-main-devnet.yml index 71e4f775ae..10121bf32f 100644 --- a/.github/workflows/e2e-tests-main-devnet.yml +++ b/.github/workflows/e2e-tests-main-devnet.yml @@ -533,10 +533,6 @@ jobs: - name: Checkout source code uses: actions/checkout@v2 - - name: Install rust-src - working-directory: ./contracts - run: rustup component add rust-src - - name: Run e2e test uses: ./.github/actions/run-e2e-test with: @@ -552,13 +548,6 @@ jobs: - name: Checkout source code uses: actions/checkout@v2 - - name: Install cargo-contract - run: cargo install cargo-contract --version 2.0.1 - - - name: Install rust-src - working-directory: ./contracts - run: rustup component add rust-src - - name: Run e2e test uses: ./.github/actions/run-e2e-test with: diff --git a/contracts/adder/deploy.sh b/contracts/adder/deploy.sh index c25228cfea..477935cc56 100755 --- a/contracts/adder/deploy.sh +++ b/contracts/adder/deploy.sh @@ -1,24 +1,37 @@ #!/bin/bash -set -euo pipefail +set -euox pipefail NODE_URL="${NODE_URL:-ws://localhost:9944}" AUTHORITY="${AUTHORITY:-//Alice}" -function ink-build() { - docker run \ +function run_ink_builder() { + docker start ink_builder 1>&2 || docker run \ --network host \ - -v ${PWD}:/code \ + -v "${PWD}/../..:/code" \ + -u "$(id -u):$(id -g)" \ + --name ink_builder \ --platform linux/amd64 \ - --rm public.ecr.aws/p6e8q1z1/ink-dev:0.1.0 "$@" + --detach \ + --rm public.ecr.aws/p6e8q1z1/ink-dev:1.0.0 sleep 1d 1>&2 } -ink-build cargo contract build --release --quiet 1>&2 +function ink_build() { + docker exec \ + -u "$(id -u):$(id -g)" \ + -w "/code/contracts/adder" \ + ink_builder "$@" +} + +run_ink_builder +ink_build rustup target add wasm32-unknown-unknown +ink_build rustup component add rust-src +ink_build cargo contract build --release --quiet 1>&2 export ADDER ADDER=$( - ink-build cargo contract instantiate --url "$NODE_URL" --suri "$AUTHORITY" --skip-confirm --output-json \ + ink_build cargo contract instantiate --url "$NODE_URL" --suri "$AUTHORITY" --skip-confirm --output-json \ | jq -r ".contract" ) echo "$ADDER" diff --git a/contracts/scripts/deploy.sh b/contracts/scripts/deploy.sh index 61df0caf15..2f4bed7d99 100755 --- a/contracts/scripts/deploy.sh +++ b/contracts/scripts/deploy.sh @@ -1,16 +1,31 @@ #!/bin/bash -set -euo pipefail +set -euox pipefail # --- FUNCTIONS +function run_ink_builder() { + docker start ink_builder || docker run \ + --network host \ + -v "${PWD}:/code" \ + -u "$(id -u):$(id -g)" \ + --name ink_builder \ + --platform linux/amd64 \ + --detach \ + --rm public.ecr.aws/p6e8q1z1/ink-dev:1.0.0 sleep 1d +} + +function ink_build() { + contract_dir=$(basename "${PWD}") + + docker exec \ + -u "$(id -u):$(id -g)" \ + -w "/code/contracts/$contract_dir" \ + ink_builder "$@" +} + function cargo_contract() { - docker run \ - -v "${PWD}:/code" \ - --platform linux/amd64 \ - --rm -it cardinal-cryptography/ink-dev:latest \ - --network host \ - cargo contract "$@" + ink_build cargo contract "$@" } function upload_contract { @@ -234,7 +249,11 @@ CONTRACTS_PATH=$(pwd)/contracts # --- COMPILE CONTRACTS +run_ink_builder + cd "$CONTRACTS_PATH"/access_control +ink_build rustup target add wasm32-unknown-unknown +ink_build rustup component add rust-src cargo_contract build --release cd "$CONTRACTS_PATH"/ticket_token diff --git a/docker/common.yml b/docker/common.yml index 59a04adf45..3203cd5f9a 100644 --- a/docker/common.yml +++ b/docker/common.yml @@ -7,7 +7,7 @@ services: - CHAIN=/data/chainspec.json - ALLOW_PRIVATE_IPV4=true - DISCOVER_LOCAL=true - - UNIT_CREATION_DELAY=50 + - UNIT_CREATION_DELAY=300 volumes: - ./data/:/data/ From e1f72123f370cbe94a1696b027fe973a279976cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Obrok?= Date: Fri, 3 Mar 2023 15:17:39 +0100 Subject: [PATCH 212/212] Update metadata paths --- contracts/scripts/test_env.sh | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/contracts/scripts/test_env.sh b/contracts/scripts/test_env.sh index 16423a7f97..65a3ca2a55 100755 --- a/contracts/scripts/test_env.sh +++ b/contracts/scripts/test_env.sh @@ -16,10 +16,10 @@ SIMPLE_DEX=$(jq --raw-output ".simple_dex" < "$CONTRACTS_PATH"/addresses.json) export WRAPPED_AZERO WRAPPED_AZERO=$(jq --raw-output ".wrapped_azero" < "$CONTRACTS_PATH"/addresses.json) -export BUTTON_GAME_METADATA=$CONTRACTS_PATH/button/target/ink/metadata.json -export TICKET_TOKEN_METADATA=$CONTRACTS_PATH/ticket_token/target/ink/metadata.json -export REWARD_TOKEN_METADATA=$CONTRACTS_PATH/game_token/target/ink/metadata.json -export MARKETPLACE_METADATA=$CONTRACTS_PATH/marketplace/target/ink/metadata.json -export SIMPLE_DEX_METADATA=$CONTRACTS_PATH/simple_dex/target/ink/metadata.json -export WRAPPED_AZERO_METADATA=$CONTRACTS_PATH/wrapped_azero/target/ink/metadata.json +export BUTTON_GAME_METADATA=$CONTRACTS_PATH/button/target/ink/button.json +export TICKET_TOKEN_METADATA=$CONTRACTS_PATH/ticket_token/target/ink/ticket_token.json +export REWARD_TOKEN_METADATA=$CONTRACTS_PATH/game_token/target/ink/game_token.json +export MARKETPLACE_METADATA=$CONTRACTS_PATH/marketplace/target/ink/marketplace.json +export SIMPLE_DEX_METADATA=$CONTRACTS_PATH/simple_dex/target/ink/simple_dex.json +export WRAPPED_AZERO_METADATA=$CONTRACTS_PATH/wrapped_azero/target/ink/wrapped_azero.json export RUST_LOG="aleph_e2e_client=info"

(3)?; let new_committee_size = CommitteeSize::get().ok_or("No `CommitteeSize` in the storage")?; diff --git a/pallets/elections/src/mock.rs b/pallets/elections/src/mock.rs index 23070e6fc9..666787a9b0 100644 --- a/pallets/elections/src/mock.rs +++ b/pallets/elections/src/mock.rs @@ -52,8 +52,8 @@ impl frame_system::Config for Test { type BaseCallFilter = frame_support::traits::Everything; type BlockWeights = (); type BlockLength = (); - type Origin = Origin; - type Call = Call; + type RuntimeOrigin = RuntimeOrigin; + type RuntimeCall = RuntimeCall; type Index = u64; type BlockNumber = u64; type Hash = H256; @@ -61,7 +61,7 @@ impl frame_system::Config for Test { type AccountId = u64; type Lookup = IdentityLookup; type Header = Header; - type Event = Event; + type RuntimeEvent = RuntimeEvent; type BlockHashCount = BlockHashCount; type DbWeight = TestDbWeight; type Version = (); @@ -84,7 +84,7 @@ impl pallet_balances::Config for Test { type MaxReserves = (); type ReserveIdentifier = [u8; 8]; type DustRemoval = (); - type Event = Event; + type RuntimeEvent = RuntimeEvent; type ExistentialDeposit = ExistentialDeposit; type AccountStore = System; type WeightInfo = (); @@ -93,10 +93,10 @@ impl pallet_balances::Config for Test { impl frame_system::offchain::SendTransactionTypes for Test where - Call: From, + RuntimeCall: From, { - type Extrinsic = TestXt; - type OverarchingCall = Call; + type Extrinsic = TestXt; + type OverarchingCall = RuntimeCall; } parameter_types! { @@ -170,7 +170,7 @@ impl EraInfoProvider for MockProvider { impl Config for Test { type EraInfoProvider = MockProvider; - type Event = Event; + type RuntimeEvent = RuntimeEvent; type DataProvider = StakingMock; type SessionPeriod = SessionPeriod; type SessionManager = (); diff --git a/pallets/support/Cargo.toml b/pallets/support/Cargo.toml index 97ea458470..44f9834ee4 100644 --- a/pallets/support/Cargo.toml +++ b/pallets/support/Cargo.toml @@ -1,15 +1,17 @@ [package] name = "pallets-support" -version = "0.1.1" +version = "0.1.2" edition = "2021" [dependencies] -frame-support = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +frame-support = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +sp-std = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } [features] default = ["std"] std = [ "frame-support/std", + "sp-std/std" ] try-runtime = [ "frame-support/try-runtime", diff --git a/pallets/support/src/migration.rs b/pallets/support/src/migration.rs index c2b10b6a7d..f8b047ae45 100644 --- a/pallets/support/src/migration.rs +++ b/pallets/support/src/migration.rs @@ -8,6 +8,8 @@ use frame_support::{ pallet_prelude::{PalletInfoAccess, StorageVersion, Weight}, traits::OnRuntimeUpgrade, }; +#[cfg(feature = "try-runtime")] +use sp_std::vec::Vec; /// In order to run both pre- and post- checks around every migration, we entangle methods of /// `OnRuntimeUpgrade` into the desired flow and expose it with `migrate` method. @@ -25,7 +27,7 @@ pub trait StorageMigration: OnRuntimeUpgrade { let weight = Self::on_runtime_upgrade(); #[cfg(feature = "try-runtime")] - Self::post_upgrade().expect("Post upgrade should succeed"); + Self::post_upgrade(Vec::new()).expect("Post upgrade should succeed"); weight } diff --git a/primitives/Cargo.toml b/primitives/Cargo.toml index 683583288c..c1ac9a8759 100644 --- a/primitives/Cargo.toml +++ b/primitives/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "primitives" -version = "0.5.1" +version = "0.5.2" authors = ["Cardinal Cryptography"] edition = "2021" license = "Apache 2.0" @@ -10,12 +10,12 @@ codec = { package = "parity-scale-codec", version = "3.0", default-features = fa serde = { version = "1.0", features = ["derive"] } scale-info = { version = "2.0", default-features = false, features = ["derive"] } -sp-api = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -sp-application-crypto = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -sp-core = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -sp-runtime = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -sp-std = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } -sp-staking = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.29" } +sp-api = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +sp-application-crypto = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +sp-core = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +sp-runtime = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +sp-std = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } +sp-staking = { default-features = false, git = "https://github.com/Cardinal-Cryptography/substrate.git", branch = "aleph-v0.9.30" } [features] default = ["std"] From 6f195b6219f8881e1ca9056cb757612b6121bbe3 Mon Sep 17 00:00:00 2001 From: timorl Date: Fri, 25 Nov 2022 14:56:55 +0100 Subject: [PATCH 017/212] A0-1585: Replace AuthorityId with parameter (#748) * Replace AuthorityId with parameter * SecretKey is a much better name than PrivateKey * Rename most peer ids to public keys Co-authored-by: lesniak43 --- finality-aleph/src/network/service.rs | 17 +- finality-aleph/src/nodes/validator_node.rs | 4 +- finality-aleph/src/tcp_network.rs | 28 ++- .../src/testing/mocks/validator_network.rs | 2 +- .../src/validator_network/crypto.rs | 26 +++ .../src/validator_network/incoming.rs | 41 ++--- .../validator_network/manager/direction.rs | 36 ++-- .../src/validator_network/manager/legacy.rs | 60 +++---- .../src/validator_network/manager/mod.rs | 65 +++---- finality-aleph/src/validator_network/mod.rs | 14 +- .../src/validator_network/outgoing.rs | 50 +++--- .../validator_network/protocols/handshake.rs | 121 +++++++------ .../src/validator_network/protocols/mod.rs | 62 +++---- .../src/validator_network/protocols/v0/mod.rs | 68 ++++--- .../src/validator_network/protocols/v1/mod.rs | 85 +++++---- .../src/validator_network/service.rs | 169 ++++++++++-------- 16 files changed, 455 insertions(+), 393 deletions(-) create mode 100644 finality-aleph/src/validator_network/crypto.rs diff --git a/finality-aleph/src/network/service.rs b/finality-aleph/src/network/service.rs index 83f4ea22f4..154ac69b12 100644 --- a/finality-aleph/src/network/service.rs +++ b/finality-aleph/src/network/service.rs @@ -4,7 +4,6 @@ use std::{ iter, }; -use aleph_primitives::AuthorityId; use futures::{channel::mpsc, StreamExt}; use log::{debug, error, info, trace, warn}; use sc_service::SpawnTaskHandle; @@ -16,7 +15,7 @@ use crate::{ AddressedData, ConnectionCommand, Data, Event, EventStream, Multiaddress, Network, NetworkSender, Protocol, }, - validator_network::Network as ValidatorNetwork, + validator_network::{Network as ValidatorNetwork, PublicKey}, STATUS_REPORT_INTERVAL, }; @@ -33,9 +32,11 @@ pub struct Service< N: Network, D: Data, VD: Data, - A: Data + Multiaddress, - VN: ValidatorNetwork, -> { + A: Data + Multiaddress, + VN: ValidatorNetwork, +> where + A::PeerId: PublicKey, +{ network: N, validator_network: VN, data_from_user: mpsc::UnboundedReceiver>, @@ -85,9 +86,11 @@ impl< N: Network, D: Data, VD: Data, - A: Data + Multiaddress, - VN: ValidatorNetwork, + A: Data + Multiaddress, + VN: ValidatorNetwork, > Service +where + A::PeerId: PublicKey, { pub fn new( network: N, diff --git a/finality-aleph/src/nodes/validator_node.rs b/finality-aleph/src/nodes/validator_node.rs index d35c7e8c0c..9cb3dda2a3 100644 --- a/finality-aleph/src/nodes/validator_node.rs +++ b/finality-aleph/src/nodes/validator_node.rs @@ -22,8 +22,8 @@ use crate::{ ConsensusParty, ConsensusPartyParams, }, session_map::{AuthorityProviderImpl, FinalityNotificatorImpl, SessionMapUpdater}, - tcp_network::new_tcp_network, - validator_network::{Service, KEY_TYPE}, + tcp_network::{new_tcp_network, KEY_TYPE}, + validator_network::Service, AlephConfig, }; diff --git a/finality-aleph/src/tcp_network.rs b/finality-aleph/src/tcp_network.rs index e338344d18..9c0dd4bf4a 100644 --- a/finality-aleph/src/tcp_network.rs +++ b/finality-aleph/src/tcp_network.rs @@ -3,16 +3,20 @@ use std::{io::Result as IoResult, net::ToSocketAddrs as _}; use aleph_primitives::AuthorityId; use codec::{Decode, Encode}; use log::info; +use sp_core::crypto::KeyTypeId; use tokio::net::{ tcp::{OwnedReadHalf, OwnedWriteHalf}, TcpListener, TcpStream, ToSocketAddrs, }; use crate::{ + crypto::{verify, AuthorityPen, Signature}, network::{Multiaddress, NetworkIdentity, PeerId}, - validator_network::{ConnectionInfo, Dialer, Listener, Splittable}, + validator_network::{ConnectionInfo, Dialer, Listener, PublicKey, SecretKey, Splittable}, }; +pub const KEY_TYPE: KeyTypeId = KeyTypeId(*b"a0vn"); + impl ConnectionInfo for TcpStream { fn peer_address_info(&self) -> String { match self.peer_addr() { @@ -66,6 +70,28 @@ impl Listener for TcpListener { impl PeerId for AuthorityId {} +impl PublicKey for AuthorityId { + type Signature = Signature; + + fn verify(&self, message: &[u8], signature: &Self::Signature) -> bool { + verify(self, message, signature) + } +} + +#[async_trait::async_trait] +impl SecretKey for AuthorityPen { + type Signature = Signature; + type PublicKey = AuthorityId; + + async fn sign(&self, message: &[u8]) -> Self::Signature { + AuthorityPen::sign(self, message).await + } + + fn public_key(&self) -> Self::PublicKey { + self.authority_id() + } +} + /// A representation of a single TCP address with an associated peer ID. #[derive(Debug, Hash, Encode, Decode, Clone, PartialEq, Eq)] pub struct TcpMultiaddress { diff --git a/finality-aleph/src/testing/mocks/validator_network.rs b/finality-aleph/src/testing/mocks/validator_network.rs index b9efbbbf1a..2ea14775b3 100644 --- a/finality-aleph/src/testing/mocks/validator_network.rs +++ b/finality-aleph/src/testing/mocks/validator_network.rs @@ -59,7 +59,7 @@ pub struct MockNetwork { } #[async_trait::async_trait] -impl Network for MockNetwork { +impl Network for MockNetwork { fn add_connection(&mut self, peer: AuthorityId, addresses: Vec) { self.add_connection.send((peer, addresses)); } diff --git a/finality-aleph/src/validator_network/crypto.rs b/finality-aleph/src/validator_network/crypto.rs new file mode 100644 index 0000000000..74891a6317 --- /dev/null +++ b/finality-aleph/src/validator_network/crypto.rs @@ -0,0 +1,26 @@ +use std::{fmt::Display, hash::Hash}; + +use codec::Codec; + +/// A public key for signature verification. +pub trait PublicKey: + Send + Sync + Eq + Clone + AsRef<[u8]> + Display + Hash + Codec + 'static +{ + type Signature: Send + Sync + Clone + Codec; + + /// Verify whether the message has been signed with the associated private key. + fn verify(&self, message: &[u8], signature: &Self::Signature) -> bool; +} + +/// Secret key for signing messages, with an associated public key. +#[async_trait::async_trait] +pub trait SecretKey: Clone + Send + Sync + 'static { + type Signature: Send + Sync + Clone + Codec; + type PublicKey: PublicKey; + + /// Produce a signature for the provided message. + async fn sign(&self, message: &[u8]) -> Self::Signature; + + /// Return the associated public key. + fn public_key(&self) -> Self::PublicKey; +} diff --git a/finality-aleph/src/validator_network/incoming.rs b/finality-aleph/src/validator_network/incoming.rs index a8ec06bad4..719092759e 100644 --- a/finality-aleph/src/validator_network/incoming.rs +++ b/finality-aleph/src/validator_network/incoming.rs @@ -3,20 +3,17 @@ use std::fmt::{Display, Error as FmtError, Formatter}; use futures::channel::mpsc; use log::{debug, info}; -use crate::{ - crypto::AuthorityPen, - validator_network::{ - protocols::{protocol, ProtocolError, ProtocolNegotiationError, ResultForService}, - Data, Splittable, - }, +use crate::validator_network::{ + protocols::{protocol, ProtocolError, ProtocolNegotiationError, ResultForService}, + Data, PublicKey, SecretKey, Splittable, }; -enum IncomingError { +enum IncomingError { ProtocolNegotiationError(ProtocolNegotiationError), - ProtocolError(ProtocolError), + ProtocolError(ProtocolError), } -impl Display for IncomingError { +impl Display for IncomingError { fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), FmtError> { use IncomingError::*; match self { @@ -26,45 +23,45 @@ impl Display for IncomingError { } } -impl From for IncomingError { +impl From for IncomingError { fn from(e: ProtocolNegotiationError) -> Self { IncomingError::ProtocolNegotiationError(e) } } -impl From for IncomingError { - fn from(e: ProtocolError) -> Self { +impl From> for IncomingError { + fn from(e: ProtocolError) -> Self { IncomingError::ProtocolError(e) } } -async fn manage_incoming( - authority_pen: AuthorityPen, +async fn manage_incoming( + secret_key: SK, stream: S, - result_for_parent: mpsc::UnboundedSender>, + result_for_parent: mpsc::UnboundedSender>, data_for_user: mpsc::UnboundedSender, -) -> Result<(), IncomingError> { +) -> Result<(), IncomingError> { debug!(target: "validator-network", "Performing incoming protocol negotiation."); let (stream, protocol) = protocol(stream).await?; debug!(target: "validator-network", "Negotiated protocol, running."); Ok(protocol - .manage_incoming(stream, authority_pen, result_for_parent, data_for_user) + .manage_incoming(stream, secret_key, result_for_parent, data_for_user) .await?) } -/// Manage an incoming connection. After the handshake it will send the recognized AuthorityId to +/// Manage an incoming connection. After the handshake it will send the recognized PublicKey to /// the parent, together with an exit channel for this process. When this channel is dropped the /// process ends. Whenever data arrives on this connection it will be passed to the user. Any /// failures in receiving data result in the process stopping, we assume the other side will /// reestablish it if necessary. -pub async fn incoming( - authority_pen: AuthorityPen, +pub async fn incoming( + secret_key: SK, stream: S, - result_for_parent: mpsc::UnboundedSender>, + result_for_parent: mpsc::UnboundedSender>, data_for_user: mpsc::UnboundedSender, ) { let addr = stream.peer_address_info(); - if let Err(e) = manage_incoming(authority_pen, stream, result_for_parent, data_for_user).await { + if let Err(e) = manage_incoming(secret_key, stream, result_for_parent, data_for_user).await { info!(target: "validator-network", "Incoming connection from {} failed: {}.", addr, e); } } diff --git a/finality-aleph/src/validator_network/manager/direction.rs b/finality-aleph/src/validator_network/manager/direction.rs index 042a57c607..7d32eab0f1 100644 --- a/finality-aleph/src/validator_network/manager/direction.rs +++ b/finality-aleph/src/validator_network/manager/direction.rs @@ -3,16 +3,14 @@ use std::{ ops::BitXor, }; -use aleph_primitives::AuthorityId; - -use crate::validator_network::Data; +use crate::validator_network::{Data, PublicKey}; /// Data about peers we know and whether we should connect to them or they to us. For the former /// case also keeps the peers' addresses. -pub struct DirectedPeers { - own_id: AuthorityId, - outgoing: HashMap>, - incoming: HashSet, +pub struct DirectedPeers { + own_id: PK, + outgoing: HashMap>, + incoming: HashSet, } /// Whether we should call the remote or the other way around. We xor the peer ids and based on the @@ -29,9 +27,9 @@ fn should_we_call(own_id: &[u8], remote_id: &[u8]) -> bool { } } -impl DirectedPeers { +impl DirectedPeers { /// Create a new set of peers directed using our own peer id. - pub fn new(own_id: AuthorityId) -> Self { + pub fn new(own_id: PK) -> Self { DirectedPeers { own_id, outgoing: HashMap::new(), @@ -44,7 +42,7 @@ impl DirectedPeers { /// Returns whether we should start attempts at connecting with the peer, which is the case /// exactly when the peer is one with which we should attempt connections AND it was added for /// the first time. - pub fn add_peer(&mut self, peer_id: AuthorityId, addresses: Vec) -> bool { + pub fn add_peer(&mut self, peer_id: PK, addresses: Vec) -> bool { match should_we_call(self.own_id.as_ref(), peer_id.as_ref()) { true => self.outgoing.insert(peer_id, addresses).is_none(), false => { @@ -57,28 +55,28 @@ impl DirectedPeers { } /// Return the addresses of the given peer, or None if we shouldn't attempt connecting with the peer. - pub fn peer_addresses(&self, peer_id: &AuthorityId) -> Option> { + pub fn peer_addresses(&self, peer_id: &PK) -> Option> { self.outgoing.get(peer_id).cloned() } /// Whether we should be maintaining a connection with this peer. - pub fn interested(&self, peer_id: &AuthorityId) -> bool { + pub fn interested(&self, peer_id: &PK) -> bool { self.incoming.contains(peer_id) || self.outgoing.contains_key(peer_id) } /// Iterator over the peers we want connections from. - pub fn incoming_peers(&self) -> impl Iterator { + pub fn incoming_peers(&self) -> impl Iterator { self.incoming.iter() } /// Iterator over the peers we want to connect to. - pub fn outgoing_peers(&self) -> impl Iterator { + pub fn outgoing_peers(&self) -> impl Iterator { self.outgoing.keys() } /// Remove a peer from the list of peers that we want to stay connected with, whether the /// connection was supposed to be incoming or outgoing. - pub fn remove_peer(&mut self, peer_id: &AuthorityId) { + pub fn remove_peer(&mut self, peer_id: &PK) { self.incoming.remove(peer_id); self.outgoing.remove(peer_id); } @@ -93,7 +91,7 @@ mod tests { type Address = String; - async fn container_with_id() -> (DirectedPeers